@skyscanner/backpack-web 25.2.0 → 25.4.0-alpha

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 (1270) hide show
  1. package/bpk-animate-height/README.md +53 -0
  2. package/bpk-animate-height/index.js +4 -10
  3. package/bpk-animate-height/src/AnimateHeight.js +93 -88
  4. package/bpk-component-accordion/README.md +121 -0
  5. package/bpk-component-accordion/index.js +30 -33
  6. package/bpk-component-accordion/src/BpkAccordion.js +43 -51
  7. package/{bpk-component-input/src/themeAttributes.js → bpk-component-accordion/src/BpkAccordion.module.scss} +10 -8
  8. package/bpk-component-accordion/src/BpkAccordionItem.js +123 -104
  9. package/bpk-component-accordion/src/BpkAccordionItem.module.scss +102 -0
  10. package/bpk-component-accordion/src/withAccordionItemState.js +77 -68
  11. package/bpk-component-accordion/src/withSingleItemAccordionState.js +77 -67
  12. package/bpk-component-aria-live/README.md +39 -0
  13. package/{bpk-component-banner-alert/src/themeAttributes.js → bpk-component-aria-live/index.ts} +9 -8
  14. package/bpk-component-aria-live/src/BpkAriaLive-test.tsx +59 -0
  15. package/bpk-component-aria-live/src/BpkAriaLive.module.scss +25 -0
  16. package/bpk-component-aria-live/src/BpkAriaLive.tsx +59 -0
  17. package/bpk-component-aria-live/src/accessibility-test.tsx +30 -0
  18. package/bpk-component-autosuggest/README.md +124 -0
  19. package/bpk-component-autosuggest/index.js +8 -17
  20. package/bpk-component-autosuggest/src/BpkAutosuggest.js +37 -40
  21. package/bpk-component-autosuggest/src/BpkAutosuggest.module.scss +156 -0
  22. package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +70 -64
  23. package/bpk-component-badge/README.md +36 -0
  24. package/bpk-component-badge/{src/themeAttributes.js → index.ts} +7 -8
  25. package/bpk-component-badge/src/BpkBadge-test.tsx +70 -0
  26. package/bpk-component-badge/src/BpkBadge.module.scss +67 -0
  27. package/bpk-component-badge/src/BpkBadge.tsx +79 -0
  28. package/bpk-component-badge/src/accessibility-test.tsx +30 -0
  29. package/bpk-component-badge/src/themeAttributes-test.tsx +29 -0
  30. package/bpk-component-badge/src/themeAttributes.tsx +23 -0
  31. package/bpk-component-banner-alert/README.md +151 -0
  32. package/bpk-component-banner-alert/index.ts +33 -0
  33. package/bpk-component-banner-alert/src/AnimateAndFade-test.tsx +65 -0
  34. package/bpk-component-banner-alert/src/AnimateAndFade.tsx +179 -0
  35. package/{bpk-storybook-utils/src/BpkStorybookUtils.js → bpk-component-banner-alert/src/BpkAnimateAndFade.module.scss} +34 -19
  36. package/bpk-component-banner-alert/src/BpkBannerAlert-test.tsx +56 -0
  37. package/bpk-component-banner-alert/src/BpkBannerAlert.module.scss +151 -0
  38. package/{bpk-component-tooltip/index.js → bpk-component-banner-alert/src/BpkBannerAlert.tsx} +28 -17
  39. package/bpk-component-banner-alert/src/BpkBannerAlertDismissable-test.tsx +38 -0
  40. package/bpk-component-banner-alert/src/BpkBannerAlertDismissable.tsx +35 -0
  41. package/bpk-component-banner-alert/src/BpkBannerAlertExpandable-test.tsx +60 -0
  42. package/bpk-component-banner-alert/src/BpkBannerAlertExpandable.tsx +47 -0
  43. package/bpk-component-banner-alert/src/BpkBannerAlertInner-test.tsx +196 -0
  44. package/bpk-component-banner-alert/src/BpkBannerAlertInner.tsx +227 -0
  45. package/bpk-component-banner-alert/src/accessibility-test.tsx +35 -0
  46. package/bpk-component-banner-alert/src/common-types.ts +46 -0
  47. package/bpk-component-banner-alert/src/themeAttributes-test.ts +30 -0
  48. package/bpk-component-banner-alert/src/themeAttributes.ts +24 -0
  49. package/bpk-component-banner-alert/src/withBannerAlertState-test.tsx +142 -0
  50. package/bpk-component-banner-alert/src/withBannerAlertState.tsx +156 -0
  51. package/bpk-component-barchart/README.md +186 -0
  52. package/bpk-component-barchart/data.json +20 -0
  53. package/bpk-component-barchart/index.js +21 -52
  54. package/bpk-component-barchart/src/BpkBarchart.js +304 -233
  55. package/{bpk-component-boilerplate/src/BpkBoilerplate.module.css → bpk-component-barchart/src/BpkBarchart.module.scss} +9 -6
  56. package/bpk-component-barchart/src/BpkBarchartBar.js +113 -86
  57. package/bpk-component-barchart/src/BpkBarchartBar.module.scss +70 -0
  58. package/bpk-component-barchart/src/BpkBarchartBars.js +128 -121
  59. package/bpk-component-barchart/src/BpkBarchartDefs.js +26 -40
  60. package/bpk-component-barchart/src/BpkChartAxis.js +132 -103
  61. package/{bpk-component-banner-alert/src/common-types.js → bpk-component-barchart/src/BpkChartAxis.module.scss} +19 -14
  62. package/bpk-component-barchart/src/BpkChartDataTable.js +52 -51
  63. package/bpk-component-barchart/src/BpkChartDataTable.module.scss +28 -0
  64. package/bpk-component-barchart/src/BpkChartGridLines.js +90 -70
  65. package/bpk-component-barchart/src/BpkChartGridLines.module.scss +26 -0
  66. package/bpk-component-barchart/src/BpkChartMargin.js +32 -38
  67. package/bpk-component-barchart/src/RTLtransforms.js +31 -37
  68. package/bpk-component-barchart/src/customPropTypes.js +24 -15
  69. package/bpk-component-barchart/src/orientation.js +6 -10
  70. package/bpk-component-barchart/src/themeAttributes.js +9 -8
  71. package/bpk-component-barchart/src/utils.js +14 -14
  72. package/bpk-component-blockquote/README.md +32 -0
  73. package/bpk-component-blockquote/index.js +6 -17
  74. package/bpk-component-blockquote/src/BpkBlockquote.js +23 -22
  75. package/bpk-component-blockquote/src/BpkBlockquote.module.scss +29 -0
  76. package/bpk-component-blockquote/src/themeAttributes.js +2 -8
  77. package/bpk-component-breadcrumb/README.md +56 -0
  78. package/bpk-component-breadcrumb/index.js +14 -17
  79. package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +87 -80
  80. package/bpk-component-breadcrumb/src/BpkBreadcrumb.module.scss +27 -0
  81. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +64 -66
  82. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.module.scss +40 -0
  83. package/bpk-component-breakpoint/README.md +31 -0
  84. package/bpk-component-breakpoint/index.ts +22 -0
  85. package/bpk-component-breakpoint/src/BpkBreakpoint-test.tsx +102 -0
  86. package/bpk-component-breakpoint/src/BpkBreakpoint.tsx +53 -0
  87. package/bpk-component-breakpoint/src/accessibility-test.tsx +36 -0
  88. package/bpk-component-button/BpkButtonDestructive.js +20 -12
  89. package/bpk-component-button/BpkButtonFeatured.js +20 -12
  90. package/bpk-component-button/BpkButtonLink.js +20 -12
  91. package/bpk-component-button/BpkButtonLinkOnDark.js +20 -12
  92. package/bpk-component-button/BpkButtonPrimary.js +20 -12
  93. package/bpk-component-button/BpkButtonPrimaryOnDark.js +20 -12
  94. package/bpk-component-button/BpkButtonPrimaryOnLight.js +20 -12
  95. package/bpk-component-button/BpkButtonSecondary.js +20 -12
  96. package/bpk-component-button/BpkButtonSecondaryOnDark.js +20 -12
  97. package/bpk-component-button/README.md +50 -0
  98. package/bpk-component-button/index.js +42 -143
  99. package/bpk-component-button/src/BpkButton.js +77 -54
  100. package/bpk-component-button/src/BpkButtonBase.js +62 -58
  101. package/bpk-component-button/src/BpkButtonBase.module.scss +50 -0
  102. package/bpk-component-button/src/BpkButtonDestructive.js +20 -35
  103. package/bpk-component-button/src/BpkButtonDestructive.module.scss +24 -0
  104. package/bpk-component-button/src/BpkButtonFeatured.js +20 -35
  105. package/bpk-component-button/src/BpkButtonFeatured.module.scss +23 -0
  106. package/bpk-component-button/src/BpkButtonLink.js +24 -37
  107. package/bpk-component-button/src/BpkButtonLink.module.scss +25 -0
  108. package/bpk-component-button/src/BpkButtonLinkOnDark.js +24 -37
  109. package/bpk-component-button/src/BpkButtonLinkOnDark.module.scss +23 -0
  110. package/bpk-component-button/src/BpkButtonPrimary.js +29 -35
  111. package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +20 -35
  112. package/bpk-component-button/src/BpkButtonPrimaryOnDark.module.scss +23 -0
  113. package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +20 -35
  114. package/bpk-component-button/src/BpkButtonPrimaryOnLight.module.scss +23 -0
  115. package/bpk-component-button/src/BpkButtonSecondary.js +20 -35
  116. package/bpk-component-button/src/BpkButtonSecondary.module.scss +23 -0
  117. package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +20 -35
  118. package/bpk-component-button/src/BpkButtonSecondaryOnDark.module.scss +23 -0
  119. package/bpk-component-button/src/BpkButtonV2/BpkButton-test.tsx +125 -0
  120. package/bpk-component-button/src/BpkButtonV2/BpkButton.module.scss +81 -0
  121. package/bpk-component-button/src/BpkButtonV2/BpkButton.tsx +80 -0
  122. package/bpk-component-button/src/BpkButtonV2/accessibility-test.tsx +36 -0
  123. package/bpk-component-button/src/BpkButtonV2/{common-types.js → common-types.tsx} +26 -13
  124. package/bpk-component-button/src/common-types.js +35 -22
  125. package/bpk-component-button/src/commonButtonTests.js +58 -83
  126. package/bpk-component-button/src/themeAttributes.js +74 -22
  127. package/bpk-component-button/themeAttributes.js +29 -53
  128. package/bpk-component-calendar/DOCS.md +23 -0
  129. package/bpk-component-calendar/README.md +382 -0
  130. package/bpk-component-calendar/index.d.ts +2 -1
  131. package/bpk-component-calendar/index.ts +74 -0
  132. package/bpk-component-calendar/src/BpkCalendar.module.scss +42 -0
  133. package/bpk-component-calendar/src/BpkCalendarContainer-test.tsx +389 -0
  134. package/bpk-component-calendar/src/BpkCalendarContainer.d.ts +6 -0
  135. package/bpk-component-calendar/src/BpkCalendarContainer.tsx +399 -0
  136. package/bpk-component-calendar/src/BpkCalendarDate-test.tsx +82 -0
  137. package/bpk-component-calendar/src/BpkCalendarDate.module.scss +122 -0
  138. package/bpk-component-calendar/src/BpkCalendarDate.tsx +208 -0
  139. package/bpk-component-calendar/src/BpkCalendarGrid-test.tsx +134 -0
  140. package/bpk-component-calendar/src/BpkCalendarGrid.module.scss +65 -0
  141. package/bpk-component-calendar/src/BpkCalendarGrid.tsx +193 -0
  142. package/bpk-component-calendar/src/BpkCalendarGridHeader.module.scss +50 -0
  143. package/bpk-component-calendar/src/BpkCalendarGridHeader.tsx +99 -0
  144. package/bpk-component-calendar/src/BpkCalendarGridTransition-test.tsx +115 -0
  145. package/{bpk-scrim-utils/index.js → bpk-component-calendar/src/BpkCalendarGridTransition.module.scss} +30 -18
  146. package/bpk-component-calendar/src/BpkCalendarGridTransition.tsx +240 -0
  147. package/bpk-component-calendar/src/BpkCalendarNav-test.tsx +116 -0
  148. package/bpk-component-calendar/src/BpkCalendarNav.module.scss +89 -0
  149. package/bpk-component-calendar/src/BpkCalendarNav.tsx +190 -0
  150. package/bpk-component-calendar/src/Week-test.tsx +220 -0
  151. package/bpk-component-calendar/src/Week.tsx +472 -0
  152. package/bpk-component-calendar/src/_variables.scss +22 -0
  153. package/bpk-component-calendar/src/accessibility-test.tsx +74 -0
  154. package/bpk-component-calendar/src/composeCalendar-test.tsx +163 -0
  155. package/bpk-component-calendar/src/composeCalendar.tsx +187 -0
  156. package/bpk-component-calendar/src/custom-proptypes-legacy.js +81 -72
  157. package/bpk-component-calendar/src/custom-proptypes.ts +52 -0
  158. package/bpk-component-calendar/src/date-utils.ts +229 -0
  159. package/bpk-component-calendar/src/themeAttributes-test.ts +36 -0
  160. package/{bpk-component-boilerplate/index.js → bpk-component-calendar/src/themeAttributes.ts} +13 -10
  161. package/bpk-component-calendar/src/{utils.js → utils.ts} +24 -19
  162. package/bpk-component-calendar/test-utils.ts +303 -0
  163. package/bpk-component-card/README.md +103 -0
  164. package/bpk-component-card/index.ts +25 -0
  165. package/bpk-component-card/src/BpkCard-test.tsx +100 -0
  166. package/bpk-component-card/src/BpkCard.module.scss +38 -0
  167. package/bpk-component-card/src/BpkCard.tsx +98 -0
  168. package/bpk-component-card/src/BpkCardWrapper-test.tsx +64 -0
  169. package/bpk-component-card/src/BpkCardWrapper.module.css +1 -1
  170. package/bpk-component-card/src/BpkCardWrapper.module.scss +69 -0
  171. package/bpk-component-card/src/BpkCardWrapper.tsx +56 -0
  172. package/bpk-component-card/src/BpkDividedCard-test.tsx +96 -0
  173. package/bpk-component-card/src/BpkDividedCard.module.scss +71 -0
  174. package/bpk-component-card/src/BpkDividedCard.tsx +83 -0
  175. package/bpk-component-checkbox/README.md +44 -0
  176. package/bpk-component-checkbox/index.js +8 -17
  177. package/bpk-component-checkbox/src/BpkCheckbox.js +100 -74
  178. package/bpk-component-checkbox/src/BpkCheckbox.module.scss +78 -0
  179. package/bpk-component-checkbox/src/themeAttributes.js +4 -8
  180. package/bpk-component-chip/README.md +135 -0
  181. package/bpk-component-chip/index.ts +33 -0
  182. package/bpk-component-chip/src/BpkDismissibleChip-test.tsx +84 -0
  183. package/bpk-component-chip/src/BpkDismissibleChip.tsx +61 -0
  184. package/bpk-component-chip/src/BpkDropdownChip-test.tsx +76 -0
  185. package/bpk-component-chip/src/BpkDropdownChip.tsx +48 -0
  186. package/bpk-component-chip/src/BpkSelectableChip-test.tsx +100 -0
  187. package/bpk-component-chip/src/BpkSelectableChip.module.scss +23 -0
  188. package/bpk-component-chip/src/BpkSelectableChip.tsx +81 -0
  189. package/bpk-component-chip/src/accessibility-test.tsx +47 -0
  190. package/bpk-component-chip/src/commonTypes.ts +61 -0
  191. package/bpk-component-chip/src/themeAttributes-test.ts +34 -0
  192. package/bpk-component-chip/src/themeAttributes.ts +28 -0
  193. package/bpk-component-close-button/README.md +24 -0
  194. package/bpk-component-close-button/index.js +6 -10
  195. package/bpk-component-close-button/src/BpkCloseButton.js +44 -49
  196. package/bpk-component-close-button/src/BpkCloseButton.module.scss +52 -0
  197. package/bpk-component-code/README.md +40 -0
  198. package/bpk-component-code/index.js +22 -19
  199. package/bpk-component-code/src/BpkCode.js +32 -39
  200. package/bpk-component-code/src/BpkCode.module.scss +27 -0
  201. package/bpk-component-code/src/BpkCodeBlock.js +36 -43
  202. package/bpk-component-code/src/BpkCodeBlock.module.scss +33 -0
  203. package/bpk-component-content-cards/README.md +37 -0
  204. package/bpk-component-content-cards/index.js +4 -10
  205. package/bpk-component-content-cards/src/BpkContentCard.js +60 -43
  206. package/bpk-component-content-cards/src/BpkContentCard.module.scss +87 -0
  207. package/bpk-component-content-cards/src/BpkContentCards.js +44 -37
  208. package/bpk-component-content-cards/src/BpkContentCards.module.scss +51 -0
  209. package/bpk-component-datatable/README.md +196 -0
  210. package/bpk-component-datatable/index.js +20 -19
  211. package/bpk-component-datatable/src/BpkDataTable.js +188 -145
  212. package/bpk-component-datatable/src/BpkDataTable.module.scss +90 -0
  213. package/bpk-component-datatable/src/BpkDataTableColumn.js +44 -48
  214. package/bpk-component-datatable/src/BpkDataTableHeader.js +108 -79
  215. package/bpk-component-datatable/src/BpkDataTableHeader.module.scss +65 -0
  216. package/bpk-component-datatable/src/common-types.js +72 -1
  217. package/bpk-component-datatable/src/hasChildrenOfType.js +41 -25
  218. package/bpk-component-datatable/src/sort-types.js +16 -10
  219. package/bpk-component-datatable/src/utils.js +65 -93
  220. package/bpk-component-datepicker/README.md +179 -0
  221. package/bpk-component-datepicker/index.d.ts +23 -0
  222. package/bpk-component-datepicker/index.ts +25 -0
  223. package/bpk-component-datepicker/src/BpkDatepicker-test.tsx +390 -0
  224. package/bpk-component-datepicker/src/BpkDatepicker.d.ts +533 -0
  225. package/bpk-component-datepicker/src/BpkDatepicker.module.scss +30 -0
  226. package/bpk-component-datepicker/src/BpkDatepicker.tsx +390 -0
  227. package/bpk-component-datepicker/src/accessibility-test.tsx +105 -0
  228. package/bpk-component-datepicker/src/themeAttibutes-test.ts +40 -0
  229. package/bpk-component-datepicker/src/themeAttributes.ts +30 -0
  230. package/bpk-component-description-list/README.md +43 -0
  231. package/bpk-component-description-list/index.js +22 -26
  232. package/bpk-component-description-list/src/BpkDescriptionDetails.js +4 -10
  233. package/bpk-component-description-list/src/BpkDescriptionList.js +4 -10
  234. package/{bpk-component-dialog/src/common-types.js → bpk-component-description-list/src/BpkDescriptionList.module.scss} +19 -12
  235. package/bpk-component-description-list/src/BpkDescriptionTerm.js +4 -10
  236. package/bpk-component-description-list/src/ComponentFactory.js +25 -36
  237. package/bpk-component-dialog/README.md +103 -0
  238. package/bpk-component-dialog/index.ts +25 -0
  239. package/bpk-component-dialog/src/BpkDialog-test.tsx +184 -0
  240. package/bpk-component-dialog/src/BpkDialog.module.scss +80 -0
  241. package/bpk-component-dialog/src/BpkDialog.tsx +78 -0
  242. package/bpk-component-dialog/src/BpkDialogInner.d.ts +86 -107
  243. package/bpk-component-dialog/src/BpkDialogInner.module.scss +64 -0
  244. package/bpk-component-dialog/src/BpkDialogInner.tsx +72 -0
  245. package/bpk-component-dialog/src/accessibility-test.tsx +45 -0
  246. package/bpk-component-dialog/src/common-types.d.ts +2 -1
  247. package/bpk-component-dialog/src/common-types.ts +48 -0
  248. package/bpk-component-drawer/README.md +88 -0
  249. package/bpk-component-drawer/index.js +8 -17
  250. package/bpk-component-drawer/src/BpkDrawer.js +84 -83
  251. package/bpk-component-drawer/src/BpkDrawer.module.scss +23 -0
  252. package/bpk-component-drawer/src/BpkDrawerContent.js +125 -104
  253. package/bpk-component-drawer/src/BpkDrawerContent.module.scss +107 -0
  254. package/bpk-component-drawer/src/themeAttributes.js +6 -9
  255. package/bpk-component-fieldset/README.md +71 -0
  256. package/bpk-component-fieldset/index.js +13 -31
  257. package/bpk-component-fieldset/src/BpkFieldset.js +128 -96
  258. package/bpk-component-fieldset/src/BpkFieldset.module.scss +39 -0
  259. package/bpk-component-fieldset/src/themeAttributes.js +2 -8
  260. package/bpk-component-flare/README.md +49 -0
  261. package/bpk-component-flare/index.js +8 -23
  262. package/bpk-component-flare/src/BpkContentBubble.js +61 -58
  263. package/bpk-component-flare/src/BpkFlareBar.js +42 -48
  264. package/bpk-component-flare/src/__generated__/js/corner-radius.d.ts +6 -0
  265. package/bpk-component-flare/src/__generated__/js/corner-radius.d.ts.map +1 -0
  266. package/bpk-component-flare/src/__generated__/js/corner-radius.js +5 -31
  267. package/bpk-component-flare/src/__generated__/js/corner-radius.tsx +5 -0
  268. package/bpk-component-flare/src/__generated__/js/pointer.d.ts +6 -0
  269. package/bpk-component-flare/src/__generated__/js/pointer.d.ts.map +1 -0
  270. package/bpk-component-flare/src/__generated__/js/pointer.js +5 -31
  271. package/bpk-component-flare/src/__generated__/js/pointer.tsx +5 -0
  272. package/bpk-component-flare/src/bpk-content-bubble.module.scss +61 -0
  273. package/bpk-component-flare/src/bpk-flare-bar.module.scss +75 -0
  274. package/bpk-component-flare/src/svgs/corner-radius.svg +1 -0
  275. package/bpk-component-flare/src/svgs/pointer.svg +1 -0
  276. package/bpk-component-floating-notification/README.md +47 -0
  277. package/bpk-component-floating-notification/index.js +8 -10
  278. package/bpk-component-floating-notification/src/BpkFloatingNotification.js +101 -91
  279. package/bpk-component-floating-notification/src/BpkFloatingNotification.module.scss +85 -0
  280. package/bpk-component-form-validation/README.md +30 -0
  281. package/bpk-component-form-validation/index.js +6 -17
  282. package/bpk-component-form-validation/src/BpkFormValidation.js +59 -60
  283. package/bpk-component-form-validation/src/BpkFormValidation.module.scss +44 -0
  284. package/bpk-component-form-validation/src/themeAttributes.js +2 -8
  285. package/bpk-component-graphic-promotion/README.md +67 -0
  286. package/{bpk-component-boilerplate/index.d.ts → bpk-component-graphic-promotion/index.ts} +7 -5
  287. package/bpk-component-graphic-promotion/src/BpkGraphicPromo-test.tsx +132 -0
  288. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.scss +270 -0
  289. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.tsx +201 -0
  290. package/bpk-component-graphic-promotion/src/accessibility-test.tsx +146 -0
  291. package/bpk-component-grid-toggle/README.md +24 -0
  292. package/bpk-component-grid-toggle/index.js +4 -10
  293. package/bpk-component-grid-toggle/src/BpkGridToggle.js +75 -65
  294. package/{bpk-component-rtl-toggle/index.js → bpk-component-grid-toggle/src/BpkGridToggle.module.scss} +35 -17
  295. package/bpk-component-horizontal-nav/README.md +101 -0
  296. package/bpk-component-horizontal-nav/index.js +15 -30
  297. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +170 -132
  298. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.module.scss +37 -0
  299. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +121 -99
  300. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.module.scss +152 -0
  301. package/bpk-component-icon/README.md +74 -0
  302. package/bpk-component-icon/{all.js → all.tsx} +10 -14
  303. package/bpk-component-icon/index.tsx +46 -0
  304. package/bpk-component-icon/lg/accessibility.js +8 -37
  305. package/bpk-component-icon/lg/account--add.js +8 -37
  306. package/bpk-component-icon/lg/account--female.js +8 -37
  307. package/bpk-component-icon/lg/account--id-card.js +8 -37
  308. package/bpk-component-icon/lg/account--name.js +8 -37
  309. package/bpk-component-icon/lg/account--permit.js +8 -37
  310. package/bpk-component-icon/lg/account-circle.js +8 -37
  311. package/bpk-component-icon/lg/account.js +8 -37
  312. package/bpk-component-icon/lg/add-circle.js +8 -37
  313. package/bpk-component-icon/lg/adult.js +8 -37
  314. package/bpk-component-icon/lg/aircon.js +8 -37
  315. package/bpk-component-icon/lg/aircraft.js +8 -39
  316. package/bpk-component-icon/lg/airline--multiple.js +8 -37
  317. package/bpk-component-icon/lg/airline.js +8 -37
  318. package/bpk-component-icon/lg/airports.js +8 -37
  319. package/bpk-component-icon/lg/alert--active.js +8 -37
  320. package/bpk-component-icon/lg/alert--add.js +8 -37
  321. package/bpk-component-icon/lg/alert--expired.js +8 -37
  322. package/bpk-component-icon/lg/alert--remove.js +8 -37
  323. package/bpk-component-icon/lg/arrow-down.js +8 -37
  324. package/bpk-component-icon/lg/arrow-left.js +8 -37
  325. package/bpk-component-icon/lg/arrow-right.js +8 -37
  326. package/bpk-component-icon/lg/arrow-up.js +8 -37
  327. package/bpk-component-icon/lg/award.js +8 -37
  328. package/bpk-component-icon/lg/baby-carriage.js +8 -37
  329. package/bpk-component-icon/lg/baggage--add.js +8 -37
  330. package/bpk-component-icon/lg/baggage--remove.js +8 -37
  331. package/bpk-component-icon/lg/baggage-cabin-add.js +8 -37
  332. package/bpk-component-icon/lg/baggage-cabin-not-included.js +8 -37
  333. package/bpk-component-icon/lg/baggage-cabin.js +8 -37
  334. package/bpk-component-icon/lg/baggage-checked-add.js +8 -37
  335. package/bpk-component-icon/lg/baggage-checked-not-included.js +8 -37
  336. package/bpk-component-icon/lg/baggage-checked.js +8 -37
  337. package/bpk-component-icon/lg/baggage-cross.js +8 -37
  338. package/bpk-component-icon/lg/baggage-generic.js +8 -37
  339. package/bpk-component-icon/lg/baggage-tick.js +8 -37
  340. package/bpk-component-icon/lg/baggage.js +8 -37
  341. package/bpk-component-icon/lg/bar.js +8 -37
  342. package/bpk-component-icon/lg/beach.js +8 -39
  343. package/bpk-component-icon/lg/beer.js +8 -37
  344. package/bpk-component-icon/lg/breakfast-cross.js +8 -37
  345. package/bpk-component-icon/lg/breakfast-tick.js +8 -37
  346. package/bpk-component-icon/lg/bus.js +8 -37
  347. package/bpk-component-icon/lg/business.js +8 -37
  348. package/bpk-component-icon/lg/cafe.js +8 -37
  349. package/bpk-component-icon/lg/calendar.js +8 -37
  350. package/bpk-component-icon/lg/call-back.js +8 -39
  351. package/bpk-component-icon/lg/camera.js +8 -37
  352. package/bpk-component-icon/lg/camper-van.js +8 -39
  353. package/bpk-component-icon/lg/car-door.js +8 -37
  354. package/bpk-component-icon/lg/car-wash.js +8 -39
  355. package/bpk-component-icon/lg/cars-flexible.js +8 -37
  356. package/bpk-component-icon/lg/cars.js +8 -39
  357. package/bpk-component-icon/lg/center-location.js +8 -37
  358. package/bpk-component-icon/lg/chart.js +8 -37
  359. package/bpk-component-icon/lg/chauffeur.js +8 -37
  360. package/bpk-component-icon/lg/chevron-down.js +8 -37
  361. package/bpk-component-icon/lg/chevron-left.js +8 -37
  362. package/bpk-component-icon/lg/chevron-right.js +8 -37
  363. package/bpk-component-icon/lg/chevron-up.js +8 -37
  364. package/bpk-component-icon/lg/child-seat.js +8 -37
  365. package/bpk-component-icon/lg/child.js +8 -37
  366. package/bpk-component-icon/lg/city-center.js +8 -37
  367. package/bpk-component-icon/lg/city.js +8 -37
  368. package/bpk-component-icon/lg/clean-policy.js +8 -37
  369. package/bpk-component-icon/lg/clean.js +8 -41
  370. package/bpk-component-icon/lg/cleaning-medical.js +8 -37
  371. package/bpk-component-icon/lg/cloakroom.js +8 -41
  372. package/bpk-component-icon/lg/close-circle.js +8 -37
  373. package/bpk-component-icon/lg/close.js +8 -37
  374. package/bpk-component-icon/lg/collapse.js +8 -37
  375. package/bpk-component-icon/lg/content--copy.js +8 -39
  376. package/bpk-component-icon/lg/content--event.js +8 -37
  377. package/bpk-component-icon/lg/content--guides.js +8 -37
  378. package/bpk-component-icon/lg/currency.js +8 -37
  379. package/bpk-component-icon/lg/data.js +8 -39
  380. package/bpk-component-icon/lg/deals.js +8 -37
  381. package/bpk-component-icon/lg/depart.js +8 -39
  382. package/bpk-component-icon/lg/device-mid.js +8 -37
  383. package/bpk-component-icon/lg/device-wide.js +8 -37
  384. package/bpk-component-icon/lg/direct.js +8 -37
  385. package/bpk-component-icon/lg/document-csv.js +8 -37
  386. package/bpk-component-icon/lg/document-pdf.js +8 -37
  387. package/bpk-component-icon/lg/download.js +8 -39
  388. package/bpk-component-icon/lg/duration.js +8 -37
  389. package/bpk-component-icon/lg/eco-leaf.js +8 -37
  390. package/bpk-component-icon/lg/edit.js +8 -37
  391. package/bpk-component-icon/lg/education.js +8 -39
  392. package/bpk-component-icon/lg/electric.js +8 -37
  393. package/bpk-component-icon/lg/end-call.js +8 -37
  394. package/bpk-component-icon/lg/estimated.js +8 -37
  395. package/bpk-component-icon/lg/exclamation-circle.js +8 -37
  396. package/bpk-component-icon/lg/exclamation.js +8 -37
  397. package/bpk-component-icon/lg/expand.js +8 -37
  398. package/bpk-component-icon/lg/explore.js +8 -37
  399. package/bpk-component-icon/lg/face--blank.js +8 -37
  400. package/bpk-component-icon/lg/face--happy.js +8 -37
  401. package/bpk-component-icon/lg/face--sad.js +8 -37
  402. package/bpk-component-icon/lg/face-id.js +8 -37
  403. package/bpk-component-icon/lg/face-mask.js +8 -37
  404. package/bpk-component-icon/lg/family.js +8 -37
  405. package/bpk-component-icon/lg/fast-track.js +8 -39
  406. package/bpk-component-icon/lg/fast-train.js +8 -39
  407. package/bpk-component-icon/lg/filter.js +8 -38
  408. package/bpk-component-icon/lg/fingerprint.js +8 -37
  409. package/bpk-component-icon/lg/flag.js +8 -37
  410. package/bpk-component-icon/lg/flask.js +8 -37
  411. package/bpk-component-icon/lg/flight-flexible.js +8 -37
  412. package/bpk-component-icon/lg/flight-landing.js +8 -41
  413. package/bpk-component-icon/lg/flight-takeoff.js +8 -39
  414. package/bpk-component-icon/lg/flight.js +8 -39
  415. package/bpk-component-icon/lg/food.js +8 -37
  416. package/bpk-component-icon/lg/gears-automatic-circle.js +8 -37
  417. package/bpk-component-icon/lg/gears-automatic.js +8 -37
  418. package/bpk-component-icon/lg/gears-manual-circle.js +8 -37
  419. package/bpk-component-icon/lg/gears-manual.js +8 -37
  420. package/bpk-component-icon/lg/globe.js +8 -37
  421. package/bpk-component-icon/lg/grid-layout.js +8 -37
  422. package/bpk-component-icon/lg/headset.js +8 -37
  423. package/bpk-component-icon/lg/health-fitness.js +8 -37
  424. package/bpk-component-icon/lg/heart--outline.js +8 -37
  425. package/bpk-component-icon/lg/heart.js +8 -37
  426. package/bpk-component-icon/lg/help-circle.js +8 -37
  427. package/bpk-component-icon/lg/help.js +8 -37
  428. package/bpk-component-icon/lg/hide.js +8 -37
  429. package/bpk-component-icon/lg/hotel-flexible.js +8 -37
  430. package/bpk-component-icon/lg/hotels--disabled-facilities.js +8 -37
  431. package/bpk-component-icon/lg/hotels--jacuzzi.js +8 -37
  432. package/bpk-component-icon/lg/hotels--pets-allowed.js +8 -37
  433. package/bpk-component-icon/lg/hotels--smoking.js +8 -37
  434. package/bpk-component-icon/lg/hotels.js +8 -37
  435. package/bpk-component-icon/lg/infant.js +8 -37
  436. package/bpk-component-icon/lg/information--language-alert.js +8 -37
  437. package/bpk-component-icon/lg/information--language-question.js +8 -37
  438. package/bpk-component-icon/lg/information--language.js +8 -37
  439. package/bpk-component-icon/lg/information-circle.js +8 -37
  440. package/bpk-component-icon/lg/information.js +8 -37
  441. package/bpk-component-icon/lg/insurance.js +8 -37
  442. package/bpk-component-icon/lg/key.js +8 -37
  443. package/bpk-component-icon/lg/keypad.js +8 -37
  444. package/bpk-component-icon/lg/landmark.js +8 -37
  445. package/bpk-component-icon/lg/language.js +8 -37
  446. package/bpk-component-icon/lg/legroom--extra.js +8 -39
  447. package/bpk-component-icon/lg/legroom--normal.js +8 -39
  448. package/bpk-component-icon/lg/legroom--reduced.js +8 -39
  449. package/bpk-component-icon/lg/leisure.js +8 -37
  450. package/bpk-component-icon/lg/lightning.js +8 -37
  451. package/bpk-component-icon/lg/list.js +8 -37
  452. package/bpk-component-icon/lg/location.js +8 -37
  453. package/bpk-component-icon/lg/lock.js +8 -37
  454. package/bpk-component-icon/lg/logout.js +8 -39
  455. package/bpk-component-icon/lg/long-arrow-down.js +8 -37
  456. package/bpk-component-icon/lg/long-arrow-left.js +8 -37
  457. package/bpk-component-icon/lg/long-arrow-right.js +8 -37
  458. package/bpk-component-icon/lg/long-arrow-up.js +8 -37
  459. package/bpk-component-icon/lg/lounge.js +8 -39
  460. package/bpk-component-icon/lg/luggageall.js +8 -37
  461. package/bpk-component-icon/lg/mail.js +8 -39
  462. package/bpk-component-icon/lg/map.js +8 -37
  463. package/bpk-component-icon/lg/meal.js +8 -37
  464. package/bpk-component-icon/lg/media.js +8 -37
  465. package/bpk-component-icon/lg/menu--horizontal.js +8 -37
  466. package/bpk-component-icon/lg/menu--vertical.js +8 -37
  467. package/bpk-component-icon/lg/menu.js +8 -37
  468. package/bpk-component-icon/lg/mileage.js +8 -39
  469. package/bpk-component-icon/lg/minus.js +8 -37
  470. package/bpk-component-icon/lg/mobile.js +8 -37
  471. package/bpk-component-icon/lg/money.js +8 -37
  472. package/bpk-component-icon/lg/multiple-bookings.js +8 -37
  473. package/bpk-component-icon/lg/music.js +8 -37
  474. package/bpk-component-icon/lg/mute.js +8 -37
  475. package/bpk-component-icon/lg/native-android--back.js +8 -37
  476. package/bpk-component-icon/lg/native-android--close.js +8 -37
  477. package/bpk-component-icon/lg/native-android--forward.js +8 -37
  478. package/bpk-component-icon/lg/native-ios-close.js +8 -37
  479. package/bpk-component-icon/lg/navigation.js +8 -37
  480. package/bpk-component-icon/lg/new-window.js +8 -39
  481. package/bpk-component-icon/lg/news.js +8 -37
  482. package/bpk-component-icon/lg/night.js +8 -37
  483. package/bpk-component-icon/lg/not-allowed.js +8 -37
  484. package/bpk-component-icon/lg/onsen.js +8 -37
  485. package/bpk-component-icon/lg/origin.js +8 -37
  486. package/bpk-component-icon/lg/paid.js +8 -37
  487. package/bpk-component-icon/lg/paperclip.js +8 -37
  488. package/bpk-component-icon/lg/parking.js +8 -37
  489. package/bpk-component-icon/lg/passport.js +8 -37
  490. package/bpk-component-icon/lg/pause.js +8 -37
  491. package/bpk-component-icon/lg/payment-card.js +8 -37
  492. package/bpk-component-icon/lg/petrol.js +8 -37
  493. package/bpk-component-icon/lg/phone-call.js +8 -37
  494. package/bpk-component-icon/lg/picture.js +8 -37
  495. package/bpk-component-icon/lg/pin.js +8 -37
  496. package/bpk-component-icon/lg/plane-seat.js +8 -39
  497. package/bpk-component-icon/lg/play.js +8 -37
  498. package/bpk-component-icon/lg/plus.js +8 -37
  499. package/bpk-component-icon/lg/policy.js +8 -37
  500. package/bpk-component-icon/lg/powerplug.js +8 -37
  501. package/bpk-component-icon/lg/ppe.js +8 -37
  502. package/bpk-component-icon/lg/price-alerts.js +8 -37
  503. package/bpk-component-icon/lg/price-tag.js +8 -37
  504. package/bpk-component-icon/lg/print.js +8 -37
  505. package/bpk-component-icon/lg/recent-searches.js +8 -37
  506. package/bpk-component-icon/lg/redo.js +8 -37
  507. package/bpk-component-icon/lg/refresh.js +8 -37
  508. package/bpk-component-icon/lg/return.js +8 -39
  509. package/bpk-component-icon/lg/room.js +8 -37
  510. package/bpk-component-icon/lg/scales.js +8 -39
  511. package/bpk-component-icon/lg/search.js +8 -37
  512. package/bpk-component-icon/lg/self-service.js +8 -37
  513. package/bpk-component-icon/lg/send-message.js +8 -37
  514. package/bpk-component-icon/lg/services.js +8 -37
  515. package/bpk-component-icon/lg/settings.js +8 -37
  516. package/bpk-component-icon/lg/share--android.js +8 -37
  517. package/bpk-component-icon/lg/share--ios.js +8 -39
  518. package/bpk-component-icon/lg/share.js +8 -37
  519. package/bpk-component-icon/lg/single-booking.js +8 -37
  520. package/bpk-component-icon/lg/social-distancing.js +8 -39
  521. package/bpk-component-icon/lg/social-like.js +8 -37
  522. package/bpk-component-icon/lg/sort-down.js +8 -37
  523. package/bpk-component-icon/lg/sort-up.js +8 -37
  524. package/bpk-component-icon/lg/sort.js +8 -37
  525. package/bpk-component-icon/lg/speaker.js +8 -39
  526. package/bpk-component-icon/lg/star-half.js +8 -37
  527. package/bpk-component-icon/lg/star-outline.js +8 -37
  528. package/bpk-component-icon/lg/star.js +8 -37
  529. package/bpk-component-icon/lg/stops.js +8 -37
  530. package/bpk-component-icon/lg/swap--horizontal.js +8 -37
  531. package/bpk-component-icon/lg/swap--vertical.js +8 -37
  532. package/bpk-component-icon/lg/swap.js +8 -37
  533. package/bpk-component-icon/lg/taxi.js +8 -39
  534. package/bpk-component-icon/lg/thumbs-down.js +8 -37
  535. package/bpk-component-icon/lg/thumbs-up.js +8 -37
  536. package/bpk-component-icon/lg/tick-circle.js +8 -37
  537. package/bpk-component-icon/lg/tick.js +8 -37
  538. package/bpk-component-icon/lg/ticket-flexible.js +8 -37
  539. package/bpk-component-icon/lg/ticket.js +8 -37
  540. package/bpk-component-icon/lg/time.js +8 -37
  541. package/bpk-component-icon/lg/toilets.js +8 -37
  542. package/bpk-component-icon/lg/train.js +8 -37
  543. package/bpk-component-icon/lg/transmission-automatic.js +8 -37
  544. package/bpk-component-icon/lg/transmission-manual.js +8 -37
  545. package/bpk-component-icon/lg/trash.js +8 -37
  546. package/bpk-component-icon/lg/trend--down.js +8 -37
  547. package/bpk-component-icon/lg/trend--steady.js +8 -37
  548. package/bpk-component-icon/lg/trend--will-rise.js +8 -37
  549. package/bpk-component-icon/lg/trend.js +8 -37
  550. package/bpk-component-icon/lg/trips.js +8 -37
  551. package/bpk-component-icon/lg/undo.js +8 -37
  552. package/bpk-component-icon/lg/unlock.js +8 -37
  553. package/bpk-component-icon/lg/unmute.js +8 -39
  554. package/bpk-component-icon/lg/upgrade.js +8 -37
  555. package/bpk-component-icon/lg/upload.js +8 -38
  556. package/bpk-component-icon/lg/use-location.js +8 -37
  557. package/bpk-component-icon/lg/view.js +8 -37
  558. package/bpk-component-icon/lg/virus.js +8 -37
  559. package/bpk-component-icon/lg/wallet.js +8 -39
  560. package/bpk-component-icon/lg/weather--clear.js +8 -37
  561. package/bpk-component-icon/lg/weather--cloudy.js +8 -39
  562. package/bpk-component-icon/lg/weather--fog.js +8 -37
  563. package/bpk-component-icon/lg/weather--partly-cloudy.js +8 -39
  564. package/bpk-component-icon/lg/weather--rain.js +8 -41
  565. package/bpk-component-icon/lg/weather--snow.js +8 -37
  566. package/bpk-component-icon/lg/weather--thunderstorm.js +8 -41
  567. package/bpk-component-icon/lg/weather--tornado.js +8 -37
  568. package/bpk-component-icon/lg/weather--wind.js +8 -37
  569. package/bpk-component-icon/lg/weather.js +8 -37
  570. package/bpk-component-icon/lg/wifi.js +8 -37
  571. package/bpk-component-icon/lg/window--reduce.js +8 -39
  572. package/bpk-component-icon/lg/window.js +8 -37
  573. package/bpk-component-icon/lg/world--amer.js +8 -37
  574. package/bpk-component-icon/lg/world--apac.js +8 -37
  575. package/bpk-component-icon/lg/world--emea.js +8 -39
  576. package/bpk-component-icon/sm/accessibility.js +8 -38
  577. package/bpk-component-icon/sm/account--add.js +8 -38
  578. package/bpk-component-icon/sm/account--female.js +8 -38
  579. package/bpk-component-icon/sm/account--id-card.js +8 -38
  580. package/bpk-component-icon/sm/account--name.js +8 -38
  581. package/bpk-component-icon/sm/account--permit.js +8 -38
  582. package/bpk-component-icon/sm/account-circle.js +8 -38
  583. package/bpk-component-icon/sm/account.js +8 -38
  584. package/bpk-component-icon/sm/add-circle.js +8 -38
  585. package/bpk-component-icon/sm/adult.js +8 -38
  586. package/bpk-component-icon/sm/aircon.js +8 -38
  587. package/bpk-component-icon/sm/aircraft.js +8 -40
  588. package/bpk-component-icon/sm/airline--multiple.js +8 -38
  589. package/bpk-component-icon/sm/airline.js +8 -38
  590. package/bpk-component-icon/sm/airports.js +8 -38
  591. package/bpk-component-icon/sm/alert--active.js +8 -38
  592. package/bpk-component-icon/sm/alert--add.js +8 -38
  593. package/bpk-component-icon/sm/alert--expired.js +8 -38
  594. package/bpk-component-icon/sm/alert--remove.js +8 -38
  595. package/bpk-component-icon/sm/arrow-down.js +8 -38
  596. package/bpk-component-icon/sm/arrow-left.js +8 -38
  597. package/bpk-component-icon/sm/arrow-right.js +8 -38
  598. package/bpk-component-icon/sm/arrow-up.js +8 -38
  599. package/bpk-component-icon/sm/award.js +8 -38
  600. package/bpk-component-icon/sm/baby-carriage.js +8 -38
  601. package/bpk-component-icon/sm/baggage--add.js +8 -38
  602. package/bpk-component-icon/sm/baggage--remove.js +8 -38
  603. package/bpk-component-icon/sm/baggage-cabin-add.js +8 -38
  604. package/bpk-component-icon/sm/baggage-cabin-not-included.js +8 -41
  605. package/bpk-component-icon/sm/baggage-cabin.js +8 -38
  606. package/bpk-component-icon/sm/baggage-checked-add.js +8 -38
  607. package/bpk-component-icon/sm/baggage-checked-not-included.js +8 -41
  608. package/bpk-component-icon/sm/baggage-checked.js +8 -38
  609. package/bpk-component-icon/sm/baggage-cross.js +8 -38
  610. package/bpk-component-icon/sm/baggage-generic.js +8 -41
  611. package/bpk-component-icon/sm/baggage-tick.js +8 -38
  612. package/bpk-component-icon/sm/baggage.js +8 -38
  613. package/bpk-component-icon/sm/bar.js +8 -38
  614. package/bpk-component-icon/sm/beach.js +8 -40
  615. package/bpk-component-icon/sm/beer.js +8 -38
  616. package/bpk-component-icon/sm/breakfast-cross.js +8 -38
  617. package/bpk-component-icon/sm/breakfast-tick.js +8 -38
  618. package/bpk-component-icon/sm/bus.js +8 -40
  619. package/bpk-component-icon/sm/business.js +8 -38
  620. package/bpk-component-icon/sm/cafe.js +8 -38
  621. package/bpk-component-icon/sm/calendar.js +8 -38
  622. package/bpk-component-icon/sm/call-back.js +8 -40
  623. package/bpk-component-icon/sm/camera.js +8 -38
  624. package/bpk-component-icon/sm/camper-van.js +8 -40
  625. package/bpk-component-icon/sm/car-door.js +8 -38
  626. package/bpk-component-icon/sm/car-wash.js +8 -40
  627. package/bpk-component-icon/sm/cars-flexible.js +8 -38
  628. package/bpk-component-icon/sm/cars.js +8 -40
  629. package/bpk-component-icon/sm/center-location.js +8 -38
  630. package/bpk-component-icon/sm/chart.js +8 -38
  631. package/bpk-component-icon/sm/chauffeur.js +8 -40
  632. package/bpk-component-icon/sm/chevron-down.js +8 -38
  633. package/bpk-component-icon/sm/chevron-left.js +8 -38
  634. package/bpk-component-icon/sm/chevron-right.js +8 -38
  635. package/bpk-component-icon/sm/chevron-up.js +8 -38
  636. package/bpk-component-icon/sm/child-seat.js +8 -38
  637. package/bpk-component-icon/sm/child.js +8 -38
  638. package/bpk-component-icon/sm/city-center.js +8 -38
  639. package/bpk-component-icon/sm/city.js +8 -38
  640. package/bpk-component-icon/sm/clean-policy.js +8 -38
  641. package/bpk-component-icon/sm/clean.js +8 -40
  642. package/bpk-component-icon/sm/cleaning-medical.js +8 -38
  643. package/bpk-component-icon/sm/cloakroom.js +8 -38
  644. package/bpk-component-icon/sm/close-circle.js +8 -38
  645. package/bpk-component-icon/sm/close.js +8 -38
  646. package/bpk-component-icon/sm/collapse.js +8 -38
  647. package/bpk-component-icon/sm/content--copy.js +8 -40
  648. package/bpk-component-icon/sm/content--event.js +8 -38
  649. package/bpk-component-icon/sm/content--guides.js +8 -38
  650. package/bpk-component-icon/sm/currency.js +8 -38
  651. package/bpk-component-icon/sm/data.js +8 -40
  652. package/bpk-component-icon/sm/deals.js +8 -38
  653. package/bpk-component-icon/sm/depart.js +8 -42
  654. package/bpk-component-icon/sm/device-mid.js +8 -38
  655. package/bpk-component-icon/sm/device-wide.js +8 -38
  656. package/bpk-component-icon/sm/direct.js +8 -40
  657. package/bpk-component-icon/sm/document-csv.js +8 -38
  658. package/bpk-component-icon/sm/document-pdf.js +8 -38
  659. package/bpk-component-icon/sm/download.js +8 -40
  660. package/bpk-component-icon/sm/duration.js +8 -38
  661. package/bpk-component-icon/sm/eco-leaf.js +8 -38
  662. package/bpk-component-icon/sm/edit.js +8 -38
  663. package/bpk-component-icon/sm/education.js +8 -40
  664. package/bpk-component-icon/sm/electric.js +8 -38
  665. package/bpk-component-icon/sm/end-call.js +8 -38
  666. package/bpk-component-icon/sm/estimated.js +8 -38
  667. package/bpk-component-icon/sm/exclamation-circle.js +8 -38
  668. package/bpk-component-icon/sm/exclamation.js +8 -38
  669. package/bpk-component-icon/sm/expand.js +8 -38
  670. package/bpk-component-icon/sm/explore.js +8 -38
  671. package/bpk-component-icon/sm/face--blank.js +8 -38
  672. package/bpk-component-icon/sm/face--happy.js +8 -38
  673. package/bpk-component-icon/sm/face--sad.js +8 -38
  674. package/bpk-component-icon/sm/face-id.js +8 -38
  675. package/bpk-component-icon/sm/face-mask.js +8 -38
  676. package/bpk-component-icon/sm/family.js +8 -38
  677. package/bpk-component-icon/sm/fast-track.js +8 -40
  678. package/bpk-component-icon/sm/fast-train.js +8 -40
  679. package/bpk-component-icon/sm/filter.js +8 -39
  680. package/bpk-component-icon/sm/fingerprint.js +8 -38
  681. package/bpk-component-icon/sm/flag.js +8 -38
  682. package/bpk-component-icon/sm/flask.js +8 -38
  683. package/bpk-component-icon/sm/flight-flexible.js +8 -38
  684. package/bpk-component-icon/sm/flight-landing.js +8 -42
  685. package/bpk-component-icon/sm/flight-takeoff.js +8 -40
  686. package/bpk-component-icon/sm/flight.js +8 -40
  687. package/bpk-component-icon/sm/food.js +8 -38
  688. package/bpk-component-icon/sm/gears-automatic-circle.js +8 -38
  689. package/bpk-component-icon/sm/gears-automatic.js +8 -38
  690. package/bpk-component-icon/sm/gears-manual-circle.js +8 -38
  691. package/bpk-component-icon/sm/gears-manual.js +8 -38
  692. package/bpk-component-icon/sm/globe.js +8 -38
  693. package/bpk-component-icon/sm/grid-layout.js +8 -38
  694. package/bpk-component-icon/sm/headset.js +8 -38
  695. package/bpk-component-icon/sm/health-fitness.js +8 -38
  696. package/bpk-component-icon/sm/heart--outline.js +8 -38
  697. package/bpk-component-icon/sm/heart.js +8 -38
  698. package/bpk-component-icon/sm/help-circle.js +8 -38
  699. package/bpk-component-icon/sm/help.js +8 -38
  700. package/bpk-component-icon/sm/hide.js +8 -38
  701. package/bpk-component-icon/sm/hotel-flexible.js +8 -38
  702. package/bpk-component-icon/sm/hotels--disabled-facilities.js +8 -38
  703. package/bpk-component-icon/sm/hotels--jacuzzi.js +8 -40
  704. package/bpk-component-icon/sm/hotels--pets-allowed.js +8 -38
  705. package/bpk-component-icon/sm/hotels--smoking.js +8 -38
  706. package/bpk-component-icon/sm/hotels.js +8 -38
  707. package/bpk-component-icon/sm/infant.js +8 -40
  708. package/bpk-component-icon/sm/information--language-alert.js +8 -38
  709. package/bpk-component-icon/sm/information--language-question.js +8 -38
  710. package/bpk-component-icon/sm/information--language.js +8 -38
  711. package/bpk-component-icon/sm/information-circle.js +8 -38
  712. package/bpk-component-icon/sm/information.js +8 -38
  713. package/bpk-component-icon/sm/insurance.js +8 -38
  714. package/bpk-component-icon/sm/key.js +8 -38
  715. package/bpk-component-icon/sm/keypad.js +8 -38
  716. package/bpk-component-icon/sm/landmark.js +8 -38
  717. package/bpk-component-icon/sm/language.js +8 -38
  718. package/bpk-component-icon/sm/legroom--extra.js +8 -40
  719. package/bpk-component-icon/sm/legroom--normal.js +8 -40
  720. package/bpk-component-icon/sm/legroom--reduced.js +8 -40
  721. package/bpk-component-icon/sm/leisure.js +8 -38
  722. package/bpk-component-icon/sm/lightning.js +8 -38
  723. package/bpk-component-icon/sm/list.js +8 -38
  724. package/bpk-component-icon/sm/location.js +8 -38
  725. package/bpk-component-icon/sm/lock.js +8 -38
  726. package/bpk-component-icon/sm/logout.js +8 -40
  727. package/bpk-component-icon/sm/long-arrow-down.js +8 -39
  728. package/bpk-component-icon/sm/long-arrow-left.js +8 -39
  729. package/bpk-component-icon/sm/long-arrow-right.js +8 -39
  730. package/bpk-component-icon/sm/long-arrow-up.js +8 -39
  731. package/bpk-component-icon/sm/lounge.js +8 -38
  732. package/bpk-component-icon/sm/luggageall.js +8 -38
  733. package/bpk-component-icon/sm/mail.js +8 -40
  734. package/bpk-component-icon/sm/map.js +8 -38
  735. package/bpk-component-icon/sm/meal.js +8 -38
  736. package/bpk-component-icon/sm/media.js +8 -38
  737. package/bpk-component-icon/sm/menu--horizontal.js +8 -38
  738. package/bpk-component-icon/sm/menu--vertical.js +8 -38
  739. package/bpk-component-icon/sm/menu.js +8 -38
  740. package/bpk-component-icon/sm/mileage.js +8 -40
  741. package/bpk-component-icon/sm/minus.js +8 -38
  742. package/bpk-component-icon/sm/mobile.js +8 -38
  743. package/bpk-component-icon/sm/money.js +8 -38
  744. package/bpk-component-icon/sm/multiple-bookings.js +8 -38
  745. package/bpk-component-icon/sm/music.js +8 -38
  746. package/bpk-component-icon/sm/mute.js +8 -38
  747. package/bpk-component-icon/sm/native-android--back.js +8 -38
  748. package/bpk-component-icon/sm/native-android--close.js +8 -38
  749. package/bpk-component-icon/sm/native-android--forward.js +8 -38
  750. package/bpk-component-icon/sm/native-ios-close.js +8 -38
  751. package/bpk-component-icon/sm/navigation.js +8 -38
  752. package/bpk-component-icon/sm/new-window.js +8 -44
  753. package/bpk-component-icon/sm/news.js +8 -38
  754. package/bpk-component-icon/sm/night.js +8 -38
  755. package/bpk-component-icon/sm/not-allowed.js +8 -38
  756. package/bpk-component-icon/sm/onsen.js +8 -40
  757. package/bpk-component-icon/sm/origin.js +8 -38
  758. package/bpk-component-icon/sm/paid.js +8 -38
  759. package/bpk-component-icon/sm/paperclip.js +8 -38
  760. package/bpk-component-icon/sm/parking.js +8 -38
  761. package/bpk-component-icon/sm/passport.js +8 -38
  762. package/bpk-component-icon/sm/pause.js +8 -38
  763. package/bpk-component-icon/sm/payment-card.js +8 -38
  764. package/bpk-component-icon/sm/petrol.js +8 -38
  765. package/bpk-component-icon/sm/phone-call.js +8 -38
  766. package/bpk-component-icon/sm/picture.js +8 -38
  767. package/bpk-component-icon/sm/pin.js +8 -38
  768. package/bpk-component-icon/sm/plane-seat.js +8 -40
  769. package/bpk-component-icon/sm/play.js +8 -38
  770. package/bpk-component-icon/sm/plus.js +8 -38
  771. package/bpk-component-icon/sm/policy.js +8 -38
  772. package/bpk-component-icon/sm/powerplug.js +8 -38
  773. package/bpk-component-icon/sm/ppe.js +8 -38
  774. package/bpk-component-icon/sm/price-alerts.js +8 -38
  775. package/bpk-component-icon/sm/price-tag.js +8 -38
  776. package/bpk-component-icon/sm/print.js +8 -38
  777. package/bpk-component-icon/sm/recent-searches.js +8 -38
  778. package/bpk-component-icon/sm/redo.js +8 -38
  779. package/bpk-component-icon/sm/refresh.js +8 -38
  780. package/bpk-component-icon/sm/return.js +8 -42
  781. package/bpk-component-icon/sm/room.js +8 -38
  782. package/bpk-component-icon/sm/scales.js +8 -38
  783. package/bpk-component-icon/sm/search.js +8 -38
  784. package/bpk-component-icon/sm/self-service.js +8 -38
  785. package/bpk-component-icon/sm/send-message.js +8 -38
  786. package/bpk-component-icon/sm/services.js +8 -38
  787. package/bpk-component-icon/sm/settings.js +8 -38
  788. package/bpk-component-icon/sm/share--android.js +8 -38
  789. package/bpk-component-icon/sm/share--ios.js +8 -42
  790. package/bpk-component-icon/sm/share.js +8 -38
  791. package/bpk-component-icon/sm/single-booking.js +8 -38
  792. package/bpk-component-icon/sm/social-distancing.js +8 -40
  793. package/bpk-component-icon/sm/social-like.js +8 -38
  794. package/bpk-component-icon/sm/sort-down.js +8 -38
  795. package/bpk-component-icon/sm/sort-up.js +8 -38
  796. package/bpk-component-icon/sm/sort.js +8 -38
  797. package/bpk-component-icon/sm/speaker.js +8 -38
  798. package/bpk-component-icon/sm/star-half.js +8 -38
  799. package/bpk-component-icon/sm/star-outline.js +8 -38
  800. package/bpk-component-icon/sm/star.js +8 -38
  801. package/bpk-component-icon/sm/stops.js +8 -38
  802. package/bpk-component-icon/sm/swap--horizontal.js +8 -39
  803. package/bpk-component-icon/sm/swap--vertical.js +8 -38
  804. package/bpk-component-icon/sm/swap.js +8 -39
  805. package/bpk-component-icon/sm/taxi.js +8 -40
  806. package/bpk-component-icon/sm/thumbs-down.js +8 -38
  807. package/bpk-component-icon/sm/thumbs-up.js +8 -38
  808. package/bpk-component-icon/sm/tick-circle.js +8 -38
  809. package/bpk-component-icon/sm/tick.js +8 -38
  810. package/bpk-component-icon/sm/ticket-flexible.js +8 -38
  811. package/bpk-component-icon/sm/ticket.js +8 -38
  812. package/bpk-component-icon/sm/time.js +8 -38
  813. package/bpk-component-icon/sm/toilets.js +8 -38
  814. package/bpk-component-icon/sm/train.js +8 -38
  815. package/bpk-component-icon/sm/transmission-automatic.js +8 -38
  816. package/bpk-component-icon/sm/transmission-manual.js +8 -38
  817. package/bpk-component-icon/sm/trash.js +8 -38
  818. package/bpk-component-icon/sm/trend--down.js +8 -38
  819. package/bpk-component-icon/sm/trend--steady.js +8 -39
  820. package/bpk-component-icon/sm/trend--will-rise.js +8 -38
  821. package/bpk-component-icon/sm/trend.js +8 -38
  822. package/bpk-component-icon/sm/trips.js +8 -38
  823. package/bpk-component-icon/sm/undo.js +8 -38
  824. package/bpk-component-icon/sm/unlock.js +8 -38
  825. package/bpk-component-icon/sm/unmute.js +8 -40
  826. package/bpk-component-icon/sm/upgrade.js +8 -38
  827. package/bpk-component-icon/sm/upload.js +8 -39
  828. package/bpk-component-icon/sm/use-location.js +8 -38
  829. package/bpk-component-icon/sm/view.js +8 -38
  830. package/bpk-component-icon/sm/virus.js +8 -38
  831. package/bpk-component-icon/sm/wallet.js +8 -38
  832. package/bpk-component-icon/sm/weather--clear.js +8 -38
  833. package/bpk-component-icon/sm/weather--cloudy.js +8 -40
  834. package/bpk-component-icon/sm/weather--fog.js +8 -38
  835. package/bpk-component-icon/sm/weather--partly-cloudy.js +8 -38
  836. package/bpk-component-icon/sm/weather--rain.js +8 -40
  837. package/bpk-component-icon/sm/weather--snow.js +8 -38
  838. package/bpk-component-icon/sm/weather--thunderstorm.js +8 -42
  839. package/bpk-component-icon/sm/weather--tornado.js +8 -38
  840. package/bpk-component-icon/sm/weather--wind.js +8 -40
  841. package/bpk-component-icon/sm/weather.js +8 -38
  842. package/bpk-component-icon/sm/wifi.js +8 -38
  843. package/bpk-component-icon/sm/window--reduce.js +8 -40
  844. package/bpk-component-icon/sm/window.js +8 -38
  845. package/bpk-component-icon/sm/world--amer.js +8 -38
  846. package/bpk-component-icon/sm/world--apac.js +8 -38
  847. package/bpk-component-icon/sm/world--emea.js +8 -38
  848. package/bpk-component-icon/src/BpkIcon.module.scss +33 -0
  849. package/bpk-component-icon/src/classNameModifierHOCFactory-test.tsx +82 -0
  850. package/bpk-component-icon/src/classNameModifierHOCFactory.tsx +47 -0
  851. package/bpk-component-icon/src/withAlignment-test.tsx +96 -0
  852. package/bpk-component-icon/src/withAlignment.tsx +52 -0
  853. package/bpk-component-icon/src/withDescription-test.tsx +32 -0
  854. package/bpk-component-icon/src/withDescription.module.scss +22 -0
  855. package/bpk-component-icon/src/withDescription.tsx +43 -0
  856. package/bpk-component-icon/src/withRtlSupport.tsx +28 -0
  857. package/bpk-component-image/README.md +139 -0
  858. package/bpk-component-image/index.ts +34 -0
  859. package/bpk-component-image/src/BpkBackgroundImage-test.tsx +131 -0
  860. package/bpk-component-image/src/BpkBackgroundImage.module.scss +46 -0
  861. package/bpk-component-image/src/BpkBackgroundImage.tsx +161 -0
  862. package/bpk-component-image/src/BpkImage-test.tsx +149 -0
  863. package/bpk-component-image/src/BpkImage.module.scss +89 -0
  864. package/bpk-component-image/src/BpkImage.tsx +214 -0
  865. package/bpk-component-image/src/BpkImageBorderRadiusStyles.ts +21 -0
  866. package/bpk-component-image/src/accessibility-test.tsx +64 -0
  867. package/bpk-component-image/src/withLazyLoading-test.tsx +96 -0
  868. package/bpk-component-image/src/withLazyLoading.tsx +168 -0
  869. package/bpk-component-image/src/withLoadingBehavior.tsx +72 -0
  870. package/bpk-component-infinite-scroll/README.md +183 -0
  871. package/bpk-component-infinite-scroll/index.js +12 -25
  872. package/bpk-component-infinite-scroll/src/DataSource.js +31 -30
  873. package/bpk-component-infinite-scroll/src/intersection-observer.js +1 -3
  874. package/bpk-component-infinite-scroll/src/withInfiniteScroll-test.flow.js +102 -0
  875. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +224 -174
  876. package/bpk-component-infinite-scroll/src/withInfiniteScroll.module.scss +25 -0
  877. package/bpk-component-input/README.md +117 -0
  878. package/bpk-component-input/index.d.ts +2 -16
  879. package/bpk-component-input/index.ts +40 -0
  880. package/bpk-component-input/src/BpkClearButton-test.tsx +42 -0
  881. package/bpk-component-input/src/BpkClearButton.d.ts +5 -9
  882. package/bpk-component-input/src/BpkClearButton.module.scss +40 -0
  883. package/bpk-component-input/src/BpkClearButton.tsx +61 -0
  884. package/bpk-component-input/src/BpkInput-test.tsx +257 -0
  885. package/bpk-component-input/src/BpkInput.d.ts +16 -21
  886. package/bpk-component-input/src/BpkInput.module.scss +86 -0
  887. package/bpk-component-input/src/BpkInput.tsx +174 -0
  888. package/bpk-component-input/src/accessibility-test.tsx +36 -0
  889. package/bpk-component-input/src/common-types-test.ts +173 -0
  890. package/bpk-component-input/src/common-types.d.ts +3 -6
  891. package/bpk-component-input/src/common-types.ts +141 -0
  892. package/{bpk-component-image/src/BpkImageBorderRadiusStyles.js → bpk-component-input/src/themeAttributes-test.ts} +7 -12
  893. package/bpk-component-input/src/themeAttributes.ts +19 -0
  894. package/bpk-component-input/src/withOpenEvents-test.tsx +168 -0
  895. package/bpk-component-input/src/withOpenEvents.d.ts +56 -97
  896. package/bpk-component-input/src/withOpenEvents.tsx +203 -0
  897. package/bpk-component-label/README.md +27 -0
  898. package/bpk-component-label/index.js +7 -10
  899. package/bpk-component-label/src/BpkLabel.js +50 -49
  900. package/bpk-component-label/src/BpkLabel.module.scss +47 -0
  901. package/bpk-component-link/README.md +66 -0
  902. package/bpk-component-link/index.js +11 -32
  903. package/bpk-component-link/src/BpkButtonLink.js +42 -50
  904. package/bpk-component-link/src/BpkLink.js +66 -67
  905. package/bpk-component-link/src/BpkLink.module.scss +31 -0
  906. package/bpk-component-link/src/themeAttributes.js +18 -10
  907. package/bpk-component-list/README.md +48 -0
  908. package/bpk-component-list/index.js +23 -19
  909. package/bpk-component-list/src/BpkList.js +50 -36
  910. package/bpk-component-list/src/BpkList.module.scss +37 -0
  911. package/bpk-component-list/src/BpkListItem.js +33 -26
  912. package/bpk-component-loading-button/README.md +45 -0
  913. package/bpk-component-loading-button/index.js +7 -17
  914. package/bpk-component-loading-button/src/BpkLoadingButton.js +133 -95
  915. package/bpk-component-loading-button/src/BpkLoadingButton.module.scss +67 -0
  916. package/bpk-component-map/README.md +209 -0
  917. package/bpk-component-map/index.js +28 -59
  918. package/bpk-component-map/src/BpkBasicMapMarker.js +32 -38
  919. package/bpk-component-map/src/BpkIconMarker.js +77 -65
  920. package/bpk-component-map/src/BpkIconMarker.module.scss +79 -0
  921. package/bpk-component-map/src/BpkIconMarkerBackground.js +49 -54
  922. package/bpk-component-map/src/BpkIconMarkerBackground.module.scss +53 -0
  923. package/bpk-component-map/src/BpkMap.js +149 -92
  924. package/bpk-component-map/src/BpkMap.module.scss +21 -0
  925. package/bpk-component-map/src/BpkOverlayView.js +27 -39
  926. package/bpk-component-map/src/BpkPriceMarker.js +90 -71
  927. package/bpk-component-map/src/BpkPriceMarker.module.scss +148 -0
  928. package/bpk-component-map/src/DefaultLoadingElement.js +17 -20
  929. package/bpk-component-map/src/DefaultLoadingElement.module.scss +28 -0
  930. package/bpk-component-map/src/common-types.js +14 -12
  931. package/bpk-component-map/src/themeAttributes.js +18 -13
  932. package/bpk-component-map/src/withGoogleMapsScript.js +44 -43
  933. package/bpk-component-mobile-scroll-container/README.md +71 -0
  934. package/bpk-component-mobile-scroll-container/index.js +6 -10
  935. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +188 -137
  936. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.module.scss +52 -0
  937. package/bpk-component-modal/README.md +113 -0
  938. package/bpk-component-modal/index.ts +29 -0
  939. package/bpk-component-modal/src/BpkModal-test.tsx +46 -0
  940. package/bpk-component-modal/src/BpkModal.module.scss +46 -0
  941. package/bpk-component-modal/src/BpkModal.tsx +109 -0
  942. package/bpk-component-modal/src/BpkModalInner-test.tsx +202 -0
  943. package/bpk-component-modal/src/BpkModalInner.module.scss +125 -0
  944. package/bpk-component-modal/src/BpkModalInner.tsx +156 -0
  945. package/bpk-component-modal/src/BpkModalV2/BpKModal-test.tsx +313 -0
  946. package/bpk-component-modal/src/BpkModalV2/BpKModal.module.scss +178 -0
  947. package/bpk-component-modal/src/BpkModalV2/BpkModal.tsx +190 -0
  948. package/bpk-component-modal/src/BpkModalV2/README.md +90 -0
  949. package/bpk-component-modal/src/BpkModalV2/accessibility-test.tsx +42 -0
  950. package/bpk-component-modal/src/accessibility-test.tsx +46 -0
  951. package/bpk-component-modal/src/customPropTypes.js +29 -13
  952. package/bpk-component-modal/src/legacy-prop-types.js +59 -67
  953. package/bpk-component-modal/src/themeAttributes-test.ts +30 -0
  954. package/bpk-component-modal/src/{themeAttributes.js → themeAttributes.ts} +4 -9
  955. package/bpk-component-navigation-bar/README.md +109 -0
  956. package/bpk-component-navigation-bar/index.js +25 -31
  957. package/bpk-component-navigation-bar/src/BpkNavigationBar.js +89 -73
  958. package/bpk-component-navigation-bar/src/BpkNavigationBar.module.scss +78 -0
  959. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +39 -42
  960. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.module.scss +51 -0
  961. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +36 -42
  962. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.module.scss +43 -0
  963. package/bpk-component-navigation-bar/src/themeAttributes.js +16 -8
  964. package/bpk-component-nudger/README.md +168 -0
  965. package/bpk-component-nudger/index.js +9 -24
  966. package/bpk-component-nudger/src/BpkConfigurableNudger.js +123 -95
  967. package/bpk-component-nudger/src/BpkNudger.js +64 -58
  968. package/{bpk-component-dialog/index.js → bpk-component-nudger/src/BpkNudger.module.scss} +33 -17
  969. package/bpk-component-nudger/src/common-types.js +26 -19
  970. package/bpk-component-nudger/src/themeAttributes.js +6 -9
  971. package/bpk-component-overlay/README.md +47 -0
  972. package/bpk-component-overlay/index.ts +27 -0
  973. package/bpk-component-overlay/src/BpkOverlay-test.tsx +70 -0
  974. package/bpk-component-overlay/src/BpkOverlay.module.scss +163 -0
  975. package/bpk-component-overlay/src/BpkOverlay.tsx +102 -0
  976. package/bpk-component-overlay/src/accessibility-test.tsx +35 -0
  977. package/bpk-component-page-indicator/README.md +41 -0
  978. package/bpk-component-page-indicator/index.js +11 -24
  979. package/bpk-component-page-indicator/src/BpkPageIndicator.js +110 -71
  980. package/bpk-component-page-indicator/src/BpkPageIndicator.module.scss +91 -0
  981. package/bpk-component-page-indicator/src/NavButton.js +59 -48
  982. package/bpk-component-pagination/README.md +56 -0
  983. package/bpk-component-pagination/index.js +6 -17
  984. package/bpk-component-pagination/src/BpkPagination.js +65 -68
  985. package/bpk-component-pagination/src/BpkPagination.module.scss +22 -0
  986. package/bpk-component-pagination/src/BpkPaginationBreak.js +11 -20
  987. package/bpk-component-pagination/src/BpkPaginationList.js +70 -54
  988. package/{bpk-react-utils/src/cssModules.js → bpk-component-pagination/src/BpkPaginationList.module.scss} +28 -13
  989. package/bpk-component-pagination/src/BpkPaginationNudger.js +50 -47
  990. package/bpk-component-pagination/src/BpkPaginationNudger.module.scss +34 -0
  991. package/bpk-component-pagination/src/BpkPaginationPage.js +33 -37
  992. package/bpk-component-pagination/src/BpkPaginationPage.module.scss +59 -0
  993. package/bpk-component-pagination/src/themeAttributes.js +9 -9
  994. package/bpk-component-panel/README.md +30 -0
  995. package/bpk-component-panel/index.js +4 -10
  996. package/bpk-component-panel/src/BpkPanel.js +27 -40
  997. package/bpk-component-panel/src/BpkPanel.module.scss +31 -0
  998. package/bpk-component-phone-input/README.md +98 -0
  999. package/bpk-component-phone-input/index.js +9 -10
  1000. package/bpk-component-phone-input/src/BpkPhoneInput.js +166 -127
  1001. package/bpk-component-phone-input/src/BpkPhoneInput.module.scss +42 -0
  1002. package/bpk-component-popover/README.md +138 -0
  1003. package/bpk-component-popover/index.js +17 -31
  1004. package/bpk-component-popover/src/BpkPopover.js +142 -112
  1005. package/bpk-component-popover/src/BpkPopover.module.scss +127 -0
  1006. package/bpk-component-popover/src/BpkPopoverPortal.js +186 -152
  1007. package/bpk-component-popover/src/constants.js +7 -12
  1008. package/bpk-component-popover/src/keyboardFocusScope.js +21 -19
  1009. package/bpk-component-popover/src/themeAttributes.js +6 -9
  1010. package/bpk-component-price/README.md +39 -0
  1011. package/bpk-component-price/index.js +7 -23
  1012. package/bpk-component-price/src/BpkPrice.js +119 -84
  1013. package/bpk-component-price/src/BpkPrice.module.scss +74 -0
  1014. package/bpk-component-price/src/common-types.js +9 -12
  1015. package/bpk-component-progress/README.md +53 -0
  1016. package/bpk-component-progress/index.js +8 -17
  1017. package/bpk-component-progress/src/BpkProgress.js +136 -119
  1018. package/bpk-component-progress/src/BpkProgress.module.scss +64 -0
  1019. package/bpk-component-progress/src/themeAttributes.js +4 -8
  1020. package/bpk-component-radio/README.md +40 -0
  1021. package/bpk-component-radio/index.js +8 -17
  1022. package/bpk-component-radio/src/BpkRadio.js +67 -58
  1023. package/bpk-component-radio/src/BpkRadio.module.css +1 -1
  1024. package/bpk-component-radio/src/BpkRadio.module.scss +85 -0
  1025. package/bpk-component-radio/src/themeAttributes.js +4 -8
  1026. package/bpk-component-rating/README.md +84 -0
  1027. package/bpk-component-rating/index.js +7 -23
  1028. package/bpk-component-rating/src/BpkRating.js +138 -104
  1029. package/bpk-component-rating/src/BpkRating.module.scss +83 -0
  1030. package/bpk-component-rating/src/common-types.js +8 -14
  1031. package/bpk-component-rtl-toggle/README.md +23 -0
  1032. package/bpk-component-rtl-toggle/index.ts +23 -0
  1033. package/bpk-component-rtl-toggle/src/BpkRtlToggle-test.tsx +33 -0
  1034. package/bpk-component-rtl-toggle/src/BpkRtlToggle.tsx +100 -0
  1035. package/bpk-component-rtl-toggle/src/accessibility-test.tsx +30 -0
  1036. package/bpk-component-rtl-toggle/src/updateOnDirectionChange-test.tsx +48 -0
  1037. package/bpk-component-rtl-toggle/src/updateOnDirectionChange.tsx +71 -0
  1038. package/bpk-component-rtl-toggle/src/utils.ts +29 -0
  1039. package/bpk-component-scrollable-calendar/README.md +100 -0
  1040. package/bpk-component-scrollable-calendar/index.ts +33 -0
  1041. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar-test.tsx +101 -0
  1042. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.tsx +35 -0
  1043. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate-test.tsx +74 -0
  1044. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.tsx +41 -0
  1045. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid-test.tsx +142 -0
  1046. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.module.scss +31 -0
  1047. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.tsx +60 -0
  1048. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList-test.tsx +113 -0
  1049. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.module.scss +36 -0
  1050. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.tsx +208 -0
  1051. package/bpk-component-scrollable-calendar/src/accessibility-test.tsx +69 -0
  1052. package/bpk-component-scrollable-calendar/src/utils-test.ts +43 -0
  1053. package/bpk-component-scrollable-calendar/src/{utils.js → utils.ts} +20 -14
  1054. package/bpk-component-scrollable-calendar/test-utils.ts +275 -0
  1055. package/bpk-component-section-list/README.md +49 -0
  1056. package/bpk-component-section-list/index.js +9 -24
  1057. package/bpk-component-section-list/src/BpkSectionList.js +18 -28
  1058. package/bpk-component-section-list/src/BpkSectionListItem.js +73 -67
  1059. package/bpk-component-section-list/src/BpkSectionListItem.module.scss +54 -0
  1060. package/bpk-component-section-list/src/BpkSectionListSection.js +43 -49
  1061. package/bpk-component-section-list/src/BpkSectionListSection.module.scss +35 -0
  1062. package/bpk-component-select/README.md +62 -0
  1063. package/bpk-component-select/index.js +9 -17
  1064. package/bpk-component-select/src/BpkSelect.js +95 -65
  1065. package/bpk-component-select/src/BpkSelect.module.scss +131 -0
  1066. package/bpk-component-select/src/themeAttributes.js +2 -8
  1067. package/bpk-component-skip-link/README.md +27 -0
  1068. package/bpk-component-skip-link/index.js +8 -17
  1069. package/bpk-component-skip-link/src/BpkSkipLink.js +34 -40
  1070. package/bpk-component-skip-link/src/BpkSkipLink.module.scss +50 -0
  1071. package/bpk-component-skip-link/src/themeAttributes.js +2 -8
  1072. package/bpk-component-slider/README.md +40 -0
  1073. package/bpk-component-slider/index.js +6 -17
  1074. package/bpk-component-slider/src/BpkSlider.js +33 -39
  1075. package/bpk-component-slider/src/BpkSlider.module.scss +86 -0
  1076. package/bpk-component-slider/src/themeAttributes.js +2 -8
  1077. package/bpk-component-spinner/README.md +37 -0
  1078. package/bpk-component-spinner/changelog.yml +55 -0
  1079. package/bpk-component-spinner/index.js +32 -40
  1080. package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +34 -95
  1081. package/bpk-component-spinner/src/BpkLargeSpinner.js +38 -97
  1082. package/bpk-component-spinner/src/BpkSpinner.js +37 -141
  1083. package/bpk-component-spinner/src/BpkSpinner.module.scss +58 -0
  1084. package/bpk-component-spinner/src/spinnerTypes.js +5 -9
  1085. package/bpk-component-spinner/src/themeAttributes.js +4 -8
  1086. package/bpk-component-split-input/README.md +39 -0
  1087. package/bpk-component-split-input/index.js +10 -17
  1088. package/bpk-component-split-input/src/BpkInputField.js +41 -56
  1089. package/bpk-component-split-input/src/BpkInputField.module.scss +34 -0
  1090. package/bpk-component-split-input/src/BpkSplitInput.js +222 -223
  1091. package/bpk-component-split-input/src/BpkSplitInput.module.scss +36 -0
  1092. package/bpk-component-star-rating/README.md +96 -0
  1093. package/bpk-component-star-rating/index.js +21 -65
  1094. package/bpk-component-star-rating/src/BpkInteractiveStar.js +60 -56
  1095. package/bpk-component-star-rating/src/BpkInteractiveStar.module.scss +66 -0
  1096. package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +83 -67
  1097. package/bpk-component-star-rating/src/BpkStar.js +78 -73
  1098. package/bpk-component-star-rating/src/BpkStar.module.scss +63 -0
  1099. package/bpk-component-star-rating/src/BpkStarRating.js +85 -62
  1100. package/bpk-component-star-rating/src/BpkStarRating.module.scss +21 -0
  1101. package/bpk-component-star-rating/src/themeAttributes.js +4 -8
  1102. package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +90 -74
  1103. package/bpk-component-switch/README.md +34 -0
  1104. package/bpk-component-switch/index.js +8 -17
  1105. package/bpk-component-switch/src/BpkSwitch.js +47 -49
  1106. package/bpk-component-switch/src/BpkSwitch.module.scss +92 -0
  1107. package/bpk-component-switch/src/themeAttributes.js +2 -8
  1108. package/bpk-component-table/README.md +62 -0
  1109. package/bpk-component-table/index.js +34 -47
  1110. package/bpk-component-table/src/BpkTable.js +31 -37
  1111. package/bpk-component-table/src/BpkTable.module.scss +31 -0
  1112. package/bpk-component-table/src/BpkTableBody.js +29 -33
  1113. package/bpk-component-table/src/BpkTableCell.js +31 -36
  1114. package/bpk-component-table/src/BpkTableHead.js +29 -33
  1115. package/bpk-component-table/src/BpkTableHeadCell.js +31 -34
  1116. package/bpk-component-table/src/BpkTableRow.js +29 -33
  1117. package/bpk-component-text/README.md +69 -0
  1118. package/bpk-component-text/index.ts +22 -0
  1119. package/bpk-component-text/src/BpkText-test.tsx +84 -0
  1120. package/bpk-component-text/src/BpkText.module.css +1 -1
  1121. package/bpk-component-text/src/BpkText.module.scss +131 -0
  1122. package/bpk-component-text/src/BpkText.tsx +98 -0
  1123. package/bpk-component-text/src/accessibility-test.tsx +36 -0
  1124. package/bpk-component-textarea/README.md +31 -0
  1125. package/bpk-component-textarea/index.js +8 -17
  1126. package/bpk-component-textarea/src/BpkTextarea.js +44 -41
  1127. package/bpk-component-textarea/src/BpkTextarea.module.scss +33 -0
  1128. package/bpk-component-textarea/src/themeAttributes.js +4 -8
  1129. package/bpk-component-theme-toggle/README.md +26 -0
  1130. package/bpk-component-theme-toggle/index.js +6 -17
  1131. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +96 -101
  1132. package/bpk-component-theme-toggle/src/BpkThemeToggle.module.scss +25 -0
  1133. package/bpk-component-theme-toggle/src/theming.js +92 -52
  1134. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +57 -53
  1135. package/bpk-component-theme-toggle/src/utils.js +5 -9
  1136. package/bpk-component-ticket/README.md +34 -0
  1137. package/bpk-component-ticket/index.js +6 -10
  1138. package/bpk-component-ticket/src/BpkTicket.js +111 -80
  1139. package/bpk-component-ticket/src/BpkTicket.module.scss +144 -0
  1140. package/bpk-component-tooltip/README.md +65 -0
  1141. package/bpk-component-tooltip/index.ts +26 -0
  1142. package/bpk-component-tooltip/src/BpkTooltip-test.tsx +62 -0
  1143. package/bpk-component-tooltip/src/BpkTooltip.module.scss +149 -0
  1144. package/bpk-component-tooltip/src/BpkTooltip.tsx +89 -0
  1145. package/bpk-component-tooltip/src/BpkTooltipPortal-test.tsx +94 -0
  1146. package/bpk-component-tooltip/src/BpkTooltipPortal.tsx +214 -0
  1147. package/bpk-component-tooltip/src/accessibility-test.tsx +34 -0
  1148. package/bpk-component-tooltip/src/constants.ts +25 -0
  1149. package/bpk-react-utils/README.md +246 -0
  1150. package/bpk-react-utils/index.ts +56 -0
  1151. package/bpk-react-utils/src/Portal-test.tsx +794 -0
  1152. package/bpk-react-utils/src/Portal.tsx +342 -0
  1153. package/bpk-react-utils/src/TransitionInitialMount-test.tsx +37 -0
  1154. package/bpk-react-utils/src/{TransitionInitialMount.js → TransitionInitialMount.tsx} +28 -29
  1155. package/bpk-react-utils/src/accessibility-test.tsx +73 -0
  1156. package/bpk-react-utils/src/cssModules-test.ts +65 -0
  1157. package/bpk-react-utils/src/cssModules.ts +27 -0
  1158. package/bpk-react-utils/src/deprecated.js +23 -19
  1159. package/bpk-react-utils/src/deviceDetection-test.ts +92 -0
  1160. package/bpk-react-utils/src/deviceDetection.ts +29 -0
  1161. package/bpk-react-utils/src/isRTL-test.ts +53 -0
  1162. package/bpk-react-utils/src/{isRTL.js → isRTL.ts} +13 -11
  1163. package/bpk-react-utils/src/withDefaultProps-test.tsx +58 -0
  1164. package/bpk-react-utils/src/withDefaultProps.tsx +70 -0
  1165. package/{bpk-component-boilerplate/src/BpkBoilerplate.d.ts → bpk-react-utils/src/wrapDisplayName-test.tsx} +19 -11
  1166. package/bpk-react-utils/src/{wrapDisplayName.js → wrapDisplayName.ts} +10 -9
  1167. package/bpk-scrim-utils/README.md +47 -0
  1168. package/bpk-scrim-utils/index.ts +24 -0
  1169. package/{bpk-component-calendar/src/custom-proptypes.js → bpk-scrim-utils/src/BpkScrim-test.tsx} +10 -11
  1170. package/bpk-scrim-utils/src/BpkScrim.tsx +45 -0
  1171. package/bpk-scrim-utils/src/accessibility-test.tsx +47 -0
  1172. package/bpk-scrim-utils/src/bpk-scrim-content.module.scss +32 -0
  1173. package/bpk-scrim-utils/src/bpk-scrim.module.scss +45 -0
  1174. package/bpk-scrim-utils/src/{scroll-utils.js → scroll-utils.tsx} +38 -20
  1175. package/bpk-scrim-utils/src/withScrim-test.tsx +222 -0
  1176. package/bpk-scrim-utils/src/withScrim.tsx +170 -0
  1177. package/bpk-theming/README.md +41 -0
  1178. package/bpk-theming/index.js +4 -10
  1179. package/bpk-theming/src/BpkThemeProvider.js +57 -60
  1180. package/package.json +2 -2
  1181. package/bpk-component-aria-live/index.js +0 -34
  1182. package/bpk-component-aria-live/src/BpkAriaLive.js +0 -57
  1183. package/bpk-component-badge/index.js +0 -42
  1184. package/bpk-component-badge/src/BpkBadge.js +0 -72
  1185. package/bpk-component-banner-alert/index.js +0 -62
  1186. package/bpk-component-banner-alert/src/AnimateAndFade.js +0 -155
  1187. package/bpk-component-banner-alert/src/BpkBannerAlert.js +0 -57
  1188. package/bpk-component-banner-alert/src/BpkBannerAlertDismissable.js +0 -47
  1189. package/bpk-component-banner-alert/src/BpkBannerAlertExpandable.js +0 -52
  1190. package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +0 -192
  1191. package/bpk-component-banner-alert/src/withBannerAlertState.js +0 -128
  1192. package/bpk-component-boilerplate/src/BpkBoilerplate.js +0 -57
  1193. package/bpk-component-breakpoint/index.js +0 -34
  1194. package/bpk-component-breakpoint/src/BpkBreakpoint.js +0 -60
  1195. package/bpk-component-button/src/BpkButtonV2/BpkButton.js +0 -77
  1196. package/bpk-component-calendar/index.js +0 -124
  1197. package/bpk-component-calendar/src/BpkCalendarContainer.js +0 -284
  1198. package/bpk-component-calendar/src/BpkCalendarDate.js +0 -169
  1199. package/bpk-component-calendar/src/BpkCalendarGrid.js +0 -142
  1200. package/bpk-component-calendar/src/BpkCalendarGridHeader.js +0 -78
  1201. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +0 -172
  1202. package/bpk-component-calendar/src/BpkCalendarNav.js +0 -165
  1203. package/bpk-component-calendar/src/Week.js +0 -333
  1204. package/bpk-component-calendar/src/composeCalendar.js +0 -132
  1205. package/bpk-component-calendar/src/date-utils.js +0 -301
  1206. package/bpk-component-calendar/src/themeAttributes.js +0 -25
  1207. package/bpk-component-calendar/test-utils.js +0 -256
  1208. package/bpk-component-card/index.js +0 -49
  1209. package/bpk-component-card/src/BpkCard.js +0 -93
  1210. package/bpk-component-card/src/BpkCardWrapper.js +0 -53
  1211. package/bpk-component-card/src/BpkDividedCard.js +0 -74
  1212. package/bpk-component-chip/index.js +0 -55
  1213. package/bpk-component-chip/src/BpkDismissibleChip.js +0 -69
  1214. package/bpk-component-chip/src/BpkDropdownChip.js +0 -60
  1215. package/bpk-component-chip/src/BpkSelectableChip.js +0 -76
  1216. package/bpk-component-chip/src/commonTypes.js +0 -57
  1217. package/bpk-component-chip/src/themeAttributes.js +0 -25
  1218. package/bpk-component-datepicker/index.js +0 -41
  1219. package/bpk-component-datepicker/src/BpkDatepicker.js +0 -314
  1220. package/bpk-component-datepicker/src/themeAttributes.js +0 -28
  1221. package/bpk-component-dialog/src/BpkDialog.js +0 -78
  1222. package/bpk-component-dialog/src/BpkDialogInner.js +0 -69
  1223. package/bpk-component-graphic-promotion/index.js +0 -34
  1224. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +0 -152
  1225. package/bpk-component-icon/index.js +0 -55
  1226. package/bpk-component-icon/src/classNameModifierHOCFactory.js +0 -52
  1227. package/bpk-component-icon/src/withAlignment.js +0 -47
  1228. package/bpk-component-icon/src/withDescription.js +0 -42
  1229. package/bpk-component-icon/src/withRtlSupport.js +0 -31
  1230. package/bpk-component-image/index.js +0 -55
  1231. package/bpk-component-image/src/BpkBackgroundImage.js +0 -138
  1232. package/bpk-component-image/src/BpkImage.js +0 -170
  1233. package/bpk-component-image/src/withLazyLoading.js +0 -136
  1234. package/bpk-component-image/src/withLoadingBehavior.js +0 -54
  1235. package/bpk-component-input/index.js +0 -66
  1236. package/bpk-component-input/src/BpkClearButton.js +0 -71
  1237. package/bpk-component-input/src/BpkInput.js +0 -164
  1238. package/bpk-component-input/src/common-types.js +0 -93
  1239. package/bpk-component-input/src/withOpenEvents.js +0 -150
  1240. package/bpk-component-modal/index.js +0 -55
  1241. package/bpk-component-modal/src/BpkModal.js +0 -94
  1242. package/bpk-component-modal/src/BpkModalInner.js +0 -122
  1243. package/bpk-component-modal/src/BpkModalV2/BpKModal.module.css +0 -18
  1244. package/bpk-component-modal/src/BpkModalV2/BpkModal.js +0 -154
  1245. package/bpk-component-overlay/index.js +0 -34
  1246. package/bpk-component-overlay/src/BpkOverlay.js +0 -96
  1247. package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +0 -81
  1248. package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +0 -61
  1249. package/bpk-component-rtl-toggle/src/utils.js +0 -33
  1250. package/bpk-component-scrollable-calendar/index.js +0 -55
  1251. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.js +0 -29
  1252. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +0 -49
  1253. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +0 -64
  1254. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +0 -158
  1255. package/bpk-component-scrollable-calendar/test-utils.js +0 -228
  1256. package/bpk-component-text/index.js +0 -34
  1257. package/bpk-component-text/src/BpkText.js +0 -83
  1258. package/bpk-component-tooltip/src/BpkTooltip.js +0 -78
  1259. package/bpk-component-tooltip/src/BpkTooltipPortal.js +0 -168
  1260. package/bpk-component-tooltip/src/constants.js +0 -36
  1261. package/bpk-react-utils/index.js +0 -106
  1262. package/bpk-react-utils/src/Portal.js +0 -248
  1263. package/bpk-react-utils/src/deviceDetection.js +0 -30
  1264. package/bpk-react-utils/src/withDefaultProps.js +0 -64
  1265. package/bpk-scrim-utils/src/BpkScrim.js +0 -44
  1266. package/bpk-scrim-utils/src/withScrim.js +0 -145
  1267. package/bpk-storybook-utils/index.js +0 -43
  1268. package/bpk-storybook-utils/src/BpkDarkExampleWrapper.js +0 -54
  1269. package/bpk-storybook-utils/src/BpkDarkExampleWrapper.module.css +0 -18
  1270. package/index.css +0 -0
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import { BpkModalV2 } from './src/BpkModalV2/BpkModal';
20
+ import themeAttributes from './src/themeAttributes';
21
+ import BpkModal from './src/BpkModal';
22
+ import type { Props } from './src/BpkModal';
23
+ // @ts-expect-error Untyped import. See `decisions/imports-ts-suppressions.md`.
24
+ import { propTypes, defaultProps } from './src/legacy-prop-types';
25
+
26
+ export type BpkModalProps = Props;
27
+
28
+ export default BpkModal;
29
+ export { propTypes, defaultProps, themeAttributes, BpkModalV2 };
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import { render } from '@testing-library/react';
20
+
21
+ import BpkModal from './BpkModal';
22
+
23
+ describe('BpkModal', () => {
24
+ it('should render correctly in the given target if renderTarget is supplied', () => {
25
+ const customRenderTarget = document.createElement('div');
26
+
27
+ const { asFragment } = render(
28
+ <BpkModal
29
+ id="my-modal"
30
+ title="Modal title"
31
+ onClose={jest.fn()}
32
+ closeLabel="Close"
33
+ dialogRef={jest.fn()}
34
+ isIphone={false}
35
+ getApplicationElement={jest.fn()}
36
+ isOpen
37
+ renderTarget={() => customRenderTarget}
38
+ >
39
+ Modal content inside a custom target
40
+ </BpkModal>,
41
+ );
42
+
43
+ expect(asFragment()).toMatchSnapshot();
44
+ expect(customRenderTarget).toMatchSnapshot();
45
+ });
46
+ });
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ @import '~bpk-mixins/index.scss';
20
+
21
+ $bpk-spacing-v2: true;
22
+
23
+ @mixin fullscreen() {
24
+ display: flex;
25
+ padding: 0;
26
+ }
27
+
28
+ .bpk-modal__container {
29
+ display: flex;
30
+ padding: bpk-spacing-lg();
31
+
32
+ // IE11 and below hack for buggy flexbox support
33
+ @media screen\0 {
34
+ display: block;
35
+ }
36
+
37
+ &--full-screen-mobile {
38
+ @include bpk-breakpoint-mobile {
39
+ @include fullscreen;
40
+ }
41
+ }
42
+
43
+ &--full-screen {
44
+ @include fullscreen;
45
+ }
46
+ }
@@ -0,0 +1,109 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import type { ReactNode } from 'react';
20
+
21
+ import { withScrim } from '../../bpk-scrim-utils';
22
+ import { Portal, cssModules, isDeviceIphone } from '../../bpk-react-utils';
23
+
24
+ import STYLES from './BpkModal.module.scss';
25
+ import BpkModalInner from './BpkModalInner';
26
+ import type { Props as ModalDialogProps } from './BpkModalInner';
27
+
28
+ const getClassName = cssModules(STYLES);
29
+ const ScrimBpkModalInner = withScrim(BpkModalInner);
30
+
31
+ export type Props = Partial<ModalDialogProps> & {
32
+ id: string;
33
+ children: ReactNode;
34
+ dialogRef?: (ref: HTMLElement | null | undefined) => void; // TODO - remove this in a later release as it is not being used. The dialogRef is injected in the withScrim HOC
35
+ isOpen: boolean;
36
+ closeOnScrimClick?: boolean;
37
+ closeOnEscPressed?: boolean;
38
+ renderTarget?: null | HTMLElement | (() => null | HTMLElement);
39
+ onClose?: (
40
+ arg0?: TouchEvent | MouseEvent | KeyboardEvent,
41
+ arg1?: {
42
+ source: 'ESCAPE' | 'DOCUMENT_CLICK';
43
+ },
44
+ ) => void;
45
+ getApplicationElement: () => HTMLElement | null;
46
+ };
47
+
48
+ const BpkModal = ({
49
+ accessoryView = null,
50
+ className = null,
51
+ closeLabel = '',
52
+ closeOnEscPressed = true,
53
+ closeOnScrimClick = true,
54
+ closeText = null,
55
+ contentClassName = null,
56
+ dialogRef = () => null,
57
+ fullScreen = false,
58
+ fullScreenOnMobile = true,
59
+ isIphone = isDeviceIphone(),
60
+ isOpen,
61
+ onClose = () => null,
62
+ padded = true,
63
+ renderTarget = null,
64
+ showHeader = true,
65
+ title = null,
66
+ wide = false,
67
+ ...rest
68
+ }: Props) => {
69
+ const containerClass = [getClassName('bpk-modal__container')];
70
+
71
+ if (fullScreen || isIphone) {
72
+ containerClass.push(getClassName('bpk-modal__container--full-screen'));
73
+ } else if (fullScreenOnMobile) {
74
+ containerClass.push(
75
+ getClassName('bpk-modal__container--full-screen-mobile'),
76
+ );
77
+ }
78
+
79
+ return (
80
+ <Portal
81
+ isOpen={isOpen}
82
+ onClose={onClose}
83
+ renderTarget={renderTarget}
84
+ closeOnEscPressed={closeOnEscPressed}
85
+ >
86
+ <ScrimBpkModalInner
87
+ onClose={onClose}
88
+ fullScreenOnMobile={fullScreenOnMobile}
89
+ fullScreen={fullScreen}
90
+ closeOnScrimClick={closeOnScrimClick}
91
+ containerClassName={containerClass.join(' ')}
92
+ isIphone={isIphone}
93
+ title={title}
94
+ className={className}
95
+ contentClassName={contentClassName}
96
+ closeLabel={closeLabel}
97
+ closeText={closeText}
98
+ wide={wide}
99
+ showHeader={showHeader}
100
+ padded={padded}
101
+ accessoryView={accessoryView}
102
+ dialogRef={dialogRef}
103
+ {...rest}
104
+ />
105
+ </Portal>
106
+ );
107
+ };
108
+
109
+ export default BpkModal;
@@ -0,0 +1,202 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import { render } from '@testing-library/react';
20
+
21
+ // @ts-expect-error Untyped import. See `decisions/imports-ts-suppressions.md`.
22
+ import { BpkNavigationBarButtonLink } from '../../bpk-component-navigation-bar';
23
+
24
+ import BpkModalInner from './BpkModalInner';
25
+
26
+ describe('BpkModalInner', () => {
27
+ it('should render correctly', () => {
28
+ const { asFragment } = render(
29
+ <BpkModalInner
30
+ id="my-modal"
31
+ title="Modal title"
32
+ closeLabel="Close"
33
+ dialogRef={jest.fn()}
34
+ onClose={jest.fn()}
35
+ isIphone={false}
36
+ >
37
+ Modal content
38
+ </BpkModalInner>,
39
+ );
40
+ expect(asFragment()).toMatchSnapshot();
41
+ });
42
+
43
+ it('should render correctly when it has a className', () => {
44
+ const { asFragment } = render(
45
+ <BpkModalInner
46
+ id="my-modal"
47
+ title="Modal title"
48
+ closeLabel="Close"
49
+ dialogRef={jest.fn()}
50
+ onClose={jest.fn()}
51
+ isIphone={false}
52
+ className="my-classname"
53
+ >
54
+ Modal content
55
+ </BpkModalInner>,
56
+ );
57
+ expect(asFragment()).toMatchSnapshot();
58
+ });
59
+
60
+ it('should render correctly with wide prop', () => {
61
+ const { asFragment } = render(
62
+ <BpkModalInner
63
+ id="my-modal"
64
+ title="Modal title"
65
+ closeLabel="Close"
66
+ dialogRef={jest.fn()}
67
+ onClose={jest.fn()}
68
+ isIphone={false}
69
+ wide
70
+ >
71
+ Modal content
72
+ </BpkModalInner>,
73
+ );
74
+ expect(asFragment()).toMatchSnapshot();
75
+ });
76
+
77
+ it('should render correctly with closeText prop', () => {
78
+ const { asFragment } = render(
79
+ <BpkModalInner
80
+ id="my-modal"
81
+ title="Modal title"
82
+ dialogRef={jest.fn()}
83
+ onClose={jest.fn()}
84
+ isIphone={false}
85
+ closeText="Dismiss"
86
+ >
87
+ Modal content
88
+ </BpkModalInner>,
89
+ );
90
+ expect(asFragment()).toMatchSnapshot();
91
+ });
92
+
93
+ it('should render correctly when is iPhone', () => {
94
+ const { asFragment } = render(
95
+ <BpkModalInner
96
+ id="my-modal"
97
+ title="Modal title"
98
+ closeLabel="Close"
99
+ dialogRef={jest.fn()}
100
+ onClose={jest.fn()}
101
+ isIphone
102
+ >
103
+ Modal content
104
+ </BpkModalInner>,
105
+ );
106
+ expect(asFragment()).toMatchSnapshot();
107
+ });
108
+
109
+ it('should render correctly when it does not fills the screen on mobile', () => {
110
+ const { asFragment } = render(
111
+ <BpkModalInner
112
+ id="my-modal"
113
+ title="Modal title"
114
+ closeLabel="Close"
115
+ dialogRef={jest.fn()}
116
+ onClose={jest.fn()}
117
+ isIphone={false}
118
+ fullScreenOnMobile={false}
119
+ >
120
+ Modal content
121
+ </BpkModalInner>,
122
+ );
123
+ expect(asFragment()).toMatchSnapshot();
124
+ });
125
+
126
+ it('should render correctly when it is fullscreen', () => {
127
+ const { asFragment } = render(
128
+ <BpkModalInner
129
+ id="my-modal"
130
+ title="Modal title"
131
+ closeLabel="Close"
132
+ dialogRef={jest.fn()}
133
+ onClose={jest.fn()}
134
+ isIphone={false}
135
+ fullScreen
136
+ >
137
+ Modal content
138
+ </BpkModalInner>,
139
+ );
140
+ expect(asFragment()).toMatchSnapshot();
141
+ });
142
+
143
+ it('should render correctly with no padding', () => {
144
+ const { asFragment } = render(
145
+ <BpkModalInner
146
+ id="my-modal"
147
+ title="Modal title"
148
+ closeLabel="Close"
149
+ dialogRef={jest.fn()}
150
+ onClose={jest.fn()}
151
+ isIphone={false}
152
+ padded={false}
153
+ >
154
+ Modal content
155
+ </BpkModalInner>,
156
+ );
157
+ expect(asFragment()).toMatchSnapshot();
158
+ });
159
+
160
+ it('should render correctly with a custom content classname', () => {
161
+ const { asFragment } = render(
162
+ <BpkModalInner
163
+ id="my-modal"
164
+ title="Modal title"
165
+ closeLabel="Close"
166
+ dialogRef={jest.fn()}
167
+ onClose={jest.fn()}
168
+ isIphone={false}
169
+ contentClassName="my-classname"
170
+ >
171
+ Modal content
172
+ </BpkModalInner>,
173
+ );
174
+ expect(asFragment()).toMatchSnapshot();
175
+ });
176
+
177
+ it('should render correctly with an accessory view', () => {
178
+ const { asFragment } = render(
179
+ <BpkModalInner
180
+ id="my-modal"
181
+ title="Modal title"
182
+ closeLabel="Close"
183
+ dialogRef={jest.fn()}
184
+ onClose={jest.fn()}
185
+ isIphone={false}
186
+ contentClassName="my-classname"
187
+ accessoryView={
188
+ <BpkNavigationBarButtonLink
189
+ label="Close"
190
+ onClick={jest.fn()}
191
+ className="bpk-modal__leading-button"
192
+ >
193
+ <div>Testing</div>
194
+ </BpkNavigationBarButtonLink>
195
+ }
196
+ >
197
+ Modal content
198
+ </BpkModalInner>,
199
+ );
200
+ expect(asFragment()).toMatchSnapshot();
201
+ });
202
+ });
@@ -0,0 +1,125 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ @import '~bpk-mixins/index.scss';
20
+
21
+ $bpk-spacing-v2: true;
22
+
23
+ @mixin fullscreen() {
24
+ display: flex;
25
+ margin: 0;
26
+ flex-direction: column;
27
+ border-radius: 0;
28
+ box-shadow: none;
29
+ }
30
+
31
+ .bpk-modal {
32
+ z-index: $bpk-zindex-modal;
33
+ width: 100%;
34
+ max-width: $bpk-modal-max-width;
35
+ margin: auto;
36
+ transform: scale(1);
37
+ transition: opacity $bpk-duration-sm ease-in-out,
38
+ transform $bpk-duration-sm ease-in-out;
39
+ outline: 0;
40
+ background-color: $bpk-modal-background-color;
41
+ opacity: $bpk-modal-opacity;
42
+
43
+ // required to prevent the header extending beyond the rounded corners
44
+ overflow: hidden;
45
+
46
+ // FIX: Prevents ugly flickering when tapping inside the modal in Mobile Safari
47
+ -webkit-tap-highlight-color: transparent;
48
+
49
+ @include bpk-box-shadow-xl;
50
+ @include bpk-border-radius-sm;
51
+
52
+ &--full-screen-mobile {
53
+ @include bpk-breakpoint-mobile {
54
+ @include fullscreen;
55
+ }
56
+ }
57
+
58
+ &--full-screen {
59
+ max-width: none;
60
+
61
+ @include fullscreen;
62
+ }
63
+
64
+ &--wide {
65
+ @include bpk-breakpoint-above-mobile {
66
+ max-width: $bpk-modal-wide-max-width;
67
+ }
68
+ }
69
+
70
+ &--appear {
71
+ transform: scale(0.9);
72
+ opacity: $bpk-modal-initial-opacity;
73
+ }
74
+
75
+ &--appear-active {
76
+ transform: scale(1);
77
+ opacity: $bpk-modal-opacity;
78
+ }
79
+
80
+ &__header {
81
+ @include bpk-border-bottom-sm($bpk-line-day);
82
+ }
83
+
84
+ &__navigation {
85
+ display: flex;
86
+ justify-content: space-between;
87
+ background-color: $bpk-modal-background-color;
88
+ }
89
+
90
+ &__heading {
91
+ @include bpk-text;
92
+ @include bpk-label-1;
93
+ }
94
+
95
+ &__close-button {
96
+ position: relative; // Override position: absolute coming from BpkNavigationBar
97
+ right: auto;
98
+
99
+ @include bpk-margin-leading(bpk-spacing-base());
100
+
101
+ @include bpk-rtl {
102
+ left: auto;
103
+ }
104
+ }
105
+
106
+ &__accessory-view {
107
+ position: relative; // Override position: absolute coming from BpkNavigationBar
108
+ left: auto;
109
+ margin-right: bpk-spacing-base();
110
+
111
+ @include bpk-rtl {
112
+ right: auto;
113
+ margin-left: bpk-spacing-base();
114
+ }
115
+ }
116
+
117
+ &__content {
118
+ flex: 1;
119
+ overflow-y: auto;
120
+
121
+ &--padded {
122
+ padding: $bpk-modal-content-padding;
123
+ }
124
+ }
125
+ }