@@ -12,13 +12,15 @@ import '@material/web/chips/input-chip.js';
1212import '@material/web/chips/suggestion-chip.js' ;
1313
1414import { MaterialStoryInit } from './material-collection.js' ;
15- import { html , svg } from 'lit' ;
15+ import { css , html , svg } from 'lit' ;
16+ import { classMap } from 'lit/directives/class-map.js' ;
1617
1718/** Knob types for chips stories. */
1819export interface StoryKnobs {
1920 label : string ;
2021 elevated : boolean ;
2122 disabled : boolean ;
23+ scrolling : boolean ;
2224}
2325
2426const GOOGLE_LOGO = svg `
@@ -31,20 +33,32 @@ const GOOGLE_LOGO = svg`
3133 </ svg >
3234` ;
3335
36+ const styles = css `
37+ md-chip-set.scrolling {
38+ flex-wrap: nowrap;
39+ max-width: 512px;
40+ overflow: scroll;
41+ /** Add room for focus ring. */
42+ padding: 8px;
43+ }
44+ ` ;
45+
3446const standard : MaterialStoryInit < StoryKnobs > = {
3547 name : 'Assist chips' ,
36- render ( { label, elevated, disabled} ) {
48+ styles,
49+ render ( { label, elevated, disabled, scrolling} ) {
50+ const classes = { scrolling} ;
3751 return html `
38- < md-chip-set >
52+ < md-chip-set class = ${ classMap ( classes ) } >
3953 < md-assist-chip
4054 label =${ label || 'Assist chip' }
41- ?disabled =${ disabled ?? false }
42- ?elevated=${ elevated ?? false }
55+ ?disabled =${ disabled }
56+ ?elevated=${ elevated }
4357 > </ md-assist-chip >
4458 < md-assist-chip
4559 label =${ label || 'Assist chip with icon' }
46- ?disabled =${ disabled ?? false }
47- ?elevated=${ elevated ?? false }
60+ ?disabled =${ disabled }
61+ ?elevated=${ elevated }
4862 >
4963 < md-icon slot ="icon " aria-hidden ="true "> local_laundry_service</ md-icon >
5064 </ md-assist-chip >
@@ -55,13 +69,15 @@ const standard: MaterialStoryInit<StoryKnobs> = {
5569
5670const links : MaterialStoryInit < StoryKnobs > = {
5771 name : 'Assist link chips' ,
58- render ( { label, elevated, disabled} ) {
72+ styles,
73+ render ( { label, elevated, disabled, scrolling} ) {
74+ const classes = { scrolling} ;
5975 return html `
60- < md-chip-set >
76+ < md-chip-set class = ${ classMap ( classes ) } >
6177 < md-assist-chip
6278 label =${ label || 'Assist link chip' }
63- ?disabled =${ disabled ?? false }
64- ?elevated=${ elevated ?? false }
79+ ?disabled =${ disabled }
80+ ?elevated=${ elevated }
6581 href="https://google.com"
6682 target="_blank"
6783 > ${ GOOGLE_LOGO } </ md-assist-chip >
@@ -72,25 +88,27 @@ const links: MaterialStoryInit<StoryKnobs> = {
7288
7389const filters : MaterialStoryInit < StoryKnobs > = {
7490 name : 'Filter chips' ,
75- render ( { label, elevated, disabled} ) {
91+ styles,
92+ render ( { label, elevated, disabled, scrolling} ) {
93+ const classes = { scrolling} ;
7694 return html `
77- < md-chip-set >
95+ < md-chip-set class = ${ classMap ( classes ) } >
7896 < md-filter-chip
7997 label =${ label || 'Filter chip' }
80- ?disabled =${ disabled ?? false }
81- ?elevated=${ elevated ?? false }
98+ ?disabled =${ disabled }
99+ ?elevated=${ elevated }
82100 > </ md-filter-chip >
83101 < md-filter-chip
84102 label =${ label || 'Filter chip with icon' }
85- ?disabled =${ disabled ?? false }
86- ?elevated=${ elevated ?? false }
103+ ?disabled =${ disabled }
104+ ?elevated=${ elevated }
87105 >
88106 < md-icon slot ="icon " aria-hidden ="true "> local_laundry_service</ md-icon >
89107 </ md-filter-chip >
90108 < md-filter-chip
91109 label =${ label || 'Removable filter chip' }
92110 ?disabled =${ disabled }
93- ?elevated=${ elevated ?? false }
111+ ?elevated=${ elevated }
94112 removable
95113 > </ md-filter-chip >
96114 </ md-chip-set >
@@ -100,29 +118,31 @@ const filters: MaterialStoryInit<StoryKnobs> = {
100118
101119const inputs : MaterialStoryInit < StoryKnobs > = {
102120 name : 'Input chips' ,
103- render ( { label, disabled} ) {
121+ styles,
122+ render ( { label, disabled, scrolling} ) {
123+ const classes = { scrolling} ;
104124 return html `
105- < md-chip-set >
125+ < md-chip-set class = ${ classMap ( classes ) } >
106126 < md-input-chip
107127 label =${ label || 'Input chip' }
108- ?disabled =${ disabled ?? false }
128+ ?disabled =${ disabled }
109129 > </ md-input-chip >
110130 < md-input-chip
111131 label =${ label || 'Input chip with icon' }
112- ?disabled =${ disabled ?? false }
132+ ?disabled =${ disabled }
113133 >
114134 < md-icon slot ="icon "> local_laundry_service</ md-icon >
115135 </ md-input-chip >
116136 < md-input-chip
117137 label =${ label || 'Input chip with avatar' }
118- ?disabled =${ disabled ?? false }
138+ ?disabled =${ disabled }
119139 avatar
120140 >
121141 < img slot ="icon " src ="https://lh3.googleusercontent.com/a/default-user=s48 ">
122142 </ md-input-chip >
123143 < md-input-chip
124144 label =${ label || 'Remove-only input chip' }
125- ?disabled =${ disabled ?? false }
145+ ?disabled =${ disabled }
126146 remove-only
127147 > </ md-input-chip >
128148 </ md-chip-set >
@@ -132,12 +152,14 @@ const inputs: MaterialStoryInit<StoryKnobs> = {
132152
133153const inputLinks : MaterialStoryInit < StoryKnobs > = {
134154 name : 'Input link chips' ,
135- render ( { label, disabled} ) {
155+ styles,
156+ render ( { label, disabled, scrolling} ) {
157+ const classes = { scrolling} ;
136158 return html `
137- < md-chip-set >
159+ < md-chip-set class = ${ classMap ( classes ) } >
138160 < md-input-chip
139161 label =${ label || 'Input link chip' }
140- ?disabled =${ disabled ?? false }
162+ ?disabled =${ disabled }
141163 href="https://google.com"
142164 target="_blank"
143165 > ${ GOOGLE_LOGO } </ md-input-chip >
@@ -148,18 +170,20 @@ const inputLinks: MaterialStoryInit<StoryKnobs> = {
148170
149171const suggestions : MaterialStoryInit < StoryKnobs > = {
150172 name : 'Suggestion chips' ,
151- render ( { label, elevated, disabled} ) {
173+ styles,
174+ render ( { label, elevated, disabled, scrolling} ) {
175+ const classes = { scrolling} ;
152176 return html `
153- < md-chip-set >
177+ < md-chip-set class = ${ classMap ( classes ) } >
154178 < md-suggestion-chip
155179 label =${ label || 'Suggestion chip' }
156- ?disabled =${ disabled ?? false }
157- ?elevated=${ elevated ?? false }
180+ ?disabled =${ disabled }
181+ ?elevated=${ elevated }
158182 > </ md-suggestion-chip >
159183 < md-suggestion-chip
160184 label =${ label || 'Suggestion chip with icon' }
161- ?disabled =${ disabled ?? false }
162- ?elevated=${ elevated ?? false }
185+ ?disabled =${ disabled }
186+ ?elevated=${ elevated }
163187 >
164188 < md-icon slot ="icon " aria-hidden ="true "> local_laundry_service</ md-icon >
165189 </ md-suggestion-chip >
@@ -170,13 +194,15 @@ const suggestions: MaterialStoryInit<StoryKnobs> = {
170194
171195const suggestionLinks : MaterialStoryInit < StoryKnobs > = {
172196 name : 'Suggestion link chips' ,
173- render ( { label, elevated, disabled} ) {
197+ styles,
198+ render ( { label, elevated, disabled, scrolling} ) {
199+ const classes = { scrolling} ;
174200 return html `
175- < md-chip-set >
201+ < md-chip-set class = ${ classMap ( classes ) } >
176202 < md-suggestion-chip
177203 label =${ label || 'Suggestion link chip' }
178- ?disabled =${ disabled ?? false }
179- ?elevated=${ elevated ?? false }
204+ ?disabled =${ disabled }
205+ ?elevated=${ elevated }
180206 href="https://google.com"
181207 target="_blank"
182208 > ${ GOOGLE_LOGO } </ md-suggestion-chip >
0 commit comments