@shoplix-ai/block-kit 5.30.0 → 5.32.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.
package/README.md CHANGED
@@ -113,6 +113,36 @@ written against this package and nothing else from the runtime. It holds:
113
113
  merchant's or the catalog's.
114
114
  `countdownLeft` splits the whole seconds left into days, hours, minutes and
115
115
  seconds, none below zero, and all zero for a time that is no number.
116
+ `productSummaryLook` is the plain product summary's type as both renderers
117
+ draw it: the size and weight of the title, the price and the compare-at,
118
+ the space above the price row, whether a price with no words still draws
119
+ its empty words, and the pair the price and the compare-at stand in,
120
+ centred on each other at the space the merchant set between them (absent
121
+ where none was named). A title whose size the merchant left out stands on
122
+ the summary's 33 point line, and one at a size they set stands on the face's
123
+ own line, as Figma's automatic line does; a summary that names none of them
124
+ answers the summary it always drew.
125
+ `productSectionLook` is the plain look of the three product sections as both
126
+ renderers draw it, in the space the host gives the block and the inset its
127
+ title takes under a line: whether a section folds and how it stands as the
128
+ screen opens (null where no fold was named or the title is hidden), the
129
+ space between the screen's side and the section and between the section's
130
+ side and its words (the merchant's side space holds the section whole, its
131
+ line included; left out, the theme's gutter holds its words), the line's
132
+ thickness (1 where none was named, null where no line stands), the space
133
+ above the line, under it (the merchant's, else the section's own inset) and
134
+ below the section, the space between the title and the body (12), the
135
+ title's size, weight and ink (17 and 700 on a 24 line, the line only where
136
+ no size was named), the body's faces, the description's paragraphs and list
137
+ items, its lead paragraph, the specifications' labels and values and the
138
+ shipping notes, each at the size and line height the merchant set or its own
139
+ (a line height in percent of the size, each part's own line in proportion
140
+ where only a size was named) in the role they chose or its own ink, the
141
+ faces the description's own tables keep, and the fold's Melora chevron, 11
142
+ points across, with its box and its glyph's size on its own grid, in the
143
+ muted role; a boxed section reads none of the plain look's settings.
144
+ `PRODUCT_SPECS_ROLES` names the theme role each part of the specs
145
+ draws, the editor's words for the body's own inks among them.
116
146
  `announcementBarLook` is the announcement bar as both renderers draw it: the
117
147
  least height the merchant set (absent where none was named), the band's
118
148
  padding (7 points at the sides, and 7 above and below only where no height
package/dist/index.d.ts CHANGED
@@ -17,15 +17,17 @@ export { productCardColors } from './product-card.js';
17
17
  export type { ProductCardColors, ProductCardPart } from './product-card.js';
18
18
  export { productGalleryColors } from './product-gallery.js';
19
19
  export type { ProductGalleryColors, ProductGalleryPart } from './product-gallery.js';
20
- export { PRODUCT_SECTION_TITLES, productSectionTitle, productSpecRows, productSpecsColors, shippingRowsOf, } from './product-specs.js';
20
+ export { PRODUCT_SECTION_TITLES, PRODUCT_SPECS_ROLES, productSectionTitle, productSpecRows, productSpecsColors, shippingRowsOf, } from './product-specs.js';
21
21
  export type { ProductSpecRow, ProductSpecsColors, ProductSpecsPart, ShippingRow, } from './product-specs.js';
22
+ export { productSectionLook } from './product-section.js';
23
+ export type { ProductSectionLook } from './product-section.js';
22
24
  export { contentDirection } from './content-direction.js';
23
25
  export { descriptionFacts, descriptionParts, descriptionPartsOf, descriptionText, shownDescriptionParts, } from './description.js';
24
26
  export type { DescriptionFact, DescriptionPart, DescriptionRun } from './description.js';
25
27
  export { chosenPrice, variantLabel, variantRows } from './variant-rows.js';
26
28
  export type { ChosenPrice, VariantRow } from './variant-rows.js';
27
- export { productSummaryColors, savingText } from './product-summary.js';
28
- export type { ProductSummaryColors, ProductSummaryPart } from './product-summary.js';
29
+ export { productSummaryColors, productSummaryLook, savingText } from './product-summary.js';
30
+ export type { ProductSummaryColors, ProductSummaryFace, ProductSummaryLook, ProductSummaryPair, ProductSummaryPart, } from './product-summary.js';
29
31
  export { reviewsSlotColors } from './reviews-slot.js';
30
32
  export type { ReviewsSlotColors, ReviewsSlotPart } from './reviews-slot.js';
31
33
  export { blockSpace } from './block-space.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,11 +8,12 @@ export { resolveToken } from './tokens.js';
8
8
  export { addToCartColors } from './add-to-cart.js';
9
9
  export { productCardColors } from './product-card.js';
10
10
  export { productGalleryColors } from './product-gallery.js';
11
- export { PRODUCT_SECTION_TITLES, productSectionTitle, productSpecRows, productSpecsColors, shippingRowsOf, } from './product-specs.js';
11
+ export { PRODUCT_SECTION_TITLES, PRODUCT_SPECS_ROLES, productSectionTitle, productSpecRows, productSpecsColors, shippingRowsOf, } from './product-specs.js';
12
+ export { productSectionLook } from './product-section.js';
12
13
  export { contentDirection } from './content-direction.js';
13
14
  export { descriptionFacts, descriptionParts, descriptionPartsOf, descriptionText, shownDescriptionParts, } from './description.js';
14
15
  export { chosenPrice, variantLabel, variantRows } from './variant-rows.js';
15
- export { productSummaryColors, savingText } from './product-summary.js';
16
+ export { productSummaryColors, productSummaryLook, savingText } from './product-summary.js';
16
17
  export { reviewsSlotColors } from './reviews-slot.js';
17
18
  export { blockSpace } from './block-space.js';
18
19
  export { COLLECTION_CIRCLE_LOOK, collectionCardLook, collectionTileColors, } from './collection-tile.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { type ProductSectionLookSettings, type ThemeStyle } from '@shoplix-ai/sdui-schema';
2
+ import type { BlockSpace } from './block-space.js';
3
+ import type { SectionHeaderTypeface } from './section-header.js';
4
+ type BodyFace = Required<Pick<SectionHeaderTypeface, 'size' | 'lineHeight' | 'ink'>>;
5
+ /**
6
+ * The plain section as it draws. `fold` is null where the section never
7
+ * folds, its title hidden or no fold set. `sides.section` is the space between
8
+ * the screen's side and the section, its line and surface included, and
9
+ * `sides.content` the space between the section's side and its words. `line`
10
+ * is the thickness of the line above it, null where it draws none; `above`
11
+ * stands over that line, `top` under it (over the title where no line
12
+ * stands), and `below` under the section. The body's faces are the
13
+ * description's paragraphs and list items, its lead paragraph, the
14
+ * specifications' labels and values and the shipping notes; `table` is what
15
+ * the description's own tables keep.
16
+ */
17
+ export interface ProductSectionLook {
18
+ readonly fold: {
19
+ readonly open: boolean;
20
+ } | null;
21
+ readonly sides: {
22
+ readonly section: number;
23
+ readonly content: number;
24
+ };
25
+ readonly line: number | null;
26
+ readonly above: number;
27
+ readonly top: number;
28
+ readonly below: number;
29
+ readonly bodyGap: number;
30
+ readonly title: Omit<SectionHeaderTypeface, 'letterSpacing'>;
31
+ readonly body: {
32
+ readonly paragraph: BodyFace;
33
+ readonly lead: BodyFace;
34
+ readonly label: BodyFace;
35
+ readonly value: BodyFace;
36
+ readonly note: BodyFace;
37
+ };
38
+ readonly table: {
39
+ readonly label: BodyFace;
40
+ readonly value: BodyFace;
41
+ };
42
+ readonly chevron: {
43
+ readonly width: number;
44
+ readonly height: number;
45
+ readonly glyph: number;
46
+ readonly ink: string;
47
+ };
48
+ }
49
+ /**
50
+ * The plain section as the merchant set it, in the space the host gives its
51
+ * block and the inset its title takes under a line, and the section it always
52
+ * drew for every part they left out. A title whose size the merchant set
53
+ * stands on the face's own line, as Figma's automatic line does. The body's
54
+ * line height is written in percent of its size and drawn in points; where the
55
+ * merchant set none, each part keeps its own line in proportion to the size it
56
+ * draws at. A role the merchant chose for the body paints every part of it.
57
+ * A boxed section reads none of the plain look's settings.
58
+ */
59
+ export declare function productSectionLook(theme: ThemeStyle, settings: ProductSectionLookSettings, frame: {
60
+ readonly space: BlockSpace;
61
+ readonly inset: number;
62
+ }): ProductSectionLook;
63
+ export {};
64
+ //# sourceMappingURL=product-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-section.d.ts","sourceRoot":"","sources":["../src/product-section.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;AAErF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AA+CD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,0BAA0B,EACpC,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D,kBAAkB,CA2CpB"}
@@ -0,0 +1,87 @@
1
+ import { ICON_GLYPHS, PRODUCT_SECTION_DEFAULTS, sideGutter, } from '@shoplix-ai/sdui-schema';
2
+ import { chosenRole } from './part-colors.js';
3
+ import { productSpecsColors } from './product-specs.js';
4
+ const PLAIN_BODY = {
5
+ paragraph: { size: PRODUCT_SECTION_DEFAULTS.bodySize, line: PRODUCT_SECTION_DEFAULTS.bodyLine },
6
+ lead: { size: 16, line: 29 },
7
+ label: { size: 13, line: 22 },
8
+ value: { size: 14, line: 22 },
9
+ note: { size: 13, line: 20 },
10
+ };
11
+ const CHEVRON_WIDTH = 11;
12
+ /**
13
+ * The Melora chevron 11 points across, turned up or down. Its viewBox pads the
14
+ * glyph by the same space on each side, so the glyph's own box is the grid
15
+ * less twice that space: 8 wide and 15 tall on a 26 grid. Turned a quarter, it
16
+ * runs its height across.
17
+ */
18
+ function chevronOf(ink) {
19
+ const [padLeft, padTop, grid] = ICON_GLYPHS['chevron-back'].viewBox.split(' ').map(Number);
20
+ const glyphWidth = grid + 2 * padLeft;
21
+ const glyphHeight = grid + 2 * padTop;
22
+ return {
23
+ width: CHEVRON_WIDTH,
24
+ height: (CHEVRON_WIDTH * glyphWidth) / glyphHeight,
25
+ glyph: (CHEVRON_WIDTH * grid) / glyphHeight,
26
+ ink,
27
+ };
28
+ }
29
+ function faceOf(part, ink, settings) {
30
+ const size = settings.bodySize ?? part.size;
31
+ const lineHeight = settings.bodyLineHeight === undefined
32
+ ? (part.line * size) / part.size
33
+ : (size * settings.bodyLineHeight) / 100;
34
+ return { size, lineHeight, ink };
35
+ }
36
+ /**
37
+ * The plain section as the merchant set it, in the space the host gives its
38
+ * block and the inset its title takes under a line, and the section it always
39
+ * drew for every part they left out. A title whose size the merchant set
40
+ * stands on the face's own line, as Figma's automatic line does. The body's
41
+ * line height is written in percent of its size and drawn in points; where the
42
+ * merchant set none, each part keeps its own line in proportion to the size it
43
+ * draws at. A role the merchant chose for the body paints every part of it.
44
+ * A boxed section reads none of the plain look's settings.
45
+ */
46
+ export function productSectionLook(theme, settings, frame) {
47
+ const colors = productSpecsColors(theme);
48
+ const applied = settings.appearance === 'plain'
49
+ ? settings
50
+ : { showTitle: settings.showTitle, lineAbove: settings.lineAbove };
51
+ const ink = (own) => chosenRole(theme, applied.bodyInk, own);
52
+ const lined = applied.lineAbove === true;
53
+ return {
54
+ fold: applied.fold === undefined || applied.showTitle === false
55
+ ? null
56
+ : { open: applied.fold === 'open' },
57
+ sides: applied.gutter === undefined
58
+ ? { section: 0, content: sideGutter(theme) }
59
+ : { section: applied.gutter, content: 0 },
60
+ line: lined ? (applied.lineThickness ?? PRODUCT_SECTION_DEFAULTS.lineThickness) : null,
61
+ above: lined ? frame.space.above : 0,
62
+ top: lined ? (applied.titleGap ?? frame.inset) : frame.space.above,
63
+ below: frame.space.below,
64
+ bodyGap: applied.bodyGap ?? PRODUCT_SECTION_DEFAULTS.bodyGap,
65
+ title: {
66
+ size: applied.titleSize ?? PRODUCT_SECTION_DEFAULTS.titleSize,
67
+ weight: applied.titleWeight ?? PRODUCT_SECTION_DEFAULTS.titleWeight,
68
+ ink: colors.title,
69
+ ...(applied.titleSize === undefined
70
+ ? { lineHeight: PRODUCT_SECTION_DEFAULTS.titleLine }
71
+ : {}),
72
+ },
73
+ body: {
74
+ paragraph: faceOf(PLAIN_BODY.paragraph, ink(colors.body), applied),
75
+ lead: faceOf(PLAIN_BODY.lead, ink(colors.body), applied),
76
+ label: faceOf(PLAIN_BODY.label, ink(colors.ledger_label), applied),
77
+ value: faceOf(PLAIN_BODY.value, ink(colors.value_ink), applied),
78
+ note: faceOf(PLAIN_BODY.note, ink(colors.note), applied),
79
+ },
80
+ table: {
81
+ label: faceOf(PLAIN_BODY.label, colors.ledger_label, {}),
82
+ value: faceOf(PLAIN_BODY.value, colors.value_ink, {}),
83
+ },
84
+ chevron: chevronOf(theme.colors.muted),
85
+ };
86
+ }
87
+ //# sourceMappingURL=product-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-section.js","sourceRoot":"","sources":["../src/product-section.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ColorChoice, LocaleCode, ProductDisplay, ProductSectionProps, ProductSectionType, ProductSpecificationsBlock, ShippingReturnsBlock, ThemeStyle } from '@shoplix-ai/sdui-schema';
2
2
  /** The parts of the product specs, each with the theme role it draws unless a component token names another. */
3
- declare const PRODUCT_SPECS_ROLES: {
3
+ export declare const PRODUCT_SPECS_ROLES: {
4
4
  readonly surface: "elevated";
5
5
  readonly title: "text";
6
6
  readonly body: "text";
@@ -52,5 +52,4 @@ export declare function productSpecRows(specs: ProductSpecificationsBlock['props
52
52
  export type ShippingRow = NonNullable<ShippingReturnsBlock['props']['shipping']>[number];
53
53
  /** The shipping rows a card draws: every row whose title the buyer can read, in the merchant's order. */
54
54
  export declare function shippingRowsOf(shipping: readonly ShippingRow[] | undefined, language: LocaleCode, defaultLanguage: LocaleCode): ShippingRow[];
55
- export {};
56
55
  //# sourceMappingURL=product-specs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-specs.d.ts","sourceRoot":"","sources":["../src/product-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAOjC,gHAAgH;AAChH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;CAasC,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAO,GAChD,kBAAkB,CAGpB;AAED,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB;;;;CAIqB,CAAC;AAEzD,2GAA2G;AAC3G,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACnC,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,GAC1B,MAAM,CAER;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EACnD,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,EAC3B,OAAO,GAAE;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,cAAc,EAAE,CAmBlB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzF,yGAAyG;AACzG,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAC5C,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,GAC1B,WAAW,EAAE,CAEf"}
1
+ {"version":3,"file":"product-specs.d.ts","sourceRoot":"","sources":["../src/product-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAOjC,gHAAgH;AAChH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAa+B,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAO,GAChD,kBAAkB,CAGpB;AAED,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB;;;;CAIqB,CAAC;AAEzD,2GAA2G;AAC3G,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,EACnC,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,GAC1B,MAAM,CAER;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EACnD,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,EAC3B,OAAO,GAAE;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,cAAc,EAAE,CAmBlB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzF,yGAAyG;AACzG,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAC5C,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,GAC1B,WAAW,EAAE,CAEf"}
@@ -4,7 +4,7 @@ import { partColors } from './part-colors.js';
4
4
  import { platformWords } from './words.js';
5
5
  import { descriptionFacts } from './description.js';
6
6
  /** The parts of the product specs, each with the theme role it draws unless a component token names another. */
7
- const PRODUCT_SPECS_ROLES = {
7
+ export const PRODUCT_SPECS_ROLES = {
8
8
  surface: 'elevated',
9
9
  title: 'text',
10
10
  body: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"product-specs.js","sourceRoot":"","sources":["../src/product-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-specs.js","sourceRoot":"","sources":["../src/product-specs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type LocaleCode, type MoneyStyle, type ProductSummaryBlock, type ThemeStyle } from '@shoplix-ai/sdui-schema';
1
+ import { type LocaleCode, type MoneyStyle, type ProductSummaryBlock, type ProductSummaryLookSettings, type ThemeStyle } from '@shoplix-ai/sdui-schema';
2
2
  import type { ChosenPrice } from './variant-rows.js';
3
3
  /** The parts of the product summary, each with the theme role it draws unless a component token names another. */
4
4
  declare const PRODUCT_SUMMARY_ROLES: {
@@ -34,6 +34,43 @@ export type ProductSummaryColors = Readonly<Record<ProductSummaryPart, string>>;
34
34
  * either.
35
35
  */
36
36
  export declare function productSummaryColors(theme: ThemeStyle, settings?: Pick<ProductSummaryBlock['props'], 'buttonSurface' | 'buttonInk'>): ProductSummaryColors;
37
+ /** One run of the plain summary's words: its size and weight, and the line it stands on where the merchant set no size for it. */
38
+ export interface ProductSummaryFace {
39
+ readonly size: number;
40
+ readonly weight: number;
41
+ readonly lineHeight?: number;
42
+ }
43
+ /** The price and the compare-at as one pair, centred on each other at the space the merchant set between them. */
44
+ export interface ProductSummaryPair {
45
+ readonly gap: number;
46
+ }
47
+ /**
48
+ * The plain summary's type and the gaps between its rows: the title, the
49
+ * price and the compare-at, the space above the price row, whether a price
50
+ * with no words of its own still draws its empty words 4 after its digits,
51
+ * and the pair the price and the compare-at stand in where the merchant set
52
+ * the space between them.
53
+ */
54
+ export interface ProductSummaryLook {
55
+ readonly title: ProductSummaryFace;
56
+ readonly price: ProductSummaryFace;
57
+ readonly compareAt: ProductSummaryFace;
58
+ readonly priceGap: number;
59
+ readonly emptyPriceWords: boolean;
60
+ readonly pair?: ProductSummaryPair;
61
+ }
62
+ /**
63
+ * The plain summary as the merchant set it, and the summary it always drew
64
+ * for every part they left out. A title whose size the merchant left out
65
+ * stands on the summary's 33 point line; one at a size they set stands on the
66
+ * face's own line, as Figma's automatic line does. A weight names the face the
67
+ * host draws nearest it. Where the merchant set the space between the price
68
+ * and the compare-at, the two stand in one pair, centred on each other as
69
+ * Figma's row centres them, and a price with no words draws none before the
70
+ * space; left out, the compare-at stands on the price's baseline after the
71
+ * price's words, empty ones included, as before.
72
+ */
73
+ export declare function productSummaryLook(settings: ProductSummaryLookSettings): ProductSummaryLook;
37
74
  /**
38
75
  * What the summary says the compare-at price saves, in the way the merchant
39
76
  * chose: the amount ("Save 36.190 KWD"), the percent ("−17%"), or nothing.
@@ -1 +1 @@
1
- {"version":3,"file":"product-summary.d.ts","sourceRoot":"","sources":["../src/product-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,kHAAkH;AAClH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAqBoC,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,CAAM,GAC/E,oBAAoB,CAOtB;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC9C,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,EAC3B,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,GAAG,IAAI,CAaf"}
1
+ {"version":3,"file":"product-summary.d.ts","sourceRoot":"","sources":["../src/product-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,kHAAkH;AAClH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAqBoC,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,CAAM,GAC/E,oBAAoB,CAOtB;AAED,kIAAkI;AAClI,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,kHAAkH;AAClH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,kBAAkB,CAqB3F;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC9C,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,UAAU,EAC3B,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,GAAG,IAAI,CAaf"}
@@ -1,4 +1,4 @@
1
- import { PAGE_HEADER_DEFAULT_INKS, } from '@shoplix-ai/sdui-schema';
1
+ import { PAGE_HEADER_DEFAULT_INKS, PRODUCT_SUMMARY_DEFAULTS, } from '@shoplix-ai/sdui-schema';
2
2
  import { derivedMoney, discountPercent, moneyAmount } from './money.js';
3
3
  import { chosenRole, partColors } from './part-colors.js';
4
4
  import { platformWords } from './words.js';
@@ -41,6 +41,39 @@ export function productSummaryColors(theme, settings = {}) {
41
41
  button_ink: chosenRole(theme, settings.buttonInk, table.button_ink),
42
42
  };
43
43
  }
44
+ /**
45
+ * The plain summary as the merchant set it, and the summary it always drew
46
+ * for every part they left out. A title whose size the merchant left out
47
+ * stands on the summary's 33 point line; one at a size they set stands on the
48
+ * face's own line, as Figma's automatic line does. A weight names the face the
49
+ * host draws nearest it. Where the merchant set the space between the price
50
+ * and the compare-at, the two stand in one pair, centred on each other as
51
+ * Figma's row centres them, and a price with no words draws none before the
52
+ * space; left out, the compare-at stands on the price's baseline after the
53
+ * price's words, empty ones included, as before.
54
+ */
55
+ export function productSummaryLook(settings) {
56
+ return {
57
+ title: {
58
+ size: settings.titleSize ?? PRODUCT_SUMMARY_DEFAULTS.titleSize,
59
+ weight: settings.titleWeight ?? PRODUCT_SUMMARY_DEFAULTS.titleWeight,
60
+ ...(settings.titleSize === undefined
61
+ ? { lineHeight: PRODUCT_SUMMARY_DEFAULTS.titleLine }
62
+ : {}),
63
+ },
64
+ price: {
65
+ size: settings.priceSize ?? PRODUCT_SUMMARY_DEFAULTS.priceSize,
66
+ weight: settings.priceWeight ?? PRODUCT_SUMMARY_DEFAULTS.priceWeight,
67
+ },
68
+ compareAt: {
69
+ size: settings.compareAtSize ?? PRODUCT_SUMMARY_DEFAULTS.compareAtSize,
70
+ weight: settings.compareAtWeight ?? PRODUCT_SUMMARY_DEFAULTS.compareAtWeight,
71
+ },
72
+ priceGap: settings.priceGap ?? PRODUCT_SUMMARY_DEFAULTS.priceGap,
73
+ emptyPriceWords: settings.compareAtGap === undefined,
74
+ ...(settings.compareAtGap === undefined ? {} : { pair: { gap: settings.compareAtGap } }),
75
+ };
76
+ }
44
77
  const MINUS = '\u2212';
45
78
  /**
46
79
  * What the summary says the compare-at price saves, in the way the merchant
@@ -1 +1 @@
1
- {"version":3,"file":"product-summary.js","sourceRoot":"","sources":["../src/product-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAKzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,kHAAkH;AAClH,MAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,cAAc,EAAE,QAAQ;IACxB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,OAAO;IACf,GAAG,EAAE,QAAQ;IACb,cAAc,EAAE,wBAAwB,CAAC,MAAM;IAC/C,UAAU,EAAE,wBAAwB,CAAC,GAAG;CACqB,CAAC;AAMhE;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAiB,EACjB,WAA8E,EAAE;IAEhF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,KAAK;QACR,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC;QAC/E,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,MAAmB,EACnB,MAA8C,EAC9C,QAAoB,EACpB,eAA2B,EAC3B,KAA6B;IAE7B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACpC,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,SAAS,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5E,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;AACjH,CAAC"}
1
+ {"version":3,"file":"product-summary.js","sourceRoot":"","sources":["../src/product-summary.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -4,6 +4,6 @@
4
4
  * The major is the compatibility line: a Shop package built against another
5
5
  * major never meets this runtime, and a major bump is an announced event.
6
6
  */
7
- export declare const CONTRACT_VERSION = "5.30.0";
7
+ export declare const CONTRACT_VERSION = "5.32.0";
8
8
  export declare const CONTRACT_MAJOR = 5;
9
9
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -4,6 +4,6 @@
4
4
  * The major is the compatibility line: a Shop package built against another
5
5
  * major never meets this runtime, and a major bump is an announced event.
6
6
  */
7
- export const CONTRACT_VERSION = '5.30.0';
7
+ export const CONTRACT_VERSION = '5.32.0';
8
8
  export const CONTRACT_MAJOR = 5;
9
9
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shoplix-ai/block-kit",
3
- "version": "5.30.0",
3
+ "version": "5.32.0",
4
4
  "description": "The renderer contract every Block Type renderer is written against: what a renderer receives, how a Block Type is registered with its owner, the closed capability set, and the small helpers renderers share. Contract only, no renderers.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "access": "public"
27
27
  },
28
28
  "dependencies": {
29
- "@shoplix-ai/sdui-schema": "1.81.0"
29
+ "@shoplix-ai/sdui-schema": "1.83.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": ">=19.0.0"