11/* tslint:disable variable-name */
22
3- import { moduleMetadata } from "@storybook/angular" ;
3+ import { moduleMetadata , componentWrapperDecorator } from "@storybook/angular" ;
44import { Story , Meta } from "@storybook/angular/types-6-0" ;
55import {
66 GridModule ,
@@ -10,49 +10,163 @@ import {
1010} from "./" ;
1111
1212export default {
13- title : "Components/Grid" ,
13+ title : "Components/Grid/Flex " ,
1414 decorators : [
1515 moduleMetadata ( {
1616 imports : [ GridModule ]
17- } )
17+ } ) ,
18+ componentWrapperDecorator ( ( story ) => `<div class="flex-grid-story">${ story } </div>` )
1819 ] ,
1920 component : GridDirective ,
2021 subcomponents : {
2122 RowDirective,
2223 ColumnDirective
24+ } ,
25+ argTypes : {
26+ useCssGrid : {
27+ control : false
28+ }
2329 }
2430} as Meta ;
2531
2632const Template : Story < GridDirective > = ( args ) => ( {
33+ props : args ,
34+ template : `
35+ <div
36+ cdsGrid
37+ [condensed]="condensed"
38+ [fullWidth]="fullWidth"
39+ [narrow]="narrow">
40+ <div cdsRow>
41+ <div cdsCol class="custom-class-example">
42+ <div class="inside">Span 25%</div>
43+ </div>
44+ <div cdsCol class="custom-class-example">
45+ <div class="inside">Span 25%</div>
46+ </div>
47+ <div cdsCol class="custom-class-example">
48+ <div class="inside">Span 25%</div>
49+ </div>
50+ <div cdsCol class="custom-class-example">
51+ <div class="inside">Span 25%</div>
52+ </div>
53+ </div>
54+ </div>
55+ `
56+ } ) ;
57+ export const Basic = Template . bind ( { } ) ;
58+
59+ const ResponsiveTemplate : Story < GridDirective > = ( args ) => ( {
2760 props : args ,
2861 template : `
2962 <div cdsGrid [condensed]="gridCondensed">
3063 <div
3164 cdsRow
32- [gutter]="gutter"
3365 [condensed]="rowCondensed">
34- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">First Column</div>
35- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">Second column</div>
36- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">Third Column</div>
66+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 2, md: 4, lg: 6}">
67+ <div class="inside">
68+ <p>Small: Span 2 of 4</p>
69+ <p>Medium: Span 4 of 8</p>
70+ <p>Large: Span 6 of 16</p>
71+ </div>
72+ </div>
73+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 2, md: 2, lg: 3}">
74+ <div class="inside">
75+ <p>Small: Span 2 of 4</p>
76+ <p>Medium: Span 2 of 8</p>
77+ <p>Large: Span 3 of 16</p>
78+ </div>
79+ </div>
80+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 0, md: 2, lg: 3}">
81+ <div class="inside">
82+ <p>Small: Span 0 of 4</p>
83+ <p>Medium: Span 2 of 8</p>
84+ <p>Large: Span 3 of 16</p>
85+ </div>
86+ </div>
3787 </div>
3888 </div>
3989 `
4090} ) ;
41- export const Basic = Template . bind ( { } ) ;
42- Basic . args = {
43- gutter : true ,
44- rowCondensed : false ,
45- gridCondensed : false
46- } ;
91+ export const Responsive = ResponsiveTemplate . bind ( { } ) ;
92+
93+ const OffsetTemplate : Story < GridDirective > = ( args ) => ( {
94+ props : args ,
95+ template : `
96+ <div
97+ cdsGrid
98+ [condensed]="condensed"
99+ [fullWidth]="fullWidth"
100+ [narrow]="narrow">
101+ <div cdsRow>
102+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 1}" [offsets]="{sm: 3}">
103+ <div class="inside">Small: Offset 3</div>
104+ </div>
105+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 2}" [offsets]="{sm: 2}">
106+ <div class="inside">Small: Offset 2</div>
107+ </div>
108+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 3}" [offsets]="{sm: 1}">
109+ <div class="inside">Small: Offset 1</div>
110+ </div>
111+ <div cdsCol class="custom-class-example" [columnNumbers]="{sm: 4}" [offsets]="{sm: 0}">
112+ <div class="inside">Small: Offset -</div>
113+ </div>
114+ </div>
115+ </div>
116+ `
117+ } ) ;
118+ export const Offset = OffsetTemplate . bind ( { } ) ;
119+
120+ const CondensedRowTemplate : Story < GridDirective > = ( args ) => ( {
121+ props : args ,
122+ template : `
123+ <div
124+ cdsGrid
125+ [condensed]="condensed"
126+ [fullWidth]="fullWidth"
127+ [narrow]="narrow">
128+ <div cdsRow [condensed]="true">
129+ <div cdsCol class="custom-class-example">
130+ <div class="inside">Span 25%</div>
131+ </div>
132+ <div cdsCol class="custom-class-example">
133+ <div class="inside">Span 25%</div>
134+ </div>
135+ <div cdsCol class="custom-class-example">
136+ <div class="inside">Span 25%</div>
137+ </div>
138+ <div cdsCol class="custom-class-example">
139+ <div class="inside">Span 25%</div>
140+ </div>
141+ </div>
142+ </div>
143+ `
144+ } ) ;
145+ export const CondensedRow = CondensedRowTemplate . bind ( { } ) ;
47146
48- const CSSGridTemplate : Story < GridDirective > = ( args ) => ( {
147+ const NarrowRowTemplate : Story < GridDirective > = ( args ) => ( {
49148 props : args ,
50149 template : `
51- <div cdsGrid [condensed]="gridCondensed" [useCssGrid]="true">
52- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">First Column</div>
53- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">Second column</div>
54- <div cdsCol class="custom-class-example" [columnNumbers]="{md: 2, sm: 4}">Third Column</div>
150+ <div
151+ cdsGrid
152+ [condensed]="condensed"
153+ [fullWidth]="fullWidth"
154+ [narrow]="narrow">
155+ <div cdsRow [condensed]="true" [narrow]="true">
156+ <div cdsCol class="custom-class-example">
157+ <div class="inside">Span 25%</div>
158+ </div>
159+ <div cdsCol class="custom-class-example">
160+ <div class="inside">Span 25%</div>
161+ </div>
162+ <div cdsCol class="custom-class-example">
163+ <div class="inside">Span 25%</div>
164+ </div>
165+ <div cdsCol class="custom-class-example">
166+ <div class="inside">Span 25%</div>
167+ </div>
168+ </div>
55169 </div>
56170 `
57171} ) ;
58- export const CssGrid = CSSGridTemplate . bind ( { } ) ;
172+ export const NarrowRow = NarrowRowTemplate . bind ( { } ) ;
0 commit comments