@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,229 @@
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 startOfMonth from 'date-fns/startOfMonth';
20
+ import endOfMonth from 'date-fns/endOfMonth';
21
+ import lastDayOfMonth from 'date-fns/lastDayOfMonth';
22
+ import getDay from 'date-fns/getDay';
23
+ import isWithinRange from 'date-fns/isWithinInterval';
24
+ import isToday from 'date-fns/isToday';
25
+ import isSaturday from 'date-fns/isSaturday';
26
+ import isSunday from 'date-fns/isSunday';
27
+ import isSameDay from 'date-fns/isSameDay';
28
+ import isSameWeek from 'date-fns/isSameWeek';
29
+ import isSameMonth from 'date-fns/isSameMonth';
30
+ import isBefore from 'date-fns/isBefore';
31
+ import isAfter from 'date-fns/isAfter';
32
+ import differenceInCalendarMonths from 'date-fns/differenceInCalendarMonths';
33
+ import addDays from 'date-fns/addDays';
34
+ import addMonths from 'date-fns/addMonths';
35
+ import setMonth from 'date-fns/setMonth';
36
+ import setYear from 'date-fns/setYear';
37
+ import startOfDay from 'date-fns/startOfDay';
38
+ import parseISO from 'date-fns/parseISO';
39
+ import format from 'date-fns/format';
40
+
41
+ import type { DaysOfWeek } from './custom-proptypes';
42
+
43
+ const ONE_MINUTE_IN_MS = 60 * 1000;
44
+ const ONE_HOUR_IN_MS = 60 * ONE_MINUTE_IN_MS;
45
+
46
+ // TODO: Update to use date-fns functions.
47
+ // see: https://github.com/date-fns/date-fns/issues/571 and https://bugs.webkit.org/show_bug.cgi?id=188001
48
+ //
49
+ // Safari has a problem with DST when the transition occurrs during midnight. To test set your timezone
50
+ // to BRT (Brasilia) and type new Date(2018, 10, 4) on Safari's console.
51
+ // It will return `Nov 03 2018 23:00:00` whereas Chrome and Firefox return `Nov 04 2018 01:00:00`.
52
+ //
53
+ // To go aroud this problem we're mostly avoiding date objects and using UTC when that's not
54
+ // possible.
55
+
56
+ function utc(year: number, month: number, date?: number) {
57
+ return new Date(Date.UTC(year, month, date));
58
+ }
59
+
60
+ function daysInMonth(year: number, month: number) {
61
+ // Gets the last day of the month specified
62
+ return new Date(year, month + 1, 0).getDate();
63
+ }
64
+
65
+ function dateAtStartOfDay(year: number, month: number, day?: number) {
66
+ const date = utc(year, month, day);
67
+ const tzOffset = date.getTimezoneOffset();
68
+
69
+ // Date is utc so we add/subtract the timezone hours.
70
+ // Using setTime is consistent on every browser so we have the same result everywhere.
71
+ date.setTime(date.getTime() + tzOffset * ONE_MINUTE_IN_MS);
72
+
73
+ // Bug in Safari that only occurs when the transition from/to DST is during midnight (e.g. Brazil and Chile).
74
+ // We want the exact day provided in the arguments so we adjust accordingly.
75
+ if (day !== date.getDate() && date.getHours() === 23) {
76
+ date.setTime(date.getTime() + ONE_HOUR_IN_MS);
77
+ }
78
+ return date;
79
+ }
80
+
81
+ function addDay(year: number, month: number, day?: number) {
82
+ const date = utc(year, month, day);
83
+ date.setUTCDate(date.getUTCDate() + 1);
84
+ return [date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()];
85
+ }
86
+
87
+ function startOfWeek(
88
+ year: number,
89
+ month: number,
90
+ day: number,
91
+ weekStartsOn: number,
92
+ ) {
93
+ const date = utc(year, month, day);
94
+ const weekDay = date.getUTCDay();
95
+ const diff = (weekDay < weekStartsOn ? 7 : 0) + weekDay - weekStartsOn;
96
+ date.setUTCDate(date.getUTCDate() - diff);
97
+ return [date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()];
98
+ }
99
+
100
+ function getCalendarMonthWeeks(date: Date, weekStartsOn: number) {
101
+ let [year, month, day] = startOfWeek(
102
+ date.getFullYear(),
103
+ date.getMonth(),
104
+ 1,
105
+ weekStartsOn,
106
+ );
107
+
108
+ const weeksInMonth = [];
109
+
110
+ for (let i = 0; i < 6; i += 1) {
111
+ const currWeek = [];
112
+ for (let j = 0; j < 7; j += 1) {
113
+ currWeek.push(dateAtStartOfDay(year, month, day));
114
+ [year, month, day] = addDay(year, month, day);
115
+ }
116
+ weeksInMonth.push(currWeek);
117
+ }
118
+ return weeksInMonth;
119
+ }
120
+
121
+ function getLastDayOfWeekend(daysOfWeek: DaysOfWeek) {
122
+ const weekend = daysOfWeek.map((day) => day.isWeekend);
123
+
124
+ if (weekend[0] && weekend[6]) {
125
+ // weekend stretches over turn the of the week
126
+ return daysOfWeek[weekend.indexOf(false) - 1].index;
127
+ }
128
+ return daysOfWeek[weekend.lastIndexOf(true)].index;
129
+ }
130
+
131
+ function getFirstDayOfWeekend(daysOfWeek: DaysOfWeek) {
132
+ const weekend = daysOfWeek.map((day) => day.isWeekend);
133
+
134
+ if (weekend[0] && weekend[6]) {
135
+ // weekend stretches over turn the of the week
136
+ return daysOfWeek[weekend.lastIndexOf(false) + 1].index;
137
+ }
138
+ return daysOfWeek[weekend.indexOf(true)].index;
139
+ }
140
+
141
+ const orderDaysOfWeek = (daysOfWeek: DaysOfWeek, weekStartsOn: number) => {
142
+ // Sorted in [sun, mon, ..., sat]
143
+ const sortedDaysOfWeek = daysOfWeek.slice().sort((a, b) => a.index - b.index);
144
+ // Ordered according to weekStartsOn, e.g. [mon, tue, ..., sun]
145
+ return [
146
+ ...sortedDaysOfWeek.slice(weekStartsOn),
147
+ ...sortedDaysOfWeek.slice(0, weekStartsOn),
148
+ ];
149
+ };
150
+
151
+ /* Takes arbitrary dates and returns the beginning of the first and enf of the last month containing these dates */
152
+ function getMonthRange(from: Date, to: Date) {
153
+ return {
154
+ min: startOfMonth(from),
155
+ max: endOfMonth(to),
156
+ };
157
+ }
158
+
159
+ function getMonthsInRange(from: Date, to: Date) {
160
+ const { max, min } = getMonthRange(from, to);
161
+ let currentMonth = startOfMonth(from);
162
+ const monthsInRange = [];
163
+
164
+ while (isWithinRange(currentMonth, { start: min, end: max })) {
165
+ monthsInRange.push(currentMonth);
166
+ currentMonth = addMonths(currentMonth, 1);
167
+ }
168
+
169
+ return monthsInRange;
170
+ }
171
+
172
+ /*
173
+ Adjusts a date, if necessary, to fit within a range.
174
+ If date passed in is null, it'll return the minimum date.
175
+ */
176
+ const dateToBoundaries = (date: Date | null, minDate: Date, maxDate: Date) => {
177
+ if (!date) {
178
+ return minDate;
179
+ }
180
+ if (isWithinRange(date, { start: minDate, end: maxDate })) {
181
+ return date;
182
+ }
183
+ if (isBefore(date, minDate)) {
184
+ return minDate;
185
+ }
186
+ return maxDate;
187
+ };
188
+
189
+ const setMonthYear = (date: Date | null, newMonth: number, newYear: number) => {
190
+ const dateToUse = date || new Date(newYear, newMonth, 1);
191
+ return setYear(setMonth(dateToUse, newMonth), newYear);
192
+ };
193
+
194
+ const parseIsoDate = parseISO;
195
+ const formatIsoDate = (date: Date) => format(date, 'yyyy-MM-dd');
196
+ const formatIsoMonth = (date: Date) => format(date, 'yyyy-MM');
197
+
198
+ export {
199
+ getCalendarMonthWeeks,
200
+ getFirstDayOfWeekend,
201
+ getLastDayOfWeekend,
202
+ getMonthsInRange,
203
+ getMonthRange,
204
+ getDay,
205
+ dateToBoundaries,
206
+ isWithinRange,
207
+ isSaturday,
208
+ isSunday,
209
+ isToday,
210
+ isSameDay,
211
+ isSameWeek,
212
+ isSameMonth,
213
+ isBefore,
214
+ isAfter,
215
+ differenceInCalendarMonths,
216
+ addMonths,
217
+ addDays,
218
+ orderDaysOfWeek,
219
+ setMonthYear,
220
+ startOfMonth,
221
+ lastDayOfMonth,
222
+ startOfDay,
223
+ format,
224
+ daysInMonth,
225
+ formatIsoDate,
226
+ formatIsoMonth,
227
+ parseIsoDate,
228
+ endOfMonth,
229
+ };
@@ -0,0 +1,36 @@
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 themeAttributes from './themeAttributes';
20
+
21
+ describe('themeAttributes', () => {
22
+ it('should export the expected themeAttributes', () => {
23
+ expect(themeAttributes).toEqual([
24
+ 'calendarDateTextColor',
25
+ 'calendarDateTextHoverColor',
26
+ 'calendarDateTextActiveColor',
27
+ 'calendarDateTextFocusColor',
28
+ 'calendarDateTextSelectedColor',
29
+ 'calendarDateSelectedBackgroundColor',
30
+ 'calendarDateFocusedBorderColor',
31
+ 'calendarNudgerIconColor',
32
+ 'calendarNudgerIconHoverColor',
33
+ 'calendarNudgerIconActiveColor',
34
+ ]);
35
+ });
36
+ });
@@ -1,11 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _BpkBoilerplate = _interopRequireDefault(require("./src/BpkBoilerplate"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
1
  /*
10
2
  * Backpack - Skyscanner's Design System
11
3
  *
@@ -23,5 +15,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
15
  * See the License for the specific language governing permissions and
24
16
  * limitations under the License.
25
17
  */
26
- var _default = _BpkBoilerplate.default;
27
- exports.default = _default;
18
+
19
+ export default [
20
+ 'calendarDateTextColor',
21
+ 'calendarDateTextHoverColor',
22
+ 'calendarDateTextActiveColor',
23
+ 'calendarDateTextFocusColor',
24
+ 'calendarDateTextSelectedColor',
25
+ 'calendarDateSelectedBackgroundColor',
26
+ 'calendarDateFocusedBorderColor',
27
+ 'calendarNudgerIconColor',
28
+ 'calendarNudgerIconHoverColor',
29
+ 'calendarNudgerIconActiveColor',
30
+ ];
@@ -1,10 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isTransitionEndSupported = exports.getTransformStyles = exports.getCalendarGridWidth = void 0;
7
- var _base = require("@skyscanner/bpk-foundations-web/tokens/base.es6");
8
1
  /*
9
2
  * Backpack - Skyscanner's Design System
10
3
  *
@@ -23,35 +16,47 @@ var _base = require("@skyscanner/bpk-foundations-web/tokens/base.es6");
23
16
  * limitations under the License.
24
17
  */
25
18
 
19
+ import {
20
+ calendarDaySize,
21
+ calendarDaySpacing, // @ts-expect-error Untyped import. See `decisions/imports-ts-suppressions.md`.
22
+ } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
23
+
26
24
  const CSS_UNIT_REGEX = /(^[+-]?(?:\d*\.)?\d+)(.+)/i;
27
- const splitToken = value => {
25
+
26
+ const splitToken = (value: string) => {
28
27
  const match = value.match(CSS_UNIT_REGEX);
29
28
  if (!match) {
30
- throw new Error(`Invalid token value. Expecting a valid css unit, got ${value}`);
29
+ throw new Error(
30
+ `Invalid token value. Expecting a valid css unit, got ${value}`,
31
+ );
31
32
  }
32
33
  const [_, val, unit] = match; // eslint-disable-line no-unused-vars
33
34
  return [parseFloat(val), unit];
34
35
  };
35
- const getCalendarGridWidth = (multiplier = 1) => {
36
- const [sizeValue, sizeUnit] = splitToken(_base.calendarDaySize);
37
- const [spacingValue, spacingUnit] = splitToken(_base.calendarDaySpacing);
36
+
37
+ export const getCalendarGridWidth = (multiplier = 1) => {
38
+ const [sizeValue, sizeUnit] = splitToken(calendarDaySize);
39
+ const [spacingValue, spacingUnit] = splitToken(calendarDaySpacing);
40
+
38
41
  if (sizeUnit !== spacingUnit) {
39
- throw new Error(`'calendarDaySize' and 'calendarDaySpacing' must use the same unit. Got ${sizeUnit} and ${spacingUnit}`);
42
+ throw new Error(
43
+ `'calendarDaySize' and 'calendarDaySpacing' must use the same unit. Got ${sizeUnit} and ${spacingUnit}`,
44
+ );
40
45
  }
41
46
  // @ts-expect-error TS doesn't correctly read the size and spacing values type i.e. numbers as returned by parseFloat
42
47
  const width = multiplier * (7 * (sizeValue + 2 * spacingValue));
43
48
  return `${width}${sizeUnit}`;
44
49
  };
45
- exports.getCalendarGridWidth = getCalendarGridWidth;
46
- const getTransformStyles = transformValue => {
50
+
51
+ export const getTransformStyles = (transformValue: string) => {
47
52
  const transform = `translateX(${transformValue})`;
48
53
  return {
49
54
  transform,
50
55
  msTransform: transform,
51
56
  MozTransform: transform,
52
- WebkitTransform: transform
57
+ WebkitTransform: transform,
53
58
  };
54
59
  };
55
- exports.getTransformStyles = getTransformStyles;
56
- const isTransitionEndSupported = () => !!(typeof window !== 'undefined' && 'TransitionEvent' in window);
57
- exports.isTransitionEndSupported = isTransitionEndSupported;
60
+
61
+ export const isTransitionEndSupported = () =>
62
+ !!(typeof window !== 'undefined' && 'TransitionEvent' in window);
@@ -0,0 +1,303 @@
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 format from 'date-fns/format';
20
+
21
+ export const formatDateFull = (date: Date) =>
22
+ format(date, 'EEEE, do MMMM yyyy');
23
+ export const formatDateFullArabic = (date: Date) => {
24
+ const dateString = 'EEEE, dd، MMMM، yyyy';
25
+ const newString = dateString.replace('yyyy', `${date.getUTCFullYear()}`);
26
+ return format(date, newString);
27
+ };
28
+ export const formatDateFullJapanese = (date: Date) => {
29
+ const dateString = 'Y年M月d日EEEE';
30
+ const newString = dateString.replace('Y', `${date.getUTCFullYear()}`);
31
+ return format(date, newString);
32
+ };
33
+ export const formatMonth = (date: Date) => format(date, 'MMMM yyyy');
34
+ export const formatMonthArabic = (date: Date) => {
35
+ const months = [
36
+ 'يناير',
37
+ 'فبراير',
38
+ 'مارس',
39
+ 'أبريل',
40
+ 'مايو',
41
+ 'يونيو',
42
+ 'يوليو',
43
+ 'أغسطس',
44
+ 'سبتمبر',
45
+ 'أكتوبر',
46
+ 'نوفمبر',
47
+ 'ديسمبر',
48
+ ];
49
+ return `${months[date.getMonth()]} ${date.getFullYear()}`;
50
+ };
51
+ export const formatMonthJapanese = (date: Date) => {
52
+ const months = [
53
+ '1月',
54
+ '2月',
55
+ '3月',
56
+ '4月',
57
+ '5月',
58
+ '6月',
59
+ '7月',
60
+ '8月',
61
+ '9月',
62
+ '10月',
63
+ '11月',
64
+ '12月',
65
+ ];
66
+ return `${date.getFullYear()}年${months[date.getMonth()]}`;
67
+ };
68
+
69
+ export const weekDays = [
70
+ {
71
+ name: 'Sunday',
72
+ nameAbbr: 'Sun',
73
+ nameNarrow: 'S',
74
+ index: 0,
75
+ isWeekend: true,
76
+ },
77
+ {
78
+ name: 'Monday',
79
+ nameAbbr: 'Mon',
80
+ nameNarrow: 'M',
81
+ index: 1,
82
+ isWeekend: false,
83
+ },
84
+ {
85
+ name: 'Tuesday',
86
+ nameAbbr: 'Tue',
87
+ nameNarrow: 'T',
88
+ index: 2,
89
+ isWeekend: false,
90
+ },
91
+ {
92
+ name: 'Wednesday',
93
+ nameAbbr: 'Wed',
94
+ nameNarrow: 'W',
95
+ index: 3,
96
+ isWeekend: false,
97
+ },
98
+ {
99
+ name: 'Thursday',
100
+ nameAbbr: 'Thu',
101
+ nameNarrow: 'T',
102
+ index: 4,
103
+ isWeekend: false,
104
+ },
105
+ {
106
+ name: 'Friday',
107
+ nameAbbr: 'Fri',
108
+ nameNarrow: 'F',
109
+ index: 5,
110
+ isWeekend: false,
111
+ },
112
+ {
113
+ name: 'Saturday',
114
+ nameAbbr: 'Sat',
115
+ nameNarrow: 'S',
116
+ index: 6,
117
+ isWeekend: true,
118
+ },
119
+ ];
120
+
121
+ export const weekDaysMoreWeekend = [
122
+ {
123
+ name: 'Sunday',
124
+ nameAbbr: 'Sun',
125
+ nameNarrow: 'S',
126
+ index: 0,
127
+ isWeekend: true,
128
+ },
129
+ {
130
+ name: 'Monday',
131
+ nameAbbr: 'Mon',
132
+ nameNarrow: 'M',
133
+ index: 1,
134
+ isWeekend: false,
135
+ },
136
+ {
137
+ name: 'Tuesday',
138
+ nameAbbr: 'Tue',
139
+ nameNarrow: 'T',
140
+ index: 2,
141
+ isWeekend: false,
142
+ },
143
+ {
144
+ name: 'Wednesday',
145
+ nameAbbr: 'Wed',
146
+ nameNarrow: 'W',
147
+ index: 3,
148
+ isWeekend: false,
149
+ },
150
+ {
151
+ name: 'Thursday',
152
+ nameAbbr: 'Thu',
153
+ nameNarrow: 'T',
154
+ index: 4,
155
+ isWeekend: false,
156
+ },
157
+ {
158
+ name: 'Friday',
159
+ nameAbbr: 'Fri',
160
+ nameNarrow: 'F',
161
+ index: 5,
162
+ isWeekend: true,
163
+ },
164
+ {
165
+ name: 'Saturday',
166
+ nameAbbr: 'Sat',
167
+ nameNarrow: 'S',
168
+ index: 6,
169
+ isWeekend: true,
170
+ },
171
+ ];
172
+
173
+ export const weekDaysArabic = [
174
+ {
175
+ name: 'الأحد',
176
+ nameAbbr: 'الأحد',
177
+ nameShort: 'الأحد',
178
+ nameNarrow: 'ح',
179
+ index: 0,
180
+ cldrKey: 'sun',
181
+ isWeekend: false,
182
+ },
183
+ {
184
+ name: 'الاثنين',
185
+ nameAbbr: 'الاثنين',
186
+ nameShort: 'الاثنين',
187
+ nameNarrow: 'ن',
188
+ index: 1,
189
+ cldrKey: 'mon',
190
+ isWeekend: false,
191
+ },
192
+ {
193
+ name: 'الثلاثاء',
194
+ nameAbbr: 'الثلاثاء',
195
+ nameShort: 'الثلاثاء',
196
+ nameNarrow: 'ث',
197
+ index: 2,
198
+ cldrKey: 'tue',
199
+ isWeekend: false,
200
+ },
201
+ {
202
+ name: 'الأربعاء',
203
+ nameAbbr: 'الأربعاء',
204
+ nameShort: 'الأربعاء',
205
+ nameNarrow: 'ر',
206
+ index: 3,
207
+ cldrKey: 'wed',
208
+ isWeekend: false,
209
+ },
210
+ {
211
+ name: 'الخميس',
212
+ nameAbbr: 'الخميس',
213
+ nameShort: 'الخميس',
214
+ nameNarrow: 'خ',
215
+ index: 4,
216
+ cldrKey: 'thu',
217
+ isWeekend: false,
218
+ },
219
+ {
220
+ name: 'الجمعة',
221
+ nameAbbr: 'الجمعة',
222
+ nameShort: 'الجمعة',
223
+ nameNarrow: 'ج',
224
+ index: 5,
225
+ cldrKey: 'fri',
226
+ isWeekend: true,
227
+ },
228
+ {
229
+ name: 'السبت',
230
+ nameAbbr: 'السبت',
231
+ nameShort: 'السبت',
232
+ nameNarrow: 'س',
233
+ index: 6,
234
+ cldrKey: 'sat',
235
+ isWeekend: true,
236
+ },
237
+ ];
238
+
239
+ export const weekDaysJapanese = [
240
+ {
241
+ name: '日曜日',
242
+ nameAbbr: '日',
243
+ nameShort: '日',
244
+ nameNarrow: '日',
245
+ index: 0,
246
+ cldrKey: 'sun',
247
+ isWeekend: true,
248
+ },
249
+ {
250
+ name: '月曜日',
251
+ nameAbbr: '月',
252
+ nameShort: '月',
253
+ nameNarrow: '月',
254
+ index: 1,
255
+ cldrKey: 'mon',
256
+ isWeekend: false,
257
+ },
258
+ {
259
+ name: '火曜日',
260
+ nameAbbr: '火',
261
+ nameShort: '火',
262
+ nameNarrow: '火',
263
+ index: 2,
264
+ cldrKey: 'tue',
265
+ isWeekend: false,
266
+ },
267
+ {
268
+ name: '水曜日',
269
+ nameAbbr: '水',
270
+ nameShort: '水',
271
+ nameNarrow: '水',
272
+ index: 3,
273
+ cldrKey: 'wed',
274
+ isWeekend: false,
275
+ },
276
+ {
277
+ name: '木曜日',
278
+ nameAbbr: '木',
279
+ nameShort: '木',
280
+ nameNarrow: '木',
281
+ index: 4,
282
+ cldrKey: 'thu',
283
+ isWeekend: false,
284
+ },
285
+ {
286
+ name: '金曜日',
287
+ nameAbbr: '金',
288
+ nameShort: '金',
289
+ nameNarrow: '金',
290
+ index: 5,
291
+ cldrKey: 'fri',
292
+ isWeekend: false,
293
+ },
294
+ {
295
+ name: '土曜日',
296
+ nameAbbr: '土',
297
+ nameShort: '土',
298
+ nameNarrow: '土',
299
+ index: 6,
300
+ cldrKey: 'sat',
301
+ isWeekend: true,
302
+ },
303
+ ];