crew-recommendation-ui 0.0.3 → 0.1.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 (57) hide show
  1. package/dist/Card-DteGeVSR.js +33 -0
  2. package/dist/RecommendationList-CTFNSv0Z.js +436 -0
  3. package/dist/dls/components/Card.d.ts +6 -0
  4. package/dist/dls/components/Card.d.ts.map +1 -0
  5. package/dist/dls/components/index.d.ts +2 -0
  6. package/dist/dls/components/index.d.ts.map +1 -0
  7. package/dist/dls/index.d.ts +2 -2
  8. package/dist/dls/index.d.ts.map +1 -1
  9. package/dist/dls/index.js +13 -23
  10. package/dist/index.d.ts +3 -12
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +18 -17
  13. package/dist/package.json +51 -0
  14. package/dist/recommendation-listing/components/BadgeGroup.d.ts +4 -0
  15. package/dist/recommendation-listing/components/BadgeGroup.d.ts.map +1 -0
  16. package/dist/recommendation-listing/components/PriceDisplay.d.ts +4 -0
  17. package/dist/recommendation-listing/components/PriceDisplay.d.ts.map +1 -0
  18. package/dist/recommendation-listing/components/RecommendationCard.d.ts +4 -0
  19. package/dist/recommendation-listing/components/RecommendationCard.d.ts.map +1 -0
  20. package/dist/recommendation-listing/components/RecommendationHeader.d.ts +4 -0
  21. package/dist/recommendation-listing/components/RecommendationHeader.d.ts.map +1 -0
  22. package/dist/recommendation-listing/components/RecommendationList.d.ts +4 -0
  23. package/dist/recommendation-listing/components/RecommendationList.d.ts.map +1 -0
  24. package/dist/recommendation-listing/components/index.d.ts +6 -0
  25. package/dist/recommendation-listing/components/index.d.ts.map +1 -0
  26. package/dist/recommendation-listing/index.d.ts +3 -0
  27. package/dist/recommendation-listing/index.d.ts.map +1 -0
  28. package/dist/recommendation-listing/index.js +8 -0
  29. package/dist/recommendation-listing/types.d.ts +103 -0
  30. package/dist/recommendation-listing/types.d.ts.map +1 -0
  31. package/dist/{typography-zz5GzgjI.js → typography-BsVHTIk4.js} +65 -74
  32. package/package.json +10 -18
  33. package/dist/Card-B-7LezA9.js +0 -163
  34. package/dist/Card-B-7LezA9.js.map +0 -1
  35. package/dist/dls/index.js.map +0 -1
  36. package/dist/index.js.map +0 -1
  37. package/dist/recommendation/components/Card.d.ts +0 -13
  38. package/dist/recommendation/components/Card.d.ts.map +0 -1
  39. package/dist/recommendation/components/index.d.ts +0 -6
  40. package/dist/recommendation/components/index.d.ts.map +0 -1
  41. package/dist/recommendation/index.d.ts +0 -9
  42. package/dist/recommendation/index.d.ts.map +0 -1
  43. package/dist/recommendation/index.js +0 -6
  44. package/dist/recommendation/index.js.map +0 -1
  45. package/dist/recommendation/types.d.ts +0 -71
  46. package/dist/recommendation/types.d.ts.map +0 -1
  47. package/dist/typography-zz5GzgjI.js.map +0 -1
  48. package/src/dls/index.ts +0 -15
  49. package/src/dls/tokens/colors.ts +0 -94
  50. package/src/dls/tokens/index.ts +0 -30
  51. package/src/dls/tokens/spacing.ts +0 -62
  52. package/src/dls/tokens/typography.ts +0 -119
  53. package/src/index.ts +0 -25
  54. package/src/recommendation/components/Card.tsx +0 -212
  55. package/src/recommendation/components/index.ts +0 -14
  56. package/src/recommendation/index.ts +0 -15
  57. package/src/recommendation/types.ts +0 -87
@@ -0,0 +1,33 @@
1
+ import { t as a, e as o, l as r, d as l, b as c, f as g, a as f, s as i, c as t } from "./typography-BsVHTIk4.js";
2
+ import { jsx as e } from "react/jsx-runtime";
3
+ import { StyleSheet as m, View as d, Text as p } from "react-native";
4
+ const u = {
5
+ colors: t,
6
+ spacing: i,
7
+ semanticSpacing: f,
8
+ fontFamily: g,
9
+ fontSize: c,
10
+ fontWeight: l,
11
+ lineHeight: r,
12
+ letterSpacing: o,
13
+ textStyles: a
14
+ }, x = ({ title: s }) => /* @__PURE__ */ e(d, { style: n.container, children: /* @__PURE__ */ e(p, { style: n.title, children: s }) }), n = m.create({
15
+ container: {
16
+ backgroundColor: t.neutral[800],
17
+ borderRadius: 12,
18
+ padding: i[4],
19
+ alignItems: "center",
20
+ justifyContent: "center",
21
+ minHeight: 100
22
+ },
23
+ title: {
24
+ fontSize: 18,
25
+ fontWeight: "600",
26
+ color: t.neutral[0],
27
+ textAlign: "center"
28
+ }
29
+ });
30
+ export {
31
+ x as C,
32
+ u as t
33
+ };
@@ -0,0 +1,436 @@
1
+ import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
+ import { StyleSheet as v, TouchableOpacity as I, View as l, Image as z, Text as o, FlatList as O } from "react-native";
3
+ import { s as e, c as r, t as c } from "./typography-BsVHTIk4.js";
4
+ const V = ({
5
+ itemData: u,
6
+ onPress: i,
7
+ isSelected: d = !1,
8
+ showBadge: s = !0,
9
+ showPrice: g = !0,
10
+ imageHeight: p = 200,
11
+ testID: h
12
+ }) => {
13
+ const {
14
+ image_signed_urls: C,
15
+ title: N,
16
+ subtitle: R,
17
+ price: b,
18
+ originalPrice: y,
19
+ discountedPrice: L,
20
+ rating: w,
21
+ ratingCount: S,
22
+ location: D,
23
+ recommended: E,
24
+ isPriceExclusive: T,
25
+ bestDeal: P,
26
+ handPicked: W
27
+ } = u, H = C == null ? void 0 : C[0], B = L || b, $ = y && B !== y;
28
+ return /* @__PURE__ */ a(
29
+ I,
30
+ {
31
+ style: [
32
+ t.container,
33
+ d && t.containerSelected
34
+ ],
35
+ onPress: i,
36
+ activeOpacity: 0.7,
37
+ testID: h,
38
+ children: [
39
+ H && /* @__PURE__ */ a(l, { style: [t.imageContainer, { height: p }], children: [
40
+ /* @__PURE__ */ n(
41
+ z,
42
+ {
43
+ source: { uri: H },
44
+ style: t.image,
45
+ resizeMode: "cover"
46
+ }
47
+ ),
48
+ s && (E || T || P || W) && /* @__PURE__ */ a(l, { style: t.badgeContainer, children: [
49
+ E && /* @__PURE__ */ n(l, { style: [t.badge, t.badgeRecommended], children: /* @__PURE__ */ n(o, { style: t.badgeText, children: "⭐ Recommended" }) }),
50
+ T && /* @__PURE__ */ n(l, { style: [t.badge, t.badgeExclusive], children: /* @__PURE__ */ n(o, { style: t.badgeText, children: "✨ Exclusive" }) }),
51
+ P && /* @__PURE__ */ n(l, { style: [t.badge, t.badgeDeal], children: /* @__PURE__ */ n(o, { style: t.badgeText, children: "🔥 Best Deal" }) }),
52
+ W && /* @__PURE__ */ n(l, { style: [t.badge, t.badgeHandPicked], children: /* @__PURE__ */ n(o, { style: t.badgeText, children: "👌 Hand Picked" }) })
53
+ ] })
54
+ ] }),
55
+ /* @__PURE__ */ a(l, { style: t.content, children: [
56
+ /* @__PURE__ */ n(o, { style: t.title, numberOfLines: 2, children: N }),
57
+ R && /* @__PURE__ */ n(o, { style: t.subtitle, numberOfLines: 1, children: R }),
58
+ (w || D) && /* @__PURE__ */ a(l, { style: t.infoRow, children: [
59
+ w && /* @__PURE__ */ a(l, { style: t.ratingContainer, children: [
60
+ /* @__PURE__ */ a(o, { style: t.ratingText, children: [
61
+ "⭐ ",
62
+ w
63
+ ] }),
64
+ S && /* @__PURE__ */ a(o, { style: t.ratingCount, children: [
65
+ "(",
66
+ S,
67
+ ")"
68
+ ] })
69
+ ] }),
70
+ D && /* @__PURE__ */ a(o, { style: t.location, numberOfLines: 1, children: [
71
+ "📍 ",
72
+ D
73
+ ] })
74
+ ] }),
75
+ g && B && /* @__PURE__ */ a(l, { style: t.priceContainer, children: [
76
+ /* @__PURE__ */ a(l, { style: t.priceRow, children: [
77
+ /* @__PURE__ */ n(o, { style: t.price, children: B }),
78
+ $ && y && /* @__PURE__ */ n(o, { style: t.originalPrice, children: y })
79
+ ] }),
80
+ T && /* @__PURE__ */ n(o, { style: t.priceNote, children: "Exclusive Price" })
81
+ ] })
82
+ ] })
83
+ ]
84
+ }
85
+ );
86
+ }, t = v.create({
87
+ container: {
88
+ backgroundColor: r.card.background.dark,
89
+ borderRadius: e[3],
90
+ borderWidth: 1,
91
+ borderColor: r.card.border.dark,
92
+ overflow: "hidden",
93
+ marginBottom: e[4]
94
+ },
95
+ containerSelected: {
96
+ borderColor: r.primary[500],
97
+ borderWidth: 2
98
+ },
99
+ imageContainer: {
100
+ width: "100%",
101
+ position: "relative",
102
+ backgroundColor: r.neutral[800]
103
+ },
104
+ image: {
105
+ width: "100%",
106
+ height: "100%"
107
+ },
108
+ badgeContainer: {
109
+ position: "absolute",
110
+ top: e[2],
111
+ left: e[2],
112
+ right: e[2],
113
+ flexDirection: "row",
114
+ flexWrap: "wrap",
115
+ gap: e[1]
116
+ },
117
+ badge: {
118
+ paddingHorizontal: e[2],
119
+ paddingVertical: e[1],
120
+ borderRadius: e[1],
121
+ alignSelf: "flex-start"
122
+ },
123
+ badgeRecommended: {
124
+ backgroundColor: "rgba(251, 191, 36, 0.95)"
125
+ },
126
+ badgeExclusive: {
127
+ backgroundColor: "rgba(147, 51, 234, 0.95)"
128
+ },
129
+ badgeDeal: {
130
+ backgroundColor: "rgba(239, 68, 68, 0.95)"
131
+ },
132
+ badgeHandPicked: {
133
+ backgroundColor: "rgba(34, 197, 94, 0.95)"
134
+ },
135
+ badgeText: {
136
+ ...c.caption,
137
+ color: r.neutral[0],
138
+ fontWeight: "600"
139
+ },
140
+ content: {
141
+ padding: e[4]
142
+ },
143
+ title: {
144
+ ...c.h3,
145
+ color: r.neutral[0],
146
+ marginBottom: e[1]
147
+ },
148
+ subtitle: {
149
+ ...c.body,
150
+ color: r.neutral[400],
151
+ marginBottom: e[2]
152
+ },
153
+ infoRow: {
154
+ flexDirection: "row",
155
+ alignItems: "center",
156
+ marginBottom: e[3],
157
+ gap: e[3]
158
+ },
159
+ ratingContainer: {
160
+ flexDirection: "row",
161
+ alignItems: "center",
162
+ gap: e[1]
163
+ },
164
+ ratingText: {
165
+ ...c.body,
166
+ color: r.neutral[200],
167
+ fontWeight: "600"
168
+ },
169
+ ratingCount: {
170
+ ...c.caption,
171
+ color: r.neutral[500]
172
+ },
173
+ location: {
174
+ ...c.caption,
175
+ color: r.neutral[400],
176
+ flex: 1
177
+ },
178
+ priceContainer: {
179
+ marginTop: e[2],
180
+ paddingTop: e[3],
181
+ borderTopWidth: 1,
182
+ borderTopColor: r.card.border.dark
183
+ },
184
+ priceRow: {
185
+ flexDirection: "row",
186
+ alignItems: "center",
187
+ gap: e[2]
188
+ },
189
+ price: {
190
+ ...c.h2,
191
+ color: r.primary[400],
192
+ fontWeight: "700"
193
+ },
194
+ originalPrice: {
195
+ ...c.body,
196
+ color: r.neutral[500],
197
+ textDecorationLine: "line-through"
198
+ },
199
+ priceNote: {
200
+ ...c.caption,
201
+ color: r.primary[300],
202
+ marginTop: e[1]
203
+ }
204
+ }), G = ({
205
+ recommended: u,
206
+ isPriceExclusive: i,
207
+ bestDeal: d,
208
+ handPicked: s
209
+ }) => {
210
+ const g = [];
211
+ return u && g.push({
212
+ key: "recommended",
213
+ text: "⭐ Recommended",
214
+ style: m.badgeRecommended
215
+ }), i && g.push({
216
+ key: "exclusive",
217
+ text: "✨ Exclusive",
218
+ style: m.badgeExclusive
219
+ }), d && g.push({
220
+ key: "deal",
221
+ text: "🔥 Best Deal",
222
+ style: m.badgeDeal
223
+ }), s && g.push({
224
+ key: "handpicked",
225
+ text: "👌 Hand Picked",
226
+ style: m.badgeHandPicked
227
+ }), g.length === 0 ? null : /* @__PURE__ */ n(l, { style: m.container, children: g.map((p) => /* @__PURE__ */ n(l, { style: [m.badge, p.style], children: /* @__PURE__ */ n(o, { style: m.badgeText, children: p.text }) }, p.key)) });
228
+ }, m = v.create({
229
+ container: {
230
+ flexDirection: "row",
231
+ flexWrap: "wrap",
232
+ gap: e[1]
233
+ },
234
+ badge: {
235
+ paddingHorizontal: e[2],
236
+ paddingVertical: e[1],
237
+ borderRadius: e[1],
238
+ alignSelf: "flex-start"
239
+ },
240
+ badgeRecommended: {
241
+ backgroundColor: "rgba(251, 191, 36, 0.95)"
242
+ },
243
+ badgeExclusive: {
244
+ backgroundColor: "rgba(147, 51, 234, 0.95)"
245
+ },
246
+ badgeDeal: {
247
+ backgroundColor: "rgba(239, 68, 68, 0.95)"
248
+ },
249
+ badgeHandPicked: {
250
+ backgroundColor: "rgba(34, 197, 94, 0.95)"
251
+ },
252
+ badgeText: {
253
+ ...c.caption,
254
+ color: r.neutral[0],
255
+ fontWeight: "600"
256
+ }
257
+ }), q = ({
258
+ price: u,
259
+ originalPrice: i,
260
+ discountedPrice: d,
261
+ currency: s,
262
+ isPriceExclusive: g
263
+ }) => {
264
+ const p = d || u, h = i && p !== i;
265
+ return p ? /* @__PURE__ */ a(l, { style: f.container, children: [
266
+ /* @__PURE__ */ a(l, { style: f.priceRow, children: [
267
+ /* @__PURE__ */ a(o, { style: f.price, children: [
268
+ s && `${s} `,
269
+ p
270
+ ] }),
271
+ h && i && /* @__PURE__ */ a(o, { style: f.originalPrice, children: [
272
+ s && `${s} `,
273
+ i
274
+ ] })
275
+ ] }),
276
+ g && /* @__PURE__ */ n(o, { style: f.exclusiveNote, children: "✨ Exclusive Price" }),
277
+ h && !g && /* @__PURE__ */ a(o, { style: f.savingsNote, children: [
278
+ "Save ",
279
+ j(i, p)
280
+ ] })
281
+ ] }) : null;
282
+ };
283
+ function j(u, i) {
284
+ if (!u) return "";
285
+ const d = parseFloat(u.replace(/[^0-9.-]+/g, "")), s = parseFloat(i.replace(/[^0-9.-]+/g, ""));
286
+ if (isNaN(d) || isNaN(s) || d === 0)
287
+ return "";
288
+ const g = (d - s) / d * 100;
289
+ return `${Math.round(g)}%`;
290
+ }
291
+ const f = v.create({
292
+ container: {
293
+ gap: e[1]
294
+ },
295
+ priceRow: {
296
+ flexDirection: "row",
297
+ alignItems: "center",
298
+ gap: e[2]
299
+ },
300
+ price: {
301
+ ...c.h2,
302
+ color: r.primary[400],
303
+ fontWeight: "700"
304
+ },
305
+ originalPrice: {
306
+ ...c.body,
307
+ color: r.neutral[500],
308
+ textDecorationLine: "line-through"
309
+ },
310
+ exclusiveNote: {
311
+ ...c.caption,
312
+ color: r.primary[300]
313
+ },
314
+ savingsNote: {
315
+ ...c.caption,
316
+ color: r.success[500]
317
+ }
318
+ }), J = ({
319
+ title: u,
320
+ subtitle: i,
321
+ onFilterPress: d,
322
+ showFilter: s = !1
323
+ }) => !u && !i ? null : /* @__PURE__ */ a(l, { style: x.container, children: [
324
+ /* @__PURE__ */ a(l, { style: x.textContainer, children: [
325
+ u && /* @__PURE__ */ n(o, { style: x.title, children: u }),
326
+ i && /* @__PURE__ */ n(o, { style: x.subtitle, children: i })
327
+ ] }),
328
+ s && d && /* @__PURE__ */ n(
329
+ I,
330
+ {
331
+ style: x.filterButton,
332
+ onPress: d,
333
+ activeOpacity: 0.7,
334
+ children: /* @__PURE__ */ n(o, { style: x.filterText, children: "🔍 Filter" })
335
+ }
336
+ )
337
+ ] }), x = v.create({
338
+ container: {
339
+ flexDirection: "row",
340
+ justifyContent: "space-between",
341
+ alignItems: "center",
342
+ padding: e[4],
343
+ backgroundColor: r.neutral[900],
344
+ borderBottomWidth: 1,
345
+ borderBottomColor: r.card.border.dark
346
+ },
347
+ textContainer: {
348
+ flex: 1,
349
+ gap: e[1]
350
+ },
351
+ title: {
352
+ ...c.h2,
353
+ color: r.neutral[0]
354
+ },
355
+ subtitle: {
356
+ ...c.body,
357
+ color: r.neutral[400]
358
+ },
359
+ filterButton: {
360
+ paddingHorizontal: e[3],
361
+ paddingVertical: e[2],
362
+ backgroundColor: r.primary[600],
363
+ borderRadius: e[2]
364
+ },
365
+ filterText: {
366
+ ...c.body,
367
+ color: r.neutral[0],
368
+ fontWeight: "600"
369
+ }
370
+ }), K = ({
371
+ items: u,
372
+ onItemPress: i,
373
+ renderItem: d,
374
+ ListHeaderComponent: s,
375
+ ListEmptyComponent: g,
376
+ onEndReached: p,
377
+ onEndReachedThreshold: h = 0.5,
378
+ testID: C
379
+ }) => /* @__PURE__ */ n(
380
+ O,
381
+ {
382
+ data: u,
383
+ renderItem: ({ item: b, index: y }) => d ? d(b, y) : /* @__PURE__ */ n(l, { style: k.itemContainer, children: /* @__PURE__ */ n(
384
+ V,
385
+ {
386
+ itemData: b,
387
+ onPress: () => i == null ? void 0 : i(b),
388
+ testID: `recommendation-card-${y}`
389
+ }
390
+ ) }),
391
+ keyExtractor: (b) => b.id,
392
+ ListHeaderComponent: s,
393
+ ListEmptyComponent: g || (() => /* @__PURE__ */ a(l, { style: k.emptyContainer, children: [
394
+ /* @__PURE__ */ n(o, { style: k.emptyTitle, children: "No recommendations available" }),
395
+ /* @__PURE__ */ n(o, { style: k.emptySubtitle, children: "Check back later for personalized recommendations" })
396
+ ] })),
397
+ onEndReached: p,
398
+ onEndReachedThreshold: h,
399
+ contentContainerStyle: k.contentContainer,
400
+ showsVerticalScrollIndicator: !1,
401
+ testID: C
402
+ }
403
+ ), k = v.create({
404
+ contentContainer: {
405
+ padding: e[4],
406
+ backgroundColor: r.neutral[50]
407
+ },
408
+ itemContainer: {
409
+ marginBottom: e[4]
410
+ },
411
+ emptyContainer: {
412
+ flex: 1,
413
+ justifyContent: "center",
414
+ alignItems: "center",
415
+ paddingVertical: e[8],
416
+ paddingHorizontal: e[6]
417
+ },
418
+ emptyTitle: {
419
+ ...c.h2,
420
+ color: r.neutral[700],
421
+ marginBottom: e[2],
422
+ textAlign: "center"
423
+ },
424
+ emptySubtitle: {
425
+ ...c.body,
426
+ color: r.neutral[500],
427
+ textAlign: "center"
428
+ }
429
+ });
430
+ export {
431
+ G as B,
432
+ q as P,
433
+ V as R,
434
+ J as a,
435
+ K as b
436
+ };
@@ -0,0 +1,6 @@
1
+ interface CardProps {
2
+ title: string;
3
+ }
4
+ export declare const Card: ({ title }: CardProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/dls/components/Card.tsx"],"names":[],"mappings":"AAGA,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,IAAI,cAAe,SAAS,4CAMxC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { Card } from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dls/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Design Language System (DLS)
3
3
  *
4
- * This module exports all design tokens and primitives
5
- * for building consistent UI across platforms.
4
+ * Exports design tokens and components.
6
5
  */
7
6
  export * from './tokens';
7
+ export * from './components';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dls/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dls/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,UAAU,CAAA;AAGxB,cAAc,cAAc,CAAA"}
package/dist/dls/index.js CHANGED
@@ -1,25 +1,15 @@
1
- import { t as textStyles, e as letterSpacing, l as lineHeight, d as fontWeight, b as fontSize, f as fontFamily, a as semanticSpacing, s as spacing, c as colors } from "../typography-zz5GzgjI.js";
2
- const tokens = {
3
- colors,
4
- spacing,
5
- semanticSpacing,
6
- fontFamily,
7
- fontSize,
8
- fontWeight,
9
- lineHeight,
10
- letterSpacing,
11
- textStyles
12
- };
1
+ import { C as t, t as e } from "../Card-DteGeVSR.js";
2
+ import { c as i, f as n, b as r, d as c, e as f, l, a as g, s as p, t as m } from "../typography-BsVHTIk4.js";
13
3
  export {
14
- colors,
15
- fontFamily,
16
- fontSize,
17
- fontWeight,
18
- letterSpacing,
19
- lineHeight,
20
- semanticSpacing,
21
- spacing,
22
- textStyles,
23
- tokens
4
+ t as Card,
5
+ i as colors,
6
+ n as fontFamily,
7
+ r as fontSize,
8
+ c as fontWeight,
9
+ f as letterSpacing,
10
+ l as lineHeight,
11
+ g as semanticSpacing,
12
+ p as spacing,
13
+ m as textStyles,
14
+ e as tokens
24
15
  };
25
- //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -1,17 +1,8 @@
1
1
  /**
2
- * @crew-copilot/recommendation-ui
2
+ * crew-recommendation-ui
3
3
  *
4
- * A shared UI library for recommendation listing components
5
- * that can be used across:
6
- * - Web (crew-website)
7
- * - Mobile App (crew-app via WebView or React Native)
8
- * - Dashboard
9
- *
10
- * This library provides:
11
- * 1. DLS (Design Language System) - tokens and primitives
12
- * 2. Recommendation cards - Hotel, Flight, Cab, etc.
4
+ * A React Native Web library with DLS tokens and recommendation listing components.
13
5
  */
14
6
  export * from './dls';
15
- export * from './recommendation';
16
- export declare const VERSION = "0.0.1";
7
+ export * from './recommendation-listing';
17
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,cAAc,OAAO,CAAC;AAGtB,cAAc,kBAAkB,CAAC;AAGjC,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,OAAO,CAAA;AACrB,cAAc,0BAA0B,CAAA"}
package/dist/index.js CHANGED
@@ -1,20 +1,21 @@
1
- import { tokens } from "./dls/index.js";
2
- import { C, C as C2 } from "./Card-B-7LezA9.js";
3
- import { c, f, b, d, e, l, a, s, t } from "./typography-zz5GzgjI.js";
4
- const VERSION = "0.0.1";
1
+ import { C as s, t } from "./Card-DteGeVSR.js";
2
+ import { B as i, P as n, R as r, a as m, b as c } from "./RecommendationList-CTFNSv0Z.js";
3
+ import { c as p, f, b as l, d as g, e as x, l as R, a as S, s as y, t as C } from "./typography-BsVHTIk4.js";
5
4
  export {
6
- C as Card,
7
- C2 as RecommendationCard,
8
- VERSION,
9
- c as colors,
5
+ i as BadgeGroup,
6
+ s as Card,
7
+ n as PriceDisplay,
8
+ r as RecommendationCard,
9
+ m as RecommendationHeader,
10
+ c as RecommendationList,
11
+ p as colors,
10
12
  f as fontFamily,
11
- b as fontSize,
12
- d as fontWeight,
13
- e as letterSpacing,
14
- l as lineHeight,
15
- a as semanticSpacing,
16
- s as spacing,
17
- t as textStyles,
18
- tokens
13
+ l as fontSize,
14
+ g as fontWeight,
15
+ x as letterSpacing,
16
+ R as lineHeight,
17
+ S as semanticSpacing,
18
+ y as spacing,
19
+ C as textStyles,
20
+ t as tokens
19
21
  };
20
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "crew-recommendation-ui",
3
+ "version": "0.1.0",
4
+ "description": "React Native Web library with DLS tokens and recommendation listing components",
5
+ "private": false,
6
+ "publishConfig": {
7
+ "access": "public",
8
+ "registry": "https://registry.npmjs.org/"
9
+ },
10
+ "type": "module",
11
+ "main": "./dist/index.js",
12
+ "module": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "./dls": {
21
+ "types": "./dist/dls/index.d.ts",
22
+ "import": "./dist/dls/index.js",
23
+ "default": "./dist/dls/index.js"
24
+ },
25
+ "./recommendation-listing": {
26
+ "types": "./dist/recommendation-listing/index.d.ts",
27
+ "import": "./dist/recommendation-listing/index.js",
28
+ "default": "./dist/recommendation-listing/index.js"
29
+ }
30
+ },
31
+ "files": [
32
+ "dist"
33
+ ],
34
+ "scripts": {
35
+ "build": "vite build",
36
+ "clean": "rm -rf dist"
37
+ },
38
+ "peerDependencies": {
39
+ "react": ">=17.0.0",
40
+ "react-native": ">=0.70.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/react": "^18.2.55",
44
+ "@types/react-native": "^0.72.0",
45
+ "@vitejs/plugin-react": "^4.3.4",
46
+ "react-native": "^0.74.0",
47
+ "typescript": "~5.7.2",
48
+ "vite": "^6.3.1",
49
+ "vite-plugin-dts": "^4.5.0"
50
+ }
51
+ }
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { BadgeGroupProps } from '../types';
3
+ export declare const BadgeGroup: React.FC<BadgeGroupProps>;
4
+ //# sourceMappingURL=BadgeGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeGroup.d.ts","sourceRoot":"","sources":["../../../src/recommendation-listing/components/BadgeGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqDhD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { PriceDisplayProps } from '../types';
3
+ export declare const PriceDisplay: React.FC<PriceDisplayProps>;
4
+ //# sourceMappingURL=PriceDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceDisplay.d.ts","sourceRoot":"","sources":["../../../src/recommendation-listing/components/PriceDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsCpD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { RecommendationCardProps } from '../types';
3
+ export declare const RecommendationCard: React.FC<RecommendationCardProps>;
4
+ //# sourceMappingURL=RecommendationCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecommendationCard.d.ts","sourceRoot":"","sources":["../../../src/recommendation-listing/components/RecommendationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8HhE,CAAA"}