@abraracs/better-shopify-wc-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +110 -0
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.js +325 -0
  4. package/docs/avatar.md +481 -0
  5. package/docs/badge.md +266 -0
  6. package/docs/banner.md +350 -0
  7. package/docs/box.md +618 -0
  8. package/docs/button.md +604 -0
  9. package/docs/buttongroup.md +251 -0
  10. package/docs/checkbox.md +346 -0
  11. package/docs/chip.md +261 -0
  12. package/docs/choicelist.md +416 -0
  13. package/docs/clickable.md +703 -0
  14. package/docs/clickablechip.md +377 -0
  15. package/docs/colorfield.md +416 -0
  16. package/docs/colorpicker.md +152 -0
  17. package/docs/datefield.md +706 -0
  18. package/docs/datepicker.md +443 -0
  19. package/docs/divider.md +263 -0
  20. package/docs/dropzone.md +331 -0
  21. package/docs/emailfield.md +377 -0
  22. package/docs/grid.md +1246 -0
  23. package/docs/heading.md +201 -0
  24. package/docs/icon.md +295 -0
  25. package/docs/image.md +517 -0
  26. package/docs/link.md +456 -0
  27. package/docs/menu.md +331 -0
  28. package/docs/modal.md +640 -0
  29. package/docs/moneyfield.md +385 -0
  30. package/docs/numberfield.md +393 -0
  31. package/docs/orderedlist.md +224 -0
  32. package/docs/page.md +319 -0
  33. package/docs/paragraph.md +333 -0
  34. package/docs/passwordfield.md +381 -0
  35. package/docs/popover.md +419 -0
  36. package/docs/querycontainer.md +121 -0
  37. package/docs/searchfield.md +319 -0
  38. package/docs/section.md +267 -0
  39. package/docs/select.md +449 -0
  40. package/docs/spinner.md +121 -0
  41. package/docs/stack.md +748 -0
  42. package/docs/switch.md +365 -0
  43. package/docs/table.md +805 -0
  44. package/docs/text.md +339 -0
  45. package/docs/textarea.md +328 -0
  46. package/docs/textfield.md +425 -0
  47. package/docs/thumbnail.md +245 -0
  48. package/docs/tooltip.md +130 -0
  49. package/docs/unorderedlist.md +135 -0
  50. package/docs/urlfield.md +314 -0
  51. package/package.json +43 -0
package/docs/stack.md ADDED
@@ -0,0 +1,748 @@
1
+ ---
2
+ title: Stack
3
+ description: >-
4
+ Organizes elements horizontally or vertically along the block or inline axis.
5
+ Use to structure layouts, group related components, or control spacing between
6
+ elements.
7
+ api_name: app-home
8
+ source_url:
9
+ html: 'https://shopify.dev/docs/api/app-home/polaris-web-components/structure/stack'
10
+ md: >-
11
+ https://shopify.dev/docs/api/app-home/polaris-web-components/structure/stack.md
12
+ ---
13
+
14
+ # Stack
15
+
16
+ Organizes elements horizontally or vertically along the block or inline axis. Use to structure layouts, group related components, or control spacing between elements.
17
+
18
+ ## Properties
19
+
20
+ * accessibilityLabel
21
+
22
+ string
23
+
24
+ A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.
25
+
26
+ Only use this when the element's content is not enough context for users using assistive technologies.
27
+
28
+ * accessibilityRole
29
+
30
+ AccessibilityRole
31
+
32
+ Default: 'generic'
33
+
34
+ Sets the semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.
35
+
36
+ * accessibilityVisibility
37
+
38
+ "visible" | "hidden" | "exclusive"
39
+
40
+ Default: 'visible'
41
+
42
+ Changes the visibility of the element.
43
+
44
+ * `visible`: the element is visible to all users.
45
+ * `hidden`: the element is removed from the accessibility tree but remains visible.
46
+ * `exclusive`: the element is visually hidden but remains in the accessibility tree.
47
+
48
+ * alignContent
49
+
50
+ AlignContentKeyword
51
+
52
+ Default: 'normal'
53
+
54
+ Aligns the Stack's children along the block axis.
55
+
56
+ This overrides the block value of `alignContent`.
57
+
58
+ * alignItems
59
+
60
+ AlignItemsKeyword
61
+
62
+ Default: 'normal'
63
+
64
+ Aligns the Stack's children along the block axis.
65
+
66
+ * background
67
+
68
+ BackgroundColorKeyword
69
+
70
+ Default: 'transparent'
71
+
72
+ Adjust the background of the component.
73
+
74
+ * blockSize
75
+
76
+ SizeUnitsOrAuto
77
+
78
+ Default: 'auto'
79
+
80
+ Adjust the [block size](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).
81
+
82
+ * border
83
+
84
+ BorderShorthand
85
+
86
+ Default: 'none' - equivalent to \`none base auto\`.
87
+
88
+ Set the border via the shorthand property.
89
+
90
+ This can be a size, optionally followed by a color, optionally followed by a style.
91
+
92
+ If the color is not specified, it will be `base`.
93
+
94
+ If the style is not specified, it will be `auto`.
95
+
96
+ Values can be overridden by `borderWidth`, `borderStyle`, and `borderColor`.
97
+
98
+ * borderColor
99
+
100
+ "" | ColorKeyword
101
+
102
+ Default: '' - meaning no override
103
+
104
+ Adjust the color of the border.
105
+
106
+ * borderRadius
107
+
108
+ MaybeAllValuesShorthandProperty\<BoxBorderRadii>
109
+
110
+ Default: 'none'
111
+
112
+ Adjust the radius of the border.
113
+
114
+ * borderStyle
115
+
116
+ "" | MaybeAllValuesShorthandProperty\<BoxBorderStyles>
117
+
118
+ Default: '' - meaning no override
119
+
120
+ Adjust the style of the border.
121
+
122
+ * borderWidth
123
+
124
+ "" | MaybeAllValuesShorthandProperty<"small" | "small-100" | "base" | "large" | "large-100" | "none">
125
+
126
+ Default: '' - meaning no override
127
+
128
+ Adjust the width of the border.
129
+
130
+ * columnGap
131
+
132
+ MaybeResponsive<"" | SpacingKeyword>
133
+
134
+ Default: '' - meaning no override
135
+
136
+ Adjust spacing between elements in the inline axis.
137
+
138
+ This overrides the column value of `gap`. `columnGap` either accepts:
139
+
140
+ * a single [SpacingKeyword](https://shopify.dev/docs/api/app-home/using-polaris-components#scale) value (e.g. `large-100`)
141
+ * OR a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported SpacingKeyword as a query value.
142
+
143
+ * direction
144
+
145
+ MaybeResponsive<"inline" | "block">
146
+
147
+ Default: 'block'
148
+
149
+ Sets how the Stack's children are placed within the Stack.
150
+
151
+ `direction` either accepts:
152
+
153
+ * a single value either `inline` or `block`
154
+ * OR a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported SpacingKeyword as a query value.
155
+
156
+ * display
157
+
158
+ MaybeResponsive<"auto" | "none">
159
+
160
+ Default: 'auto'
161
+
162
+ Sets the outer [display](https://developer.mozilla.org/en-US/docs/Web/CSS/display) type of the component. The outer type sets a component's participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).
163
+
164
+ * `auto` the component's initial value. The actual value depends on the component and context.
165
+ * `none` hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.
166
+
167
+ * gap
168
+
169
+ MaybeResponsive\<MaybeTwoValuesShorthandProperty\<SpacingKeyword>>
170
+
171
+ Default: 'none'
172
+
173
+ Adjust spacing between elements.
174
+
175
+ `gap` can either accept:
176
+
177
+ * a single [SpacingKeyword](https://shopify.dev/docs/api/app-home/using-polaris-components#scale) value applied to both axes (e.g. `large-100`)
178
+ * OR a pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively
179
+ * OR a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported SpacingKeyword as a query value.
180
+
181
+ * inlineSize
182
+
183
+ SizeUnitsOrAuto
184
+
185
+ Default: 'auto'
186
+
187
+ Adjust the [inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).
188
+
189
+ * justifyContent
190
+
191
+ JustifyContentKeyword
192
+
193
+ Default: 'normal'
194
+
195
+ Aligns the Stack's children along the inline axis.
196
+
197
+ * maxBlockSize
198
+
199
+ SizeUnitsOrNone
200
+
201
+ Default: 'none'
202
+
203
+ Adjust the [maximum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).
204
+
205
+ * maxInlineSize
206
+
207
+ SizeUnitsOrNone
208
+
209
+ Default: 'none'
210
+
211
+ Adjust the [maximum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).
212
+
213
+ * minBlockSize
214
+
215
+ SizeUnits
216
+
217
+ Default: '0'
218
+
219
+ Adjust the [minimum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).
220
+
221
+ * minInlineSize
222
+
223
+ SizeUnits
224
+
225
+ Default: '0'
226
+
227
+ Adjust the [minimum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).
228
+
229
+ * overflow
230
+
231
+ "visible" | "hidden"
232
+
233
+ Default: 'visible'
234
+
235
+ Sets the overflow behavior of the element.
236
+
237
+ * `hidden`: clips the content when it is larger than the element’s container. The element will not be scrollable and the users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.
238
+ * `visible`: the content that extends beyond the element’s container is visible.
239
+
240
+ * padding
241
+
242
+ MaybeResponsive\<MaybeAllValuesShorthandProperty\<PaddingKeyword>>
243
+
244
+ Default: 'none'
245
+
246
+ Adjust the padding of all edges.
247
+
248
+ [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) is supported. Note that, contrary to the CSS, it uses flow-relative values and the order is:
249
+
250
+ * 4 values: `block-start inline-end block-end inline-start`
251
+ * 3 values: `block-start inline block-end`
252
+ * 2 values: `block inline`
253
+
254
+ For example:
255
+
256
+ * `large` means block-start, inline-end, block-end and inline-start paddings are `large`.
257
+ * `large none` means block-start and block-end paddings are `large`, inline-start and inline-end paddings are `none`.
258
+ * `large none large` means block-start padding is `large`, inline-end padding is `none`, block-end padding is `large` and inline-start padding is `none`.
259
+ * `large none large small` means block-start padding is `large`, inline-end padding is `none`, block-end padding is `large` and inline-start padding is `small`.
260
+
261
+ A padding value of `auto` will use the default padding for the closest container that has had its usual padding removed.
262
+
263
+ `padding` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
264
+
265
+ * paddingBlock
266
+
267
+ MaybeResponsive<"" | MaybeTwoValuesShorthandProperty\<PaddingKeyword>>
268
+
269
+ Default: '' - meaning no override
270
+
271
+ Adjust the block-padding.
272
+
273
+ * `large none` means block-start padding is `large`, block-end padding is `none`.
274
+
275
+ This overrides the block value of `padding`.
276
+
277
+ `paddingBlock` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
278
+
279
+ * paddingBlockEnd
280
+
281
+ MaybeResponsive<"" | PaddingKeyword>
282
+
283
+ Default: '' - meaning no override
284
+
285
+ Adjust the block-end padding.
286
+
287
+ This overrides the block-end value of `paddingBlock`.
288
+
289
+ `paddingBlockEnd` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
290
+
291
+ * paddingBlockStart
292
+
293
+ MaybeResponsive<"" | PaddingKeyword>
294
+
295
+ Default: '' - meaning no override
296
+
297
+ Adjust the block-start padding.
298
+
299
+ This overrides the block-start value of `paddingBlock`.
300
+
301
+ `paddingBlockStart` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
302
+
303
+ * paddingInline
304
+
305
+ MaybeResponsive<"" | MaybeTwoValuesShorthandProperty\<PaddingKeyword>>
306
+
307
+ Default: '' - meaning no override
308
+
309
+ Adjust the inline padding.
310
+
311
+ * `large none` means inline-start padding is `large`, inline-end padding is `none`.
312
+
313
+ This overrides the inline value of `padding`.
314
+
315
+ `paddingInline` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
316
+
317
+ * paddingInlineEnd
318
+
319
+ MaybeResponsive<"" | PaddingKeyword>
320
+
321
+ Default: '' - meaning no override
322
+
323
+ Adjust the inline-end padding.
324
+
325
+ This overrides the inline-end value of `paddingInline`.
326
+
327
+ `paddingInlineEnd` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
328
+
329
+ * paddingInlineStart
330
+
331
+ MaybeResponsive<"" | PaddingKeyword>
332
+
333
+ Default: '' - meaning no override
334
+
335
+ Adjust the inline-start padding.
336
+
337
+ This overrides the inline-start value of `paddingInline`.
338
+
339
+ `paddingInlineStart` also accepts a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported PaddingKeyword as a query value.
340
+
341
+ * rowGap
342
+
343
+ MaybeResponsive<"" | SpacingKeyword>
344
+
345
+ Default: '' - meaning no override
346
+
347
+ Adjust spacing between elements in the block axis.
348
+
349
+ This overrides the row value of `gap`. `rowGap` either accepts:
350
+
351
+ * a single [SpacingKeyword](https://shopify.dev/docs/api/app-home/using-polaris-components#scale) value (e.g. `large-100`)
352
+ * OR a [responsive value](https://shopify.dev/docs/api/app-home/using-polaris-components#responsive-values) string with the supported SpacingKeyword as a query value.
353
+
354
+ ### AccessibilityRole
355
+
356
+ ```ts
357
+ 'main' | 'header' | 'footer' | 'section' | 'aside' | 'navigation' | 'ordered-list' | 'list-item' | 'list-item-separator' | 'unordered-list' | 'separator' | 'status' | 'alert' | 'generic' | 'presentation' | 'none'
358
+ ```
359
+
360
+ ### AlignContentKeyword
361
+
362
+ Align content sets the distribution of space between and around content items along a flexbox's cross axis, or a grid or block-level element's block axis.
363
+
364
+ ```ts
365
+ 'normal' | BaselinePosition | ContentDistribution | OverflowPosition | ContentPosition
366
+ ```
367
+
368
+ ### BaselinePosition
369
+
370
+ ```ts
371
+ 'baseline' | 'first baseline' | 'last baseline'
372
+ ```
373
+
374
+ ### ContentDistribution
375
+
376
+ ```ts
377
+ 'space-between' | 'space-around' | 'space-evenly' | 'stretch'
378
+ ```
379
+
380
+ ### OverflowPosition
381
+
382
+ ```ts
383
+ `unsafe ${ContentPosition}` | `safe ${ContentPosition}`
384
+ ```
385
+
386
+ ### ContentPosition
387
+
388
+ ```ts
389
+ 'center' | 'start' | 'end'
390
+ ```
391
+
392
+ ### AlignItemsKeyword
393
+
394
+ Align items sets the align-self value on all direct children as a group.
395
+
396
+ ```ts
397
+ 'normal' | 'stretch' | BaselinePosition | OverflowPosition | ContentPosition
398
+ ```
399
+
400
+ ### BackgroundColorKeyword
401
+
402
+ ```ts
403
+ 'transparent' | ColorKeyword
404
+ ```
405
+
406
+ ### ColorKeyword
407
+
408
+ ```ts
409
+ 'subdued' | 'base' | 'strong'
410
+ ```
411
+
412
+ ### SizeUnitsOrAuto
413
+
414
+ ```ts
415
+ SizeUnits | 'auto'
416
+ ```
417
+
418
+ ### SizeUnits
419
+
420
+ ```ts
421
+ `${number}px` | `${number}%` | `0`
422
+ ```
423
+
424
+ ### BorderShorthand
425
+
426
+ Represents a shorthand for defining a border. It can be a combination of size, optionally followed by color, optionally followed by style.
427
+
428
+ ```ts
429
+ BorderSizeKeyword | `${BorderSizeKeyword} ${ColorKeyword}` | `${BorderSizeKeyword} ${ColorKeyword} ${BorderStyleKeyword}`
430
+ ```
431
+
432
+ ### BorderSizeKeyword
433
+
434
+ ```ts
435
+ SizeKeyword | 'none'
436
+ ```
437
+
438
+ ### SizeKeyword
439
+
440
+ ```ts
441
+ 'small-500' | 'small-400' | 'small-300' | 'small-200' | 'small-100' | 'small' | 'base' | 'large' | 'large-100' | 'large-200' | 'large-300' | 'large-400' | 'large-500'
442
+ ```
443
+
444
+ ### BorderStyleKeyword
445
+
446
+ ```ts
447
+ 'none' | 'solid' | 'dashed' | 'dotted' | 'auto'
448
+ ```
449
+
450
+ ### MaybeAllValuesShorthandProperty
451
+
452
+ ```ts
453
+ T | `${T} ${T}` | `${T} ${T} ${T}` | `${T} ${T} ${T} ${T}`
454
+ ```
455
+
456
+ ### BoxBorderRadii
457
+
458
+ ```ts
459
+ 'small' | 'small-200' | 'small-100' | 'base' | 'large' | 'large-100' | 'large-200' | 'none'
460
+ ```
461
+
462
+ ### BoxBorderStyles
463
+
464
+ ```ts
465
+ 'auto' | 'none' | 'solid' | 'dashed'
466
+ ```
467
+
468
+ ### MaybeResponsive
469
+
470
+ ```ts
471
+ T | `@container${string}`
472
+ ```
473
+
474
+ ### SpacingKeyword
475
+
476
+ ```ts
477
+ SizeKeyword | 'none'
478
+ ```
479
+
480
+ ### MaybeTwoValuesShorthandProperty
481
+
482
+ ```ts
483
+ T | `${T} ${T}`
484
+ ```
485
+
486
+ ### JustifyContentKeyword
487
+
488
+ Justify content defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container.
489
+
490
+ ```ts
491
+ 'normal' | ContentDistribution | OverflowPosition | ContentPosition
492
+ ```
493
+
494
+ ### SizeUnitsOrNone
495
+
496
+ ```ts
497
+ SizeUnits | 'none'
498
+ ```
499
+
500
+ ### PaddingKeyword
501
+
502
+ ```ts
503
+ SizeKeyword | 'none'
504
+ ```
505
+
506
+ ## Slots
507
+
508
+ * children
509
+
510
+ HTMLElement
511
+
512
+ The content of the Stack.
513
+
514
+ Examples
515
+
516
+ ### Examples
517
+
518
+ * #### Code
519
+
520
+ ##### jsx
521
+
522
+ ```jsx
523
+ <s-stack gap="base">
524
+ <s-badge>Paid</s-badge>
525
+ <s-badge>Processing</s-badge>
526
+ <s-badge>Filled</s-badge>
527
+ <s-badge>Completed</s-badge>
528
+ </s-stack>
529
+ ```
530
+
531
+ ##### html
532
+
533
+ ```html
534
+ <s-stack gap="base">
535
+ <s-badge>Paid</s-badge>
536
+ <s-badge>Processing</s-badge>
537
+ <s-badge>Filled</s-badge>
538
+ <s-badge>Completed</s-badge>
539
+ </s-stack>
540
+ ```
541
+
542
+ * #### Basic block stack (vertical)
543
+
544
+ ##### Description
545
+
546
+ Default vertical stacking layout with consistent spacing between text elements.
547
+
548
+ ##### jsx
549
+
550
+ ```jsx
551
+ <s-stack gap="base">
552
+ <s-text>First item</s-text>
553
+ <s-text>Second item</s-text>
554
+ <s-text>Third item</s-text>
555
+ </s-stack>
556
+ ```
557
+
558
+ ##### html
559
+
560
+ ```html
561
+ <s-stack gap="base">
562
+ <s-text>First item</s-text>
563
+ <s-text>Second item</s-text>
564
+ <s-text>Third item</s-text>
565
+ </s-stack>
566
+ ```
567
+
568
+ * #### Inline stack (horizontal)
569
+
570
+ ##### Description
571
+
572
+ Horizontal layout for arranging badges or similar elements side by side.
573
+
574
+ ##### jsx
575
+
576
+ ```jsx
577
+ <s-stack direction="inline" gap="large-100">
578
+ <s-badge>Item 1</s-badge>
579
+ <s-badge>Item 2</s-badge>
580
+ <s-badge>Item 3</s-badge>
581
+ </s-stack>
582
+ ```
583
+
584
+ ##### html
585
+
586
+ ```html
587
+ <s-stack direction="inline" gap="large-100">
588
+ <s-badge>Item 1</s-badge>
589
+ <s-badge>Item 2</s-badge>
590
+ <s-badge>Item 3</s-badge>
591
+ </s-stack>
592
+ ```
593
+
594
+ * #### Responsive stack with container queries
595
+
596
+ ##### Description
597
+
598
+ Advanced responsive layout that changes direction and spacing based on container size.
599
+
600
+ ##### jsx
601
+
602
+ ```jsx
603
+ <s-query-container>
604
+ <s-stack
605
+ direction="@container (inline-size > 500px) inline, block"
606
+ gap="@container (inline-size > 500px) base, small-300"
607
+ >
608
+ <s-box
609
+ padding="large-100"
610
+ borderColor="base"
611
+ borderWidth="small"
612
+ borderRadius="large-100"
613
+ >
614
+ Content 1
615
+ </s-box>
616
+ <s-box
617
+ padding="large-100"
618
+ borderColor="base"
619
+ borderWidth="small"
620
+ borderRadius="large-100"
621
+ >
622
+ Content 2
623
+ </s-box>
624
+ </s-stack>
625
+ </s-query-container>
626
+ ```
627
+
628
+ ##### html
629
+
630
+ ```html
631
+ <s-query-container>
632
+ <s-stack
633
+ direction="@container (inline-size > 500px) inline, block"
634
+ gap="@container (inline-size > 500px) base, small-300"
635
+ >
636
+ <s-box
637
+ padding="large-100"
638
+ borderColor="base"
639
+ borderWidth="small"
640
+ borderRadius="large-100"
641
+ >
642
+ Content 1
643
+ </s-box>
644
+ <s-box
645
+ padding="large-100"
646
+ borderColor="base"
647
+ borderWidth="small"
648
+ borderRadius="large-100"
649
+ >
650
+ Content 2
651
+ </s-box>
652
+ </s-stack>
653
+ </s-query-container>
654
+ ```
655
+
656
+ * #### Custom alignment
657
+
658
+ ##### Description
659
+
660
+ Horizontal stack with space-between justification and center alignment for balanced layouts.
661
+
662
+ ##### jsx
663
+
664
+ ```jsx
665
+ <s-stack direction="inline" justifyContent="space-between" alignItems="center">
666
+ <s-text>Left aligned</s-text>
667
+ <s-text>Centered text</s-text>
668
+ <s-text>Right aligned</s-text>
669
+ </s-stack>
670
+ ```
671
+
672
+ ##### html
673
+
674
+ ```html
675
+ <s-stack direction="inline" justifyContent="space-between" alignItems="center">
676
+ <s-text>Left aligned</s-text>
677
+ <s-text>Centered text</s-text>
678
+ <s-text>Right aligned</s-text>
679
+ </s-stack>
680
+ ```
681
+
682
+ * #### Custom spacing
683
+
684
+ ##### Description
685
+
686
+ Stack with custom gap values and separate row/column gap controls for precise spacing.
687
+
688
+ ##### jsx
689
+
690
+ ```jsx
691
+ <s-stack gap="large-100 large-500" rowGap="large-300" columnGap="large-200">
692
+ <s-box
693
+ padding="large-100"
694
+ borderColor="base"
695
+ borderWidth="small"
696
+ borderRadius="large-100"
697
+ >
698
+ Box with custom spacing
699
+ </s-box>
700
+ <s-box
701
+ padding="large-100"
702
+ borderColor="base"
703
+ borderWidth="small"
704
+ borderRadius="large-100"
705
+ >
706
+ Another box
707
+ </s-box>
708
+ </s-stack>
709
+ ```
710
+
711
+ ##### html
712
+
713
+ ```html
714
+ <s-stack gap="large-100 large-500" rowGap="large-300" columnGap="large-200">
715
+ <s-box
716
+ padding="large-100"
717
+ borderColor="base"
718
+ borderWidth="small"
719
+ borderRadius="large-100"
720
+ >
721
+ Box with custom spacing
722
+ </s-box>
723
+ <s-box
724
+ padding="large-100"
725
+ borderColor="base"
726
+ borderWidth="small"
727
+ borderRadius="large-100"
728
+ >
729
+ Another box
730
+ </s-box>
731
+ </s-stack>
732
+ ```
733
+
734
+ ## Useful for
735
+
736
+ * Placing non-form items in rows or columns when sections don't work for your layout.
737
+ * Controlling the spacing between elements.
738
+ * For form layouts where you need multiple input fields on the same row, use `s-grid` instead.
739
+
740
+ ## Considerations
741
+
742
+ * Stack doesn't add any padding by default. If you want padding around your stacked elements, use `base` to apply the default padding.
743
+ * When spacing becomes limited, Stack will always wrap children to a new line.
744
+
745
+ ## Best practices
746
+
747
+ * Use smaller gaps between small elements and larger gaps between big ones.
748
+ * Maintain consistent spacing in stacks across all pages of your app.