code: public function getGroupedIcons()
      {
          // Answer Cached Icons (if available):
          
          if ($icons = self::cache()->get($this->getCacheKey())) {
              return $icons;
          }
          
          // Initialise:
          
          $icons = [];
          
          // Parse Icon Source Data:
          
          $data = Yaml::parse($this->getSourceData());
          
          // Build Icon Groups:
          
          if (isset($data['icons'])) {
              
              foreach ($data['icons'] as $icon) {
                  
                  foreach ($icon['categories'] as $category) {
                      
                      // Create Category Array:
                      
                      if (!isset($icons[$category])) {
                          $icons[$category] = [];
                      }
                      
                      // Create Icon Element:
                      
                      $icons[$category][$icon['id']] = [
                          'name' => $icon['name'],
                          'unicode' => $icon['unicode']
                      ];
                      
                  }
                  
              }
              
          }
          
          // Sort Icons by Group:
          
          ksort($icons);
          
          // Sort Icon Groups by Name:
          
          foreach ($icons as &$group) {
              uasort($group, function ($a, $b) {
                  return strcasecmp($a['name'], $b['name']);
              });
          }
          
          // Store Icons in Cache:
          
          self::cache()->set($this->getCacheKey(), $icons);
          
          // Answer Grouped Icons:
          
          return $icons;
      }
docs: Answers an array of icons grouped into their respective categories.
  
  @return array