@@ -64,11 +62,8 @@
- SplitAreaDirective (selector: 'as-split-area, [as-split-area] ' / exportAs: 'asSplitArea ')
+ SplitAreaDirective (selector: 'as-split-area,
+ [as-split-area] ' / exportAs: 'asSplitArea ')
+
+ SplitGutterDirective (selector: '[asSplitGutter]
+ ')
+
+ Used as structural directive (*asSplitGutter) to customize the gutter.
+ Mostly requires width: 100% and height: 100% in order to fill the whole gutter.
+ If the custom gutter is wider than the declared gutter size (using gutterSize input) the areas will overflow too.
+ So attention is required to match the size of the gutter.
+
+
+
+ Template context property
+ Type
+ Details
+
+
+
+
+ {{ prop.name }}
+ {{ prop.type }}
+
+
+
+
+
+
+
+ SplitGutterDragHandleDirective (selector: '[asSplitGutterDragHandle]
+ ')
+
+ Used to declare an area inside asSplitGutter to be a drag handle
+ Can be declared on multiple elements which means all of them are drag handles.
+
+
+
+ SplitGutterExcludeFromDragDirective (selector: '[asSplitGutterExcludeFromDrag]
+ ')
+
+ Used to declare an area inside asSplitGutter to be excluded from drag
+ Can be declared on multiple elements which means all of them are excluded from drag.
+ asSplitGutterExcludeFromDrag inside asSplitGutterDragHandle works as expected (all of the element is a handle
+ except the excluded area)
+ asSplitGutterDragHandle inside asSplitGutterExcludeFromDrag is ignored and the whole element marked with exclude is
+ excluded.
+
+
CSS classes
@@ -141,4 +184,4 @@ CSS classes
-
+
\ No newline at end of file
diff --git a/src/app/documentation/documentation.component.ts b/src/app/documentation/documentation.component.ts
index 19775714..9a67fce2 100644
--- a/src/app/documentation/documentation.component.ts
+++ b/src/app/documentation/documentation.component.ts
@@ -187,6 +187,42 @@ export class DocumentationComponent {
],
}
+ readonly splitGutterDoc = {
+ templateContext: [
+ {
+ name: 'areaBefore',
+ type: 'IArea',
+ details: 'The area before the gutter. In RTL the right area and in LTR the left area',
+ },
+ {
+ name: 'areaAfter',
+ type: 'IArea',
+ details: 'The area after the gutter. In RTL the left area and in LTR the right area',
+ },
+ {
+ name: 'gutterNum',
+ type: 'number',
+ details:
+ 'The absolute number of the gutter based on direction (RTL and LTR). First gutter is 1, second is 2, etc...',
+ },
+ {
+ name: 'first',
+ type: 'boolean',
+ details: 'Whether this is the first gutter. In RTL the most right area and in LTR the most left area',
+ },
+ {
+ name: 'last',
+ type: 'boolean',
+ details: 'Whether this is the last gutter. In RTL the most left area and in LTR the most right area',
+ },
+ {
+ name: 'isDragged',
+ type: 'boolean',
+ details: 'Whether the gutter is being dragged now',
+ },
+ ],
+ }
+
readonly cssClasses = {
split: [
{ name: 'as-init', details: 'Added after component initialization.' },
diff --git a/src/app/examples/custom-gutter-style/custom-gutter-style.component.scss b/src/app/examples/custom-gutter-style/custom-gutter-style.component.scss
index 3d46676b..6c318054 100644
--- a/src/app/examples/custom-gutter-style/custom-gutter-style.component.scss
+++ b/src/app/examples/custom-gutter-style/custom-gutter-style.component.scss
@@ -1,151 +1,159 @@
-:host {
- .ex-a as-split {
- overflow: inherit;
-
- ::ng-deep .as-split-gutter {
- background-color: yellow !important;
- align-items: flex-end !important;
- pointer-events: none;
-
- & > .as-split-gutter-icon {
- pointer-events: all;
- transition: all 0.3s;
- opacity: 0.6;
-
- &:hover {
- opacity: 1;
- }
- }
- }
+// #region example a
- &.as-horizontal ::ng-deep .as-split-gutter-icon {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAjCAYAAABl/XGVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANkSURBVEiJrddfaJdlFAfwzztda6tdZNo/pZstWlmhSy8siiwhGfQP3IWRIGUEJRgFQXTbZRBeFBhlBv25iFD6s4zCqI0GaWXEhNK5tTCUsJGUWQtOF++zeH7vfnO/3/JcPef7nOd8z3ne5znPeWlCgi3BeHAieDoomlnfDNGy4HBwabAoGAieOReOW4Lu4IIMuyd4LdMXBceCJY36bamXAb7C2/g+eC5YgFPonLYr+DXZ3J/WtQZ9wfrgvEazejHYmsbtwa7g1eDC4OegPbNdGXwdtAXDwVvBm8Fg0DpnZliMsRT9n9iCbmzAPtybZfeNMutnMVawsSgz/QmbGsnsoeD1CrYs+DHYFuytzD0RTAWPZtiGYGcjZK3BgaC/gvcFI+nYL60EEsGTGbYq+CRYF7wQPBWcPxthV8qkq4K/FJwJNmdYWyLbnmGXBKeD74L7gpeDV86WYX+wP2jLsDuS460V26lgT6YXiWxV0tuDk/UOCCjKYz2OuzN4EL+ho2L+Oy6qXe54wYGkT1H/NOayG32Zh7/xkez4JzmN/Zl+PX7J9CsxMRfZXtwZtUG9X4fsD3yW6bfgaKZ3YfSsZKlKjEp7n2RA9h2TnMJQpt+sNtPuOcky5+uzAE5ipGIzVjCZ6V3YQXlY8DDea4RsBFdVsOHpQdriLzL9Guwqyq2lvK/HC4YEPcGHwQdR7nWNBL3BpxWsJRsvqLwOj0/XxTR3KOidnvw42BTcFoxWCYOlwaEGdmDaviMbb47yCv0HTGaRrA2+rCy+Lvi2UbJs3ZJgLOipIasYHQmuyPT+4I15kO0OtlXBo8HFFaPbg4XBAym6m+ZBdiTK56oG3BusyfTH0kcdD3YGy5slSn5ORPXFDrbnVTxhq/Ns50HUGeUDWiML8QOuzsGi9vbPR1aoc4JblIV1Y6TG5RzJGtnFr5H02g4HO2bs8zwk2BOsO5tBWyIbCi7/H0RFlP1kZyPGD6brMKN0NUjWE2Xf2fCCG1N0i+e2nrH2keD5enN1q35RRvYu7mqWDLfi84bJkgxi9TzIenGwWbIJWX/YhFyGY82SjeHaqNOzzybBSkymxqg5SaXsYJQt+fIo+/p8viNYkd6td4KJYO1s/ub8c0wVvx83KJ/8FuXF/wdncFhZmgawr+Cv2Xz9Cy1ParntgE8FAAAAAElFTkSuQmCC') !important;
- width: 27px !important;
- height: 35px !important;
- cursor: grab;
- margin-bottom: 5px;
- }
+.custom-hand-gutter {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ background-color: #ff0;
+ cursor: default;
- &.as-vertical ::ng-deep .as-split-gutter-icon {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAdCAYAAAAgqdWEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOxSURBVEiJtddtzNdTGAfwz7+6y91qKpaGF0UjY8JmrIw1sdj0YFMeMzYLJWaUmac1bfQiw0hkkjErTy+whrARm0zztHmYp3mayjyFkny9+J3bfv7uf3e3/p03v3Od872u8z3Xua7rnB9tamFQmB1eDhvC7+G7sCZcHw5u11o9ETkmPBBODgeGjtBZ+qeEZWFjeCKM2Z1ExodN4eKwPBzdAtc/XB6+DbPbsfCwcEI5jqXhvfBLeCacFfrvhI2R4f1wW2jU5xotFPrhMIwt38PLd198ibexHi9hbYM/ermp4ViD1Q2ubgU6LjwafgwJH4cHw5XhxDCsN4v2QGifEuDTmic6wpJC4KewIBzSwkiPR9ELQqeH7/+1ybCoEFka9qqNd4ZTwx0lZW8Pg9tFpqzxdLilSzggbA831gATwqrC+vkwP4xuJ4naWhPD5jBIuDG8HfqGGaW/KkwJA5sURxV822pFaISPwpmNsBq/YgS2YVaDD+tgnIQ5GIXzG7y1iwQGNNhak+9Dp/BpiZcVoW8NMDjMDR+UenJuSfldbs0ZFC4K65XsWd+1UBgabi3p/UqYXC9O4YhwXbghdPxPMvPCkTV5fPhFqaCTyuBp4ZvwQji2ycDk8E54N8xpjqdekrkszKrJR4Ytwlep7o1zwp+p7o+6J4aEx8I9qarwLrfimcU1eVL4vB9+wBDcjXkNbq+B9sMjuKJRlf92tYH4syaPwzrhs+KNN5o8MrSk+fFtJNFle3mYX/qdJYlmCJ8UQjObFFaEle0mUmx/HMaFPqneQe+GDiVYE/avgSeEv8IRO2m8IxwVLgn3hyk7wB4Tfk715Fib6lV4aNfkveHzJoVnw3M9LD41LA6vht/Khr4MN4XOFnqN2ua/CHemepb8A7gmrK3JI4pXprYwODJV+V4TFtZInB36tNpA0V0YtpQC+t+3VJge3qzJ0wrrvt1gO8K6cs57hNfDi6nd9C1IDC0xuK3VJruAo4snpoc9w5Ph2hbY21JdDQPCXeWI9tiB7WHF8xtSVfTWRGpKTxV3p7hxeDeYS0tsjC1BuDHs08LeQYXs5lTPkEWtsN0pd4bVhczD3cxflao6n1fkh8KCbnBjUv2ObE91r81sFcw9Edq7kJlaGxseVoat4cLa+DvN6ZvqV2VLOcaJvSbQDaGvS0BOS3UrbyqZM74J91q4uSZfUDby+I5iqLdkJqSqyNtTPSvmhgHd4OaWzFiWqtZsLTVjh6m9W1qqMr6kBPRH4Yx22P0bNcolauCjiTYAAAAASUVORK5CYII=') !important;
- width: 35px !important;
- height: 29px !important;
- cursor: grab;
- margin-right: 5px;
- }
+ .as-horizontal & {
+ align-items: flex-end;
+ justify-content: center;
+ }
- /* Code by Chris Bracco (https://chrisbracco.com/a-simple-css-tooltip/) */
-
- ::ng-deep .as-split-gutter > .as-split-gutter-icon {
- position: relative;
- z-index: 2;
-
- /* Hide the tooltip content by default */
- &:before,
- &:after {
- visibility: hidden;
- -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
- filter: 'progid: DXImageTransform.Microsoft.Alpha(Opacity=0)';
- opacity: 0;
- pointer-events: none;
- }
-
- /* Position tooltip above the element */
- &:before {
- position: absolute;
- bottom: 110%;
- left: 50%;
- margin-bottom: 5px;
- margin-left: -80px;
- padding: 7px;
- width: 160px;
- border-radius: 3px;
- background-color: hsla(0, 0%, 20%, 0.9);
- color: #fff;
- content: 'Drag me if you can!';
- text-align: center;
- font-size: 14px;
- line-height: 1.2;
- }
-
- /* Triangle hack to make tooltip look like a speech bubble */
- &:after {
- position: absolute;
- bottom: 110%;
- left: 50%;
- margin-left: -5px;
- width: 0;
- border-top: 5px solid hsla(0, 0%, 20%, 0.9);
- border-right: 5px solid transparent;
- border-left: 5px solid transparent;
- content: ' ';
- font-size: 0;
- line-height: 0;
- }
- }
+ .as-vertical & {
+ align-items: center;
+ justify-content: flex-end;
+ }
+}
- /* Show tooltip content on hover */
- ::ng-deep .as-split-gutter.as-dragged > .as-split-gutter-icon,
- ::ng-deep .as-split-gutter > .as-split-gutter-icon:hover {
- opacity: 1;
-
- &:before,
- &:after {
- visibility: visible;
- -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
- filter: 'progid: DXImageTransform.Microsoft.Alpha(Opacity=100)';
- opacity: 1;
- }
- }
+.custom-hand-gutter-icon {
+ opacity: 0.6;
+ transition: opacity 0.3s;
+ cursor: grab;
+
+ .as-horizontal & {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAjCAYAAABl/XGVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANkSURBVEiJrddfaJdlFAfwzztda6tdZNo/pZstWlmhSy8siiwhGfQP3IWRIGUEJRgFQXTbZRBeFBhlBv25iFD6s4zCqI0GaWXEhNK5tTCUsJGUWQtOF++zeH7vfnO/3/JcPef7nOd8z3ne5znPeWlCgi3BeHAieDoomlnfDNGy4HBwabAoGAieOReOW4Lu4IIMuyd4LdMXBceCJY36bamXAb7C2/g+eC5YgFPonLYr+DXZ3J/WtQZ9wfrgvEazejHYmsbtwa7g1eDC4OegPbNdGXwdtAXDwVvBm8Fg0DpnZliMsRT9n9iCbmzAPtybZfeNMutnMVawsSgz/QmbGsnsoeD1CrYs+DHYFuytzD0RTAWPZtiGYGcjZK3BgaC/gvcFI+nYL60EEsGTGbYq+CRYF7wQPBWcPxthV8qkq4K/FJwJNmdYWyLbnmGXBKeD74L7gpeDV86WYX+wP2jLsDuS460V26lgT6YXiWxV0tuDk/UOCCjKYz2OuzN4EL+ho2L+Oy6qXe54wYGkT1H/NOayG32Zh7/xkez4JzmN/Zl+PX7J9CsxMRfZXtwZtUG9X4fsD3yW6bfgaKZ3YfSsZKlKjEp7n2RA9h2TnMJQpt+sNtPuOcky5+uzAE5ipGIzVjCZ6V3YQXlY8DDea4RsBFdVsOHpQdriLzL9Guwqyq2lvK/HC4YEPcGHwQdR7nWNBL3BpxWsJRsvqLwOj0/XxTR3KOidnvw42BTcFoxWCYOlwaEGdmDaviMbb47yCv0HTGaRrA2+rCy+Lvi2UbJs3ZJgLOipIasYHQmuyPT+4I15kO0OtlXBo8HFFaPbg4XBAym6m+ZBdiTK56oG3BusyfTH0kcdD3YGy5slSn5ORPXFDrbnVTxhq/Ns50HUGeUDWiML8QOuzsGi9vbPR1aoc4JblIV1Y6TG5RzJGtnFr5H02g4HO2bs8zwk2BOsO5tBWyIbCi7/H0RFlP1kZyPGD6brMKN0NUjWE2Xf2fCCG1N0i+e2nrH2keD5enN1q35RRvYu7mqWDLfi84bJkgxi9TzIenGwWbIJWX/YhFyGY82SjeHaqNOzzybBSkymxqg5SaXsYJQt+fIo+/p8viNYkd6td4KJYO1s/ub8c0wVvx83KJ/8FuXF/wdncFhZmgawr+Cv2Xz9Cy1ParntgE8FAAAAAElFTkSuQmCC') !important;
+ width: 27px;
+ height: 35px;
+ margin-bottom: 5px;
}
- .ex-b as-split {
- .as-split-area {
- background-color: lightgrey;
+ .as-vertical & {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAdCAYAAAAgqdWEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOxSURBVEiJtddtzNdTGAfwz7+6y91qKpaGF0UjY8JmrIw1sdj0YFMeMzYLJWaUmac1bfQiw0hkkjErTy+whrARm0zztHmYp3mayjyFkny9+J3bfv7uf3e3/p03v3Od872u8z3Xua7rnB9tamFQmB1eDhvC7+G7sCZcHw5u11o9ETkmPBBODgeGjtBZ+qeEZWFjeCKM2Z1ExodN4eKwPBzdAtc/XB6+DbPbsfCwcEI5jqXhvfBLeCacFfrvhI2R4f1wW2jU5xotFPrhMIwt38PLd198ibexHi9hbYM/ermp4ViD1Q2ubgU6LjwafgwJH4cHw5XhxDCsN4v2QGifEuDTmic6wpJC4KewIBzSwkiPR9ELQqeH7/+1ybCoEFka9qqNd4ZTwx0lZW8Pg9tFpqzxdLilSzggbA831gATwqrC+vkwP4xuJ4naWhPD5jBIuDG8HfqGGaW/KkwJA5sURxV822pFaISPwpmNsBq/YgS2YVaDD+tgnIQ5GIXzG7y1iwQGNNhak+9Dp/BpiZcVoW8NMDjMDR+UenJuSfldbs0ZFC4K65XsWd+1UBgabi3p/UqYXC9O4YhwXbghdPxPMvPCkTV5fPhFqaCTyuBp4ZvwQji2ycDk8E54N8xpjqdekrkszKrJR4Ytwlep7o1zwp+p7o+6J4aEx8I9qarwLrfimcU1eVL4vB9+wBDcjXkNbq+B9sMjuKJRlf92tYH4syaPwzrhs+KNN5o8MrSk+fFtJNFle3mYX/qdJYlmCJ8UQjObFFaEle0mUmx/HMaFPqneQe+GDiVYE/avgSeEv8IRO2m8IxwVLgn3hyk7wB4Tfk715Fib6lV4aNfkveHzJoVnw3M9LD41LA6vht/Khr4MN4XOFnqN2ua/CHemepb8A7gmrK3JI4pXprYwODJV+V4TFtZInB36tNpA0V0YtpQC+t+3VJge3qzJ0wrrvt1gO8K6cs57hNfDi6nd9C1IDC0xuK3VJruAo4snpoc9w5Ph2hbY21JdDQPCXeWI9tiB7WHF8xtSVfTWRGpKTxV3p7hxeDeYS0tsjC1BuDHs08LeQYXs5lTPkEWtsN0pd4bVhczD3cxflao6n1fkh8KCbnBjUv2ObE91r81sFcw9Edq7kJlaGxseVoat4cLa+DvN6ZvqV2VLOcaJvSbQDaGvS0BOS3UrbyqZM74J91q4uSZfUDby+I5iqLdkJqSqyNtTPSvmhgHd4OaWzFiWqtZsLTVjh6m9W1qqMr6kBPRH4Yx22P0bNcolauCjiTYAAAAASUVORK5CYII=') !important;
+ width: 35px;
+ height: 29px;
+ margin-right: 5px;
+ }
- & > p {
- padding: 5px;
- }
- }
+ &:hover {
+ opacity: 1;
+ }
+}
- ::ng-deep .as-split-gutter {
- background-color: grey !important;
- position: relative;
- }
+// #endregion
- ::ng-deep .as-split-gutter-icon {
- background-image: none !important;
- background-color: black;
- transition: opacity 0.3s;
- opacity: 0;
- position: absolute;
- }
+// #region example b
- ::ng-deep .as-split-gutter.as-dragged .as-split-gutter-icon,
- ::ng-deep .as-split-gutter-icon:hover {
- opacity: 0.1;
- }
+.ex-b {
+ as-split-area {
+ background-color: #d3d3d3;
- &.as-horizontal {
- ::ng-deep .as-split-gutter-icon {
- width: 17px !important;
- left: -8px;
- right: 8px;
- }
- }
- &.as-vertical {
- ::ng-deep .as-split-gutter-icon {
- height: 17px !important;
- top: -8px;
- bottom: 8px;
- }
+ p {
+ padding: 10px;
}
}
+}
- .btns {
- display: flex;
- justify-content: center;
- align-items: center;
- flex-wrap: wrap;
+.custom-shade-gutter {
+ width: 100%;
+ height: 100%;
+ background-color: grey;
+ position: relative;
+}
+
+.custom-shade-gutter-icon {
+ height: 100%;
+ width: 100%;
+ background-color: black;
+ transition: opacity 0.3s;
+ opacity: 0;
+ position: absolute;
+
+ .dragged &,
+ &:hover {
+ opacity: 0.1;
+ }
+
+ $shadeSize: 8px;
+
+ .as-horizontal & {
+ width: 1 + ($shadeSize * 2);
+ left: -$shadeSize;
+ right: $shadeSize;
+ }
+
+ .as-vertical & {
+ height: 1 + ($shadeSize * 2);
+ top: -$shadeSize;
+ bottom: $shadeSize;
+ }
+}
+
+// #endregion
+
+// #region example c
+
+.custom-collapse-gutter {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 100%;
+ width: 100%;
+
+ .as-vertical & {
+ flex-direction: row;
+ }
+
+ .as-horizontal & {
+ flex-direction: column;
+ }
+}
+
+.custom-collapse-gutter-header {
+ display: flex;
+ flex: 1;
+
+ .as-vertical & {
+ flex-direction: row;
+ }
+
+ .as-horizontal & {
+ flex-direction: column;
+ }
+
+ & > div {
+ cursor: pointer;
+ }
+}
+
+.custom-collapse-gutter-icon {
+ background-position: center center;
+ background-repeat: no-repeat;
+
+ .as-vertical & {
+ width: 30px;
+ height: 5px;
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC');
}
+
+ .as-horizontal & {
+ width: 5px;
+ height: 30px;
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
+ }
+}
+
+.custom-collapse-gutter-ghost {
+ flex: 1;
+}
+
+// #endregion
+
+.btns {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-wrap: wrap;
}
diff --git a/src/app/examples/custom-gutter-style/custom-gutter-style.component.ts b/src/app/examples/custom-gutter-style/custom-gutter-style.component.ts
index c43cda9f..95cb3c22 100644
--- a/src/app/examples/custom-gutter-style/custom-gutter-style.component.ts
+++ b/src/app/examples/custom-gutter-style/custom-gutter-style.component.ts
@@ -1,6 +1,6 @@
import { Component, ChangeDetectionStrategy } from '@angular/core'
import { AComponent } from '../../ui/components/AComponent'
-import { ISplitDirection } from 'angular-split'
+import { IAreaSize, IOutputData, ISplitDirection } from 'angular-split'
@Component({
selector: 'sp-ex-custom-gutter-style',
@@ -15,6 +15,9 @@ import { ISplitDirection } from 'angular-split'
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tiam, quis nostrud exercitation
@@ -22,7 +25,14 @@ import { ISplitDirection } from 'angular-split'
voluptate velit esse cillum dolore eu fugiat nulla pariatur.
-
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tiam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+
+
+
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam
rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt
@@ -38,6 +48,9 @@ import { ISplitDirection } from 'angular-split'
+
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
@@ -55,6 +68,58 @@ import { ISplitDirection } from 'angular-split'
>
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tiam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tiam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tiam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam
+ rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt
+ explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia
+ consequuntur magni dolores eodolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi
+ tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis
+ nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis
+ autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel
+ illum qui dolorem eum fugiat quo voluptas nulla pariatur?
+
+
+
+
@@ -66,4 +131,17 @@ import { ISplitDirection } from 'angular-split'
})
export class CustomGutterStyleComponent extends AComponent {
direction: ISplitDirection = 'horizontal'
+ exampleCSizes: IAreaSize[] = [30, 10, 40, 20]
+
+ exampleCDragEnd(e: IOutputData) {
+ this.exampleCSizes = e.sizes
+ }
+
+ collapseExampleCArea(index: number, areaToCollapseDirection: 'before' | 'after') {
+ const sizeBeforeCollapse = this.exampleCSizes[index] as number
+ const sizeIndexToChange = index === 0 || areaToCollapseDirection === 'before' ? index + 1 : index - 1
+
+ this.exampleCSizes[index] = 0
+ this.exampleCSizes[sizeIndexToChange] = (this.exampleCSizes[sizeIndexToChange] as number) + sizeBeforeCollapse
+ }
}
diff --git a/src/app/ui/components/topbar.component.ts b/src/app/ui/components/topbar.component.ts
index bab9c341..62f34002 100644
--- a/src/app/ui/components/topbar.component.ts
+++ b/src/app/ui/components/topbar.component.ts
@@ -55,7 +55,7 @@ import { exampleRoutes } from '../../examples/examples.routes'
-
+
angular-split
diff --git a/src/assets/logo.svg b/src/assets/logo.svg
index f6e026c8..ac009c80 100644
--- a/src/assets/logo.svg
+++ b/src/assets/logo.svg
@@ -1,14 +1,14 @@
-
angular-split
- Created with Sketch.
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file