@propeller-commerce/propeller-v2-vue-ui 0.3.15 → 0.3.16

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/CHANGELOG.md CHANGED
@@ -8,6 +8,39 @@ once it reaches 1.0. Until then (the `0.x` line) the public API may change
8
8
  between minor versions; breaking changes are called out below and in
9
9
  [MIGRATION.md](./MIGRATION.md).
10
10
 
11
+ ## [0.3.16] - 2026-06-19
12
+
13
+ ### Changed
14
+
15
+ - **Mobile product card layout (below 768px).** On narrow viewports the
16
+ `ProductCard` action area no longer overflows the card edge — the quantity
17
+ stepper and "Add to cart" button were clipped. Below `md` (768px):
18
+ - **List view** (`columns === 1`): the footer becomes two rows — stock and
19
+ price share the first row (`justify-between`), and the full-width
20
+ `AddToCart` (stepper + button) sits on the second row.
21
+ - **Grid view** (`columns > 1`): the footer becomes three rows — stock ↔
22
+ price, then a full-width stepper, then a full-width button.
23
+
24
+ At `md` and up the previous desktop layout is unchanged. This flows through
25
+ every surface that renders `ProductCard` / `ProductGrid` (catalog, search,
26
+ product slider). Implemented purely with responsive Tailwind classes — no
27
+ JavaScript width detection.
28
+
29
+ ### Added
30
+
31
+ - **Cart icon in the `AddToCart` button.** The submit button now renders a
32
+ built-in cart glyph (`.propeller-add-to-cart__icon`) before its label, drawn
33
+ with `currentColor` and `em` sizing so consumers can restyle its size,
34
+ colour and stroke via CSS.
35
+
36
+ ### Fixed
37
+
38
+ - **`CartItem` lost its card border and delete button.** Vue coerces an
39
+ unpassed `Boolean` prop to `false`, so the on-by-default `cardFrame` and
40
+ `showDelete` props evaluated to `false` and hid the card frame and the
41
+ delete (trash) button. Both now default to `true` explicitly via
42
+ `withDefaults`.
43
+
11
44
  ## [0.3.15] - 2026-06-11
12
45
 
13
46
  ### Fixed
@@ -168,6 +168,8 @@ declare const __VLS_component: import('vue').DefineComponent<CartItemProps, {},
168
168
  titleLinkable: boolean;
169
169
  showSku: boolean;
170
170
  enableIncrementDecrement: boolean;
171
+ cardFrame: boolean;
172
+ showDelete: boolean;
171
173
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
172
174
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
173
175
  export default _default;
@@ -280,6 +280,19 @@ declare function __VLS_template(): {
280
280
  showAvailability: boolean;
281
281
  labels: Record<string, string> | undefined;
282
282
  }): any;
283
+ stock?(_: {
284
+ product: Product;
285
+ inventory: import('@propeller-commerce/propeller-sdk-v2').ProductInventory | undefined;
286
+ showAvailability: boolean;
287
+ labels: Record<string, string> | undefined;
288
+ }): any;
289
+ price?(_: {
290
+ product: Product;
291
+ price: import('@propeller-commerce/propeller-sdk-v2').ProductPrice;
292
+ includeTax: boolean;
293
+ currency: string | undefined;
294
+ labels: Record<string, string> | undefined;
295
+ }): any;
283
296
  price?(_: {
284
297
  product: Product;
285
298
  price: import('@propeller-commerce/propeller-sdk-v2').ProductPrice;