@oxy.so/bloom 4.17.0 → 4.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/docs/adoption-matrix.mdx +4 -4
  2. package/docs/breadcrumb.mdx +11 -0
  3. package/docs/cart-panel.mdx +4 -2
  4. package/docs/checkout-summary.mdx +4 -0
  5. package/docs/chip.mdx +14 -1
  6. package/docs/dialog.mdx +5 -4
  7. package/docs/loading.mdx +11 -0
  8. package/docs/price-breakdown.mdx +17 -0
  9. package/docs/rating.mdx +22 -0
  10. package/docs/stepper.mdx +25 -0
  11. package/lib/commonjs/breadcrumb/Breadcrumb.js +36 -6
  12. package/lib/commonjs/breadcrumb/Breadcrumb.js.map +1 -1
  13. package/lib/commonjs/cart-panel/CartLine.js +32 -10
  14. package/lib/commonjs/cart-panel/CartLine.js.map +1 -1
  15. package/lib/commonjs/cart-panel/CartPanel.js +3 -0
  16. package/lib/commonjs/cart-panel/CartPanel.js.map +1 -1
  17. package/lib/commonjs/cart-panel/shared.js +2 -0
  18. package/lib/commonjs/cart-panel/shared.js.map +1 -1
  19. package/lib/commonjs/checkout-summary/CheckoutConfirm.js +11 -1
  20. package/lib/commonjs/checkout-summary/CheckoutConfirm.js.map +1 -1
  21. package/lib/commonjs/chip/Chip.js +3 -1
  22. package/lib/commonjs/chip/Chip.js.map +1 -1
  23. package/lib/commonjs/dialog/Dialog.js +15 -6
  24. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  25. package/lib/commonjs/dialog/Dialog.web.js +11 -5
  26. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  27. package/lib/commonjs/dialog/placement.js +18 -1
  28. package/lib/commonjs/dialog/placement.js.map +1 -1
  29. package/lib/commonjs/loading/Loading.js +7 -3
  30. package/lib/commonjs/loading/Loading.js.map +1 -1
  31. package/lib/commonjs/loading/Loading.web.js +7 -3
  32. package/lib/commonjs/loading/Loading.web.js.map +1 -1
  33. package/lib/commonjs/loading/LoadingBase.js +49 -2
  34. package/lib/commonjs/loading/LoadingBase.js.map +1 -1
  35. package/lib/commonjs/price-breakdown/PriceSummary.js +11 -1
  36. package/lib/commonjs/price-breakdown/PriceSummary.js.map +1 -1
  37. package/lib/commonjs/price-breakdown/PriceSummaryLine.js +13 -1
  38. package/lib/commonjs/price-breakdown/PriceSummaryLine.js.map +1 -1
  39. package/lib/commonjs/rating/Rating.js +90 -4
  40. package/lib/commonjs/rating/Rating.js.map +1 -1
  41. package/lib/commonjs/stepper/Stepper.js +18 -5
  42. package/lib/commonjs/stepper/Stepper.js.map +1 -1
  43. package/lib/module/breadcrumb/Breadcrumb.js +36 -6
  44. package/lib/module/breadcrumb/Breadcrumb.js.map +1 -1
  45. package/lib/module/cart-panel/CartLine.js +32 -10
  46. package/lib/module/cart-panel/CartLine.js.map +1 -1
  47. package/lib/module/cart-panel/CartPanel.js +3 -0
  48. package/lib/module/cart-panel/CartPanel.js.map +1 -1
  49. package/lib/module/cart-panel/shared.js +2 -0
  50. package/lib/module/cart-panel/shared.js.map +1 -1
  51. package/lib/module/checkout-summary/CheckoutConfirm.js +11 -1
  52. package/lib/module/checkout-summary/CheckoutConfirm.js.map +1 -1
  53. package/lib/module/chip/Chip.js +3 -1
  54. package/lib/module/chip/Chip.js.map +1 -1
  55. package/lib/module/dialog/Dialog.js +16 -7
  56. package/lib/module/dialog/Dialog.js.map +1 -1
  57. package/lib/module/dialog/Dialog.web.js +12 -6
  58. package/lib/module/dialog/Dialog.web.js.map +1 -1
  59. package/lib/module/dialog/placement.js +17 -1
  60. package/lib/module/dialog/placement.js.map +1 -1
  61. package/lib/module/loading/Loading.js +8 -4
  62. package/lib/module/loading/Loading.js.map +1 -1
  63. package/lib/module/loading/Loading.web.js +8 -4
  64. package/lib/module/loading/Loading.web.js.map +1 -1
  65. package/lib/module/loading/LoadingBase.js +49 -3
  66. package/lib/module/loading/LoadingBase.js.map +1 -1
  67. package/lib/module/price-breakdown/PriceSummary.js +11 -1
  68. package/lib/module/price-breakdown/PriceSummary.js.map +1 -1
  69. package/lib/module/price-breakdown/PriceSummaryLine.js +13 -1
  70. package/lib/module/price-breakdown/PriceSummaryLine.js.map +1 -1
  71. package/lib/module/rating/Rating.js +89 -4
  72. package/lib/module/rating/Rating.js.map +1 -1
  73. package/lib/module/stepper/Stepper.js +18 -5
  74. package/lib/module/stepper/Stepper.js.map +1 -1
  75. package/lib/typescript/commonjs/breadcrumb/Breadcrumb.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/breadcrumb/types.d.ts +7 -0
  77. package/lib/typescript/commonjs/breadcrumb/types.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/cart-panel/CartLine.d.ts +10 -5
  79. package/lib/typescript/commonjs/cart-panel/CartLine.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/cart-panel/CartPanel.d.ts +1 -1
  81. package/lib/typescript/commonjs/cart-panel/CartPanel.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/cart-panel/shared.d.ts +1 -1
  83. package/lib/typescript/commonjs/cart-panel/shared.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/cart-panel/types.d.ts +18 -0
  85. package/lib/typescript/commonjs/cart-panel/types.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/checkout-summary/CheckoutConfirm.d.ts +4 -1
  87. package/lib/typescript/commonjs/checkout-summary/CheckoutConfirm.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/checkout-summary/types.d.ts +6 -0
  89. package/lib/typescript/commonjs/checkout-summary/types.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/chip/Chip.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/chip/types.d.ts +8 -6
  92. package/lib/typescript/commonjs/chip/types.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/dialog/placement.d.ts +13 -2
  96. package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/dialog/types.d.ts +3 -2
  98. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/loading/Loading.web.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/loading/LoadingBase.d.ts +18 -0
  102. package/lib/typescript/commonjs/loading/LoadingBase.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/loading/types.d.ts +11 -0
  104. package/lib/typescript/commonjs/loading/types.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/price-breakdown/PriceSummary.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/price-breakdown/PriceSummaryLine.d.ts +3 -1
  107. package/lib/typescript/commonjs/price-breakdown/PriceSummaryLine.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/price-breakdown/types.d.ts +12 -0
  109. package/lib/typescript/commonjs/price-breakdown/types.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/rating/Rating.d.ts +3 -1
  111. package/lib/typescript/commonjs/rating/Rating.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/rating/index.d.ts +1 -1
  113. package/lib/typescript/commonjs/rating/index.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/rating/types.d.ts +20 -0
  115. package/lib/typescript/commonjs/rating/types.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/stepper/Stepper.d.ts +1 -1
  117. package/lib/typescript/commonjs/stepper/Stepper.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/stepper/types.d.ts +9 -0
  119. package/lib/typescript/commonjs/stepper/types.d.ts.map +1 -1
  120. package/lib/typescript/module/breadcrumb/Breadcrumb.d.ts.map +1 -1
  121. package/lib/typescript/module/breadcrumb/types.d.ts +7 -0
  122. package/lib/typescript/module/breadcrumb/types.d.ts.map +1 -1
  123. package/lib/typescript/module/cart-panel/CartLine.d.ts +10 -5
  124. package/lib/typescript/module/cart-panel/CartLine.d.ts.map +1 -1
  125. package/lib/typescript/module/cart-panel/CartPanel.d.ts +1 -1
  126. package/lib/typescript/module/cart-panel/CartPanel.d.ts.map +1 -1
  127. package/lib/typescript/module/cart-panel/shared.d.ts +1 -1
  128. package/lib/typescript/module/cart-panel/shared.d.ts.map +1 -1
  129. package/lib/typescript/module/cart-panel/types.d.ts +18 -0
  130. package/lib/typescript/module/cart-panel/types.d.ts.map +1 -1
  131. package/lib/typescript/module/checkout-summary/CheckoutConfirm.d.ts +4 -1
  132. package/lib/typescript/module/checkout-summary/CheckoutConfirm.d.ts.map +1 -1
  133. package/lib/typescript/module/checkout-summary/types.d.ts +6 -0
  134. package/lib/typescript/module/checkout-summary/types.d.ts.map +1 -1
  135. package/lib/typescript/module/chip/Chip.d.ts.map +1 -1
  136. package/lib/typescript/module/chip/types.d.ts +8 -6
  137. package/lib/typescript/module/chip/types.d.ts.map +1 -1
  138. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  139. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  140. package/lib/typescript/module/dialog/placement.d.ts +13 -2
  141. package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
  142. package/lib/typescript/module/dialog/types.d.ts +3 -2
  143. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  144. package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
  145. package/lib/typescript/module/loading/Loading.web.d.ts.map +1 -1
  146. package/lib/typescript/module/loading/LoadingBase.d.ts +18 -0
  147. package/lib/typescript/module/loading/LoadingBase.d.ts.map +1 -1
  148. package/lib/typescript/module/loading/types.d.ts +11 -0
  149. package/lib/typescript/module/loading/types.d.ts.map +1 -1
  150. package/lib/typescript/module/price-breakdown/PriceSummary.d.ts.map +1 -1
  151. package/lib/typescript/module/price-breakdown/PriceSummaryLine.d.ts +3 -1
  152. package/lib/typescript/module/price-breakdown/PriceSummaryLine.d.ts.map +1 -1
  153. package/lib/typescript/module/price-breakdown/types.d.ts +12 -0
  154. package/lib/typescript/module/price-breakdown/types.d.ts.map +1 -1
  155. package/lib/typescript/module/rating/Rating.d.ts +3 -1
  156. package/lib/typescript/module/rating/Rating.d.ts.map +1 -1
  157. package/lib/typescript/module/rating/index.d.ts +1 -1
  158. package/lib/typescript/module/rating/index.d.ts.map +1 -1
  159. package/lib/typescript/module/rating/types.d.ts +20 -0
  160. package/lib/typescript/module/rating/types.d.ts.map +1 -1
  161. package/lib/typescript/module/stepper/Stepper.d.ts +1 -1
  162. package/lib/typescript/module/stepper/Stepper.d.ts.map +1 -1
  163. package/lib/typescript/module/stepper/types.d.ts +9 -0
  164. package/lib/typescript/module/stepper/types.d.ts.map +1 -1
  165. package/package.json +1 -1
  166. package/src/breadcrumb/Breadcrumb.tsx +29 -4
  167. package/src/breadcrumb/types.ts +7 -0
  168. package/src/cart-panel/CartLine.tsx +30 -7
  169. package/src/cart-panel/CartPanel.tsx +3 -0
  170. package/src/cart-panel/shared.ts +11 -1
  171. package/src/cart-panel/types.ts +18 -0
  172. package/src/checkout-summary/CheckoutConfirm.tsx +9 -0
  173. package/src/checkout-summary/types.ts +6 -0
  174. package/src/chip/Chip.tsx +3 -1
  175. package/src/chip/types.ts +8 -6
  176. package/src/dialog/Dialog.tsx +19 -8
  177. package/src/dialog/Dialog.web.tsx +15 -7
  178. package/src/dialog/placement.ts +19 -2
  179. package/src/dialog/types.ts +3 -2
  180. package/src/loading/Loading.tsx +6 -2
  181. package/src/loading/Loading.web.tsx +6 -2
  182. package/src/loading/LoadingBase.tsx +55 -5
  183. package/src/loading/types.ts +11 -0
  184. package/src/price-breakdown/PriceSummary.tsx +10 -0
  185. package/src/price-breakdown/PriceSummaryLine.tsx +12 -0
  186. package/src/price-breakdown/types.ts +12 -0
  187. package/src/rating/Rating.tsx +87 -3
  188. package/src/rating/index.ts +1 -0
  189. package/src/rating/types.ts +21 -0
  190. package/src/stepper/Stepper.tsx +18 -5
  191. package/src/stepper/types.ts +9 -0
@@ -173,7 +173,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
173
173
  | `date-picker` | `@oxy.so/bloom/date-picker` + barrel | universal | `date-picker.mdx` | yes | 4 | reads | reads | | reads |
174
174
  | `delivery-slot` | `@oxy.so/bloom/delivery-slot` + barrel | universal | `delivery-slot.mdx` | yes | 2 | reads | | | |
175
175
  | `design-tokens` | `@oxy.so/bloom/design-tokens` + barrel | universal | `design-tokens.mdx` | yes | 3 | | | | |
176
- | `dialog` | `@oxy.so/bloom/dialog` + barrel | web fork | `dialog.mdx` | yes | 16 | | | | |
176
+ | `dialog` | `@oxy.so/bloom/dialog` + barrel | web fork | `dialog.mdx` | yes | 17 | | | | |
177
177
  | `directions` | `@oxy.so/bloom/directions` + barrel | universal | `directions.mdx` | yes | 2 | | | | |
178
178
  | `divider` | `@oxy.so/bloom/divider` + barrel | universal | `divider.mdx` | yes | 1 | | | | |
179
179
  | `dot-grid-meter` | `@oxy.so/bloom/dot-grid-meter` + barrel | universal | `dot-grid-meter.mdx` | yes | 2 | | | | |
@@ -213,7 +213,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
213
213
  | `listing-card` | `@oxy.so/bloom/listing-card` + barrel | universal | `listing-card.mdx` | yes | 4 | | | | |
214
214
  | `listing-details` | `@oxy.so/bloom/listing-details` + barrel | universal | `listing-details.mdx` | yes | 4 | | | | reads |
215
215
  | `listing-editor` | `@oxy.so/bloom/listing-editor` + barrel | universal | `listing-editor.mdx` | yes | 1 | **adaptation** | | | reads |
216
- | `loading` | `@oxy.so/bloom/loading` + barrel | web fork | `loading.mdx` | yes | 2 | | | | |
216
+ | `loading` | `@oxy.so/bloom/loading` + barrel | web fork | `loading.mdx` | yes | 3 | | | | |
217
217
  | `location-puck` | `@oxy.so/bloom/location-puck` + barrel | universal | `location-puck.mdx` | yes | 1 | | | | |
218
218
  | `lyrics` | `@oxy.so/bloom/lyrics` + barrel | universal | `lyrics.mdx` | yes | 2 | | | | |
219
219
  | `mail-compose` | `@oxy.so/bloom/mail-compose` + barrel | universal | `mail-compose.mdx` | yes | 2 | reads | | | reads |
@@ -257,7 +257,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
257
257
  | `place-list` | `@oxy.so/bloom/place-list` + barrel | universal | `place-list.mdx` | yes | 1 | | | | |
258
258
  | `place-reviews` | `@oxy.so/bloom/place-reviews` + barrel | universal | `place-reviews.mdx` | yes | 1 | | | | reads |
259
259
  | `popover` | `@oxy.so/bloom/popover` + barrel | web fork | `popover.mdx` | yes | 7 | | | reads | reads |
260
- | `portal` | `@oxy.so/bloom/portal` + barrel | web fork | `portal.mdx` | yes | 17 | | | | |
260
+ | `portal` | `@oxy.so/bloom/portal` + barrel | web fork | `portal.mdx` | yes | 18 | | | | |
261
261
  | `pressable-scale` | `@oxy.so/bloom/pressable-scale` + barrel | universal | `pressable-scale.mdx` | yes | 1 | | | | |
262
262
  | `price-breakdown` | `@oxy.so/bloom/price-breakdown` + barrel | universal | `price-breakdown.mdx` | yes | 3 | | | | reads |
263
263
  | `progressive-blur` | `@oxy.so/bloom/progressive-blur` + barrel | web fork | `progressive-blur.mdx` | yes | 1 | | | | |
@@ -304,7 +304,7 @@ The classification is an EQUALITY in `src/__tests__/adoption-matrix.test.ts`, no
304
304
  | `tenancy` | `@oxy.so/bloom/tenancy` + barrel | universal | `tenancy.mdx` | yes | 3 | | n/a¹ | | |
305
305
  | `text-field` | `@oxy.so/bloom/text-field` + barrel | universal | `text-field.mdx` | yes | 13 | reads | reads | | |
306
306
  | `textarea` | `@oxy.so/bloom/textarea` + barrel | universal | `textarea.mdx` | yes | 4 | reads | reads | | n/a¹ |
307
- | `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes | 302 | | | n/a¹ | reads |
307
+ | `theme` | `@oxy.so/bloom/theme` + barrel | web fork | `theme.mdx` | yes | 303 | | | n/a¹ | reads |
308
308
  | `theme-toggle` | `@oxy.so/bloom/theme-toggle` + barrel | universal | `theme-toggle.mdx` | yes | 1 | n/a¹ | | | |
309
309
  | `toast` | `@oxy.so/bloom/toast` + barrel | universal | `toast.mdx` | yes | 17 | | | | |
310
310
  | `tooltip` | `@oxy.so/bloom/tooltip` + barrel | web fork | `tooltip.mdx` | yes | 1 | | | | |
@@ -35,6 +35,16 @@ An item is a **link** with `href`, a **button** with `onPress`, and a plain labe
35
35
 
36
36
  The list scrolls horizontally, with no scrollbar, when it outgrows its container. Bloom uses a full pill, like every other pressable, rather than a 6px corner.
37
37
 
38
+ ### Right-to-left and custom separators
39
+
40
+ The chevron points the READING direction. In a right-to-left layout (`<html dir="rtl">` on web, `I18nManager.isRTL` natively) the row mirrors, and the chevron flips with it (`scaleX(-1)`, read from `useIsRtl()`) so it still points from each crumb to the next. The landmark also carries `dir` on web, so react-native-web resolves logical keys against it.
41
+
42
+ `separator` replaces the chevron with any node — a `"/"`, a dot, an icon. It is hidden from assistive tech like the chevron, and rendered as given: a custom glyph that has a direction is the caller's to mirror.
43
+
44
+ ```tsx
45
+ <Breadcrumb separator={<Text variant="caption-1-medium">/</Text>}>…</Breadcrumb>
46
+ ```
47
+
38
48
  ### `href` and routers
39
49
 
40
50
  On web an `href` item is a real `<a href>`, so middle-click and "open in new tab" work. Pass `onPress` too and the browser's navigation is prevented so the router can navigate instead. On native, an `href` item without `onPress` opens the URL with `Linking`.
@@ -48,6 +58,7 @@ On web an `href` item is a real `<a href>`, so middle-click and "open in new tab
48
58
  | Prop | Type | Default | Description |
49
59
  |------|------|---------|-------------|
50
60
  | `Breadcrumb.accessibilityLabel?` | `string` | `'Breadcrumb'` | Names the landmark. |
61
+ | `Breadcrumb.separator?` | `ReactNode` | direction-aware chevron | Replaces the chevron between items; hidden from assistive tech. |
51
62
  | `BreadcrumbItem.href?` | `string` | — | Makes the item a link. |
52
63
  | `BreadcrumbItem.onPress?` | `() => void` | — | Makes the item a button (or routes an `href`). |
53
64
  | `BreadcrumbItem.current?` | `boolean` | `false` | The active page. |
@@ -43,10 +43,12 @@ Inline in a desktop sidebar it is dropped in a `Card`; on a phone it is what a `
43
43
 
44
44
  Which is why the vendor is a header and not a field on every line. Switching vendor is a different action — it empties the basket — and this component does not offer it.
45
45
 
46
- ## The stepper does not remove
46
+ ## The stepper does not remove — unless you ask
47
47
 
48
48
  `CartLine`'s stepper has a floor of **1**, and removing is its own control with its own accessible name. A stepper that deletes the line when you press `−` once too often is a destructive action hiding behind an arithmetic one, and it has no label saying so.
49
49
 
50
+ `removeInStepper` (on `CartLine`, and on `CartPanel` for every line) opts into the storefront pattern instead: at quantity 1 the `−` becomes a trash button NAMED as removal — `removeLabel`, default `"Remove <name>"` — through `Stepper`'s `onRemove`, and the separate remove control is not drawn. It needs both `onQuantityChange` and `onRemove`. A sold-out line keeps the separate control, because its stepper is disabled and could not remove anything.
51
+
50
52
  The line is never pressable, which is what lets its controls live inside it: a pressable `Item` is a real `<button>` on web, and a control inside one is invalid HTML whose click also fires the row. Editing a line's options is `MenuItemOptions` in a sheet, opened from the dish rather than from a row that is mostly controls.
51
53
 
52
54
  ## The promo field has two states, not one
@@ -71,6 +73,6 @@ Once the order is placed it belongs to `order-status`: `OrderStatusTimeline` for
71
73
 
72
74
  ## Traps
73
75
 
74
- - **Every amount is a string.** `price` on a line is the line's own total, already multiplied by `quantity` **by the app**. Nothing here multiplies, converts or rounds.
76
+ - **Every amount is a string.** `price` on a line is the line's own total, already multiplied by `quantity` **by the app**. Nothing here multiplies, converts or rounds. A second currency is `secondaryPrice` (`"≈ 12,00 €"`), drawn de-emphasised under the price and added to the line's accessible name after it — `listing-card`'s `ListingPriceLine.secondary`, spelled after this family's `price`. The totals take `secondaryAmount` on their `PriceLine`s.
75
77
  - **The empty basket hides everything after the lines.** No tip picker, no promo field, no totals and no checkout button — each of them would be a control acting on nothing.
76
78
  - **`CartLine` takes the line's fields, not the entry.** `CartLineEntry` carries the `id` the panel keys and reports by; the standalone component takes the rest, so a caller cannot pass an id that reaches nothing.
@@ -88,3 +88,7 @@ screen and a button reading "Place order" are two, and the gap between them is w
88
88
  reader confirms a figure they last saw before a tip picker changed it. The separator is a
89
89
  middle dot: "Place order - €49.62" reads as a subtraction at a glance in a row that is
90
90
  otherwise full of money.
91
+
92
+ The button carries ONE amount — the one the charge is made in. A second currency is
93
+ `secondaryAmount` (`"≈ 49,62 €"`), pre-formatted like `amount` and drawn de-emphasised,
94
+ centred 8 under the button, above the terms.
package/docs/chip.mdx CHANGED
@@ -66,16 +66,29 @@ The hues sit BESIDE the accent recipe, not inside it: `resolveAccentColors` is u
66
66
 
67
67
  ### Role
68
68
 
69
- A pressable chip's ROLE decides which state attribute it carries, and the three are not interchangeable:
69
+ A pressable chip's ROLE decides which state attribute it carries, and the four are not interchangeable:
70
70
 
71
71
  | `role` | web | native |
72
72
  |---|---|---|
73
73
  | `button` (default) | `aria-pressed` | `accessibilityState.selected` |
74
+ | `checkbox` | `aria-checked` | `accessibilityState.checked` |
74
75
  | `radio` | `aria-checked` | `accessibilityState.checked` |
75
76
  | `tab` | `aria-selected` | `accessibilityState.selected` |
76
77
 
77
78
  `aria-pressed` is invalid on a radio and on a tab, which is what this component used to emit for every one of them. Put a `radio` inside a `role="radiogroup"` and a `tab` inside a `role="tablist"` — `ChipRow` takes that role for you.
78
79
 
80
+ A multi-select filter row (brands, sizes, amenities — any number on at once) is a `group` of `checkbox` chips: a screen reader then says "checked"/"not checked" rather than "pressed", which is what a filter is. `onCheckedChange` receives the next state.
81
+
82
+ ```tsx
83
+ <ChipRow accessibilityLabel="Brand">
84
+ {brands.map((brand) => (
85
+ <Chip key={brand} role="checkbox" checked={picked.has(brand)} onCheckedChange={(on) => toggle(brand, on)}>
86
+ {brand}
87
+ </Chip>
88
+ ))}
89
+ </ChipRow>
90
+ ```
91
+
79
92
  On web, `tabIndex` and `onKeyDown` are passed through for a roving-tabindex row (one tab stop, arrows move focus). Both are inert on native. A chip also forwards a ref to its pressable, so a row can focus one.
80
93
 
81
94
  ### `inverted`
package/docs/dialog.mdx CHANGED
@@ -6,7 +6,7 @@ order: 3
6
6
 
7
7
  # Dialog
8
8
 
9
- A single `<Dialog>` component for every overlay surface — centered modal, side-sheet (left/right drawer), or bottom-sheet — controlled by the `placement` prop. Same component, same props on every platform.
9
+ A single `<Dialog>` component for every overlay surface — centered modal, side-sheet (left/right or logical start/end drawer), or bottom-sheet — controlled by the `placement` prop. Same component, same props on every platform.
10
10
 
11
11
  <Callout variant="warning" title="Required providers (native)">
12
12
  Your app root **must** be wrapped with `GestureHandlerRootView` from `react-native-gesture-handler` for the bottom-sheet pan gestures to work. See [Getting started](/docs/bloom/main/getting-started).
@@ -105,7 +105,7 @@ Drop the declarative props entirely — `children` owns every pixel.
105
105
  | `children?` | `React.ReactNode` | — | Custom content rendered after the description. |
106
106
  | `onClose?` | `() => void` | — | Fires after the dialog finishes closing. In controlled mode, the host flips `open` to `false`. |
107
107
  | `contentPadding?` | `number` | `20` | Inner padding of the dialog body (px). Set `0` for custom children that own their insets. |
108
- | `width?` | `number` | `460` | Side-sheet width (px) on `left`/`right` placements. |
108
+ | `width?` | `number` | `460` | Side-sheet width (px) on `left`/`right`/`start`/`end` placements. |
109
109
  | `maxWidth?` | `number` | `480` | Centered-card max width (px). |
110
110
  | `maxHeightRatio?` | `number` | `0.9` | Bottom-sheet max height as a fraction of the viewport height. |
111
111
  | `inset?` | `{ top?; bottom?; left?; right? }` | — | Side-sheet inset (px) from the overlay container edges. |
@@ -123,7 +123,7 @@ Drop the declarative props entirely — `children` owns every pixel.
123
123
  `placement` accepts a single value or a **responsive map** resolved by `useWindowDimensions()`:
124
124
 
125
125
  ```ts
126
- type DialogPlacement = 'center' | 'left' | 'right' | 'bottom';
126
+ type DialogPlacement = 'center' | 'left' | 'right' | 'start' | 'end' | 'bottom';
127
127
 
128
128
  type ResponsiveDialogPlacement =
129
129
  | DialogPlacement
@@ -134,7 +134,8 @@ Breakpoints (px): `sm` 640 / `md` 768 / `lg` 1024 / `xl` 1280. The largest break
134
134
 
135
135
  Per-placement behavior:
136
136
  - `center` — DOM-portal modal (web) / detached floating card (native).
137
- - `left` / `right` — animated side-sheet anchored to the viewport edge.
137
+ - `left` / `right` — animated side-sheet anchored to that PHYSICAL viewport edge.
138
+ - `start` / `end` — the same side-sheet on the LOGICAL edge: `start` is the left in a left-to-right layout and the right in a right-to-left one (`end` the reverse), read from `useIsRtl()`, and the panel slides in from that edge. The matching `inset` side applies (`inset.right` for `start` in RTL). On native the panel is positioned with `insetInlineStart`/`insetInlineEnd`, which Yoga resolves against `I18nManager` — a physical `left`/`right` would be swapped by React Native's default `swapLeftAndRightInRTL`. On web the drawer is portaled outside any `dir` context, so it takes the physical edge `useIsRtl()` names. An app that ships Arabic or Hebrew wants `start`/`end`: `{ base: 'bottom', md: 'start' }` is the mirrored store drawer.
138
139
  - `bottom` — reuses the cross-platform `BottomSheet` on BOTH web and native (drag-to-dismiss + internal scroll work everywhere). Custom `children` on bottom placement are rendered in a NON-scrollable body — children own scrolling.
139
140
 
140
141
  ### `DialogAction`
package/docs/loading.mdx CHANGED
@@ -52,6 +52,16 @@ For native-tailwind users, `className` overrides `color`:
52
52
  <Loading variant="spinner" className="text-primary" />
53
53
  ```
54
54
 
55
+ ## Accessibility
56
+
57
+ A spinner draws no words, so nothing but a name can tell a screen reader what is loading. Pass `accessibilityLabel` and the indicator becomes an indeterminate `progressbar`: `role="progressbar"`, `aria-label` and `aria-busy="true"` on web (flat `aria-*`, because react-native-web drops `accessibilityState`), the same role, label and busy state natively, and deliberately **no** `aria-valuenow` — that omission is how ARIA says "indeterminate". The `top` bar carries it only while `showLoading`.
58
+
59
+ ```tsx
60
+ <Loading accessibilityLabel="Loading results" />
61
+ ```
62
+
63
+ It is opt-in, so an unlabelled `Loading` renders exactly as before, with no role. That is right when the spinner sits INSIDE something already announcing the wait — an upload tile's own named progressbar — where a second one would say it twice.
64
+
55
65
  ## Props
56
66
 
57
67
  ### Shared
@@ -64,6 +74,7 @@ For native-tailwind users, `className` overrides `color`:
64
74
  | `className?` | `string` | NativeWind class. Overrides `color`. |
65
75
  | `style?` | `ViewStyle` | Container style. |
66
76
  | `showLoading?` | `boolean` | For animated variants — pause when false. |
77
+ | `accessibilityLabel?` | `string` | Names the indicator and makes it an indeterminate `progressbar`. See [Accessibility](#accessibility). |
67
78
  | `testID?` | `string` | |
68
79
 
69
80
  ### `spinner`
@@ -37,6 +37,23 @@ two — and "quietly" is the problem: a mis-formatted price still renders.
37
37
  In particular, **`tone="discount"` colours a credit; it does not create one.** Pass
38
38
  `"−€5.00"`, not `"5.00"`.
39
39
 
40
+ ### A second currency
41
+
42
+ `secondaryAmount` — on a `PriceLine` and on the `total` — is a second, pre-formatted
43
+ rendering of the same amount, drawn under it in `body-2-regular` at the secondary rung,
44
+ tabular and right-aligned: the buyer's currency beside the shop's.
45
+
46
+ ```tsx
47
+ <PriceSummary
48
+ lines={[{ label: 'Subtotal', amount: '$13.20', secondaryAmount: '≈ 12,00 €' }]}
49
+ total={{ label: 'Total', amount: '$15.20', secondaryAmount: '≈ 13,82 €' }}
50
+ />
51
+ ```
52
+
53
+ It is the same contract as `amount`: drawn as given, never converted. The name follows
54
+ the family's own `amount`; `listing-card`'s `ListingPriceLine.secondary` and
55
+ `cart-panel`'s `secondaryPrice` are the same idea on those families' `price`.
56
+
40
57
  ## The three tones
41
58
 
42
59
  | tone | what it is for |
package/docs/rating.mdx CHANGED
@@ -32,6 +32,11 @@ const [stars, setStars] = useState<number | null>(null);
32
32
  | `reviewsLabel` | the word after the count, default `"reviews"` — translate it |
33
33
  | `newLabel` | drawn instead of the value when there is no rating yet, default `"New"` |
34
34
  | `size` | `'small'` (14px star, body-2 text) or `'medium'` (default, 16px star, body text) |
35
+ | `variant` | `'compact'` (default, one star) or `'stars'` (five stars, filled fractionally, before the value) |
36
+ | `color` | paints the star(s), the value and the count — e.g. white over a brand-coloured hero |
37
+ | `starColor` | the filled star(s) only (a gold star beside neutral text); default `color` |
38
+ | `countColor` | the count only; default `color` when given, else text-secondary |
39
+ | `emptyStarColor` | `stars` only: the unfilled part of each star; default the border colour |
35
40
  | `accessibilityLabel` | replaces the composed name — pass a translated sentence |
36
41
  | `style`, `testID` | |
37
42
 
@@ -41,6 +46,23 @@ named "Rated 4.92 out of 5, 128 reviews", so a screen reader does not read the
41
46
  star, the number and the brackets as separate items. That sentence is English;
42
47
  apps in other languages pass `accessibilityLabel`.
43
48
 
49
+ ### Five stars, and colour
50
+
51
+ `variant="stars"` draws a row of five stars 2px apart instead of the single
52
+ star. Each is the unfilled star (`emptyStarColor`) with the filled star clipped
53
+ over it to its share of the value — 4.3 fills four stars and 30% of the fifth. A
54
+ string `value` is parsed for the fill and drawn as given. The clip is anchored
55
+ with a logical inset, so in a right-to-left layout the row fills from the right
56
+ (the root carries `dir` on web for react-native-web to resolve it). The row
57
+ stays ONE named image, like the compact rating.
58
+
59
+ ```tsx
60
+ <Rating variant="stars" value={4.3} count={128} color="#fff" emptyStarColor="rgba(255,255,255,0.35)" />
61
+ ```
62
+
63
+ Over a surface the theme's text pair cannot sit on — a brand-coloured hero — pass
64
+ `color`; the default text-primary/text-secondary are measured against the PAGE.
65
+
44
66
  ## `RatingBar`
45
67
 
46
68
  | prop | decides |
package/docs/stepper.mdx CHANGED
@@ -36,6 +36,7 @@ import { Stepper, StepperRow } from '@oxy.so/bloom/stepper';
36
36
  | `formatValue` | the drawn and announced text, e.g. `(n) => (n === 8 ? '8+' : String(n))` |
37
37
  | `accessibilityLabel` | **required** — what is being counted |
38
38
  | `decrementLabel` / `incrementLabel` | the buttons' names, default `"Decrease"` / `"Increase"` — translate them |
39
+ | `onRemove` / `removeLabel` | opt-in: at `min` the `−` becomes a trash button named `removeLabel` (default `"Remove"`) that calls `onRemove`; without it the button disables at `min` |
39
40
  | `style`, `testID` | the row; `testID` also derives `-decrement`, `-value`, `-increment` |
40
41
 
41
42
  `StepperRow` takes every `Stepper` prop plus `title`, `description`, `divider`
@@ -53,6 +54,30 @@ import { Stepper, StepperRow } from '@oxy.so/bloom/stepper';
53
54
  - **Row** title `headline-medium` text-primary over a `body-regular`
54
55
  text-secondary description, the stepper on the right, 16 above and below.
55
56
 
57
+ ## Remove at the floor
58
+
59
+ By default the stepper floors at `min` and the `−` disables there. A basket line
60
+ that should go from 1 to gone opts in with `onRemove`:
61
+
62
+ ```tsx
63
+ <Stepper
64
+ value={quantity}
65
+ min={1}
66
+ onValueChange={setQuantity}
67
+ onRemove={removeLine}
68
+ removeLabel={`Remove ${name}`}
69
+ accessibilityLabel={name}
70
+ />
71
+ ```
72
+
73
+ At `min` the `−` draws `RiDeleteBinLine`, is named `removeLabel`, stays enabled
74
+ and calls `onRemove` rather than `onValueChange`. Above `min` it is the ordinary
75
+ decrement. Only the BUTTON removes: ArrowDown, Home and the native `decrement`
76
+ action on the value still stop at `min`, because a key or a swipe that deletes is
77
+ a destructive action behind an arithmetic one. So that a keyboard user can
78
+ reach it, the remove button joins the tab order (the decrement never does). A
79
+ `disabled` stepper offers no removal.
80
+
56
81
  ## Accessibility
57
82
 
58
83
  The stepper is a `group` named by `accessibilityLabel` — or, inside a
@@ -11,6 +11,7 @@ var _useTheme = require("../theme/use-theme.js");
11
11
  var _Typography = require("../typography/Typography.js");
12
12
  var _tokens = require("../styles/tokens.js");
13
13
  var _useInteractionState = require("../hooks/use-interaction-state.js");
14
+ var _useIsRtl = require("../hooks/use-is-rtl.js");
14
15
  var _interactiveWebCss = require("../styles/interactive-web-css.js");
15
16
  var _shared = require("../button/shared.js");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -71,16 +72,28 @@ const BREADCRUMB_CSS = (0, _interactiveWebCss.interactiveWebCss)({
71
72
  });
72
73
  const IS_WEB = _reactNative.Platform.OS === 'web';
73
74
 
74
- /** `ChevronRightSmall`, path for path. */
75
+ /**
76
+ * `ChevronRightSmall`, path for path. It points the READING direction: the
77
+ * row mirrors in a right-to-left layout (flex order follows the direction on
78
+ * both platforms), so a fixed right-pointing chevron would point back at the
79
+ * crumb it came from. A glyph is a sign, not an inset — no logical style key
80
+ * can flip it — so it reads `useIsRtl()` and mirrors itself with `scaleX`.
81
+ */
75
82
  function Chevron({
76
- color
83
+ color,
84
+ rtl
77
85
  }) {
78
86
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
79
87
  "aria-hidden": true,
80
88
  style: {
81
89
  width: 12,
82
90
  height: 12,
83
- flexShrink: 0
91
+ flexShrink: 0,
92
+ ...(rtl ? {
93
+ transform: [{
94
+ scaleX: -1
95
+ }]
96
+ } : null)
84
97
  },
85
98
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
86
99
  width: 12,
@@ -98,14 +111,33 @@ function Chevron({
98
111
  }
99
112
  const BreadcrumbComponent = ({
100
113
  children,
114
+ separator,
101
115
  accessibilityLabel = 'Breadcrumb',
102
116
  style,
103
117
  testID
104
118
  }) => {
105
119
  const theme = (0, _useTheme.useTheme)();
120
+ const rtl = (0, _useIsRtl.useIsRtl)();
121
+ const directionProps = (0, _useIsRtl.useDirectionProps)();
106
122
  const palette = (0, _react.useMemo)(() => resolveBreadcrumbPalette(theme), [theme]);
107
123
  const items = _react.Children.toArray(children).filter(_react.isValidElement);
124
+ // A caller's separator is theirs to mirror (or not — a "/" needs nothing);
125
+ // it is hidden from assistive technology like the chevron, since the list
126
+ // structure already says where one crumb ends.
127
+ const between = separator !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
128
+ "aria-hidden": true,
129
+ style: {
130
+ flexShrink: 0,
131
+ flexDirection: 'row',
132
+ alignItems: 'center'
133
+ },
134
+ children: separator
135
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Chevron, {
136
+ color: palette.tertiary,
137
+ rtl: rtl
138
+ });
108
139
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
140
+ ...directionProps,
109
141
  role: "navigation",
110
142
  accessibilityLabel: accessibilityLabel,
111
143
  testID: testID,
@@ -130,9 +162,7 @@ const BreadcrumbComponent = ({
130
162
  paddingRight: 4
131
163
  },
132
164
  children: items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
133
- children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Chevron, {
134
- color: palette.tertiary
135
- }) : null, item]
165
+ children: [index > 0 ? between : null, item]
136
166
  }, item.key ?? index))
137
167
  })
138
168
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSvg","_useTheme","_Typography","_tokens","_useInteractionState","_interactiveWebCss","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","resolveBreadcrumbPalette","theme","c","colors","tertiary","textSecondary","secondary","text","hover","backgroundSecondary","ring","primary","STYLE_ID","SELECTOR","BREADCRUMB_CSS","interactiveWebCss","selector","varPrefix","base","transition","BUTTON_TRANSITION_MS","declarations","outlineOffset","extraRules","IS_WEB","Platform","OS","Chevron","color","jsx","View","style","width","height","flexShrink","children","viewBox","fill","Path","d","stroke","strokeWidth","strokeLinecap","BreadcrumbComponent","accessibilityLabel","testID","useTheme","palette","useMemo","items","Children","toArray","filter","isValidElement","role","flexDirection","alignItems","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","gap","paddingLeft","paddingRight","map","item","index","jsxs","Fragment","key","BreadcrumbItemComponent","icon","Icon","leading","href","onPress","current","textStyle","useInteractiveWebCss","state","hovered","onIn","onHoverIn","onOut","onHoverOut","useInteractionState","foreground","name","String","undefined","content","Text","selectable","variant","numberOfLines","pillStyle","marginLeft","marginRight","paddingTop","paddingBottom","borderRadius","full","backgroundColor","hoverProps","Pressable","dataSet","bloomBreadcrumbItem","event","preventDefault","Linking","openURL","Breadcrumb","exports","memo","displayName","BreadcrumbItem"],"sourceRoot":"../../../src","sources":["breadcrumb/Breadcrumb.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSvg","_useTheme","_Typography","_tokens","_useInteractionState","_useIsRtl","_interactiveWebCss","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","resolveBreadcrumbPalette","theme","c","colors","tertiary","textSecondary","secondary","text","hover","backgroundSecondary","ring","primary","STYLE_ID","SELECTOR","BREADCRUMB_CSS","interactiveWebCss","selector","varPrefix","base","transition","BUTTON_TRANSITION_MS","declarations","outlineOffset","extraRules","IS_WEB","Platform","OS","Chevron","color","rtl","jsx","View","style","width","height","flexShrink","transform","scaleX","children","viewBox","fill","Path","d","stroke","strokeWidth","strokeLinecap","BreadcrumbComponent","separator","accessibilityLabel","testID","useTheme","useIsRtl","directionProps","useDirectionProps","palette","useMemo","items","Children","toArray","filter","isValidElement","between","undefined","flexDirection","alignItems","role","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","gap","paddingLeft","paddingRight","map","item","index","jsxs","Fragment","key","BreadcrumbItemComponent","icon","Icon","leading","href","onPress","current","textStyle","useInteractiveWebCss","state","hovered","onIn","onHoverIn","onOut","onHoverOut","useInteractionState","foreground","name","String","content","Text","selectable","variant","numberOfLines","pillStyle","marginLeft","marginRight","paddingTop","paddingBottom","borderRadius","full","backgroundColor","hoverProps","Pressable","dataSet","bloomBreadcrumbItem","event","preventDefault","Linking","openURL","Breadcrumb","exports","memo","displayName","BreadcrumbItem"],"sourceRoot":"../../../src","sources":["breadcrumb/Breadcrumb.tsx"],"mappings":"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","ignoreList":[]}
@@ -26,12 +26,17 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
26
26
  * leading the square photo (56; 44 compact), washed while it is sold out
27
27
  * body the name; the chosen options on one quiet line; the note; then
28
28
  * the quantity control and remove, side by side
29
- * trailing the price, right-aligned, with an optional struck original
29
+ * trailing the price, right-aligned, with an optional struck original, and
30
+ * an optional `secondaryPrice` (a second currency) under it in the
31
+ * secondary colour
30
32
  *
31
- * THE STEPPER DOES NOT REMOVE. Its floor is 1, and removing is its own control
32
- * with its own name — a stepper that deletes the line when you press `−` once
33
- * too often is a destructive action behind an arithmetic one, and it has no
34
- * label saying so.
33
+ * BY DEFAULT THE STEPPER DOES NOT REMOVE. Its floor is 1, and removing is its
34
+ * own control with its own name — a stepper that deletes the line when you
35
+ * press `−` once too often is a destructive action behind an arithmetic one.
36
+ * `removeInStepper` opts into the storefront pattern instead: at 1 the `−`
37
+ * becomes a trash button NAMED as removal (`Stepper`'s `onRemove`), and the
38
+ * separate remove control is not drawn. A sold-out line keeps the separate
39
+ * control, because its stepper is disabled and could not remove anything.
35
40
  *
36
41
  * The row is never pressable, which is what lets the controls live in it: a
37
42
  * pressable `Item` is a real `<button>` on web and a control inside one is
@@ -53,6 +58,7 @@ function CartLineComponent(props) {
53
58
  note,
54
59
  price,
55
60
  originalPrice,
61
+ secondaryPrice,
56
62
  quantity,
57
63
  photo,
58
64
  photoVariant,
@@ -61,6 +67,7 @@ function CartLineComponent(props) {
61
67
  onQuantityChange,
62
68
  onRemove,
63
69
  removeLabel,
70
+ removeInStepper = false,
64
71
  density = 'comfortable',
65
72
  accessibilityLabel,
66
73
  style,
@@ -72,6 +79,10 @@ function CartLineComponent(props) {
72
79
  const g = _constants.CART_GEOMETRY[density];
73
80
  const compact = density === 'compact';
74
81
  const chosen = (0, _shared.optionsLine)(options);
82
+ const removeName = removeLabel ?? `Remove ${name}`;
83
+ // The stepper carries removal only when it is live; a disabled stepper
84
+ // (sold out) cannot, and the line still needs its remove control.
85
+ const stepperRemoves = removeInStepper && onRemove !== undefined && onQuantityChange !== undefined && !unavailable;
75
86
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Item, {
76
87
  role: "listitem",
77
88
  density: density,
@@ -86,12 +97,12 @@ function CartLineComponent(props) {
86
97
  washed: unavailable,
87
98
  testID: testID
88
99
  }),
89
- trailing: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
100
+ trailing: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
90
101
  style: {
91
102
  alignItems: 'flex-end',
92
103
  minWidth: 0
93
104
  },
94
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_parts.ListingPriceLines, {
105
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_parts.ListingPriceLines, {
95
106
  lines: [{
96
107
  price,
97
108
  originalPrice
@@ -100,7 +111,16 @@ function CartLineComponent(props) {
100
111
  color: paint.text,
101
112
  secondaryColor: paint.textSecondary,
102
113
  testID: testID ? `${testID}-price` : undefined
103
- })
114
+ }), secondaryPrice ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.Text, {
115
+ variant: compact ? 'caption-1-regular' : 'body-2-regular',
116
+ numberOfLines: 1,
117
+ testID: testID ? `${testID}-secondary-price` : undefined,
118
+ style: {
119
+ color: paint.textSecondary,
120
+ fontVariant: ['tabular-nums']
121
+ },
122
+ children: secondaryPrice
123
+ }) : null]
104
124
  }),
105
125
  style: style,
106
126
  testID: testID,
@@ -154,6 +174,8 @@ function CartLineComponent(props) {
154
174
  min: 1,
155
175
  disabled: unavailable,
156
176
  onValueChange: onQuantityChange,
177
+ onRemove: stepperRemoves ? onRemove : undefined,
178
+ removeLabel: stepperRemoves ? removeName : undefined,
157
179
  accessibilityLabel: name,
158
180
  testID: testID ? `${testID}-stepper` : undefined
159
181
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.Text, {
@@ -164,10 +186,10 @@ function CartLineComponent(props) {
164
186
  fontVariant: ['tabular-nums']
165
187
  },
166
188
  children: `×${quantity}`
167
- }), onRemove ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.GlyphButton, {
189
+ }), onRemove && !stepperRemoves ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.GlyphButton, {
168
190
  size: 32,
169
191
  icon: _RiDeleteBinLine.RiDeleteBinLine,
170
- accessibilityLabel: removeLabel ?? `Remove ${name}`,
192
+ accessibilityLabel: removeName,
171
193
  onPress: onRemove,
172
194
  testID: testID ? `${testID}-remove` : undefined
173
195
  }) : null]
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_button","_RiDeleteBinLine","_index","_parts","_parts2","_index2","_surfaceLevels","_useTheme","_index3","_constants","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CartLineComponent","props","name","options","note","price","originalPrice","quantity","photo","photoVariant","unavailable","unavailableLabel","onQuantityChange","onRemove","removeLabel","density","accessibilityLabel","style","testID","theme","useTheme","surface","useSurfaceFill","paint","useMemo","resolveCartPaint","g","CART_GEOMETRY","compact","chosen","optionsLine","jsx","Item","role","composeCartLineName","leading","MenuItemThumb","size","thumb","radius","thumbRadius","placeholder","tile","wash","washed","trailing","View","alignItems","minWidth","children","ListingPriceLines","lines","color","text","secondaryColor","textSecondary","undefined","jsxs","flex","gap","Text","variant","numberOfLines","textTertiary","flexDirection","marginTop","Stepper","value","min","disabled","onValueChange","fontVariant","GlyphButton","icon","RiDeleteBinLine","onPress","CartLine","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["cart-panel/CartLine.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_button","_RiDeleteBinLine","_index","_parts","_parts2","_index2","_surfaceLevels","_useTheme","_index3","_constants","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CartLineComponent","props","name","options","note","price","originalPrice","secondaryPrice","quantity","photo","photoVariant","unavailable","unavailableLabel","onQuantityChange","onRemove","removeLabel","removeInStepper","density","accessibilityLabel","style","testID","theme","useTheme","surface","useSurfaceFill","paint","useMemo","resolveCartPaint","g","CART_GEOMETRY","compact","chosen","optionsLine","removeName","stepperRemoves","undefined","jsx","Item","role","composeCartLineName","leading","MenuItemThumb","size","thumb","radius","thumbRadius","placeholder","tile","wash","washed","trailing","jsxs","View","alignItems","minWidth","children","ListingPriceLines","lines","color","text","secondaryColor","textSecondary","Text","variant","numberOfLines","fontVariant","flex","gap","textTertiary","flexDirection","marginTop","Stepper","value","min","disabled","onValueChange","GlyphButton","icon","RiDeleteBinLine","onPress","CartLine","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["cart-panel/CartLine.tsx"],"mappings":"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","ignoreList":[]}
@@ -176,6 +176,7 @@ function CartPanelComponent({
176
176
  lines,
177
177
  onLineQuantityChange,
178
178
  onLineRemove,
179
+ removeInStepper = false,
179
180
  minimumOrder,
180
181
  tip,
181
182
  promo,
@@ -231,6 +232,7 @@ function CartPanelComponent({
231
232
  note: line.note,
232
233
  price: line.price,
233
234
  originalPrice: line.originalPrice,
235
+ secondaryPrice: line.secondaryPrice,
234
236
  quantity: line.quantity,
235
237
  photo: line.photo,
236
238
  photoVariant: line.photoVariant,
@@ -239,6 +241,7 @@ function CartPanelComponent({
239
241
  density: density,
240
242
  onQuantityChange: onLineQuantityChange ? quantity => onLineQuantityChange(line.id, quantity) : undefined,
241
243
  onRemove: onLineRemove ? () => onLineRemove(line.id) : undefined,
244
+ removeInStepper: removeInStepper,
242
245
  testID: testID ? `${testID}-line-${line.id}` : undefined
243
246
  }, line.id))
244
247
  }) : empty ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyBasket, {