@@ -225,40 +225,51 @@ WithGap.parameters = {
225
225
} ,
226
226
} ;
227
227
228
- export const FlexLayout : Story = props => html `
229
- < h3 > Tabs implemented into Flex-box scenario</ h3 >
230
- < p >
231
- In this case we want the input to grow and the tabs to take up the remaining
232
- space:
233
- </ p >
234
- < uui-icon-registry-essential >
235
- < div
236
- style ="display: flex; outline: 1px solid black; max-width: 800px; height: 100%; align-items: center; padding-left: 12px; ">
237
- < uui-input style ="flex-grow: 1; min-width: 200px "> </ uui-input >
238
- < uui-tab-group
239
- dropdown-direction ="horizontal "
240
- style ="
241
- flex-grow: 1;
228
+ export const Async : Story = props => {
229
+ // async insert tabs after 1 second
230
+ setTimeout ( ( ) => {
231
+ const tabs = document . querySelector ( 'uui-tab-group' ) ;
232
+
233
+ if ( ! tabs ) return ;
234
+
235
+ const tab = document . createElement ( 'uui-tab' ) ;
236
+ tab . label = 'Async' ;
237
+ tab . innerHTML = 'Async' ;
238
+ tabs . appendChild ( tab ) ;
239
+
240
+ setTimeout ( ( ) => {
241
+ tab . innerHTML = 'Async more text' ;
242
+ } , 1000 ) ;
243
+ } , 1000 ) ;
244
+
245
+ return html `
246
+ < uui-icon-registry-essential >
247
+ < div style ="display: flex ">
248
+ < uui-tab-group
249
+ dropdown-direction ="horizontal "
250
+ style ="
251
+ margin: auto;
242
252
--uui-tab-group-gap: 25px;
243
253
font-size: var(--uui-type-small-size);
244
254
${ props . inlineStyles } ">
245
- < uui-tab label ="content ">
246
- < uui-icon slot ="icon " name ="document "> </ uui-icon >
247
- Content
248
- </ uui-tab >
249
- < uui-tab active label ="packages ">
250
- < uui-icon slot ="icon " name ="settings "> </ uui-icon >
251
- Packages
252
- </ uui-tab >
253
- < uui-tab label ="media ">
254
- < uui-icon slot ="icon " name ="picture "> </ uui-icon >
255
- Media
256
- </ uui-tab >
257
- </ uui-tab-group >
258
- </ div >
259
- </ uui-icon-registry-essential >
260
- ` ;
261
- FlexLayout . parameters = {
255
+ < uui-tab label ="content ">
256
+ < uui-icon slot ="icon " name ="document "> </ uui-icon >
257
+ Content
258
+ </ uui-tab >
259
+ < uui-tab active label ="packages ">
260
+ < uui-icon slot ="icon " name ="settings "> </ uui-icon >
261
+ Packages
262
+ </ uui-tab >
263
+ < uui-tab label ="media ">
264
+ < uui-icon slot ="icon " name ="picture "> </ uui-icon >
265
+ Media
266
+ </ uui-tab >
267
+ </ uui-tab-group >
268
+ </ div >
269
+ </ uui-icon-registry-essential >
270
+ ` ;
271
+ } ;
272
+ Async . parameters = {
262
273
docs : {
263
274
source : {
264
275
code : `
@@ -279,3 +290,81 @@ FlexLayout.parameters = {
279
290
} ,
280
291
} ,
281
292
} ;
293
+
294
+ export const CenterAlign : Story = props => html `
295
+ < h3 > Tabs implemented into Flex-box scenario</ h3 >
296
+ < p > Here the tab group is center aligned in a flex-box container.</ p >
297
+ < uui-icon-registry-essential >
298
+ < div style ="display: flex; ">
299
+ < uui-tab-group
300
+ dropdown-direction ="horizontal "
301
+ style ="
302
+ margin: auto;
303
+ --uui-tab-group-gap: 25px;
304
+ font-size: var(--uui-type-small-size);
305
+ ${ props . inlineStyles } ">
306
+ < uui-tab label ="content "> Content</ uui-tab >
307
+ < uui-tab active label ="packages "> Packages</ uui-tab >
308
+ < uui-tab label ="media "> Media</ uui-tab >
309
+ < uui-tab label ="settings "> Settings</ uui-tab >
310
+ < uui-tab label ="translations "> Translations</ uui-tab >
311
+ </ uui-tab-group >
312
+ </ div >
313
+ </ uui-icon-registry-essential >
314
+ ` ;
315
+ CenterAlign . parameters = {
316
+ docs : {
317
+ source : {
318
+ code : `
319
+ <div style="display: flex">
320
+ <uui-tab-group style="margin: auto">
321
+ <uui-tab label="content">Content</uui-tab>
322
+ <uui-tab active label="packages">Packages</uui-tab>
323
+ <uui-tab label="media">Media</uui-tab>
324
+ <uui-tab label="settings">Settings</uui-tab>
325
+ <uui-tab label="translations">Translations</uui-tab>
326
+ </uui-tab-group>
327
+ </div>
328
+ ` ,
329
+ } ,
330
+ } ,
331
+ } ;
332
+
333
+ export const RightAlign : Story = props => html `
334
+ < h3 > Tabs implemented into Flex-box scenario</ h3 >
335
+ < p > Here the tab group is right aligned in a flex-box container.</ p >
336
+ < uui-icon-registry-essential >
337
+ < div style ="display: flex; ">
338
+ < uui-tab-group
339
+ dropdown-direction ="horizontal "
340
+ style ="
341
+ margin-left: auto;
342
+ --uui-tab-group-gap: 25px;
343
+ font-size: var(--uui-type-small-size);
344
+ ${ props . inlineStyles } ">
345
+ < uui-tab label ="content "> Content</ uui-tab >
346
+ < uui-tab active label ="packages "> Packages</ uui-tab >
347
+ < uui-tab label ="media "> Media</ uui-tab >
348
+ < uui-tab label ="settings "> Settings</ uui-tab >
349
+ < uui-tab label ="translations "> Translations</ uui-tab >
350
+ </ uui-tab-group >
351
+ </ div >
352
+ </ uui-icon-registry-essential >
353
+ ` ;
354
+ RightAlign . parameters = {
355
+ docs : {
356
+ source : {
357
+ code : `
358
+ <div style="display: flex">
359
+ <uui-tab-group style="margin: auto">
360
+ <uui-tab label="content">Content</uui-tab>
361
+ <uui-tab active label="packages">Packages</uui-tab>
362
+ <uui-tab label="media">Media</uui-tab>
363
+ <uui-tab label="settings">Settings</uui-tab>
364
+ <uui-tab label="translations">Translations</uui-tab>
365
+ </uui-tab-group>
366
+ </div>
367
+ ` ,
368
+ } ,
369
+ } ,
370
+ } ;
0 commit comments