@myrjfa/state 3.0.8 → 3.0.9

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 (169) hide show
  1. package/dist/lib/actions/application.d.ts +5 -3
  2. package/dist/lib/actions/application.d.ts.map +1 -1
  3. package/dist/lib/actions/application.js +45 -2
  4. package/dist/lib/actions/auth.d.ts +18 -3
  5. package/dist/lib/actions/auth.d.ts.map +1 -1
  6. package/dist/lib/actions/auth.js +22 -0
  7. package/dist/lib/actions/blog.d.ts.map +1 -1
  8. package/dist/lib/actions/blog.js +3 -2
  9. package/dist/lib/actions/booking.d.ts +29 -1
  10. package/dist/lib/actions/booking.d.ts.map +1 -1
  11. package/dist/lib/actions/booking.js +186 -0
  12. package/dist/lib/actions/brand.d.ts +7 -0
  13. package/dist/lib/actions/brand.d.ts.map +1 -1
  14. package/dist/lib/actions/brand.js +4 -0
  15. package/dist/lib/actions/chat.d.ts +3 -0
  16. package/dist/lib/actions/chat.d.ts.map +1 -1
  17. package/dist/lib/actions/chat.js +40 -1
  18. package/dist/lib/actions/community.d.ts +2 -1
  19. package/dist/lib/actions/community.d.ts.map +1 -1
  20. package/dist/lib/actions/community.js +10 -4
  21. package/dist/lib/actions/companion.d.ts +13 -7
  22. package/dist/lib/actions/companion.d.ts.map +1 -1
  23. package/dist/lib/actions/companion.js +6 -4
  24. package/dist/lib/actions/companionUpload.d.ts +2 -1
  25. package/dist/lib/actions/companionUpload.d.ts.map +1 -1
  26. package/dist/lib/actions/companionUpload.js +2 -1
  27. package/dist/lib/actions/event.d.ts +1 -1
  28. package/dist/lib/actions/event.d.ts.map +1 -1
  29. package/dist/lib/actions/event.js +5 -2
  30. package/dist/lib/actions/fetcher.d.ts +7 -1
  31. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  32. package/dist/lib/actions/fetcher.js +56 -11
  33. package/dist/lib/actions/guide.js +1 -0
  34. package/dist/lib/actions/homeBanner.d.ts +8 -0
  35. package/dist/lib/actions/homeBanner.d.ts.map +1 -0
  36. package/dist/lib/actions/homeBanner.js +33 -0
  37. package/dist/lib/actions/hostDashboard.d.ts +1 -11
  38. package/dist/lib/actions/hostDashboard.d.ts.map +1 -1
  39. package/dist/lib/actions/hostDashboard.js +1 -146
  40. package/dist/lib/actions/itinerary.d.ts +1 -1
  41. package/dist/lib/actions/itinerary.d.ts.map +1 -1
  42. package/dist/lib/actions/itinerary.js +2 -2
  43. package/dist/lib/actions/listingInterest.d.ts +2 -5
  44. package/dist/lib/actions/listingInterest.d.ts.map +1 -1
  45. package/dist/lib/actions/listingInterest.js +18 -3
  46. package/dist/lib/actions/location.d.ts +4 -0
  47. package/dist/lib/actions/location.d.ts.map +1 -1
  48. package/dist/lib/actions/location.js +10 -6
  49. package/dist/lib/actions/marketplaceContract.d.ts.map +1 -1
  50. package/dist/lib/actions/marketplaceContract.js +3 -2
  51. package/dist/lib/actions/nativeTransport.d.ts +25 -0
  52. package/dist/lib/actions/nativeTransport.d.ts.map +1 -0
  53. package/dist/lib/actions/nativeTransport.js +50 -0
  54. package/dist/lib/actions/notification.d.ts +3 -3
  55. package/dist/lib/actions/package.d.ts +5 -3
  56. package/dist/lib/actions/package.d.ts.map +1 -1
  57. package/dist/lib/actions/package.js +11 -6
  58. package/dist/lib/actions/profile.d.ts +5 -0
  59. package/dist/lib/actions/profile.d.ts.map +1 -1
  60. package/dist/lib/actions/profile.js +12 -0
  61. package/dist/lib/actions/review.d.ts +7 -0
  62. package/dist/lib/actions/review.d.ts.map +1 -1
  63. package/dist/lib/actions/review.js +64 -31
  64. package/dist/lib/actions/serverActions.native.d.ts +4 -0
  65. package/dist/lib/actions/serverActions.native.d.ts.map +1 -0
  66. package/dist/lib/actions/serverActions.native.js +5 -0
  67. package/dist/lib/actions/socket.d.ts.map +1 -1
  68. package/dist/lib/actions/socket.js +6 -5
  69. package/dist/lib/actions/stay.d.ts +14 -1
  70. package/dist/lib/actions/stay.d.ts.map +1 -1
  71. package/dist/lib/actions/stay.js +29 -2
  72. package/dist/lib/actions/store.d.ts +1 -0
  73. package/dist/lib/actions/store.d.ts.map +1 -1
  74. package/dist/lib/actions/store.js +9 -0
  75. package/dist/lib/actions/user.d.ts +2 -0
  76. package/dist/lib/actions/user.d.ts.map +1 -1
  77. package/dist/lib/actions/user.js +5 -0
  78. package/dist/lib/data/catalogueLocations.d.ts +3 -0
  79. package/dist/lib/data/catalogueLocations.d.ts.map +1 -0
  80. package/dist/lib/data/catalogueLocations.js +21 -0
  81. package/dist/lib/data/skills.d.ts +5 -0
  82. package/dist/lib/data/skills.d.ts.map +1 -0
  83. package/dist/lib/data/skills.js +97 -0
  84. package/dist/lib/forms/application.d.ts +4 -0
  85. package/dist/lib/forms/application.d.ts.map +1 -0
  86. package/dist/lib/forms/application.js +17 -0
  87. package/dist/lib/forms/packageEnquiry.d.ts +4 -0
  88. package/dist/lib/forms/packageEnquiry.d.ts.map +1 -0
  89. package/dist/lib/forms/packageEnquiry.js +12 -0
  90. package/dist/lib/forms/review.d.ts +6 -0
  91. package/dist/lib/forms/review.d.ts.map +1 -0
  92. package/dist/lib/forms/review.js +20 -0
  93. package/dist/lib/models/application.d.ts +21 -0
  94. package/dist/lib/models/application.d.ts.map +1 -1
  95. package/dist/lib/models/authorization.d.ts +1 -1
  96. package/dist/lib/models/authorization.d.ts.map +1 -1
  97. package/dist/lib/models/authorization.js +2 -0
  98. package/dist/lib/models/booking.d.ts +3 -0
  99. package/dist/lib/models/booking.d.ts.map +1 -1
  100. package/dist/lib/models/chat.d.ts +8 -0
  101. package/dist/lib/models/chat.d.ts.map +1 -1
  102. package/dist/lib/models/chat.js +10 -0
  103. package/dist/lib/models/community.d.ts +2 -0
  104. package/dist/lib/models/community.d.ts.map +1 -1
  105. package/dist/lib/models/community.js +2 -1
  106. package/dist/lib/models/companion.d.ts +42 -0
  107. package/dist/lib/models/companion.d.ts.map +1 -1
  108. package/dist/lib/models/discount.d.ts +8 -8
  109. package/dist/lib/models/enquiry.d.ts +13 -0
  110. package/dist/lib/models/enquiry.d.ts.map +1 -1
  111. package/dist/lib/models/homeBanner.d.ts +17 -0
  112. package/dist/lib/models/homeBanner.d.ts.map +1 -0
  113. package/dist/lib/models/homeBanner.js +1 -0
  114. package/dist/lib/models/interest.d.ts +42 -0
  115. package/dist/lib/models/interest.d.ts.map +1 -0
  116. package/dist/lib/models/interest.js +1 -0
  117. package/dist/lib/models/location.d.ts +1 -0
  118. package/dist/lib/models/location.d.ts.map +1 -1
  119. package/dist/lib/models/notifications.d.ts +2 -2
  120. package/dist/lib/models/opportunities/freelance.d.ts +37 -4
  121. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
  122. package/dist/lib/models/opportunities/internship.d.ts +37 -4
  123. package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
  124. package/dist/lib/models/opportunities/job.d.ts +37 -4
  125. package/dist/lib/models/opportunities/job.d.ts.map +1 -1
  126. package/dist/lib/models/opportunities/opportunity.d.ts +38 -5
  127. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
  128. package/dist/lib/models/opportunities/opportunity.js +1 -1
  129. package/dist/lib/models/opportunities/volunteerJob.d.ts +37 -4
  130. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
  131. package/dist/lib/models/pricing.d.ts +2 -0
  132. package/dist/lib/models/pricing.d.ts.map +1 -1
  133. package/dist/lib/models/pricing.js +4 -0
  134. package/dist/lib/models/props.d.ts +4 -43
  135. package/dist/lib/models/props.d.ts.map +1 -1
  136. package/dist/lib/models/props.js +3 -121
  137. package/dist/lib/models/question.d.ts +14 -0
  138. package/dist/lib/models/question.d.ts.map +1 -0
  139. package/dist/lib/models/question.js +6 -0
  140. package/dist/lib/models/review.d.ts +13 -1
  141. package/dist/lib/models/review.d.ts.map +1 -1
  142. package/dist/lib/models/review.js +4 -0
  143. package/dist/lib/models/tile.d.ts +7 -1
  144. package/dist/lib/models/tile.d.ts.map +1 -1
  145. package/dist/lib/models/travelPackage.d.ts +37 -4
  146. package/dist/lib/models/travelPackage.d.ts.map +1 -1
  147. package/dist/lib/models/travelPackage.js +1 -1
  148. package/dist/lib/models/user.d.ts +25 -2
  149. package/dist/lib/models/user.d.ts.map +1 -1
  150. package/dist/lib/models/user.js +1 -0
  151. package/dist/lib/userAtom.d.ts +30 -5
  152. package/dist/lib/userAtom.d.ts.map +1 -1
  153. package/dist/lib/utils/entityTiles.d.ts.map +1 -1
  154. package/dist/lib/utils/entityTiles.js +3 -2
  155. package/dist/lib/utils/htmlDescription.d.ts +3 -0
  156. package/dist/lib/utils/htmlDescription.d.ts.map +1 -0
  157. package/dist/lib/utils/htmlDescription.js +7 -0
  158. package/dist/lib/utils/htmlDescription.native.d.ts +3 -0
  159. package/dist/lib/utils/htmlDescription.native.d.ts.map +1 -0
  160. package/dist/lib/utils/htmlDescription.native.js +7 -0
  161. package/dist/lib/utils/text.d.ts +3 -1
  162. package/dist/lib/utils/text.d.ts.map +1 -1
  163. package/dist/lib/utils/text.js +5 -6
  164. package/dist/lib/utils/uploadFile.d.ts +9 -0
  165. package/dist/lib/utils/uploadFile.d.ts.map +1 -0
  166. package/dist/lib/utils/uploadFile.js +9 -0
  167. package/dist/lib/utils/uploadTasks.d.ts.map +1 -1
  168. package/dist/lib/utils/uploadTasks.js +9 -1
  169. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"userAtom.d.ts","sourceRoot":"","sources":["../../src/lib/userAtom.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AA0D7B,eAAO,MAAM,sBAAsB;;CAAuB,CAAC;AAG3D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAQpB,CAAC;AAEF,eAAO,MAAM,cAAc,iKAA6C,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;CAAU,CAAC;AAExC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,qBAAqB;;CAA0C,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS3B,CAAC;AAGF,eAAO,MAAM,eAAe,+BAS1B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;CAY7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CAU/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;CAMjC,CAAC;AAGF,eAAO,MAAM,yBAAyB;;CAiCrC,CAAC;AAEF,wBAAgB,cAAc,SAY7B"}
1
+ {"version":3,"file":"userAtom.d.ts","sourceRoot":"","sources":["../../src/lib/userAtom.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AA0D7B,eAAO,MAAM,sBAAsB;;CAAuB,CAAC;AAG3D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAQpB,CAAC;AAEF,eAAO,MAAM,cAAc,iKAA6C,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;CAAU,CAAC;AAExC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,qBAAqB;;CAA0C,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS3B,CAAC;AAGF,eAAO,MAAM,eAAe,+BAS1B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;CAY7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;CAU/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;CAMjC,CAAC;AAGF,eAAO,MAAM,yBAAyB;;CAiCrC,CAAC;AAEF,wBAAgB,cAAc,SAY7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"entityTiles.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/entityTiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAgB,MAAM,qCAAqC,CAAC;AAIhF,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAoBjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAiB5D;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CA2BvF"}
1
+ {"version":3,"file":"entityTiles.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/entityTiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAgB,MAAM,qCAAqC,CAAC;AAIhF,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAqBjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAiB5D;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CA2BvF"}
@@ -1,5 +1,5 @@
1
1
  import { truncateText } from "./text";
2
- import { calculatePricingStrategyDisplayUnitPrice, getPricingCurrency, getPricingStrategies } from "../models/pricing";
2
+ import { calculatePricingStrategyDisplayUnitPrice, getPricingCurrency, getPrimaryPricingStrategy } from "../models/pricing";
3
3
  export const expertiseLevels = ["none", "basic", "intermediate", "advanced", "expert"];
4
4
  export function incompleteMVP(user) {
5
5
  const incompletions = [];
@@ -40,6 +40,7 @@ export function convertOpportunityToTileProps(opportunity) {
40
40
  maxDuration: opportunity.maxDuration,
41
41
  opportunityType: opportunity.opportunityType || 'volunteer',
42
42
  payFrequency: opportunity.compensation?.frequency || undefined,
43
+ compensation: opportunity.compensation,
43
44
  status: opportunity.status,
44
45
  };
45
46
  }
@@ -75,7 +76,7 @@ export function convertTravelPackageToTileProps(travelPackage) {
75
76
  trendingScore: travelPackage.trendingScore,
76
77
  updatedAt: travelPackage.updatedAt,
77
78
  className: travelPackage.categoryId,
78
- price: calculatePricingStrategyDisplayUnitPrice(getPricingStrategies(travelPackage)?.[0]),
79
+ price: calculatePricingStrategyDisplayUnitPrice(getPrimaryPricingStrategy(travelPackage)),
79
80
  currency: getPricingCurrency(travelPackage),
80
81
  duration: travelPackage.duration,
81
82
  difficultyLevel: travelPackage.difficultyLevel,
@@ -0,0 +1,3 @@
1
+ /** Web/server HTML extraction keeps the existing parser semantics. */
2
+ export declare function extractHtmlContentDescription(html: string, limit?: number): string;
3
+ //# sourceMappingURL=htmlDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlDescription.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/htmlDescription.ts"],"names":[],"mappings":"AACA,sEAAsE;AACtE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,UAItE"}
@@ -0,0 +1,7 @@
1
+ import { load } from 'cheerio';
2
+ /** Web/server HTML extraction keeps the existing parser semantics. */
3
+ export function extractHtmlContentDescription(html, limit = 150) {
4
+ const $ = load(html || '');
5
+ const paragraph = $('p').first().text().trim();
6
+ return paragraph.length > limit ? paragraph.substring(0, limit) + '...' : paragraph;
7
+ }
@@ -0,0 +1,3 @@
1
+ /** Text-only mobile preview. Never evaluates HTML or requires Node DOM streams. */
2
+ export declare function extractHtmlContentDescription(html: string, limit?: number): string;
3
+ //# sourceMappingURL=htmlDescription.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlDescription.native.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/htmlDescription.native.ts"],"names":[],"mappings":"AACA,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,UAItE"}
@@ -0,0 +1,7 @@
1
+ import he from 'he';
2
+ /** Text-only mobile preview. Never evaluates HTML or requires Node DOM streams. */
3
+ export function extractHtmlContentDescription(html, limit = 150) {
4
+ const firstParagraph = /<p(?:\s[^>]*)?>([\s\S]*?)<\/p>/i.exec(html || '')?.[1] || '';
5
+ const paragraph = he.decode(firstParagraph.replace(/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi, '').replace(/<[^>]*>/g, '')).trim();
6
+ return paragraph.length > limit ? paragraph.substring(0, limit) + '...' : paragraph;
7
+ }
@@ -1,3 +1,4 @@
1
+ export { extractHtmlContentDescription } from './htmlDescription';
1
2
  import { type ClassValue } from "clsx";
2
3
  import { User } from "../models/user";
3
4
  export declare const MAX_IMAGE_SIZE_MB = 5;
@@ -18,7 +19,6 @@ export declare function formatDuration(start: number, end: number): string;
18
19
  export declare function truncateDecimal(num: number, limit: number): number;
19
20
  export declare function sanitize<T>(input: any, keys: (keyof T)[]): T;
20
21
  export declare const formatTimestamp: (date: Date) => string;
21
- export declare function extractHtmlContentDescription(html: string, limit?: number): string;
22
22
  export declare function createMetadata({ title, description, path, }: {
23
23
  title?: string;
24
24
  description?: string;
@@ -52,4 +52,6 @@ export declare const expertiseLevels: string[];
52
52
  export declare function incompleteMVP(user?: User): string[];
53
53
  /** Validate optional external work links without fetching or rewriting their display URL. */
54
54
  export declare function getHttpUrl(value?: string): string | null;
55
+ /** Readable plain-text projection for listing descriptions and policy summaries. */
56
+ export declare function plainTextContent(value: unknown): string;
55
57
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAKlC,eAAO,MAAM,UAAU,UAAmB,CAAC;AAE3C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,WAGjD,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGtD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvD;AAGD,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,WACO,CAAC;AAEhE,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,WAKrC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,WACE,CAAC;AAE3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAM5D;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,WAczC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,UAItE;AAGD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,IAAI,GACL,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;EA8BA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxD"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAKlC,eAAO,MAAM,UAAU,UAAmB,CAAC;AAE3C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,WAGjD,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGtD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWvD;AAGD,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,WACO,CAAC;AAEhE,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,WAKrC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,WACE,CAAC;AAE3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAM5D;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,WAczC,CAAC;AAGF,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,IAAI,GACL,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;EA8BA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxD;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEvD"}
@@ -1,4 +1,4 @@
1
- import { load } from 'cheerio';
1
+ export { extractHtmlContentDescription } from './htmlDescription';
2
2
  import { clsx } from "clsx";
3
3
  import { format, formatDistanceToNow } from 'date-fns';
4
4
  import he from "he";
@@ -113,11 +113,6 @@ export const formatTimestamp = (date) => {
113
113
  return `${diffDays}d ago`;
114
114
  return format(date, "MMM d");
115
115
  };
116
- export function extractHtmlContentDescription(html, limit = 150) {
117
- const $ = load(html || '');
118
- const firstParagraph = $('p').first().text().trim();
119
- return truncateText(firstParagraph, limit);
120
- }
121
116
  // seo
122
117
  export function createMetadata({ title, description, path, }) {
123
118
  const baseUrl = "https://www.trippeaze.com";
@@ -197,3 +192,7 @@ export function getHttpUrl(value) {
197
192
  return null;
198
193
  }
199
194
  }
195
+ /** Readable plain-text projection for listing descriptions and policy summaries. */
196
+ export function plainTextContent(value) {
197
+ return typeof value === "string" ? he.decode(value.replace(/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi, "").replace(/<\/(p|div|li|h[1-6])>/gi, "\n").replace(/<br\s*\/?>/gi, "\n").replace(/<[^>]*>/g, "")).trim() : "";
198
+ }
@@ -0,0 +1,9 @@
1
+ /** One multipart asset contract for browser File objects and OS-picked native URIs. */
2
+ export interface NativeUploadFile {
3
+ uri: string;
4
+ name: string;
5
+ mimeType: string;
6
+ }
7
+ export type UploadFile = File | NativeUploadFile;
8
+ export declare function appendUploadFile(form: FormData, field: string, file: UploadFile): void;
9
+ //# sourceMappingURL=uploadFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFile.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/uploadFile.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAAE;AAClF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,gBAAgB,CAAC;AACjD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAM/E"}
@@ -0,0 +1,9 @@
1
+ export function appendUploadFile(form, field, file) {
2
+ if ('uri' in file) {
3
+ // React Native's FormData serializer consumes this standard native file tuple.
4
+ // It is not a Blob in memory and must not be fetched through an API client.
5
+ form.append(field, { uri: file.uri, name: file.name, type: file.mimeType });
6
+ }
7
+ else
8
+ form.append(field, file);
9
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"uploadTasks.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/uploadTasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAChG,eAAO,MAAM,kBAAkB,GAAI,MAAM,UAAU,YAAmE,CAAC;AACvH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,WAAof,CAAC;AACviB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AACD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,gBAAgB,CAAC;CAC/C;AAID,wBAAgB,qBAAqB;;;;gBAMgB,MAAM,GAAG,SAAS;;4BAkC3C,MAAM;;4BAEN,MAAM,WAAW,MAAM;6BACtB,MAAM,WAAW,gBAAgB;oBAO1C,MAAM;;0BAKA,MAAM,IAAI;UAC1B,CAAC,WAAW,iBAAiB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;gBAQjC,MAAM;kBAMV,MAAM;;;EAIvB;AAED,eAAO,MAAM,WAAW;;;;gBAtE6B,MAAM,GAAG,SAAS;;4BAkC3C,MAAM;;4BAEN,MAAM,WAAW,MAAM;6BACtB,MAAM,WAAW,gBAAgB;oBAO1C,MAAM;;0BAKA,MAAM,IAAI;UAC1B,CAAC,WAAW,iBAAiB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;gBAQjC,MAAM;kBAMV,MAAM;;;CAM0B,CAAC;AACnD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAI1E"}
1
+ {"version":3,"file":"uploadTasks.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/uploadTasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAChG,eAAO,MAAM,kBAAkB,GAAI,MAAM,UAAU,YAAmE,CAAC;AACvH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,WAAof,CAAC;AACviB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AACD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,gBAAgB,CAAC;CAC/C;AAID,wBAAgB,qBAAqB;;;;gBAMgB,MAAM,GAAG,SAAS;;4BAkC3C,MAAM;;4BAEN,MAAM,WAAW,MAAM;6BACtB,MAAM,WAAW,gBAAgB;oBAO1C,MAAM;;0BAKA,MAAM,IAAI;UAC1B,CAAC,WAAW,iBAAiB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;gBAQjC,MAAM;kBAMV,MAAM;;;EAIvB;AAED,eAAO,MAAM,WAAW;;;;gBAtE6B,MAAM,GAAG,SAAS;;4BAkC3C,MAAM;;4BAEN,MAAM,WAAW,MAAM;6BACtB,MAAM,WAAW,gBAAgB;oBAO1C,MAAM;;0BAKA,MAAM,IAAI;UAC1B,CAAC,WAAW,iBAAiB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;gBAQjC,MAAM;kBAMV,MAAM;;;CAM0B,CAAC;AACnD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAW1E"}
@@ -1,3 +1,4 @@
1
+ import { getNativeTransport, nativeInteractionGuard } from '../actions/nativeTransport';
1
2
  export const isUploadTaskActive = (task) => ['uploading', 'submitting', 'processing'].includes(task.stage);
2
3
  export const uploadTaskSummary = (task) => task.stage === 'processing' ? task.publication?.processingState === 'ready' ? 'Waiting for staff review' : task.publication?.publicationJob?.paused ? 'Processing paused' : task.publication?.processingState === 'pending' ? 'Queued for processing' : task.publication?.processingStage === 'automated_review' ? 'Reviewing caption' : 'Preparing media' : task.stage === 'submitting' ? 'Waiting for server confirmation' : task.percent === undefined ? 'Starting upload…' : `Uploading · ${task.percent}%`;
3
4
  // In-memory work deliberately outlives route components. Files and request bodies
@@ -66,7 +67,7 @@ export function createUploadTaskStore() {
66
67
  subscribe: (listener) => { listeners.add(listener); return () => { listeners.delete(listener); }; },
67
68
  run: (options) => {
68
69
  const id = `upload-${Date.now()}-${++sequence}`;
69
- options = { ...options, href: options.href || (typeof window !== 'undefined' ? window.location.pathname + window.location.search : undefined) };
70
+ options = { ...options, href: options.href || (typeof window !== 'undefined' && window.location ? window.location.pathname + window.location.search : undefined) };
70
71
  operations.set(id, options);
71
72
  tasks = [...tasks, { id, title: options.title, stage: 'uploading', href: options.href, originHref: options.href, retrySafe: !!options.retrySafe, unread: false, completeLabel: options.completeLabel, recoveryKey: options.recoveryKey, attempt: 0 }];
72
73
  notify();
@@ -87,6 +88,13 @@ export function createUploadTaskStore() {
87
88
  }
88
89
  export const uploadTasks = createUploadTaskStore();
89
90
  export function runUploadTask(options) {
91
+ if (getNativeTransport()) {
92
+ const assertCurrent = nativeInteractionGuard();
93
+ return uploadTasks.run({ ...options, operation: controls => options.operation({
94
+ ...controls,
95
+ assertCurrent: () => { controls.assertCurrent(); assertCurrent(); },
96
+ }) }).then(result => { assertCurrent(); return result; });
97
+ }
90
98
  const silentDraft = options.body && options.body.get('status') === 'draft' && !Array.from(options.body.values()).some(value => typeof value !== 'string' && value.size > 0);
91
99
  if (typeof window === 'undefined' || silentDraft)
92
100
  return options.operation({ progress: () => { }, submitting: () => { }, assertCurrent: () => { } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myrjfa/state",
3
- "version": "3.0.8",
3
+ "version": "3.0.9",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./dist/*": "./dist/*.js"