bootstrap-rn 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/lib/module/Context.js.map +1 -1
  2. package/lib/module/Provider.js +4 -16
  3. package/lib/module/Provider.js.map +1 -1
  4. package/lib/module/components/Body.js +3 -3
  5. package/lib/module/components/Body.js.map +1 -1
  6. package/lib/module/components/Caret.js +4 -4
  7. package/lib/module/components/Caret.js.map +1 -1
  8. package/lib/module/components/Heading.js +3 -3
  9. package/lib/module/components/Heading.js.map +1 -1
  10. package/lib/module/components/Image.js +3 -3
  11. package/lib/module/components/Image.js.map +1 -1
  12. package/lib/module/components/ImageBackground.js +3 -3
  13. package/lib/module/components/ImageBackground.js.map +1 -1
  14. package/lib/module/components/Label.js +3 -3
  15. package/lib/module/components/Label.js.map +1 -1
  16. package/lib/module/components/Link.js +6 -4
  17. package/lib/module/components/Link.js.map +1 -1
  18. package/lib/module/components/Pressable.js +7 -4
  19. package/lib/module/components/Pressable.js.map +1 -1
  20. package/lib/module/components/ScrollView.js +3 -3
  21. package/lib/module/components/ScrollView.js.map +1 -1
  22. package/lib/module/components/Text.js +3 -3
  23. package/lib/module/components/Text.js.map +1 -1
  24. package/lib/module/components/TextInput.js +3 -3
  25. package/lib/module/components/TextInput.js.map +1 -1
  26. package/lib/module/components/View.js +3 -3
  27. package/lib/module/components/View.js.map +1 -1
  28. package/lib/module/components/alert/Alert.js +5 -5
  29. package/lib/module/components/alert/Alert.js.map +1 -1
  30. package/lib/module/components/badge/Badge.js +3 -3
  31. package/lib/module/components/badge/Badge.js.map +1 -1
  32. package/lib/module/components/breadcrumb/Breadcrumb.js +3 -3
  33. package/lib/module/components/breadcrumb/Breadcrumb.js.map +1 -1
  34. package/lib/module/components/breadcrumb/BreadcrumbItem.js +3 -3
  35. package/lib/module/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  36. package/lib/module/components/button-group/ButtonGroup.js +3 -3
  37. package/lib/module/components/button-group/ButtonGroup.js.map +1 -1
  38. package/lib/module/components/button-group/ButtonToolbar.js +3 -3
  39. package/lib/module/components/button-group/ButtonToolbar.js.map +1 -1
  40. package/lib/module/components/buttons/Button.js +3 -3
  41. package/lib/module/components/buttons/Button.js.map +1 -1
  42. package/lib/module/components/card/Card.js +3 -3
  43. package/lib/module/components/card/Card.js.map +1 -1
  44. package/lib/module/components/card/CardBody.js +3 -3
  45. package/lib/module/components/card/CardBody.js.map +1 -1
  46. package/lib/module/components/card/CardFooter.js +3 -3
  47. package/lib/module/components/card/CardFooter.js.map +1 -1
  48. package/lib/module/components/card/CardHeader.js +3 -3
  49. package/lib/module/components/card/CardHeader.js.map +1 -1
  50. package/lib/module/components/close/CloseButton.js +3 -3
  51. package/lib/module/components/close/CloseButton.js.map +1 -1
  52. package/lib/module/components/collapse/Collapse.js +3 -3
  53. package/lib/module/components/collapse/Collapse.js.map +1 -1
  54. package/lib/module/components/containers/Container.js +3 -3
  55. package/lib/module/components/containers/Container.js.map +1 -1
  56. package/lib/module/components/dropdown/Dropdown.js +3 -3
  57. package/lib/module/components/dropdown/Dropdown.js.map +1 -1
  58. package/lib/module/components/dropdown/DropdownDivider.js +3 -3
  59. package/lib/module/components/dropdown/DropdownDivider.js.map +1 -1
  60. package/lib/module/components/dropdown/DropdownHeader.js +3 -3
  61. package/lib/module/components/dropdown/DropdownHeader.js.map +1 -1
  62. package/lib/module/components/dropdown/DropdownItemText.js +3 -3
  63. package/lib/module/components/dropdown/DropdownItemText.js.map +1 -1
  64. package/lib/module/components/dropdown/DropdownMenu.js +3 -3
  65. package/lib/module/components/dropdown/DropdownMenu.js.map +1 -1
  66. package/lib/module/components/forms/Checkbox.js +3 -3
  67. package/lib/module/components/forms/Checkbox.js.map +1 -1
  68. package/lib/module/components/forms/Feedback.js +3 -3
  69. package/lib/module/components/forms/Feedback.js.map +1 -1
  70. package/lib/module/components/forms/FormCheck.js +3 -3
  71. package/lib/module/components/forms/FormCheck.js.map +1 -1
  72. package/lib/module/components/forms/FormCheckInput.js +6 -4
  73. package/lib/module/components/forms/FormCheckInput.js.map +1 -1
  74. package/lib/module/components/forms/FormCheckLabel.js +3 -3
  75. package/lib/module/components/forms/FormCheckLabel.js.map +1 -1
  76. package/lib/module/components/forms/FormLabel.js +3 -3
  77. package/lib/module/components/forms/FormLabel.js.map +1 -1
  78. package/lib/module/components/forms/FormText.js +3 -3
  79. package/lib/module/components/forms/FormText.js.map +1 -1
  80. package/lib/module/components/forms/Input.js +6 -4
  81. package/lib/module/components/forms/Input.js.map +1 -1
  82. package/lib/module/components/forms/Picker.js +7 -5
  83. package/lib/module/components/forms/Picker.js.map +1 -1
  84. package/lib/module/components/forms/PickerItem.js +3 -3
  85. package/lib/module/components/forms/PickerItem.js.map +1 -1
  86. package/lib/module/components/forms/Radio.js +3 -3
  87. package/lib/module/components/forms/Radio.js.map +1 -1
  88. package/lib/module/components/forms/RadioGroup.js +3 -3
  89. package/lib/module/components/forms/RadioGroup.js.map +1 -1
  90. package/lib/module/components/forms/Switch.js +3 -3
  91. package/lib/module/components/forms/Switch.js.map +1 -1
  92. package/lib/module/components/forms/internals/FormCheckInputNative.js +4 -4
  93. package/lib/module/components/forms/internals/FormCheckInputNative.js.map +1 -1
  94. package/lib/module/components/forms/internals/FormCheckInputWeb.js +7 -6
  95. package/lib/module/components/forms/internals/FormCheckInputWeb.js.map +1 -1
  96. package/lib/module/components/forms/internals/PickerNative.js +3 -2
  97. package/lib/module/components/forms/internals/PickerNative.js.map +1 -1
  98. package/lib/module/components/forms/internals/PickerNativeItem.js +3 -3
  99. package/lib/module/components/forms/internals/PickerNativeItem.js.map +1 -1
  100. package/lib/module/components/forms/internals/PickerWeb.js +4 -3
  101. package/lib/module/components/forms/internals/PickerWeb.js.map +1 -1
  102. package/lib/module/components/forms/internals/PickerWebItem.js +3 -3
  103. package/lib/module/components/forms/internals/PickerWebItem.js.map +1 -1
  104. package/lib/module/components/grid/Col.js +3 -3
  105. package/lib/module/components/grid/Col.js.map +1 -1
  106. package/lib/module/components/grid/Row.js +3 -3
  107. package/lib/module/components/grid/Row.js.map +1 -1
  108. package/lib/module/components/helpers/Dialog.web.js +2 -2
  109. package/lib/module/components/helpers/Dialog.web.js.map +1 -1
  110. package/lib/module/components/helpers/Portal.web.js +16 -1
  111. package/lib/module/components/helpers/Portal.web.js.map +1 -1
  112. package/lib/module/components/list-group/ListGroup.js +3 -3
  113. package/lib/module/components/list-group/ListGroup.js.map +1 -1
  114. package/lib/module/components/list-group/ListGroupItem.js +3 -3
  115. package/lib/module/components/list-group/ListGroupItem.js.map +1 -1
  116. package/lib/module/components/list-group/ListGroupItemAction.js +6 -4
  117. package/lib/module/components/list-group/ListGroupItemAction.js.map +1 -1
  118. package/lib/module/components/modal/Modal.js +3 -4
  119. package/lib/module/components/modal/Modal.js.map +1 -1
  120. package/lib/module/components/modal/ModalBody.js +3 -3
  121. package/lib/module/components/modal/ModalBody.js.map +1 -1
  122. package/lib/module/components/modal/ModalFooter.js +3 -3
  123. package/lib/module/components/modal/ModalFooter.js.map +1 -1
  124. package/lib/module/components/modal/ModalHeader.js +3 -3
  125. package/lib/module/components/modal/ModalHeader.js.map +1 -1
  126. package/lib/module/components/modal/ModalTitle.js +3 -3
  127. package/lib/module/components/modal/ModalTitle.js.map +1 -1
  128. package/lib/module/components/nav/Nav.js +3 -3
  129. package/lib/module/components/nav/Nav.js.map +1 -1
  130. package/lib/module/components/nav/NavLink.js +6 -4
  131. package/lib/module/components/nav/NavLink.js.map +1 -1
  132. package/lib/module/components/nav/TabContent.js +3 -3
  133. package/lib/module/components/nav/TabContent.js.map +1 -1
  134. package/lib/module/components/nav/TabPane.js +3 -3
  135. package/lib/module/components/nav/TabPane.js.map +1 -1
  136. package/lib/module/components/navbar/Navbar.js +3 -3
  137. package/lib/module/components/navbar/Navbar.js.map +1 -1
  138. package/lib/module/components/navbar/NavbarBrand.js +3 -3
  139. package/lib/module/components/navbar/NavbarBrand.js.map +1 -1
  140. package/lib/module/components/navbar/NavbarCollapse.js +3 -3
  141. package/lib/module/components/navbar/NavbarCollapse.js.map +1 -1
  142. package/lib/module/components/navbar/NavbarText.js +3 -3
  143. package/lib/module/components/navbar/NavbarText.js.map +1 -1
  144. package/lib/module/components/navbar/NavbarToggler.js +3 -3
  145. package/lib/module/components/navbar/NavbarToggler.js.map +1 -1
  146. package/lib/module/components/offcanvas/Offcanvas.js +3 -3
  147. package/lib/module/components/offcanvas/Offcanvas.js.map +1 -1
  148. package/lib/module/components/offcanvas/OffcanvasBody.js +3 -3
  149. package/lib/module/components/offcanvas/OffcanvasBody.js.map +1 -1
  150. package/lib/module/components/offcanvas/OffcanvasHeader.js +3 -3
  151. package/lib/module/components/offcanvas/OffcanvasHeader.js.map +1 -1
  152. package/lib/module/components/offcanvas/OffcanvasTitle.js +3 -3
  153. package/lib/module/components/offcanvas/OffcanvasTitle.js.map +1 -1
  154. package/lib/module/components/pagination/Pagination.js +3 -3
  155. package/lib/module/components/pagination/Pagination.js.map +1 -1
  156. package/lib/module/components/pagination/PaginationItem.js +3 -3
  157. package/lib/module/components/pagination/PaginationItem.js.map +1 -1
  158. package/lib/module/components/placeholders/Placeholders.js +6 -6
  159. package/lib/module/components/placeholders/Placeholders.js.map +1 -1
  160. package/lib/module/components/popover/Popover.js +3 -3
  161. package/lib/module/components/popover/Popover.js.map +1 -1
  162. package/lib/module/components/popover/PopoverArrow.js +3 -3
  163. package/lib/module/components/popover/PopoverArrow.js.map +1 -1
  164. package/lib/module/components/popover/PopoverBody.js +3 -3
  165. package/lib/module/components/popover/PopoverBody.js.map +1 -1
  166. package/lib/module/components/popover/PopoverHeader.js +3 -3
  167. package/lib/module/components/popover/PopoverHeader.js.map +1 -1
  168. package/lib/module/components/popover/injectPopover.js +3 -2
  169. package/lib/module/components/popover/injectPopover.js.map +1 -1
  170. package/lib/module/components/progress/Progress.js +3 -3
  171. package/lib/module/components/progress/Progress.js.map +1 -1
  172. package/lib/module/components/progress/ProgressBar.js +3 -3
  173. package/lib/module/components/progress/ProgressBar.js.map +1 -1
  174. package/lib/module/components/spinners/Spinner.js +3 -3
  175. package/lib/module/components/spinners/Spinner.js.map +1 -1
  176. package/lib/module/components/toasts/Toast.js +3 -3
  177. package/lib/module/components/toasts/Toast.js.map +1 -1
  178. package/lib/module/components/toasts/ToastBody.js +3 -3
  179. package/lib/module/components/toasts/ToastBody.js.map +1 -1
  180. package/lib/module/components/toasts/ToastContainer.js +3 -3
  181. package/lib/module/components/toasts/ToastContainer.js.map +1 -1
  182. package/lib/module/components/toasts/ToastHeader.js +3 -3
  183. package/lib/module/components/toasts/ToastHeader.js.map +1 -1
  184. package/lib/module/components/tooltip/Tooltip.js +3 -3
  185. package/lib/module/components/tooltip/Tooltip.js.map +1 -1
  186. package/lib/module/components/tooltip/TooltipArrow.js +3 -3
  187. package/lib/module/components/tooltip/TooltipArrow.js.map +1 -1
  188. package/lib/module/components/tooltip/TooltipInner.js +3 -3
  189. package/lib/module/components/tooltip/TooltipInner.js.map +1 -1
  190. package/lib/module/components/tooltip/injectTooltip.js +3 -2
  191. package/lib/module/components/tooltip/injectTooltip.js.map +1 -1
  192. package/lib/module/components/type/Blockquote.js +3 -3
  193. package/lib/module/components/type/Blockquote.js.map +1 -1
  194. package/lib/module/components/type/Code.js +3 -3
  195. package/lib/module/components/type/Code.js.map +1 -1
  196. package/lib/module/components/type/DisplayHeading.js +3 -2
  197. package/lib/module/components/type/DisplayHeading.js.map +1 -1
  198. package/lib/module/components/type/Paragraph.js +3 -3
  199. package/lib/module/components/type/Paragraph.js.map +1 -1
  200. package/lib/module/hooks/useFocusRing.js +1 -1
  201. package/lib/module/hooks/useScrollbarEffects.js +8 -5
  202. package/lib/module/hooks/useScrollbarEffects.js.map +1 -1
  203. package/lib/module/hooks/useScrollbarEffects.web.js +21 -19
  204. package/lib/module/hooks/useScrollbarEffects.web.js.map +1 -1
  205. package/lib/module/hooks/useScrollbarOffset.js +10 -0
  206. package/lib/module/hooks/useScrollbarOffset.js.map +1 -0
  207. package/lib/module/index.js +2 -2
  208. package/lib/module/index.js.map +1 -1
  209. package/lib/module/utils.js.map +1 -1
  210. package/lib/typescript/Context.d.ts +4 -9
  211. package/lib/typescript/Context.d.ts.map +1 -1
  212. package/lib/typescript/Provider.d.ts.map +1 -1
  213. package/lib/typescript/components/Body.d.ts +2 -2
  214. package/lib/typescript/components/Body.d.ts.map +1 -1
  215. package/lib/typescript/components/Caret.d.ts +2 -2
  216. package/lib/typescript/components/Caret.d.ts.map +1 -1
  217. package/lib/typescript/components/Heading.d.ts +2 -2
  218. package/lib/typescript/components/Heading.d.ts.map +1 -1
  219. package/lib/typescript/components/Image.d.ts +1 -1
  220. package/lib/typescript/components/Image.d.ts.map +1 -1
  221. package/lib/typescript/components/ImageBackground.d.ts +1 -1
  222. package/lib/typescript/components/ImageBackground.d.ts.map +1 -1
  223. package/lib/typescript/components/Label.d.ts +2 -2
  224. package/lib/typescript/components/Label.d.ts.map +1 -1
  225. package/lib/typescript/components/Link.d.ts +2 -2
  226. package/lib/typescript/components/Link.d.ts.map +1 -1
  227. package/lib/typescript/components/Pressable.d.ts +1 -1
  228. package/lib/typescript/components/Pressable.d.ts.map +1 -1
  229. package/lib/typescript/components/ScrollView.d.ts +1 -1
  230. package/lib/typescript/components/ScrollView.d.ts.map +1 -1
  231. package/lib/typescript/components/Text.d.ts +1 -1
  232. package/lib/typescript/components/Text.d.ts.map +1 -1
  233. package/lib/typescript/components/TextInput.d.ts +1 -1
  234. package/lib/typescript/components/TextInput.d.ts.map +1 -1
  235. package/lib/typescript/components/View.d.ts +1 -1
  236. package/lib/typescript/components/View.d.ts.map +1 -1
  237. package/lib/typescript/components/alert/Alert.d.ts +2 -2
  238. package/lib/typescript/components/alert/Alert.d.ts.map +1 -1
  239. package/lib/typescript/components/badge/Badge.d.ts +2 -2
  240. package/lib/typescript/components/badge/Badge.d.ts.map +1 -1
  241. package/lib/typescript/components/breadcrumb/Breadcrumb.d.ts +5 -3
  242. package/lib/typescript/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  243. package/lib/typescript/components/breadcrumb/BreadcrumbItem.d.ts +2 -2
  244. package/lib/typescript/components/breadcrumb/BreadcrumbItem.d.ts.map +1 -1
  245. package/lib/typescript/components/button-group/ButtonGroup.d.ts +2 -2
  246. package/lib/typescript/components/button-group/ButtonGroup.d.ts.map +1 -1
  247. package/lib/typescript/components/button-group/ButtonToolbar.d.ts +2 -2
  248. package/lib/typescript/components/button-group/ButtonToolbar.d.ts.map +1 -1
  249. package/lib/typescript/components/buttons/Button.d.ts +3 -2
  250. package/lib/typescript/components/buttons/Button.d.ts.map +1 -1
  251. package/lib/typescript/components/card/Card.d.ts +9 -5
  252. package/lib/typescript/components/card/Card.d.ts.map +1 -1
  253. package/lib/typescript/components/card/CardBody.d.ts +2 -2
  254. package/lib/typescript/components/card/CardBody.d.ts.map +1 -1
  255. package/lib/typescript/components/card/CardFooter.d.ts +2 -2
  256. package/lib/typescript/components/card/CardFooter.d.ts.map +1 -1
  257. package/lib/typescript/components/card/CardHeader.d.ts +2 -2
  258. package/lib/typescript/components/card/CardHeader.d.ts.map +1 -1
  259. package/lib/typescript/components/close/CloseButton.d.ts +2 -2
  260. package/lib/typescript/components/close/CloseButton.d.ts.map +1 -1
  261. package/lib/typescript/components/collapse/Collapse.d.ts +3 -2
  262. package/lib/typescript/components/collapse/Collapse.d.ts.map +1 -1
  263. package/lib/typescript/components/containers/Container.d.ts +2 -2
  264. package/lib/typescript/components/containers/Container.d.ts.map +1 -1
  265. package/lib/typescript/components/dropdown/Dropdown.d.ts +11 -6
  266. package/lib/typescript/components/dropdown/Dropdown.d.ts.map +1 -1
  267. package/lib/typescript/components/dropdown/DropdownDivider.d.ts +2 -2
  268. package/lib/typescript/components/dropdown/DropdownDivider.d.ts.map +1 -1
  269. package/lib/typescript/components/dropdown/DropdownHeader.d.ts +2 -2
  270. package/lib/typescript/components/dropdown/DropdownHeader.d.ts.map +1 -1
  271. package/lib/typescript/components/dropdown/DropdownItemText.d.ts +2 -2
  272. package/lib/typescript/components/dropdown/DropdownItemText.d.ts.map +1 -1
  273. package/lib/typescript/components/dropdown/DropdownMenu.d.ts +2 -2
  274. package/lib/typescript/components/dropdown/DropdownMenu.d.ts.map +1 -1
  275. package/lib/typescript/components/dropdown/useToggleDropdown.d.ts +2 -2
  276. package/lib/typescript/components/dropdown/useToggleDropdown.d.ts.map +1 -1
  277. package/lib/typescript/components/forms/Checkbox.d.ts +2 -1
  278. package/lib/typescript/components/forms/Checkbox.d.ts.map +1 -1
  279. package/lib/typescript/components/forms/Feedback.d.ts +2 -2
  280. package/lib/typescript/components/forms/Feedback.d.ts.map +1 -1
  281. package/lib/typescript/components/forms/FormCheck.d.ts +5 -3
  282. package/lib/typescript/components/forms/FormCheck.d.ts.map +1 -1
  283. package/lib/typescript/components/forms/FormCheckInput.d.ts +2 -1
  284. package/lib/typescript/components/forms/FormCheckInput.d.ts.map +1 -1
  285. package/lib/typescript/components/forms/FormCheckLabel.d.ts +2 -1
  286. package/lib/typescript/components/forms/FormCheckLabel.d.ts.map +1 -1
  287. package/lib/typescript/components/forms/FormLabel.d.ts +2 -1
  288. package/lib/typescript/components/forms/FormLabel.d.ts.map +1 -1
  289. package/lib/typescript/components/forms/FormText.d.ts +2 -2
  290. package/lib/typescript/components/forms/FormText.d.ts.map +1 -1
  291. package/lib/typescript/components/forms/Input.d.ts +2 -2
  292. package/lib/typescript/components/forms/Input.d.ts.map +1 -1
  293. package/lib/typescript/components/forms/Picker.d.ts +5 -4
  294. package/lib/typescript/components/forms/Picker.d.ts.map +1 -1
  295. package/lib/typescript/components/forms/PickerItem.d.ts +2 -2
  296. package/lib/typescript/components/forms/PickerItem.d.ts.map +1 -1
  297. package/lib/typescript/components/forms/Radio.d.ts +5 -2
  298. package/lib/typescript/components/forms/Radio.d.ts.map +1 -1
  299. package/lib/typescript/components/forms/RadioGroup.d.ts +2 -2
  300. package/lib/typescript/components/forms/RadioGroup.d.ts.map +1 -1
  301. package/lib/typescript/components/forms/Switch.d.ts +2 -1
  302. package/lib/typescript/components/forms/Switch.d.ts.map +1 -1
  303. package/lib/typescript/components/forms/internals/FormCheckInputNative.d.ts +2 -1
  304. package/lib/typescript/components/forms/internals/FormCheckInputNative.d.ts.map +1 -1
  305. package/lib/typescript/components/forms/internals/FormCheckInputWeb.d.ts +2 -1
  306. package/lib/typescript/components/forms/internals/FormCheckInputWeb.d.ts.map +1 -1
  307. package/lib/typescript/components/forms/internals/PickerNative.d.ts +2 -1
  308. package/lib/typescript/components/forms/internals/PickerNative.d.ts.map +1 -1
  309. package/lib/typescript/components/forms/internals/PickerNativeItem.d.ts +2 -2
  310. package/lib/typescript/components/forms/internals/PickerNativeItem.d.ts.map +1 -1
  311. package/lib/typescript/components/forms/internals/PickerWeb.d.ts +2 -1
  312. package/lib/typescript/components/forms/internals/PickerWeb.d.ts.map +1 -1
  313. package/lib/typescript/components/forms/internals/PickerWebItem.d.ts +2 -2
  314. package/lib/typescript/components/forms/internals/PickerWebItem.d.ts.map +1 -1
  315. package/lib/typescript/components/grid/Col.d.ts +2 -2
  316. package/lib/typescript/components/grid/Col.d.ts.map +1 -1
  317. package/lib/typescript/components/grid/Row.d.ts +2 -2
  318. package/lib/typescript/components/grid/Row.d.ts.map +1 -1
  319. package/lib/typescript/components/helpers/Portal.web.d.ts.map +1 -1
  320. package/lib/typescript/components/list-group/ListGroup.d.ts +7 -4
  321. package/lib/typescript/components/list-group/ListGroup.d.ts.map +1 -1
  322. package/lib/typescript/components/list-group/ListGroupItem.d.ts +2 -2
  323. package/lib/typescript/components/list-group/ListGroupItem.d.ts.map +1 -1
  324. package/lib/typescript/components/list-group/ListGroupItemAction.d.ts +2 -2
  325. package/lib/typescript/components/list-group/ListGroupItemAction.d.ts.map +1 -1
  326. package/lib/typescript/components/modal/Modal.d.ts +13 -7
  327. package/lib/typescript/components/modal/Modal.d.ts.map +1 -1
  328. package/lib/typescript/components/modal/ModalBody.d.ts +3 -2
  329. package/lib/typescript/components/modal/ModalBody.d.ts.map +1 -1
  330. package/lib/typescript/components/modal/ModalFooter.d.ts +2 -2
  331. package/lib/typescript/components/modal/ModalFooter.d.ts.map +1 -1
  332. package/lib/typescript/components/modal/ModalHeader.d.ts +2 -2
  333. package/lib/typescript/components/modal/ModalHeader.d.ts.map +1 -1
  334. package/lib/typescript/components/modal/ModalTitle.d.ts +2 -2
  335. package/lib/typescript/components/modal/ModalTitle.d.ts.map +1 -1
  336. package/lib/typescript/components/nav/Nav.d.ts +5 -3
  337. package/lib/typescript/components/nav/Nav.d.ts.map +1 -1
  338. package/lib/typescript/components/nav/NavLink.d.ts +2 -2
  339. package/lib/typescript/components/nav/NavLink.d.ts.map +1 -1
  340. package/lib/typescript/components/nav/Tab.d.ts +4 -2
  341. package/lib/typescript/components/nav/Tab.d.ts.map +1 -1
  342. package/lib/typescript/components/nav/TabContent.d.ts +2 -2
  343. package/lib/typescript/components/nav/TabContent.d.ts.map +1 -1
  344. package/lib/typescript/components/nav/TabPane.d.ts +2 -2
  345. package/lib/typescript/components/nav/TabPane.d.ts.map +1 -1
  346. package/lib/typescript/components/navbar/Navbar.d.ts +11 -6
  347. package/lib/typescript/components/navbar/Navbar.d.ts.map +1 -1
  348. package/lib/typescript/components/navbar/NavbarBrand.d.ts +2 -2
  349. package/lib/typescript/components/navbar/NavbarBrand.d.ts.map +1 -1
  350. package/lib/typescript/components/navbar/NavbarCollapse.d.ts +2 -2
  351. package/lib/typescript/components/navbar/NavbarCollapse.d.ts.map +1 -1
  352. package/lib/typescript/components/navbar/NavbarText.d.ts +2 -2
  353. package/lib/typescript/components/navbar/NavbarText.d.ts.map +1 -1
  354. package/lib/typescript/components/navbar/NavbarToggler.d.ts +2 -1
  355. package/lib/typescript/components/navbar/NavbarToggler.d.ts.map +1 -1
  356. package/lib/typescript/components/offcanvas/Offcanvas.d.ts +10 -6
  357. package/lib/typescript/components/offcanvas/Offcanvas.d.ts.map +1 -1
  358. package/lib/typescript/components/offcanvas/OffcanvasBody.d.ts +2 -2
  359. package/lib/typescript/components/offcanvas/OffcanvasBody.d.ts.map +1 -1
  360. package/lib/typescript/components/offcanvas/OffcanvasHeader.d.ts +2 -2
  361. package/lib/typescript/components/offcanvas/OffcanvasHeader.d.ts.map +1 -1
  362. package/lib/typescript/components/offcanvas/OffcanvasTitle.d.ts +2 -2
  363. package/lib/typescript/components/offcanvas/OffcanvasTitle.d.ts.map +1 -1
  364. package/lib/typescript/components/pagination/Pagination.d.ts +5 -3
  365. package/lib/typescript/components/pagination/Pagination.d.ts.map +1 -1
  366. package/lib/typescript/components/pagination/PaginationItem.d.ts +2 -2
  367. package/lib/typescript/components/pagination/PaginationItem.d.ts.map +1 -1
  368. package/lib/typescript/components/placeholders/Placeholders.d.ts +2 -2
  369. package/lib/typescript/components/placeholders/Placeholders.d.ts.map +1 -1
  370. package/lib/typescript/components/popover/Popover.d.ts +9 -5
  371. package/lib/typescript/components/popover/Popover.d.ts.map +1 -1
  372. package/lib/typescript/components/popover/PopoverArrow.d.ts +2 -2
  373. package/lib/typescript/components/popover/PopoverArrow.d.ts.map +1 -1
  374. package/lib/typescript/components/popover/PopoverBody.d.ts +2 -2
  375. package/lib/typescript/components/popover/PopoverBody.d.ts.map +1 -1
  376. package/lib/typescript/components/popover/PopoverHeader.d.ts +2 -2
  377. package/lib/typescript/components/popover/PopoverHeader.d.ts.map +1 -1
  378. package/lib/typescript/components/popover/injectPopover.d.ts +5 -1
  379. package/lib/typescript/components/popover/injectPopover.d.ts.map +1 -1
  380. package/lib/typescript/components/progress/Progress.d.ts +5 -3
  381. package/lib/typescript/components/progress/Progress.d.ts.map +1 -1
  382. package/lib/typescript/components/progress/ProgressBar.d.ts +2 -2
  383. package/lib/typescript/components/progress/ProgressBar.d.ts.map +1 -1
  384. package/lib/typescript/components/spinners/Spinner.d.ts +2 -2
  385. package/lib/typescript/components/spinners/Spinner.d.ts.map +1 -1
  386. package/lib/typescript/components/toasts/Toast.d.ts +7 -4
  387. package/lib/typescript/components/toasts/Toast.d.ts.map +1 -1
  388. package/lib/typescript/components/toasts/ToastBody.d.ts +2 -2
  389. package/lib/typescript/components/toasts/ToastBody.d.ts.map +1 -1
  390. package/lib/typescript/components/toasts/ToastContainer.d.ts +3 -2
  391. package/lib/typescript/components/toasts/ToastContainer.d.ts.map +1 -1
  392. package/lib/typescript/components/toasts/ToastHeader.d.ts +2 -2
  393. package/lib/typescript/components/toasts/ToastHeader.d.ts.map +1 -1
  394. package/lib/typescript/components/tooltip/Tooltip.d.ts +7 -4
  395. package/lib/typescript/components/tooltip/Tooltip.d.ts.map +1 -1
  396. package/lib/typescript/components/tooltip/TooltipArrow.d.ts +2 -2
  397. package/lib/typescript/components/tooltip/TooltipArrow.d.ts.map +1 -1
  398. package/lib/typescript/components/tooltip/TooltipInner.d.ts +2 -2
  399. package/lib/typescript/components/tooltip/TooltipInner.d.ts.map +1 -1
  400. package/lib/typescript/components/tooltip/injectTooltip.d.ts +5 -1
  401. package/lib/typescript/components/tooltip/injectTooltip.d.ts.map +1 -1
  402. package/lib/typescript/components/type/Blockquote.d.ts +2 -2
  403. package/lib/typescript/components/type/Blockquote.d.ts.map +1 -1
  404. package/lib/typescript/components/type/Code.d.ts +2 -2
  405. package/lib/typescript/components/type/Code.d.ts.map +1 -1
  406. package/lib/typescript/components/type/DisplayHeading.d.ts +5 -2
  407. package/lib/typescript/components/type/DisplayHeading.d.ts.map +1 -1
  408. package/lib/typescript/components/type/Paragraph.d.ts +2 -2
  409. package/lib/typescript/components/type/Paragraph.d.ts.map +1 -1
  410. package/lib/typescript/hooks/useScrollbarEffects.d.ts +3 -3
  411. package/lib/typescript/hooks/useScrollbarEffects.d.ts.map +1 -1
  412. package/lib/typescript/hooks/useScrollbarEffects.web.d.ts +3 -3
  413. package/lib/typescript/hooks/useScrollbarEffects.web.d.ts.map +1 -1
  414. package/lib/typescript/hooks/useScrollbarOffset.d.ts +2 -0
  415. package/lib/typescript/hooks/useScrollbarOffset.d.ts.map +1 -0
  416. package/lib/typescript/index.d.ts +3 -3
  417. package/lib/typescript/index.d.ts.map +1 -1
  418. package/lib/typescript/utils.d.ts +1 -1
  419. package/lib/typescript/utils.d.ts.map +1 -1
  420. package/package.json +92 -92
  421. package/src/Context.ts +4 -7
  422. package/src/Provider.tsx +4 -21
  423. package/src/components/Body.tsx +3 -5
  424. package/src/components/Caret.tsx +109 -111
  425. package/src/components/Heading.tsx +47 -49
  426. package/src/components/Image.tsx +3 -5
  427. package/src/components/ImageBackground.tsx +9 -10
  428. package/src/components/Label.tsx +32 -34
  429. package/src/components/Link.tsx +104 -101
  430. package/src/components/Pressable.tsx +167 -167
  431. package/src/components/ScrollView.tsx +76 -75
  432. package/src/components/Text.tsx +3 -4
  433. package/src/components/TextInput.tsx +36 -39
  434. package/src/components/View.tsx +3 -5
  435. package/src/components/alert/Alert.tsx +79 -80
  436. package/src/components/badge/Badge.tsx +41 -43
  437. package/src/components/breadcrumb/Breadcrumb.tsx +54 -56
  438. package/src/components/breadcrumb/BreadcrumbItem.tsx +80 -81
  439. package/src/components/button-group/ButtonGroup.tsx +42 -46
  440. package/src/components/button-group/ButtonToolbar.tsx +32 -34
  441. package/src/components/buttons/Button.tsx +3 -4
  442. package/src/components/card/Card.tsx +44 -46
  443. package/src/components/card/CardBody.tsx +38 -40
  444. package/src/components/card/CardFooter.tsx +42 -44
  445. package/src/components/card/CardHeader.tsx +43 -45
  446. package/src/components/close/CloseButton.tsx +53 -54
  447. package/src/components/collapse/Collapse.tsx +29 -31
  448. package/src/components/containers/Container.tsx +116 -118
  449. package/src/components/dropdown/Dropdown.tsx +3 -4
  450. package/src/components/dropdown/DropdownDivider.tsx +30 -32
  451. package/src/components/dropdown/DropdownHeader.tsx +40 -42
  452. package/src/components/dropdown/DropdownItemText.tsx +35 -37
  453. package/src/components/dropdown/DropdownMenu.tsx +109 -112
  454. package/src/components/dropdown/useToggleDropdown.ts +1 -1
  455. package/src/components/forms/Checkbox.tsx +13 -15
  456. package/src/components/forms/Feedback.tsx +38 -40
  457. package/src/components/forms/FormCheck.tsx +68 -69
  458. package/src/components/forms/FormCheckInput.tsx +78 -81
  459. package/src/components/forms/FormCheckLabel.tsx +69 -71
  460. package/src/components/forms/FormLabel.tsx +41 -43
  461. package/src/components/forms/FormText.tsx +36 -38
  462. package/src/components/forms/Input.tsx +10 -5
  463. package/src/components/forms/Picker.tsx +11 -6
  464. package/src/components/forms/PickerItem.tsx +3 -5
  465. package/src/components/forms/Radio.tsx +7 -7
  466. package/src/components/forms/RadioGroup.tsx +3 -4
  467. package/src/components/forms/Switch.tsx +13 -15
  468. package/src/components/forms/internals/FormCheckInputNative.tsx +49 -51
  469. package/src/components/forms/internals/FormCheckInputWeb.tsx +11 -11
  470. package/src/components/forms/internals/PickerNative.tsx +84 -84
  471. package/src/components/forms/internals/PickerNativeItem.tsx +29 -31
  472. package/src/components/forms/internals/PickerWeb.tsx +4 -3
  473. package/src/components/forms/internals/PickerWebItem.tsx +15 -17
  474. package/src/components/grid/Col.tsx +96 -97
  475. package/src/components/grid/Row.tsx +32 -34
  476. package/src/components/helpers/Dialog.web.tsx +2 -2
  477. package/src/components/helpers/Portal.web.tsx +21 -1
  478. package/src/components/list-group/ListGroup.tsx +75 -77
  479. package/src/components/list-group/ListGroupItem.tsx +150 -151
  480. package/src/components/list-group/ListGroupItemAction.tsx +194 -193
  481. package/src/components/modal/Modal.tsx +91 -96
  482. package/src/components/modal/ModalBody.tsx +26 -27
  483. package/src/components/modal/ModalFooter.tsx +38 -42
  484. package/src/components/modal/ModalHeader.tsx +37 -41
  485. package/src/components/modal/ModalTitle.tsx +3 -5
  486. package/src/components/nav/Nav.tsx +104 -106
  487. package/src/components/nav/NavLink.tsx +272 -267
  488. package/src/components/nav/TabContent.tsx +12 -14
  489. package/src/components/nav/TabPane.tsx +50 -52
  490. package/src/components/navbar/Navbar.tsx +89 -90
  491. package/src/components/navbar/NavbarBrand.tsx +78 -80
  492. package/src/components/navbar/NavbarCollapse.tsx +61 -63
  493. package/src/components/navbar/NavbarText.tsx +43 -45
  494. package/src/components/navbar/NavbarToggler.tsx +34 -36
  495. package/src/components/offcanvas/Offcanvas.tsx +4 -5
  496. package/src/components/offcanvas/OffcanvasBody.tsx +28 -29
  497. package/src/components/offcanvas/OffcanvasHeader.tsx +53 -55
  498. package/src/components/offcanvas/OffcanvasTitle.tsx +21 -23
  499. package/src/components/pagination/Pagination.tsx +37 -39
  500. package/src/components/pagination/PaginationItem.tsx +42 -43
  501. package/src/components/placeholders/Placeholders.tsx +30 -34
  502. package/src/components/popover/Popover.tsx +3 -4
  503. package/src/components/popover/PopoverArrow.tsx +25 -29
  504. package/src/components/popover/PopoverBody.tsx +37 -41
  505. package/src/components/popover/PopoverHeader.tsx +46 -48
  506. package/src/components/popover/injectPopover.tsx +69 -68
  507. package/src/components/progress/Progress.tsx +64 -65
  508. package/src/components/progress/ProgressBar.tsx +62 -70
  509. package/src/components/spinners/Spinner.tsx +161 -156
  510. package/src/components/toasts/Toast.tsx +65 -67
  511. package/src/components/toasts/ToastBody.tsx +39 -41
  512. package/src/components/toasts/ToastContainer.tsx +17 -19
  513. package/src/components/toasts/ToastHeader.tsx +55 -59
  514. package/src/components/tooltip/Tooltip.tsx +3 -4
  515. package/src/components/tooltip/TooltipArrow.tsx +21 -25
  516. package/src/components/tooltip/TooltipInner.tsx +37 -41
  517. package/src/components/tooltip/injectTooltip.tsx +67 -66
  518. package/src/components/type/Blockquote.tsx +43 -45
  519. package/src/components/type/Code.tsx +37 -39
  520. package/src/components/type/DisplayHeading.tsx +38 -38
  521. package/src/components/type/Paragraph.tsx +40 -42
  522. package/src/hooks/useFocusRing.ts +1 -1
  523. package/src/hooks/useScrollbarEffects.ts +8 -7
  524. package/src/hooks/useScrollbarEffects.web.ts +26 -30
  525. package/src/hooks/useScrollbarOffset.ts +12 -0
  526. package/src/index.ts +3 -3
  527. package/src/utils.ts +1 -1
  528. package/lib/module/hooks/useFixedElement.js +0 -17
  529. package/lib/module/hooks/useFixedElement.js.map +0 -1
  530. package/lib/typescript/hooks/useFixedElement.d.ts +0 -2
  531. package/lib/typescript/hooks/useFixedElement.d.ts.map +0 -1
  532. package/src/hooks/useFixedElement.ts +0 -18
@@ -1,42 +1,38 @@
1
- import React from 'react';
2
- import StyleSheet from '../../style/StyleSheet';
3
- import View, { ViewProps, ViewRef } from '../View';
4
- import css from '../../style/css';
5
- import { getStyles } from '../../utils';
6
-
7
- export interface ModalFooterProps extends ViewProps {}
8
-
9
- const styles = StyleSheet.create({
10
- '.modal-footer': css`
11
- display: flex;
12
- flex-direction: row; // added for bootstrap-rn
13
- flex-shrink: 0;
14
- flex-wrap: wrap;
15
- align-items: center; // vertically center
16
- justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
17
- padding: $modal-inner-padding;
18
- border-top-width: $modal-footer-border-width;
19
- border-style: solid;
20
- border-color: $modal-footer-border-color;
21
- border-bottom-start-radius: $modal-content-inner-border-radius;
22
- border-bottom-end-radius: $modal-content-inner-border-radius;
23
- `,
24
- });
25
-
26
- const ModalFooter = React.forwardRef<ViewRef, ModalFooterProps>(
27
- (props, ref) => {
28
- const { children, style, ...elementProps } = props;
29
-
30
- const classes = getStyles(styles, ['.modal-footer']);
31
-
32
- return (
33
- <View {...elementProps} ref={ref} style={[classes, style]}>
34
- {children}
35
- </View>
36
- );
37
- },
38
- );
39
-
40
- ModalFooter.displayName = 'ModalFooter';
41
-
42
- export default ModalFooter;
1
+ import React from 'react';
2
+ import StyleSheet from '../../style/StyleSheet';
3
+ import View, { ViewProps, ViewRef } from '../View';
4
+ import css from '../../style/css';
5
+ import { getStyles } from '../../utils';
6
+
7
+ export interface ModalFooterProps extends ViewProps {}
8
+
9
+ const styles = StyleSheet.create({
10
+ '.modal-footer': css`
11
+ display: flex;
12
+ flex-direction: row; // added for bootstrap-rn
13
+ flex-shrink: 0;
14
+ flex-wrap: wrap;
15
+ align-items: center; // vertically center
16
+ justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
17
+ padding: $modal-inner-padding;
18
+ border-top-width: $modal-footer-border-width;
19
+ border-style: solid;
20
+ border-color: $modal-footer-border-color;
21
+ border-bottom-start-radius: $modal-content-inner-border-radius;
22
+ border-bottom-end-radius: $modal-content-inner-border-radius;
23
+ `,
24
+ });
25
+
26
+ function ModalFooter(props: ModalFooterProps & React.RefAttributes<ViewRef>) {
27
+ const { ref, children, style, ...elementProps } = props;
28
+
29
+ const classes = getStyles(styles, ['.modal-footer']);
30
+
31
+ return (
32
+ <View {...elementProps} ref={ref} style={[classes, style]}>
33
+ {children}
34
+ </View>
35
+ );
36
+ }
37
+
38
+ export default ModalFooter;
@@ -1,41 +1,37 @@
1
- import React from 'react';
2
- import StyleSheet from '../../style/StyleSheet';
3
- import View, { ViewProps, ViewRef } from '../View';
4
- import css from '../../style/css';
5
- import { getStyles } from '../../utils';
6
-
7
- export interface ModalHeaderProps extends ViewProps {}
8
-
9
- const styles = StyleSheet.create({
10
- '.modal-header': css`
11
- display: flex;
12
- flex-direction: row; // added for bootstrap-rn
13
- flex-shrink: 0;
14
- align-items: center;
15
- justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
16
- padding: $modal-header-padding;
17
- border-bottom-width: $modal-header-border-width;
18
- border-style: solid;
19
- border-color: $modal-header-border-color;
20
- border-top-left-radius: $modal-content-inner-border-radius;
21
- border-top-right-radius: $modal-content-inner-border-radius;
22
- `,
23
- });
24
-
25
- const ModalHeader = React.forwardRef<ViewRef, ModalHeaderProps>(
26
- (props, ref) => {
27
- const { children, style, ...elementProps } = props;
28
-
29
- const classes = getStyles(styles, ['.modal-header']);
30
-
31
- return (
32
- <View {...elementProps} ref={ref} style={[classes, style]}>
33
- {children}
34
- </View>
35
- );
36
- },
37
- );
38
-
39
- ModalHeader.displayName = 'ModalHeader';
40
-
41
- export default ModalHeader;
1
+ import React from 'react';
2
+ import StyleSheet from '../../style/StyleSheet';
3
+ import View, { ViewProps, ViewRef } from '../View';
4
+ import css from '../../style/css';
5
+ import { getStyles } from '../../utils';
6
+
7
+ export interface ModalHeaderProps extends ViewProps {}
8
+
9
+ const styles = StyleSheet.create({
10
+ '.modal-header': css`
11
+ display: flex;
12
+ flex-direction: row; // added for bootstrap-rn
13
+ flex-shrink: 0;
14
+ align-items: center;
15
+ justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
16
+ padding: $modal-header-padding;
17
+ border-bottom-width: $modal-header-border-width;
18
+ border-style: solid;
19
+ border-color: $modal-header-border-color;
20
+ border-top-left-radius: $modal-content-inner-border-radius;
21
+ border-top-right-radius: $modal-content-inner-border-radius;
22
+ `,
23
+ });
24
+
25
+ function ModalHeader(props: ModalHeaderProps & React.RefAttributes<ViewRef>) {
26
+ const { ref, children, style, ...elementProps } = props;
27
+
28
+ const classes = getStyles(styles, ['.modal-header']);
29
+
30
+ return (
31
+ <View {...elementProps} ref={ref} style={[classes, style]}>
32
+ {children}
33
+ </View>
34
+ );
35
+ }
36
+
37
+ export default ModalHeader;
@@ -16,8 +16,8 @@ const styles = StyleSheet.create({
16
16
  `,
17
17
  });
18
18
 
19
- const ModalTitle = React.forwardRef<TextRef, ModalTitleProps>((props, ref) => {
20
- const { children, style, ...elementProps } = props;
19
+ function ModalTitle(props: ModalTitleProps & React.RefAttributes<TextRef>) {
20
+ const { ref, children, style, ...elementProps } = props;
21
21
 
22
22
  const { identifier } = useForcedContext(ModalContext);
23
23
 
@@ -34,8 +34,6 @@ const ModalTitle = React.forwardRef<TextRef, ModalTitleProps>((props, ref) => {
34
34
  {children}
35
35
  </Heading>
36
36
  );
37
- });
38
-
39
- ModalTitle.displayName = 'ModalTitle';
37
+ }
40
38
 
41
39
  export default ModalTitle;
@@ -1,106 +1,104 @@
1
- import React, { useContext, useMemo } from 'react';
2
- import { Platform } from 'react-native';
3
- import StyleSheet from '../../style/StyleSheet';
4
- import css from '../../style/css';
5
- import View, { ViewProps, ViewRef } from '../View';
6
- import { GRID_BREAKPOINTS } from '../../theme/proxies';
7
- import { infix, next } from '../../theme/breakpoints';
8
- import { getStyles, each } from '../../utils';
9
- import NavbarContext, { NavbarContextProps } from '../navbar/NavbarContext';
10
- import NavContext, { NavVariant } from './NavContext';
11
- import NavLink from './NavLink';
12
- import TabContext, { TabContextProps } from './TabContext';
13
-
14
- export interface NavProps extends ViewProps {
15
- variant?: NavVariant;
16
- }
17
-
18
- const styles = StyleSheet.create({
19
- '.nav': css`
20
- display: flex;
21
- flex-direction: row; // added for bootstrap-rn
22
- // flex-wrap: wrap; // bootstrap-rn: width will shrink on native with "flex-direction: column;"
23
- padding-left: 0;
24
- margin-bottom: 0;
25
- // list-style: none;
26
- `,
27
- '.nav-tabs': css`
28
- border-bottom-width: $nav-tabs-border-width;
29
- border-style: solid;
30
- border-color: $nav-tabs-border-color;
31
- `,
32
- // Navbar styles
33
- '.navbar-nav': css`
34
- display: flex;
35
- flex-direction: column; // cannot use "inherit" to get the ".navbar"s value
36
- padding-left: 0;
37
- margin-bottom: 0;
38
- // list-style: none;
39
- `,
40
- ...each(GRID_BREAKPOINTS, (breakpoint) => ({
41
- [`.navbar-expand${infix(next(breakpoint))} .navbar-nav`]: css`
42
- @include media-breakpoint-up(${next(breakpoint)}) {
43
- flex-direction: row;
44
- }
45
- `,
46
- })),
47
- });
48
-
49
- const getRole = (
50
- tabbable: TabContextProps | null,
51
- navbar: NavbarContextProps | null,
52
- ) => {
53
- if (tabbable) {
54
- return 'tablist';
55
- }
56
-
57
- if (Platform.OS === 'web' && !navbar) {
58
- return 'navigation';
59
- }
60
-
61
- return undefined;
62
- };
63
-
64
- const Nav = React.forwardRef<ViewRef, NavProps>((props, ref) => {
65
- const { children, variant, style, ...elementProps } = props;
66
-
67
- const navbar = useContext(NavbarContext);
68
- const tabbable = useContext(TabContext);
69
-
70
- const classes = getStyles(styles, [
71
- !navbar && '.nav',
72
- variant === 'tabs' && '.nav-tabs',
73
- // Navbar styles
74
- navbar && '.navbar-nav',
75
- navbar &&
76
- navbar.expand &&
77
- `.navbar-expand${
78
- navbar.expand === true ? '' : `-${navbar.expand}`
79
- } .navbar-nav`,
80
- ]);
81
-
82
- const contextValue = useMemo(
83
- () => ({
84
- variant,
85
- }),
86
- [variant],
87
- );
88
-
89
- return (
90
- <View
91
- {...elementProps}
92
- ref={ref}
93
- role={getRole(tabbable, navbar)}
94
- style={[classes, style]}
95
- >
96
- <NavContext.Provider value={contextValue}>{children}</NavContext.Provider>
97
- </View>
98
- );
99
- });
100
-
101
- Nav.displayName = 'Nav';
102
-
103
- export default Object.assign(Nav, {
104
- Context: NavContext,
105
- Link: NavLink,
106
- });
1
+ import React, { useContext, useMemo } from 'react';
2
+ import { Platform } from 'react-native';
3
+ import StyleSheet from '../../style/StyleSheet';
4
+ import css from '../../style/css';
5
+ import View, { ViewProps, ViewRef } from '../View';
6
+ import { GRID_BREAKPOINTS } from '../../theme/proxies';
7
+ import { infix, next } from '../../theme/breakpoints';
8
+ import { getStyles, each } from '../../utils';
9
+ import NavbarContext, { NavbarContextProps } from '../navbar/NavbarContext';
10
+ import NavContext, { NavVariant } from './NavContext';
11
+ import NavLink from './NavLink';
12
+ import TabContext, { TabContextProps } from './TabContext';
13
+
14
+ export interface NavProps extends ViewProps {
15
+ variant?: NavVariant;
16
+ }
17
+
18
+ const styles = StyleSheet.create({
19
+ '.nav': css`
20
+ display: flex;
21
+ flex-direction: row; // added for bootstrap-rn
22
+ // flex-wrap: wrap; // bootstrap-rn: width will shrink on native with "flex-direction: column;"
23
+ padding-left: 0;
24
+ margin-bottom: 0;
25
+ // list-style: none;
26
+ `,
27
+ '.nav-tabs': css`
28
+ border-bottom-width: $nav-tabs-border-width;
29
+ border-style: solid;
30
+ border-color: $nav-tabs-border-color;
31
+ `,
32
+ // Navbar styles
33
+ '.navbar-nav': css`
34
+ display: flex;
35
+ flex-direction: column; // cannot use "inherit" to get the ".navbar"s value
36
+ padding-left: 0;
37
+ margin-bottom: 0;
38
+ // list-style: none;
39
+ `,
40
+ ...each(GRID_BREAKPOINTS, (breakpoint) => ({
41
+ [`.navbar-expand${infix(next(breakpoint))} .navbar-nav`]: css`
42
+ @include media-breakpoint-up(${next(breakpoint)}) {
43
+ flex-direction: row;
44
+ }
45
+ `,
46
+ })),
47
+ });
48
+
49
+ const getRole = (
50
+ tabbable: TabContextProps | null,
51
+ navbar: NavbarContextProps | null,
52
+ ) => {
53
+ if (tabbable) {
54
+ return 'tablist';
55
+ }
56
+
57
+ if (Platform.OS === 'web' && !navbar) {
58
+ return 'navigation';
59
+ }
60
+
61
+ return undefined;
62
+ };
63
+
64
+ function Nav(props: NavProps & React.RefAttributes<ViewRef>) {
65
+ const { ref, children, variant, style, ...elementProps } = props;
66
+
67
+ const navbar = useContext(NavbarContext);
68
+ const tabbable = useContext(TabContext);
69
+
70
+ const classes = getStyles(styles, [
71
+ !navbar && '.nav',
72
+ variant === 'tabs' && '.nav-tabs',
73
+ // Navbar styles
74
+ navbar && '.navbar-nav',
75
+ navbar &&
76
+ navbar.expand &&
77
+ `.navbar-expand${
78
+ navbar.expand === true ? '' : `-${navbar.expand}`
79
+ } .navbar-nav`,
80
+ ]);
81
+
82
+ const contextValue = useMemo(
83
+ () => ({
84
+ variant,
85
+ }),
86
+ [variant],
87
+ );
88
+
89
+ return (
90
+ <View
91
+ {...elementProps}
92
+ ref={ref}
93
+ role={getRole(tabbable, navbar)}
94
+ style={[classes, style]}
95
+ >
96
+ <NavContext.Provider value={contextValue}>{children}</NavContext.Provider>
97
+ </View>
98
+ );
99
+ }
100
+
101
+ export default Object.assign(Nav, {
102
+ Context: NavContext,
103
+ Link: NavLink,
104
+ });