@shopify/shop-minis-react 0.0.11 → 0.0.13

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 (93) hide show
  1. package/dist/_virtual/debounce.js +8 -0
  2. package/dist/_virtual/debounce.js.map +1 -0
  3. package/dist/components/commerce/merchant-card.js +201 -0
  4. package/dist/components/commerce/merchant-card.js.map +1 -0
  5. package/dist/components/commerce/product-card.js +11 -9
  6. package/dist/components/commerce/product-card.js.map +1 -1
  7. package/dist/hooks/product/useCuratedProducts.js +20 -0
  8. package/dist/hooks/product/useCuratedProducts.js.map +1 -0
  9. package/dist/hooks/product/useProduct.js +24 -0
  10. package/dist/hooks/product/useProduct.js.map +1 -0
  11. package/dist/hooks/product/useProductMedia.js +24 -0
  12. package/dist/hooks/product/useProductMedia.js.map +1 -0
  13. package/dist/hooks/product/useProductSearch.js +44 -0
  14. package/dist/hooks/product/useProductSearch.js.map +1 -0
  15. package/dist/hooks/product/useProductVariants.js +21 -0
  16. package/dist/hooks/product/useProductVariants.js.map +1 -0
  17. package/dist/hooks/product/useProducts.js +17 -0
  18. package/dist/hooks/product/useProducts.js.map +1 -0
  19. package/dist/hooks/shop/useShop.js +17 -0
  20. package/dist/hooks/shop/useShop.js.map +1 -0
  21. package/dist/hooks/user/useFollowedShops.js +21 -0
  22. package/dist/hooks/user/useFollowedShops.js.map +1 -0
  23. package/dist/hooks/user/useRecentProducts.js +21 -0
  24. package/dist/hooks/user/useRecentProducts.js.map +1 -0
  25. package/dist/hooks/user/useRecentShops.js +21 -0
  26. package/dist/hooks/user/useRecentShops.js.map +1 -0
  27. package/dist/hooks/user/useSavedProducts.js +21 -0
  28. package/dist/hooks/user/useSavedProducts.js.map +1 -0
  29. package/dist/index.js +210 -178
  30. package/dist/index.js.map +1 -1
  31. package/dist/internal/useShopActionsPaginatedDataFetching.js +24 -24
  32. package/dist/internal/useShopActionsPaginatedDataFetching.js.map +1 -1
  33. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js +12 -0
  34. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js.map +1 -0
  35. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +17 -0
  36. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js.map +1 -0
  37. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js +15 -0
  38. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js.map +1 -0
  39. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +12 -0
  40. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js.map +1 -0
  41. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js +22 -0
  42. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js.map +1 -0
  43. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js +14 -0
  44. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js.map +1 -0
  45. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js +12 -0
  46. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js.map +1 -0
  47. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js +16 -0
  48. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  49. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js +61 -0
  50. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js.map +1 -0
  51. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js +14 -0
  52. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js.map +1 -0
  53. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js +13 -0
  54. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js.map +1 -0
  55. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js +16 -0
  56. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js.map +1 -0
  57. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js +14 -0
  58. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js.map +1 -0
  59. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js +29 -0
  60. package/dist/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js.map +1 -0
  61. package/dist/types/minisSDK.generated.d.js.map +1 -1
  62. package/package.json +4 -3
  63. package/src/base.css +273 -0
  64. package/src/components/commerce/merchant-card.tsx +262 -0
  65. package/src/components/commerce/product-card.tsx +3 -1
  66. package/src/components/index.ts +1 -0
  67. package/src/hooks/index.ts +11 -0
  68. package/src/hooks/product/useCuratedProducts.doc.ts +32 -0
  69. package/src/hooks/product/useCuratedProducts.example.tsx +10 -0
  70. package/src/hooks/product/useCuratedProducts.ts +41 -0
  71. package/src/hooks/product/useProduct.ts +45 -0
  72. package/src/hooks/product/useProductMedia.ts +51 -0
  73. package/src/hooks/product/useProductSearch.doc.ts +32 -0
  74. package/src/hooks/product/useProductSearch.example.tsx +13 -0
  75. package/src/hooks/product/useProductSearch.ts +95 -0
  76. package/src/hooks/product/useProductVariants.ts +48 -0
  77. package/src/hooks/product/useProducts.ts +38 -0
  78. package/src/hooks/shop/useShop.doc.ts +31 -0
  79. package/src/hooks/shop/useShop.example.tsx +7 -0
  80. package/src/hooks/shop/useShop.ts +38 -0
  81. package/src/hooks/user/useFollowedShops.ts +43 -0
  82. package/src/hooks/user/useRecentProducts.doc.ts +32 -0
  83. package/src/hooks/user/useRecentProducts.example.tsx +13 -0
  84. package/src/hooks/user/useRecentProducts.ts +46 -0
  85. package/src/hooks/user/useRecentShops.ts +43 -0
  86. package/src/hooks/user/useSavedProducts.doc.ts +32 -0
  87. package/src/hooks/user/useSavedProducts.example.tsx +13 -0
  88. package/src/hooks/user/useSavedProducts.ts +46 -0
  89. package/src/index.css +1 -221
  90. package/src/internal/useShopActionsPaginatedDataFetching.ts +8 -8
  91. package/src/types/minisSDK.generated.d.ts +239 -4
  92. package/src/dev.tsx +0 -868
  93. package/src/mockActions.ts +0 -237
@@ -1,237 +0,0 @@
1
- import {CurrencyCode, Gender} from './types/minisSDK.generated.d'
2
-
3
- const logAction =
4
- (action: string, data?: any) =>
5
- (...args: any[]) => {
6
- console.log(`[Mock Action] ${action}`, ...args)
7
- return Promise.resolve({ok: true, data})
8
- }
9
-
10
- // Helper functions for common data structures
11
- const createProduct = (
12
- id: string,
13
- title: string,
14
- price = '99.99',
15
- compareAtPrice?: string
16
- ) => ({
17
- id,
18
- title,
19
- price: {amount: price, currencyCode: CurrencyCode.USD},
20
- ...(compareAtPrice && {
21
- compareAtPrice: {amount: compareAtPrice, currencyCode: CurrencyCode.USD},
22
- }),
23
- reviewAnalytics: {averageRating: 4.5, reviewCount: 10},
24
- shop: {id: 'shop1', name: 'Mock Shop'},
25
- defaultVariantId: `variant-${id}`,
26
- isFavorited: false,
27
- featuredImage: {url: `https://example.com/${id}.jpg`, altText: title},
28
- })
29
-
30
- const createShop = (id: string, name: string) => ({
31
- id,
32
- name,
33
- isFollowing: false,
34
- primaryDomain: {
35
- url: `https://${name.toLowerCase().replace(/\s+/g, '-')}.com`,
36
- },
37
- reviewAnalytics: {averageRating: 4.3, reviewCount: 50},
38
- })
39
-
40
- const createPagination = (hasNext = false) => ({
41
- hasNextPage: hasNext,
42
- endCursor: hasNext ? 'cursor123' : null,
43
- })
44
-
45
- const createProductList = (id: string, name: string, products: any[] = []) => ({
46
- id,
47
- publicId: `public-${id}`,
48
- name,
49
- products,
50
- })
51
-
52
- window.minisSDK = window.minisSDK || {
53
- // App & User
54
- getShopAppInformation: logAction('getShopAppInformation', {
55
- appVersion: '1.0.0',
56
- buildNumber: '12345',
57
- buildId: 'dev-build-123',
58
- }),
59
- getAccountInformation: logAction('getAccountInformation', {
60
- status: 'available',
61
- value: 'user@example.com',
62
- }),
63
- getCurrentUser: logAction('getCurrentUser', {
64
- data: {
65
- displayName: 'John Doe',
66
- avatarImage: {url: 'https://example.com/avatar.jpg'},
67
- },
68
- }),
69
-
70
- // Navigation
71
- navigateToDeeplink: logAction('navigateToDeeplink'),
72
- navigateToShop: logAction('navigateToShop'),
73
- navigateToProduct: logAction('navigateToProduct'),
74
- navigateToOrder: logAction('navigateToOrder'),
75
- navigateToCheckout: logAction('navigateToCheckout'),
76
- getDeeplinkPaths: logAction('getDeeplinkPaths', {
77
- matchers: ['/products', '/collections', '/cart'],
78
- }),
79
-
80
- // Product Actions
81
- addToCart: logAction('addToCart'),
82
- buyProduct: logAction('buyProduct'),
83
- buyProducts: logAction('buyProducts'),
84
- favorite: logAction('favorite'),
85
- unfavorite: logAction('unfavorite'),
86
- createOrderAttribution: logAction('createOrderAttribution'),
87
-
88
- // Tracking
89
- productRecommendationImpression: logAction('productRecommendationImpression'),
90
- productRecommendationClick: logAction('productRecommendationClick'),
91
- reportInteraction: logAction('reportInteraction'),
92
- reportImpression: logAction('reportImpression'),
93
- reportContentImpression: logAction('reportContentImpression'),
94
-
95
- // App Control
96
- hideEntryPoint: logAction('hideEntryPoint'),
97
- closeMini: logAction('closeMini'),
98
- showErrorScreen: logAction('showErrorScreen'),
99
- showErrorToast: logAction('showErrorToast'),
100
- showFeedbackSheet: logAction('showFeedbackSheet'),
101
-
102
- // Social
103
- followShop: logAction('followShop', true),
104
- unfollowShop: logAction('unfollowShop', false),
105
-
106
- // Storage
107
- getPersistedItem: logAction('getPersistedItem', 'stored-value'),
108
- setPersistedItem: logAction('setPersistedItem'),
109
- removePersistedItem: logAction('removePersistedItem'),
110
- getAllPersistedKeys: logAction('getAllPersistedKeys', [
111
- 'key1',
112
- 'key2',
113
- 'key3',
114
- ]),
115
- clearPersistedItems: logAction('clearPersistedItems'),
116
- getInternalPersistedItem: logAction(
117
- 'getInternalPersistedItem',
118
- 'internal-value'
119
- ),
120
- setInternalPersistedItem: logAction('setInternalPersistedItem'),
121
- removeInternalPersistedItem: logAction('removeInternalPersistedItem'),
122
- getAllInternalPersistedKeys: logAction('getAllInternalPersistedKeys', [
123
- 'internal-key1',
124
- 'internal-key2',
125
- ]),
126
- clearInternalPersistedItems: logAction('clearInternalPersistedItems'),
127
- getSecret: logAction('getSecret', 'secret-value'),
128
- setSecret: logAction('setSecret'),
129
- removeSecret: logAction('removeSecret'),
130
-
131
- // File Upload
132
- createImageUploadLink: logAction('createImageUploadLink', {
133
- targets: [
134
- {
135
- url: 'https://example.com/upload',
136
- resourceUrl: 'https://example.com/resource',
137
- parameters: [{name: 'key', value: 'upload-123'}],
138
- },
139
- ],
140
- }),
141
- completeImageUpload: logAction('completeImageUpload', {
142
- files: [
143
- {
144
- id: 'file-123',
145
- fileStatus: 'READY',
146
- image: {url: 'https://example.com/image.jpg'},
147
- },
148
- ],
149
- }),
150
-
151
- // Product Lists
152
- getProductLists: logAction('getProductLists', {
153
- data: [
154
- createProductList('list-1', 'Wishlist'),
155
- createProductList('list-2', 'Favorites'),
156
- ],
157
- pageInfo: createPagination(),
158
- }),
159
- getProductList: logAction('getProductList', {
160
- data: createProductList('list-1', 'Wishlist', [
161
- createProduct('prod-1', 'Sample Product'),
162
- ]),
163
- pageInfo: createPagination(),
164
- }),
165
- addProductList: logAction(
166
- 'addProductList',
167
- createProductList('list-3', 'New List')
168
- ),
169
- removeProductList: logAction('removeProductList'),
170
- renameProductList: logAction(
171
- 'renameProductList',
172
- createProductList('list-1', 'Updated Wishlist')
173
- ),
174
- addProductListItem: logAction('addProductListItem'),
175
- removeProductListItem: logAction('removeProductListItem'),
176
-
177
- // Recommendations & Search
178
- getRecommendedProducts: logAction('getRecommendedProducts', {
179
- data: [
180
- createProduct('rec-1', 'Recommended Product 1', '79.99'),
181
- createProduct('rec-2', 'Recommended Product 2', '129.99'),
182
- ],
183
- pageInfo: createPagination(),
184
- }),
185
- getRecommendedShops: logAction('getRecommendedShops', {
186
- data: [
187
- createShop('shop-1', 'Amazing Store'),
188
- createShop('shop-2', 'Best Deals Shop'),
189
- ],
190
- pageInfo: createPagination(),
191
- }),
192
- searchProductsByShop: logAction('searchProductsByShop', {
193
- data: [
194
- createProduct('search-1', 'Search Result 1', '59.99'),
195
- createProduct('search-2', 'Search Result 2', '89.99'),
196
- ],
197
- pageInfo: createPagination(),
198
- }),
199
- getPopularProducts: logAction('getPopularProducts', {
200
- data: [
201
- createProduct('pop-1', 'The Hero Snowboard', '702.95'),
202
- createProduct('pop-2', 'Snow Jacket', '605.95', '702.00'),
203
- createProduct('pop-3', 'Winter Gloves', '89.95'),
204
- ],
205
- pageInfo: createPagination(),
206
- }),
207
-
208
- // Orders & User Data
209
- getOrders: logAction('getOrders', {
210
- data: [
211
- {
212
- id: 'order-1',
213
- name: '#1001',
214
- lineItems: [
215
- {
216
- productTitle: 'Sample Product',
217
- variantTitle: 'Medium',
218
- quantity: 2,
219
- product: null,
220
- },
221
- ],
222
- shop: createShop('shop-1', 'Sample Shop'),
223
- },
224
- ],
225
- pageInfo: createPagination(),
226
- }),
227
- getBuyerAttributes: logAction('getBuyerAttributes', {
228
- data: {
229
- genderAffinity: Gender.Neutral,
230
- categoryAffinities: [
231
- {id: 'cat1', name: 'Electronics'},
232
- {id: 'cat2', name: 'Clothing'},
233
- ],
234
- },
235
- }),
236
- share: logAction('share'),
237
- }