@shopify/ui-extensions 2025.10.0-rc.6 → 2025.10.0-rc.7

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 (253) hide show
  1. package/build/ts/docs/shared/components/Map.d.ts +4 -0
  2. package/build/ts/docs/shared/components/Map.d.ts.map +1 -0
  3. package/build/ts/docs/shared/components/MapMarker.d.ts +4 -0
  4. package/build/ts/docs/shared/components/MapMarker.d.ts.map +1 -0
  5. package/build/ts/docs/shared/components/Modal.d.ts +4 -0
  6. package/build/ts/docs/shared/components/Modal.d.ts.map +1 -0
  7. package/build/ts/docs/shared/components/Option.d.ts +4 -0
  8. package/build/ts/docs/shared/components/Option.d.ts.map +1 -0
  9. package/build/ts/docs/shared/components/PhoneField.d.ts +4 -0
  10. package/build/ts/docs/shared/components/PhoneField.d.ts.map +1 -0
  11. package/build/ts/docs/shared/components/ProductThumbnail.d.ts +4 -0
  12. package/build/ts/docs/shared/components/ProductThumbnail.d.ts.map +1 -0
  13. package/build/ts/surfaces/admin/components/patterns/details.ab.doc.d.ts +4 -0
  14. package/build/ts/surfaces/admin/components/patterns/details.ab.doc.d.ts.map +1 -0
  15. package/build/ts/surfaces/admin/components/patterns/homepage.ab.doc.d.ts +4 -0
  16. package/build/ts/surfaces/admin/components/patterns/homepage.ab.doc.d.ts.map +1 -0
  17. package/build/ts/surfaces/admin/components/patterns/index.ab.doc.d.ts +4 -0
  18. package/build/ts/surfaces/admin/components/patterns/index.ab.doc.d.ts.map +1 -0
  19. package/build/ts/surfaces/admin/components/patterns/settings.ab.doc.d.ts +4 -0
  20. package/build/ts/surfaces/admin/components/patterns/settings.ab.doc.d.ts.map +1 -0
  21. package/build/ts/surfaces/checkout/components/Abbreviation.d.ts +20 -8
  22. package/build/ts/surfaces/checkout/components/Banner/Banner.doc.d.ts.map +1 -1
  23. package/build/ts/surfaces/checkout/components/Banner.d.ts +52 -13
  24. package/build/ts/surfaces/checkout/components/Box.d.ts +20 -9
  25. package/build/ts/surfaces/checkout/components/Button/Button.doc.d.ts.map +1 -1
  26. package/build/ts/surfaces/checkout/components/Button.d.ts +39 -13
  27. package/build/ts/surfaces/checkout/components/Checkbox/Checkbox.doc.d.ts +4 -0
  28. package/build/ts/surfaces/checkout/components/Checkbox/Checkbox.doc.d.ts.map +1 -0
  29. package/build/ts/surfaces/checkout/components/Checkbox.d.ts +54 -0
  30. package/build/ts/surfaces/checkout/components/ClipboardItem.d.ts +36 -9
  31. package/build/ts/surfaces/checkout/components/DropZone/DropZone.doc.d.ts.map +1 -1
  32. package/build/ts/surfaces/checkout/components/DropZone.d.ts +36 -9
  33. package/build/ts/surfaces/checkout/components/EmailField/EmailField.doc.d.ts +4 -0
  34. package/build/ts/surfaces/checkout/components/EmailField/EmailField.doc.d.ts.map +1 -0
  35. package/build/ts/surfaces/checkout/components/EmailField.d.ts +69 -0
  36. package/build/ts/surfaces/checkout/components/Form.d.ts +40 -12
  37. package/build/ts/surfaces/checkout/components/Heading.d.ts +20 -8
  38. package/build/ts/surfaces/checkout/components/Icon.d.ts +22 -9
  39. package/build/ts/surfaces/checkout/components/Image.d.ts +13 -7
  40. package/build/ts/surfaces/checkout/components/Link/Link.doc.d.ts.map +1 -1
  41. package/build/ts/surfaces/checkout/components/Link.d.ts +39 -13
  42. package/build/ts/surfaces/checkout/components/ListItem.d.ts +22 -10
  43. package/build/ts/surfaces/checkout/components/Map/Map.doc.d.ts +4 -0
  44. package/build/ts/surfaces/checkout/components/Map/Map.doc.d.ts.map +1 -0
  45. package/build/ts/surfaces/checkout/components/Map.d.ts +75 -0
  46. package/build/ts/surfaces/checkout/components/MapMarker.d.ts +73 -0
  47. package/build/ts/surfaces/checkout/components/Modal/Modal.doc.d.ts +4 -0
  48. package/build/ts/surfaces/checkout/components/Modal/Modal.doc.d.ts.map +1 -0
  49. package/build/ts/surfaces/checkout/components/Modal.d.ts +87 -0
  50. package/build/ts/surfaces/checkout/components/OrderedList.d.ts +20 -8
  51. package/build/ts/surfaces/checkout/components/Paragraph.d.ts +20 -8
  52. package/build/ts/surfaces/checkout/components/PaymentIcon.d.ts +14 -7
  53. package/build/ts/surfaces/checkout/components/PhoneField/PhoneField.doc.d.ts +4 -0
  54. package/build/ts/surfaces/checkout/components/PhoneField/PhoneField.doc.d.ts.map +1 -0
  55. package/build/ts/surfaces/checkout/components/PhoneField.d.ts +84 -0
  56. package/build/ts/surfaces/checkout/components/ProductThumbnail/ProductThumbnail.doc.d.ts +4 -0
  57. package/build/ts/surfaces/checkout/components/ProductThumbnail/ProductThumbnail.doc.d.ts.map +1 -0
  58. package/build/ts/surfaces/checkout/components/Progress.d.ts +14 -4
  59. package/build/ts/surfaces/checkout/components/QRCode/QRCode.doc.d.ts.map +1 -1
  60. package/build/ts/surfaces/checkout/components/QRCode.d.ts +32 -8
  61. package/build/ts/surfaces/checkout/components/Section.d.ts +20 -8
  62. package/build/ts/surfaces/checkout/components/Spinner.d.ts +14 -4
  63. package/build/ts/surfaces/checkout/components/Stack.d.ts +20 -9
  64. package/build/ts/surfaces/checkout/components/Text.d.ts +20 -8
  65. package/build/ts/surfaces/checkout/components/TextArea/TextArea.doc.d.ts +4 -0
  66. package/build/ts/surfaces/checkout/components/TextArea/TextArea.doc.d.ts.map +1 -0
  67. package/build/ts/surfaces/checkout/components/TextArea.d.ts +69 -0
  68. package/build/ts/surfaces/checkout/components/TextField/TextField.doc.d.ts.map +1 -1
  69. package/build/ts/surfaces/checkout/components/TextField.d.ts +72 -21
  70. package/build/ts/surfaces/checkout/components/Time.d.ts +20 -8
  71. package/build/ts/surfaces/checkout/components/UnorderedList.d.ts +20 -8
  72. package/build/ts/surfaces/checkout/components/components-shared.d.ts +486 -2
  73. package/build/ts/surfaces/checkout/components/components.d.ts +1000 -166
  74. package/build/ts/surfaces/checkout/shared.d.ts +1 -1
  75. package/build/ts/surfaces/checkout/shared.d.ts.map +1 -1
  76. package/build/ts/surfaces/checkout/targets/Checkout::Actions::RenderBefore.d.ts +918 -172
  77. package/build/ts/surfaces/checkout/targets/Checkout::CartLineDetails::RenderAfter.d.ts +918 -172
  78. package/build/ts/surfaces/checkout/targets/Checkout::CartLineDetails::RenderLineComponents.d.ts +918 -172
  79. package/build/ts/surfaces/checkout/targets/Checkout::CartLines::RenderAfter.d.ts +918 -172
  80. package/build/ts/surfaces/checkout/targets/Checkout::Contact::RenderAfter.d.ts +918 -172
  81. package/build/ts/surfaces/checkout/targets/Checkout::CustomerInformation::RenderAfter.d.ts +918 -172
  82. package/build/ts/surfaces/checkout/targets/Checkout::DeliveryAddress::RenderBefore.d.ts +918 -172
  83. package/build/ts/surfaces/checkout/targets/Checkout::Dynamic::Render.d.ts +918 -172
  84. package/build/ts/surfaces/checkout/targets/Checkout::GiftCard::Render.d.ts +863 -155
  85. package/build/ts/surfaces/checkout/targets/Checkout::PaymentMethod::HostedFields::RenderAfter.d.ts +863 -155
  86. package/build/ts/surfaces/checkout/targets/Checkout::PaymentMethod::Render.d.ts +863 -155
  87. package/build/ts/surfaces/checkout/targets/Checkout::PaymentMethod::RenderRequiredAction.d.ts +918 -172
  88. package/build/ts/surfaces/checkout/targets/Checkout::PickupLocations::RenderAfter.d.ts +918 -172
  89. package/build/ts/surfaces/checkout/targets/Checkout::PickupLocations::RenderBefore.d.ts +918 -172
  90. package/build/ts/surfaces/checkout/targets/Checkout::PickupPoints::RenderAfter.d.ts +918 -172
  91. package/build/ts/surfaces/checkout/targets/Checkout::PickupPoints::RenderBefore.d.ts +918 -172
  92. package/build/ts/surfaces/checkout/targets/Checkout::Reductions::RenderAfter.d.ts +918 -172
  93. package/build/ts/surfaces/checkout/targets/Checkout::Reductions::RenderBefore.d.ts +918 -172
  94. package/build/ts/surfaces/checkout/targets/Checkout::ShippingMethodDetails::RenderAfter.d.ts +918 -172
  95. package/build/ts/surfaces/checkout/targets/Checkout::ShippingMethodDetails::RenderExpanded.d.ts +918 -172
  96. package/build/ts/surfaces/checkout/targets/Checkout::ShippingMethods::RenderAfter.d.ts +918 -172
  97. package/build/ts/surfaces/checkout/targets/Checkout::ShippingMethods::RenderBefore.d.ts +918 -172
  98. package/build/ts/surfaces/checkout/targets/Checkout::ThankYou::CartLineDetails::RenderAfter.d.ts +918 -172
  99. package/build/ts/surfaces/checkout/targets/Checkout::ThankYou::CartLines::RenderAfter.d.ts +918 -172
  100. package/build/ts/surfaces/checkout/targets/Checkout::ThankYou::CustomerInformation::RenderAfter.d.ts +918 -172
  101. package/build/ts/surfaces/checkout/targets/Checkout::ThankYou::Dynamic::Render.d.ts +918 -172
  102. package/build/ts/surfaces/checkout/targets/purchase.cart-line-item.line-components.render.d.ts +918 -172
  103. package/build/ts/surfaces/checkout/targets/purchase.checkout.actions.render-before.d.ts +918 -172
  104. package/build/ts/surfaces/checkout/targets/purchase.checkout.block.render.d.ts +918 -172
  105. package/build/ts/surfaces/checkout/targets/purchase.checkout.cart-line-item.render-after.d.ts +918 -172
  106. package/build/ts/surfaces/checkout/targets/purchase.checkout.cart-line-list.render-after.d.ts +918 -172
  107. package/build/ts/surfaces/checkout/targets/purchase.checkout.contact.render-after.d.ts +918 -172
  108. package/build/ts/surfaces/checkout/targets/purchase.checkout.delivery-address.render-after.d.ts +918 -172
  109. package/build/ts/surfaces/checkout/targets/purchase.checkout.delivery-address.render-before.d.ts +918 -172
  110. package/build/ts/surfaces/checkout/targets/purchase.checkout.footer.render-after.d.ts +918 -172
  111. package/build/ts/surfaces/checkout/targets/purchase.checkout.gift-card.render.d.ts +863 -155
  112. package/build/ts/surfaces/checkout/targets/purchase.checkout.header.render-after.d.ts +918 -172
  113. package/build/ts/surfaces/checkout/targets/purchase.checkout.payment-method-list.render-after.d.ts +918 -172
  114. package/build/ts/surfaces/checkout/targets/purchase.checkout.payment-method-list.render-before.d.ts +918 -172
  115. package/build/ts/surfaces/checkout/targets/purchase.checkout.payment-option-item.action-required.render.d.ts +918 -172
  116. package/build/ts/surfaces/checkout/targets/purchase.checkout.payment-option-item.details.render.d.ts +863 -155
  117. package/build/ts/surfaces/checkout/targets/purchase.checkout.payment-option-item.hosted-fields.render-after.d.ts +918 -172
  118. package/build/ts/surfaces/checkout/targets/purchase.checkout.pickup-location-list.render-after.d.ts +918 -172
  119. package/build/ts/surfaces/checkout/targets/purchase.checkout.pickup-location-list.render-before.d.ts +918 -172
  120. package/build/ts/surfaces/checkout/targets/purchase.checkout.pickup-location-option-item.render-after.d.ts +918 -172
  121. package/build/ts/surfaces/checkout/targets/purchase.checkout.pickup-point-list.render-after.d.ts +918 -172
  122. package/build/ts/surfaces/checkout/targets/purchase.checkout.pickup-point-list.render-before.d.ts +918 -172
  123. package/build/ts/surfaces/checkout/targets/purchase.checkout.reductions.render-after.d.ts +918 -172
  124. package/build/ts/surfaces/checkout/targets/purchase.checkout.reductions.render-before.d.ts +918 -172
  125. package/build/ts/surfaces/checkout/targets/purchase.checkout.shipping-option-item.details.render.d.ts +918 -172
  126. package/build/ts/surfaces/checkout/targets/purchase.checkout.shipping-option-item.render-after.d.ts +918 -172
  127. package/build/ts/surfaces/checkout/targets/purchase.checkout.shipping-option-list.render-after.d.ts +918 -172
  128. package/build/ts/surfaces/checkout/targets/purchase.checkout.shipping-option-list.render-before.d.ts +918 -172
  129. package/build/ts/surfaces/checkout/targets/purchase.thank-you.block.render.d.ts +918 -172
  130. package/build/ts/surfaces/checkout/targets/purchase.thank-you.cart-line-item.render-after.d.ts +918 -172
  131. package/build/ts/surfaces/checkout/targets/purchase.thank-you.cart-line-list.render-after.d.ts +918 -172
  132. package/build/ts/surfaces/checkout/targets/purchase.thank-you.customer-information.render-after.d.ts +918 -172
  133. package/build/ts/surfaces/checkout/targets/purchase.thank-you.footer.render-after.d.ts +918 -172
  134. package/build/ts/surfaces/checkout/targets/purchase.thank-you.header.render-after.d.ts +918 -172
  135. package/build/ts/surfaces/customer-account/components/Abbreviation.d.ts +20 -8
  136. package/build/ts/surfaces/customer-account/components/Banner.d.ts +52 -13
  137. package/build/ts/surfaces/customer-account/components/Box.d.ts +20 -9
  138. package/build/ts/surfaces/customer-account/components/Button.d.ts +39 -13
  139. package/build/ts/surfaces/customer-account/components/Checkbox.d.ts +54 -0
  140. package/build/ts/surfaces/customer-account/components/ClipboardItem.d.ts +36 -9
  141. package/build/ts/surfaces/customer-account/components/DropZone.d.ts +36 -9
  142. package/build/ts/surfaces/customer-account/components/EmailField.d.ts +69 -0
  143. package/build/ts/surfaces/customer-account/components/Form.d.ts +40 -12
  144. package/build/ts/surfaces/customer-account/components/Heading.d.ts +20 -8
  145. package/build/ts/surfaces/customer-account/components/Icon.d.ts +22 -9
  146. package/build/ts/surfaces/customer-account/components/Image.d.ts +13 -7
  147. package/build/ts/surfaces/customer-account/components/Link.d.ts +39 -13
  148. package/build/ts/surfaces/customer-account/components/ListItem.d.ts +22 -10
  149. package/build/ts/surfaces/customer-account/components/Map.d.ts +75 -0
  150. package/build/ts/surfaces/customer-account/components/MapMarker.d.ts +73 -0
  151. package/build/ts/surfaces/customer-account/components/Modal.d.ts +87 -0
  152. package/build/ts/surfaces/customer-account/components/OrderedList.d.ts +20 -8
  153. package/build/ts/surfaces/customer-account/components/Paragraph.d.ts +20 -8
  154. package/build/ts/surfaces/customer-account/components/PaymentIcon.d.ts +14 -7
  155. package/build/ts/surfaces/customer-account/components/PhoneField.d.ts +84 -0
  156. package/build/ts/surfaces/customer-account/components/Progress.d.ts +14 -4
  157. package/build/ts/surfaces/customer-account/components/QRCode.d.ts +32 -8
  158. package/build/ts/surfaces/customer-account/components/Section.d.ts +20 -8
  159. package/build/ts/surfaces/customer-account/components/Spinner.d.ts +14 -4
  160. package/build/ts/surfaces/customer-account/components/Stack.d.ts +20 -9
  161. package/build/ts/surfaces/customer-account/components/Text.d.ts +20 -8
  162. package/build/ts/surfaces/customer-account/components/TextArea.d.ts +69 -0
  163. package/build/ts/surfaces/customer-account/components/TextField.d.ts +72 -21
  164. package/build/ts/surfaces/customer-account/components/Time.d.ts +20 -8
  165. package/build/ts/surfaces/customer-account/components/UnorderedList.d.ts +20 -8
  166. package/build/ts/surfaces/customer-account/components/components-shared.d.ts +486 -2
  167. package/build/ts/surfaces/customer-account/components/components.d.ts +1000 -166
  168. package/build/ts/surfaces/customer-account/targets/customer-account.footer.render-after.d.ts +918 -173
  169. package/build/ts/surfaces/customer-account/targets/customer-account.order-index.block.render.d.ts +918 -173
  170. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.block.render.d.ts +918 -173
  171. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.cart-line-item.render-after.d.ts +918 -173
  172. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.cart-line-list.render-after.d.ts +918 -173
  173. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.customer-information.render-after.d.ts +918 -173
  174. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.fulfillment-details.render-after.d.ts +918 -173
  175. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.payment-details.render-after.d.ts +918 -173
  176. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.return-details.render-after.d.ts +918 -173
  177. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.unfulfilled-items.render-after.d.ts +918 -173
  178. package/build/ts/surfaces/customer-account/targets/customer-account.order.action.menu-item.render.d.ts +918 -173
  179. package/build/ts/surfaces/customer-account/targets/customer-account.order.action.render.d.ts +918 -173
  180. package/build/ts/surfaces/customer-account/targets/customer-account.order.page.render.d.ts +918 -173
  181. package/build/ts/surfaces/customer-account/targets/customer-account.page.render.d.ts +918 -173
  182. package/build/ts/surfaces/customer-account/targets/customer-account.profile.addresses.render-after.d.ts +918 -173
  183. package/build/ts/surfaces/customer-account/targets/customer-account.profile.block.render.d.ts +918 -173
  184. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-details.render-after.d.ts +918 -173
  185. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-addresses.render-after.d.ts +918 -173
  186. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-payment.render-after.d.ts +918 -173
  187. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-staff.render-after.d.ts +918 -173
  188. package/build/ts/surfaces/customer-account/targets/customer-account.profile.payment.render-after.d.ts +918 -173
  189. package/build/tsconfig.tsbuildinfo +1 -1
  190. package/package.json +1 -1
  191. package/src/docs/shared/components/Map.ts +12 -0
  192. package/src/docs/shared/components/MapMarker.ts +12 -0
  193. package/src/docs/shared/components/Modal.ts +12 -0
  194. package/src/docs/shared/components/Option.ts +12 -0
  195. package/src/docs/shared/components/PhoneField.ts +11 -0
  196. package/src/docs/shared/components/ProductThumbnail.ts +11 -0
  197. package/src/surfaces/admin/components/AdminPrintAction/examples/default.tsx +1 -1
  198. package/src/surfaces/admin/components/patterns/examples/details.html +228 -0
  199. package/src/surfaces/admin/components/patterns/examples/details.jsx +262 -0
  200. package/src/surfaces/admin/components/patterns/examples/homepage.html +587 -0
  201. package/src/surfaces/admin/components/patterns/examples/homepage.jsx +691 -0
  202. package/src/surfaces/admin/components/patterns/examples/index.html +143 -0
  203. package/src/surfaces/admin/components/patterns/examples/index.jsx +162 -0
  204. package/src/surfaces/admin/components/patterns/examples/settings.html +241 -0
  205. package/src/surfaces/admin/components/patterns/examples/settings.jsx +349 -0
  206. package/src/surfaces/admin/components/patterns/index.ab.doc.ts +82 -0
  207. package/src/surfaces/checkout/components/Abbreviation.d.ts +20 -8
  208. package/src/surfaces/checkout/components/Banner.d.ts +52 -13
  209. package/src/surfaces/checkout/components/Box.d.ts +20 -9
  210. package/src/surfaces/checkout/components/Button.d.ts +39 -13
  211. package/src/surfaces/checkout/components/Checkbox/examples/basic-checkbox.example.html +1 -0
  212. package/src/surfaces/checkout/components/Checkbox.d.ts +54 -0
  213. package/src/surfaces/checkout/components/ClipboardItem.d.ts +36 -9
  214. package/src/surfaces/checkout/components/DropZone.d.ts +36 -9
  215. package/src/surfaces/checkout/components/EmailField/examples/basic-emailfield.example.html +4 -0
  216. package/src/surfaces/checkout/components/EmailField.d.ts +69 -0
  217. package/src/surfaces/checkout/components/Form.d.ts +40 -12
  218. package/src/surfaces/checkout/components/Heading.d.ts +20 -8
  219. package/src/surfaces/checkout/components/Icon.d.ts +22 -9
  220. package/src/surfaces/checkout/components/Image.d.ts +13 -7
  221. package/src/surfaces/checkout/components/Link.d.ts +39 -13
  222. package/src/surfaces/checkout/components/ListItem.d.ts +22 -10
  223. package/src/surfaces/checkout/components/Map/examples/basic-map.example.html +3 -0
  224. package/src/surfaces/checkout/components/Map.d.ts +75 -0
  225. package/src/surfaces/checkout/components/MapMarker.d.ts +73 -0
  226. package/src/surfaces/checkout/components/Modal/examples/basic-modal.example.html +20 -0
  227. package/src/surfaces/checkout/components/Modal.d.ts +87 -0
  228. package/src/surfaces/checkout/components/OrderedList.d.ts +20 -8
  229. package/src/surfaces/checkout/components/Paragraph.d.ts +20 -8
  230. package/src/surfaces/checkout/components/PaymentIcon.d.ts +14 -7
  231. package/src/surfaces/checkout/components/PhoneField/examples/basic-phonefield.example.html +2 -0
  232. package/src/surfaces/checkout/components/PhoneField.d.ts +84 -0
  233. package/src/surfaces/checkout/components/ProductThumbnail/examples/basic-productthumbnail.example.html +4 -0
  234. package/src/surfaces/checkout/components/Progress.d.ts +14 -4
  235. package/src/surfaces/checkout/components/QRCode.d.ts +32 -8
  236. package/src/surfaces/checkout/components/Section.d.ts +20 -8
  237. package/src/surfaces/checkout/components/Spinner.d.ts +14 -4
  238. package/src/surfaces/checkout/components/Stack.d.ts +20 -9
  239. package/src/surfaces/checkout/components/Text.d.ts +20 -8
  240. package/src/surfaces/checkout/components/TextArea/examples/basic-textarea.example.html +5 -0
  241. package/src/surfaces/checkout/components/TextArea.d.ts +69 -0
  242. package/src/surfaces/checkout/components/TextField.d.ts +72 -21
  243. package/src/surfaces/checkout/components/Time.d.ts +20 -8
  244. package/src/surfaces/checkout/components/UnorderedList.d.ts +20 -8
  245. package/src/surfaces/checkout/components/components-shared.d.ts +486 -2
  246. package/src/surfaces/checkout/components/components.d.ts +1000 -166
  247. package/src/surfaces/checkout/shared.ts +8 -0
  248. package/src/surfaces/customer-account/components/CustomerAccountAction/examples/basic-CustomerAccountAction-js.example.ts +1 -1
  249. package/src/surfaces/customer-account/components/CustomerAccountAction/examples/basic-CustomerAccountAction-preact.example.tsx +1 -1
  250. package/src/surfaces/customer-account/components/ImageGroup/examples/basic-ImageGroup-js.example.ts +1 -1
  251. package/src/surfaces/customer-account/components/ImageGroup/examples/basic-ImageGroup-preact.example.tsx +1 -1
  252. package/src/surfaces/customer-account/components/Page/examples/basic-Page-js.example.ts +1 -1
  253. package/src/surfaces/customer-account/components/Page/examples/basic-Page-preact.example.tsx +1 -1
@@ -0,0 +1,587 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <script src="https://cdn.shopify.com/shopifycloud/app-bridge-ui-experimental.js"></script>
7
+ <title>Pattern</title>
8
+ <script>
9
+ // Simple global object to store handlers
10
+ window.puzzleApp = {
11
+ progress: 0,
12
+
13
+ // Banner handlers
14
+ dismissBanner: function(bannerElement) {
15
+ if (bannerElement) {
16
+ bannerElement.style.display = 'none';
17
+ }
18
+ },
19
+
20
+ // Guide handlers
21
+ dismissGuide: function(guideSection) {
22
+ if (guideSection) {
23
+ guideSection.style.display = 'none';
24
+ }
25
+ },
26
+
27
+ toggleGuide: function(button, container) {
28
+ if (button && container) {
29
+ const isExpanded = container.style.display !== 'none';
30
+ container.style.display = isExpanded ? 'none' : 'block';
31
+ button.setAttribute('icon', isExpanded ? 'chevron-down' : 'chevron-up');
32
+ }
33
+ },
34
+
35
+ // Step handlers
36
+ toggleStep: function(button, detailsContainer) {
37
+ if (button && detailsContainer) {
38
+ const isExpanded = detailsContainer.style.display !== 'none';
39
+ detailsContainer.style.display = isExpanded ? 'none' : 'block';
40
+ button.setAttribute('icon', isExpanded ? 'chevron-down' : 'chevron-up');
41
+ }
42
+ },
43
+
44
+ // Checkbox handlers
45
+ updateProgress: function(checkbox, progressElement) {
46
+ if (checkbox && progressElement) {
47
+ this.progress += checkbox.checked ? 1 : -1;
48
+ progressElement.textContent = `${this.progress} out of 3 steps completed`;
49
+ }
50
+ },
51
+
52
+ // Section dismissal handlers
53
+ dismissSection: function(section) {
54
+ if (section) {
55
+ section.style.display = 'none';
56
+ }
57
+ }
58
+ };
59
+ </script>
60
+ </head>
61
+ <body>
62
+ <!-- === -->
63
+ <!-- Home page pattern -->
64
+ <!-- === -->
65
+ <s-page inlineSize="small">
66
+ <!-- === -->
67
+ <!-- Title Bar -->
68
+ <!-- The ui-title-bar on the homepage should not have a title attribute -->
69
+ <!-- Note: ui-title-bar requires AppBridge to render correctly -->
70
+ <!-- === -->
71
+ <ui-title-bar>
72
+ <button variant="primary">Create puzzle</button>
73
+ <section>
74
+ <button>Browse templates</button>
75
+ <button>Import image</button>
76
+ </section>
77
+ </ui-title-bar>
78
+ <!-- === -->
79
+ <!-- Banner -->
80
+ <!-- Use banners sparingly. Only one banner should be visible at a time. -->
81
+ <!-- If dismissed, use local storage or a database entry to avoid showing this section again to the same user. -->
82
+ <!-- === -->
83
+ <s-banner
84
+ id="upgrade-banner"
85
+ dismissible
86
+ onDismiss="window.puzzleApp.dismissBanner(this)"
87
+ >
88
+ 3 of 5 puzzles created.
89
+ <s-link href="#">Upgrade to Puzzlify Pro</s-link> to create unlimited puzzles.
90
+ </s-banner>
91
+ <!-- === -->
92
+ <!-- Setup Guide -->
93
+ <!-- Keep instructions brief and direct. Only ask merchants for required information. -->
94
+ <!-- If dismissed, use local storage or a database entry to avoid showing this section again to the same user. -->
95
+ <!-- === -->
96
+ <s-section id="setup-guide-section">
97
+ <s-grid gap="base">
98
+ <!-- Header -->
99
+ <s-grid gap="small-200">
100
+ <s-grid gridTemplateColumns="1fr auto auto" gap="small-300" alignItems="center">
101
+ <s-heading>Setup Guide</s-heading>
102
+ <s-button
103
+ accessibilityLabel="Dismiss Guide"
104
+ onClick="window.puzzleApp.dismissGuide(document.getElementById('setup-guide-section'))"
105
+ variant="tertiary"
106
+ tone="neutral"
107
+ icon="x"
108
+ ></s-button>
109
+ <s-button
110
+ id="toggle-guide-button"
111
+ accessibilityLabel="Toggle setup guide"
112
+ onClick="window.puzzleApp.toggleGuide(this, document.getElementById('steps-container'))"
113
+ variant="tertiary"
114
+ tone="neutral"
115
+ icon="chevron-up"
116
+ ></s-button>
117
+ </s-grid>
118
+ <s-paragraph>
119
+ Use this personalized guide to get your store ready for sales.
120
+ </s-paragraph>
121
+ <s-stack direction="inline" gap="small-200" alignItems="center">
122
+ <s-paragraph id="progress-text" tone="subdued">0 out of 3 steps completed</s-paragraph>
123
+ </s-stack>
124
+ </s-grid>
125
+ <!-- Steps Container -->
126
+ <s-box id="steps-container" borderRadius="base" border="base" background="base">
127
+ <!-- Step 1 -->
128
+ <s-box>
129
+ <s-box padding="small">
130
+ <s-grid gridTemplateColumns="1fr auto" gap="base">
131
+ <s-checkbox
132
+ label="Upload an image for your puzzle"
133
+ onInput="window.puzzleApp.updateProgress(this, document.getElementById('progress-text'))"
134
+ ></s-checkbox>
135
+ <s-button
136
+ id="toggle-step1-button"
137
+ onClick="window.puzzleApp.toggleStep(this, document.getElementById('step1-details'))"
138
+ accessibilityLabel="Toggle step 1 details"
139
+ variant="tertiary"
140
+ icon="chevron-down"
141
+ ></s-button>
142
+ </s-grid>
143
+ </s-box>
144
+ <s-box id="step1-details" padding="small" paddingBlockStart="none" style="display: none;">
145
+ <s-box padding="base" background="subdued" borderRadius="base">
146
+ <s-grid gridTemplateColumns="1fr auto" gap="base" alignItems="center">
147
+ <s-grid gap="small-200">
148
+ <s-paragraph>
149
+ Start by uploading a high-quality image that will be used to create your
150
+ puzzle. For best results, use images that are at least 1200x1200 pixels.
151
+ </s-paragraph>
152
+ <s-stack direction="inline" gap="small-200">
153
+ <s-button variant="primary" onClick="console.log('clicked')">
154
+ Upload image
155
+ </s-button>
156
+ <s-button variant="tertiary" tone="neutral"> Image requirements </s-button>
157
+ </s-stack>
158
+ </s-grid>
159
+ <s-box maxBlockSize="80px" maxInlineSize="80px">
160
+ <s-image
161
+ src="https://cdn.shopify.com/s/assets/admin/checkout/settings-customizecart-705f57c725ac05be5a34ec20c05b94298cb8afd10aac7bd9c7ad02030f48cfa0.svg"
162
+ alt="Customize checkout illustration"
163
+ ></s-image>
164
+ </s-box>
165
+ </s-grid>
166
+ </s-box>
167
+ </s-box>
168
+ </s-box>
169
+ <!-- Step 2 -->
170
+ <s-divider></s-divider>
171
+ <s-box>
172
+ <s-box padding="small">
173
+ <s-grid gridTemplateColumns="1fr auto" gap="base">
174
+ <s-checkbox
175
+ label="Choose a puzzle template"
176
+ onInput="window.puzzleApp.updateProgress(this, document.getElementById('progress-text'))"
177
+ ></s-checkbox>
178
+ <s-button
179
+ id="toggle-step2-button"
180
+ onClick="window.puzzleApp.toggleStep(this, document.getElementById('step2-details'))"
181
+ accessibilityLabel="Toggle step 2 details"
182
+ variant="tertiary"
183
+ icon="chevron-down"
184
+ ></s-button>
185
+ </s-grid>
186
+ </s-box>
187
+ <s-box id="step2-details" padding="small" paddingBlockStart="none" style="display: none;">
188
+ <s-box padding="base" background="subdued" borderRadius="base">
189
+ <s-grid gridTemplateColumns="1fr auto" gap="base" alignItems="center">
190
+ <s-grid gap="small-200">
191
+ <s-paragraph>
192
+ Select a template for your puzzle - choose between 9-piece (beginner),
193
+ 16-piece (intermediate), or 25-piece (advanced) layouts.
194
+ </s-paragraph>
195
+ <s-stack direction="inline" gap="small-200">
196
+ <s-button variant="primary">Choose template</s-button>
197
+ <s-button variant="tertiary" tone="neutral"> See all templates </s-button>
198
+ </s-stack>
199
+ </s-grid>
200
+ <s-box maxBlockSize="80px" maxInlineSize="80px">
201
+ <s-image
202
+ src="https://cdn.shopify.com/s/assets/admin/checkout/settings-customizecart-705f57c725ac05be5a34ec20c05b94298cb8afd10aac7bd9c7ad02030f48cfa0.svg"
203
+ alt="Customize checkout illustration"
204
+ ></s-image>
205
+ </s-box>
206
+ </s-grid>
207
+ </s-box>
208
+ </s-box>
209
+ </s-box>
210
+ <!-- Step 3 -->
211
+ <s-divider></s-divider>
212
+ <s-box>
213
+ <s-box padding="small">
214
+ <s-grid gridTemplateColumns="1fr auto" gap="base">
215
+ <s-checkbox
216
+ label="Customize puzzle piece shapes"
217
+ onInput="window.puzzleApp.updateProgress(this, document.getElementById('progress-text'))"
218
+ ></s-checkbox>
219
+ <s-button
220
+ id="toggle-step3-button"
221
+ onClick="window.puzzleApp.toggleStep(this, document.getElementById('step3-details'))"
222
+ accessibilityLabel="Toggle step 3 details"
223
+ variant="tertiary"
224
+ icon="chevron-down"
225
+ ></s-button>
226
+ </s-grid>
227
+ </s-box>
228
+ <s-box id="step3-details" padding="small" paddingBlockStart="none" style="display: none;">
229
+ <s-box padding="base" background="subdued" borderRadius="base">
230
+ <s-grid gridTemplateColumns="1fr auto" gap="base" alignItems="center">
231
+ <s-grid gap="small-200">
232
+ <s-paragraph>
233
+ Make your puzzle unique by customizing the shapes of individual pieces.
234
+ Choose from classic, curved, or themed piece styles.
235
+ </s-paragraph>
236
+ <s-stack direction="inline" gap="small-200">
237
+ <s-button variant="primary"> Customize pieces </s-button>
238
+ <s-button variant="tertiary" tone="neutral">
239
+ Learn about piece styles
240
+ </s-button>
241
+ </s-stack>
242
+ </s-grid>
243
+ <s-box maxBlockSize="80px" maxInlineSize="80px">
244
+ <s-image
245
+ src="https://cdn.shopify.com/s/assets/admin/checkout/settings-customizecart-705f57c725ac05be5a34ec20c05b94298cb8afd10aac7bd9c7ad02030f48cfa0.svg"
246
+ alt="Customize checkout illustration"
247
+ ></s-image>
248
+ </s-box>
249
+ </s-grid>
250
+ </s-box>
251
+ </s-box>
252
+ </s-box>
253
+ <!-- Add additional steps here... -->
254
+ </s-box>
255
+ </s-grid>
256
+ </s-section>
257
+ <!-- === -->
258
+ <!-- Metrics cards -->
259
+ <!-- Your app homepage should provide merchants with quick statistics or status updates that help them understand how the app is performing for them. -->
260
+ <!-- === -->
261
+ <s-section padding="none">
262
+ <s-box padding="small">
263
+ <s-grid
264
+ gridTemplateColumns="@container (inline-size <= 400px) 1fr, 1fr auto 1fr auto 1fr"
265
+ gap="small"
266
+ >
267
+ <s-clickable
268
+ href="#"
269
+ paddingBlock="small-400"
270
+ paddingInline="small-100"
271
+ borderRadius="base"
272
+ >
273
+ <s-grid gap="small-300">
274
+ <s-heading>Total Designs</s-heading>
275
+ <s-stack direction="inline" gap="small-200">
276
+ <s-text>156</s-text>
277
+ <s-badge tone="success" icon="arrow-up"> 12% </s-badge>
278
+ </s-stack>
279
+ </s-grid>
280
+ </s-clickable>
281
+ <s-divider direction="block"></s-divider>
282
+ <s-clickable
283
+ href="#"
284
+ paddingBlock="small-400"
285
+ paddingInline="small-100"
286
+ borderRadius="base"
287
+ >
288
+ <s-grid gap="small-300">
289
+ <s-heading>Units Sold</s-heading>
290
+ <s-stack direction="inline" gap="small-200">
291
+ <s-text>2,847</s-text>
292
+ <s-badge tone="warning">0%</s-badge>
293
+ </s-stack>
294
+ </s-grid>
295
+ </s-clickable>
296
+ <s-divider direction="block"></s-divider>
297
+ <s-clickable
298
+ href="#"
299
+ paddingBlock="small-400"
300
+ paddingInline="small-100"
301
+ borderRadius="base"
302
+ >
303
+ <s-grid gap="small-300">
304
+ <s-heading>Return Rate</s-heading>
305
+ <s-stack direction="inline" gap="small-200">
306
+ <s-text>3.2%</s-text>
307
+ <s-badge tone="critical" icon="arrow-down"> 0.8% </s-badge>
308
+ </s-stack>
309
+ </s-grid>
310
+ </s-clickable>
311
+ </s-grid>
312
+ </s-box>
313
+ </s-section>
314
+ <!-- === -->
315
+ <!-- Callout Card -->
316
+ <!-- If dismissed, use local storage or a database entry to avoid showing this section again to the same user. -->
317
+ <!-- === -->
318
+ <s-section id="callout-section">
319
+ <s-grid gridTemplateColumns="1fr auto" gap="small-400" alignItems="start">
320
+ <s-grid
321
+ gridTemplateColumns="@container (inline-size <= 480px) 1fr, auto auto"
322
+ gap="base"
323
+ alignItems="center"
324
+ >
325
+ <s-grid gap="small-200">
326
+ <s-heading>Ready to create your custom puzzle?</s-heading>
327
+ <s-paragraph>
328
+ Start by uploading an image to your gallery or choose from one of our templates.
329
+ </s-paragraph>
330
+ <s-stack direction="inline" gap="small-200" wrap="nowrap">
331
+ <s-button onClick="console.log('clicked')"> Upload image </s-button>
332
+ <s-button tone="neutral" variant="tertiary"> Browse templates </s-button>
333
+ </s-stack>
334
+ </s-grid>
335
+ <s-stack alignItems="center">
336
+ <s-box maxInlineSize="200px" borderRadius="base" overflow="hidden">
337
+ <s-image
338
+ src="https://cdn.shopify.com/static/images/polaris/patterns/callout.png"
339
+ alt="Customize checkout illustration"
340
+ aspectRatio="1/0.5"
341
+ ></s-image>
342
+ </s-box>
343
+ </s-stack>
344
+ </s-grid>
345
+ <s-button
346
+ onClick="window.puzzleApp.dismissSection(document.getElementById('callout-section'))"
347
+ icon="x"
348
+ tone="neutral"
349
+ variant="tertiary"
350
+ accessibilityLabel="Dismiss card"
351
+ ></s-button>
352
+ </s-grid>
353
+ </s-section>
354
+ <!-- === -->
355
+ <!-- Puzzle templates -->
356
+ <!-- === -->
357
+ <s-section>
358
+ <s-heading>Puzzle Templates</s-heading>
359
+ <s-grid gridTemplateColumns="repeat(auto-fit, minmax(155px, 1fr))" gap="base">
360
+ <!-- Featured template 1 -->
361
+ <s-box border="base" borderRadius="base" overflow="hidden">
362
+ <s-clickable href="/puzzles/4-piece" accessibilityLabel="4-pieces puzzle template">
363
+ <s-image
364
+ aspectRatio="1/1"
365
+ objectFit="cover"
366
+ alt="Illustration of characters with a 4-piece puzzle"
367
+ src="https://cdn.shopify.com/static/images/polaris/patterns/4-pieces.png"
368
+ ></s-image>
369
+ </s-clickable>
370
+ <s-divider></s-divider>
371
+ <s-grid
372
+ gridTemplateColumns="1fr auto"
373
+ background="base"
374
+ padding="small"
375
+ gap="small"
376
+ alignItems="center"
377
+ >
378
+ <s-heading>4-Pieces</s-heading>
379
+ <s-button href="/puzzles/4-piece" accessibilityLabel="View 4-pieces puzzle template">
380
+ View
381
+ </s-button>
382
+ </s-grid>
383
+ </s-box>
384
+ <!-- Featured template 2 -->
385
+ <s-box border="base" borderRadius="base" background="transparent" overflow="hidden">
386
+ <s-clickable href="/puzzles/9-piece" accessibilityLabel="9-pieces puzzle template">
387
+ <s-image
388
+ aspectRatio="1/1"
389
+ objectFit="cover"
390
+ src="https://cdn.shopify.com/static/images/polaris/patterns/9-pieces.png"
391
+ ></s-image>
392
+ </s-clickable>
393
+ <s-divider></s-divider>
394
+ <s-grid
395
+ gridTemplateColumns="1fr auto"
396
+ background="base"
397
+ padding="small"
398
+ gap="small"
399
+ alignItems="center"
400
+ >
401
+ <s-heading>9-Pieces</s-heading>
402
+ <s-button href="/puzzles/9-piece" accessibilityLabel="View 9-pieces puzzle template">
403
+ View
404
+ </s-button>
405
+ </s-grid>
406
+ </s-box>
407
+ <!-- Featured template 3 -->
408
+ <s-box border="base" borderRadius="base" background="transparent" overflow="hidden">
409
+ <s-clickable href="/puzzles/16-piece" accessibilityLabel="16-pieces puzzle template">
410
+ <s-image
411
+ aspectRatio="1/1"
412
+ objectFit="cover"
413
+ src="https://cdn.shopify.com/static/images/polaris/patterns/16-pieces.png"
414
+ ></s-image>
415
+ </s-clickable>
416
+ <s-divider></s-divider>
417
+ <s-grid
418
+ gridTemplateColumns="1fr auto"
419
+ background="base"
420
+ padding="small"
421
+ gap="small"
422
+ alignItems="center"
423
+ >
424
+ <s-heading>16-Pieces</s-heading>
425
+ <s-button
426
+ href="/puzzles/16-piece"
427
+ accessibilityLabel="View 16-pieces puzzle template"
428
+ >
429
+ View
430
+ </s-button>
431
+ </s-grid>
432
+ </s-box>
433
+ </s-grid>
434
+ <s-stack
435
+ direction="inline"
436
+ alignItems="center"
437
+ justifyContent="center"
438
+ paddingBlockStart="base"
439
+ >
440
+ <s-link href="/puzzles">See all puzzle templates</s-link>
441
+ </s-stack>
442
+ </s-section>
443
+ <!-- === -->
444
+ <!-- News -->
445
+ <!-- === -->
446
+ <s-section>
447
+ <s-heading>News</s-heading>
448
+ <s-grid gridTemplateColumns="repeat(auto-fit, minmax(240px, 1fr))" gap="base">
449
+ <!-- News item 1 -->
450
+ <s-grid
451
+ background="base"
452
+ border="base"
453
+ borderRadius="base"
454
+ padding="base"
455
+ gap="small-400"
456
+ >
457
+ <s-text>Jan 21, 2025</s-text>
458
+ <s-link href="/news/new-shapes-and-themes">
459
+ <s-heading>New puzzle shapes and themes added</s-heading>
460
+ </s-link>
461
+ <s-paragraph>
462
+ We've added 5 new puzzle piece shapes and 3 seasonal themes to help you create more
463
+ engaging and unique puzzles for your customers.
464
+ </s-paragraph>
465
+ </s-grid>
466
+ <!-- News item 2 -->
467
+ <s-grid
468
+ background="base"
469
+ border="base"
470
+ borderRadius="base"
471
+ padding="base"
472
+ gap="small-400"
473
+ >
474
+ <s-text>Nov 6, 2024</s-text>
475
+ <s-link href="/news/puzzle-difficulty-customization">
476
+ <s-heading>Puzzle difficulty customization features</s-heading>
477
+ </s-link>
478
+ <s-paragraph>
479
+ Now you can fine-tune the difficulty of your puzzles with new rotation controls, edge
480
+ highlighting options, and piece recognition settings.
481
+ </s-paragraph>
482
+ </s-grid>
483
+ </s-grid>
484
+ <s-stack
485
+ direction="inline"
486
+ alignItems="center"
487
+ justifyContent="center"
488
+ paddingBlockStart="base"
489
+ >
490
+ <s-link href="/news">See all news items</s-link>
491
+ </s-stack>
492
+ </s-section>
493
+ <!-- === -->
494
+ <!-- Featured apps -->
495
+ <!-- If dismissed, use local storage or a database entry to avoid showing this section again to the same user. -->
496
+ <!-- === -->
497
+ <s-section id="featured-apps-section">
498
+ <s-grid gridTemplateColumns="1fr auto" alignItems="center" paddingBlockEnd="small-400">
499
+ <s-heading>Featured apps</s-heading>
500
+ <s-button
501
+ onClick="window.puzzleApp.dismissSection(document.getElementById('featured-apps-section'))"
502
+ icon="x"
503
+ tone="neutral"
504
+ variant="tertiary"
505
+ accessibilityLabel="Dismiss featured apps section"
506
+ ></s-button>
507
+ </s-grid>
508
+ <s-grid gridTemplateColumns="repeat(auto-fit, minmax(240px, 1fr))" gap="base">
509
+ <!-- Featured app 1 -->
510
+ <s-clickable
511
+ href="https://apps.shopify.com/flow"
512
+ border="base"
513
+ borderRadius="base"
514
+ padding="base"
515
+ inlineSize="100%"
516
+ accessibilityLabel="Download Shopify Flow"
517
+ >
518
+ <s-grid gridTemplateColumns="auto 1fr auto" alignItems="stretch" gap="base">
519
+ <s-box
520
+ border="base"
521
+ borderRadius="base"
522
+ overflow="hidden"
523
+ maxInlineSize="40px"
524
+ maxBlockSize="40px"
525
+ >
526
+ <s-image
527
+ src="https://cdn.shopify.com/app-store/listing_images/15100ebca4d221b650a7671125cd1444/icon/CO25r7-jh4ADEAE=.png"
528
+ alt="Shopify Flow icon"
529
+ ></s-image>
530
+ </s-box>
531
+ <s-box>
532
+ <s-heading>Shopify Flow</s-heading>
533
+ <s-paragraph>Free</s-paragraph>
534
+ <s-paragraph> Automate everything and get back to business. </s-paragraph>
535
+ </s-box>
536
+ <s-stack justifyContent="start">
537
+ <s-button
538
+ href="https://apps.shopify.com/flow"
539
+ icon="download"
540
+ accessibilityLabel="Download Shopify Flow"
541
+ ></s-button>
542
+ </s-stack>
543
+ </s-grid>
544
+ </s-clickable>
545
+ <!-- Featured app 2 -->
546
+ <s-clickable
547
+ href="https://apps.shopify.com/planet"
548
+ border="base"
549
+ borderRadius="base"
550
+ padding="base"
551
+ inlineSize="100%"
552
+ accessibilityLabel="Download Shopify Planet"
553
+ >
554
+ <s-grid gridTemplateColumns="auto 1fr auto" alignItems="stretch" gap="base">
555
+ <s-box
556
+ border="base"
557
+ borderRadius="base"
558
+ overflow="hidden"
559
+ maxInlineSize="40px"
560
+ maxBlockSize="40px"
561
+ >
562
+ <s-image
563
+ src="https://cdn.shopify.com/app-store/listing_images/87176a11f3714753fdc2e1fc8bbf0415/icon/CIqiqqXsiIADEAE=.png"
564
+ alt="Shopify Planet icon"
565
+ ></s-image>
566
+ </s-box>
567
+ <s-box>
568
+ <s-heading>Shopify Planet</s-heading>
569
+ <s-paragraph>Free</s-paragraph>
570
+ <s-paragraph>
571
+ Offer carbon-neutral shipping and showcase your commitment.
572
+ </s-paragraph>
573
+ </s-box>
574
+ <s-stack justifyContent="start">
575
+ <s-button
576
+ href="https://apps.shopify.com/planet"
577
+ icon="download"
578
+ accessibilityLabel="Download Shopify Planet"
579
+ ></s-button>
580
+ </s-stack>
581
+ </s-grid>
582
+ </s-clickable>
583
+ </s-grid>
584
+ </s-section>
585
+ </s-page>
586
+ </body>
587
+ </html>