@duffel/components 3.1.3--prototype.4 → 3.1.3--prototype.6

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 (352) hide show
  1. package/{react-dist/custom-elements.js → custom-elements.js} +2 -2
  2. package/{react-dist/custom-elements.js.map → custom-elements.js.map} +1 -1
  3. package/{react-dist/index.js → index.js} +2 -2
  4. package/{react-dist/index.js.map → index.js.map} +1 -1
  5. package/package.json +3 -3
  6. package/scripts/generate-fixture.d.ts +3 -0
  7. package/scripts/setup-suggestion-data.d.ts +28 -0
  8. package/tsconfig.tsbuildinfo +1 -0
  9. package/.circleci/config.yml +0 -67
  10. package/.eslintrc.js +0 -47
  11. package/.github/CODEOWNERS +0 -4
  12. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  13. package/.github/renovate.json +0 -12
  14. package/.nvmrc +0 -1
  15. package/.prettierignore +0 -6
  16. package/.storybook/main.ts +0 -33
  17. package/.storybook/preview.tsx +0 -28
  18. package/.tool-versions +0 -1
  19. package/.vscode/extensions.json +0 -7
  20. package/.vscode/settings.json +0 -10
  21. package/.yarn/releases/yarn-4.0.1.cjs +0 -893
  22. package/.yarn/sdks/eslint/bin/eslint.js +0 -20
  23. package/.yarn/sdks/eslint/lib/api.js +0 -20
  24. package/.yarn/sdks/eslint/lib/unsupported-api.js +0 -20
  25. package/.yarn/sdks/eslint/package.json +0 -14
  26. package/.yarn/sdks/integrations.yml +0 -5
  27. package/.yarn/sdks/prettier/bin-prettier.js +0 -20
  28. package/.yarn/sdks/prettier/index.js +0 -20
  29. package/.yarn/sdks/prettier/package.json +0 -7
  30. package/.yarn/sdks/typescript/bin/tsc +0 -20
  31. package/.yarn/sdks/typescript/bin/tsserver +0 -20
  32. package/.yarn/sdks/typescript/lib/tsc.js +0 -20
  33. package/.yarn/sdks/typescript/lib/tsserver.js +0 -225
  34. package/.yarn/sdks/typescript/lib/tsserverlibrary.js +0 -225
  35. package/.yarn/sdks/typescript/lib/typescript.js +0 -20
  36. package/.yarn/sdks/typescript/package.json +0 -10
  37. package/.yarnrc.yml +0 -3
  38. package/CONTRIBUTING.md +0 -83
  39. package/README.md +0 -68
  40. package/__mocks__/styleMock.js +0 -6
  41. package/babel.config.js +0 -20
  42. package/commitlint.config.js +0 -4
  43. package/config/esbuild.base.config.js +0 -18
  44. package/config/esbuild.cdn.config.js +0 -51
  45. package/config/esbuild.dev.config.js +0 -46
  46. package/config/esbuild.react.config.js +0 -42
  47. package/data/airports.csv +0 -9084
  48. package/data/cities.csv +0 -256
  49. package/jest.config.ts +0 -14
  50. package/scripts/build-and-publish.sh +0 -42
  51. package/scripts/generate-fixture.ts +0 -200
  52. package/scripts/setup-suggestion-data.ts +0 -100
  53. package/scripts/upload-to-cdn.sh +0 -34
  54. package/scripts.tsconfig.json +0 -11
  55. package/src/components/DuffelAncillaries/Card.tsx +0 -126
  56. package/src/components/DuffelAncillaries/Counter.tsx +0 -40
  57. package/src/components/DuffelAncillaries/DuffelAncillaries.tsx +0 -350
  58. package/src/components/DuffelAncillaries/DuffelAncillariesCustomElement.tsx +0 -124
  59. package/src/components/DuffelAncillaries/bags/BaggageSelectionCard.tsx +0 -101
  60. package/src/components/DuffelAncillaries/bags/BaggageSelectionController.tsx +0 -88
  61. package/src/components/DuffelAncillaries/bags/BaggageSelectionModal.tsx +0 -81
  62. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalBody.tsx +0 -60
  63. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalBodyPassenger.tsx +0 -122
  64. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalFooter.tsx +0 -88
  65. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalHeader.tsx +0 -82
  66. package/src/components/DuffelAncillaries/bags/IncludedBaggageBanner.tsx +0 -51
  67. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionCard.tsx +0 -90
  68. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModal.tsx +0 -63
  69. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBody.tsx +0 -56
  70. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBodyListItem.tsx +0 -11
  71. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalFooter.tsx +0 -74
  72. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalHeader.tsx +0 -9
  73. package/src/components/DuffelAncillaries/seats/Amenity.tsx +0 -21
  74. package/src/components/DuffelAncillaries/seats/DeckSelect.tsx +0 -27
  75. package/src/components/DuffelAncillaries/seats/Element.tsx +0 -52
  76. package/src/components/DuffelAncillaries/seats/EmptyElement.tsx +0 -5
  77. package/src/components/DuffelAncillaries/seats/ExitElement.tsx +0 -17
  78. package/src/components/DuffelAncillaries/seats/Legend.tsx +0 -60
  79. package/src/components/DuffelAncillaries/seats/Row.tsx +0 -47
  80. package/src/components/DuffelAncillaries/seats/RowSection.tsx +0 -78
  81. package/src/components/DuffelAncillaries/seats/SeatElement.tsx +0 -120
  82. package/src/components/DuffelAncillaries/seats/SeatInfo.tsx +0 -32
  83. package/src/components/DuffelAncillaries/seats/SeatMap.tsx +0 -85
  84. package/src/components/DuffelAncillaries/seats/SeatMapUnavailable.tsx +0 -21
  85. package/src/components/DuffelAncillaries/seats/SeatSelectionCard.tsx +0 -103
  86. package/src/components/DuffelAncillaries/seats/SeatSelectionModal.tsx +0 -142
  87. package/src/components/DuffelAncillaries/seats/SeatSelectionModalBody.tsx +0 -13
  88. package/src/components/DuffelAncillaries/seats/SeatSelectionModalFooter.tsx +0 -89
  89. package/src/components/DuffelAncillaries/seats/SeatSelectionModalHeader.tsx +0 -97
  90. package/src/components/DuffelAncillaries/seats/SeatUnavailable.tsx +0 -14
  91. package/src/components/DuffelPayments/DuffelPayments.tsx +0 -224
  92. package/src/components/DuffelPayments/DuffelPaymentsCustomElement.tsx +0 -130
  93. package/src/components/PlacesLookup/PlacesLookup.tsx +0 -122
  94. package/src/components/shared/AnimatedLoaderEllipsis.tsx +0 -5
  95. package/src/components/shared/Button.tsx +0 -63
  96. package/src/components/shared/ErrorBoundary.tsx +0 -54
  97. package/src/components/shared/FetchOfferErrorState.tsx +0 -35
  98. package/src/components/shared/Icon.tsx +0 -151
  99. package/src/components/shared/IconButton.tsx +0 -42
  100. package/src/components/shared/Modal.tsx +0 -40
  101. package/src/components/shared/NonIdealState.tsx +0 -28
  102. package/src/components/shared/Stamp.tsx +0 -29
  103. package/src/components/shared/Tabs.tsx +0 -36
  104. package/src/custom-elements.ts +0 -13
  105. package/src/examples/client-side/README.md +0 -30
  106. package/src/examples/client-side/index.html +0 -57
  107. package/src/examples/full-stack/README.md +0 -34
  108. package/src/examples/full-stack/index.html +0 -48
  109. package/src/examples/full-stack/server.mjs +0 -158
  110. package/src/examples/just-typescript/.yarn/install-state.gz +0 -0
  111. package/src/examples/just-typescript/README.md +0 -37
  112. package/src/examples/just-typescript/package.json +0 -16
  113. package/src/examples/just-typescript/src/index.html +0 -23
  114. package/src/examples/just-typescript/src/index.ts +0 -36
  115. package/src/examples/just-typescript/yarn.lock +0 -467
  116. package/src/examples/next/README.md +0 -28
  117. package/src/examples/next/next-env.d.ts +0 -5
  118. package/src/examples/next/next.config.js +0 -4
  119. package/src/examples/next/package.json +0 -24
  120. package/src/examples/next/src/app/DuffelComponents.tsx +0 -40
  121. package/src/examples/next/src/app/layout.tsx +0 -18
  122. package/src/examples/next/src/app/page.tsx +0 -9
  123. package/src/examples/next/tsconfig.json +0 -27
  124. package/src/examples/next/yarn.lock +0 -257
  125. package/src/examples/payments-custom-element/README.md +0 -17
  126. package/src/examples/payments-custom-element/index.html +0 -43
  127. package/src/examples/payments-just-typescript/README.md +0 -37
  128. package/src/examples/payments-just-typescript/package.json +0 -16
  129. package/src/examples/payments-just-typescript/src/index.html +0 -23
  130. package/src/examples/payments-just-typescript/src/index.ts +0 -18
  131. package/src/examples/payments-just-typescript/yarn.lock +0 -154
  132. package/src/examples/react-app/README.md +0 -37
  133. package/src/examples/react-app/package.json +0 -20
  134. package/src/examples/react-app/src/index.html +0 -19
  135. package/src/examples/react-app/src/index.tsx +0 -48
  136. package/src/examples/react-app/yarn.lock +0 -219
  137. package/src/fixtures/offers/off_0000AUde3KwTztSRK1cznH.json +0 -497
  138. package/src/fixtures/offers/off_0000AVx4lUFFKW8PsPeQeQ.json +0 -307
  139. package/src/fixtures/offers/off_1.json +0 -488
  140. package/src/fixtures/passengers/mock_passengers.ts +0 -26
  141. package/src/fixtures/seat-maps/off_0000AUde3KwTztSRK1cznH.json +0 -6852
  142. package/src/fixtures/seat-maps/off_0000AVx4lUFFKW8PsPeQeQ.json +0 -1
  143. package/src/fixtures/seat-maps/off_1.json +0 -6852
  144. package/src/index.ts +0 -7
  145. package/src/lib/captureErrorInSentry.ts +0 -42
  146. package/src/lib/compileCreateOrderPayload.ts +0 -63
  147. package/src/lib/createPriceFormatters.ts +0 -73
  148. package/src/lib/fetchFromDuffelAPI.ts +0 -54
  149. package/src/lib/fetchFromFixtures.ts +0 -18
  150. package/src/lib/formatAvailableServices.ts +0 -91
  151. package/src/lib/formatDate.ts +0 -20
  152. package/src/lib/formatSeatMaps.ts +0 -81
  153. package/src/lib/getBaggageServiceDescription.ts +0 -39
  154. package/src/lib/getCabinsForSegmentAndDeck.ts +0 -4
  155. package/src/lib/getCurrencyForSeatMaps.ts +0 -22
  156. package/src/lib/getCurrencyForServices.ts +0 -24
  157. package/src/lib/getFirstSeatElementMatchingCriteria.ts +0 -22
  158. package/src/lib/getPassengerBySegmentList.ts +0 -10
  159. package/src/lib/getPassengerInitials.ts +0 -6
  160. package/src/lib/getPassengerMapById.ts +0 -17
  161. package/src/lib/getPassengerName.ts +0 -41
  162. package/src/lib/getRowNumber.ts +0 -16
  163. package/src/lib/getSegmentList.ts +0 -7
  164. package/src/lib/getServicePriceMapById.ts +0 -20
  165. package/src/lib/getSymbols.ts +0 -22
  166. package/src/lib/getTotalAmountForServices.ts +0 -72
  167. package/src/lib/getTotalQuantity.ts +0 -5
  168. package/src/lib/hasHighLuminance.ts +0 -9
  169. package/src/lib/hasService.ts +0 -24
  170. package/src/lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected.ts +0 -35
  171. package/src/lib/hasWings.ts +0 -8
  172. package/src/lib/isBaggageService.ts +0 -8
  173. package/src/lib/isCancelForAnyReasonService.ts +0 -9
  174. package/src/lib/isFixtureOfferId.ts +0 -4
  175. package/src/lib/isPayloadComplete.ts +0 -11
  176. package/src/lib/isSeatElement.ts +0 -10
  177. package/src/lib/logging.ts +0 -120
  178. package/src/lib/moneyStringFormatter.ts +0 -34
  179. package/src/lib/offerIsExpired.ts +0 -5
  180. package/src/lib/retrieveOffer.ts +0 -56
  181. package/src/lib/retrieveOfferFromDuffelAPI.ts +0 -13
  182. package/src/lib/retrieveSeatMaps.ts +0 -55
  183. package/src/lib/retrieveSeatMapsFromDuffelAPI.ts +0 -13
  184. package/src/lib/setBodyScrollability.ts +0 -7
  185. package/src/lib/validateProps.ts +0 -37
  186. package/src/lib/withPlural.ts +0 -8
  187. package/src/stories/BaggageSelectionModalHeader.stories.tsx +0 -21
  188. package/src/stories/Button.stories.tsx +0 -91
  189. package/src/stories/DuffelAncillaries.stories.tsx +0 -166
  190. package/src/stories/DuffelPayments.stories.tsx +0 -34
  191. package/src/stories/Icon.stories.tsx +0 -35
  192. package/src/stories/IconButton.stories.tsx +0 -25
  193. package/src/stories/PlacesLookup.stories.tsx +0 -22
  194. package/src/styles/colors.css +0 -22
  195. package/src/styles/components/Amenity.css +0 -23
  196. package/src/styles/components/BaggageDisplay.css +0 -25
  197. package/src/styles/components/Button.css +0 -169
  198. package/src/styles/components/Card.css +0 -52
  199. package/src/styles/components/CfarSelectionModal.css +0 -34
  200. package/src/styles/components/Counter.css +0 -18
  201. package/src/styles/components/DuffelPayments.css +0 -42
  202. package/src/styles/components/IconButton.css +0 -63
  203. package/src/styles/components/Legend.css +0 -62
  204. package/src/styles/components/Loader.css +0 -37
  205. package/src/styles/components/LoadingState.css +0 -87
  206. package/src/styles/components/Modal.css +0 -84
  207. package/src/styles/components/PassengerSelect.css +0 -99
  208. package/src/styles/components/PassengersLayout.css +0 -90
  209. package/src/styles/components/PlacesLookup.css +0 -36
  210. package/src/styles/components/Row.css +0 -70
  211. package/src/styles/components/Seat.css +0 -59
  212. package/src/styles/components/SeatInfo.css +0 -61
  213. package/src/styles/components/SeatMap.css +0 -24
  214. package/src/styles/components/SeatSelect.css +0 -92
  215. package/src/styles/components/Segment.css +0 -17
  216. package/src/styles/components/SelectionSegment.css +0 -10
  217. package/src/styles/components/Summary.css +0 -70
  218. package/src/styles/components/Tabs.css +0 -52
  219. package/src/styles/flex.css +0 -5
  220. package/src/styles/font-families.css +0 -47
  221. package/src/styles/global.css +0 -52
  222. package/src/styles/margin.css +0 -3
  223. package/src/styles/spacing.css +0 -18
  224. package/src/styles/transitions.css +0 -3
  225. package/src/styles/typography.css +0 -13
  226. package/src/tests/components/DuffelAncillaries.test.tsx +0 -342
  227. package/src/tests/lib/createPriceFormatters.test.tsx +0 -152
  228. package/src/tests/lib/formatAvailableServices.test.tsx +0 -79
  229. package/src/tests/lib/formatSeatMaps.test.tsx +0 -49
  230. package/src/tests/lib/getCurrencyForServices.test.tsx +0 -44
  231. package/src/tests/lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected.test.ts +0 -86
  232. package/src/tests/lib/logging.test.tsx +0 -32
  233. package/src/tests/lib/moneyStringFormatter.test.tsx +0 -12
  234. package/src/tests/lib/validateProps.test.tsx +0 -57
  235. package/src/types/Aircraft.ts +0 -16
  236. package/src/types/Airline.ts +0 -16
  237. package/src/types/Airport.ts +0 -54
  238. package/src/types/City.ts +0 -21
  239. package/src/types/CreateOrderPayload.ts +0 -99
  240. package/src/types/CurrencyConversion.ts +0 -10
  241. package/src/types/DuffelAncillariesProps.ts +0 -108
  242. package/src/types/Offer.ts +0 -851
  243. package/src/types/Order.ts +0 -6
  244. package/src/types/Place.ts +0 -6
  245. package/src/types/SeatMap.ts +0 -231
  246. package/src/types/index.ts +0 -11
  247. package/tsconfig.json +0 -58
  248. /package/{react-dist/components → components}/DuffelAncillaries/Card.d.ts +0 -0
  249. /package/{react-dist/components → components}/DuffelAncillaries/Counter.d.ts +0 -0
  250. /package/{react-dist/components → components}/DuffelAncillaries/DuffelAncillaries.d.ts +0 -0
  251. /package/{react-dist/components → components}/DuffelAncillaries/DuffelAncillariesCustomElement.d.ts +0 -0
  252. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionCard.d.ts +0 -0
  253. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionController.d.ts +0 -0
  254. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionModal.d.ts +0 -0
  255. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionModalBody.d.ts +0 -0
  256. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionModalBodyPassenger.d.ts +0 -0
  257. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionModalFooter.d.ts +0 -0
  258. /package/{react-dist/components → components}/DuffelAncillaries/bags/BaggageSelectionModalHeader.d.ts +0 -0
  259. /package/{react-dist/components → components}/DuffelAncillaries/bags/IncludedBaggageBanner.d.ts +0 -0
  260. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionCard.d.ts +0 -0
  261. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModal.d.ts +0 -0
  262. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBody.d.ts +0 -0
  263. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBodyListItem.d.ts +0 -0
  264. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalFooter.d.ts +0 -0
  265. /package/{react-dist/components → components}/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalHeader.d.ts +0 -0
  266. /package/{react-dist/components → components}/DuffelAncillaries/seats/Amenity.d.ts +0 -0
  267. /package/{react-dist/components → components}/DuffelAncillaries/seats/DeckSelect.d.ts +0 -0
  268. /package/{react-dist/components → components}/DuffelAncillaries/seats/Element.d.ts +0 -0
  269. /package/{react-dist/components → components}/DuffelAncillaries/seats/EmptyElement.d.ts +0 -0
  270. /package/{react-dist/components → components}/DuffelAncillaries/seats/ExitElement.d.ts +0 -0
  271. /package/{react-dist/components → components}/DuffelAncillaries/seats/Legend.d.ts +0 -0
  272. /package/{react-dist/components → components}/DuffelAncillaries/seats/Row.d.ts +0 -0
  273. /package/{react-dist/components → components}/DuffelAncillaries/seats/RowSection.d.ts +0 -0
  274. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatElement.d.ts +0 -0
  275. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatInfo.d.ts +0 -0
  276. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatMap.d.ts +0 -0
  277. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatMapUnavailable.d.ts +0 -0
  278. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatSelectionCard.d.ts +0 -0
  279. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatSelectionModal.d.ts +0 -0
  280. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatSelectionModalBody.d.ts +0 -0
  281. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatSelectionModalFooter.d.ts +0 -0
  282. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatSelectionModalHeader.d.ts +0 -0
  283. /package/{react-dist/components → components}/DuffelAncillaries/seats/SeatUnavailable.d.ts +0 -0
  284. /package/{react-dist/components → components}/DuffelPayments/DuffelPayments.d.ts +0 -0
  285. /package/{react-dist/components → components}/DuffelPayments/DuffelPaymentsCustomElement.d.ts +0 -0
  286. /package/{react-dist/components → components}/PlacesLookup/PlacesLookup.d.ts +0 -0
  287. /package/{react-dist/components → components}/shared/AnimatedLoaderEllipsis.d.ts +0 -0
  288. /package/{react-dist/components → components}/shared/Button.d.ts +0 -0
  289. /package/{react-dist/components → components}/shared/ErrorBoundary.d.ts +0 -0
  290. /package/{react-dist/components → components}/shared/FetchOfferErrorState.d.ts +0 -0
  291. /package/{react-dist/components → components}/shared/Icon.d.ts +0 -0
  292. /package/{react-dist/components → components}/shared/IconButton.d.ts +0 -0
  293. /package/{react-dist/components → components}/shared/Modal.d.ts +0 -0
  294. /package/{react-dist/components → components}/shared/NonIdealState.d.ts +0 -0
  295. /package/{react-dist/components → components}/shared/Stamp.d.ts +0 -0
  296. /package/{react-dist/components → components}/shared/Tabs.d.ts +0 -0
  297. /package/{react-dist/custom-elements.d.ts → custom-elements.d.ts} +0 -0
  298. /package/{react-dist/index.d.ts → index.d.ts} +0 -0
  299. /package/{react-dist/lib → lib}/captureErrorInSentry.d.ts +0 -0
  300. /package/{react-dist/lib → lib}/compileCreateOrderPayload.d.ts +0 -0
  301. /package/{react-dist/lib → lib}/createPriceFormatters.d.ts +0 -0
  302. /package/{react-dist/lib → lib}/fetchFromDuffelAPI.d.ts +0 -0
  303. /package/{react-dist/lib → lib}/fetchFromFixtures.d.ts +0 -0
  304. /package/{react-dist/lib → lib}/formatAvailableServices.d.ts +0 -0
  305. /package/{react-dist/lib → lib}/formatDate.d.ts +0 -0
  306. /package/{react-dist/lib → lib}/formatSeatMaps.d.ts +0 -0
  307. /package/{react-dist/lib → lib}/getBaggageServiceDescription.d.ts +0 -0
  308. /package/{react-dist/lib → lib}/getCabinsForSegmentAndDeck.d.ts +0 -0
  309. /package/{react-dist/lib → lib}/getCurrencyForSeatMaps.d.ts +0 -0
  310. /package/{react-dist/lib → lib}/getCurrencyForServices.d.ts +0 -0
  311. /package/{react-dist/lib → lib}/getFirstSeatElementMatchingCriteria.d.ts +0 -0
  312. /package/{react-dist/lib → lib}/getPassengerBySegmentList.d.ts +0 -0
  313. /package/{react-dist/lib → lib}/getPassengerInitials.d.ts +0 -0
  314. /package/{react-dist/lib → lib}/getPassengerMapById.d.ts +0 -0
  315. /package/{react-dist/lib → lib}/getPassengerName.d.ts +0 -0
  316. /package/{react-dist/lib → lib}/getRowNumber.d.ts +0 -0
  317. /package/{react-dist/lib → lib}/getSegmentList.d.ts +0 -0
  318. /package/{react-dist/lib → lib}/getServicePriceMapById.d.ts +0 -0
  319. /package/{react-dist/lib → lib}/getSymbols.d.ts +0 -0
  320. /package/{react-dist/lib → lib}/getTotalAmountForServices.d.ts +0 -0
  321. /package/{react-dist/lib → lib}/getTotalQuantity.d.ts +0 -0
  322. /package/{react-dist/lib → lib}/hasHighLuminance.d.ts +0 -0
  323. /package/{react-dist/lib → lib}/hasService.d.ts +0 -0
  324. /package/{react-dist/lib → lib}/hasServiceOfSameMetadataTypeAlreadyBeenSelected.d.ts +0 -0
  325. /package/{react-dist/lib → lib}/hasWings.d.ts +0 -0
  326. /package/{react-dist/lib → lib}/isBaggageService.d.ts +0 -0
  327. /package/{react-dist/lib → lib}/isCancelForAnyReasonService.d.ts +0 -0
  328. /package/{react-dist/lib → lib}/isFixtureOfferId.d.ts +0 -0
  329. /package/{react-dist/lib → lib}/isPayloadComplete.d.ts +0 -0
  330. /package/{react-dist/lib → lib}/isSeatElement.d.ts +0 -0
  331. /package/{react-dist/lib → lib}/logging.d.ts +0 -0
  332. /package/{react-dist/lib → lib}/moneyStringFormatter.d.ts +0 -0
  333. /package/{react-dist/lib → lib}/offerIsExpired.d.ts +0 -0
  334. /package/{react-dist/lib → lib}/retrieveOffer.d.ts +0 -0
  335. /package/{react-dist/lib → lib}/retrieveOfferFromDuffelAPI.d.ts +0 -0
  336. /package/{react-dist/lib → lib}/retrieveSeatMaps.d.ts +0 -0
  337. /package/{react-dist/lib → lib}/retrieveSeatMapsFromDuffelAPI.d.ts +0 -0
  338. /package/{react-dist/lib → lib}/setBodyScrollability.d.ts +0 -0
  339. /package/{react-dist/lib → lib}/validateProps.d.ts +0 -0
  340. /package/{react-dist/lib → lib}/withPlural.d.ts +0 -0
  341. /package/{react-dist/types → types}/Aircraft.d.ts +0 -0
  342. /package/{react-dist/types → types}/Airline.d.ts +0 -0
  343. /package/{react-dist/types → types}/Airport.d.ts +0 -0
  344. /package/{react-dist/types → types}/City.d.ts +0 -0
  345. /package/{react-dist/types → types}/CreateOrderPayload.d.ts +0 -0
  346. /package/{react-dist/types → types}/CurrencyConversion.d.ts +0 -0
  347. /package/{react-dist/types → types}/DuffelAncillariesProps.d.ts +0 -0
  348. /package/{react-dist/types → types}/Offer.d.ts +0 -0
  349. /package/{react-dist/types → types}/Order.d.ts +0 -0
  350. /package/{react-dist/types → types}/Place.d.ts +0 -0
  351. /package/{react-dist/types → types}/SeatMap.d.ts +0 -0
  352. /package/{react-dist/types → types}/index.d.ts +0 -0
@@ -1,86 +0,0 @@
1
- import { hasServiceOfSameMetadataTypeAlreadyBeenSelected } from "../../lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected";
2
- import { CreateOrderPayloadService } from "../../types/CreateOrderPayload";
3
- import { OfferAvailableBaggageService } from "../../types/Offer";
4
-
5
- const availableService: OfferAvailableBaggageService = {
6
- id: "available_service_id",
7
- metadata: { type: "checked" },
8
- // using as any because we don't need to test the whole type
9
- } as any;
10
-
11
- const selectedService: CreateOrderPayloadService = {
12
- id: "selected_service_id",
13
- serviceInformation: {
14
- segmentId: "segment_id",
15
- passengerId: "passenger_id",
16
- type: "checked",
17
- },
18
- } as any;
19
-
20
- describe("hasServiceOfSameMetadataTypeAlreadyBeenSelected", () => {
21
- it("Should return false if no services selected", () => {
22
- expect(
23
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
24
- [],
25
- "segment_id",
26
- "passenger_id",
27
- availableService
28
- )
29
- ).toBe(false);
30
- });
31
-
32
- it("Should return false if service selected is the availableService we are checking", () => {
33
- expect(
34
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
35
- [{ ...selectedService, id: availableService.id }],
36
- "segment_id",
37
- "passenger_id",
38
- availableService
39
- )
40
- ).toBe(false);
41
- });
42
-
43
- it("Should return false if service selected are for different passenger", () => {
44
- expect(
45
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
46
- [selectedService],
47
- "segment_id",
48
- "passenger_id_wont_match",
49
- availableService
50
- )
51
- ).toBe(false);
52
- });
53
-
54
- it("Should return false if service selected are for different segment", () => {
55
- expect(
56
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
57
- [selectedService],
58
- "segment_id_wont_match",
59
- "passenger_id",
60
- availableService
61
- )
62
- ).toBe(false);
63
- });
64
-
65
- it("Should return false if service selected is of different type", () => {
66
- expect(
67
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
68
- [selectedService],
69
- "segment_id",
70
- "passenger_id",
71
- { ...availableService, metadata: { type: "carry_on" } } as any
72
- )
73
- ).toBe(false);
74
- });
75
-
76
- it("Should return true if service selected is of same type for same passenger and segment", () => {
77
- expect(
78
- hasServiceOfSameMetadataTypeAlreadyBeenSelected(
79
- [selectedService],
80
- "segment_id",
81
- "passenger_id",
82
- availableService
83
- )
84
- ).toBe(true);
85
- });
86
- });
@@ -1,32 +0,0 @@
1
- import { initializeLogger, log, logGroup } from "../../lib/logging";
2
-
3
- const consoleSpies = {
4
- log: jest.spyOn(console, "info"),
5
- groupCollapsed: jest.spyOn(console, "groupCollapsed"),
6
- groupEnd: jest.spyOn(console, "groupEnd"),
7
- };
8
-
9
- describe("logging", () => {
10
- it("should return functions that do nothing when debugMode is false", () => {
11
- initializeLogger(false);
12
- log("This should not be logged");
13
- expect(consoleSpies.log).not.toHaveBeenCalled();
14
- });
15
-
16
- it("should return functions that log a message when debugMode is true", () => {
17
- initializeLogger(true);
18
- log("This should be logged");
19
-
20
- // Once because initializeLogger was initialised on the test above
21
- // And so, the initialisation message would not show up twice.
22
- expect(consoleSpies.log).toHaveBeenCalledTimes(1);
23
-
24
- logGroup("This should be logged", ["one", "two"]);
25
- expect(consoleSpies.groupCollapsed).toHaveBeenCalledTimes(1);
26
- expect(consoleSpies.groupEnd).toHaveBeenCalledTimes(1);
27
-
28
- // once for the call to `log` above and then
29
- // twice for the array passed to logGroup
30
- expect(consoleSpies.log).toHaveBeenCalledTimes(3);
31
- });
32
- });
@@ -1,12 +0,0 @@
1
- import { moneyStringFormatter } from "../../lib/moneyStringFormatter";
2
-
3
- describe("moneyStringFormatter", () => {
4
- it("should format known currencies correctly", () => {
5
- expect(moneyStringFormatter("GBP")(10.23)).toEqual("£10.23");
6
- });
7
- it("should fall back to value + currency for unknown currencies", () => {
8
- expect(moneyStringFormatter("Duffel house points")(10.23)).toEqual(
9
- "10.23 Duffel house points"
10
- );
11
- });
12
- });
@@ -1,57 +0,0 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- /**
3
- * In this file, we want to allow usage of @ts-ignore so
4
- * that we can test functions with invalid props.
5
- */
6
-
7
- import { hasCommonRequiredProps } from "../../lib/validateProps";
8
- import { Ancillaries } from "../../types/DuffelAncillariesProps";
9
-
10
- describe("hasCommonRequiredProps", () => {
11
- it("should pass when all required props are provided", () => {
12
- const props = {
13
- onPayloadReady: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function
14
- passengers: [],
15
- services: ["bags"] as Ancillaries[],
16
- offer_id: "offer_id",
17
- client_key: "client_key",
18
- };
19
- expect(hasCommonRequiredProps(props)).toBeTruthy();
20
- });
21
-
22
- it("should fail when services is missing", () => {
23
- const props = {
24
- onPayloadReady: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function
25
- passengers: [],
26
- offer_id: "offer_id",
27
- client_key: "client_key",
28
- };
29
-
30
- // @ts-ignore
31
- expect(hasCommonRequiredProps(props)).toBeFalsy();
32
- });
33
-
34
- it("should fail when onPayloadReady is missing", () => {
35
- const props = {
36
- passengers: [],
37
- services: ["bags"] as Ancillaries[],
38
- offer_id: "offer_id",
39
- client_key: "client_key",
40
- };
41
-
42
- // @ts-ignore
43
- expect(hasCommonRequiredProps(props)).toBeFalsy();
44
- });
45
-
46
- it("should fail when passengers is missing", () => {
47
- const props = {
48
- onPayloadReady: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function
49
- services: ["bags"] as Ancillaries[],
50
- offer_id: "offer_id",
51
- client_key: "client_key",
52
- };
53
-
54
- // @ts-ignore
55
- expect(hasCommonRequiredProps(props)).toBeFalsy();
56
- });
57
- });
@@ -1,16 +0,0 @@
1
- export interface Aircraft {
2
- /**
3
- * The three-character IATA code for the aircraft
4
- */
5
- iata_code: string;
6
-
7
- /**
8
- * Duffel's unique identifier for the aircraft
9
- */
10
- id: string;
11
-
12
- /**
13
- * The name of the aircraft
14
- */
15
- name: string;
16
- }
@@ -1,16 +0,0 @@
1
- export interface Airline {
2
- /**
3
- * The two-character IATA code for the airline. This may be null for non-IATA carriers.
4
- */
5
- iata_code: string | null;
6
-
7
- /**
8
- * Duffel's unique identifier for the airline
9
- */
10
- id: string;
11
-
12
- /**
13
- * The name of the airline
14
- */
15
- name: string;
16
- }
@@ -1,54 +0,0 @@
1
- import { City } from "./City";
2
-
3
- export interface Airport {
4
- /**
5
- * The three-character IATA code for the airport
6
- */
7
- iata_code: string | null;
8
-
9
- /**
10
- * Duffel's unique identifier for the airport
11
- */
12
- id: string;
13
-
14
- /**
15
- * The name of the airport
16
- */
17
- name: string;
18
-
19
- /**
20
- * The ISO 3166-1 alpha-2 code for the country where the airport is located
21
- */
22
- iata_country_code: string;
23
-
24
- /**
25
- * The latitude position of the airport represented in Decimal degrees with 6 decimal points with a range between -90° and 90°
26
- */
27
- latitude: number;
28
-
29
- /**
30
- * The longitude position of the airport represented in Decimal degrees with 6 decimal points with a range between -180° and 180°
31
- */
32
- longitude: number;
33
-
34
- /**
35
- * The four-character ICAO code for the airport
36
- */
37
- icao_code: string | null;
38
-
39
- /**
40
- * The time zone of the airport, specified by name from the [tz database](https://en.wikipedia.org/wiki/Tz_database)
41
- */
42
- time_zone: string;
43
-
44
- /**
45
- * The name of the city (or cities separated by a `/`) where the airport is located
46
- */
47
- city_name: string;
48
-
49
- /**
50
- * The metropolitan area where the airport is located.
51
- * Only present for airports which are registered with IATA as belonging to a metropolitan area.
52
- */
53
- city: City;
54
- }
package/src/types/City.ts DELETED
@@ -1,21 +0,0 @@
1
- export interface City {
2
- /**
3
- * The three-character IATA code for the city
4
- */
5
- iata_code: string;
6
-
7
- /**
8
- * Duffel's unique identifier for the city
9
- */
10
- id: string;
11
-
12
- /**
13
- * The ISO 3166-1 alpha-2 code for the country where the city is located
14
- */
15
- iata_country_code: string;
16
-
17
- /**
18
- * The name of the city
19
- */
20
- name: string;
21
- }
@@ -1,99 +0,0 @@
1
- import {
2
- Offer,
3
- OfferAvailableCancelForAnyReasonServiceMetadata,
4
- OfferAvailableServiceBaggageMetadata,
5
- } from "./Offer";
6
-
7
- export interface CreateOrderPayload {
8
- selected_offers: Array<Offer["id"]>;
9
- passengers: CreateOrderPayloadPassengers;
10
- services: CreateOrderPayloadServices;
11
- payments: Array<CreateOrderPayloadPayment>;
12
- type: "instant";
13
- metadata: Record<string, string>;
14
- }
15
-
16
- export interface CreateOrderPayloadPassenger {
17
- id: string;
18
- given_name: string;
19
- family_name: string;
20
- gender: string;
21
- title: string;
22
- born_on: string;
23
- email?: string;
24
- phone_number?: string;
25
- }
26
-
27
- export type CreateOrderPayloadPassengers = Array<CreateOrderPayloadPassenger>;
28
-
29
- export type CreateOrderPayloadPaymentType = "balance";
30
-
31
- export interface CreateOrderPayloadPayment {
32
- type: CreateOrderPayloadPaymentType;
33
- amount: string;
34
- currency: string;
35
- }
36
-
37
- export type CreateOrderPayloadServices = CreateOrderPayloadService[];
38
-
39
- export interface CreateOrderPayloadService {
40
- id: string;
41
- quantity: number;
42
-
43
- /** `serviceInformation` is meant for:
44
- * 1. internal use within the Duffel Ancillaries component, so it is convenient to augument selected services with data about it.
45
- * 2. When `onPayloadReady` is ready, we'll return selected bags and seat services along with the `serviceInformation` to allow consumer to enrich their price breakdown.
46
- *
47
- * Note: `serviceInformation` is not known by the Duffel API.
48
- */
49
- serviceInformation?: CreateOrderPayloadServiceInformation;
50
- }
51
-
52
- export interface CreateOrderPayloadSeatService {
53
- id: string;
54
- quantity: number;
55
-
56
- /** `serviceInformation` is meant for:
57
- * 1. internal use within the Duffel Ancillaries component, so it is convenient to augument selected services with data about it.
58
- * 2. When `onPayloadReady` is ready, we'll return selected bags and seat services along with the `serviceInformation` to allow consumer to enrich their price breakdown.
59
- *
60
- * Note: `serviceInformation` is not known by the Duffel API.
61
- */
62
- serviceInformation?: CreateOrderPayloadServiceInformationForSeats;
63
- }
64
-
65
- type CreateOrderPayloadServiceInformation =
66
- | CreateOrderPayloadServiceInformationForSeats
67
- | CreateOrderPayloadServiceInformationForBags
68
- | CreateOrderPayloadServiceInformationForCancelForAnyReason;
69
-
70
- interface CreateOrderPayloadCommonServiceInformation {
71
- segmentId: string;
72
- passengerId: string;
73
- passengerName: string;
74
- total_amount: string;
75
- total_currency: string;
76
- }
77
-
78
- export interface CreateOrderPayloadServiceInformationForSeats
79
- extends CreateOrderPayloadCommonServiceInformation {
80
- type: "seat";
81
- designator: string;
82
- disclosures: string[];
83
- }
84
-
85
- export type CreateOrderPayloadServiceInformationForBags =
86
- CreateOrderPayloadCommonServiceInformation &
87
- OfferAvailableServiceBaggageMetadata;
88
-
89
- export type CreateOrderPayloadServiceInformationForCancelForAnyReason = {
90
- type: "cancel_for_any_reason";
91
- } & Pick<
92
- CreateOrderPayloadCommonServiceInformation,
93
- /**
94
- * only using `total_amount` and `total_currency` from `CreateOrderPayloadCommonServiceInformation`
95
- * because the cancel for any reason service applies to the whole order, not a specific segment or passenger
96
- */
97
- "total_amount" | "total_currency"
98
- > &
99
- OfferAvailableCancelForAnyReasonServiceMetadata;
@@ -1,10 +0,0 @@
1
- export interface CurrencyConversion {
2
- /**
3
- * currency The ISO-4217 currency code to be used
4
- */
5
- currency: string;
6
- /**
7
- * Conversion multiple to be applied to all prices
8
- */
9
- rate: number;
10
- }
@@ -1,108 +0,0 @@
1
- import {
2
- CreateOrderPayload,
3
- CreateOrderPayloadServices,
4
- } from "./CreateOrderPayload";
5
- import {
6
- Offer,
7
- OfferAvailableServiceBaggage,
8
- OfferAvailableServiceCancelForAnyReason,
9
- } from "./Offer";
10
- import { SeatMap, SeatMapCabinRowSectionAvailableService } from "./SeatMap";
11
-
12
- export type DuffelAncillariesProps =
13
- | DuffelAncillariesPropsWithOfferIdForFixture
14
- | DuffelAncillariesPropsWithClientKeyAndOfferId
15
- | DuffelAncillariesPropWithOfferAndClientKey
16
- | DuffelAncillariesPropsWithOffersAndSeatMaps;
17
-
18
- export interface DuffelAncillariesCommonProps {
19
- styles?: CustomStyles;
20
- onPayloadReady: OnPayloadReady;
21
- passengers: CreateOrderPayload["passengers"];
22
- services: Ancillaries[];
23
- markup?: DuffelAncillariesMarkup;
24
- priceFormatters?: DuffelAncillariesPriceFormatters;
25
- debug?: boolean;
26
- }
27
-
28
- export interface DuffelAncillariesPropsWithOfferIdForFixture
29
- extends DuffelAncillariesCommonProps {
30
- offer_id: `fixture_${string}`;
31
- }
32
-
33
- export interface DuffelAncillariesPropsWithClientKeyAndOfferId
34
- extends DuffelAncillariesCommonProps {
35
- offer_id: string;
36
- client_key: string;
37
- }
38
-
39
- export interface DuffelAncillariesPropWithOfferAndClientKey
40
- extends DuffelAncillariesCommonProps {
41
- offer: Offer;
42
- client_key: string;
43
- }
44
-
45
- export interface DuffelAncillariesPropsWithOffersAndSeatMaps
46
- extends DuffelAncillariesCommonProps {
47
- offer: Offer;
48
- seat_maps: SeatMap[];
49
- }
50
-
51
- export type DuffelAncillariesMarkupDefinition = {
52
- rate: number;
53
- amount: number;
54
- };
55
-
56
- export interface DuffelAncillariesMarkup {
57
- bags?: DuffelAncillariesMarkupDefinition;
58
- seats?: DuffelAncillariesMarkupDefinition;
59
- cancel_for_any_reason?: DuffelAncillariesMarkupDefinition;
60
- }
61
-
62
- export type DuffelAncillariesPriceFormatterForBags = (
63
- amount: number,
64
- currency: string,
65
- service: OfferAvailableServiceBaggage
66
- ) => { amount: number; currency?: string };
67
-
68
- export type DuffelAncillariesPriceFormatterForSeats = (
69
- amount: number,
70
- currency: string,
71
- service: SeatMapCabinRowSectionAvailableService
72
- ) => { amount: number; currency?: string };
73
-
74
- export type DuffelAncillariesPriceFormatterForCancelForAnyReason = (
75
- amount: number,
76
- currency: string,
77
- service: OfferAvailableServiceCancelForAnyReason
78
- ) => { amount: number; currency?: string };
79
-
80
- export interface DuffelAncillariesPriceFormatters {
81
- bags?: DuffelAncillariesPriceFormatterForBags;
82
- seats?: DuffelAncillariesPriceFormatterForSeats;
83
- cancel_for_any_reason?: DuffelAncillariesPriceFormatterForCancelForAnyReason;
84
- }
85
-
86
- export interface CustomStyles {
87
- accentColor?: string;
88
- buttonCornerRadius?: string;
89
- fontFamily?: string;
90
- }
91
-
92
- export type OnPayloadReady = (
93
- data: CreateOrderPayload,
94
- metadata: OnPayloadReadyMetadata
95
- ) => void;
96
-
97
- export interface OnPayloadReadyMetadata {
98
- offer_total_amount: Offer["total_amount"];
99
- offer_total_currency: Offer["total_currency"];
100
- offer_tax_amount: Offer["tax_amount"];
101
- offer_tax_currency: Offer["tax_currency"];
102
-
103
- baggage_services: CreateOrderPayloadServices;
104
- seat_services: CreateOrderPayloadServices;
105
- cancel_for_any_reason_services: CreateOrderPayloadServices;
106
- }
107
-
108
- export type Ancillaries = "bags" | "seats" | "cancel_for_any_reason";