@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
@@ -0,0 +1,201 @@
1
+ ---
2
+ title: Heading
3
+ description: >-
4
+ Renders hierarchical titles to communicate the structure and organization of
5
+ page content. Heading levels adjust automatically based on nesting within
6
+ parent Section components, ensuring a meaningful and accessible page outline.
7
+ api_name: app-home
8
+ source_url:
9
+ html: >-
10
+ https://shopify.dev/docs/api/app-home/polaris-web-components/titles-and-text/heading
11
+ md: >-
12
+ https://shopify.dev/docs/api/app-home/polaris-web-components/titles-and-text/heading.md
13
+ ---
14
+
15
+ # Heading
16
+
17
+ Renders hierarchical titles to communicate the structure and organization of page content. Heading levels adjust automatically based on nesting within parent Section components, ensuring a meaningful and accessible page outline.
18
+
19
+ ## Properties
20
+
21
+ * accessibilityRole
22
+
23
+ "none" | "presentation" | "heading"
24
+
25
+ Default: 'heading'
26
+
27
+ 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.
28
+
29
+ * `heading`: defines the element as a heading to a page or section.
30
+ * `presentation`: the heading level will be stripped, and will prevent the element’s implicit ARIA semantics from being exposed to the accessibility tree.
31
+ * `none`: a synonym for the `presentation` role.
32
+
33
+ * accessibilityVisibility
34
+
35
+ "visible" | "hidden" | "exclusive"
36
+
37
+ Default: 'visible'
38
+
39
+ Changes the visibility of the element.
40
+
41
+ * `visible`: the element is visible to all users.
42
+ * `hidden`: the element is removed from the accessibility tree but remains visible.
43
+ * `exclusive`: the element is visually hidden but remains in the accessibility tree.
44
+
45
+ * lineClamp
46
+
47
+ number
48
+
49
+ Default: Infinity - no truncation is applied
50
+
51
+ Truncates the text content to the specified number of lines.
52
+
53
+ ## Slots
54
+
55
+ * children
56
+
57
+ HTMLElement
58
+
59
+ The content of the Heading.
60
+
61
+ Examples
62
+
63
+ ### Examples
64
+
65
+ * #### Code
66
+
67
+ ##### jsx
68
+
69
+ ```jsx
70
+ <s-heading>Online store dashboard</s-heading>
71
+ ```
72
+
73
+ ##### html
74
+
75
+ ```html
76
+ <s-heading>Online store dashboard</s-heading>
77
+ ```
78
+
79
+ * #### Basic heading
80
+
81
+ ##### Description
82
+
83
+ Standard heading for section titles and page content organization that creates a simple, clean title for a content section.
84
+
85
+ ##### jsx
86
+
87
+ ```jsx
88
+ <s-heading>Product details</s-heading>
89
+ ```
90
+
91
+ ##### html
92
+
93
+ ```html
94
+ <s-heading>Product details</s-heading>
95
+ ```
96
+
97
+ * #### Heading with line clamping
98
+
99
+ ##### Description
100
+
101
+ Truncated heading that limits text to a specified number of lines, using ellipsis to indicate additional content for long product names or constrained layouts.
102
+
103
+ ##### jsx
104
+
105
+ ```jsx
106
+ <s-box inlineSize="200px">
107
+ <s-heading lineClamp={2}>
108
+ Premium organic cotton t-shirt with sustainable manufacturing practices
109
+ </s-heading>
110
+ </s-box>
111
+ ```
112
+
113
+ ##### html
114
+
115
+ ```html
116
+ <s-box inlineSize="200px">
117
+ <s-heading lineClamp="2">
118
+ Premium organic cotton t-shirt with sustainable manufacturing practices
119
+ </s-heading>
120
+ </s-box>
121
+ ```
122
+
123
+ * #### Heading with custom accessibility
124
+
125
+ ##### Description
126
+
127
+ Heading configured with custom ARIA roles and visibility settings to meet specific accessibility requirements or design constraints.
128
+
129
+ ##### jsx
130
+
131
+ ```jsx
132
+ <s-heading accessibilityRole="presentation" accessibilityVisibility="hidden">
133
+ Sale badge
134
+ </s-heading>
135
+ ```
136
+
137
+ ##### html
138
+
139
+ ```html
140
+ <s-heading accessibilityRole="presentation" accessibilityVisibility="hidden">
141
+ Sale badge
142
+ </s-heading>
143
+ ```
144
+
145
+ * #### Heading within section hierarchy
146
+
147
+ ##### Description
148
+
149
+ Demonstrates nested heading structure that automatically adjusts heading levels (h2, h3, h4) based on the current section depth, ensuring proper semantic document structure.
150
+
151
+ ##### jsx
152
+
153
+ ```jsx
154
+ <s-section>
155
+ <s-heading>Order information</s-heading>
156
+ {/* Renders as h2 */}
157
+ <s-section>
158
+ <s-heading>Shipping details</s-heading>
159
+ {/* Renders as h3 */}
160
+ <s-section>
161
+ <s-heading>Tracking updates</s-heading>
162
+ {/* Renders as h4 */}
163
+ </s-section>
164
+ </s-section>
165
+ </s-section>
166
+ ```
167
+
168
+ ##### html
169
+
170
+ ```html
171
+ <s-section>
172
+ <s-heading>Order information</s-heading>
173
+ <!-- Renders as h2 -->
174
+ <s-section>
175
+ <s-heading>Shipping details</s-heading>
176
+ <!-- Renders as h3 -->
177
+ <s-section>
178
+ <s-heading>Tracking updates</s-heading>
179
+ <!-- Renders as h4 -->
180
+ </s-section>
181
+ </s-section>
182
+ </s-section>
183
+ ```
184
+
185
+ ## Useful for
186
+
187
+ * Creating titles and subtitles for your content that are consistent across your app.
188
+ * Helping users with visual impairments navigate through content effectively using assistive technologies like screen readers.
189
+
190
+ ## Considerations
191
+
192
+ * The level of the heading is automatically determined by how deeply it's nested inside other components, starting from h2.
193
+ * Default to using the `heading` property in `s-section`. The `s-heading` component should only be used if you need to implement a custom layout for your heading in the UI.
194
+
195
+ ## Best practices
196
+
197
+ * Use short headings to make your content scannable.
198
+ * Use plain and clear terms.
199
+ * Don't use jargon or technical language.
200
+ * Don't use different terms to describe the same thing.
201
+ * Don't duplicate content.
package/docs/icon.md ADDED
@@ -0,0 +1,295 @@
1
+ ---
2
+ title: Icon
3
+ description: >-
4
+ Renders a graphic symbol to visually communicate core parts of the product and
5
+ available actions. Icons can act as wayfinding tools to help users quickly
6
+ understand their location within the interface and common interaction
7
+ patterns.
8
+ api_name: app-home
9
+ source_url:
10
+ html: 'https://shopify.dev/docs/api/app-home/polaris-web-components/media/icon'
11
+ md: 'https://shopify.dev/docs/api/app-home/polaris-web-components/media/icon.md'
12
+ ---
13
+
14
+ # Icon
15
+
16
+ Renders a graphic symbol to visually communicate core parts of the product and available actions. Icons can act as wayfinding tools to help users quickly understand their location within the interface and common interaction patterns.
17
+
18
+ ## Properties
19
+
20
+ * color
21
+
22
+ "base" | "subdued"
23
+
24
+ Default: 'base'
25
+
26
+ Modify the color to be more or less intense.
27
+
28
+ * interestFor
29
+
30
+ string
31
+
32
+ ID of a component that should respond to interest (e.g. hover and focus) on this component.
33
+
34
+ * size
35
+
36
+ "small" | "base"
37
+
38
+ Default: 'base'
39
+
40
+ Adjusts the size of the icon.
41
+
42
+ * tone
43
+
44
+ "info" | "success" | "warning" | "critical" | "auto" | "neutral" | "caution"
45
+
46
+ Default: 'auto'
47
+
48
+ Sets the tone of the icon, based on the intention of the information being conveyed.
49
+
50
+ * type
51
+
52
+ "" | "replace" | "search" | "split" | "link" | "edit" | "product" | "variant" | "collection" | "select" | "info" | "incomplete" | "complete" | "color" | "money" | "adjust" | "affiliate" | "airplane" | "alert-bubble" | "alert-circle" | "alert-diamond" | "alert-location" | "alert-octagon" | "alert-octagon-filled" | "alert-triangle" | "alert-triangle-filled" | "app-extension" | "apps" | "archive" | "arrow-down" | "arrow-down-circle" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up" | "arrow-up-circle" | "arrow-up-right" | "arrows-in-horizontal" | "arrows-out-horizontal" | "asterisk" | "attachment" | "automation" | "backspace" | "bag" | "bank" | "barcode" | "battery-low" | "bill" | "blank" | "blog" | "bolt" | "bolt-filled" | "book" | "book-open" | "bug" | "bullet" | "business-entity" | "button" | "button-press" | "calculator" | "calendar" | "calendar-check" | "calendar-compare" | "calendar-list" | "calendar-time" | "camera" | "camera-flip" | "caret-down" | "caret-left" | "caret-right" | "caret-up" | "cart" | "cart-abandoned" | "cart-discount" | "cart-down" | "cart-filled" | "cart-sale" | "cart-send" | "cart-up" | "cash-dollar" | "cash-euro" | "cash-pound" | "cash-rupee" | "cash-yen" | "catalog-product" | "categories" | "channels" | "chart-cohort" | "chart-donut" | "chart-funnel" | "chart-histogram-first" | "chart-histogram-first-last" | "chart-histogram-flat" | "chart-histogram-full" | "chart-histogram-growth" | "chart-histogram-last" | "chart-histogram-second-last" | "chart-horizontal" | "chart-line" | "chart-popular" | "chart-stacked" | "chart-vertical" | "chat" | "chat-new" | "chat-referral" | "check" | "check-circle" | "check-circle-filled" | "checkbox" | "chevron-down" | "chevron-down-circle" | "chevron-left" | "chevron-left-circle" | "chevron-right" | "chevron-right-circle" | "chevron-up" | "chevron-up-circle" | "circle" | "circle-dashed" | "clipboard" | "clipboard-check" | "clipboard-checklist" | "clock" | "clock-list" | "clock-revert" | "code" | "code-add" | "collection-featured" | "collection-list" | "collection-reference" | "color-none" | "compass" | "compose" | "confetti" | "connect" | "content" | "contract" | "corner-pill" | "corner-round" | "corner-square" | "credit-card" | "credit-card-cancel" | "credit-card-percent" | "credit-card-reader" | "credit-card-reader-chip" | "credit-card-reader-tap" | "credit-card-secure" | "credit-card-tap-chip" | "crop" | "currency-convert" | "cursor" | "cursor-banner" | "cursor-option" | "data-presentation" | "data-table" | "database" | "database-add" | "database-connect" | "delete" | "delivered" | "delivery" | "desktop" | "disabled" | "disabled-filled" | "discount" | "discount-add" | "discount-automatic" | "discount-code" | "discount-remove" | "dns-settings" | "dock-floating" | "dock-side" | "domain" | "domain-landing-page" | "domain-new" | "domain-redirect" | "download" | "drag-drop" | "drag-handle" | "drawer" | "duplicate" | "email" | "email-follow-up" | "email-newsletter" | "empty" | "enabled" | "enter" | "envelope" | "envelope-soft-pack" | "eraser" | "exchange" | "exit" | "export" | "external" | "eye-check-mark" | "eye-dropper" | "eye-dropper-list" | "eye-first" | "eyeglasses" | "fav" | "favicon" | "file" | "file-list" | "filter" | "filter-active" | "flag" | "flip-horizontal" | "flip-vertical" | "flower" | "folder" | "folder-add" | "folder-down" | "folder-remove" | "folder-up" | "food" | "foreground" | "forklift" | "forms" | "games" | "gauge" | "geolocation" | "gift" | "gift-card" | "git-branch" | "git-commit" | "git-repository" | "globe" | "globe-asia" | "globe-europe" | "globe-lines" | "globe-list" | "graduation-hat" | "grid" | "hashtag" | "hashtag-decimal" | "hashtag-list" | "heart" | "hide" | "hide-filled" | "home" | "home-filled" | "icons" | "identity-card" | "image" | "image-add" | "image-alt" | "image-explore" | "image-magic" | "image-none" | "image-with-text-overlay" | "images" | "import" | "in-progress" | "incentive" | "incoming" | "info-filled" | "inheritance" | "inventory" | "inventory-edit" | "inventory-list" | "inventory-transfer" | "inventory-updated" | "iq" | "key" | "keyboard" | "keyboard-filled" | "keyboard-hide" | "keypad" | "label-printer" | "language" | "language-translate" | "layout-block" | "layout-buy-button" | "layout-buy-button-horizontal" | "layout-buy-button-vertical" | "layout-column-1" | "layout-columns-2" | "layout-columns-3" | "layout-footer" | "layout-header" | "layout-logo-block" | "layout-popup" | "layout-rows-2" | "layout-section" | "layout-sidebar-left" | "layout-sidebar-right" | "lightbulb" | "link-list" | "list-bulleted" | "list-bulleted-filled" | "list-numbered" | "live" | "live-critical" | "live-none" | "location" | "location-none" | "lock" | "map" | "markets" | "markets-euro" | "markets-rupee" | "markets-yen" | "maximize" | "measurement-size" | "measurement-size-list" | "measurement-volume" | "measurement-volume-list" | "measurement-weight" | "measurement-weight-list" | "media-receiver" | "megaphone" | "mention" | "menu" | "menu-filled" | "menu-horizontal" | "menu-vertical" | "merge" | "metafields" | "metaobject" | "metaobject-list" | "metaobject-reference" | "microphone" | "microphone-muted" | "minimize" | "minus" | "minus-circle" | "mobile" | "money-none" | "money-split" | "moon" | "nature" | "note" | "note-add" | "notification" | "number-one" | "order" | "order-batches" | "order-draft" | "order-filled" | "order-first" | "order-fulfilled" | "order-repeat" | "order-unfulfilled" | "orders-status" | "organization" | "outdent" | "outgoing" | "package" | "package-cancel" | "package-fulfilled" | "package-on-hold" | "package-reassign" | "package-returned" | "page" | "page-add" | "page-attachment" | "page-clock" | "page-down" | "page-heart" | "page-list" | "page-reference" | "page-remove" | "page-report" | "page-up" | "pagination-end" | "pagination-start" | "paint-brush-flat" | "paint-brush-round" | "paper-check" | "partially-complete" | "passkey" | "paste" | "pause-circle" | "payment" | "payment-capture" | "payout" | "payout-dollar" | "payout-euro" | "payout-pound" | "payout-rupee" | "payout-yen" | "person" | "person-add" | "person-exit" | "person-filled" | "person-list" | "person-lock" | "person-remove" | "person-segment" | "personalized-text" | "phablet" | "phone" | "phone-down" | "phone-down-filled" | "phone-in" | "phone-out" | "pin" | "pin-remove" | "plan" | "play" | "play-circle" | "plus" | "plus-circle" | "plus-circle-down" | "plus-circle-filled" | "plus-circle-up" | "point-of-sale" | "point-of-sale-register" | "price-list" | "print" | "product-add" | "product-cost" | "product-filled" | "product-list" | "product-reference" | "product-remove" | "product-return" | "product-unavailable" | "profile" | "profile-filled" | "question-circle" | "question-circle-filled" | "radio-control" | "receipt" | "receipt-dollar" | "receipt-euro" | "receipt-folded" | "receipt-paid" | "receipt-pound" | "receipt-refund" | "receipt-rupee" | "receipt-yen" | "receivables" | "redo" | "referral-code" | "refresh" | "remove-background" | "reorder" | "replay" | "reset" | "return" | "reward" | "rocket" | "rotate-left" | "rotate-right" | "sandbox" | "save" | "savings" | "scan-qr-code" | "search-add" | "search-list" | "search-recent" | "search-resource" | "send" | "settings" | "share" | "shield-check-mark" | "shield-none" | "shield-pending" | "shield-person" | "shipping-label" | "shipping-label-cancel" | "shopcodes" | "slideshow" | "smiley-happy" | "smiley-joy" | "smiley-neutral" | "smiley-sad" | "social-ad" | "social-post" | "sort" | "sort-ascending" | "sort-descending" | "sound" | "sports" | "star" | "star-circle" | "star-filled" | "star-half" | "star-list" | "status" | "status-active" | "stop-circle" | "store" | "store-import" | "store-managed" | "store-online" | "sun" | "table" | "table-masonry" | "tablet" | "target" | "tax" | "team" | "text" | "text-align-center" | "text-align-left" | "text-align-right" | "text-block" | "text-bold" | "text-color" | "text-font" | "text-font-list" | "text-grammar" | "text-in-columns" | "text-in-rows" | "text-indent" | "text-indent-remove" | "text-italic" | "text-quote" | "text-title" | "text-underline" | "text-with-image" | "theme" | "theme-edit" | "theme-store" | "theme-template" | "three-d-environment" | "thumbs-down" | "thumbs-up" | "tip-jar" | "toggle-off" | "toggle-on" | "transaction" | "transaction-fee-add" | "transaction-fee-dollar" | "transaction-fee-euro" | "transaction-fee-pound" | "transaction-fee-rupee" | "transaction-fee-yen" | "transfer" | "transfer-in" | "transfer-internal" | "transfer-out" | "truck" | "undo" | "unknown-device" | "unlock" | "upload" | "variant-list" | "video" | "video-list" | "view" | "viewport-narrow" | "viewport-short" | "viewport-tall" | "viewport-wide" | "wallet" | "wand" | "watch" | "wifi" | "work" | "work-list" | "wrench" | "x" | "x-circle" | "x-circle-filled"
53
+
54
+ Specifies the type of icon that will be displayed.
55
+
56
+ Examples
57
+
58
+ ### Examples
59
+
60
+ * #### Code
61
+
62
+ ##### jsx
63
+
64
+ ```jsx
65
+ <s-stack direction="inline" gap="base">
66
+ <s-icon type="home" />
67
+ <s-icon type="order" />
68
+ <s-icon type="product" />
69
+ <s-icon type="settings" />
70
+ </s-stack>
71
+ ```
72
+
73
+ ##### html
74
+
75
+ ```html
76
+ <s-stack direction="inline" gap="base">
77
+ <s-icon type="home"></s-icon>
78
+ <s-icon type="order"></s-icon>
79
+ <s-icon type="product"></s-icon>
80
+ <s-icon type="settings"></s-icon>
81
+ </s-stack>
82
+ ```
83
+
84
+ * #### Basic usage
85
+
86
+ ##### Description
87
+
88
+ Standard icons for common merchant interface actions and navigation. Demonstrates rendering multiple icons in an inline stack, showing different types of icons used for navigation and actions.
89
+
90
+ ##### jsx
91
+
92
+ ```jsx
93
+ <s-stack direction="inline" gap="base">
94
+ <s-icon type="home" />
95
+ <s-icon type="edit" />
96
+ <s-icon type="duplicate" />
97
+ <s-icon type="save" />
98
+ <s-icon type="export" />
99
+ </s-stack>
100
+ ```
101
+
102
+ ##### html
103
+
104
+ ```html
105
+ <s-stack direction="inline" gap="base">
106
+ <s-icon type="home"></s-icon>
107
+ <s-icon type="edit"></s-icon>
108
+ <s-icon type="duplicate"></s-icon>
109
+ <s-icon type="save"></s-icon>
110
+ <s-icon type="export"></s-icon>
111
+ </s-stack>
112
+ ```
113
+
114
+ * #### With semantic tone
115
+
116
+ ##### Description
117
+
118
+ Icons with color-coded tones to convey status and semantic meaning.
119
+
120
+ ##### jsx
121
+
122
+ ```jsx
123
+ <s-stack direction="inline" gap="base">
124
+ <s-icon type="alert-circle" tone="warning" />
125
+ <s-icon type="check-circle" tone="success" />
126
+ <s-icon type="info" tone="info" />
127
+ <s-icon type="alert-triangle" tone="caution" />
128
+ </s-stack>
129
+ ```
130
+
131
+ ##### html
132
+
133
+ ```html
134
+ <s-stack direction="inline" gap="base">
135
+ <s-icon type="alert-circle" tone="warning"></s-icon>
136
+ <s-icon type="check-circle" tone="success"></s-icon>
137
+ <s-icon type="info" tone="info"></s-icon>
138
+ <s-icon type="alert-triangle" tone="caution"></s-icon>
139
+ </s-stack>
140
+ ```
141
+
142
+ * #### Small size
143
+
144
+ ##### Description
145
+
146
+ Compact icon sizing for space-constrained interfaces and inline usage. Shows how to render a small-sized icon that takes up minimal space while maintaining clarity.
147
+
148
+ ##### jsx
149
+
150
+ ```jsx
151
+ <s-icon type="search" size="small" />
152
+ ```
153
+
154
+ ##### html
155
+
156
+ ```html
157
+ <s-icon type="search" size="small"></s-icon>
158
+ ```
159
+
160
+ * #### Subdued color
161
+
162
+ ##### Description
163
+
164
+ Lower contrast icon for secondary actions and supporting information.
165
+
166
+ ##### jsx
167
+
168
+ ```jsx
169
+ <s-icon type="question-circle" color="subdued" />
170
+ ```
171
+
172
+ ##### html
173
+
174
+ ```html
175
+ <s-icon type="question-circle" color="subdued"></s-icon>
176
+ ```
177
+
178
+ * #### With id property
179
+
180
+ ##### Description
181
+
182
+ Icon with unique identifier for JavaScript targeting and styling. Demonstrates adding a specific ID to an icon, which can be used for JavaScript interactions, CSS styling, or accessibility purposes.
183
+
184
+ ##### jsx
185
+
186
+ ```jsx
187
+ <s-icon type="settings" id="settings-icon" />
188
+ ```
189
+
190
+ ##### html
191
+
192
+ ```html
193
+ <s-icon type="settings" id="settings-icon"></s-icon>
194
+ ```
195
+
196
+ * #### With interest relationship
197
+
198
+ ##### Description
199
+
200
+ Icon associated with interactive elements for enhanced accessibility context.
201
+
202
+ ##### jsx
203
+
204
+ ```jsx
205
+ <>
206
+ <s-tooltip id="info-tooltip">
207
+ SKU must be unique across all products and cannot be changed after creation
208
+ </s-tooltip>
209
+ <s-icon type="info" tone="info" interestFor="info-tooltip" />
210
+ </>
211
+ ```
212
+
213
+ ##### html
214
+
215
+ ```html
216
+ <s-tooltip id="info-tooltip">
217
+ SKU must be unique across all products and cannot be changed after creation
218
+ </s-tooltip>
219
+ <s-icon type="info" tone="info" interestFor="info-tooltip" />
220
+ ```
221
+
222
+ * #### In button components
223
+
224
+ ##### Description
225
+
226
+ Icons integrated within button components for clear action identification. Shows how icons can be added to buttons to visually reinforce the button's action, using both positive (add) and negative (delete) tones.
227
+
228
+ ##### jsx
229
+
230
+ ```jsx
231
+ <s-button-group>
232
+ <s-button slot="secondary-actions" icon="plus">
233
+ Add product
234
+ </s-button>
235
+ <s-button slot="secondary-actions" icon="delete" tone="critical">
236
+ Delete
237
+ </s-button>
238
+ </s-button-group>
239
+ ```
240
+
241
+ ##### html
242
+
243
+ ```html
244
+ <s-button-group>
245
+ <s-button slot="secondary-actions" icon="plus">Add product</s-button>
246
+ <s-button slot="secondary-actions" icon="delete" tone="critical">
247
+ Delete
248
+ </s-button>
249
+ </s-button-group>
250
+ ```
251
+
252
+ * #### In badge components
253
+
254
+ ##### Description
255
+
256
+ Icons combined with badges to enhance status communication and visual hierarchy. Demonstrates using icons with badges to provide visual status indicators, using success and warning tones to convey different states.
257
+
258
+ ##### jsx
259
+
260
+ ```jsx
261
+ <s-stack direction="inline" gap="base">
262
+ <s-badge tone="success" icon="check-circle">
263
+ Active
264
+ </s-badge>
265
+ <s-badge tone="warning" icon="alert-triangle">
266
+ Pending
267
+ </s-badge>
268
+ </s-stack>
269
+ ```
270
+
271
+ ##### html
272
+
273
+ ```html
274
+ <s-stack direction="inline" gap="base">
275
+ <s-badge tone="success" icon="check-circle">Active</s-badge>
276
+ <s-badge tone="warning" icon="alert-triangle">Pending</s-badge>
277
+ </s-stack>
278
+ ```
279
+
280
+ ## Available icons
281
+
282
+ Search and filter across all the available icons:
283
+
284
+ ## Useful for
285
+
286
+ * Orienting themselves and understanding available actions
287
+ * Quickly identifying information and recognizing patterns
288
+
289
+ ## Best practices
290
+
291
+ Icons should:
292
+
293
+ * Use the same icon consistently for the same meaning
294
+ * Appear next to related text labels
295
+ * Only be used when their meaning is clear