
<!--
Copyright 2017-present Open Networking Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->


<section class="xos-side-panel">
    <div class="row">
        <div class="col-xs-12 text-right">
            <i class="fa fa-remove" ng-click="vm.close()"></i>
        </div>
    </div>
    <div class="row full-height">
        <div class="col-xs-12 full-height" id="side-panel-container">

        </div>
    </div>
</section>