Parsed: 131857

  protected static function get_classnames( $style_value, $style_definition ) {
    if ( empty( $style_value ) ) {
      return array();
    }

    $classnames = array();
    if ( ! empty( $style_definition['classnames'] ) ) {
      foreach ( $style_definition['classnames'] as $classname => $property_key ) {
        if ( true === $property_key ) {
          $classnames[] = $classname;
        }

        $slug = static::get_slug_from_preset_value( $style_value, $property_key );

        if ( $slug ) {
          /*
					 * Right now we expect a classname pattern to be stored in BLOCK_STYLE_DEFINITIONS_METADATA.
					 * One day, if there are no stored schemata, we could allow custom patterns or
					 * generate classnames based on other properties
					 * such as a path or a value or a prefix passed in options.
					 */
          $classnames[] = strtr( $classname, array( '$slug' => $slug ) );
        }
      }
    }

    return $classnames;
  }