kahuna/public/js/image/crop.html (25 lines of code) (raw):
<img class="image-crop__image"
ng-class="{'image-crop__image--disabled': !ctrl.allowCropSelection(crop) }"
alt="cropped image thumbnail"
ng-src="{{:: extremeAssets.smallest | assetFile}}" />
<div class="image-crop__info"
ng-class="{'image-crop__info--selected': crop == ctrl.crop}">
<div class="flex-container">
{{:: crop.specification.aspectRatio | asCropType}}
<span class="flex-spacer"></span>
<span ng-if="crop.specification.aspectRatio">({{:: crop.specification.aspectRatio}})</span>
</div>
<div class="flex-container image-crop__more-info">
{{:: crop.specification.bounds.width}} × {{:: crop.specification.bounds.height}}
<span class="flex-spacer"></span>
<span class="image-crop__creator" title="Cropped by {{:: crop.author}} at {{:: crop.date | date:'medium'}}">{{:: crop.author | getInitials}}</span>
</div>
<asset-handle
data-source="grid"
data-source-type="crop"
data-thumbnail="{{:: extremeAssets.smallest | assetFile}}"
data-embeddable-url="{{:: ctrl.image.data.id | embeddableUrl:crop.id}}"
data-aspect-ratio="{{:: crop.specification.aspectRatio}}"
data-crop-type="{{:: crop.specification.aspectRatio | asCropType}}"
></asset-handle>
</div>