@duffel/components 2.7.20 → 3.0.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 (345) hide show
  1. package/.circleci/config.yml +67 -0
  2. package/.eslintrc.js +47 -0
  3. package/.github/renovate.json +16 -0
  4. package/.github/workflows/autoapprove.yml +18 -0
  5. package/.github/workflows/release.yml +89 -0
  6. package/.husky/post-commit +4 -0
  7. package/.husky/pre-commit +4 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierignore +2 -0
  10. package/.storybook/Storyshots.test.js +3 -0
  11. package/.storybook/__snapshots__/Storyshots.test.js.snap +48318 -0
  12. package/.storybook/main.ts +33 -0
  13. package/.storybook/preview.tsx +28 -0
  14. package/.tool-versions +1 -0
  15. package/CONTRIBUTING.md +83 -0
  16. package/README.md +53 -15
  17. package/__mocks__/styleMock.js +6 -0
  18. package/babel.config.js +20 -0
  19. package/commitlint.config.js +4 -0
  20. package/config/esbuild.base.config.js +18 -0
  21. package/config/esbuild.cdn.config.js +51 -0
  22. package/config/esbuild.dev.config.js +46 -0
  23. package/config/esbuild.react.config.js +42 -0
  24. package/jest.config.ts +14 -0
  25. package/package.json +135 -193
  26. package/react-dist/components/DuffelAncillaries/Card.d.ts +14 -0
  27. package/react-dist/components/DuffelAncillaries/Counter.d.ts +10 -0
  28. package/react-dist/components/DuffelAncillaries/DuffelAncillaries.d.ts +3 -0
  29. package/react-dist/components/DuffelAncillaries/DuffelAncillariesCustomElement.d.ts +13 -0
  30. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionCard.d.ts +11 -0
  31. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionController.d.ts +13 -0
  32. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionModal.d.ts +11 -0
  33. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionModalBody.d.ts +11 -0
  34. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionModalBodyPassenger.d.ts +13 -0
  35. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionModalFooter.d.ts +14 -0
  36. package/react-dist/components/DuffelAncillaries/bags/BaggageSelectionModalHeader.d.ts +9 -0
  37. package/react-dist/components/DuffelAncillaries/bags/IncludedBaggageBanner.d.ts +7 -0
  38. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionCard.d.ts +10 -0
  39. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModal.d.ts +11 -0
  40. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBody.d.ts +7 -0
  41. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBodyListItem.d.ts +4 -0
  42. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalFooter.d.ts +11 -0
  43. package/react-dist/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalHeader.d.ts +2 -0
  44. package/react-dist/components/DuffelAncillaries/seats/Amenity.d.ts +6 -0
  45. package/react-dist/components/DuffelAncillaries/seats/DeckSelect.d.ts +15 -0
  46. package/react-dist/components/DuffelAncillaries/seats/Element.d.ts +15 -0
  47. package/react-dist/components/DuffelAncillaries/seats/EmptyElement.d.ts +2 -0
  48. package/react-dist/components/DuffelAncillaries/seats/ExitElement.d.ts +6 -0
  49. package/react-dist/components/DuffelAncillaries/seats/Legend.d.ts +12 -0
  50. package/react-dist/components/DuffelAncillaries/seats/Row.d.ts +13 -0
  51. package/react-dist/components/DuffelAncillaries/seats/RowSection.d.ts +17 -0
  52. package/react-dist/components/DuffelAncillaries/seats/SeatElement.d.ts +13 -0
  53. package/react-dist/components/DuffelAncillaries/seats/SeatInfo.d.ts +7 -0
  54. package/react-dist/components/DuffelAncillaries/seats/SeatMap.d.ts +12 -0
  55. package/react-dist/components/DuffelAncillaries/seats/SeatMapUnavailable.d.ts +2 -0
  56. package/react-dist/components/DuffelAncillaries/seats/SeatSelectionCard.d.ts +13 -0
  57. package/react-dist/components/DuffelAncillaries/seats/SeatSelectionModal.d.ts +13 -0
  58. package/react-dist/components/DuffelAncillaries/seats/SeatSelectionModalBody.d.ts +4 -0
  59. package/react-dist/components/DuffelAncillaries/seats/SeatSelectionModalFooter.d.ts +16 -0
  60. package/react-dist/components/DuffelAncillaries/seats/SeatSelectionModalHeader.d.ts +10 -0
  61. package/react-dist/components/DuffelAncillaries/seats/SeatUnavailable.d.ts +5 -0
  62. package/react-dist/components/DuffelPayments/DuffelPayments.d.ts +11 -0
  63. package/react-dist/components/DuffelPayments/DuffelPaymentsCustomElement.d.ts +14 -0
  64. package/react-dist/components/shared/AnimatedLoaderEllipsis.d.ts +2 -0
  65. package/react-dist/components/shared/Button.d.ts +23 -0
  66. package/react-dist/components/shared/ErrorBoundary.d.ts +13 -0
  67. package/react-dist/components/shared/FetchOfferErrorState.d.ts +5 -0
  68. package/react-dist/components/shared/Icon.d.ts +44 -0
  69. package/react-dist/components/shared/IconButton.d.ts +16 -0
  70. package/react-dist/components/shared/Modal.d.ts +11 -0
  71. package/react-dist/components/shared/NonIdealState.d.ts +4 -0
  72. package/react-dist/components/shared/Stamp.d.ts +7 -0
  73. package/react-dist/components/shared/Tabs.d.ts +16 -0
  74. package/react-dist/custom-elements.d.ts +6 -0
  75. package/react-dist/custom-elements.js +37 -0
  76. package/react-dist/custom-elements.js.map +7 -0
  77. package/react-dist/index.d.ts +7 -0
  78. package/react-dist/index.js +37 -0
  79. package/react-dist/index.js.map +7 -0
  80. package/react-dist/lib/captureErrorInSentry.d.ts +1 -0
  81. package/react-dist/lib/compileCreateOrderPayload.d.ts +14 -0
  82. package/react-dist/lib/createPriceFormatters.d.ts +12 -0
  83. package/react-dist/lib/fetchFromDuffelAPI.d.ts +8 -0
  84. package/react-dist/lib/fetchFromFixtures.d.ts +4 -0
  85. package/react-dist/lib/formatAvailableServices.d.ts +12 -0
  86. package/react-dist/lib/formatDate.d.ts +2 -0
  87. package/react-dist/lib/formatSeatMaps.d.ts +4 -0
  88. package/react-dist/lib/getBaggageServiceDescription.d.ts +2 -0
  89. package/react-dist/lib/getCabinsForSegmentAndDeck.d.ts +2 -0
  90. package/react-dist/lib/getCurrencyForSeatMaps.d.ts +10 -0
  91. package/react-dist/lib/getCurrencyForServices.d.ts +11 -0
  92. package/react-dist/lib/getFirstSeatElementMatchingCriteria.d.ts +3 -0
  93. package/react-dist/lib/getPassengerBySegmentList.d.ts +6 -0
  94. package/react-dist/lib/getPassengerInitials.d.ts +1 -0
  95. package/react-dist/lib/getPassengerMapById.d.ts +3 -0
  96. package/react-dist/lib/getPassengerName.d.ts +3 -0
  97. package/react-dist/lib/getRowNumber.d.ts +2 -0
  98. package/react-dist/lib/getSegmentList.d.ts +2 -0
  99. package/react-dist/lib/getServicePriceMapById.d.ts +3 -0
  100. package/react-dist/lib/getSymbols.d.ts +2 -0
  101. package/react-dist/lib/getTotalAmountForServices.d.ts +6 -0
  102. package/react-dist/lib/getTotalQuantity.d.ts +2 -0
  103. package/react-dist/lib/hasService.d.ts +2 -0
  104. package/react-dist/lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected.d.ts +3 -0
  105. package/react-dist/lib/hasWings.d.ts +2 -0
  106. package/react-dist/lib/isBaggageService.d.ts +2 -0
  107. package/react-dist/lib/isCancelForAnyReasonService.d.ts +2 -0
  108. package/react-dist/lib/isFixtureOfferId.d.ts +2 -0
  109. package/react-dist/lib/isPayloadComplete.d.ts +2 -0
  110. package/react-dist/lib/isSeatElement.d.ts +2 -0
  111. package/react-dist/lib/logging.d.ts +46 -0
  112. package/react-dist/lib/moneyStringFormatter.d.ts +8 -0
  113. package/react-dist/lib/offerIsExpired.d.ts +2 -0
  114. package/react-dist/lib/retrieveOffer.d.ts +2 -0
  115. package/react-dist/lib/retrieveOfferFromDuffelAPI.d.ts +1 -0
  116. package/react-dist/lib/retrieveSeatMaps.d.ts +2 -0
  117. package/react-dist/lib/retrieveSeatMapsFromDuffelAPI.d.ts +1 -0
  118. package/react-dist/lib/setBodyScrollability.d.ts +1 -0
  119. package/react-dist/lib/validateProps.d.ts +7 -0
  120. package/react-dist/lib/withPlural.d.ts +1 -0
  121. package/react-dist/types/Aircraft.d.ts +14 -0
  122. package/react-dist/types/Airline.d.ts +14 -0
  123. package/react-dist/types/Airport.d.ts +44 -0
  124. package/react-dist/types/City.d.ts +18 -0
  125. package/react-dist/types/CreateOrderPayload.d.ts +72 -0
  126. package/react-dist/types/CurrencyConversion.d.ts +10 -0
  127. package/react-dist/types/DuffelAncillariesProps.d.ts +70 -0
  128. package/react-dist/types/Offer.d.ts +711 -0
  129. package/react-dist/types/Order.d.ts +8 -0
  130. package/react-dist/types/Place.d.ts +8 -0
  131. package/react-dist/types/SeatMap.d.ts +190 -0
  132. package/react-dist/types/index.d.ts +11 -0
  133. package/scripts/generate-fixture.ts +200 -0
  134. package/scripts/upload-to-cdn.sh +34 -0
  135. package/scripts.tsconfig.json +11 -0
  136. package/src/components/DuffelAncillaries/Card.tsx +126 -0
  137. package/src/components/DuffelAncillaries/Counter.tsx +40 -0
  138. package/src/components/DuffelAncillaries/DuffelAncillaries.tsx +344 -0
  139. package/src/components/DuffelAncillaries/DuffelAncillariesCustomElement.tsx +124 -0
  140. package/src/components/DuffelAncillaries/bags/BaggageSelectionCard.tsx +96 -0
  141. package/src/components/DuffelAncillaries/bags/BaggageSelectionController.tsx +88 -0
  142. package/src/components/DuffelAncillaries/bags/BaggageSelectionModal.tsx +81 -0
  143. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalBody.tsx +60 -0
  144. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalBodyPassenger.tsx +122 -0
  145. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalFooter.tsx +81 -0
  146. package/src/components/DuffelAncillaries/bags/BaggageSelectionModalHeader.tsx +76 -0
  147. package/src/components/DuffelAncillaries/bags/IncludedBaggageBanner.tsx +51 -0
  148. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionCard.tsx +90 -0
  149. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModal.tsx +63 -0
  150. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBody.tsx +56 -0
  151. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalBodyListItem.tsx +11 -0
  152. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalFooter.tsx +74 -0
  153. package/src/components/DuffelAncillaries/cancel_for_any_reason/CfarSelectionModalHeader.tsx +9 -0
  154. package/src/components/DuffelAncillaries/seats/Amenity.tsx +21 -0
  155. package/src/components/DuffelAncillaries/seats/DeckSelect.tsx +27 -0
  156. package/src/components/DuffelAncillaries/seats/Element.tsx +52 -0
  157. package/src/components/DuffelAncillaries/seats/EmptyElement.tsx +5 -0
  158. package/src/components/DuffelAncillaries/seats/ExitElement.tsx +17 -0
  159. package/src/components/DuffelAncillaries/seats/Legend.tsx +60 -0
  160. package/src/components/DuffelAncillaries/seats/Row.tsx +47 -0
  161. package/src/components/DuffelAncillaries/seats/RowSection.tsx +78 -0
  162. package/src/components/DuffelAncillaries/seats/SeatElement.tsx +120 -0
  163. package/src/components/DuffelAncillaries/seats/SeatInfo.tsx +32 -0
  164. package/src/components/DuffelAncillaries/seats/SeatMap.tsx +81 -0
  165. package/src/components/DuffelAncillaries/seats/SeatMapUnavailable.tsx +21 -0
  166. package/src/components/DuffelAncillaries/seats/SeatSelectionCard.tsx +103 -0
  167. package/src/components/DuffelAncillaries/seats/SeatSelectionModal.tsx +142 -0
  168. package/src/components/DuffelAncillaries/seats/SeatSelectionModalBody.tsx +13 -0
  169. package/src/components/DuffelAncillaries/seats/SeatSelectionModalFooter.tsx +82 -0
  170. package/src/components/DuffelAncillaries/seats/SeatSelectionModalHeader.tsx +87 -0
  171. package/src/components/DuffelAncillaries/seats/SeatUnavailable.tsx +14 -0
  172. package/src/components/DuffelPayments/DuffelPayments.tsx +218 -0
  173. package/src/components/DuffelPayments/DuffelPaymentsCustomElement.tsx +130 -0
  174. package/src/components/shared/AnimatedLoaderEllipsis.tsx +5 -0
  175. package/src/components/shared/Button.tsx +63 -0
  176. package/src/components/shared/ErrorBoundary.tsx +54 -0
  177. package/src/components/shared/FetchOfferErrorState.tsx +35 -0
  178. package/src/components/shared/Icon.tsx +152 -0
  179. package/src/components/shared/IconButton.tsx +42 -0
  180. package/src/components/shared/Modal.tsx +40 -0
  181. package/src/components/shared/NonIdealState.tsx +28 -0
  182. package/src/components/shared/Stamp.tsx +29 -0
  183. package/src/components/shared/Tabs.tsx +36 -0
  184. package/src/custom-elements.ts +13 -0
  185. package/src/examples/client-side/README.md +30 -0
  186. package/src/examples/client-side/index.html +57 -0
  187. package/src/examples/full-stack/README.md +34 -0
  188. package/src/examples/full-stack/index.html +48 -0
  189. package/src/examples/full-stack/server.mjs +158 -0
  190. package/src/examples/just-typescript/README.md +37 -0
  191. package/src/examples/just-typescript/package.json +16 -0
  192. package/src/examples/just-typescript/src/index.html +23 -0
  193. package/src/examples/just-typescript/src/index.ts +36 -0
  194. package/src/examples/just-typescript/yarn.lock +154 -0
  195. package/src/examples/payments-custom-element/README.md +17 -0
  196. package/src/examples/payments-custom-element/index.html +43 -0
  197. package/src/examples/payments-just-typescript/README.md +37 -0
  198. package/src/examples/payments-just-typescript/package.json +16 -0
  199. package/src/examples/payments-just-typescript/src/index.html +23 -0
  200. package/src/examples/payments-just-typescript/src/index.ts +18 -0
  201. package/src/examples/payments-just-typescript/yarn.lock +154 -0
  202. package/src/examples/react-app/README.md +37 -0
  203. package/src/examples/react-app/package.json +20 -0
  204. package/src/examples/react-app/src/index.html +19 -0
  205. package/src/examples/react-app/src/index.tsx +48 -0
  206. package/src/examples/react-app/yarn.lock +219 -0
  207. package/src/fixtures/offers/off_0000AUde3KwTztSRK1cznH.json +497 -0
  208. package/src/fixtures/offers/off_0000AVx4lUFFKW8PsPeQeQ.json +307 -0
  209. package/src/fixtures/offers/off_1.json +497 -0
  210. package/src/fixtures/passengers/mock_passengers.ts +26 -0
  211. package/src/fixtures/seat-maps/off_0000AUde3KwTztSRK1cznH.json +6852 -0
  212. package/src/fixtures/seat-maps/off_0000AVx4lUFFKW8PsPeQeQ.json +1 -0
  213. package/src/fixtures/seat-maps/off_1.json +6852 -0
  214. package/src/index.ts +7 -0
  215. package/src/lib/captureErrorInSentry.ts +42 -0
  216. package/src/lib/compileCreateOrderPayload.ts +63 -0
  217. package/src/lib/createPriceFormatters.ts +73 -0
  218. package/src/lib/fetchFromDuffelAPI.ts +54 -0
  219. package/src/lib/fetchFromFixtures.ts +18 -0
  220. package/src/lib/formatAvailableServices.ts +91 -0
  221. package/src/lib/formatDate.ts +20 -0
  222. package/src/lib/formatSeatMaps.ts +81 -0
  223. package/src/lib/getBaggageServiceDescription.ts +42 -0
  224. package/src/lib/getCabinsForSegmentAndDeck.ts +4 -0
  225. package/src/lib/getCurrencyForSeatMaps.ts +22 -0
  226. package/src/lib/getCurrencyForServices.ts +24 -0
  227. package/src/lib/getFirstSeatElementMatchingCriteria.ts +22 -0
  228. package/src/lib/getPassengerBySegmentList.ts +10 -0
  229. package/src/lib/getPassengerInitials.ts +6 -0
  230. package/src/lib/getPassengerMapById.ts +17 -0
  231. package/src/lib/getPassengerName.ts +37 -0
  232. package/src/lib/getRowNumber.ts +16 -0
  233. package/src/lib/getSegmentList.ts +7 -0
  234. package/src/lib/getServicePriceMapById.ts +20 -0
  235. package/src/lib/getSymbols.ts +22 -0
  236. package/src/lib/getTotalAmountForServices.ts +72 -0
  237. package/src/lib/getTotalQuantity.ts +5 -0
  238. package/src/lib/hasService.ts +24 -0
  239. package/src/lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected.ts +35 -0
  240. package/src/lib/hasWings.ts +8 -0
  241. package/src/lib/isBaggageService.ts +8 -0
  242. package/src/lib/isCancelForAnyReasonService.ts +9 -0
  243. package/src/lib/isFixtureOfferId.ts +4 -0
  244. package/src/lib/isPayloadComplete.ts +11 -0
  245. package/src/lib/isSeatElement.ts +10 -0
  246. package/src/lib/logging.ts +120 -0
  247. package/src/lib/moneyStringFormatter.ts +34 -0
  248. package/src/lib/offerIsExpired.ts +5 -0
  249. package/src/lib/retrieveOffer.ts +54 -0
  250. package/src/lib/retrieveOfferFromDuffelAPI.ts +13 -0
  251. package/src/lib/retrieveSeatMaps.ts +55 -0
  252. package/src/lib/retrieveSeatMapsFromDuffelAPI.ts +13 -0
  253. package/src/lib/setBodyScrollability.ts +7 -0
  254. package/src/lib/validateProps.ts +37 -0
  255. package/src/lib/withPlural.ts +8 -0
  256. package/src/stories/BaggageSelectionModalHeader.stories.tsx +21 -0
  257. package/src/stories/Button.stories.tsx +69 -0
  258. package/src/stories/DuffelAncillaries.stories.tsx +126 -0
  259. package/src/stories/DuffelPayments.stories.tsx +34 -0
  260. package/src/stories/Icon.stories.tsx +35 -0
  261. package/src/stories/IconButton.stories.tsx +25 -0
  262. package/src/styles/colors.css +22 -0
  263. package/src/styles/components/Amenity.css +23 -0
  264. package/src/styles/components/BaggageDisplay.css +25 -0
  265. package/src/styles/components/Button.css +161 -0
  266. package/src/styles/components/Card.css +52 -0
  267. package/src/styles/components/CfarSelectionModal.css +34 -0
  268. package/src/styles/components/Counter.css +18 -0
  269. package/src/styles/components/DuffelPayments.css +42 -0
  270. package/src/styles/components/IconButton.css +63 -0
  271. package/src/styles/components/Legend.css +58 -0
  272. package/src/styles/components/Loader.css +37 -0
  273. package/src/styles/components/LoadingState.css +81 -0
  274. package/src/styles/components/Modal.css +84 -0
  275. package/src/styles/components/PassengerSelect.css +93 -0
  276. package/src/styles/components/PassengersLayout.css +90 -0
  277. package/src/styles/components/Row.css +70 -0
  278. package/src/styles/components/Seat.css +57 -0
  279. package/src/styles/components/SeatInfo.css +61 -0
  280. package/src/styles/components/SeatMap.css +24 -0
  281. package/src/styles/components/SeatSelect.css +92 -0
  282. package/src/styles/components/Segment.css +17 -0
  283. package/src/styles/components/SelectionSegment.css +10 -0
  284. package/src/styles/components/Summary.css +70 -0
  285. package/src/styles/components/Tabs.css +49 -0
  286. package/src/styles/flex.css +5 -0
  287. package/src/styles/font-families.css +47 -0
  288. package/src/styles/global.css +51 -0
  289. package/src/styles/margin.css +3 -0
  290. package/src/styles/spacing.css +18 -0
  291. package/src/styles/transitions.css +3 -0
  292. package/src/styles/typography.css +13 -0
  293. package/src/tests/components/DuffelAncillaries.test.tsx +342 -0
  294. package/src/tests/lib/createPriceFormatters.test.tsx +152 -0
  295. package/src/tests/lib/formatAvailableServices.test.tsx +79 -0
  296. package/src/tests/lib/formatSeatMaps.test.tsx +49 -0
  297. package/src/tests/lib/getCurrencyForServices.test.tsx +44 -0
  298. package/src/tests/lib/hasServiceOfSameMetadataTypeAlreadyBeenSelected.test.ts +86 -0
  299. package/src/tests/lib/logging.test.tsx +32 -0
  300. package/src/tests/lib/moneyStringFormatter.test.tsx +12 -0
  301. package/src/tests/lib/validateProps.test.tsx +57 -0
  302. package/src/types/Aircraft.ts +16 -0
  303. package/src/types/Airline.ts +16 -0
  304. package/src/types/Airport.ts +54 -0
  305. package/src/types/City.ts +21 -0
  306. package/src/types/CreateOrderPayload.ts +99 -0
  307. package/src/types/CurrencyConversion.ts +10 -0
  308. package/src/types/DuffelAncillariesProps.ts +108 -0
  309. package/src/types/Offer.ts +851 -0
  310. package/src/types/Order.ts +6 -0
  311. package/src/types/Place.ts +6 -0
  312. package/src/types/SeatMap.ts +231 -0
  313. package/src/types/index.ts +11 -0
  314. package/tsconfig.json +52 -0
  315. package/LICENSE +0 -21
  316. package/dist/AdditionalBaggage.esm.js +0 -1
  317. package/dist/AdditionalBaggage.js +0 -1
  318. package/dist/AdditionalBaggage.min.css +0 -408
  319. package/dist/AdditionalBaggage.umd.min.js +0 -2
  320. package/dist/AdditionalBaggage.umd.min.js.LICENSE.txt +0 -60
  321. package/dist/AdditionalBaggageSelection.esm.js +0 -1
  322. package/dist/AdditionalBaggageSelection.js +0 -1
  323. package/dist/AdditionalBaggageSelection.min.css +0 -744
  324. package/dist/AdditionalBaggageSelection.umd.min.js +0 -2
  325. package/dist/AdditionalBaggageSelection.umd.min.js.LICENSE.txt +0 -93
  326. package/dist/CardPayment.esm.js +0 -2
  327. package/dist/CardPayment.esm.js.LICENSE.txt +0 -6
  328. package/dist/CardPayment.js +0 -2
  329. package/dist/CardPayment.js.LICENSE.txt +0 -6
  330. package/dist/CardPayment.min.css +0 -233
  331. package/dist/CardPayment.umd.min.js +0 -2
  332. package/dist/CardPayment.umd.min.js.LICENSE.txt +0 -61
  333. package/dist/SeatSelection.esm.js +0 -1
  334. package/dist/SeatSelection.js +0 -1
  335. package/dist/SeatSelection.min.css +0 -1127
  336. package/dist/SeatSelection.umd.min.js +0 -2
  337. package/dist/SeatSelection.umd.min.js.LICENSE.txt +0 -60
  338. package/dist/duffel-components.d.ts +0 -1614
  339. package/dist/duffel-components.esm.js +0 -2
  340. package/dist/duffel-components.esm.js.LICENSE.txt +0 -6
  341. package/dist/duffel-components.js +0 -2
  342. package/dist/duffel-components.js.LICENSE.txt +0 -6
  343. package/dist/duffel-components.min.css +0 -1280
  344. package/dist/duffel-components.umd.min.js +0 -2
  345. package/dist/duffel-components.umd.min.js.LICENSE.txt +0 -102
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { CreateOrderPayloadSeatService } from "../../../types/CreateOrderPayload";
3
+ import { SeatMapCabinRow } from "../../../types/SeatMap";
4
+ export interface RowProps {
5
+ row: SeatMapCabinRow;
6
+ hasWings: boolean;
7
+ selectedServicesMap: Record<string, CreateOrderPayloadSeatService>;
8
+ onSeatToggled: (seatService: CreateOrderPayloadSeatService) => void;
9
+ currentPassengerId: string;
10
+ currentPassengerName: string;
11
+ currentSegmentId: string;
12
+ }
13
+ export declare const Row: React.FC<RowProps>;
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import { CreateOrderPayloadSeatService } from "../../../types/CreateOrderPayload";
3
+ import { SeatMapCabinRow, SeatMapCabinRowSection } from "../../../types/SeatMap";
4
+ interface RowSectionProps {
5
+ row: SeatMapCabinRow;
6
+ rowNumber: string | null;
7
+ hasWings: boolean;
8
+ section: SeatMapCabinRowSection;
9
+ sectionIndex: number;
10
+ selectedServicesMap: Record<string, CreateOrderPayloadSeatService>;
11
+ onSeatToggled: (seatService: CreateOrderPayloadSeatService) => void;
12
+ currentPassengerId: string;
13
+ currentPassengerName: string;
14
+ currentSegmentId: string;
15
+ }
16
+ export declare const RowSection: React.FC<RowSectionProps>;
17
+ export {};
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { CreateOrderPayloadSeatService } from "../../../types/CreateOrderPayload";
3
+ import { SeatMapCabinRowSectionElementSeat } from "../../../types/SeatMap";
4
+ interface SeatElementProps {
5
+ element: SeatMapCabinRowSectionElementSeat;
6
+ currentSegmentId: string;
7
+ currentPassengerId: string;
8
+ currentPassengerName: string;
9
+ onSeatToggled: (seatService: CreateOrderPayloadSeatService) => void;
10
+ selectedServicesMap: Record<string, CreateOrderPayloadSeatService>;
11
+ }
12
+ export declare const SeatElement: React.FC<SeatElementProps>;
13
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { SeatMapCabinRowSectionAvailableService, SeatMapCabinRowSectionElementSeat } from "../../../types/SeatMap";
3
+ export interface SeatInfoProps {
4
+ seat: SeatMapCabinRowSectionElementSeat | null;
5
+ service: SeatMapCabinRowSectionAvailableService | undefined;
6
+ }
7
+ export declare const SeatInfo: React.FC<SeatInfoProps>;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { CreateOrderPayloadSeatService } from "../../../types/CreateOrderPayload";
3
+ import { SeatMap as SeatMapType } from "../../../types/SeatMap";
4
+ export interface SeatMapProps {
5
+ seatMap: SeatMapType;
6
+ selectedServicesMap: Record<string, CreateOrderPayloadSeatService>;
7
+ onSeatToggled: (seatService: CreateOrderPayloadSeatService) => void;
8
+ currentPassengerId: string;
9
+ currentPassengerName: string;
10
+ currentSegmentId: string;
11
+ }
12
+ export declare const SeatMap: React.FC<SeatMapProps>;
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ export declare const SeatMapUnavailable: React.FC;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { CreateOrderPayload, CreateOrderPayloadServices } from "../../../types/CreateOrderPayload";
3
+ import { Offer } from "../../../types/Offer";
4
+ import { SeatMap } from "../../../types/SeatMap";
5
+ export interface SeatSelectionCardProps {
6
+ isLoading: boolean;
7
+ offer?: Offer;
8
+ seatMaps?: SeatMap[];
9
+ passengers: CreateOrderPayload["passengers"];
10
+ selectedServices: CreateOrderPayloadServices;
11
+ setSelectedServices: (selectedServices: CreateOrderPayloadServices) => void;
12
+ }
13
+ export declare const SeatSelectionCard: React.FC<SeatSelectionCardProps>;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { CreateOrderPayload, CreateOrderPayloadSeatService } from "../../../types/CreateOrderPayload";
3
+ import { Offer } from "../../../types/Offer";
4
+ import { SeatMap } from "../../../types/SeatMap";
5
+ export interface SeatSelectionModalProps {
6
+ isOpen: boolean;
7
+ offer?: Offer;
8
+ seatMaps?: SeatMap[];
9
+ selectedServices: CreateOrderPayloadSeatService[];
10
+ passengers: CreateOrderPayload["passengers"];
11
+ onClose: (selectedServices: CreateOrderPayloadSeatService[]) => void;
12
+ }
13
+ export declare const SeatSelectionModal: React.FC<SeatSelectionModalProps>;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SeatMapProps } from "./SeatMap";
3
+ export type SeatSelectionModalBodyProps = SeatMapProps;
4
+ export declare const SeatSelectionModalBody: React.FC<SeatSelectionModalBodyProps>;
@@ -0,0 +1,16 @@
1
+ import { ServicePriceMapById } from "@lib/getServicePriceMapById";
2
+ import React from "react";
3
+ import { CreateOrderPayloadServices } from "../../../types/CreateOrderPayload";
4
+ import { SeatMap } from "../../../types/SeatMap";
5
+ export interface SeatSelectionModalFooterProps {
6
+ currency: string;
7
+ selectedServices: CreateOrderPayloadServices;
8
+ servicePrices: ServicePriceMapById;
9
+ isFirstSegment: boolean;
10
+ isLastSegment: boolean;
11
+ onNextSegmentButtonClicked: () => void;
12
+ onPreviousSegmentButtonClicked: () => void;
13
+ onClose: () => void;
14
+ seatMaps: SeatMap[];
15
+ }
16
+ export declare const SeatSelectionModalFooter: React.FC<SeatSelectionModalFooterProps>;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { OfferSliceSegment } from "../../../types/Offer";
3
+ export interface SeatSelectionModalHeaderProps {
4
+ segmentAndPassengerPermutationsCount: number;
5
+ currentSegment: OfferSliceSegment;
6
+ currentPassengerName: string;
7
+ currentSegmentAndPassengerPermutationsIndex: number;
8
+ setCurrentSegmentAndPassengerPermutationsIndex: (index: number) => void;
9
+ }
10
+ export declare const SeatSelectionModalHeader: React.FC<SeatSelectionModalHeaderProps>;
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { SeatMapCabinRowSectionElementSeat } from "../../../types/SeatMap";
3
+ export declare const SeatUnavailable: React.FC<{
4
+ seat: SeatMapCabinRowSectionElementSeat;
5
+ }>;
@@ -0,0 +1,11 @@
1
+ import { StripeError } from "@stripe/stripe-js";
2
+ import * as React from "react";
3
+ import { CustomStyles } from "../../types";
4
+ export interface DuffelPaymentsProps {
5
+ paymentIntentClientToken: string;
6
+ onSuccessfulPayment: () => void;
7
+ onFailedPayment: (error: StripeError) => void;
8
+ styles?: CustomStyles;
9
+ debug?: boolean;
10
+ }
11
+ export declare const DuffelPayments: React.FC<DuffelPaymentsProps>;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { DuffelPaymentsProps } from "./DuffelPayments";
3
+ declare global {
4
+ namespace JSX {
5
+ interface IntrinsicElements {
6
+ "duffel-payments": React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
7
+ }
8
+ }
9
+ }
10
+ type DuffelPaymentsCustomElementRenderArguments = Pick<DuffelPaymentsProps, "paymentIntentClientToken" | "styles">;
11
+ export declare function renderDuffelPaymentsCustomElement(props: DuffelPaymentsCustomElementRenderArguments): void;
12
+ export declare function onDuffelPaymentsSuccessfulPayment(onSuccessfulPayment: DuffelPaymentsProps["onSuccessfulPayment"]): void;
13
+ export declare function onDuffelPaymentsFailedPayment(onFailedPayment: DuffelPaymentsProps["onFailedPayment"]): void;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ export declare const AnimatedLoaderEllipsis: React.FC;
@@ -0,0 +1,23 @@
1
+ import { IconName } from "@components/shared/Icon";
2
+ import * as React from "react";
3
+ declare const BUTTON_VARIANTS: {
4
+ primary: string;
5
+ outlined: string;
6
+ destructive: string;
7
+ };
8
+ type ButtonVariants = keyof typeof BUTTON_VARIANTS;
9
+ declare const BUTTON_SIZES: {
10
+ 32: string;
11
+ 40: string;
12
+ 48: string;
13
+ };
14
+ type ButtonSizes = keyof typeof BUTTON_SIZES;
15
+ type NativeButtonProps = React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
16
+ export interface ButtonProps extends Pick<NativeButtonProps, "id" | "onClick" | "disabled" | "children" | "className" | "type"> {
17
+ "data-testid"?: string;
18
+ iconBefore?: IconName;
19
+ variant?: ButtonVariants;
20
+ size?: ButtonSizes;
21
+ }
22
+ export declare const Button: React.FC<ButtonProps>;
23
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export declare class ErrorBoundary extends React.Component<{
3
+ children: React.ReactNode | React.ReactNode[];
4
+ }> {
5
+ state: {
6
+ hasError: boolean;
7
+ };
8
+ static getDerivedStateFromError(): {
9
+ hasError: boolean;
10
+ };
11
+ componentDidCatch(error: Error): void;
12
+ render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
13
+ }
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export declare const FetchOfferErrorState: React.FC<{
3
+ height: string;
4
+ message: string;
5
+ }>;
@@ -0,0 +1,44 @@
1
+ import * as React from "react";
2
+ export declare const ICON_MAP: {
3
+ add: import("react/jsx-runtime").JSX.Element;
4
+ arrow_forward: import("react/jsx-runtime").JSX.Element;
5
+ arrow_left: import("react/jsx-runtime").JSX.Element;
6
+ arrow_right: import("react/jsx-runtime").JSX.Element;
7
+ autorenew: import("react/jsx-runtime").JSX.Element;
8
+ bassinet: import("react/jsx-runtime").JSX.Element;
9
+ cabin_bag: import("react/jsx-runtime").JSX.Element;
10
+ check: import("react/jsx-runtime").JSX.Element;
11
+ checked_bag: import("react/jsx-runtime").JSX.Element;
12
+ chevron: import("react/jsx-runtime").JSX.Element;
13
+ close: import("react/jsx-runtime").JSX.Element;
14
+ closet: import("react/jsx-runtime").JSX.Element;
15
+ exit_row: import("react/jsx-runtime").JSX.Element;
16
+ exit_row_right: import("react/jsx-runtime").JSX.Element;
17
+ expand_content: import("react/jsx-runtime").JSX.Element;
18
+ flight_class: import("react/jsx-runtime").JSX.Element;
19
+ galley: import("react/jsx-runtime").JSX.Element;
20
+ lavatory: import("react/jsx-runtime").JSX.Element;
21
+ lie_flat_seat: import("react/jsx-runtime").JSX.Element;
22
+ minus: import("react/jsx-runtime").JSX.Element;
23
+ no_airplane: import("react/jsx-runtime").JSX.Element;
24
+ no_bag: import("react/jsx-runtime").JSX.Element;
25
+ no_seat: import("react/jsx-runtime").JSX.Element;
26
+ north_east: import("react/jsx-runtime").JSX.Element;
27
+ seat: import("react/jsx-runtime").JSX.Element;
28
+ seat_paid_indicator: import("react/jsx-runtime").JSX.Element;
29
+ shield_with_moon: import("react/jsx-runtime").JSX.Element;
30
+ stairs: import("react/jsx-runtime").JSX.Element;
31
+ wifi: import("react/jsx-runtime").JSX.Element;
32
+ };
33
+ export type IconName = keyof typeof ICON_MAP;
34
+ interface IconProps {
35
+ name: IconName;
36
+ className?: string;
37
+ size?: number;
38
+ onClick?: (event: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
39
+ ml?: string;
40
+ viewBox?: string;
41
+ style?: React.CSSProperties;
42
+ }
43
+ export declare const Icon: React.FunctionComponent<IconProps>;
44
+ export {};
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { IconName } from "./Icon";
3
+ declare const ICON_BUTTON_VARIANTS: {
4
+ primary: string;
5
+ outlined: string;
6
+ };
7
+ type IconButtonVariants = keyof typeof ICON_BUTTON_VARIANTS;
8
+ type NativeButtonProps = React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
9
+ export interface IconButtonProps extends Pick<NativeButtonProps, "id" | "onClick" | "disabled" | "className"> {
10
+ "data-testid"?: string;
11
+ icon: IconName;
12
+ title: string;
13
+ variant?: IconButtonVariants;
14
+ }
15
+ export declare const IconButton: React.FC<IconButtonProps>;
16
+ export {};
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ interface ModalProps {
3
+ onClose: () => void;
4
+ isOpen: boolean;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const Modal: React.FC<ModalProps>;
8
+ export declare const ModalBody: React.FC<{
9
+ children: React.ReactNode;
10
+ }>;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare const NonIdealState: React.FC<React.PropsWithChildren<{
3
+ style?: React.CSSProperties;
4
+ }>>;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export interface StampProps {
3
+ backgroundColor: React.CSSProperties["backgroundColor"];
4
+ color: React.CSSProperties["color"];
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const Stamp: React.FC<StampProps>;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ export interface TabsProps {
3
+ /**
4
+ * The currently selected tab option
5
+ */
6
+ value: string;
7
+ /**
8
+ * Callback for when a new tab option is selected
9
+ */
10
+ onChange: (value: string) => void;
11
+ /**
12
+ * The options you want to render on the tabs
13
+ */
14
+ options: string[];
15
+ }
16
+ export declare const Tabs: React.FC<TabsProps>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file is one of the entry points for the library -- `@duffel/components/custom-elements`.
3
+ * If you'd like to expose other custom element functions, please add them here.
4
+ */
5
+ export { onDuffelAncillariesPayloadReady, renderDuffelAncillariesCustomElement, } from "./components/DuffelAncillaries/DuffelAncillariesCustomElement";
6
+ export { onDuffelPaymentsFailedPayment, onDuffelPaymentsSuccessfulPayment, renderDuffelPaymentsCustomElement, } from "./components/DuffelPayments/DuffelPaymentsCustomElement";