@hanzo/commerce 7.6.3 → 7.6.5

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.
package/client.ts CHANGED
@@ -25,15 +25,6 @@
25
25
  * })
26
26
  * window.location.href = session.checkoutUrl
27
27
  *
28
- * // Tokenize a card (S2S — no external SDK required)
29
- * const token = await commerce.tokenizeCard({
30
- * number: '4242424242424242',
31
- * expiryMonth: '12',
32
- * expiryYear: '2027',
33
- * cvc: '123',
34
- * name: 'Jane Smith',
35
- * })
36
- *
37
28
  * // Subscribe
38
29
  * const sub = await commerce.subscribe({ planId: 'pro', userId: 'user_xyz' })
39
30
  * ```
@@ -254,28 +245,6 @@ export type CheckoutSessionResponse = {
254
245
  }
255
246
  }
256
247
 
257
- // ---------------------------------------------------------------------------
258
- // Card tokenization (S2S — no provider SDK needed on the frontend)
259
- // ---------------------------------------------------------------------------
260
-
261
- export type CardTokenizeRequest = {
262
- number: string
263
- expiryMonth: string // "01"–"12"
264
- expiryYear: string // "2025"–"2099"
265
- cvc: string
266
- name?: string
267
- zip?: string
268
- }
269
-
270
- export type CardTokenizeResult = {
271
- token: string
272
- brand: string
273
- last4: string
274
- expiryMonth: string
275
- expiryYear: string
276
- provider: string
277
- }
278
-
279
248
  // ---------------------------------------------------------------------------
280
249
  // Payment method types
281
250
  // ---------------------------------------------------------------------------
@@ -560,31 +529,6 @@ export class Commerce {
560
529
  })
561
530
  }
562
531
 
563
- // -----------------------------------------------------------------------
564
- // Card tokenization (S2S — no external SDK required)
565
- // -----------------------------------------------------------------------
566
-
567
- /**
568
- * Tokenize a payment card server-side.
569
- * No external SDK (Square.js, Stripe.js, etc.) is needed on the frontend.
570
- * The card data is sent to the Hanzo Commerce API over HTTPS, which
571
- * tokenizes via the configured payment provider (Stripe).
572
- */
573
- async tokenizeCard(card: CardTokenizeRequest, token?: string): Promise<CardTokenizeResult> {
574
- return this.request<CardTokenizeResult>('/v1/billing/card/tokenize', {
575
- method: 'POST',
576
- body: {
577
- number: card.number.replace(/\s/g, ''),
578
- expiry_month: card.expiryMonth,
579
- expiry_year: card.expiryYear,
580
- cvc: card.cvc,
581
- name: card.name,
582
- zip: card.zip,
583
- },
584
- token,
585
- })
586
- }
587
-
588
532
  // -----------------------------------------------------------------------
589
533
  // Payment methods
590
534
  // -----------------------------------------------------------------------
@@ -593,25 +537,25 @@ export class Commerce {
593
537
  params: {
594
538
  customerId: string
595
539
  type: PaymentMethodType
596
- token?: string // from tokenizeCard
540
+ token?: string // provider nonce (Square Web Payments SDK)
597
541
  providerRef?: string
598
542
  providerType?: string
599
543
  },
600
544
  token?: string,
601
545
  ): Promise<PaymentMethod> {
602
- return this.request<PaymentMethod>('/v1/billing/payment-methods', {
546
+ return this.request<PaymentMethod>('/v1/billing/methods', {
603
547
  method: 'POST', body: params, token,
604
548
  })
605
549
  }
606
550
 
607
551
  async listPaymentMethods(customerId: string, token?: string): Promise<PaymentMethod[]> {
608
- return this.request<PaymentMethod[]>('/v1/billing/payment-methods', {
552
+ return this.request<PaymentMethod[]>('/v1/billing/methods', {
609
553
  params: { customerId }, token,
610
554
  })
611
555
  }
612
556
 
613
557
  async removePaymentMethod(paymentMethodId: string, token?: string): Promise<void> {
614
- await this.request<void>(`/v1/billing/payment-methods/${paymentMethodId}`, {
558
+ await this.request<void>(`/v1/billing/methods/${paymentMethodId}`, {
615
559
  method: 'DELETE', token,
616
560
  })
617
561
  }
@@ -770,7 +714,7 @@ export class Commerce {
770
714
  },
771
715
  token?: string,
772
716
  ): Promise<PaymentMethod> {
773
- return this.request<PaymentMethod>('/v1/billing/payment-methods', {
717
+ return this.request<PaymentMethod>('/v1/billing/methods', {
774
718
  method: 'POST',
775
719
  body: { customerId: params.customerId, type: 'bank_account', plaidToken: params.plaidToken, bankName: params.bankName, accountType: params.accountType },
776
720
  token,
@@ -781,7 +725,7 @@ export class Commerce {
781
725
  params: { customerId: string; chain: string; address: string; label?: string },
782
726
  token?: string,
783
727
  ): Promise<PaymentMethod> {
784
- return this.request<PaymentMethod>('/v1/billing/payment-methods', {
728
+ return this.request<PaymentMethod>('/v1/billing/methods', {
785
729
  method: 'POST',
786
730
  body: { customerId: params.customerId, type: 'crypto', chain: params.chain, address: params.address, label: params.label },
787
731
  token,
@@ -43,9 +43,13 @@ const AddToCartWidget: React.FC<{
43
43
  }
44
44
  }, [])
45
45
 
46
- const ROUNDED_VAL = 'lg'
47
- // no need to safelist, since its used widely
48
- const ROUNDED_CLX = ` rounded-${ROUNDED_VAL} `
46
+ // `rounded-lg` written out, not interpolated. The note that used to sit here
47
+ // said safelisting was unnecessary "since its used widely" — which is true
48
+ // only for as long as some OTHER file in whatever the consumer scans spells it
49
+ // literally. Tailwind reads source text; a template literal is not a class
50
+ // name, so this one was borrowing a rule it did not ask for.
51
+ const ROUNDED_VAL = 'lg' // the `rounded=` variant prop on Button
52
+ const ROUNDED_CLX = ' rounded-lg ' // the class
49
53
 
50
54
  const ghost = variant === 'minimal'
51
55
  const outline = variant === 'outline'
@@ -148,6 +152,9 @@ const AddToCartWidget: React.FC<{
148
152
  </div>
149
153
  <Button
150
154
  aria-label={'Add another ' + item.title + ' to the cart'}
155
+ itemProp='potentialAction'
156
+ itemScope
157
+ itemType='https://schema.org/AddAction'
151
158
  size={ghost || priSmaller ? 'xs' : 'default'}
152
159
 
153
160
  variant={primary || priSmaller ? 'primary' : 'ghost'}
@@ -168,6 +175,9 @@ const AddToCartWidget: React.FC<{
168
175
  ) : (
169
176
  <Button
170
177
  aria-label={'Add a ' + item.title + ' to cart'}
178
+ itemProp='potentialAction'
179
+ itemScope
180
+ itemType='https://schema.org/AddAction'
171
181
  size={ghost || priSmaller ? 'xs' : 'default'}
172
182
  variant={ghost ? 'ghost' : (primary || priSmaller ? 'primary' : 'outline')}
173
183
  rounded={ROUNDED_VAL}
@@ -207,11 +207,19 @@ const BuyCard: React.FC<{
207
207
  </ApplyTypography>
208
208
  <NodeTabs
209
209
  className={cn(
210
- 'grid gap-0 align-stretch justify-normal ' + `grid-cols-${inst.current.requestedNode.subNodes!.length}`,
210
+ 'grid gap-0 align-stretch justify-normal',
211
211
  'border-b-2 rounded-lg border-level-3 mb-4 -mr-2 -ml-2 max-w-[460px] h-10', // height is needed for iPhone bug
212
212
  (scroll ? 'shrink-0' : ''),
213
- famWidgetClx
214
- )}
213
+ famWidgetClx
214
+ )}
215
+ // One column per sub-node. The count used to be interpolated into a
216
+ // column-count utility in the className, and Tailwind's extractor never
217
+ // saw it: the extractor reads source text, and a template literal is not
218
+ // a class name. The element got `display:grid` with the default
219
+ // `grid-template-columns: none`, so every family tab row stacked in a
220
+ // single column. `repeat(n, minmax(0, 1fr))` is exactly what the utility
221
+ // would have compiled to, and it holds for any n.
222
+ style={{ gridTemplateColumns: `repeat(${inst.current.requestedNode.subNodes!.length}, minmax(0, 1fr))` }}
215
223
  mobile={mobile}
216
224
  mutator={allVariants ?
217
225
  {
@@ -26,16 +26,33 @@ const ProductCard: React.FC<ProductCardProps> = ({
26
26
  ...props
27
27
  }) => (
28
28
  <Card
29
+ itemScope
30
+ itemType='https://schema.org/Product'
29
31
  className={cn('max-h-[360px] lg:min-w-[200px] max-w-[260px] overflow-hidden', className)}
30
32
  {...props}
31
33
  >
34
+ {/* Standard schema.org Product microdata. Neutral and analytics-agnostic:
35
+ track.js `annotate`, GA4 Merchant, or any reader picks up the item with
36
+ zero per-app config. Machine values live in <meta> so the visible,
37
+ formatted UI is untouched. */}
38
+ <meta itemProp='name' content={item.title} />
39
+ <meta itemProp='sku' content={item.sku} />
32
40
  <CardHeader className='w-full border-b p-6 min-h-[180px] max-h-[240px] relative'>
33
41
  <MediaStack media={item} constrainTo={{w: 700, h:700}} clx='p-6' />
34
42
  </CardHeader>
35
43
  <CardContent className='grid gap-2.5 p-4'>
36
44
  <CardTitle className='text-sm sm:text-base flex flex-col justify-start items-center line-clap-3'>
37
45
  {item.title.split(', ').map((e, i) => (<p key={i}>{e}</p>))}
38
- <p className='mt-1 font-semibold'>{formatCurrencyValue(item.price)}</p>
46
+ <p
47
+ className='mt-1 font-semibold'
48
+ itemProp='offers'
49
+ itemScope
50
+ itemType='https://schema.org/Offer'
51
+ >
52
+ <meta itemProp='price' content={String(item.price)} />
53
+ <meta itemProp='priceCurrency' content='USD' />
54
+ {formatCurrencyValue(item.price)}
55
+ </p>
39
56
  </CardTitle>
40
57
  </CardContent>
41
58
  <CardFooter className='p-4 flex flex-row justify-center'>
@@ -20,6 +20,25 @@ import QuantityIndicator from './quantity-indicator'
20
20
 
21
21
  const DEFAULT_CONSTRAINT = {h: 36, w: 72} // // Apple suggest 42px for clickability
22
22
 
23
+ // `ImageDef.rounded` is a corner of the radius scale, spelled by whoever wrote
24
+ // the catalog. It used to be pasted straight into a class — `rounded-${...}` —
25
+ // and Tailwind reads source text, so no such rule was ever generated: setting
26
+ // `rounded: 'full'` produced LESS rounding than leaving it unset, because the
27
+ // truthy branch handed back a class name with nothing behind it while the
28
+ // default branch at least said `rounded-sm`. Writing the scale out is what makes
29
+ // the extractor see it. Anything off the scale falls back to the default, which
30
+ // is what the old code did by accident for every value.
31
+ const ROUNDED: Record<string, string> = {
32
+ none: 'rounded-none',
33
+ sm: 'rounded-sm',
34
+ md: 'rounded-md',
35
+ lg: 'rounded-lg',
36
+ xl: 'rounded-xl',
37
+ '2xl': 'rounded-2xl',
38
+ '3xl': 'rounded-3xl',
39
+ full: 'rounded-full',
40
+ }
41
+
23
42
  const ImageRadioGroupItem = React.forwardRef<
24
43
  React.ElementRef<typeof RadioGroupPrimitive.Item>,
25
44
  Omit<React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>, 'value' | 'id'> & {
@@ -44,7 +63,7 @@ const ImageRadioGroupItem = React.forwardRef<
44
63
  'focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
45
64
  className,
46
65
  'overflow-hidden',
47
- img?.rounded ? `rounded-${img.rounded}` : 'rounded-sm'
66
+ (img?.rounded && ROUNDED[img.rounded]) || 'rounded-sm'
48
67
  )}
49
68
  {...props}
50
69
  id={item.sku}
@@ -151,12 +170,18 @@ const ButtonItemSelector: React.FC<ItemSelectorProps> = observer(({
151
170
 
152
171
  return showButtonIfOnlyOne || items.length > 1 ? (
153
172
  <RadioGroup
154
- className={cn(
155
- (scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')),
156
- (horizButtons ? `grid grid-cols-${items.length} gap-1` : 'flex flex-col'),
173
+ className={cn(
174
+ (scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')),
175
+ (horizButtons ? 'grid gap-1' : 'flex flex-col'),
157
176
  (mobile && showText) ? 'min-w-pr-50' : '',
158
177
  clx,
159
178
  )}
179
+ // One column per item, same as the family tabs: the count is data, and
180
+ // data cannot be a class name. Interpolating it produced a rule only when
181
+ // the number happened to be 3, because two other files in this package
182
+ // spell that one literally — so this laid out correctly in a three-option
183
+ // selector and stacked in every other.
184
+ style={horizButtons ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : undefined}
160
185
  onValueChange={selectSku}
161
186
  value={itemRef.item ? itemRef.item.sku : ''}
162
187
  data-vaul-no-drag
@@ -12,6 +12,10 @@ const NodeTabs: React.FC<{
12
12
  mutator: StringMutator | StringArrayMutator
13
13
  multiple?: boolean
14
14
  className?: string
15
+ /** Layout the caller computes from data. A column count is a number, and a
16
+ * number cannot be a class name — Tailwind reads source text, so a template
17
+ * literal never becomes a rule. */
18
+ style?: React.CSSProperties
15
19
  buttonClx?: string
16
20
  itemClx?: string
17
21
  mobile?: boolean
@@ -24,6 +28,7 @@ const NodeTabs: React.FC<{
24
28
  buttonClx='',
25
29
  itemClx='',
26
30
  className='',
31
+ style,
27
32
  mobile=false,
28
33
  tabSize,
29
34
  show='image-and-label'
@@ -59,6 +64,7 @@ const NodeTabs: React.FC<{
59
64
  size={tabSize ? tabSize : (mobile ? 'sm' : 'default')}
60
65
  onValueChange={multiple ? handleChangeMultiple : handleChangeSingle}
61
66
  className={className}
67
+ style={style}
62
68
  {...roundedToSpread}
63
69
  >
64
70
  {levelNodes.map((treeNode, index) => {
package/dist/client.d.ts CHANGED
@@ -25,15 +25,6 @@
25
25
  * })
26
26
  * window.location.href = session.checkoutUrl
27
27
  *
28
- * // Tokenize a card (S2S — no external SDK required)
29
- * const token = await commerce.tokenizeCard({
30
- * number: '4242424242424242',
31
- * expiryMonth: '12',
32
- * expiryYear: '2027',
33
- * cvc: '123',
34
- * name: 'Jane Smith',
35
- * })
36
- *
37
28
  * // Subscribe
38
29
  * const sub = await commerce.subscribe({ planId: 'pro', userId: 'user_xyz' })
39
30
  * ```
@@ -222,22 +213,6 @@ export type CheckoutSessionResponse = {
222
213
  discountCents: number;
223
214
  };
224
215
  };
225
- export type CardTokenizeRequest = {
226
- number: string;
227
- expiryMonth: string;
228
- expiryYear: string;
229
- cvc: string;
230
- name?: string;
231
- zip?: string;
232
- };
233
- export type CardTokenizeResult = {
234
- token: string;
235
- brand: string;
236
- last4: string;
237
- expiryMonth: string;
238
- expiryYear: string;
239
- provider: string;
240
- };
241
216
  export type PaymentMethodType = 'card' | 'bank_account' | 'balance' | 'crypto' | 'wire';
242
217
  export type PaymentMethod = {
243
218
  id: string;
@@ -351,13 +326,6 @@ export declare class Commerce {
351
326
  * Supports coupons, referral tracking, and multiple currencies.
352
327
  */
353
328
  createCheckoutSession(params: CheckoutSessionRequest, token?: string): Promise<CheckoutSessionResponse>;
354
- /**
355
- * Tokenize a payment card server-side.
356
- * No external SDK (Square.js, Stripe.js, etc.) is needed on the frontend.
357
- * The card data is sent to the Hanzo Commerce API over HTTPS, which
358
- * tokenizes via the configured payment provider (Stripe).
359
- */
360
- tokenizeCard(card: CardTokenizeRequest, token?: string): Promise<CardTokenizeResult>;
361
329
  addPaymentMethod(params: {
362
330
  customerId: string;
363
331
  type: PaymentMethodType;
package/dist/client.js CHANGED
@@ -25,15 +25,6 @@
25
25
  * })
26
26
  * window.location.href = session.checkoutUrl
27
27
  *
28
- * // Tokenize a card (S2S — no external SDK required)
29
- * const token = await commerce.tokenizeCard({
30
- * number: '4242424242424242',
31
- * expiryMonth: '12',
32
- * expiryYear: '2027',
33
- * cvc: '123',
34
- * name: 'Jane Smith',
35
- * })
36
- *
37
28
  * // Subscribe
38
29
  * const sub = await commerce.subscribe({ planId: 'pro', userId: 'user_xyz' })
39
30
  * ```
@@ -201,43 +192,20 @@ export class Commerce {
201
192
  });
202
193
  }
203
194
  // -----------------------------------------------------------------------
204
- // Card tokenization (S2S — no external SDK required)
205
- // -----------------------------------------------------------------------
206
- /**
207
- * Tokenize a payment card server-side.
208
- * No external SDK (Square.js, Stripe.js, etc.) is needed on the frontend.
209
- * The card data is sent to the Hanzo Commerce API over HTTPS, which
210
- * tokenizes via the configured payment provider (Stripe).
211
- */
212
- async tokenizeCard(card, token) {
213
- return this.request('/v1/billing/card/tokenize', {
214
- method: 'POST',
215
- body: {
216
- number: card.number.replace(/\s/g, ''),
217
- expiry_month: card.expiryMonth,
218
- expiry_year: card.expiryYear,
219
- cvc: card.cvc,
220
- name: card.name,
221
- zip: card.zip,
222
- },
223
- token,
224
- });
225
- }
226
- // -----------------------------------------------------------------------
227
195
  // Payment methods
228
196
  // -----------------------------------------------------------------------
229
197
  async addPaymentMethod(params, token) {
230
- return this.request('/v1/billing/payment-methods', {
198
+ return this.request('/v1/billing/methods', {
231
199
  method: 'POST', body: params, token,
232
200
  });
233
201
  }
234
202
  async listPaymentMethods(customerId, token) {
235
- return this.request('/v1/billing/payment-methods', {
203
+ return this.request('/v1/billing/methods', {
236
204
  params: { customerId }, token,
237
205
  });
238
206
  }
239
207
  async removePaymentMethod(paymentMethodId, token) {
240
- await this.request(`/v1/billing/payment-methods/${paymentMethodId}`, {
208
+ await this.request(`/v1/billing/methods/${paymentMethodId}`, {
241
209
  method: 'DELETE', token,
242
210
  });
243
211
  }
@@ -366,14 +334,14 @@ export class Commerce {
366
334
  * plaidToken from Plaid Link or Square bank OAuth.
367
335
  */
368
336
  async addBankAccount(params, token) {
369
- return this.request('/v1/billing/payment-methods', {
337
+ return this.request('/v1/billing/methods', {
370
338
  method: 'POST',
371
339
  body: { customerId: params.customerId, type: 'bank_account', plaidToken: params.plaidToken, bankName: params.bankName, accountType: params.accountType },
372
340
  token,
373
341
  });
374
342
  }
375
343
  async addCryptoWallet(params, token) {
376
- return this.request('/v1/billing/payment-methods', {
344
+ return this.request('/v1/billing/methods', {
377
345
  method: 'POST',
378
346
  body: { customerId: params.customerId, type: 'crypto', chain: params.chain, address: params.address, label: params.label },
379
347
  token,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,13 @@ const AddToCartWidget = observer(({ item, variant = 'primary', disabled = false,
21
21
  }
22
22
  };
23
23
  }, []);
24
- const ROUNDED_VAL = 'lg';
25
- // no need to safelist, since its used widely
26
- const ROUNDED_CLX = ` rounded-${ROUNDED_VAL} `;
24
+ // `rounded-lg` written out, not interpolated. The note that used to sit here
25
+ // said safelisting was unnecessary "since its used widely" — which is true
26
+ // only for as long as some OTHER file in whatever the consumer scans spells it
27
+ // literally. Tailwind reads source text; a template literal is not a class
28
+ // name, so this one was borrowing a rule it did not ask for.
29
+ const ROUNDED_VAL = 'lg'; // the `rounded=` variant prop on Button
30
+ const ROUNDED_CLX = ' rounded-lg '; // the class
27
31
  const ghost = variant === 'minimal';
28
32
  const outline = variant === 'outline';
29
33
  const primary = variant === 'primary';
@@ -78,8 +82,8 @@ const AddToCartWidget = observer(({ item, variant = 'primary', disabled = false,
78
82
  return (item.isInCart ? (_jsxs("div", { className: cn('flex flex-row items-stretch justify-between ',
79
83
  // should match 'xs' and 'default' button heights
80
84
  (ghost || priSmaller ? 'h-8' : 'h-9'), ROUNDED_CLX, (primary || priSmaller ? 'bg-primary' : 'bg-transparent'), (outline ? 'border border-muted' : ''), className), children: [_jsx(Button, { "aria-label": 'Remove a ' + item.title + ' from the cart', size: ghost || priSmaller ? 'xs' : 'default', variant: primary || priSmaller ? 'primary' : 'ghost', rounded: ghost ? 'full' : ROUNDED_VAL, className: cn('lg:min-w-0 lg:px-2 grow justify-start group', (ghost || priSmaller ? 'px-1' : 'px-2'), (outline ? 'hover:bg-transparent' : ''), buttonClx, 'h-auto self-stretch' // must be smaller than normal
81
- ), onClick: dec, children: (item.quantity > 1) ? (_jsx(Icons.minus, { className: iconClx, "aria-hidden": 'true' })) : (_jsx(Icons.trash, { className: iconClx, "aria-hidden": 'true' })) }, 'left'), _jsxs("div", { className: cn('grow-0 shrink-0 flex items-center cursor-default xs:px-2', priSmaller || ghost ? 'text-xs' : 'text-sm', digitClx), children: [item.quantity, ghost ? '' : ' in Bag'] }), _jsx(Button, { "aria-label": 'Add another ' + item.title + ' to the cart', size: ghost || priSmaller ? 'xs' : 'default', variant: primary || priSmaller ? 'primary' : 'ghost', rounded: ghost ? 'full' : ROUNDED_VAL, className: cn('lg:min-w-0 lg:px-2 grow justify-end group', (ghost || priSmaller ? 'px-1' : 'px-2'), (outline ? 'hover:bg-transparent' : ''), buttonClx, 'h-auto self-stretch' // must be smaller than normal
82
- ), onClick: inc, children: _jsx(Icons.plus, { className: iconClx, "aria-hidden": 'true' }) }, 'right')] })) : (_jsxs(Button, { "aria-label": 'Add a ' + item.title + ' to cart', size: ghost || priSmaller ? 'xs' : 'default', variant: ghost ? 'ghost' : (primary || priSmaller ? 'primary' : 'outline'), rounded: ROUNDED_VAL, className: cn(buttonClx, className), onClick: inc, children: [_jsx("span", { className: 'm1-1', children: "Add" }), _jsx(Icons.plus, { className: 'h-5 w-5 ml-1', "aria-hidden": 'true' })] })));
85
+ ), onClick: dec, children: (item.quantity > 1) ? (_jsx(Icons.minus, { className: iconClx, "aria-hidden": 'true' })) : (_jsx(Icons.trash, { className: iconClx, "aria-hidden": 'true' })) }, 'left'), _jsxs("div", { className: cn('grow-0 shrink-0 flex items-center cursor-default xs:px-2', priSmaller || ghost ? 'text-xs' : 'text-sm', digitClx), children: [item.quantity, ghost ? '' : ' in Bag'] }), _jsx(Button, { "aria-label": 'Add another ' + item.title + ' to the cart', itemProp: 'potentialAction', itemScope: true, itemType: 'https://schema.org/AddAction', size: ghost || priSmaller ? 'xs' : 'default', variant: primary || priSmaller ? 'primary' : 'ghost', rounded: ghost ? 'full' : ROUNDED_VAL, className: cn('lg:min-w-0 lg:px-2 grow justify-end group', (ghost || priSmaller ? 'px-1' : 'px-2'), (outline ? 'hover:bg-transparent' : ''), buttonClx, 'h-auto self-stretch' // must be smaller than normal
86
+ ), onClick: inc, children: _jsx(Icons.plus, { className: iconClx, "aria-hidden": 'true' }) }, 'right')] })) : (_jsxs(Button, { "aria-label": 'Add a ' + item.title + ' to cart', itemProp: 'potentialAction', itemScope: true, itemType: 'https://schema.org/AddAction', size: ghost || priSmaller ? 'xs' : 'default', variant: ghost ? 'ghost' : (primary || priSmaller ? 'primary' : 'outline'), rounded: ROUNDED_VAL, className: cn(buttonClx, className), onClick: inc, children: [_jsx("span", { className: 'm1-1', children: "Add" }), _jsx(Icons.plus, { className: 'h-5 w-5 ml-1', "aria-hidden": 'true' })] })));
83
87
  });
84
88
  export default AddToCartWidget;
85
89
  //# sourceMappingURL=add-to-cart-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-to-cart-widget.js","sourceRoot":"","sources":["../../components/add-to-cart-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-to-cart-widget.js","sourceRoot":"","sources":["../../components/add-to-cart-widget.tsx"],"names":[],"mappings":"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"}
@@ -95,8 +95,16 @@ const BuyCard = observer(({ skuPath, scrollAfter = 5, scrollHeightClx = 'h-[80vh
95
95
  allVariants ? cmmc.selectedItems : cmmc.selectedFamilies[0].products;
96
96
  const TitleArea = ({ title, byline, clx = '' }) => (_jsxs(ApplyTypography, { className: clx, children: [_jsx("h3", { children: title }), byline && (_jsx("h6", { children: byline }))] }));
97
97
  const scroll = !!(itemsToShow && itemsToShow.length > scrollAfter);
98
- return (_jsxs("div", { className: cn('px-4 md:px-6 pt-3 pb-4 flex flex-col items-center min-h-[60vh]', clx, scroll ? scrollHeightClx : 'h-auto'), children: [inst.current?.requestedNode && (_jsxs(_Fragment, { children: [_jsxs(ApplyTypography, { className: 'mb-2 ' + (scroll ? 'shrink-0' : ''), children: [_jsx("h3", { children: inst.current.requestedNode.label }), inst.current.requestedNode.subNodesLabel && (_jsx("h6", { className: '!text-center font-bold text-muted mt-3', children: inst.current.requestedNode.subNodesLabel }))] }), _jsx(NodeTabs, { className: cn('grid gap-0 align-stretch justify-normal ' + `grid-cols-${inst.current.requestedNode.subNodes.length}`, 'border-b-2 rounded-lg border-level-3 mb-4 -mr-2 -ml-2 max-w-[460px] h-10', // height is needed for iPhone bug
99
- (scroll ? 'shrink-0' : ''), famWidgetClx), mobile: mobile, mutator: allVariants ?
98
+ return (_jsxs("div", { className: cn('px-4 md:px-6 pt-3 pb-4 flex flex-col items-center min-h-[60vh]', clx, scroll ? scrollHeightClx : 'h-auto'), children: [inst.current?.requestedNode && (_jsxs(_Fragment, { children: [_jsxs(ApplyTypography, { className: 'mb-2 ' + (scroll ? 'shrink-0' : ''), children: [_jsx("h3", { children: inst.current.requestedNode.label }), inst.current.requestedNode.subNodesLabel && (_jsx("h6", { className: '!text-center font-bold text-muted mt-3', children: inst.current.requestedNode.subNodesLabel }))] }), _jsx(NodeTabs, { className: cn('grid gap-0 align-stretch justify-normal', 'border-b-2 rounded-lg border-level-3 mb-4 -mr-2 -ml-2 max-w-[460px] h-10', // height is needed for iPhone bug
99
+ (scroll ? 'shrink-0' : ''), famWidgetClx),
100
+ // One column per sub-node. The count used to be interpolated into a
101
+ // column-count utility in the className, and Tailwind's extractor never
102
+ // saw it: the extractor reads source text, and a template literal is not
103
+ // a class name. The element got `display:grid` with the default
104
+ // `grid-template-columns: none`, so every family tab row stacked in a
105
+ // single column. `repeat(n, minmax(0, 1fr))` is exactly what the utility
106
+ // would have compiled to, and it holds for any n.
107
+ style: { gridTemplateColumns: `repeat(${inst.current.requestedNode.subNodes.length}, minmax(0, 1fr))` }, mobile: mobile, mutator: allVariants ?
100
108
  {
101
109
  get: () => (inst.current.currentFamTokenMutator.get()),
102
110
  set: setFamilyPath
@@ -1 +1 @@
1
- {"version":3,"file":"buy-card.js","sourceRoot":"","sources":["../../../components/buy/buy-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buy-card.js","sourceRoot":"","sources":["../../../components/buy/buy-card.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ import { Card, CardContent, CardFooter, CardHeader, CardTitle, MediaStack } from
4
4
  import { cn } from '@hanzo/ui/util';
5
5
  import { formatCurrencyValue } from '../../util';
6
6
  import AddToCartWidget from '../add-to-cart-widget';
7
- const ProductCard = ({ item, className, ...props }) => (_jsxs(Card, { className: cn('max-h-[360px] lg:min-w-[200px] max-w-[260px] overflow-hidden', className), ...props, children: [_jsx(CardHeader, { className: 'w-full border-b p-6 min-h-[180px] max-h-[240px] relative', children: _jsx(MediaStack, { media: item, constrainTo: { w: 700, h: 700 }, clx: 'p-6' }) }), _jsx(CardContent, { className: 'grid gap-2.5 p-4', children: _jsxs(CardTitle, { className: 'text-sm sm:text-base flex flex-col justify-start items-center line-clap-3', children: [item.title.split(', ').map((e, i) => (_jsx("p", { children: e }, i))), _jsx("p", { className: 'mt-1 font-semibold', children: formatCurrencyValue(item.price) })] }) }), _jsx(CardFooter, { className: 'p-4 flex flex-row justify-center', children: _jsx(AddToCartWidget, { item: item }) })] }));
7
+ const ProductCard = ({ item, className, ...props }) => (_jsxs(Card, { itemScope: true, itemType: 'https://schema.org/Product', className: cn('max-h-[360px] lg:min-w-[200px] max-w-[260px] overflow-hidden', className), ...props, children: [_jsx("meta", { itemProp: 'name', content: item.title }), _jsx("meta", { itemProp: 'sku', content: item.sku }), _jsx(CardHeader, { className: 'w-full border-b p-6 min-h-[180px] max-h-[240px] relative', children: _jsx(MediaStack, { media: item, constrainTo: { w: 700, h: 700 }, clx: 'p-6' }) }), _jsx(CardContent, { className: 'grid gap-2.5 p-4', children: _jsxs(CardTitle, { className: 'text-sm sm:text-base flex flex-col justify-start items-center line-clap-3', children: [item.title.split(', ').map((e, i) => (_jsx("p", { children: e }, i))), _jsxs("p", { className: 'mt-1 font-semibold', itemProp: 'offers', itemScope: true, itemType: 'https://schema.org/Offer', children: [_jsx("meta", { itemProp: 'price', content: String(item.price) }), _jsx("meta", { itemProp: 'priceCurrency', content: 'USD' }), formatCurrencyValue(item.price)] })] }) }), _jsx(CardFooter, { className: 'p-4 flex flex-row justify-center', children: _jsx(AddToCartWidget, { item: item }) })] }));
8
8
  export default ProductCard;
9
9
  //# sourceMappingURL=product-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-card.js","sourceRoot":"","sources":["../../../components/item/product-card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AAMnD,MAAM,WAAW,GAA+B,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,8DAA8D,EAAE,SAAS,CAAC,KACpF,KAAK,aAET,KAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,YAC9E,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,GAAG,EAAC,KAAK,GAAG,GACxD,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,kBAAkB,YACvC,MAAC,SAAS,IAAC,SAAS,EAAC,2EAA2E,aAC7F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAY,CAAC,IAAL,CAAC,CAAS,CAAC,CAAC,EAC3D,YAAG,SAAS,EAAC,oBAAoB,YAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAK,IAC7D,GACA,EACd,KAAC,UAAU,IAAC,SAAS,EAAC,kCAAkC,YACtD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,GAAI,GACpB,IACR,CACR,CAAA;AAGD,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"product-card.js","sourceRoot":"","sources":["../../../components/item/product-card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AAMnD,MAAM,WAAW,GAA+B,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,MAAC,IAAI,IACH,SAAS,QACT,QAAQ,EAAC,4BAA4B,EACrC,SAAS,EAAE,EAAE,CAAC,8DAA8D,EAAE,SAAS,CAAC,KACpF,KAAK,aAMT,eAAM,QAAQ,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAI,EAC7C,eAAM,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,GAAI,EAC1C,KAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,YAC9E,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,GAAG,EAAC,KAAK,GAAG,GACxD,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,kBAAkB,YACvC,MAAC,SAAS,IAAC,SAAS,EAAC,2EAA2E,aAC7F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAY,CAAC,IAAL,CAAC,CAAS,CAAC,CAAC,EAC3D,aACE,SAAS,EAAC,oBAAoB,EAC9B,QAAQ,EAAC,QAAQ,EACjB,SAAS,QACT,QAAQ,EAAC,0BAA0B,aAEnC,eAAM,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,EACtD,eAAM,QAAQ,EAAC,eAAe,EAAC,OAAO,EAAC,KAAK,GAAG,EAC9C,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAC9B,IACM,GACA,EACd,KAAC,UAAU,IAAC,SAAS,EAAC,kCAAkC,YACtD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,GAAI,GACpB,IACR,CACR,CAAA;AAGD,eAAe,WAAW,CAAA"}
@@ -8,9 +8,27 @@ import { cn } from '@hanzo/ui/util';
8
8
  import { accessItemOptions, formatCurrencyValue } from '../../util';
9
9
  import QuantityIndicator from './quantity-indicator';
10
10
  const DEFAULT_CONSTRAINT = { h: 36, w: 72 }; // // Apple suggest 42px for clickability
11
+ // `ImageDef.rounded` is a corner of the radius scale, spelled by whoever wrote
12
+ // the catalog. It used to be pasted straight into a class — `rounded-${...}` —
13
+ // and Tailwind reads source text, so no such rule was ever generated: setting
14
+ // `rounded: 'full'` produced LESS rounding than leaving it unset, because the
15
+ // truthy branch handed back a class name with nothing behind it while the
16
+ // default branch at least said `rounded-sm`. Writing the scale out is what makes
17
+ // the extractor see it. Anything off the scale falls back to the default, which
18
+ // is what the old code did by accident for every value.
19
+ const ROUNDED = {
20
+ none: 'rounded-none',
21
+ sm: 'rounded-sm',
22
+ md: 'rounded-md',
23
+ lg: 'rounded-lg',
24
+ xl: 'rounded-xl',
25
+ '2xl': 'rounded-2xl',
26
+ '3xl': 'rounded-3xl',
27
+ full: 'rounded-full',
28
+ };
11
29
  const ImageRadioGroupItem = React.forwardRef(({ item, constrainTo, className, ...props }, ref) => {
12
30
  const img = item.optionImg ? item.optionImg : item.img;
13
- return (_jsx(RadioGroupPrimitive.Item, { ref: ref, "data-vaul-no-drag": true, className: cn('ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', 'focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className, 'overflow-hidden', img?.rounded ? `rounded-${img.rounded}` : 'rounded-sm'), ...props, id: item.sku, value: item.sku, children: img ? (_jsx(Image, { def: img, constrainTo: constrainTo, preload: true, className: '' })) : ( // placeholder so things align
31
+ return (_jsx(RadioGroupPrimitive.Item, { ref: ref, "data-vaul-no-drag": true, className: cn('ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', 'focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className, 'overflow-hidden', (img?.rounded && ROUNDED[img.rounded]) || 'rounded-sm'), ...props, id: item.sku, value: item.sku, children: img ? (_jsx(Image, { def: img, constrainTo: constrainTo, preload: true, className: '' })) : ( // placeholder so things align
14
32
  _jsx("div", { style: { height: constrainTo.h, width: constrainTo.w } })) }));
15
33
  });
16
34
  ImageRadioGroupItem.displayName = 'ImageRadioGroupItem';
@@ -41,7 +59,13 @@ const ButtonItemSelector = observer(({ items, selectedItemRef: itemRef, selectSk
41
59
  const outerClx = ['h-10 flex items-center', justifyClx, paddingClx, bgClx, borderClx];
42
60
  return (_jsxs("div", { className: cn(...outerClx, itemClx), "data-vaul-no-drag": true, children: [_jsx(ImageRadioGroupItem, { item: item, constrainTo: DEFAULT_CONSTRAINT, className: cn(cursorClx, (scrollable ? '' : 'border-transparent border-2 data-[state=checked]:border-foreground'), showBoth ? 'mr-2' : (showImage ? '' : 'hidden')) }), _jsxs(Label, { htmlFor: item.sku, className: cn(showQuantity ? 'flex items-center' : 'block', textClx, cursorClx, (showImage ? '' : 'self-stretch w-full flex items-center justify-center px-3 py-2'), (showText ? '' : 'hidden')), children: [_jsx("div", { className: showQuantity ? 'grow' : '', children: labelAndPrice(item) }), showQuantity && (_jsx(QuantityIndicator, { item: item, clx: 'grow-0 shrink-0 h-[20px] ml-2', iconClx: selected ? 'fill-foreground' : 'fill-muted', digitClx: 'font-semibold text-primary-fg leading-none font-sans text-xxs' }))] })] }));
43
61
  });
44
- return showButtonIfOnlyOne || items.length > 1 ? (_jsx(RadioGroup, { className: cn((scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')), (horizButtons ? `grid grid-cols-${items.length} gap-1` : 'flex flex-col'), (mobile && showText) ? 'min-w-pr-50' : '', clx), onValueChange: selectSku, value: itemRef.item ? itemRef.item.sku : '', "data-vaul-no-drag": true, children: scrollable ? (_jsx(ScrollArea, { className: 'mt-2 w-full h-full py-0 border border-muted-2', "data-vaul-no-drag": true, children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) : (_jsx(_Fragment, { children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) })) : (_jsxs("div", { className: cn(showQuantity ? 'flex items-center' : 'block', soleItemClx), children: [_jsx("div", { className: showQuantity ? 'grow' : '', children: labelAndPrice(items[0]) }), showQuantity && (_jsx(QuantityIndicator, { item: items[0], clx: 'grow-0 shrink-0 font-semibold text-sm leading-none px-2' }))] }));
62
+ return showButtonIfOnlyOne || items.length > 1 ? (_jsx(RadioGroup, { className: cn((scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')), (horizButtons ? 'grid gap-1' : 'flex flex-col'), (mobile && showText) ? 'min-w-pr-50' : '', clx),
63
+ // One column per item, same as the family tabs: the count is data, and
64
+ // data cannot be a class name. Interpolating it produced a rule only when
65
+ // the number happened to be 3, because two other files in this package
66
+ // spell that one literally — so this laid out correctly in a three-option
67
+ // selector and stacked in every other.
68
+ style: horizButtons ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : undefined, onValueChange: selectSku, value: itemRef.item ? itemRef.item.sku : '', "data-vaul-no-drag": true, children: scrollable ? (_jsx(ScrollArea, { className: 'mt-2 w-full h-full py-0 border border-muted-2', "data-vaul-no-drag": true, children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) : (_jsx(_Fragment, { children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) })) : (_jsxs("div", { className: cn(showQuantity ? 'flex items-center' : 'block', soleItemClx), children: [_jsx("div", { className: showQuantity ? 'grow' : '', children: labelAndPrice(items[0]) }), showQuantity && (_jsx(QuantityIndicator, { item: items[0], clx: 'grow-0 shrink-0 font-semibold text-sm leading-none px-2' }))] }));
45
69
  });
46
70
  export default ButtonItemSelector;
47
71
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../components/item-selector/button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../components/item-selector/button.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ declare const NodeTabs: React.FC<{
5
5
  mutator: StringMutator | StringArrayMutator;
6
6
  multiple?: boolean;
7
7
  className?: string;
8
+ /** Layout the caller computes from data. A column count is a number, and a
9
+ * number cannot be a class name — Tailwind reads source text, so a template
10
+ * literal never becomes a rule. */
11
+ style?: React.CSSProperties;
8
12
  buttonClx?: string;
9
13
  itemClx?: string;
10
14
  mobile?: boolean;
@@ -4,7 +4,7 @@ import React, { useState } from 'react';
4
4
  import { ToggleGroup, ToggleGroupItem } from "@hanzo/ui/primitives";
5
5
  import { cn } from '@hanzo/ui/util';
6
6
  import NodeImage from './node-image';
7
- const NodeTabs = ({ levelNodes, mutator, multiple = false, buttonClx = '', itemClx = '', className = '', mobile = false, tabSize, show = 'image-and-label' }) => {
7
+ const NodeTabs = ({ levelNodes, mutator, multiple = false, buttonClx = '', itemClx = '', className = '', style, mobile = false, tabSize, show = 'image-and-label' }) => {
8
8
  const [last, setLast] = useState(undefined);
9
9
  const handleChangeMultiple = (selected) => {
10
10
  mutator.set(selected);
@@ -24,7 +24,7 @@ const NodeTabs = ({ levelNodes, mutator, multiple = false, buttonClx = '', itemC
24
24
  mutator.get()
25
25
  :
26
26
  mutator.get();
27
- return (_jsx(ToggleGroup, { type: multiple ? 'multiple' : 'single', value: val, variant: 'default', size: tabSize ? tabSize : (mobile ? 'sm' : 'default'), onValueChange: multiple ? handleChangeMultiple : handleChangeSingle, className: className, ...roundedToSpread, children: levelNodes.map((treeNode, index) => {
27
+ return (_jsx(ToggleGroup, { type: multiple ? 'multiple' : 'single', value: val, variant: 'default', size: tabSize ? tabSize : (mobile ? 'sm' : 'default'), onValueChange: multiple ? handleChangeMultiple : handleChangeSingle, className: className, style: style, ...roundedToSpread, children: levelNodes.map((treeNode, index) => {
28
28
  const roundedToSpread = {};
29
29
  if (!multiple) {
30
30
  roundedToSpread.rounded = 'none';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/node-tabs/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/node-tabs/index.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,6 @@ export type { StandaloneServiceOptions as ServiceOptions } from './service/impls
4
4
  export { useSyncSkuParamWithCurrentItem, getFacetValuesMutator, formatCurrencyValue, ProductMediaAccessor, LineItemRef } from './util';
5
5
  export * from './util/selection-ui-specifiers';
6
6
  export { Commerce, CommerceApiError, hanzoCommerce } from './client';
7
- export type { CommerceClientConfig, Balance, TierResponse, Transaction, Subscription, Plan, Payment, UsageRecord, Coupon, CouponType, CouponValidateResult, Discount, CheckoutItem, CheckoutSessionRequest, CheckoutSessionResponse, CardTokenizeRequest, CardTokenizeResult, PaymentMethod, PaymentMethodType, Referral, Referrer, Affiliate, CreditGrant, } from './client';
7
+ export type { CommerceClientConfig, Balance, TierResponse, Transaction, Subscription, Plan, Payment, UsageRecord, Coupon, CouponType, CouponValidateResult, Discount, CheckoutItem, CheckoutSessionRequest, CheckoutSessionResponse, PaymentMethod, PaymentMethodType, Referral, Referrer, Affiliate, CreditGrant, } from './client';
8
8
  export { Metering, DEFAULT_COMMERCE_URL, identityFromHeaders, HEADER_USER_ID, HEADER_ORG_ID, } from './metering';
9
9
  export type { MeteringConfig, MeteringIdentity, UsageEvent, RecordResult, AuthDecision, } from './metering';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAG5B,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACZ,MAAM,QAAQ,CAAA;AAEf,cAAc,gCAAgC,CAAA;AAE9C,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AA2BpE,4EAA4E;AAC5E,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAG5B,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACZ,MAAM,QAAQ,CAAA;AAEf,cAAc,gCAAgC,CAAA;AAE9C,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAyBpE,4EAA4E;AAC5E,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Annotation contract test for @hanzo/commerce ProductCard + AddToCartWidget.
3
+ *
4
+ * Proves the zero-app-config promise: rendering <ProductCard item={...}/> emits
5
+ * NEUTRAL, STANDARD self-description — schema.org Product/Offer microdata plus a
6
+ * schema.org AddAction on the add control — with no analytics code in the app.
7
+ * A tracker (track.js `annotate`, GA4 Merchant, any reader) captures the item
8
+ * and the add-to-cart intent from the DOM alone.
9
+ *
10
+ * Self-contained, mirroring metering.test.ts: no test-runner dependency. Run with:
11
+ *
12
+ * npx -y tsx pkgs/commerce/product-card.test.tsx
13
+ */
14
+ export {};
@@ -0,0 +1,96 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Annotation contract test for @hanzo/commerce ProductCard + AddToCartWidget.
4
+ *
5
+ * Proves the zero-app-config promise: rendering <ProductCard item={...}/> emits
6
+ * NEUTRAL, STANDARD self-description — schema.org Product/Offer microdata plus a
7
+ * schema.org AddAction on the add control — with no analytics code in the app.
8
+ * A tracker (track.js `annotate`, GA4 Merchant, any reader) captures the item
9
+ * and the add-to-cart intent from the DOM alone.
10
+ *
11
+ * Self-contained, mirroring metering.test.ts: no test-runner dependency. Run with:
12
+ *
13
+ * npx -y tsx pkgs/commerce/product-card.test.tsx
14
+ */
15
+ import React from 'react';
16
+ import { renderToStaticMarkup } from 'react-dom/server';
17
+ import ProductCard from './components/item/product-card';
18
+ // ---- tiny assert harness (mirrors metering.test.ts) ----
19
+ let failures = 0;
20
+ let count = 0;
21
+ function test(name, fn) {
22
+ count++;
23
+ try {
24
+ fn();
25
+ console.log(`ok - ${name}`);
26
+ }
27
+ catch (err) {
28
+ failures++;
29
+ console.error(`FAIL - ${name}`);
30
+ console.error(err.message);
31
+ }
32
+ }
33
+ function ok(cond, msg) {
34
+ if (!cond)
35
+ throw new Error(msg);
36
+ }
37
+ // A minimal LineItem-shaped mock: getters + cart methods, no media (MediaStack
38
+ // renders empty). Enough to drive the microdata the card carries.
39
+ const item = {
40
+ id: 'x1',
41
+ sku: 'LXB-AU-B',
42
+ familyId: 'LXB',
43
+ familyTitle: 'Bar',
44
+ optionLabel: '1oz',
45
+ price: 99.5,
46
+ get title() {
47
+ return 'Gold Bar, 1oz';
48
+ },
49
+ get quantity() {
50
+ return 0;
51
+ },
52
+ get isInCart() {
53
+ return false;
54
+ },
55
+ increment() { },
56
+ decrement() { },
57
+ };
58
+ const html = renderToStaticMarkup(_jsx(ProductCard, { item: item }));
59
+ // Attribute names are matched case-insensitively: HTML parsing and setAttribute
60
+ // both lowercase attribute names in the HTML namespace, so React's camelCase SSR
61
+ // serialization (itemType="…") becomes itemtype in the live DOM that annotate
62
+ // queries. The DOM-capture contract is proven end-to-end in track.js's tests.
63
+ const H = html.toLowerCase();
64
+ const has = (needle) => H.includes(needle.toLowerCase());
65
+ test('card is a schema.org Product', () => {
66
+ ok(has('itemtype="https://schema.org/Product"'), 'Product itemtype present');
67
+ ok(has('data-slot="card"'), 'shadcn data-slot preserved');
68
+ });
69
+ test('product name is machine-readable', () => {
70
+ ok(has('itemprop="name"'), 'name itemprop present');
71
+ ok(has('content="Gold Bar, 1oz"'), 'name value present');
72
+ });
73
+ test('product sku is machine-readable', () => {
74
+ ok(has('itemprop="sku"'), 'sku itemprop present');
75
+ ok(has('content="LXB-AU-B"'), 'sku value present');
76
+ });
77
+ test('price is a schema.org Offer with currency', () => {
78
+ ok(has('itemtype="https://schema.org/Offer"'), 'Offer itemtype present');
79
+ ok(has('itemprop="price"'), 'price itemprop present');
80
+ ok(has('content="99.5"'), 'raw price value present');
81
+ ok(has('itemprop="priceCurrency"'), 'priceCurrency itemprop present');
82
+ ok(has('content="USD"'), 'currency value present');
83
+ });
84
+ test('add control is a schema.org AddAction (maps to GA4 add_to_cart)', () => {
85
+ ok(has('itemtype="https://schema.org/AddAction"'), 'AddAction itemtype present');
86
+ ok(has('itemprop="potentialAction"'), 'action linked to the Product');
87
+ });
88
+ // summary
89
+ setTimeout(() => {
90
+ if (failures > 0) {
91
+ console.error(`\n${failures}/${count} tests FAILED`);
92
+ process.exit(1);
93
+ }
94
+ console.log(`\nall ${count} tests passed`);
95
+ }, 200);
96
+ //# sourceMappingURL=product-card.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-card.test.js","sourceRoot":"","sources":["../product-card.test.tsx"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -30,8 +30,6 @@ export type {
30
30
  CheckoutItem,
31
31
  CheckoutSessionRequest,
32
32
  CheckoutSessionResponse,
33
- CardTokenizeRequest,
34
- CardTokenizeResult,
35
33
  PaymentMethod,
36
34
  PaymentMethodType,
37
35
  Referral,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/commerce",
3
- "version": "7.6.3",
3
+ "version": "7.6.5",
4
4
  "description": "e-commerce framework.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -8,7 +8,7 @@
8
8
  "scope": "@hanzo"
9
9
  },
10
10
  "author": "Hanzo AI, Inc.",
11
- "license": "BSD-3-Clause",
11
+ "license": "MIT",
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "git+https://github.com/hanzoai/ui.git",
@@ -46,16 +46,16 @@
46
46
  "zod": "^3.23.8"
47
47
  },
48
48
  "devDependencies": {
49
+ "@hanzo/ui": "npm:@hanzo/ui-shadcn@^5",
49
50
  "@types/react": "19.2.14",
50
51
  "@types/react-dom": "19.2.3",
51
52
  "cross-fetch": "^4.1.0",
52
- "typescript": "^5.9.3",
53
- "@hanzo/ui": "npm:@hanzo/ui-shadcn@^5.9.1"
53
+ "typescript": "^5.9.3"
54
54
  },
55
55
  "scripts": {
56
56
  "lat": "npm show @hanzo/commerce version",
57
57
  "pub": "npm publish",
58
- "tc": "tsc",
58
+ "tc": "tsc --noEmit",
59
59
  "build": "tsc --outDir dist --declaration --emitDeclarationOnly false --module ESNext --esModuleInterop true --skipLibCheck true --sourceMap true"
60
60
  }
61
61
  }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Annotation contract test for @hanzo/commerce ProductCard + AddToCartWidget.
3
+ *
4
+ * Proves the zero-app-config promise: rendering <ProductCard item={...}/> emits
5
+ * NEUTRAL, STANDARD self-description — schema.org Product/Offer microdata plus a
6
+ * schema.org AddAction on the add control — with no analytics code in the app.
7
+ * A tracker (track.js `annotate`, GA4 Merchant, any reader) captures the item
8
+ * and the add-to-cart intent from the DOM alone.
9
+ *
10
+ * Self-contained, mirroring metering.test.ts: no test-runner dependency. Run with:
11
+ *
12
+ * npx -y tsx pkgs/commerce/product-card.test.tsx
13
+ */
14
+
15
+ import React from 'react'
16
+ import { renderToStaticMarkup } from 'react-dom/server'
17
+
18
+ import ProductCard from './components/item/product-card'
19
+
20
+ // ---- tiny assert harness (mirrors metering.test.ts) ----
21
+ let failures = 0
22
+ let count = 0
23
+ function test(name: string, fn: () => void) {
24
+ count++
25
+ try {
26
+ fn()
27
+ console.log(`ok - ${name}`)
28
+ } catch (err) {
29
+ failures++
30
+ console.error(`FAIL - ${name}`)
31
+ console.error((err as Error).message)
32
+ }
33
+ }
34
+ function ok(cond: boolean, msg: string) {
35
+ if (!cond) throw new Error(msg)
36
+ }
37
+
38
+ // A minimal LineItem-shaped mock: getters + cart methods, no media (MediaStack
39
+ // renders empty). Enough to drive the microdata the card carries.
40
+ const item: any = {
41
+ id: 'x1',
42
+ sku: 'LXB-AU-B',
43
+ familyId: 'LXB',
44
+ familyTitle: 'Bar',
45
+ optionLabel: '1oz',
46
+ price: 99.5,
47
+ get title() {
48
+ return 'Gold Bar, 1oz'
49
+ },
50
+ get quantity() {
51
+ return 0
52
+ },
53
+ get isInCart() {
54
+ return false
55
+ },
56
+ increment() {},
57
+ decrement() {},
58
+ }
59
+
60
+ const html = renderToStaticMarkup(<ProductCard item={item} />)
61
+
62
+ // Attribute names are matched case-insensitively: HTML parsing and setAttribute
63
+ // both lowercase attribute names in the HTML namespace, so React's camelCase SSR
64
+ // serialization (itemType="…") becomes itemtype in the live DOM that annotate
65
+ // queries. The DOM-capture contract is proven end-to-end in track.js's tests.
66
+ const H = html.toLowerCase()
67
+ const has = (needle: string) => H.includes(needle.toLowerCase())
68
+
69
+ test('card is a schema.org Product', () => {
70
+ ok(has('itemtype="https://schema.org/Product"'), 'Product itemtype present')
71
+ ok(has('data-slot="card"'), 'shadcn data-slot preserved')
72
+ })
73
+
74
+ test('product name is machine-readable', () => {
75
+ ok(has('itemprop="name"'), 'name itemprop present')
76
+ ok(has('content="Gold Bar, 1oz"'), 'name value present')
77
+ })
78
+
79
+ test('product sku is machine-readable', () => {
80
+ ok(has('itemprop="sku"'), 'sku itemprop present')
81
+ ok(has('content="LXB-AU-B"'), 'sku value present')
82
+ })
83
+
84
+ test('price is a schema.org Offer with currency', () => {
85
+ ok(has('itemtype="https://schema.org/Offer"'), 'Offer itemtype present')
86
+ ok(has('itemprop="price"'), 'price itemprop present')
87
+ ok(has('content="99.5"'), 'raw price value present')
88
+ ok(has('itemprop="priceCurrency"'), 'priceCurrency itemprop present')
89
+ ok(has('content="USD"'), 'currency value present')
90
+ })
91
+
92
+ test('add control is a schema.org AddAction (maps to GA4 add_to_cart)', () => {
93
+ ok(has('itemtype="https://schema.org/AddAction"'), 'AddAction itemtype present')
94
+ ok(has('itemprop="potentialAction"'), 'action linked to the Product')
95
+ })
96
+
97
+ // summary
98
+ setTimeout(() => {
99
+ if (failures > 0) {
100
+ console.error(`\n${failures}/${count} tests FAILED`)
101
+ process.exit(1)
102
+ }
103
+ console.log(`\nall ${count} tests passed`)
104
+ }, 200)