original_string: public function module(string $name, string $icon, callable $definitionCallback)
      {
          $definition = new ContentModuleDefinition($name, $icon, $this->config);
          $definitionCallback($definition);
  
          $this->customModules([
              $name => function () use ($definition) {
                  return $definition->loadModule(
                      $this->iocContainer->get(IContentGroupRepository::class),
                      $this->iocContainer->get(IAuthSystem::class),
                      $this->iocContainer->get(IClock::class)
                  );
              },
          ]);
      }
code: public function module(string $name, string $icon, callable $definitionCallback)
      {
          $definition = new ContentModuleDefinition($name, $icon, $this->config);
          $definitionCallback($definition);
  
          $this->customModules([
              $name => function () use ($definition) {
                  return $definition->loadModule(
                      $this->iocContainer->get(IContentGroupRepository::class),
                      $this->iocContainer->get(IAuthSystem::class),
                      $this->iocContainer->get(IClock::class)
                  );
              },
          ]);
      }
code_tokens: public function module ( string $ name , string $ icon , callable $ definitionCallback ) { $ definition = new ContentModuleDefinition ( $ name , $ icon , $ this -> config ) ; $ definitionCallback ( $ definition ) ; $ this -> customModules ( [ $ name => function ( ) use ( $ definition ) { return $ definition -> loadModule ( $ this -> iocContainer -> get ( IContentGroupRepository :: class ) , $ this -> iocContainer -> get ( IAuthSystem :: class ) , $ this -> iocContainer -> get ( IClock :: class ) ) ; } , ] ) ; }
docstring: Defines a module within the content package.
  
  Example:
  <code>
  $content->module('pages', 'file-text', function (ContentModuleDefinition $content) {
  $content->group('template', 'Template')
  ->withImage('banner', 'Banner')
  ->withHtml('header', 'Header')
  ->withHtml('footer', 'Footer');
  
  $content->page('home', 'Home')
  ->url(route('home'))
  ->withHtml('info', 'Info', '#info')
  ->withImage('banner', 'Banner')
  ->withMetadata('extra', 'Some Extra Metadata');
  });
  
  $content->module('emails', 'envelope', function (ContentModuleDefinition $content) {
  $content->email('home', 'Home')
  ->withHtml('info', 'Info');
  });
  </code>
  
  @param string   $name
  @param string   $icon
  @param callable $definitionCallback
  
  @throws InvalidOperationException
docstring_tokens: Defines a module within the content package .