@stapel/listings-react 0.29.1 → 0.30.1
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 +142 -0
- package/dist/default/CardBadges.d.ts +32 -0
- package/dist/default/CardBadges.d.ts.map +1 -1
- package/dist/default/CardBadges.js +41 -3
- package/dist/default/CardBadges.js.map +1 -1
- package/dist/default/ListingDetailPane.d.ts +115 -8
- package/dist/default/ListingDetailPane.d.ts.map +1 -1
- package/dist/default/ListingDetailPane.js +366 -177
- package/dist/default/ListingDetailPane.js.map +1 -1
- package/dist/default/ListingRelated.d.ts +88 -0
- package/dist/default/ListingRelated.d.ts.map +1 -0
- package/dist/default/ListingRelated.js +41 -0
- package/dist/default/ListingRelated.js.map +1 -0
- package/dist/default/ListingSpecList.d.ts +29 -34
- package/dist/default/ListingSpecList.d.ts.map +1 -1
- package/dist/default/ListingSpecList.js +67 -12
- package/dist/default/ListingSpecList.js.map +1 -1
- package/dist/default/condensedBar.d.ts +17 -0
- package/dist/default/condensedBar.d.ts.map +1 -0
- package/dist/default/condensedBar.js +73 -0
- package/dist/default/condensedBar.js.map +1 -0
- package/dist/default/detailGallery.d.ts +40 -40
- package/dist/default/detailGallery.d.ts.map +1 -1
- package/dist/default/detailGallery.js +129 -0
- package/dist/default/detailGallery.js.map +1 -1
- package/dist/default/detailRhythm.d.ts +90 -0
- package/dist/default/detailRhythm.d.ts.map +1 -0
- package/dist/default/detailRhythm.js +51 -0
- package/dist/default/detailRhythm.js.map +1 -0
- package/dist/default/icons.d.ts +13 -0
- package/dist/default/icons.d.ts.map +1 -1
- package/dist/default/icons.js +15 -0
- package/dist/default/icons.js.map +1 -1
- package/dist/default/index.d.ts +9 -5
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +13 -4
- package/dist/default/index.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +9 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/keys.d.ts +23 -0
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +32 -0
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +9 -0
- package/dist/i18n/ru.js.map +1 -1
- package/llms.txt +3 -2
- package/manifest.json +28 -1
- package/nav-manifest.json +1 -1
- package/package.json +4 -4
- package/src/analytics/generated/events.json +1 -1
- package/src/default/CardBadges.tsx +65 -4
- package/src/default/ListingDetailPane.tsx +501 -55
- package/src/default/ListingRelated.tsx +154 -0
- package/src/default/ListingSpecList.tsx +64 -1
- package/src/default/condensedBar.ts +74 -0
- package/src/default/detailGallery.ts +141 -0
- package/src/default/detailRhythm.ts +107 -0
- package/src/default/icons.tsx +32 -0
- package/src/default/index.ts +46 -2
- package/src/i18n/es.ts +9 -0
- package/src/i18n/keys.ts +32 -0
- package/src/i18n/ru.ts +9 -0
package/dist/i18n/keys.d.ts
CHANGED
|
@@ -145,6 +145,29 @@ export declare const LISTINGS_I18N_KEYS: {
|
|
|
145
145
|
/** The owner's two primaries on their own listing page. */
|
|
146
146
|
readonly detailEdit: "listings.detail.edit";
|
|
147
147
|
readonly detailTakeDown: "listings.detail.take_down";
|
|
148
|
+
/** The condensed bar's back control. Icon-only, so this string IS the whole
|
|
149
|
+
* announcement — the bar has a glyph, the title and the two verbs, and a
|
|
150
|
+
* nameless arrow is the one of the four nothing can read. */
|
|
151
|
+
readonly detailBack: "listings.detail.back";
|
|
152
|
+
/**
|
|
153
|
+
* "Ask the seller" — the caption over the canned questions.
|
|
154
|
+
*
|
|
155
|
+
* The chips underneath are DEFAULTS, not content: four questions every
|
|
156
|
+
* classified's buyers ask, in the pair's own three locales, which a host
|
|
157
|
+
* replaces wholesale through `quickQuestions`. A pair that shipped none
|
|
158
|
+
* would leave every deployment writing the same four sentences.
|
|
159
|
+
*/
|
|
160
|
+
readonly detailAskSeller: "listings.detail.ask_seller";
|
|
161
|
+
readonly detailQuestionAvailable: "listings.detail.question_available";
|
|
162
|
+
readonly detailQuestionPrice: "listings.detail.question_price";
|
|
163
|
+
readonly detailQuestionViewing: "listings.detail.question_viewing";
|
|
164
|
+
readonly detailQuestionDelivery: "listings.detail.question_delivery";
|
|
165
|
+
/** The two "find more" strips' captions — see `<ListingRelatedStrip>`. */
|
|
166
|
+
readonly detailSimilar: "listings.detail.similar";
|
|
167
|
+
readonly detailFromSeller: "listings.detail.from_seller";
|
|
168
|
+
/** One verb for three folds: the spec table past its limit, and either
|
|
169
|
+
* strip's link into the search that holds the rest of it. */
|
|
170
|
+
readonly detailShowAll: "listings.detail.show_all";
|
|
148
171
|
readonly composeNewTitle: "listings.compose.new_title";
|
|
149
172
|
readonly composeEditTitle: "listings.compose.edit_title";
|
|
150
173
|
readonly composeCategory: "listings.compose.category";
|
package/dist/i18n/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;IAe7B,+CAA+C;;IAE/C,qEAAqE;;IAErE,yEAAyE;;;;;IAKzE,oEAAoE;;;;;;;IASpE;;;;;;;;;OASG;;IAEH,yEAAyE;;IAEzE;;2EAEuE;;IAEvE;;oCAEgC;;IAEhC;2EACuE;;IAEvE;oDACgD;;;IAKhD;+EAC2E;;IAE3E,8DAA8D;;IAE9D;;yBAEqB;;IAErB;4DACwD;;IAExD;;4DAEwD;;;;IAIxD;;0DAEsD;;;IAGtD;;+DAE2D;;;;;;IAQ3D,oEAAoE;;IAEpE;;;8DAG0D;;IAE1D,8EAA8E;;;;;;;;;;;IAW9E;;oDAEgD;;IAEhD;;;;;OAKG;;IAEH,2DAA2D
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;IAe7B,+CAA+C;;IAE/C,qEAAqE;;IAErE,yEAAyE;;;;;IAKzE,oEAAoE;;;;;;;IASpE;;;;;;;;;OASG;;IAEH,yEAAyE;;IAEzE;;2EAEuE;;IAEvE;;oCAEgC;;IAEhC;2EACuE;;IAEvE;oDACgD;;;IAKhD;+EAC2E;;IAE3E,8DAA8D;;IAE9D;;yBAEqB;;IAErB;4DACwD;;IAExD;;4DAEwD;;;;IAIxD;;0DAEsD;;;IAGtD;;+DAE2D;;;;;;IAQ3D,oEAAoE;;IAEpE;;;8DAG0D;;IAE1D,8EAA8E;;;;;;;;;;;IAW9E;;oDAEgD;;IAEhD;;;;;OAKG;;IAEH,2DAA2D;;;IAG3D;;iEAE6D;;IAE7D;;;;;;;OAOG;;;;;;IAMH,0EAA0E;;;IAG1E;iEAC6D;;;;;;;;;;;;;;;;;;;;;IAuB7D;;6EAEyE;;;;;;;;IAQzE;;;yCAGqC;;;;;;;;;;;;;;;;;IAmBrC;;+CAE2C;;IAE3C;;uEAEmE;;;;;;;IASnE;;4BAEwB;;;;;;;IAOxB;iEAC6D;;;;IAI7D;;0BAEsB;;IAEtB;iEAC6D;;;;;;;;IAQ7D;;;;;;;;;;OAUG;;;;;IAKH;6EACyE;;IAEzE,iDAAiD;;IAEjD;6CACyC;;IAEzC;qDACiD;;IAEjD;;yDAEqD;;;;;;;;;;;IAerD;yCACqC;;;;IAIrC;;wEAEoE;;;;;;;;;;;CAiB5D,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4PvD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE3D"}
|
package/dist/i18n/keys.js
CHANGED
|
@@ -150,6 +150,29 @@ export const LISTINGS_I18N_KEYS = {
|
|
|
150
150
|
/** The owner's two primaries on their own listing page. */
|
|
151
151
|
detailEdit: "listings.detail.edit",
|
|
152
152
|
detailTakeDown: "listings.detail.take_down",
|
|
153
|
+
/** The condensed bar's back control. Icon-only, so this string IS the whole
|
|
154
|
+
* announcement — the bar has a glyph, the title and the two verbs, and a
|
|
155
|
+
* nameless arrow is the one of the four nothing can read. */
|
|
156
|
+
detailBack: "listings.detail.back",
|
|
157
|
+
/**
|
|
158
|
+
* "Ask the seller" — the caption over the canned questions.
|
|
159
|
+
*
|
|
160
|
+
* The chips underneath are DEFAULTS, not content: four questions every
|
|
161
|
+
* classified's buyers ask, in the pair's own three locales, which a host
|
|
162
|
+
* replaces wholesale through `quickQuestions`. A pair that shipped none
|
|
163
|
+
* would leave every deployment writing the same four sentences.
|
|
164
|
+
*/
|
|
165
|
+
detailAskSeller: "listings.detail.ask_seller",
|
|
166
|
+
detailQuestionAvailable: "listings.detail.question_available",
|
|
167
|
+
detailQuestionPrice: "listings.detail.question_price",
|
|
168
|
+
detailQuestionViewing: "listings.detail.question_viewing",
|
|
169
|
+
detailQuestionDelivery: "listings.detail.question_delivery",
|
|
170
|
+
/** The two "find more" strips' captions — see `<ListingRelatedStrip>`. */
|
|
171
|
+
detailSimilar: "listings.detail.similar",
|
|
172
|
+
detailFromSeller: "listings.detail.from_seller",
|
|
173
|
+
/** One verb for three folds: the spec table past its limit, and either
|
|
174
|
+
* strip's link into the search that holds the rest of it. */
|
|
175
|
+
detailShowAll: "listings.detail.show_all",
|
|
153
176
|
// ── composer ─────────────────────────────────────────────────────────────
|
|
154
177
|
composeNewTitle: "listings.compose.new_title",
|
|
155
178
|
composeEditTitle: "listings.compose.edit_title",
|
|
@@ -372,6 +395,15 @@ export const listingsI18nBundleEn = {
|
|
|
372
395
|
"listings.detail.views": "Views",
|
|
373
396
|
"listings.detail.edit": "Edit listing",
|
|
374
397
|
"listings.detail.take_down": "Take it down",
|
|
398
|
+
"listings.detail.back": "Back",
|
|
399
|
+
"listings.detail.ask_seller": "Ask the seller",
|
|
400
|
+
"listings.detail.question_available": "Is it still available?",
|
|
401
|
+
"listings.detail.question_price": "Is the price negotiable?",
|
|
402
|
+
"listings.detail.question_viewing": "Can I come and see it?",
|
|
403
|
+
"listings.detail.question_delivery": "Do you deliver?",
|
|
404
|
+
"listings.detail.similar": "Similar listings",
|
|
405
|
+
"listings.detail.from_seller": "More from this seller",
|
|
406
|
+
"listings.detail.show_all": "Show all",
|
|
375
407
|
"listings.compose.new_title": "New listing",
|
|
376
408
|
"listings.compose.edit_title": "Edit listing",
|
|
377
409
|
"listings.compose.category": "Category",
|
package/dist/i18n/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,wBAAwB;IAEtC,4EAA4E;IAC5E,WAAW,EAAE,uBAAuB;IACpC,aAAa,EAAE,yBAAyB;IACxC,eAAe,EAAE,2BAA2B;IAC5C,YAAY,EAAE,wBAAwB;IACtC,aAAa,EAAE,yBAAyB;IACxC,UAAU,EAAE,sBAAsB;IAClC,cAAc,EAAE,0BAA0B;IAC1C,aAAa,EAAE,yBAAyB;IACxC,cAAc,EAAE,0BAA0B;IAE1C,4EAA4E;IAC5E,+CAA+C;IAC/C,qBAAqB,EAAE,kCAAkC;IACzD,qEAAqE;IACrE,yBAAyB,EAAE,uCAAuC;IAClE,yEAAyE;IACzE,wBAAwB,EAAE,qCAAqC;IAC/D,qBAAqB,EAAE,kCAAkC;IACzD,yBAAyB,EAAE,uCAAuC;IAClE,kBAAkB,EAAE,8BAA8B;IAClD,oEAAoE;IACpE,2BAA2B,EAAE,yCAAyC;IAEtE,4EAA4E;IAC5E,WAAW,EAAE,wBAAwB;IACrC,oBAAoB,EAAE,iCAAiC;IACvD,eAAe,EAAE,4BAA4B;IAC7C,eAAe,EAAE,4BAA4B;IAC7C,kBAAkB,EAAE,+BAA+B;IACnD;;;;;;;;;OASG;IACH,YAAY,EAAE,wBAAwB;IACtC,yEAAyE;IACzE,UAAU,EAAE,uBAAuB;IACnC;;2EAEuE;IACvE,UAAU,EAAE,sBAAsB;IAClC;;oCAEgC;IAChC,gBAAgB,EAAE,6BAA6B;IAC/C;2EACuE;IACvE,YAAY,EAAE,yBAAyB;IACvC;oDACgD;IAChD,gBAAgB,EAAE,6BAA6B;IAC/C,eAAe,EAAE,4BAA4B;IAE7C,4EAA4E;IAC5E;+EAC2E;IAC3E,WAAW,EAAE,uBAAuB;IACpC,8DAA8D;IAC9D,SAAS,EAAE,qBAAqB;IAChC;;yBAEqB;IACrB,WAAW,EAAE,uBAAuB;IACpC;4DACwD;IACxD,eAAe,EAAE,4BAA4B;IAC7C;;4DAEwD;IACxD,aAAa,EAAE,yBAAyB;IACxC,aAAa,EAAE,yBAAyB;IACxC,OAAO,EAAE,mBAAmB;IAC5B;;0DAEsD;IACtD,aAAa,EAAE,yBAAyB;IACxC,eAAe,EAAE,2BAA2B;IAC5C;;+DAE2D;IAC3D,aAAa,EAAE,yBAAyB;IAExC,4EAA4E;IAC5E,aAAa,EAAE,yBAAyB;IACxC,gBAAgB,EAAE,6BAA6B;IAC/C,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,2BAA2B;IAC3C,oEAAoE;IACpE,aAAa,EAAE,yBAAyB;IACxC;;;8DAG0D;IAC1D,eAAe,EAAE,2BAA2B;IAC5C,8EAA8E;IAC9E,kBAAkB,EAAE,+BAA+B;IACnD,mBAAmB,EAAE,iCAAiC;IACtD,iBAAiB,EAAE,6BAA6B;IAChD,WAAW,EAAE,uBAAuB;IACpC,aAAa,EAAE,0BAA0B;IACzC,wBAAwB,EAAE,qCAAqC;IAC/D,uBAAuB,EAAE,oCAAoC;IAC7D,cAAc,EAAE,2BAA2B;IAC3C,iBAAiB,EAAE,8BAA8B;IACjD,eAAe,EAAE,4BAA4B;IAC7C;;oDAEgD;IAChD,WAAW,EAAE,uBAAuB;IACpC;;;;;OAKG;IACH,WAAW,EAAE,uBAAuB;IACpC,2DAA2D;IAC3D,UAAU,EAAE,sBAAsB;IAClC,cAAc,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/ru.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAgPlC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAG7D"}
|
package/dist/i18n/ru.js
CHANGED
|
@@ -114,6 +114,15 @@ export const listingsI18nBundleRu = {
|
|
|
114
114
|
"listings.detail.views": "Просмотры",
|
|
115
115
|
"listings.detail.edit": "Редактировать объявление",
|
|
116
116
|
"listings.detail.take_down": "Снять с публикации",
|
|
117
|
+
"listings.detail.back": "Назад",
|
|
118
|
+
"listings.detail.ask_seller": "Спросите у продавца",
|
|
119
|
+
"listings.detail.question_available": "Ещё продаётся?",
|
|
120
|
+
"listings.detail.question_price": "Торг уместен?",
|
|
121
|
+
"listings.detail.question_viewing": "Можно посмотреть?",
|
|
122
|
+
"listings.detail.question_delivery": "Доставка есть?",
|
|
123
|
+
"listings.detail.similar": "Похожие объявления",
|
|
124
|
+
"listings.detail.from_seller": "Другие объявления продавца",
|
|
125
|
+
"listings.detail.show_all": "Показать все",
|
|
117
126
|
"listings.compose.new_title": "Новое объявление",
|
|
118
127
|
"listings.compose.edit_title": "Редактирование объявления",
|
|
119
128
|
"listings.compose.category": "Категория",
|
package/dist/i18n/ru.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,GAAG,qBAAqB;IAExB,4EAA4E;IAC5E,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,mDAAmD;IACnD,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,0CAA0C;IAE1C,wBAAwB,EAAE,wCAAwC;IAElE,uBAAuB,EAAE,UAAU;IACnC,yBAAyB,EAAE,aAAa;IACxC,2BAA2B,EAAE,cAAc;IAC3C,wBAAwB,EAAE,gBAAgB;IAC1C,yBAAyB,EAAE,YAAY;IACvC,sBAAsB,EAAE,SAAS;IACjC,0BAA0B,EAAE,WAAW;IACvC,yBAAyB,EAAE,mBAAmB;IAC9C,0BAA0B,EAAE,UAAU;IAEtC,kCAAkC,EAChC,mFAAmF;IACrF,uCAAuC,EACrC,mGAAmG;IACrG,qCAAqC,EACnC,0DAA0D;IAC5D,kCAAkC,EAChC,uCAAuC;IACzC,uCAAuC,EACrC,iDAAiD;IACnD,8BAA8B,EAC5B,6DAA6D;IAC/D,yCAAyC,EACvC,yEAAyE;IAE3E,wBAAwB,EAAE,UAAU;IACpC,iCAAiC,EAAE,iBAAiB;IACpD,4BAA4B,EAAE,iBAAiB;IAC/C,4BAA4B,EAAE,aAAa;IAC3C,+BAA+B,EAAE,sBAAsB;IACvD,wBAAwB,EAAE,yBAAyB;IACnD,uBAAuB,EAAE,OAAO;IAChC,sBAAsB,EAAE,uBAAuB;IAC/C,6BAA6B,EAAE,oBAAoB;IACnD,yBAAyB,EAAE,MAAM;IACjC,6BAA6B,EAAE,gBAAgB;IAC/C,4BAA4B,EAAE,cAAc;IAE5C,uBAAuB,EAAE,YAAY;IACrC,qBAAqB,EAAE,oBAAoB;IAC3C,uBAAuB,EAAE,oBAAoB;IAC7C,4BAA4B,EAC1B,kEAAkE;IACpE,yBAAyB,EAAE,UAAU;IACrC,yBAAyB,EAAE,UAAU;IACrC,mBAAmB,EAAE,WAAW;IAChC,yBAAyB,EAAE,uBAAuB;IAClD,2BAA2B,EAAE,sBAAsB;IACnD,yBAAyB,EAAE,uBAAuB;IAElD,yBAAyB,EAAE,uBAAuB;IAClD,6BAA6B,EAAE,iCAAiC;IAChE,uBAAuB,EAAE,WAAW;IACpC,2BAA2B,EAAE,gCAAgC;IAC7D,yBAAyB,EAAE,wBAAwB;IACnD,2BAA2B,EAAE,+BAA+B;IAC5D,+BAA+B,EAC7B,8EAA8E;IAChF,iCAAiC,EAC/B,uDAAuD;IACzD,6BAA6B,EAAE,UAAU;IACzC,uBAAuB,EAAE,gBAAgB;IACzC,0BAA0B,EAAE,iDAAiD;IAC7E,qCAAqC,EACnC,gEAAgE;IAClE,oCAAoC,EAClC,4DAA4D;IAC9D,2BAA2B,EAAE,yBAAyB;IACtD,8BAA8B,EAAE,qBAAqB;IACrD,4BAA4B,EAAE,qBAAqB;IACnD,uBAAuB,EAAE,WAAW;IACpC,uBAAuB,EAAE,WAAW;IACpC,sBAAsB,EAAE,0BAA0B;IAClD,2BAA2B,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @stapel/listings-react 0.
|
|
1
|
+
# @stapel/listings-react 0.30.1
|
|
2
2
|
|
|
3
3
|
Headless React flow pair for stapel-listings (contract >=0.22 <0.23) — business + state, zero visual opinion.
|
|
4
4
|
Built on @stapel/core: typed client + StapelApiError envelope, auth token refresh,
|
|
@@ -118,13 +118,14 @@ const { tracked } = useTracked();
|
|
|
118
118
|
- listings.actions → <ListingActions> [default|blocked] demo/ListingActions.demo.tsx
|
|
119
119
|
- listings.card → <ListingCard> [default|saved|visitor|grid cell|list row|no-photo] demo/ListingCard.demo.tsx
|
|
120
120
|
- listings.composer → <ListingComposerPage> [default|unwired|photos-in-flight|unsupported-type] demo/ListingComposer.demo.tsx
|
|
121
|
-
- listings.detail → <ListingDetailPane> [default|contact-unwired|owner|not-found] demo/ListingDetail.demo.tsx
|
|
121
|
+
- listings.detail → <ListingDetailPane> [default|contact-unwired|owner|phone|not-found] demo/ListingDetail.demo.tsx
|
|
122
122
|
- listings.engagement-scope → <ListingEngagementScope> [default|unscoped|visitor|failed] demo/ListingEngagementScope.demo.tsx
|
|
123
123
|
- listings.favorites → <FavoritesPane> [default|paged|empty|failed|visitor] demo/Favorites.demo.tsx
|
|
124
124
|
- listings.feed-card → <ListingFeedCard> [default|tile|visitor|wide] demo/ListingFeedCard.demo.tsx
|
|
125
125
|
- listings.mine → <MyListingsPane> [default|no-editor|taken-down|visitor|archived|failed] demo/MyListings.demo.tsx
|
|
126
126
|
- listings.parts → <ListingStatusBlock> [default|tags|notes|media|door] demo/ListingParts.demo.tsx
|
|
127
127
|
- listings.photo-strip → <ListingPhotoStrip> [default|single|no photos] demo/ListingPhotoStrip.demo.tsx
|
|
128
|
+
- listings.related → <ListingRelatedStrip> [default|no-link-out] demo/ListingRelated.demo.tsx
|
|
128
129
|
- listings.serp-card → <ListingSerpCard> [default|trend|visitor|desktop row|bare] demo/ListingSerpCard.demo.tsx
|
|
129
130
|
- listings.share → <ShareAction> [default|menu] demo/Share.demo.tsx
|
|
130
131
|
- listings.spec-parts → <CardBadges> [contract|legacy|specs|specs-split] demo/ListingSpecParts.demo.tsx
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$generated": "by scripts/gen-manifest.mjs — do not edit; drift-gated (pnpm gen:manifest:check)",
|
|
3
3
|
"package": "@stapel/listings-react",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.30.1",
|
|
5
5
|
"backend": {
|
|
6
6
|
"module": "stapel-listings",
|
|
7
7
|
"contract": ">=0.22 <0.23"
|
|
@@ -806,6 +806,7 @@
|
|
|
806
806
|
"default",
|
|
807
807
|
"contact-unwired",
|
|
808
808
|
"owner",
|
|
809
|
+
"phone",
|
|
809
810
|
"not-found"
|
|
810
811
|
],
|
|
811
812
|
"source": "demo/ListingDetail.demo.tsx"
|
|
@@ -931,6 +932,23 @@
|
|
|
931
932
|
],
|
|
932
933
|
"source": "demo/ListingPhotoStrip.demo.tsx"
|
|
933
934
|
},
|
|
935
|
+
{
|
|
936
|
+
"id": "listings.related",
|
|
937
|
+
"title": "Find more",
|
|
938
|
+
"description": "The two sections a listing page ends with. They are separate because they answer different questions — 'what else is like this' and 'what else does this person sell' — and the reference classified draws both. Each strip is drawn only when it has rows: a heading over nothing reads as a section that failed to load, which is worse than no section.",
|
|
939
|
+
"component": "ListingRelatedStrip",
|
|
940
|
+
"covers": [
|
|
941
|
+
"ListingRelatedStrip"
|
|
942
|
+
],
|
|
943
|
+
"tokens": [
|
|
944
|
+
"surface-raised"
|
|
945
|
+
],
|
|
946
|
+
"variants": [
|
|
947
|
+
"default",
|
|
948
|
+
"no-link-out"
|
|
949
|
+
],
|
|
950
|
+
"source": "demo/ListingRelated.demo.tsx"
|
|
951
|
+
},
|
|
934
952
|
{
|
|
935
953
|
"id": "listings.serp-card",
|
|
936
954
|
"title": "Listing SERP card",
|
|
@@ -1129,9 +1147,12 @@
|
|
|
1129
1147
|
"listings.compose.title_label",
|
|
1130
1148
|
"listings.compose.title_too_long",
|
|
1131
1149
|
"listings.compose.too_many_images",
|
|
1150
|
+
"listings.detail.ask_seller",
|
|
1151
|
+
"listings.detail.back",
|
|
1132
1152
|
"listings.detail.description",
|
|
1133
1153
|
"listings.detail.edit",
|
|
1134
1154
|
"listings.detail.expires_at",
|
|
1155
|
+
"listings.detail.from_seller",
|
|
1135
1156
|
"listings.detail.load_failed",
|
|
1136
1157
|
"listings.detail.loading",
|
|
1137
1158
|
"listings.detail.no_specs",
|
|
@@ -1141,8 +1162,14 @@
|
|
|
1141
1162
|
"listings.detail.photo_alt",
|
|
1142
1163
|
"listings.detail.photos_unavailable",
|
|
1143
1164
|
"listings.detail.published_at",
|
|
1165
|
+
"listings.detail.question_available",
|
|
1166
|
+
"listings.detail.question_delivery",
|
|
1167
|
+
"listings.detail.question_price",
|
|
1168
|
+
"listings.detail.question_viewing",
|
|
1144
1169
|
"listings.detail.removed",
|
|
1145
1170
|
"listings.detail.retry",
|
|
1171
|
+
"listings.detail.show_all",
|
|
1172
|
+
"listings.detail.similar",
|
|
1146
1173
|
"listings.detail.specs",
|
|
1147
1174
|
"listings.detail.stock",
|
|
1148
1175
|
"listings.detail.take_down",
|
package/nav-manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stapel/listings-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "Headless React pair for stapel-listings: a typed client over the draft twin, the composer that turns a category schema into a submittable listing, and the owner's dashboard. Two independent axes are rendered as two — lifecycle `status` decides visibility and `moderation_status` decides nothing about it, so an edit to a live listing stays live and says 'under review' instead of vanishing. Feature values are drawn and mirrored by @stapel/attributes-react; photos arrive as an injected upload bag whose `refs` ARE `images_draft` and whose `settled` gates the submit; a publish refusal is routed onto the control that caused it by slug. Zero visual opinion in the main entry; an opt-in /default subpath ships the antd skin.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"limit": "17 KB"
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
|
-
"name": "default — the antd skin (three cards, detail, composer, dashboard, the named slots and the delete confirmation) must stay out of the main bundle. Raised 17 -> 19 KB for the mobile wave: <ListingSerpCard> (photo strip + price-first block + action rail), <ListingFeedCard> and <FeedGrid> are two more card surfaces on the same shared target/favourite/photo parts, not three copies of one Raised 19 -> 20 KB for the desktop wave of the detail page: layout=\"split\" is a second ASSEMBLY of the money page (the sticky buy column, the two-column spec table, the widened measure) over the same parts, and GateReasonPopover is the blocked heart's third volume — the reason and the door disclosed on interaction, with the visually-hidden copy that keeps the refusal in the accessibility tree. Both are geometry and wiring, not new widgets. Raised 20 -> 21 KB (measured 20.22) for the engagement wave, which is four small things and no new component: the disclosure became a controlled open/close so a pointer that hovers and then clicks does not shut the only explanation the control has; the heart draws a filled accent when saved and states a failed save through the shared ErrorAlert; an already-seen card dims through one rule in the sheet all three cards already hoist; and the listing page gained a view-count row. 216 bytes is what a control that reports its own outcome costs. Raised 21 -> 22 KB for the seller's board becoming a door in both directions: the transition route and useTransitionListing, OWNER_TRANSITIONS/ownerMoves as the fallback mirror, ListingActionsBag.moves drawn in a stable order, listingHref/linkComponent on the cabinet pane, the refusal that stops quoting the wire, and the row that fits a phone. Measured on a clean tree, this package's src reverted to the previous commit with dependencies held constant: 20.82 -> 21.60 KB. The old ceiling had 180 B of room and the work needs 780; none of it is copy, and a fourth axis of owner state is not a rounding error. Raised 22 -> 25 KB (measured 23.94) for the three surfaces of the same wave: <ListingSpecList>/<ListingSpecColumns>, which is a REPLACEMENT of antd's <Descriptions> with a paragraph row (an inline muted label and the value in one text flow, so a long answer wraps at the measure instead of stacking inside a third-of-a-page cell) and therefore carries its own hoisted sheet; <CardBadges>/<CardSpecLine>, one badge renderer for all three card surfaces with the pre-contract path kept whole beside it; and cardGallery.ts, the hover-scrub and swipe gestures — a segment map, a horizontal-intent threshold, the pointer-capability gate and the touch-action rule that leaves the page's vertical scroll to the browser. A gallery a card did not have and a spec list rebuilt from a table are not a rounding error. Raised 25 -> 26 KB (measured 25.34) for three small things and no new component: the dashboard's fourth tab and the takedown notice that shrank to one line above it (D407), the delete dialog choosing its sentence from the row's own remaining moves rather than printing the archive at somebody standing in the archive, and the photo strip's \"1 of 16\" counter with its two CSS rules (D418's neighbour on the card). None of it is copy; the counter is the one thing on a phone card that says a swipe is worth making. Raised 26 -> 29 KB (measured 27.56) for the reader's two actions: <ShareAction> (the native-sheet arm, the desktop menu with its three outbound links and the clipboard row, and the copy confirmation that stands in the menu rather than only in a toast), <ListingActions> (the cluster the listing page and the cards lay out through), actionRow.ts (two hit-target tiers as a class contract — 44px on the page, 36/44 on a card — plus the overlay pin and the label's phone arm) and notice.ts (the message seam, which is antd's own App/static message and no new dependency). Measured with dependencies held constant: 25.34 -> 27.56 KB. A verb the product did not have at all is not a rounding error. Raised 29 -> 31 KB (measured 29.92) for the two seams a live container was working around with a second component and an `!important`: the MOVABLE CLUSTER (movableCluster.tsx — the portal, the slot registry, the settle that appends the container into the highest-priority mount on screen, and the pane's two slots plus the bar layer) and the GALLERY LAYOUT (detailGallery.ts — the class, the two arms and the strip's child rule, hoisted because an inline style cannot reach a child), together with `useTitleVisibility`'s IntersectionObserver. Measured with dependencies held constant, this package's src at HEAD built into a scratch tree and then this one: 27.72 -> 29.92 KB. 30 would have left 80 B, which is the budget-passed-by-rounding this entry has warned about four times; 31 leaves 1.08 KB. What was bought: a page that mounts ONE `useFavoriteToggle` instead of two, and a host stylesheet that no longer needs `!important` over a pair's own geometry.",
|
|
56
|
+
"name": "default — the antd skin (three cards, detail, composer, dashboard, the named slots and the delete confirmation) must stay out of the main bundle. Raised 17 -> 19 KB for the mobile wave: <ListingSerpCard> (photo strip + price-first block + action rail), <ListingFeedCard> and <FeedGrid> are two more card surfaces on the same shared target/favourite/photo parts, not three copies of one Raised 19 -> 20 KB for the desktop wave of the detail page: layout=\"split\" is a second ASSEMBLY of the money page (the sticky buy column, the two-column spec table, the widened measure) over the same parts, and GateReasonPopover is the blocked heart's third volume — the reason and the door disclosed on interaction, with the visually-hidden copy that keeps the refusal in the accessibility tree. Both are geometry and wiring, not new widgets. Raised 20 -> 21 KB (measured 20.22) for the engagement wave, which is four small things and no new component: the disclosure became a controlled open/close so a pointer that hovers and then clicks does not shut the only explanation the control has; the heart draws a filled accent when saved and states a failed save through the shared ErrorAlert; an already-seen card dims through one rule in the sheet all three cards already hoist; and the listing page gained a view-count row. 216 bytes is what a control that reports its own outcome costs. Raised 21 -> 22 KB for the seller's board becoming a door in both directions: the transition route and useTransitionListing, OWNER_TRANSITIONS/ownerMoves as the fallback mirror, ListingActionsBag.moves drawn in a stable order, listingHref/linkComponent on the cabinet pane, the refusal that stops quoting the wire, and the row that fits a phone. Measured on a clean tree, this package's src reverted to the previous commit with dependencies held constant: 20.82 -> 21.60 KB. The old ceiling had 180 B of room and the work needs 780; none of it is copy, and a fourth axis of owner state is not a rounding error. Raised 22 -> 25 KB (measured 23.94) for the three surfaces of the same wave: <ListingSpecList>/<ListingSpecColumns>, which is a REPLACEMENT of antd's <Descriptions> with a paragraph row (an inline muted label and the value in one text flow, so a long answer wraps at the measure instead of stacking inside a third-of-a-page cell) and therefore carries its own hoisted sheet; <CardBadges>/<CardSpecLine>, one badge renderer for all three card surfaces with the pre-contract path kept whole beside it; and cardGallery.ts, the hover-scrub and swipe gestures — a segment map, a horizontal-intent threshold, the pointer-capability gate and the touch-action rule that leaves the page's vertical scroll to the browser. A gallery a card did not have and a spec list rebuilt from a table are not a rounding error. Raised 25 -> 26 KB (measured 25.34) for three small things and no new component: the dashboard's fourth tab and the takedown notice that shrank to one line above it (D407), the delete dialog choosing its sentence from the row's own remaining moves rather than printing the archive at somebody standing in the archive, and the photo strip's \"1 of 16\" counter with its two CSS rules (D418's neighbour on the card). None of it is copy; the counter is the one thing on a phone card that says a swipe is worth making. Raised 26 -> 29 KB (measured 27.56) for the reader's two actions: <ShareAction> (the native-sheet arm, the desktop menu with its three outbound links and the clipboard row, and the copy confirmation that stands in the menu rather than only in a toast), <ListingActions> (the cluster the listing page and the cards lay out through), actionRow.ts (two hit-target tiers as a class contract — 44px on the page, 36/44 on a card — plus the overlay pin and the label's phone arm) and notice.ts (the message seam, which is antd's own App/static message and no new dependency). Measured with dependencies held constant: 25.34 -> 27.56 KB. A verb the product did not have at all is not a rounding error. Raised 29 -> 31 KB (measured 29.92) for the two seams a live container was working around with a second component and an `!important`: the MOVABLE CLUSTER (movableCluster.tsx — the portal, the slot registry, the settle that appends the container into the highest-priority mount on screen, and the pane's two slots plus the bar layer) and the GALLERY LAYOUT (detailGallery.ts — the class, the two arms and the strip's child rule, hoisted because an inline style cannot reach a child), together with `useTitleVisibility`'s IntersectionObserver. Measured with dependencies held constant, this package's src at HEAD built into a scratch tree and then this one: 27.72 -> 29.92 KB. 30 would have left 80 B, which is the budget-passed-by-rounding this entry has warned about four times; 31 leaves 1.08 KB. What was bought: a page that mounts ONE `useFavoriteToggle` instead of two, and a host stylesheet that no longer needs `!important` over a pair's own geometry. Raised 31 -> 33 KB (measured 31.84) for the four absences the closing-wave comparison filed against this page, none of which is copy and none of which is a variant of something already here: the CONDENSED BAR the pane now draws itself (condensedBar.ts plus the bar's own assembly and the title-visibility state — the thing every container was writing identically around `renderActionsBar`, and it borrows the SAME travelling cluster, so it adds no second `useFavoriteToggle`); the STRIP'S POSITION (`useGalleryPosition` — a throttled scroll reading, the frame the counter stands in because an absolute child of a scroller scrolls away with the content it is counting, and the pill's own rules: the phone gallery had no active-photo indicator at all, REPORT §20b); the FOUR CANNED QUESTIONS above the chat door (§16, all four comparisons — the one control on this page that turns a reader into a conversation); and `<ListingRelatedStrip>`, the two find-more sections the reference ends a listing with (§16 comparison 4), which is a new component with its own hoisted sheet. The spec fold (`limit`) rides along for about ninety bytes. Measured with dependencies held constant, this package's src at HEAD and then this one: 30.24 -> 31.84 KB. 32 would have left 160 B — the budget-passed-by-rounding this entry has now warned about five times; 33 leaves 1.16 KB.",
|
|
57
57
|
"path": "dist/default/index.js",
|
|
58
|
-
"limit": "
|
|
58
|
+
"limit": "33 KB"
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
"name": "i18n/ru — the Russian bundle is opt-in, not carried by the main entry. Raised 5 -> 5.5 KB (measured 5.02): three sentences the wave added — the fourth tab and its empty state, and the delete warning that does not promise the archive to a listing already in it. A bundle sitting exactly ON its limit is a limit the next sentence breaks. Raised 5.5 -> 6 KB (measured 5.48) for the three features_draft refusals the stapel-listings 0.22.3 pin brought with it: each of these three has to NAME the shape it wanted rather than say \"try again\". 5.48 of 5.5 is twenty bytes of headroom — the rounding this entry already warns about. The 0.22.8 pin then moved the seventeen module-owned sentences from this file to the module's own catalogue: same keys, upstream wording, 5.52 KB.",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"typescript": "^5.8.3",
|
|
104
104
|
"vitest": "^3.2.4",
|
|
105
105
|
"@stapel/attributes-react": "^0.17.0",
|
|
106
|
-
"@stapel/core": "^0.26.
|
|
106
|
+
"@stapel/core": "^0.26.1",
|
|
107
107
|
"@stapel/currencies-react": "^0.4.0",
|
|
108
108
|
"@stapel/image": "^0.4.2",
|
|
109
109
|
"@stapel/showcase": "^0.3.0",
|
|
@@ -49,6 +49,46 @@ export interface CardBadgesProps {
|
|
|
49
49
|
/** The separator of a spec line — the one every classified uses. */
|
|
50
50
|
const LINE_SEPARATOR = " · ";
|
|
51
51
|
|
|
52
|
+
/** The class the spec line's own box carries. */
|
|
53
|
+
export const CARD_SPEC_LINE_CLASS = "stapel-listing-spec-line";
|
|
54
|
+
/** The class the spec line's TEXT carries — see {@link cardSpecLineCss}. */
|
|
55
|
+
export const CARD_SPEC_TEXT_CLASS = "stapel-listing-spec-line-text";
|
|
56
|
+
/** The `href` the hoisted spec-line stylesheet is deduplicated by. */
|
|
57
|
+
export const CARD_SPEC_STYLE_HREF = "stapel-listings-card-spec-line";
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* THE SPEC LINE TRUNCATES, AND THE THING THAT TRUNCATES IS THE THING THAT
|
|
61
|
+
* HOLDS THE TEXT.
|
|
62
|
+
*
|
|
63
|
+
* `<Typography.Text ellipsis>` writes `overflow:hidden`, `white-space:nowrap`
|
|
64
|
+
* and `text-overflow:ellipsis` on ITSELF, and the text inside it is a separate
|
|
65
|
+
* `<span>` — the badge row's own element. An inline span lays out at its
|
|
66
|
+
* natural width regardless of what its parent clips, so the line was drawn
|
|
67
|
+
* correctly (the overflow is hidden) over a box that is wrong: the stand's
|
|
68
|
+
* tidiness probe measured `listings-card-specs-text` 57px wider than the
|
|
69
|
+
* element it sits in. A box that reports a width nothing on screen has is a
|
|
70
|
+
* defect whether or not a pixel of it is visible — it is what a container
|
|
71
|
+
* measuring the card, a sticky-header calculation or the next layout rule
|
|
72
|
+
* reads.
|
|
73
|
+
*
|
|
74
|
+
* So the truncation moves ONTO the span. The line becomes a flex container
|
|
75
|
+
* and the span a flex child with `min-inline-size: 0`, which is the
|
|
76
|
+
* declaration that lets a flex child shrink below its content at all — without
|
|
77
|
+
* it `min-width:auto` keeps the box at the text's natural width and every
|
|
78
|
+
* other rule here is decoration.
|
|
79
|
+
*
|
|
80
|
+
* A sheet rather than inline styles because the span is rendered by
|
|
81
|
+
* `<CardBadges>` and the box by antd, and an inline style cannot reach a
|
|
82
|
+
* child.
|
|
83
|
+
*/
|
|
84
|
+
export function cardSpecLineCss(): string {
|
|
85
|
+
return [
|
|
86
|
+
`.${CARD_SPEC_LINE_CLASS}{display:flex;min-inline-size:0}`,
|
|
87
|
+
`.${CARD_SPEC_TEXT_CLASS}{flex:1 1 auto;min-inline-size:0;` +
|
|
88
|
+
`overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`,
|
|
89
|
+
].join("");
|
|
90
|
+
}
|
|
91
|
+
|
|
52
92
|
export function CardBadges(props: CardBadgesProps): ReactElement | null {
|
|
53
93
|
const { locale } = useI18n();
|
|
54
94
|
const rows = props.rows as readonly CardBadgeRow[];
|
|
@@ -62,7 +102,10 @@ export function CardBadges(props: CardBadgesProps): ReactElement | null {
|
|
|
62
102
|
if (printed.length === 0) return null;
|
|
63
103
|
if (props.variant === "line") {
|
|
64
104
|
return (
|
|
65
|
-
<span
|
|
105
|
+
<span
|
|
106
|
+
className={CARD_SPEC_TEXT_CLASS}
|
|
107
|
+
data-testid={props.testId ?? "listings-card-badges"}
|
|
108
|
+
>
|
|
66
109
|
{printed.map((one) => one.text).join(LINE_SEPARATOR)}
|
|
67
110
|
</span>
|
|
68
111
|
);
|
|
@@ -100,8 +143,26 @@ export function CardSpecLine(props: {
|
|
|
100
143
|
}): ReactElement | null {
|
|
101
144
|
if (props.rows.length === 0) return null;
|
|
102
145
|
return (
|
|
103
|
-
|
|
104
|
-
<
|
|
105
|
-
|
|
146
|
+
<>
|
|
147
|
+
<style href={CARD_SPEC_STYLE_HREF} precedence="default">
|
|
148
|
+
{cardSpecLineCss()}
|
|
149
|
+
</style>
|
|
150
|
+
{/* `ellipsis` stays: it is what antd's own secondary text looks like
|
|
151
|
+
when it truncates, and the sheet above moves the clipping onto the
|
|
152
|
+
span that actually holds the words. */}
|
|
153
|
+
<Typography.Text
|
|
154
|
+
type="secondary"
|
|
155
|
+
ellipsis
|
|
156
|
+
className={CARD_SPEC_LINE_CLASS}
|
|
157
|
+
data-testid={props.testId}
|
|
158
|
+
>
|
|
159
|
+
<CardBadges
|
|
160
|
+
rows={props.rows}
|
|
161
|
+
copy={props.copy}
|
|
162
|
+
variant="line"
|
|
163
|
+
testId={`${props.testId}-text`}
|
|
164
|
+
/>
|
|
165
|
+
</Typography.Text>
|
|
166
|
+
</>
|
|
106
167
|
);
|
|
107
168
|
}
|