services:
  builderius_template.provider.dynamic_data_helpers.composite:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\CompositeDynamicDataHelpersProvider

  builderius_template.provider.dynamic_data_helpers.base:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\BaseDynamicDataHelpersProvider
    tags:
      - { name: builderius_dynamic_data_helpers_provider }

  builderius_template.provider.dynamic_data_helpers.featured_image_fields:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\FeaturedImageFieldsDynamicDataHelpersProvider
    arguments:
      - '@is_singular'
    tags:
      - { name: builderius_dynamic_data_helpers_provider }

  builderius_template.dynamic_data_helpers_category.post:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: post
        label: Post
        sortOrder: 10
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.featured_image:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: featured_image
        label: Featured image
        sortOrder: 20
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.post_author:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: post_author
        label: Post author
        sortOrder: 30
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.archive:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: archive
        label: Archive
        sortOrder: 50
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.archive_pagination:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: archive_pagination
        label: Archive Pagination
        sortOrder: 55
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.archive_author:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: archive_author
        label: Archive Author
        sortOrder: 60
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.current_user:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: current_user
        label: User
        sortOrder: 90
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.site:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: site
        label: Site
        sortOrder: 100
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.page_links:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: page_links
        label: Page Links
        sortOrder: 10
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.archive_links:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: archive_links
        label: Archive Links
        sortOrder: 20
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helpers_category.advanced:
    class: Builderius\Bundle\CategoryBundle\Model\BuilderiusCategory
    arguments:
      - name: advanced
        label: Advanced
        sortOrder: 1000
        groups: ['dd_helper']
    tags:
      - { name: builderius_category }

  builderius_template.dynamic_data_helper.post.post_title:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.title
        sortOrder: 10
        graphqlPath:
          "'query.post.title.__aliasFor'": "'post_title'"
        expression: "'wp.post.title'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_id:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.ID
        sortOrder: 20
        graphqlPath:
          "'query.post.ID'": true
        expression: "'wp.post.ID'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_link:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.link
        sortOrder: 30
        graphqlPath:
          "'query.post.link.__aliasFor'": "'permalink'"
        expression: "'wp.post.link'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_datetime:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.datetime
        sortOrder: 40
        graphqlPath:
          "'query.post.datetime.__aliasFor'": "'post_datetime'"
        expression: "'wp.post.datetime'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_date:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.date
        sortOrder: 40
        graphqlPath:
          "'query.post.date.__aliasFor'": "'post_date'"
        expression: "'wp.post.date'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_modified_datetime:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.modified_datetime
        sortOrder: 70
        graphqlPath:
          "'query.post.modified_datetime.__aliasFor'": "'post_modified_datetime'"
        expression: "'wp.post.modified_datetime'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_modified_date:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.modified_date
        sortOrder: 70
        graphqlPath:
          "'query.post.modified_date.__aliasFor'": "'post_modified_date'"
        expression: "'wp.post.modified_date'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_content:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.content
        sortOrder: 100
        graphqlPath:
          "'query.post.content.__aliasFor'": "'post_content'"
        expression: "'wp.post.content'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_excerpt:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.excerpt
        sortOrder: 110
        graphqlPath:
          "'query.post.excerpt.__aliasFor'": "'post_excerpt'"
        expression: "'limit_words(wp.post.excerpt, ' ~ limit ~ ')'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.excerpt_length']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.excerpt_length:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: limit
        type: number
        placeholder: 'Word Limit'
        value: 55

  builderius_template.dynamic_data_helper.post.post_status:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.status
        sortOrder: 120
        graphqlPath:
          "'query.post.status.__aliasFor'": "'post_status'"
        expression: "'wp.post.status'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.category_names:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.category_names
        sortOrder: 121
        graphqlPath:
          "'query.post.category_names'": true
        expression: "'wp.post.category_names'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.category_links:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.category_links
        sortOrder: 122
        graphqlPath:
          "'query.post.category_links'": true
        expression: "'wp.post.category_links'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.categories:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.categories
        sortOrder: 125
        type: array
        escaped: false
        graphqlPath:
          "'query.post.categories.name'": true
          "'query.post.categories.slug'": true
          "'query.post.categories.link'": true
        expression: "'wp.post.categories'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.tag_names:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.tag_names
        sortOrder: 123
        graphqlPath:
          "'query.post.tag_names'": true
        expression: "'wp.post.tag_names'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.tag_links:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.tag_links
        sortOrder: 124
        graphqlPath:
          "'query.post.tag_links'": true
        expression: "'wp.post.tag_links'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.tags:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.tags
        sortOrder: 127
        type: array
        escaped: false
        graphqlPath:
          "'query.post.tags.name'": true
          "'query.post.tags.slug'": true
          "'query.post.tags.link'": true
        expression: "'wp.post.tags'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_type:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.type
        sortOrder: 130
        graphqlPath:
          "'query.post.type.__aliasFor'": "'post_type'"
        expression: "'wp.post.type'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.post.post_meta:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.meta_field
        sortOrder: 140
        graphqlPath:
          "'query.post.meta_field__' ~ sanitize_graphql_alias(argument) ~ '.__aliasFor'": "'meta_value'"
          "'query.post.meta_field__' ~ sanitize_graphql_alias(argument) ~ '.__args.key'": 'argument'
        expression: "'wp.post.meta_field__' ~ sanitize_graphql_alias(argument)"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.meta']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.meta:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: text
        placeholder: 'Meta field name'

  #----------------Post Author-----------------------------

  builderius_template.dynamic_data_helper.author.post_author_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.name
        sortOrder: 10
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.name.__aliasFor'": "'user_login'"
        expression: "'wp.post.author.name'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_id:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.id
        sortOrder: 20
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.ID'": true
        expression: "'wp.post.author.ID'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_display_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.display_name
        sortOrder: 30
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.display_name'": true
        expression: "'wp.post.author.display_name'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_first_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.first_name
        sortOrder: 40
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.first_name'": true
        expression: "'wp.post.author.first_name'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_last_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.last_name
        sortOrder: 50
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.last_name'": true
        expression: "'wp.post.author.last_name'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_email:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.email
        sortOrder: 60
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.email.__aliasFor'": "'user_email'"
        expression: "'wp.post.author.email'"
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.post_author_avatar:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post.author.avatar
        sortOrder: 70
        graphqlPath:
          "'query.post.author.__aliasFor'": "'post_author'"
          "'query.post.author.avatar.__aliasFor'": "'avatar_url'"
        expression: "'wp.post.author.avatar'"
        escaped: false
    calls:
      - [addCondition, ['@is_singular']]
    tags:
      - { name: builderius_dynamic_data_helper }

#---------------Site----------------------------

  builderius_template.dynamic_data_helper.site.site_title:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.site_title
        sortOrder: 10
        graphqlPath:
          "'query.site_title.__aliasFor'": "'option_value'"
          "'query.site_title.__args.name'": '"blogname"'
        expression: "'wp.site_title'"
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.site.site_tagline:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.site_tagline
        sortOrder: 20
        graphqlPath:
          "'query.site_tagline.__aliasFor'": "'option_value'"
          "'query.site_tagline.__args.name'": '"blogdescription"'
        expression: "'wp.site_tagline'"
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.site.site_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.site_url
        sortOrder: 30
        graphqlPath:
          "'query.site_url.__aliasFor'": "'option_value'"
          "'query.site_url.__args.name'": '"siteurl"'
        expression: "'wp.site_url'"
        escaped: false
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.site.current_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.current_url
        sortOrder: 40
        graphqlPath:
          "'query.current_url'": true
        expression: "'wp.current_url'"
        escaped: false
    tags:
      - { name: builderius_dynamic_data_helper }

#--------------------Archive-------------------------------

  builderius_template.dynamic_data_helper.archive.title:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.title
        sortOrder: 10
        graphqlPath:
          "'query.archive.title'": true
        expression: "'wp.archive.title'"
        escaped: true
    calls:
      - [addCondition, ['@is_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.archive.description:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.description
        sortOrder: 20
        graphqlPath:
          "'query.archive.description'": true
        expression: "'wp.archive.description'"
        escaped: true
    calls:
      - [addCondition, ['@is_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.archive.posts:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.posts_query.posts
        sortOrder: 100
        type: array
        escaped: false
        graphqlPath:
          "'query.archive.posts_query.posts.post_title'": true
          "'query.archive.posts_query.posts.post_ID.__aliasFor'": "'ID'"
          "'query.archive.posts_query.posts.post_link.__aliasFor'": "'permalink'"
          "'query.archive.posts_query.posts.post_datetime'": true
          "'query.archive.posts_query.posts.post_date'": true
          "'query.archive.posts_query.posts.post_modified_datetime'": true
          "'query.archive.posts_query.posts.post_modified_date'": true
          "'query.archive.posts_query.posts.post_content'": true
          "'query.archive.posts_query.posts.post_excerpt'": true
          "'query.archive.posts_query.posts.post_status'": true
          "'query.archive.posts_query.posts.post_type'": true
          "'query.archive.posts_query.posts.category_names'": true
          "'query.archive.posts_query.posts.category_links'": true
          "'query.archive.posts_query.posts.categories.name'": true
          "'query.archive.posts_query.posts.categories.slug'": true
          "'query.archive.posts_query.posts.categories.link'": true
          "'query.archive.posts_query.posts.tag_names'": true
          "'query.archive.posts_query.posts.tag_links'": true
          "'query.archive.posts_query.posts.tags.name'": true
          "'query.archive.posts_query.posts.tags.slug'": true
          "'query.archive.posts_query.posts.tags.link'": true
          "'query.archive.posts_query.posts.post_featured_image.__aliasFor'": "'featured_image'"
          "'query.archive.posts_query.posts.post_featured_image.alt_text'": true
          "'query.archive.posts_query.posts.post_featured_image.caption'": true
          "'query.archive.posts_query.posts.post_featured_image.file_url'": true
          "'query.archive.posts_query.posts.post_featured_image.sizes'": true
          "'query.archive.posts_query.posts.post_author.name.__aliasFor'": "'user_login'"
          "'query.archive.posts_query.posts.post_author.ID'": true
          "'query.archive.posts_query.posts.post_author.display_name'": true
          "'query.archive.posts_query.posts.post_author.first_name'": true
          "'query.archive.posts_query.posts.post_author.last_name'": true
          "'query.archive.posts_query.posts.post_author.email.__aliasFor'": "'user_email'"
          "'query.archive.posts_query.posts.post_author.avatar.__aliasFor'": "'avatar_url'"
        expression: "'wp.archive.posts_query.posts'"
    calls:
      - [addCondition, ['@is_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.archive.pagination.links:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.posts_query.pagination.links
        sortOrder: 40
        escaped: false
        graphqlPath:
          "'query.archive.posts_query.pagination.links'": true
        expression: "'wp.archive.posts_query.pagination.links'"
    calls:
      - [addCondition, ['@is_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  #----------------Archive Author-----------------------------

  builderius_template.dynamic_data_helper.author.archive_author_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.name
        sortOrder: 10
        graphqlPath:
          "'query.archive.author.name.__aliasFor'": "'user_login'"
        expression: "'wp.archive.author.name'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_id:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.id
        sortOrder: 20
        graphqlPath:
          "'query.archive.author.ID'": true
        expression: "'wp.archive.author.ID'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_display_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.display_name
        sortOrder: 30
        graphqlPath:
          "'query.archive.author.display_name'": true
        expression: "'wp.archive.author.display_name'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_first_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.first_name
        sortOrder: 40
        graphqlPath:
          "'query.archive.author.first_name'": true
        expression: "'wp.archive.author.first_name'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_last_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.last_name
        sortOrder: 50
        graphqlPath:
          "'query.archive.author.last_name'": true
        expression: "'wp.archive.author.last_name'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_email:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.email
        sortOrder: 60
        graphqlPath:
          "'query.archive.author.email.__aliasFor'": "'user_email'"
        expression: "'wp.archive.author.email'"
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.author.archive_author_avatar:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.archive.author.avatar
        sortOrder: 70
        graphqlPath:
          "'query.archive.author.avatar.__aliasFor'": "'avatar_url'"
        expression: "'wp.author.author.avatar'"
        escaped: false
    calls:
      - [addCondition, ['@is_author_archive']]
    tags:
      - { name: builderius_dynamic_data_helper }

#  builderius_template.dynamic_data_helper.primary_nav_menu:
#    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
#    arguments:
#      - name: primary_nav_menu
#        label: Primary Nav Menu
#        sortOrder: 110
#        category: site
#        type: array
#        escaped: false
#        graphqlPath:
#          "'query.primary_nav_menu.items.title'": true
#          "'query.primary_nav_menu.items.url'": true
#          "'query.primary_nav_menu.items.classes'": true
#          "'query.primary_nav_menu.items.object_id'": true
#          "'query.primary_nav_menu.items.children.__directives'": '{"recursive": true}'
#          "'query.primary_nav_menu.items.children.title'": true
#          "'query.primary_nav_menu.items.children.url'": true
#          "'query.primary_nav_menu.items.children.classes'": true
#          "'query.primary_nav_menu.items.children.object_id'": true
#        expression: "'wp.primary_nav_menu.items'"
#    tags:
#      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.nav_menu:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.nav_menu
        sortOrder: 110
        type: array
        escaped: false
        graphqlPath:
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.__aliasFor'": "'nav_menu'"
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.__args.identifier'": "'name'"
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.__args.value'": "argument"
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.title'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.url'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.classes'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.object_id'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.children.__directives'": '{"recursive": true}'
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.children.title'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.children.url'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.children.classes'": true
          "'query.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items.children.object_id'": true
        expression: "'wp.nav_menu__' ~ sanitize_graphql_alias(argument) ~ '.items'"
    calls:
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.nav_menu_name']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.nav_menu_name:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select menu'
        valueListProvider: "@builderius_template.location.arguments_provider.available_nav_menus"

#-----------------Links-----------------------------------

  builderius_template.dynamic_data_helper.page_links.front_page_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.front_page_url
        sortOrder: 10
        group: links
        graphqlPath:
          "'query.front_page_url'": true
        expression: "'wp.front_page_url'"
        escaped: false
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.page_links.page_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.page_url
        sortOrder: 20
        group: links
        escaped: false
        graphqlPath:
          "'query.page__' ~ sanitize_graphql_alias(argument) ~ '__url.__aliasFor'": "'page_url'"
          "'query.page__' ~ sanitize_graphql_alias(argument) ~ '__url.__args.name'": "argument"
        expression: "'wp.page__' ~ sanitize_graphql_alias(argument) ~ '__url'"
    calls:
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.page']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.page:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select page'
        valueListProvider: "@builderius_template.location.arguments_provider.available_pages.name"

  builderius_template.dynamic_data_helper.page_links.post_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.post_url
        sortOrder: 30
        group: links
        escaped: false
        graphqlPath:
          "'query.post__' ~ sanitize_graphql_alias(argument) ~ '__url.__aliasFor'": "'post_url'"
          "'query.post__' ~ sanitize_graphql_alias(argument) ~ '__url.__args.name'": "argument"
        expression: "'wp.post__' ~ sanitize_graphql_alias(argument) ~ '__url'"
    calls:
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.post']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.post:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select post'
        valueListProvider: "@builderius_template.location.arguments_provider.available_blog_posts.name"

  builderius_template.dynamic_data_helper.page_links.posts_index_page_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.posts_index_page_url
        sortOrder: 1
        group: links
        graphqlPath:
          "'query.posts_index_page_url'": true
        expression: "'wp.posts_index_page_url'"
        escaped: false
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper.archive_links.author_archive_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.author_archive_url
        sortOrder: 10
        group: links
        escaped: false
        graphqlPath:
          "'query.author_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__aliasFor'": "'author_archive_url'"
          "'query.author_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__args.username'": "argument"
        expression: "'wp.author_' ~ sanitize_graphql_alias(argument) ~ '_archive_url'"
    calls:
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.author']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.author:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select author'
        valueListProvider: "@builderius_template.location.arguments_provider.available_users.login"

  builderius_template.dynamic_data_helper.archive_links.category_archive_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.category_archive_url
        sortOrder: 20
        group: links
        escaped: false
        graphqlPath:
          "'query.category_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__aliasFor'": "'category_archive_url'"
          "'query.category_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__args.slug'": "argument"
        expression: "'wp.category_' ~ sanitize_graphql_alias(argument) ~ '_archive_url'"
    calls:
      - [addCondition, ['@not_empty_categories']]
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.category']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.category:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select category'
        valueListProvider: "@builderius_template.location.arguments_provider.available_categories.slug"

  builderius_template.dynamic_data_helper.archive_links.tag_archive_url:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelper
    arguments:
      - name: wp.tag_archive_url
        sortOrder: 30
        group: links
        escaped: false
        graphqlPath:
          "'query.tag_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__aliasFor'": "'tag_archive_url'"
          "'query.tag_' ~ sanitize_graphql_alias(argument) ~ '_archive_url.__args.slug'": "argument"
        expression: "'wp.tag_' ~ sanitize_graphql_alias(argument) ~ '_archive_url'"
    calls:
      - [addCondition, ['@not_empty_tags']]
      - [addArgument, ['@builderius_template.dynamic_data_helper_argument.tag']]
    tags:
      - { name: builderius_dynamic_data_helper }

  builderius_template.dynamic_data_helper_argument.tag:
    class: Builderius\Bundle\TemplateBundle\DynamicDataHelper\DynamicDataHelperArgument
    arguments:
      - name: argument
        type: list
        placeholder: 'Please select tag'
        valueListProvider: "@builderius_template.location.arguments_provider.available_tags.slug"
