Parsed: 128642

function create_initial_theme_features() {
  register_theme_feature(
    'align-wide',
    array(
      'description'  => __( 'Whether theme opts in to wide alignment CSS class.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'automatic-feed-links',
    array(
      'description'  => __( 'Whether posts and comments RSS feed links are added to head.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'block-templates',
    array(
      'description'  => __( 'Whether a theme uses block-based templates.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'block-template-parts',
    array(
      'description'  => __( 'Whether a theme uses block-based template parts.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'custom-background',
    array(
      'description'  => __( 'Custom background if defined by the theme.' ),
      'type'         => 'object',
      'show_in_rest' => array(
        'schema' => array(
          'properties' => array(
            'default-image'      => array(
              'type'   => 'string',
              'format' => 'uri',
            ),
            'default-preset'     => array(
              'type' => 'string',
              'enum' => array(
                'default',
                'fill',
                'fit',
                'repeat',
                'custom',
              ),
            ),
            'default-position-x' => array(
              'type' => 'string',
              'enum' => array(
                'left',
                'center',
                'right',
              ),
            ),
            'default-position-y' => array(
              'type' => 'string',
              'enum' => array(
                'left',
                'center',
                'right',
              ),
            ),
            'default-size'       => array(
              'type' => 'string',
              'enum' => array(
                'auto',
                'contain',
                'cover',
              ),
            ),
            'default-repeat'     => array(
              'type' => 'string',
              'enum' => array(
                'repeat-x',
                'repeat-y',
                'repeat',
                'no-repeat',
              ),
            ),
            'default-attachment' => array(
              'type' => 'string',
              'enum' => array(
                'scroll',
                'fixed',
              ),
            ),
            'default-color'      => array(
              'type' => 'string',
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'custom-header',
    array(
      'description'  => __( 'Custom header if defined by the theme.' ),
      'type'         => 'object',
      'show_in_rest' => array(
        'schema' => array(
          'properties' => array(
            'default-image'      => array(
              'type'   => 'string',
              'format' => 'uri',
            ),
            'random-default'     => array(
              'type' => 'boolean',
            ),
            'width'              => array(
              'type' => 'integer',
            ),
            'height'             => array(
              'type' => 'integer',
            ),
            'flex-height'        => array(
              'type' => 'boolean',
            ),
            'flex-width'         => array(
              'type' => 'boolean',
            ),
            'default-text-color' => array(
              'type' => 'string',
            ),
            'header-text'        => array(
              'type' => 'boolean',
            ),
            'uploads'            => array(
              'type' => 'boolean',
            ),
            'video'              => array(
              'type' => 'boolean',
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'custom-logo',
    array(
      'type'         => 'object',
      'description'  => __( 'Custom logo if defined by the theme.' ),
      'show_in_rest' => array(
        'schema' => array(
          'properties' => array(
            'width'                => array(
              'type' => 'integer',
            ),
            'height'               => array(
              'type' => 'integer',
            ),
            'flex-width'           => array(
              'type' => 'boolean',
            ),
            'flex-height'          => array(
              'type' => 'boolean',
            ),
            'header-text'          => array(
              'type'  => 'array',
              'items' => array(
                'type' => 'string',
              ),
            ),
            'unlink-homepage-logo' => array(
              'type' => 'boolean',
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'customize-selective-refresh-widgets',
    array(
      'description'  => __( 'Whether the theme enables Selective Refresh for Widgets being managed with the Customizer.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'dark-editor-style',
    array(
      'description'  => __( 'Whether theme opts in to the dark editor style UI.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'disable-custom-colors',
    array(
      'description'  => __( 'Whether the theme disables custom colors.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'disable-custom-font-sizes',
    array(
      'description'  => __( 'Whether the theme disables custom font sizes.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'disable-custom-gradients',
    array(
      'description'  => __( 'Whether the theme disables custom gradients.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'disable-layout-styles',
    array(
      'description'  => __( 'Whether the theme disables generated layout styles.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'editor-color-palette',
    array(
      'type'         => 'array',
      'description'  => __( 'Custom color palette if defined by the theme.' ),
      'show_in_rest' => array(
        'schema' => array(
          'items' => array(
            'type'       => 'object',
            'properties' => array(
              'name'  => array(
                'type' => 'string',
              ),
              'slug'  => array(
                'type' => 'string',
              ),
              'color' => array(
                'type' => 'string',
              ),
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'editor-font-sizes',
    array(
      'type'         => 'array',
      'description'  => __( 'Custom font sizes if defined by the theme.' ),
      'show_in_rest' => array(
        'schema' => array(
          'items' => array(
            'type'       => 'object',
            'properties' => array(
              'name' => array(
                'type' => 'string',
              ),
              'size' => array(
                'type' => 'number',
              ),
              'slug' => array(
                'type' => 'string',
              ),
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'editor-gradient-presets',
    array(
      'type'         => 'array',
      'description'  => __( 'Custom gradient presets if defined by the theme.' ),
      'show_in_rest' => array(
        'schema' => array(
          'items' => array(
            'type'       => 'object',
            'properties' => array(
              'name'     => array(
                'type' => 'string',
              ),
              'gradient' => array(
                'type' => 'string',
              ),
              'slug'     => array(
                'type' => 'string',
              ),
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'editor-styles',
    array(
      'description'  => __( 'Whether theme opts in to the editor styles CSS wrapper.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'html5',
    array(
      'type'         => 'array',
      'description'  => __( 'Allows use of HTML5 markup for search forms, comment forms, comment lists, gallery, and caption.' ),
      'show_in_rest' => array(
        'schema' => array(
          'items' => array(
            'type' => 'string',
            'enum' => array(
              'search-form',
              'comment-form',
              'comment-list',
              'gallery',
              'caption',
              'script',
              'style',
            ),
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'post-formats',
    array(
      'type'         => 'array',
      'description'  => __( 'Post formats supported.' ),
      'show_in_rest' => array(
        'name'             => 'formats',
        'schema'           => array(
          'items'   => array(
            'type' => 'string',
            'enum' => get_post_format_slugs(),
          ),
          'default' => array( 'standard' ),
        ),
        'prepare_callback' => static function ( $formats ) {
          $formats = is_array( $formats ) ? array_values( $formats[0] ) : array();
          $formats = array_merge( array( 'standard' ), $formats );

          return $formats;
        },
      ),
    )
  );
  register_theme_feature(
    'post-thumbnails',
    array(
      'type'         => 'array',
      'description'  => __( 'The post types that support thumbnails or true if all post types are supported.' ),
      'show_in_rest' => array(
        'type'   => array( 'boolean', 'array' ),
        'schema' => array(
          'items' => array(
            'type' => 'string',
          ),
        ),
      ),
    )
  );
  register_theme_feature(
    'responsive-embeds',
    array(
      'description'  => __( 'Whether the theme supports responsive embedded content.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'title-tag',
    array(
      'description'  => __( 'Whether the theme can manage the document title tag.' ),
      'show_in_rest' => true,
    )
  );
  register_theme_feature(
    'wp-block-styles',
    array(
      'description'  => __( 'Whether theme opts in to default WordPress block styles for viewing.' ),
      'show_in_rest' => true,
    )
  );
}