code: function createAndTransitionIn() {
            return $q(function(resolve, reject) {
  
              // Trigger onCompiling callback before the compilation starts.
              // This is useful, when modifying options, which can be influenced by developers.
              options.onCompiling && options.onCompiling(options);
  
              compileElement(options)
                .then(function(compiledData) {
                  element = linkElement(compiledData, options);
  
                  // Expose the cleanup function from the compiler.
                  options.cleanupElement = compiledData.cleanup;
  
                  showAction = showElement(element, options, compiledData.controller)
                    .then(resolve, rejectAll);
                }).catch(rejectAll);
  
              function rejectAll(fault) {
                // Force the '$md<xxx>.show()' promise to reject
                self.deferred.reject(fault);
  
                // Continue rejection propagation
                reject(fault);
              }
            });
          }
docs: Compile, link, and show this interim element
  Use optional autoHided and transition-in effects