@openedx/paragon 21.7.1 → 22.0.0-alpha.16

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 (530) hide show
  1. package/README.md +36 -5
  2. package/bin/paragon-scripts.js +128 -10
  3. package/dist/ActionRow/_index.scss +2 -4
  4. package/dist/Alert/index.scss +41 -32
  5. package/dist/Annotation/_mixins.scss +104 -0
  6. package/dist/Annotation/index.scss +130 -103
  7. package/dist/Avatar/index.scss +18 -20
  8. package/dist/AvatarButton/index.scss +3 -5
  9. package/dist/Badge/index.scss +112 -2
  10. package/dist/Breadcrumb/index.scss +14 -16
  11. package/dist/Bubble/index.scss +25 -12
  12. package/dist/Button/_mixins.scss +14 -0
  13. package/dist/Button/button-group.scss +126 -0
  14. package/dist/Button/index.js +0 -2
  15. package/dist/Button/index.js.map +1 -1
  16. package/dist/Button/index.scss +855 -358
  17. package/dist/Card/card-bootstrap.scss +168 -0
  18. package/dist/Card/index.scss +78 -79
  19. package/dist/Carousel/index.scss +168 -2
  20. package/dist/Chip/index.scss +36 -34
  21. package/dist/ChipCarousel/index.scss +1 -3
  22. package/dist/CloseButton/index.scss +31 -2
  23. package/dist/Code/index.scss +47 -2
  24. package/dist/Collapsible/index.scss +15 -15
  25. package/dist/ColorPicker/index.scss +9 -11
  26. package/dist/DataTable/CollapsibleButtonGroup.js +2 -2
  27. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  28. package/dist/DataTable/filters/TextFilter.js +2 -3
  29. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  30. package/dist/DataTable/index.scss +48 -50
  31. package/dist/Dropdown/dropdown-bootstrap.scss +181 -0
  32. package/dist/Dropdown/index.js +0 -2
  33. package/dist/Dropdown/index.js.map +1 -1
  34. package/dist/Dropdown/index.scss +11 -12
  35. package/dist/Dropzone/index.scss +12 -14
  36. package/dist/Form/_FormText.scss +8 -8
  37. package/dist/Form/_bootstrap-custom-forms.scss +551 -0
  38. package/dist/Form/_bootstrap-forms.scss +381 -0
  39. package/dist/Form/_index.scss +165 -143
  40. package/dist/Form/_input-group.scss +188 -0
  41. package/dist/Form/_mixins.scss +216 -3
  42. package/dist/Hyperlink/index.scss +1 -1
  43. package/dist/Icon/index.scss +10 -12
  44. package/dist/IconButton/_mixins.scss +4 -0
  45. package/dist/IconButton/index.js +5 -11
  46. package/dist/IconButton/index.js.map +1 -1
  47. package/dist/IconButton/index.scss +387 -74
  48. package/dist/IconButtonToggle/index.scss +1 -1
  49. package/dist/Image/index.scss +53 -2
  50. package/dist/Menu/index.scss +25 -27
  51. package/dist/Modal/_ModalDialog.scss +51 -49
  52. package/dist/Modal/index.scss +6 -73
  53. package/dist/Nav/_mixins.scss +4 -4
  54. package/dist/Nav/index.scss +70 -66
  55. package/dist/Navbar/index.scss +276 -2
  56. package/dist/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  57. package/dist/Overlay/index.js +2 -3
  58. package/dist/Overlay/index.js.map +1 -1
  59. package/dist/PageBanner/index.scss +17 -21
  60. package/dist/Pagination/index.scss +51 -46
  61. package/dist/Pagination/pagination-bootstrap.scss +83 -0
  62. package/dist/Popover/index.scss +9 -10
  63. package/dist/Popover/popover-bootstrap.scss +198 -0
  64. package/dist/ProductTour/Checkpoint.scss +71 -43
  65. package/dist/ProgressBar/_mixins.scss +22 -0
  66. package/dist/ProgressBar/bootstrap-progress.scss +49 -0
  67. package/dist/ProgressBar/index.scss +28 -36
  68. package/dist/Scrollable/index.scss +2 -2
  69. package/dist/SearchField/SearchFieldInput.js +2 -2
  70. package/dist/SearchField/SearchFieldInput.js.map +1 -1
  71. package/dist/SearchField/index.scss +19 -21
  72. package/dist/SelectableBox/index.scss +11 -13
  73. package/dist/Sheet/index.scss +10 -10
  74. package/dist/Spinner/index.scss +57 -2
  75. package/dist/Stack/index.scss +1 -3
  76. package/dist/Stepper/index.scss +19 -20
  77. package/dist/Sticky/index.scss +4 -6
  78. package/dist/Tabs/index.js +0 -2
  79. package/dist/Tabs/index.js.map +1 -1
  80. package/dist/Tabs/index.scss +23 -30
  81. package/dist/Toast/ToastContainer.scss +9 -11
  82. package/dist/Toast/bootstrap-toast.scss +46 -0
  83. package/dist/Toast/index.scss +9 -10
  84. package/dist/Tooltip/index.scss +136 -10
  85. package/dist/ValidationMessage/index.scss +1 -1
  86. package/dist/core.css +16706 -0
  87. package/dist/core.css.map +1 -0
  88. package/dist/core.min.css +2 -0
  89. package/dist/index.js +0 -14
  90. package/dist/index.scss +0 -4
  91. package/dist/light.css +4083 -0
  92. package/dist/light.css.map +1 -0
  93. package/dist/light.min.css +2 -0
  94. package/dist/theme-urls.json +21 -0
  95. package/dist/utils/breakpoints.js +1 -1
  96. package/lib/build-scss.js +188 -0
  97. package/lib/build-tokens.js +119 -0
  98. package/lib/help.js +36 -23
  99. package/lib/replace-variables.js +38 -0
  100. package/lib/utils.js +9 -0
  101. package/package.json +25 -11
  102. package/src/ActionRow/_index.scss +2 -4
  103. package/src/Alert/index.scss +41 -32
  104. package/src/Annotation/_mixins.scss +104 -0
  105. package/src/Annotation/index.scss +130 -103
  106. package/src/Avatar/index.scss +18 -20
  107. package/src/AvatarButton/index.scss +3 -5
  108. package/src/Badge/index.scss +112 -2
  109. package/src/Breadcrumb/index.scss +14 -16
  110. package/src/Bubble/index.scss +25 -12
  111. package/src/Button/README.md +0 -54
  112. package/src/Button/_mixins.scss +14 -0
  113. package/src/Button/button-group.scss +126 -0
  114. package/src/Button/index.jsx +0 -3
  115. package/src/Button/index.scss +855 -358
  116. package/src/Card/card-bootstrap.scss +168 -0
  117. package/src/Card/index.scss +78 -79
  118. package/src/Carousel/index.scss +168 -2
  119. package/src/Chip/index.scss +36 -34
  120. package/src/ChipCarousel/index.scss +1 -3
  121. package/src/CloseButton/index.scss +31 -2
  122. package/src/Code/index.scss +47 -2
  123. package/src/Collapsible/index.scss +15 -15
  124. package/src/ColorPicker/index.scss +9 -11
  125. package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
  126. package/src/DataTable/filters/TextFilter.jsx +2 -3
  127. package/src/DataTable/index.scss +48 -50
  128. package/src/Dropdown/README.md +0 -93
  129. package/src/Dropdown/dropdown-bootstrap.scss +181 -0
  130. package/src/Dropdown/index.jsx +0 -2
  131. package/src/Dropdown/index.scss +11 -12
  132. package/src/Dropzone/index.scss +12 -14
  133. package/src/Form/_FormText.scss +8 -8
  134. package/src/Form/_bootstrap-custom-forms.scss +551 -0
  135. package/src/Form/_bootstrap-forms.scss +381 -0
  136. package/src/Form/_index.scss +165 -143
  137. package/src/Form/_input-group.scss +188 -0
  138. package/src/Form/_mixins.scss +216 -3
  139. package/src/Hyperlink/index.scss +1 -1
  140. package/src/Icon/index.scss +10 -12
  141. package/src/IconButton/README.md +1 -15
  142. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +5 -26
  143. package/src/IconButton/_mixins.scss +4 -0
  144. package/src/IconButton/index.jsx +6 -13
  145. package/src/IconButton/index.scss +387 -74
  146. package/src/IconButtonToggle/index.scss +1 -1
  147. package/src/Image/index.scss +53 -2
  148. package/src/Menu/index.scss +25 -27
  149. package/src/Modal/_ModalDialog.scss +51 -49
  150. package/src/Modal/index.scss +6 -73
  151. package/src/Nav/_mixins.scss +4 -4
  152. package/src/Nav/index.scss +70 -66
  153. package/src/Navbar/index.scss +276 -2
  154. package/src/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  155. package/src/Overlay/index.jsx +2 -3
  156. package/src/PageBanner/index.scss +17 -21
  157. package/src/Pagination/index.scss +51 -46
  158. package/src/Pagination/pagination-bootstrap.scss +83 -0
  159. package/src/Popover/index.scss +9 -10
  160. package/src/Popover/popover-bootstrap.scss +198 -0
  161. package/src/ProductTour/Checkpoint.scss +71 -43
  162. package/src/ProgressBar/_mixins.scss +22 -0
  163. package/src/ProgressBar/bootstrap-progress.scss +49 -0
  164. package/src/ProgressBar/index.scss +28 -36
  165. package/src/Scrollable/index.scss +2 -2
  166. package/src/SearchField/SearchFieldInput.jsx +2 -2
  167. package/src/SearchField/__snapshots__/SearchField.test.jsx.snap +12 -8
  168. package/src/SearchField/index.scss +19 -21
  169. package/src/SelectableBox/index.scss +11 -13
  170. package/src/Sheet/index.scss +10 -10
  171. package/src/Spinner/index.scss +57 -2
  172. package/src/Stack/index.scss +1 -3
  173. package/src/Stepper/index.scss +19 -20
  174. package/src/Sticky/index.scss +4 -6
  175. package/src/Tabs/README.md +1 -25
  176. package/src/Tabs/index.jsx +0 -3
  177. package/src/Tabs/index.scss +23 -30
  178. package/src/Toast/ToastContainer.scss +9 -11
  179. package/src/Toast/bootstrap-toast.scss +46 -0
  180. package/src/Toast/index.scss +9 -10
  181. package/src/Tooltip/index.scss +136 -10
  182. package/src/TransitionReplace/README.md +4 -4
  183. package/src/ValidationMessage/index.scss +1 -1
  184. package/src/index.js +0 -14
  185. package/src/index.scss +0 -4
  186. package/src/utils/breakpoints.js +1 -1
  187. package/styles/css/core/custom-media-breakpoints.css +17 -0
  188. package/styles/css/core/index.css +2 -0
  189. package/styles/css/core/variables.css +608 -0
  190. package/styles/css/themes/light/index.css +2 -0
  191. package/styles/css/themes/light/utility-classes.css +2454 -0
  192. package/styles/css/themes/light/variables.css +1629 -0
  193. package/{scss → styles/scss}/core/_functions.scss +1 -1
  194. package/styles/scss/core/_grid.scss +21 -0
  195. package/{scss → styles/scss}/core/_utilities.scss +17 -11
  196. package/styles/scss/core/_variables.scss +869 -0
  197. package/styles/scss/core/bootstrap-override/_functions.scss +104 -0
  198. package/styles/scss/core/bootstrap-override/_mixins.scss +4 -0
  199. package/styles/scss/core/bootstrap-override/_utilities.scss +4 -0
  200. package/styles/scss/core/bootstrap-override/bootstrap.scss +2 -0
  201. package/styles/scss/core/bootstrap-override/mixins/_grid-framework.scss +80 -0
  202. package/styles/scss/core/bootstrap-override/mixins/_grid.scss +69 -0
  203. package/styles/scss/core/bootstrap-override/mixins/_list-group.scss +22 -0
  204. package/styles/scss/core/bootstrap-override/utilities/_background.scss +7 -0
  205. package/styles/scss/core/bootstrap-override/utilities/_borders.scss +67 -0
  206. package/styles/scss/core/bootstrap-override/utilities/_spacing.scss +70 -0
  207. package/styles/scss/core/bootstrap-override/utilities/_text.scss +68 -0
  208. package/styles/scss/core/core.scss +20 -0
  209. package/{scss → styles/scss}/core/utilities-only.scss +1 -0
  210. package/tokens/README.md +158 -0
  211. package/tokens/css-utilities.js +56 -0
  212. package/tokens/map-scss-to-css.js +24 -0
  213. package/tokens/replace-variables.js +32 -0
  214. package/tokens/sass-helpers.js +98 -0
  215. package/tokens/src/core/alias/size.json +15 -0
  216. package/tokens/src/core/components/ActionRow.json +10 -0
  217. package/tokens/src/core/components/Alert.json +30 -0
  218. package/tokens/src/core/components/Annotation.json +25 -0
  219. package/tokens/src/core/components/Avatar.json +17 -0
  220. package/tokens/src/core/components/AvatarButton.json +11 -0
  221. package/tokens/src/core/components/Badge.json +33 -0
  222. package/tokens/src/core/components/Breadcrumb.json +37 -0
  223. package/tokens/src/core/components/Bubble.json +10 -0
  224. package/tokens/src/core/components/Button/core.json +101 -0
  225. package/tokens/src/core/components/Card.json +91 -0
  226. package/tokens/src/core/components/Carousel.json +37 -0
  227. package/tokens/src/core/components/Chip.json +19 -0
  228. package/tokens/src/core/components/ChipCarousel.json +9 -0
  229. package/tokens/src/core/components/CloseButton.json +14 -0
  230. package/tokens/src/core/components/Code.json +34 -0
  231. package/tokens/src/core/components/Collapsible.json +29 -0
  232. package/tokens/src/core/components/ColorPicker.json +8 -0
  233. package/tokens/src/core/components/Container.json +13 -0
  234. package/tokens/src/core/components/DataTable.json +27 -0
  235. package/tokens/src/core/components/Dropdown.json +67 -0
  236. package/tokens/src/core/components/Dropzone.json +25 -0
  237. package/tokens/src/core/components/Form/other.json +14 -0
  238. package/tokens/src/core/components/Form/size.json +233 -0
  239. package/tokens/src/core/components/Form/spacing.json +155 -0
  240. package/tokens/src/core/components/Form/transition.json +16 -0
  241. package/tokens/src/core/components/Form/typography.json +122 -0
  242. package/tokens/src/core/components/Icon.json +11 -0
  243. package/tokens/src/core/components/IconButton.json +15 -0
  244. package/tokens/src/core/components/Image.json +28 -0
  245. package/tokens/src/core/components/Menu.json +48 -0
  246. package/tokens/src/core/components/Modal.json +47 -0
  247. package/tokens/src/core/components/Nav.json +55 -0
  248. package/tokens/src/core/components/Navbar.json +70 -0
  249. package/tokens/src/core/components/Pagination.json +70 -0
  250. package/tokens/src/core/components/Popover.json +48 -0
  251. package/tokens/src/core/components/ProductTour.json +37 -0
  252. package/tokens/src/core/components/ProgressBar.json +44 -0
  253. package/tokens/src/core/components/SearchField.json +23 -0
  254. package/tokens/src/core/components/SelectableBox.json +9 -0
  255. package/tokens/src/core/components/Sheet.json +10 -0
  256. package/tokens/src/core/components/Spinner.json +19 -0
  257. package/tokens/src/core/components/Stack.json +7 -0
  258. package/tokens/src/core/components/Stepper.json +42 -0
  259. package/tokens/src/core/components/Sticky.json +7 -0
  260. package/tokens/src/core/components/Tab.json +18 -0
  261. package/tokens/src/core/components/Tabs.json +19 -0
  262. package/tokens/src/core/components/Toast.json +30 -0
  263. package/tokens/src/core/components/Tooltip.json +33 -0
  264. package/tokens/src/core/components/general/caret.json +13 -0
  265. package/tokens/src/core/components/general/headings.json +16 -0
  266. package/tokens/src/core/components/general/hr.json +10 -0
  267. package/tokens/src/core/components/general/input.json +51 -0
  268. package/tokens/src/core/components/general/link.json +30 -0
  269. package/tokens/src/core/components/general/list.json +26 -0
  270. package/tokens/src/core/components/general/text.json +24 -0
  271. package/tokens/src/core/global/breakpoints.json +12 -0
  272. package/tokens/src/core/global/display.json +21 -0
  273. package/tokens/src/core/global/elevation.json +19 -0
  274. package/tokens/src/core/global/other.json +4 -0
  275. package/tokens/src/core/global/spacing.json +35 -0
  276. package/tokens/src/core/global/transition.json +14 -0
  277. package/tokens/src/core/global/typography.json +91 -0
  278. package/tokens/src/core/utilities/color.json +12 -0
  279. package/tokens/src/themes/light/alias/color.json +114 -0
  280. package/tokens/src/themes/light/components/Alert.json +47 -0
  281. package/tokens/src/themes/light/components/Annotation.json +29 -0
  282. package/tokens/src/themes/light/components/Avatar.json +7 -0
  283. package/tokens/src/themes/light/components/Badge.json +186 -0
  284. package/tokens/src/themes/light/components/Breadcrumb.json +15 -0
  285. package/tokens/src/themes/light/components/Bubble.json +18 -0
  286. package/tokens/src/themes/light/components/Button/brand.json +260 -0
  287. package/tokens/src/themes/light/components/Button/core.json +24 -0
  288. package/tokens/src/themes/light/components/Button/danger.json +247 -0
  289. package/tokens/src/themes/light/components/Button/dark.json +230 -0
  290. package/tokens/src/themes/light/components/Button/info.json +238 -0
  291. package/tokens/src/themes/light/components/Button/light.json +236 -0
  292. package/tokens/src/themes/light/components/Button/primary.json +250 -0
  293. package/tokens/src/themes/light/components/Button/secondary.json +278 -0
  294. package/tokens/src/themes/light/components/Button/success.json +253 -0
  295. package/tokens/src/themes/light/components/Button/tertiary.json +109 -0
  296. package/tokens/src/themes/light/components/Button/warning.json +276 -0
  297. package/tokens/src/themes/light/components/Card.json +40 -0
  298. package/tokens/src/themes/light/components/Carousel.json +45 -0
  299. package/tokens/src/themes/light/components/Chip.json +19 -0
  300. package/tokens/src/themes/light/components/CloseButton.json +10 -0
  301. package/tokens/src/themes/light/components/Code.json +23 -0
  302. package/tokens/src/themes/light/components/DataTable.json +26 -0
  303. package/tokens/src/themes/light/components/Dropdown.json +36 -0
  304. package/tokens/src/themes/light/components/Dropzone.json +19 -0
  305. package/tokens/src/themes/light/components/Form/color.json +270 -0
  306. package/tokens/src/themes/light/components/Form/elevation.json +76 -0
  307. package/tokens/src/themes/light/components/Form/other.json +131 -0
  308. package/tokens/src/themes/light/components/IconButton.json +451 -0
  309. package/tokens/src/themes/light/components/Image.json +18 -0
  310. package/tokens/src/themes/light/components/Menu.json +30 -0
  311. package/tokens/src/themes/light/components/Modal.json +37 -0
  312. package/tokens/src/themes/light/components/Nav.json +145 -0
  313. package/tokens/src/themes/light/components/Navbar.json +136 -0
  314. package/tokens/src/themes/light/components/OverflowScroll.json +9 -0
  315. package/tokens/src/themes/light/components/PageBanner.json +24 -0
  316. package/tokens/src/themes/light/components/Pagination.json +40 -0
  317. package/tokens/src/themes/light/components/Popover.json +55 -0
  318. package/tokens/src/themes/light/components/ProductTour.json +35 -0
  319. package/tokens/src/themes/light/components/ProgressBar.json +20 -0
  320. package/tokens/src/themes/light/components/Scrollable.json +14 -0
  321. package/tokens/src/themes/light/components/SearchField.json +25 -0
  322. package/tokens/src/themes/light/components/Sheet.json +22 -0
  323. package/tokens/src/themes/light/components/Stepper.json +34 -0
  324. package/tokens/src/themes/light/components/Sticky.json +18 -0
  325. package/tokens/src/themes/light/components/Tab.json +55 -0
  326. package/tokens/src/themes/light/components/Toast.json +33 -0
  327. package/tokens/src/themes/light/components/Tooltip.json +30 -0
  328. package/tokens/src/themes/light/components/general/body.json +8 -0
  329. package/tokens/src/themes/light/components/general/headings.json +7 -0
  330. package/tokens/src/themes/light/components/general/hr.json +15 -0
  331. package/tokens/src/themes/light/components/general/input.json +18 -0
  332. package/tokens/src/themes/light/components/general/link.json +109 -0
  333. package/tokens/src/themes/light/components/general/list.json +38 -0
  334. package/tokens/src/themes/light/components/general/text.json +6 -0
  335. package/tokens/src/themes/light/global/color.json +1661 -0
  336. package/tokens/src/themes/light/global/elevation.json +201 -0
  337. package/tokens/src/themes/light/global/other.json +4 -0
  338. package/tokens/style-dictionary.js +223 -0
  339. package/tokens/utils.js +210 -0
  340. package/dist/ActionRow/_variables.scss +0 -2
  341. package/dist/Alert/_variables.scss +0 -24
  342. package/dist/Annotation/_variables.scss +0 -18
  343. package/dist/Avatar/_variables.scss +0 -10
  344. package/dist/AvatarButton/_variables.scss +0 -3
  345. package/dist/Badge/_variables.scss +0 -16
  346. package/dist/Breadcrumb/_variables.scss +0 -27
  347. package/dist/Bubble/_variables.scss +0 -8
  348. package/dist/Button/_variables.scss +0 -50
  349. package/dist/Button/deprecated/index.js +0 -128
  350. package/dist/Button/deprecated/index.js.map +0 -1
  351. package/dist/Card/_variables.scss +0 -56
  352. package/dist/Carousel/_variables.scss +0 -27
  353. package/dist/CheckBox/index.js +0 -72
  354. package/dist/CheckBox/index.js.map +0 -1
  355. package/dist/CheckBoxGroup/index.js +0 -15
  356. package/dist/CheckBoxGroup/index.js.map +0 -1
  357. package/dist/Chip/_variables.scss +0 -19
  358. package/dist/ChipCarousel/_variables.scss +0 -1
  359. package/dist/CloseButton/_variables.scss +0 -6
  360. package/dist/Code/_variables.scss +0 -17
  361. package/dist/Collapsible/_variables.scss +0 -12
  362. package/dist/ColorPicker/_variables.scss +0 -2
  363. package/dist/Container/_variables.scss +0 -5
  364. package/dist/DataTable/_variables.scss +0 -11
  365. package/dist/Dropdown/_variables.scss +0 -33
  366. package/dist/Dropdown/deprecated/DropdownButton.js +0 -48
  367. package/dist/Dropdown/deprecated/DropdownButton.js.map +0 -1
  368. package/dist/Dropdown/deprecated/DropdownItem.js +0 -34
  369. package/dist/Dropdown/deprecated/DropdownItem.js.map +0 -1
  370. package/dist/Dropdown/deprecated/DropdownMenu.js +0 -50
  371. package/dist/Dropdown/deprecated/DropdownMenu.js.map +0 -1
  372. package/dist/Dropdown/deprecated/index.js +0 -209
  373. package/dist/Dropdown/deprecated/index.js.map +0 -1
  374. package/dist/Dropzone/_variables.scss +0 -9
  375. package/dist/Fieldset/index.js +0 -92
  376. package/dist/Fieldset/index.js.map +0 -1
  377. package/dist/Fieldset/index.scss +0 -12
  378. package/dist/Form/_variables.scss +0 -267
  379. package/dist/Icon/_variables.scss +0 -7
  380. package/dist/Image/_variables.scss +0 -13
  381. package/dist/Input/index.js +0 -136
  382. package/dist/Input/index.js.map +0 -1
  383. package/dist/InputSelect/index.js +0 -78
  384. package/dist/InputSelect/index.js.map +0 -1
  385. package/dist/InputText/index.js +0 -43
  386. package/dist/InputText/index.js.map +0 -1
  387. package/dist/ListBox/index.js +0 -116
  388. package/dist/ListBox/index.js.map +0 -1
  389. package/dist/ListBoxOption/index.js +0 -71
  390. package/dist/ListBoxOption/index.js.map +0 -1
  391. package/dist/Menu/_variables.scss +0 -24
  392. package/dist/Modal/_variables.scss +0 -50
  393. package/dist/Modal/index.js +0 -260
  394. package/dist/Modal/index.js.map +0 -1
  395. package/dist/Nav/_variables.scss +0 -59
  396. package/dist/Navbar/_variables.scss +0 -40
  397. package/dist/OverflowScroll/_variables.scss +0 -5
  398. package/dist/OverflowScroll/index.scss +0 -1
  399. package/dist/Pagination/_variables.scss +0 -52
  400. package/dist/Popover/_variables.scss +0 -36
  401. package/dist/ProductTour/_variables.scss +0 -15
  402. package/dist/ProgressBar/_variables.scss +0 -23
  403. package/dist/RadioButtonGroup/index.js +0 -157
  404. package/dist/RadioButtonGroup/index.js.map +0 -1
  405. package/dist/SearchField/_variables.scss +0 -16
  406. package/dist/SelectableBox/_variables.scss +0 -5
  407. package/dist/Spinner/_variables.scss +0 -9
  408. package/dist/Stack/_variables.scss +0 -1
  409. package/dist/StatusAlert/index.js +0 -130
  410. package/dist/StatusAlert/index.js.map +0 -1
  411. package/dist/Stepper/_variables.scss +0 -18
  412. package/dist/Sticky/_variables.scss +0 -3
  413. package/dist/Table/_variables.scss +0 -34
  414. package/dist/Table/index.js +0 -198
  415. package/dist/Table/index.js.map +0 -1
  416. package/dist/Table/index.scss +0 -12
  417. package/dist/Tabs/_variables.scss +0 -24
  418. package/dist/Tabs/deprecated/Tabs.scss +0 -3
  419. package/dist/Tabs/deprecated/index.js +0 -90
  420. package/dist/Tabs/deprecated/index.js.map +0 -1
  421. package/dist/TextArea/index.js +0 -42
  422. package/dist/TextArea/index.js.map +0 -1
  423. package/dist/Toast/_variables.scss +0 -19
  424. package/dist/Tooltip/_variables.scss +0 -21
  425. package/dist/ValidationFormGroup/index.js +0 -105
  426. package/dist/ValidationFormGroup/index.js.map +0 -1
  427. package/dist/paragon.css +0 -39
  428. package/scss/core/_grid.scss +0 -21
  429. package/scss/core/_variables.scss +0 -875
  430. package/scss/core/core.scss +0 -21
  431. package/src/ActionRow/_variables.scss +0 -2
  432. package/src/Alert/_variables.scss +0 -24
  433. package/src/Annotation/_variables.scss +0 -18
  434. package/src/Avatar/_variables.scss +0 -10
  435. package/src/AvatarButton/_variables.scss +0 -3
  436. package/src/Badge/_variables.scss +0 -16
  437. package/src/Breadcrumb/_variables.scss +0 -27
  438. package/src/Bubble/_variables.scss +0 -8
  439. package/src/Button/_variables.scss +0 -50
  440. package/src/Button/deprecated/Button.test.jsx +0 -34
  441. package/src/Button/deprecated/index.jsx +0 -145
  442. package/src/Card/_variables.scss +0 -56
  443. package/src/Carousel/_variables.scss +0 -27
  444. package/src/CheckBox/CheckBox.test.jsx +0 -65
  445. package/src/CheckBox/README.md +0 -93
  446. package/src/CheckBox/index.jsx +0 -80
  447. package/src/CheckBoxGroup/CheckBoxGroup.test.jsx +0 -33
  448. package/src/CheckBoxGroup/README.md +0 -35
  449. package/src/CheckBoxGroup/index.jsx +0 -19
  450. package/src/Chip/_variables.scss +0 -19
  451. package/src/ChipCarousel/_variables.scss +0 -1
  452. package/src/CloseButton/_variables.scss +0 -6
  453. package/src/Code/_variables.scss +0 -17
  454. package/src/Collapsible/_variables.scss +0 -12
  455. package/src/ColorPicker/_variables.scss +0 -2
  456. package/src/Container/_variables.scss +0 -5
  457. package/src/DataTable/_variables.scss +0 -11
  458. package/src/Dropdown/_variables.scss +0 -33
  459. package/src/Dropdown/deprecated/Dropdown.test.jsx +0 -238
  460. package/src/Dropdown/deprecated/DropdownButton.jsx +0 -52
  461. package/src/Dropdown/deprecated/DropdownItem.jsx +0 -34
  462. package/src/Dropdown/deprecated/DropdownMenu.jsx +0 -50
  463. package/src/Dropdown/deprecated/__snapshots__/Dropdown.test.jsx.snap +0 -229
  464. package/src/Dropdown/deprecated/index.jsx +0 -222
  465. package/src/Dropzone/_variables.scss +0 -9
  466. package/src/Fieldset/Fieldset.test.jsx +0 -101
  467. package/src/Fieldset/README.md +0 -146
  468. package/src/Fieldset/index.jsx +0 -107
  469. package/src/Fieldset/index.scss +0 -12
  470. package/src/Form/_variables.scss +0 -267
  471. package/src/Icon/_variables.scss +0 -7
  472. package/src/Image/_variables.scss +0 -13
  473. package/src/Input/README.md +0 -74
  474. package/src/Input/__snapshots__/input.test.jsx.snap +0 -53
  475. package/src/Input/index.jsx +0 -151
  476. package/src/Input/input.test.jsx +0 -85
  477. package/src/InputSelect/README.md +0 -136
  478. package/src/InputSelect/index.jsx +0 -92
  479. package/src/InputText/InputText.test.jsx +0 -74
  480. package/src/InputText/README.md +0 -293
  481. package/src/InputText/index.jsx +0 -49
  482. package/src/ListBox/ListBox.test.jsx +0 -161
  483. package/src/ListBox/README.md +0 -185
  484. package/src/ListBox/index.jsx +0 -115
  485. package/src/ListBoxOption/ListBoxOption.test.jsx +0 -154
  486. package/src/ListBoxOption/index.jsx +0 -78
  487. package/src/Menu/_variables.scss +0 -24
  488. package/src/Modal/README.md +0 -148
  489. package/src/Modal/_variables.scss +0 -50
  490. package/src/Modal/index.jsx +0 -314
  491. package/src/Modal/tests/Modal.test.jsx +0 -261
  492. package/src/Nav/_variables.scss +0 -59
  493. package/src/Navbar/_variables.scss +0 -40
  494. package/src/OverflowScroll/_variables.scss +0 -5
  495. package/src/OverflowScroll/index.scss +0 -1
  496. package/src/Pagination/_variables.scss +0 -52
  497. package/src/Popover/_variables.scss +0 -36
  498. package/src/ProductTour/_variables.scss +0 -15
  499. package/src/ProgressBar/_variables.scss +0 -23
  500. package/src/RadioButtonGroup/README.md +0 -50
  501. package/src/RadioButtonGroup/RadioButtonGroup.test.jsx +0 -127
  502. package/src/RadioButtonGroup/index.jsx +0 -185
  503. package/src/SearchField/_variables.scss +0 -16
  504. package/src/SelectableBox/_variables.scss +0 -5
  505. package/src/Spinner/_variables.scss +0 -9
  506. package/src/Stack/_variables.scss +0 -1
  507. package/src/StatusAlert/README.md +0 -149
  508. package/src/StatusAlert/StatusAlert.test.jsx +0 -150
  509. package/src/StatusAlert/index.jsx +0 -144
  510. package/src/Stepper/_variables.scss +0 -18
  511. package/src/Sticky/_variables.scss +0 -3
  512. package/src/Table/README.md +0 -506
  513. package/src/Table/Table.test.jsx +0 -367
  514. package/src/Table/_variables.scss +0 -34
  515. package/src/Table/index.jsx +0 -264
  516. package/src/Table/index.scss +0 -12
  517. package/src/Tabs/_variables.scss +0 -24
  518. package/src/Tabs/deprecated/Tabs.scss +0 -3
  519. package/src/Tabs/deprecated/Tabs.test.jsx +0 -50
  520. package/src/Tabs/deprecated/index.jsx +0 -117
  521. package/src/TextArea/README.md +0 -63
  522. package/src/TextArea/index.jsx +0 -48
  523. package/src/Toast/_variables.scss +0 -19
  524. package/src/Tooltip/_variables.scss +0 -21
  525. package/src/ValidationFormGroup/README.md +0 -116
  526. package/src/ValidationFormGroup/ValidationFormGroup.test.jsx +0 -146
  527. package/src/ValidationFormGroup/__snapshots__/ValidationFormGroup.test.jsx.snap +0 -161
  528. package/src/ValidationFormGroup/index.jsx +0 -114
  529. /package/{scss → styles/scss}/core/_exports.module.scss +0 -0
  530. /package/{scss → styles/scss}/core/_typography.scss +0 -0
@@ -1,24 +1,22 @@
1
- @import "variables";
2
-
3
1
  .pgn__searchfield {
4
- transition: $input-transition;
5
- border: $search-border-width solid $search-border-color;
2
+ transition: var(--pgn-transition-form-input);
3
+ border: var(--pgn-size-search-field-border-width-base) solid var(--pgn-color-search-field-border-base);
6
4
 
7
5
  .pgn__searchfield-form {
8
6
  display: flex;
9
7
  align-items: center;
10
8
  width: 100%;
11
- background-color: $search-form-background-color;
9
+ background-color: var(--pgn-color-search-field-form-bg);
12
10
  }
13
11
 
14
12
  .btn:focus-visible {
15
13
  outline: none;
16
14
  position: relative;
17
- transition: $input-transition;
15
+ transition: var(--pgn-transition-form-input);
18
16
 
19
17
  &::after {
20
18
  content: "";
21
- border: $search-border-focus-width double $search-border-focus-color;
19
+ border: var(--pgn-size-search-field-border-width-focus) double var(--pgn-color-search-field-border-focus);
22
20
  position: absolute;
23
21
  width: 100%;
24
22
  height: 100%;
@@ -27,7 +25,7 @@
27
25
 
28
26
  &.disabled,
29
27
  &:disabled {
30
- opacity: $search-disabled-opacity;
28
+ opacity: var(--pgn-other-search-field-disabled-opacity);
31
29
  pointer-events: none;
32
30
  }
33
31
 
@@ -36,26 +34,26 @@
36
34
 
37
35
  &::after {
38
36
  content: "";
39
- border: $search-border-focus-width double $search-border-focus-color;
37
+ border: var(--pgn-size-search-field-border-width-focus) double var(--pgn-color-search-field-border-focus);
40
38
  position: absolute;
41
39
  width: 100%;
42
40
  height: 100%;
43
41
  }
44
42
 
45
43
  .pgn__searchfield_wrapper {
46
- box-shadow: 0 0 0 $search-border-width $search-border-color-interaction;
44
+ box-shadow: 0 0 0 var(--pgn-size-search-field-border-width-base) var(--pgn-color-search-field-border-interaction);
47
45
  }
48
46
  }
49
47
 
50
48
  &:hover,
51
49
  &:active {
52
- border-color: $search-border-color-interaction;
50
+ border-color: var(--pgn-color-search-field-border-interaction);
53
51
  }
54
52
 
55
53
  .form-control {
56
54
  border: none;
57
- border-radius: $search-border-radius;
58
- height: $input-height-search;
55
+ border-radius: var(--pgn-size-search-field-border-radius);
56
+ height: var(--pgn-size-search-field-search-input-height);
59
57
 
60
58
  &:focus {
61
59
  box-shadow: none;
@@ -92,11 +90,11 @@
92
90
  border: none;
93
91
 
94
92
  .btn-primary {
95
- background: map-get($search-btn-variants, "light");
93
+ background: var(--pgn-color-search-field-button-bg-primary);
96
94
  }
97
95
 
98
96
  .btn-brand {
99
- background: map-get($search-btn-variants, "dark");
97
+ background: var(--pgn-color-search-field-button-bg-brand);
100
98
  }
101
99
 
102
100
  &.has-focus {
@@ -107,7 +105,7 @@
107
105
 
108
106
  &::after {
109
107
  content: "";
110
- border: $search-border-focus-width double $search-border-focus-color;
108
+ border: var(--pgn-size-search-field-border-width-focus) double var(--pgn-color-search-field-border-focus);
111
109
  position: absolute;
112
110
  width: 100%;
113
111
  height: 100%;
@@ -115,11 +113,11 @@
115
113
  }
116
114
 
117
115
  .btn-primary {
118
- background: map-get($search-btn-variants, "light");
116
+ background: var(--pgn-color-search-field-button-bg-primary);
119
117
  }
120
118
 
121
119
  .btn-brand {
122
- background: map-get($search-btn-variants, "dark");
120
+ background: var(--pgn-color-search-field-button-bg-brand);
123
121
  }
124
122
  }
125
123
  }
@@ -128,16 +126,16 @@
128
126
  display: flex;
129
127
  align-items: center;
130
128
  width: 100%;
131
- border: $search-border-width solid $search-border-color;
129
+ border: var(--pgn-size-search-field-border-width-base) solid var(--pgn-color-search-field-border-base);
132
130
 
133
131
  &:hover,
134
132
  &:active {
135
- border-color: $search-border-color-interaction;
133
+ border-color: var(--pgn-color-search-field-border-interaction);
136
134
  }
137
135
  }
138
136
  }
139
137
 
140
138
  .pgn__searchfield__button.btn[type="submit"] {
141
139
  border-radius: 0;
142
- margin-inline-start: $search-button-margin;
140
+ margin-inline-start: var(--pgn-spacing-search-field-margin-button);
143
141
  }
@@ -1,11 +1,9 @@
1
- @import "variables";
2
-
3
1
  .pgn__selectable_box-set {
4
2
  display: grid;
5
3
  grid-auto-rows: 1fr;
6
- grid-gap: $selectable-box-space;
4
+ grid-gap: var(--pgn-spacing-selectable-box-box-space);
7
5
 
8
- @for $i from $min-cols-number through $max-cols-number {
6
+ @for $i from 1 through 12 {
9
7
  &.pgn__selectable_box-set--#{$i} {
10
8
  grid-template-columns: repeat(#{$i}, 1fr);
11
9
  }
@@ -19,21 +17,21 @@
19
17
  .pgn__selectable_box {
20
18
  position: relative;
21
19
  height: 100%;
22
- padding: $selectable-box-padding;
23
- box-shadow: $level-1-box-shadow;
24
- border-radius: $selectable-box-border-radius;
20
+ padding: var(--pgn-spacing-selectable-box-padding);
21
+ box-shadow: var(--pgn-elevation-box-shadow-level-1);
22
+ border-radius: var(--pgn-spacing-selectable-box-border-radius);
25
23
  text-align: start;
26
- background: $white;
24
+ background: var(--pgn-color-white);
27
25
 
28
26
  &:focus-visible {
29
- outline: 1px solid $primary-700;
27
+ outline: 1px solid var(--pgn-color-primary-700);
30
28
  }
31
29
 
32
30
  .pgn__form-radio,
33
31
  .pgn__form-checkbox {
34
32
  position: absolute;
35
- top: $selectable-box-padding;
36
- inset-inline-end: $selectable-box-padding;
33
+ top: var(--pgn-spacing-selectable-box-padding);
34
+ inset-inline-end: var(--pgn-spacing-selectable-box-padding);
37
35
 
38
36
  input {
39
37
  margin-inline-end: 0;
@@ -46,9 +44,9 @@
46
44
  }
47
45
 
48
46
  .pgn__selectable_box-active {
49
- outline: 2px solid $primary-500;
47
+ outline: 2px solid var(--pgn-color-primary-500);
50
48
  }
51
49
 
52
50
  .pgn__selectable_box-invalid {
53
- outline: 2px solid $danger-300;
51
+ outline: 2px solid var(--pgn-color-danger-300);
54
52
  }
@@ -1,7 +1,7 @@
1
1
  .pgn__sheet-skrim {
2
2
  width: 100%;
3
3
  height: 100%;
4
- background-color: rgba(196, 196, 196, .5);
4
+ background-color: var(--pgn-color-sheet-skrim-bg);
5
5
  position: fixed;
6
6
  top: 0;
7
7
  left: 0;
@@ -10,17 +10,17 @@
10
10
  display: none;
11
11
  }
12
12
 
13
- z-index: $zindex-sheet-backdrop;
13
+ z-index: var(--pgn-elevation-sheet-zindex-backdrop);
14
14
  }
15
15
 
16
16
  %component-left {
17
17
  left: 0;
18
- box-shadow: 8px 0 16px 0 rgba(0, 0, 0, .15);
18
+ box-shadow: 8px 0 16px 0 var(--pgn-color-sheet-skrim-component-box-shadow);
19
19
  }
20
20
 
21
21
  %component-right {
22
22
  right: 0;
23
- box-shadow: -8px 0 16px 0 rgba(0, 0, 0, .15);
23
+ box-shadow: -8px 0 16px 0 var(--pgn-color-sheet-skrim-component-box-shadow);
24
24
  }
25
25
 
26
26
  .pgn__sheet-component-left {
@@ -34,22 +34,22 @@
34
34
  .pgn__sheet-component {
35
35
  position: fixed;
36
36
  padding: 1.25rem;
37
- background-color: white;
38
- z-index: $zindex-sheet;
37
+ background-color: var(--pgn-color-white);
38
+ z-index: var(--pgn-elevation-sheet-zindex-main);
39
39
 
40
40
  &.pgn__sheet__dark {
41
- background-color: $dark-500;
42
- color: $light-300;
41
+ background-color: var(--pgn-color-dark-500);
42
+ color: var(--pgn-color-light-300);
43
43
  }
44
44
 
45
45
  &.bottom {
46
46
  bottom: 0;
47
- box-shadow: 0 -8px 16px 0 rgba(0, 0, 0, .15);
47
+ box-shadow: 0 -8px 16px 0 var(--pgn-color-sheet-skrim-component-box-shadow);
48
48
  }
49
49
 
50
50
  &.top {
51
51
  top: 0;
52
- box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .15);
52
+ box-shadow: 0 8px 16px 0 var(--pgn-color-sheet-skrim-component-box-shadow);
53
53
  }
54
54
 
55
55
  &.left {
@@ -1,2 +1,57 @@
1
- @import "variables";
2
- @import "~bootstrap/scss/spinners";
1
+ @keyframes spinner-border {
2
+ to { transform: rotate(360deg); }
3
+ }
4
+
5
+ .spinner-border {
6
+ display: inline-block;
7
+ width: var(--pgn-size-spinner-base-width);
8
+ height: var(--pgn-size-spinner-base-height);
9
+ vertical-align: calc(var(--pgn-spacing-vertical-align) * -1);
10
+ border: var(--pgn-size-spinner-base-border-width) solid currentcolor;
11
+ border-right-color: transparent;
12
+ border-radius: 50%;
13
+ animation: .75s linear infinite spinner-border;
14
+ }
15
+
16
+ .spinner-border-sm {
17
+ width: var(--pgn-size-spinner-sm-width);
18
+ height: var(--pgn-size-spinner-sm-height);
19
+ border-width: var(--pgn-size-spinner-sm-border-width);
20
+ }
21
+
22
+ @keyframes spinner-grow {
23
+ 0% {
24
+ transform: scale(0);
25
+ }
26
+
27
+ 50% {
28
+ opacity: 1;
29
+ transform: none;
30
+ }
31
+ }
32
+
33
+ .spinner-grow {
34
+ display: inline-block;
35
+ width: var(--pgn-size-spinner-base-width);
36
+ height: var(--pgn-size-spinner-base-height);
37
+ vertical-align: calc(var(--pgn-spacing-vertical-align) * -1);
38
+ background-color: currentcolor;
39
+ border-radius: 50%;
40
+ opacity: 0;
41
+ animation: .75s linear infinite spinner-grow;
42
+ }
43
+
44
+ .spinner-grow-sm {
45
+ width: var(--pgn-size-spinner-sm-width);
46
+ height: var(--pgn-size-spinner-sm-height);
47
+ }
48
+
49
+ @if $enable-prefers-reduced-motion-media-query {
50
+ @media (prefers-reduced-motion: reduce) {
51
+ .spinner-border,
52
+ .spinner-grow {
53
+ animation-duration: 1.5s;
54
+ }
55
+ }
56
+ }
57
+
@@ -1,10 +1,8 @@
1
- @import "variables";
2
-
3
1
  .pgn__vstack,
4
2
  .pgn__hstack {
5
3
  display: flex;
6
4
  align-self: stretch;
7
- gap: $stack-gap;
5
+ gap: var(--pgn-size-stack-gap);
8
6
 
9
7
  @each $level, $space in $spacers {
10
8
  &.pgn__stack-gap--#{$level} {
@@ -1,43 +1,42 @@
1
- @import "variables";
2
-
3
1
  .pgn__stepper-header {
4
2
  display: flex;
5
3
  justify-content: center;
6
4
  align-items: center;
7
- background: $stepper-header-bg;
8
- padding: $stepper-header-padding-y $stepper-header-padding-x;
9
- min-height: $stepper-header-min-height;
5
+ background: var(--pgn-color-stepper-header-bg-base);
6
+ padding: var(--pgn-spacing-stepper-header-padding-y) var(--pgn-spacing-stepper-header-padding-x);
7
+ min-height: var(--pgn-size-stepper-header-height-min);
10
8
 
11
9
  .pgn__stepper-header-step-list {
12
10
  list-style: none;
13
- padding: $stepper-header-step-list-padding-y $stepper-header-step-list-padding-x;
11
+ // stylelint-disable-next-line max-line-length
12
+ padding: var(--pgn-spacing-stepper-header-step-list-padding-y) var(--pgn-spacing-stepper-header-step-list-padding-x);
14
13
  display: flex;
15
14
  align-items: center;
16
- margin: $stepper-header-step-list-margin;
15
+ margin: var(--pgn-spacing-stepper-header-step-list-margin);
17
16
  flex-grow: 1;
18
17
  justify-content: center;
19
18
 
20
19
  .pgn__stepper-header-line {
21
20
  display: block;
22
- height: $stepper-header-line-height;
23
- background: $stepper-header-line-bg;
21
+ height: var(--pgn-typography-spacer-line-height);
22
+ background: var(--pgn-color-stepper-header-bg-line);
24
23
  flex-basis: 80px;
25
24
  margin: 0 .5rem;
26
25
  }
27
26
 
28
27
  button.pgn__stepper-header-step {
29
- border: $stepper-header-step-border;
30
- background-color: $stepper-header-step-bg;
28
+ border: var(--pgn-color-stepper-header-step-border);
29
+ background-color: var(--pgn-color-stepper-header-bg-base);
31
30
  }
32
31
  }
33
32
 
34
33
  .pgn__stepper-header-step {
35
34
  display: flex;
36
35
  align-items: center;
37
- color: $stepper-header-step-color;
36
+ color: var(--pgn-color-stepper-header-step-base);
38
37
  flex-shrink: 1;
39
- min-width: $stepper-header-step-min-width;
40
- padding: $stepper-header-step-padding;
38
+ min-width: var(--pgn-size-stepper-step-width-min);
39
+ padding: var(--pgn-spacing-stepper-header-step-padding);
41
40
 
42
41
  .pgn__bubble {
43
42
  margin-inline-end: .5rem;
@@ -56,11 +55,11 @@
56
55
  }
57
56
 
58
57
  .pgn__stepper-header-step-description {
59
- font-size: $x-small-font-size;
58
+ font-size: var(--pgn-typography-font-size-small-x);
60
59
  }
61
60
 
62
61
  &.pgn__stepper-header-step-active ~ .pgn__stepper-header-step {
63
- color: $stepper-header-active-step-bg;
62
+ color: var(--pgn-color-stepper-header-step-bg-active);
64
63
  }
65
64
 
66
65
  &.pgn__stepper-header-step-has-error {
@@ -68,16 +67,16 @@
68
67
  background: transparent;
69
68
  box-shadow:
70
69
  inset 0 0 0
71
- $stepper-header-step-error-bubble-shadow-width
72
- $stepper-header-step-error-bubble-color;
70
+ var(--pgn-size-stepper-step-bubble-error-shadow-width)
71
+ var(--pgn-color-stepper-header-step-bubble-error);
73
72
 
74
73
  * {
75
- color: $stepper-header-step-error-bubble-color;
74
+ color: var(--pgn-color-stepper-header-step-bubble-error);
76
75
  }
77
76
  }
78
77
 
79
78
  .pgn__stepper-header-step-description {
80
- color: $stepper-header-step-error-description-color;
79
+ color: var(--pgn-color-stepper-header-step-description-error);
81
80
  }
82
81
  }
83
82
  }
@@ -1,5 +1,3 @@
1
- @import "variables";
2
-
3
1
  .pgn__sticky {
4
2
  display: flex;
5
3
  width: 100%;
@@ -7,7 +5,7 @@
7
5
 
8
6
  &.pgn__sticky-top {
9
7
  align-self: self-start;
10
- top: $sticky-offset;
8
+ top: var(--pgn-spacing-sticky-offset);
11
9
 
12
10
  @each $level, $offset in $spacers {
13
11
  &.pgn__sticky-offset--#{$level} {
@@ -16,13 +14,13 @@
16
14
  }
17
15
 
18
16
  &.pgn__sticky-shadow {
19
- box-shadow: $sticky-shadow-bottom;
17
+ box-shadow: var(--pgn-elevation-sticky-shadow-bottom);
20
18
  }
21
19
  }
22
20
 
23
21
  &.pgn__sticky-bottom {
24
22
  align-self: self-end;
25
- bottom: $sticky-offset;
23
+ bottom: var(--pgn-spacing-sticky-offset);
26
24
 
27
25
  @each $level, $offset in $spacers {
28
26
  &.pgn__sticky-offset--#{$level} {
@@ -31,7 +29,7 @@
31
29
  }
32
30
 
33
31
  &.pgn__sticky-shadow {
34
- box-shadow: $sticky-shadow-top;
32
+ box-shadow: var(--pgn-elevation-sticky-shadow-top);
35
33
  }
36
34
  }
37
35
  }
@@ -12,7 +12,6 @@ import React, { useEffect, useMemo, useRef } from 'react';
12
12
  import classNames from 'classnames';
13
13
  import PropTypes from 'prop-types';
14
14
  import BaseTabs from 'react-bootstrap/Tabs';
15
- import TabsDeprecated from './deprecated';
16
15
  import Bubble from '../Bubble';
17
16
  import Dropdown from '../Dropdown';
18
17
  import useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChild';
@@ -182,7 +181,6 @@ Tabs.defaultProps = {
182
181
  defaultActiveKey: undefined,
183
182
  activeKey: undefined
184
183
  };
185
- Tabs.Deprecated = TabsDeprecated;
186
184
  export default Tabs;
187
185
  export { Tab };
188
186
  export { default as TabContainer } from 'react-bootstrap/TabContainer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useRef","classNames","PropTypes","BaseTabs","TabsDeprecated","Bubble","Dropdown","useIndexOfLastVisibleChild","Tab","MORE_TAB_TEXT","Tabs","_ref","children","className","moreTabText","defaultActiveKey","activeKey","props","_objectWithoutProperties","_excluded","containerElementRef","overflowElementRef","indexOfLastVisibleChild","current","parentNode","observer","MutationObserver","mutations","forEach","mutation","eventKey","target","getAttribute","isActive","element","querySelector","moreTab","classList","add","remove","observe","attributes","subtree","attributeFilter","disconnect","undefined","tabIndex","handleDropdownTabClick","hiddenTab","click","tabsChildren","indexOfOverflowStart","handleDropdownKeyPress","e","key","childrenList","Children","map","child","index","type","name","process","env","NODE_ENV","console","error","isValidElement","_child$props","title","notification","tabClassName","rest","_excluded2","newTitle","createElement","Fragment","variant","role","expandable","tabClass","modifiedTab","cloneElement","_objectSpread","moreTabHasNotification","overflowChildren","slice","overflowChild","Item","as","onClick","onKeyPress","disabled","datakey","active","splice","length","ref","Toggle","id","Menu","_extends","propTypes","oneOf","node","isRequired","string","defaultProps","Deprecated","default","TabContainer","TabContent","TabPane"],"sources":["../../src/Tabs/index.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseTabs from 'react-bootstrap/Tabs';\nimport TabsDeprecated from './deprecated';\nimport Bubble from '../Bubble';\nimport Dropdown from '../Dropdown';\nimport useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChild';\nimport Tab from './Tab';\n\nexport const MORE_TAB_TEXT = 'More...';\n\nfunction Tabs({\n children,\n className,\n moreTabText = MORE_TAB_TEXT,\n defaultActiveKey,\n activeKey,\n ...props\n}) {\n const containerElementRef = useRef(null);\n const overflowElementRef = useRef(null);\n const indexOfLastVisibleChild = useIndexOfLastVisibleChild(\n containerElementRef.current?.children[0],\n overflowElementRef.current?.parentNode,\n );\n\n useEffect(() => {\n if (containerElementRef.current) {\n const observer = new MutationObserver((mutations => {\n mutations.forEach(mutation => {\n // React-Bootstrap attribute 'data-rb-event-key' is responsible for the tab identification\n const eventKey = mutation.target.getAttribute('data-rb-event-key');\n // React-Bootstrap attribute 'aria-selected' is responsible for selected/unselected state\n const isActive = mutation.target.getAttribute('aria-selected') === 'true';\n // datakey attribute is added manually to the dropdown\n // elements so that they correspond to the native tabs' eventKey\n const element = containerElementRef.current.querySelector(`[datakey='${eventKey}']`);\n const moreTab = containerElementRef.current.querySelector('.pgn__tab_more');\n if (isActive) {\n element?.classList.add('active');\n // Here we add active class to the 'More Tab' if element exists in the dropdown\n if (element) {\n moreTab.classList.add('active');\n } else {\n moreTab.classList.remove('active');\n }\n } else {\n element?.classList.remove('active');\n }\n });\n }));\n observer.observe(containerElementRef.current, {\n attributes: true, subtree: true, attributeFilter: ['aria-selected'],\n });\n return () => observer.disconnect();\n }\n return undefined;\n }, []);\n\n useEffect(() => {\n if (overflowElementRef.current?.parentNode) {\n overflowElementRef.current.parentNode.tabIndex = -1;\n }\n }, [overflowElementRef.current?.parentNode]);\n\n const handleDropdownTabClick = (eventKey) => {\n const hiddenTab = containerElementRef.current.querySelector(`[data-rb-event-key='${eventKey}']`);\n hiddenTab.click();\n };\n\n const tabsChildren = useMemo(() => {\n const indexOfOverflowStart = indexOfLastVisibleChild + 1;\n const handleDropdownKeyPress = (e, eventKey) => {\n if (e.key === 'Enter') {\n handleDropdownTabClick(eventKey);\n }\n };\n const childrenList = React.Children.map(children, (child, index) => {\n if (child?.type?.name !== 'Tab' && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `Tabs children can only be of type Tab. ${children[index]} was passed instead.`,\n );\n }\n if (!React.isValidElement(child)) {\n return child;\n }\n const {\n title, notification, tabClassName, ...rest\n } = child.props;\n let newTitle;\n if (notification) {\n newTitle = (\n <>\n {title}\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n aria-live=\"polite\"\n expandable\n >\n {notification}\n </Bubble>\n </>\n );\n } else {\n newTitle = title;\n }\n const tabClass = index > indexOfLastVisibleChild ? 'pgn__tab_invisible' : '';\n const modifiedTab = React.cloneElement(child, {\n ...rest,\n title: newTitle,\n tabClassName: classNames(tabClass, tabClassName),\n });\n return modifiedTab;\n });\n let moreTabHasNotification = false;\n const overflowChildren = childrenList.slice(indexOfOverflowStart)\n .map(overflowChild => {\n if (!moreTabHasNotification && overflowChild.props.notification) {\n moreTabHasNotification = true;\n }\n return (\n <Dropdown.Item\n as=\"li\"\n tabIndex=\"0\"\n key={`${overflowChild.props.eventKey}overflow`}\n onClick={() => handleDropdownTabClick(overflowChild.props.eventKey)}\n onKeyPress={(e) => handleDropdownKeyPress(e, overflowChild.props.eventKey)}\n disabled={overflowChild.props.disabled}\n datakey={overflowChild.props.eventKey}\n className={classNames({\n active: overflowChild.props.eventKey === defaultActiveKey || overflowChild.props.eventKey === activeKey,\n }, 'pgn__tabs__dropdown-item')}\n >\n {overflowChild.props.title}\n </Dropdown.Item>\n );\n });\n\n childrenList.splice(indexOfOverflowStart, 0, (<Tab\n key=\"moreTabKey\"\n tabClassName={classNames(!overflowChildren.length && 'pgn__tab_invisible', 'pgn__tab_more')}\n title={(\n <Dropdown ref={overflowElementRef}>\n <Dropdown.Toggle\n variant=\"link\"\n className=\"nav-link\"\n id=\"pgn__tab-toggle\"\n >\n {moreTabText}\n {moreTabHasNotification && (\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n />\n )}\n </Dropdown.Toggle>\n <Dropdown.Menu as=\"ul\" className=\"dropdown-menu-right\">{overflowChildren}</Dropdown.Menu>\n </Dropdown>\n )}\n />\n ));\n return childrenList;\n }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText]);\n\n return (\n <div ref={containerElementRef}>\n <BaseTabs\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n {...props}\n className={classNames(className, 'pgn__tabs')}\n >\n {tabsChildren}\n </BaseTabs>\n </div>\n );\n}\n\nTabs.propTypes = {\n /** Specifies variant to use. */\n variant: PropTypes.oneOf(['tabs', 'pills', 'inverse-tabs', 'inverse-pills', 'button-group']),\n /** Specifies elements that is processed to create tabs. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies text for the 'More' tab. */\n moreTabText: PropTypes.string,\n /** Specifies default active tab (uncontrolled usage). */\n defaultActiveKey: PropTypes.string,\n /** Specifies active tab (controlled usage). */\n activeKey: PropTypes.string,\n};\n\nTabs.defaultProps = {\n variant: 'tabs',\n className: undefined,\n moreTabText: MORE_TAB_TEXT,\n defaultActiveKey: undefined,\n activeKey: undefined,\n};\n\nTabs.Deprecated = TabsDeprecated;\n\nexport default Tabs;\nexport { Tab };\nexport { default as TabContainer } from 'react-bootstrap/TabContainer';\nexport { default as TabContent } from 'react-bootstrap/TabContent';\nexport { default as TabPane } from 'react-bootstrap/TabPane';\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACzD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,cAAc,MAAM,cAAc;AACzC,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,0BAA0B,MAAM,qCAAqC;AAC5E,OAAOC,GAAG,MAAM,OAAO;AAEvB,OAAO,MAAMC,aAAa,GAAG,SAAS;AAEtC,SAASC,IAAIA,CAAAC,IAAA,EAOV;EAAA,IAPW;MACZC,QAAQ;MACRC,SAAS;MACTC,WAAW,GAAGL,aAAa;MAC3BM,gBAAgB;MAChBC;IAEF,CAAC,GAAAL,IAAA;IADIM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAER,MAAMC,mBAAmB,GAAGpB,MAAM,CAAC,IAAI,CAAC;EACxC,MAAMqB,kBAAkB,GAAGrB,MAAM,CAAC,IAAI,CAAC;EACvC,MAAMsB,uBAAuB,GAAGf,0BAA0B,CACxDa,mBAAmB,CAACG,OAAO,EAAEX,QAAQ,CAAC,CAAC,CAAC,EACxCS,kBAAkB,CAACE,OAAO,EAAEC,UAC9B,CAAC;EAED1B,SAAS,CAAC,MAAM;IACd,IAAIsB,mBAAmB,CAACG,OAAO,EAAE;MAC/B,MAAME,QAAQ,GAAG,IAAIC,gBAAgB,CAAEC,SAAS,IAAI;QAClDA,SAAS,CAACC,OAAO,CAACC,QAAQ,IAAI;UAC5B;UACA,MAAMC,QAAQ,GAAGD,QAAQ,CAACE,MAAM,CAACC,YAAY,CAAC,mBAAmB,CAAC;UAClE;UACA,MAAMC,QAAQ,GAAGJ,QAAQ,CAACE,MAAM,CAACC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;UACzE;UACA;UACA,MAAME,OAAO,GAAGd,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAE,aAAYL,QAAS,IAAG,CAAC;UACpF,MAAMM,OAAO,GAAGhB,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAC,gBAAgB,CAAC;UAC3E,IAAIF,QAAQ,EAAE;YACZC,OAAO,EAAEG,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;YAChC;YACA,IAAIJ,OAAO,EAAE;cACXE,OAAO,CAACC,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;YACjC,CAAC,MAAM;cACLF,OAAO,CAACC,SAAS,CAACE,MAAM,CAAC,QAAQ,CAAC;YACpC;UACF,CAAC,MAAM;YACLL,OAAO,EAAEG,SAAS,CAACE,MAAM,CAAC,QAAQ,CAAC;UACrC;QACF,CAAC,CAAC;MACJ,CAAE,CAAC;MACHd,QAAQ,CAACe,OAAO,CAACpB,mBAAmB,CAACG,OAAO,EAAE;QAC5CkB,UAAU,EAAE,IAAI;QAAEC,OAAO,EAAE,IAAI;QAAEC,eAAe,EAAE,CAAC,eAAe;MACpE,CAAC,CAAC;MACF,OAAO,MAAMlB,QAAQ,CAACmB,UAAU,CAAC,CAAC;IACpC;IACA,OAAOC,SAAS;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN/C,SAAS,CAAC,MAAM;IACd,IAAIuB,kBAAkB,CAACE,OAAO,EAAEC,UAAU,EAAE;MAC1CH,kBAAkB,CAACE,OAAO,CAACC,UAAU,CAACsB,QAAQ,GAAG,CAAC,CAAC;IACrD;EACF,CAAC,EAAE,CAACzB,kBAAkB,CAACE,OAAO,EAAEC,UAAU,CAAC,CAAC;EAE5C,MAAMuB,sBAAsB,GAAIjB,QAAQ,IAAK;IAC3C,MAAMkB,SAAS,GAAG5B,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAE,uBAAsBL,QAAS,IAAG,CAAC;IAChGkB,SAAS,CAACC,KAAK,CAAC,CAAC;EACnB,CAAC;EAED,MAAMC,YAAY,GAAGnD,OAAO,CAAC,MAAM;IACjC,MAAMoD,oBAAoB,GAAG7B,uBAAuB,GAAG,CAAC;IACxD,MAAM8B,sBAAsB,GAAGA,CAACC,CAAC,EAAEvB,QAAQ,KAAK;MAC9C,IAAIuB,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBP,sBAAsB,CAACjB,QAAQ,CAAC;MAClC;IACF,CAAC;IACD,MAAMyB,YAAY,GAAG1D,KAAK,CAAC2D,QAAQ,CAACC,GAAG,CAAC7C,QAAQ,EAAE,CAAC8C,KAAK,EAAEC,KAAK,KAAK;MAClE,IAAID,KAAK,EAAEE,IAAI,EAAEC,IAAI,KAAK,KAAK,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;QACzE;QACAC,OAAO,CAACC,KAAK,CACV,0CAAyCtD,QAAQ,CAAC+C,KAAK,CAAE,sBAC5D,CAAC;MACH;MACA,IAAI,eAAC9D,KAAK,CAACsE,cAAc,CAACT,KAAK,CAAC,EAAE;QAChC,OAAOA,KAAK;MACd;MACA,MAAAU,YAAA,GAEIV,KAAK,CAACzC,KAAK;QAFT;UACJoD,KAAK;UAAEC,YAAY;UAAEC;QACvB,CAAC,GAAAH,YAAA;QADuCI,IAAI,GAAAtD,wBAAA,CAAAkD,YAAA,EAAAK,UAAA;MAE5C,IAAIC,QAAQ;MACZ,IAAIJ,YAAY,EAAE;QAChBI,QAAQ,gBACN7E,KAAA,CAAA8E,aAAA,CAAA9E,KAAA,CAAA+E,QAAA,QACGP,KAAK,eACNxE,KAAA,CAAA8E,aAAA,CAACtE,MAAM;UACLwE,OAAO,EAAC,OAAO;UACfC,IAAI,EAAC,QAAQ;UACbjE,SAAS,EAAC,uBAAuB;UACjC,aAAU,QAAQ;UAClBkE,UAAU;QAAA,GAETT,YACK,CACR,CACH;MACH,CAAC,MAAM;QACLI,QAAQ,GAAGL,KAAK;MAClB;MACA,MAAMW,QAAQ,GAAGrB,KAAK,GAAGrC,uBAAuB,GAAG,oBAAoB,GAAG,EAAE;MAC5E,MAAM2D,WAAW,gBAAGpF,KAAK,CAACqF,YAAY,CAACxB,KAAK,EAAAyB,aAAA,CAAAA,aAAA,KACvCX,IAAI;QACPH,KAAK,EAAEK,QAAQ;QACfH,YAAY,EAAEtE,UAAU,CAAC+E,QAAQ,EAAET,YAAY;MAAC,EACjD,CAAC;MACF,OAAOU,WAAW;IACpB,CAAC,CAAC;IACF,IAAIG,sBAAsB,GAAG,KAAK;IAClC,MAAMC,gBAAgB,GAAG9B,YAAY,CAAC+B,KAAK,CAACnC,oBAAoB,CAAC,CAC9DM,GAAG,CAAC8B,aAAa,IAAI;MACpB,IAAI,CAACH,sBAAsB,IAAIG,aAAa,CAACtE,KAAK,CAACqD,YAAY,EAAE;QAC/Dc,sBAAsB,GAAG,IAAI;MAC/B;MACA,oBACEvF,KAAA,CAAA8E,aAAA,CAACrE,QAAQ,CAACkF,IAAI;QACZC,EAAE,EAAC,IAAI;QACP3C,QAAQ,EAAC,GAAG;QACZQ,GAAG,EAAG,GAAEiC,aAAa,CAACtE,KAAK,CAACa,QAAS,UAAU;QAC/C4D,OAAO,EAAEA,CAAA,KAAM3C,sBAAsB,CAACwC,aAAa,CAACtE,KAAK,CAACa,QAAQ,CAAE;QACpE6D,UAAU,EAAGtC,CAAC,IAAKD,sBAAsB,CAACC,CAAC,EAAEkC,aAAa,CAACtE,KAAK,CAACa,QAAQ,CAAE;QAC3E8D,QAAQ,EAAEL,aAAa,CAACtE,KAAK,CAAC2E,QAAS;QACvCC,OAAO,EAAEN,aAAa,CAACtE,KAAK,CAACa,QAAS;QACtCjB,SAAS,EAAEZ,UAAU,CAAC;UACpB6F,MAAM,EAAEP,aAAa,CAACtE,KAAK,CAACa,QAAQ,KAAKf,gBAAgB,IAAIwE,aAAa,CAACtE,KAAK,CAACa,QAAQ,KAAKd;QAChG,CAAC,EAAE,0BAA0B;MAAE,GAE9BuE,aAAa,CAACtE,KAAK,CAACoD,KACR,CAAC;IAEpB,CAAC,CAAC;IAEJd,YAAY,CAACwC,MAAM,CAAC5C,oBAAoB,EAAE,CAAC,eAAGtD,KAAA,CAAA8E,aAAA,CAACnE,GAAG;MAChD8C,GAAG,EAAC,YAAY;MAChBiB,YAAY,EAAEtE,UAAU,CAAC,CAACoF,gBAAgB,CAACW,MAAM,IAAI,oBAAoB,EAAE,eAAe,CAAE;MAC5F3B,KAAK,eACHxE,KAAA,CAAA8E,aAAA,CAACrE,QAAQ;QAAC2F,GAAG,EAAE5E;MAAmB,gBAChCxB,KAAA,CAAA8E,aAAA,CAACrE,QAAQ,CAAC4F,MAAM;QACdrB,OAAO,EAAC,MAAM;QACdhE,SAAS,EAAC,UAAU;QACpBsF,EAAE,EAAC;MAAiB,GAEnBrF,WAAW,EACXsE,sBAAsB,iBACrBvF,KAAA,CAAA8E,aAAA,CAACtE,MAAM;QACLwE,OAAO,EAAC,OAAO;QACfC,IAAI,EAAC,QAAQ;QACbjE,SAAS,EAAC;MAAuB,CAClC,CAEY,CAAC,eAClBhB,KAAA,CAAA8E,aAAA,CAACrE,QAAQ,CAAC8F,IAAI;QAACX,EAAE,EAAC,IAAI;QAAC5E,SAAS,EAAC;MAAqB,GAAEwE,gBAAgC,CAChF;IACV,CACH,CACA,CAAC;IACF,OAAO9B,YAAY;EACrB,CAAC,EAAE,CAACvC,SAAS,EAAEJ,QAAQ,EAAEG,gBAAgB,EAAEO,uBAAuB,EAAER,WAAW,CAAC,CAAC;EAEjF,oBACEjB,KAAA,CAAA8E,aAAA;IAAKsB,GAAG,EAAE7E;EAAoB,gBAC5BvB,KAAA,CAAA8E,aAAA,CAACxE,QAAQ,EAAAkG,QAAA;IACPtF,gBAAgB,EAAEA,gBAAiB;IACnCC,SAAS,EAAEA;EAAU,GACjBC,KAAK;IACTJ,SAAS,EAAEZ,UAAU,CAACY,SAAS,EAAE,WAAW;EAAE,IAE7CqC,YACO,CACP,CAAC;AAEV;AAEAxC,IAAI,CAAC4F,SAAS,GAAG;EACf;EACAzB,OAAO,EAAE3E,SAAS,CAACqG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;EAC5F;EACA3F,QAAQ,EAAEV,SAAS,CAACsG,IAAI,CAACC,UAAU;EACnC;EACA5F,SAAS,EAAEX,SAAS,CAACwG,MAAM;EAC3B;EACA5F,WAAW,EAAEZ,SAAS,CAACwG,MAAM;EAC7B;EACA3F,gBAAgB,EAAEb,SAAS,CAACwG,MAAM;EAClC;EACA1F,SAAS,EAAEd,SAAS,CAACwG;AACvB,CAAC;AAEDhG,IAAI,CAACiG,YAAY,GAAG;EAClB9B,OAAO,EAAE,MAAM;EACfhE,SAAS,EAAEgC,SAAS;EACpB/B,WAAW,EAAEL,aAAa;EAC1BM,gBAAgB,EAAE8B,SAAS;EAC3B7B,SAAS,EAAE6B;AACb,CAAC;AAEDnC,IAAI,CAACkG,UAAU,GAAGxG,cAAc;AAEhC,eAAeM,IAAI;AACnB,SAASF,GAAG;AACZ,SAASqG,OAAO,IAAIC,YAAY,QAAQ,8BAA8B;AACtE,SAASD,OAAO,IAAIE,UAAU,QAAQ,4BAA4B;AAClE,SAASF,OAAO,IAAIG,OAAO,QAAQ,yBAAyB"}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useRef","classNames","PropTypes","BaseTabs","Bubble","Dropdown","useIndexOfLastVisibleChild","Tab","MORE_TAB_TEXT","Tabs","_ref","children","className","moreTabText","defaultActiveKey","activeKey","props","_objectWithoutProperties","_excluded","containerElementRef","overflowElementRef","indexOfLastVisibleChild","current","parentNode","observer","MutationObserver","mutations","forEach","mutation","eventKey","target","getAttribute","isActive","element","querySelector","moreTab","classList","add","remove","observe","attributes","subtree","attributeFilter","disconnect","undefined","tabIndex","handleDropdownTabClick","hiddenTab","click","tabsChildren","indexOfOverflowStart","handleDropdownKeyPress","e","key","childrenList","Children","map","child","index","type","name","process","env","NODE_ENV","console","error","isValidElement","_child$props","title","notification","tabClassName","rest","_excluded2","newTitle","createElement","Fragment","variant","role","expandable","tabClass","modifiedTab","cloneElement","_objectSpread","moreTabHasNotification","overflowChildren","slice","overflowChild","Item","as","onClick","onKeyPress","disabled","datakey","active","splice","length","ref","Toggle","id","Menu","_extends","propTypes","oneOf","node","isRequired","string","defaultProps","default","TabContainer","TabContent","TabPane"],"sources":["../../src/Tabs/index.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseTabs from 'react-bootstrap/Tabs';\nimport Bubble from '../Bubble';\nimport Dropdown from '../Dropdown';\nimport useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChild';\nimport Tab from './Tab';\n\nexport const MORE_TAB_TEXT = 'More...';\n\nfunction Tabs({\n children,\n className,\n moreTabText = MORE_TAB_TEXT,\n defaultActiveKey,\n activeKey,\n ...props\n}) {\n const containerElementRef = useRef(null);\n const overflowElementRef = useRef(null);\n const indexOfLastVisibleChild = useIndexOfLastVisibleChild(\n containerElementRef.current?.children[0],\n overflowElementRef.current?.parentNode,\n );\n\n useEffect(() => {\n if (containerElementRef.current) {\n const observer = new MutationObserver((mutations => {\n mutations.forEach(mutation => {\n // React-Bootstrap attribute 'data-rb-event-key' is responsible for the tab identification\n const eventKey = mutation.target.getAttribute('data-rb-event-key');\n // React-Bootstrap attribute 'aria-selected' is responsible for selected/unselected state\n const isActive = mutation.target.getAttribute('aria-selected') === 'true';\n // datakey attribute is added manually to the dropdown\n // elements so that they correspond to the native tabs' eventKey\n const element = containerElementRef.current.querySelector(`[datakey='${eventKey}']`);\n const moreTab = containerElementRef.current.querySelector('.pgn__tab_more');\n if (isActive) {\n element?.classList.add('active');\n // Here we add active class to the 'More Tab' if element exists in the dropdown\n if (element) {\n moreTab.classList.add('active');\n } else {\n moreTab.classList.remove('active');\n }\n } else {\n element?.classList.remove('active');\n }\n });\n }));\n observer.observe(containerElementRef.current, {\n attributes: true, subtree: true, attributeFilter: ['aria-selected'],\n });\n return () => observer.disconnect();\n }\n return undefined;\n }, []);\n\n useEffect(() => {\n if (overflowElementRef.current?.parentNode) {\n overflowElementRef.current.parentNode.tabIndex = -1;\n }\n }, [overflowElementRef.current?.parentNode]);\n\n const handleDropdownTabClick = (eventKey) => {\n const hiddenTab = containerElementRef.current.querySelector(`[data-rb-event-key='${eventKey}']`);\n hiddenTab.click();\n };\n\n const tabsChildren = useMemo(() => {\n const indexOfOverflowStart = indexOfLastVisibleChild + 1;\n const handleDropdownKeyPress = (e, eventKey) => {\n if (e.key === 'Enter') {\n handleDropdownTabClick(eventKey);\n }\n };\n const childrenList = React.Children.map(children, (child, index) => {\n if (child?.type?.name !== 'Tab' && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `Tabs children can only be of type Tab. ${children[index]} was passed instead.`,\n );\n }\n if (!React.isValidElement(child)) {\n return child;\n }\n const {\n title, notification, tabClassName, ...rest\n } = child.props;\n let newTitle;\n if (notification) {\n newTitle = (\n <>\n {title}\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n aria-live=\"polite\"\n expandable\n >\n {notification}\n </Bubble>\n </>\n );\n } else {\n newTitle = title;\n }\n const tabClass = index > indexOfLastVisibleChild ? 'pgn__tab_invisible' : '';\n const modifiedTab = React.cloneElement(child, {\n ...rest,\n title: newTitle,\n tabClassName: classNames(tabClass, tabClassName),\n });\n return modifiedTab;\n });\n let moreTabHasNotification = false;\n const overflowChildren = childrenList.slice(indexOfOverflowStart)\n .map(overflowChild => {\n if (!moreTabHasNotification && overflowChild.props.notification) {\n moreTabHasNotification = true;\n }\n return (\n <Dropdown.Item\n as=\"li\"\n tabIndex=\"0\"\n key={`${overflowChild.props.eventKey}overflow`}\n onClick={() => handleDropdownTabClick(overflowChild.props.eventKey)}\n onKeyPress={(e) => handleDropdownKeyPress(e, overflowChild.props.eventKey)}\n disabled={overflowChild.props.disabled}\n datakey={overflowChild.props.eventKey}\n className={classNames({\n active: overflowChild.props.eventKey === defaultActiveKey || overflowChild.props.eventKey === activeKey,\n }, 'pgn__tabs__dropdown-item')}\n >\n {overflowChild.props.title}\n </Dropdown.Item>\n );\n });\n\n childrenList.splice(indexOfOverflowStart, 0, (<Tab\n key=\"moreTabKey\"\n tabClassName={classNames(!overflowChildren.length && 'pgn__tab_invisible', 'pgn__tab_more')}\n title={(\n <Dropdown ref={overflowElementRef}>\n <Dropdown.Toggle\n variant=\"link\"\n className=\"nav-link\"\n id=\"pgn__tab-toggle\"\n >\n {moreTabText}\n {moreTabHasNotification && (\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n />\n )}\n </Dropdown.Toggle>\n <Dropdown.Menu as=\"ul\" className=\"dropdown-menu-right\">{overflowChildren}</Dropdown.Menu>\n </Dropdown>\n )}\n />\n ));\n return childrenList;\n }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText]);\n\n return (\n <div ref={containerElementRef}>\n <BaseTabs\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n {...props}\n className={classNames(className, 'pgn__tabs')}\n >\n {tabsChildren}\n </BaseTabs>\n </div>\n );\n}\n\nTabs.propTypes = {\n /** Specifies variant to use. */\n variant: PropTypes.oneOf(['tabs', 'pills', 'inverse-tabs', 'inverse-pills', 'button-group']),\n /** Specifies elements that is processed to create tabs. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies text for the 'More' tab. */\n moreTabText: PropTypes.string,\n /** Specifies default active tab (uncontrolled usage). */\n defaultActiveKey: PropTypes.string,\n /** Specifies active tab (controlled usage). */\n activeKey: PropTypes.string,\n};\n\nTabs.defaultProps = {\n variant: 'tabs',\n className: undefined,\n moreTabText: MORE_TAB_TEXT,\n defaultActiveKey: undefined,\n activeKey: undefined,\n};\n\nexport default Tabs;\nexport { Tab };\nexport { default as TabContainer } from 'react-bootstrap/TabContainer';\nexport { default as TabContent } from 'react-bootstrap/TabContent';\nexport { default as TabPane } from 'react-bootstrap/TabPane';\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACzD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,0BAA0B,MAAM,qCAAqC;AAC5E,OAAOC,GAAG,MAAM,OAAO;AAEvB,OAAO,MAAMC,aAAa,GAAG,SAAS;AAEtC,SAASC,IAAIA,CAAAC,IAAA,EAOV;EAAA,IAPW;MACZC,QAAQ;MACRC,SAAS;MACTC,WAAW,GAAGL,aAAa;MAC3BM,gBAAgB;MAChBC;IAEF,CAAC,GAAAL,IAAA;IADIM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAER,MAAMC,mBAAmB,GAAGnB,MAAM,CAAC,IAAI,CAAC;EACxC,MAAMoB,kBAAkB,GAAGpB,MAAM,CAAC,IAAI,CAAC;EACvC,MAAMqB,uBAAuB,GAAGf,0BAA0B,CACxDa,mBAAmB,CAACG,OAAO,EAAEX,QAAQ,CAAC,CAAC,CAAC,EACxCS,kBAAkB,CAACE,OAAO,EAAEC,UAC9B,CAAC;EAEDzB,SAAS,CAAC,MAAM;IACd,IAAIqB,mBAAmB,CAACG,OAAO,EAAE;MAC/B,MAAME,QAAQ,GAAG,IAAIC,gBAAgB,CAAEC,SAAS,IAAI;QAClDA,SAAS,CAACC,OAAO,CAACC,QAAQ,IAAI;UAC5B;UACA,MAAMC,QAAQ,GAAGD,QAAQ,CAACE,MAAM,CAACC,YAAY,CAAC,mBAAmB,CAAC;UAClE;UACA,MAAMC,QAAQ,GAAGJ,QAAQ,CAACE,MAAM,CAACC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;UACzE;UACA;UACA,MAAME,OAAO,GAAGd,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAE,aAAYL,QAAS,IAAG,CAAC;UACpF,MAAMM,OAAO,GAAGhB,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAC,gBAAgB,CAAC;UAC3E,IAAIF,QAAQ,EAAE;YACZC,OAAO,EAAEG,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;YAChC;YACA,IAAIJ,OAAO,EAAE;cACXE,OAAO,CAACC,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;YACjC,CAAC,MAAM;cACLF,OAAO,CAACC,SAAS,CAACE,MAAM,CAAC,QAAQ,CAAC;YACpC;UACF,CAAC,MAAM;YACLL,OAAO,EAAEG,SAAS,CAACE,MAAM,CAAC,QAAQ,CAAC;UACrC;QACF,CAAC,CAAC;MACJ,CAAE,CAAC;MACHd,QAAQ,CAACe,OAAO,CAACpB,mBAAmB,CAACG,OAAO,EAAE;QAC5CkB,UAAU,EAAE,IAAI;QAAEC,OAAO,EAAE,IAAI;QAAEC,eAAe,EAAE,CAAC,eAAe;MACpE,CAAC,CAAC;MACF,OAAO,MAAMlB,QAAQ,CAACmB,UAAU,CAAC,CAAC;IACpC;IACA,OAAOC,SAAS;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN9C,SAAS,CAAC,MAAM;IACd,IAAIsB,kBAAkB,CAACE,OAAO,EAAEC,UAAU,EAAE;MAC1CH,kBAAkB,CAACE,OAAO,CAACC,UAAU,CAACsB,QAAQ,GAAG,CAAC,CAAC;IACrD;EACF,CAAC,EAAE,CAACzB,kBAAkB,CAACE,OAAO,EAAEC,UAAU,CAAC,CAAC;EAE5C,MAAMuB,sBAAsB,GAAIjB,QAAQ,IAAK;IAC3C,MAAMkB,SAAS,GAAG5B,mBAAmB,CAACG,OAAO,CAACY,aAAa,CAAE,uBAAsBL,QAAS,IAAG,CAAC;IAChGkB,SAAS,CAACC,KAAK,CAAC,CAAC;EACnB,CAAC;EAED,MAAMC,YAAY,GAAGlD,OAAO,CAAC,MAAM;IACjC,MAAMmD,oBAAoB,GAAG7B,uBAAuB,GAAG,CAAC;IACxD,MAAM8B,sBAAsB,GAAGA,CAACC,CAAC,EAAEvB,QAAQ,KAAK;MAC9C,IAAIuB,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBP,sBAAsB,CAACjB,QAAQ,CAAC;MAClC;IACF,CAAC;IACD,MAAMyB,YAAY,GAAGzD,KAAK,CAAC0D,QAAQ,CAACC,GAAG,CAAC7C,QAAQ,EAAE,CAAC8C,KAAK,EAAEC,KAAK,KAAK;MAClE,IAAID,KAAK,EAAEE,IAAI,EAAEC,IAAI,KAAK,KAAK,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;QACzE;QACAC,OAAO,CAACC,KAAK,CACV,0CAAyCtD,QAAQ,CAAC+C,KAAK,CAAE,sBAC5D,CAAC;MACH;MACA,IAAI,eAAC7D,KAAK,CAACqE,cAAc,CAACT,KAAK,CAAC,EAAE;QAChC,OAAOA,KAAK;MACd;MACA,MAAAU,YAAA,GAEIV,KAAK,CAACzC,KAAK;QAFT;UACJoD,KAAK;UAAEC,YAAY;UAAEC;QACvB,CAAC,GAAAH,YAAA;QADuCI,IAAI,GAAAtD,wBAAA,CAAAkD,YAAA,EAAAK,UAAA;MAE5C,IAAIC,QAAQ;MACZ,IAAIJ,YAAY,EAAE;QAChBI,QAAQ,gBACN5E,KAAA,CAAA6E,aAAA,CAAA7E,KAAA,CAAA8E,QAAA,QACGP,KAAK,eACNvE,KAAA,CAAA6E,aAAA,CAACtE,MAAM;UACLwE,OAAO,EAAC,OAAO;UACfC,IAAI,EAAC,QAAQ;UACbjE,SAAS,EAAC,uBAAuB;UACjC,aAAU,QAAQ;UAClBkE,UAAU;QAAA,GAETT,YACK,CACR,CACH;MACH,CAAC,MAAM;QACLI,QAAQ,GAAGL,KAAK;MAClB;MACA,MAAMW,QAAQ,GAAGrB,KAAK,GAAGrC,uBAAuB,GAAG,oBAAoB,GAAG,EAAE;MAC5E,MAAM2D,WAAW,gBAAGnF,KAAK,CAACoF,YAAY,CAACxB,KAAK,EAAAyB,aAAA,CAAAA,aAAA,KACvCX,IAAI;QACPH,KAAK,EAAEK,QAAQ;QACfH,YAAY,EAAErE,UAAU,CAAC8E,QAAQ,EAAET,YAAY;MAAC,EACjD,CAAC;MACF,OAAOU,WAAW;IACpB,CAAC,CAAC;IACF,IAAIG,sBAAsB,GAAG,KAAK;IAClC,MAAMC,gBAAgB,GAAG9B,YAAY,CAAC+B,KAAK,CAACnC,oBAAoB,CAAC,CAC9DM,GAAG,CAAC8B,aAAa,IAAI;MACpB,IAAI,CAACH,sBAAsB,IAAIG,aAAa,CAACtE,KAAK,CAACqD,YAAY,EAAE;QAC/Dc,sBAAsB,GAAG,IAAI;MAC/B;MACA,oBACEtF,KAAA,CAAA6E,aAAA,CAACrE,QAAQ,CAACkF,IAAI;QACZC,EAAE,EAAC,IAAI;QACP3C,QAAQ,EAAC,GAAG;QACZQ,GAAG,EAAG,GAAEiC,aAAa,CAACtE,KAAK,CAACa,QAAS,UAAU;QAC/C4D,OAAO,EAAEA,CAAA,KAAM3C,sBAAsB,CAACwC,aAAa,CAACtE,KAAK,CAACa,QAAQ,CAAE;QACpE6D,UAAU,EAAGtC,CAAC,IAAKD,sBAAsB,CAACC,CAAC,EAAEkC,aAAa,CAACtE,KAAK,CAACa,QAAQ,CAAE;QAC3E8D,QAAQ,EAAEL,aAAa,CAACtE,KAAK,CAAC2E,QAAS;QACvCC,OAAO,EAAEN,aAAa,CAACtE,KAAK,CAACa,QAAS;QACtCjB,SAAS,EAAEX,UAAU,CAAC;UACpB4F,MAAM,EAAEP,aAAa,CAACtE,KAAK,CAACa,QAAQ,KAAKf,gBAAgB,IAAIwE,aAAa,CAACtE,KAAK,CAACa,QAAQ,KAAKd;QAChG,CAAC,EAAE,0BAA0B;MAAE,GAE9BuE,aAAa,CAACtE,KAAK,CAACoD,KACR,CAAC;IAEpB,CAAC,CAAC;IAEJd,YAAY,CAACwC,MAAM,CAAC5C,oBAAoB,EAAE,CAAC,eAAGrD,KAAA,CAAA6E,aAAA,CAACnE,GAAG;MAChD8C,GAAG,EAAC,YAAY;MAChBiB,YAAY,EAAErE,UAAU,CAAC,CAACmF,gBAAgB,CAACW,MAAM,IAAI,oBAAoB,EAAE,eAAe,CAAE;MAC5F3B,KAAK,eACHvE,KAAA,CAAA6E,aAAA,CAACrE,QAAQ;QAAC2F,GAAG,EAAE5E;MAAmB,gBAChCvB,KAAA,CAAA6E,aAAA,CAACrE,QAAQ,CAAC4F,MAAM;QACdrB,OAAO,EAAC,MAAM;QACdhE,SAAS,EAAC,UAAU;QACpBsF,EAAE,EAAC;MAAiB,GAEnBrF,WAAW,EACXsE,sBAAsB,iBACrBtF,KAAA,CAAA6E,aAAA,CAACtE,MAAM;QACLwE,OAAO,EAAC,OAAO;QACfC,IAAI,EAAC,QAAQ;QACbjE,SAAS,EAAC;MAAuB,CAClC,CAEY,CAAC,eAClBf,KAAA,CAAA6E,aAAA,CAACrE,QAAQ,CAAC8F,IAAI;QAACX,EAAE,EAAC,IAAI;QAAC5E,SAAS,EAAC;MAAqB,GAAEwE,gBAAgC,CAChF;IACV,CACH,CACA,CAAC;IACF,OAAO9B,YAAY;EACrB,CAAC,EAAE,CAACvC,SAAS,EAAEJ,QAAQ,EAAEG,gBAAgB,EAAEO,uBAAuB,EAAER,WAAW,CAAC,CAAC;EAEjF,oBACEhB,KAAA,CAAA6E,aAAA;IAAKsB,GAAG,EAAE7E;EAAoB,gBAC5BtB,KAAA,CAAA6E,aAAA,CAACvE,QAAQ,EAAAiG,QAAA;IACPtF,gBAAgB,EAAEA,gBAAiB;IACnCC,SAAS,EAAEA;EAAU,GACjBC,KAAK;IACTJ,SAAS,EAAEX,UAAU,CAACW,SAAS,EAAE,WAAW;EAAE,IAE7CqC,YACO,CACP,CAAC;AAEV;AAEAxC,IAAI,CAAC4F,SAAS,GAAG;EACf;EACAzB,OAAO,EAAE1E,SAAS,CAACoG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;EAC5F;EACA3F,QAAQ,EAAET,SAAS,CAACqG,IAAI,CAACC,UAAU;EACnC;EACA5F,SAAS,EAAEV,SAAS,CAACuG,MAAM;EAC3B;EACA5F,WAAW,EAAEX,SAAS,CAACuG,MAAM;EAC7B;EACA3F,gBAAgB,EAAEZ,SAAS,CAACuG,MAAM;EAClC;EACA1F,SAAS,EAAEb,SAAS,CAACuG;AACvB,CAAC;AAEDhG,IAAI,CAACiG,YAAY,GAAG;EAClB9B,OAAO,EAAE,MAAM;EACfhE,SAAS,EAAEgC,SAAS;EACpB/B,WAAW,EAAEL,aAAa;EAC1BM,gBAAgB,EAAE8B,SAAS;EAC3B7B,SAAS,EAAE6B;AACb,CAAC;AAED,eAAenC,IAAI;AACnB,SAASF,GAAG;AACZ,SAASoG,OAAO,IAAIC,YAAY,QAAQ,8BAA8B;AACtE,SAASD,OAAO,IAAIE,UAAU,QAAQ,4BAA4B;AAClE,SAASF,OAAO,IAAIG,OAAO,QAAQ,yBAAyB"}
@@ -1,5 +1,3 @@
1
- @import "variables";
2
-
3
1
  .pgn__tabs {
4
2
  flex-wrap: nowrap;
5
3
 
@@ -11,9 +9,9 @@
11
9
  position: absolute;
12
10
  top: 0;
13
11
  right: 0;
14
- min-height: $tab-notification-height;
15
- min-width: $tab-notification-width;
16
- font-size: $tab-notification-font-size;
12
+ min-height: var(--pgn-size-tabs-notification-height);
13
+ min-width: var(--pgn-size-tabs-notification-width);
14
+ font-size: var(--pgn-typography-tabs-notification-font-size);
17
15
  }
18
16
 
19
17
  .pgn__tab_more.nav-link {
@@ -32,28 +30,29 @@
32
30
  margin: 0;
33
31
 
34
32
  .dropdown .dropdown-toggle {
35
- padding: $tab-more-link-dropdown-toggle-padding-x $tab-more-link-dropdown-toggle-padding-y;
33
+ // stylelint-disable-next-line max-line-length
34
+ padding: var(--pgn-spacing-tab-more-link-dropdown-toggle-padding-x) var(--pgn-spacing-tab-more-link-dropdown-toggle-padding-y);
36
35
 
37
36
  &:focus {
38
- background-color: $tab-more-link-dropdown-toggle-focus-bg;
39
- border-color: $tab-more-link-dropdown-toggle-focus-border-color;
40
- color: $tab-more-link-dropdown-toggle-focus-color;
37
+ background-color: var(--pgn-color-tab-more-link-dropdown-toggle-bg-focus);
38
+ border-color: var(--pgn-color-tab-more-link-dropdown-toggle-border-focus);
39
+ color: var(--pgn-color-tab-more-link-dropdown-toggle-text-focus);
41
40
 
42
41
  &.btn.btn-link {
43
- color: $tab-more-link-dropdown-toggle-btn-focus-color;
44
- border-color: $tab-more-link-dropdown-toggle-btn-focus-border-color;
42
+ color: var(--pgn-color-tab-more-link-dropdown-toggle-btn-text-focus);
43
+ border-color: var(--pgn-color-tab-more-link-dropdown-toggle-btn-border-focus);
45
44
  }
46
45
  }
47
46
  }
48
47
 
49
48
  &.active {
50
49
  .dropdown .dropdown-toggle {
51
- color: $tab-more-link-dropdown-toggle-active-color;
50
+ color: var(--pgn-color-tab-more-link-dropdown-toggle-text-active);
52
51
  }
53
52
 
54
53
  &:hover {
55
54
  .dropdown .dropdown-toggle {
56
- background-color: $tab-more-link-dropdown-toggle-hover-color;
55
+ background-color: var(--pgn-color-tab-more-link-dropdown-toggle-text-hover);
57
56
  }
58
57
  }
59
58
  }
@@ -63,44 +62,38 @@
63
62
  // Nav inverse pills
64
63
  &.nav-inverse-pills .pgn__tab_more.nav-link {
65
64
  .dropdown .dropdown-toggle {
66
- padding: $tab-inverse-pills-link-dropdown-toggle-padding-x $tab-inverse-pills-link-dropdown-toggle-padding-y;
65
+ // stylelint-disable-next-line max-line-length
66
+ padding: var(--pgn-spacing-tab-inverse-pills-link-dropdown-toggle-padding-x) var(--pgn-spacing-tab-inverse-pills-link-dropdown-toggle-padding-y);
67
67
  border: none;
68
68
 
69
69
  &:focus {
70
- background-color: $tab-inverse-pills-link-dropdown-toggle-focus-bg;
71
- color: $tab-inverse-pills-link-dropdown-toggle-focus-color;
70
+ background-color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-bg-focus);
71
+ color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-text-focus);
72
72
  }
73
73
  }
74
74
 
75
75
  &.active .dropdown .dropdown-toggle {
76
- color: $tab-inverse-pills-link-dropdown-toggle-active-color;
76
+ color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-text-active);
77
77
 
78
78
  &:hover {
79
- color: $tab-inverse-pills-link-dropdown-toggle-active-hover-color;
80
- background-color: $tab-inverse-pills-link-dropdown-toggle-active-hover-bg;
81
- }
82
-
83
- &:focus {
84
- @include nav-tabs-link-focus(
85
- $tab-inverse-pills-link-dropdown-toggle-focus-border-color,
86
- $nav-tabs-border-radius,
87
- $tab-inverse-pills-link-dropdown-distance
88
- );
79
+ color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-text-active-hover);
80
+ background-color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-bg-active-hover);
89
81
  }
90
82
  }
91
83
  }
92
84
 
93
85
  // Nav tabs
94
86
  &.nav-tabs .pgn__tab_more.nav-link .dropdown .dropdown-toggle {
95
- padding: .563rem $tab-more-link-dropdown-toggle-padding-y;
87
+ padding: .563rem var(--pgn-spacing-tab-more-link-dropdown-toggle-padding-y);
96
88
  }
97
89
 
98
90
  // Nav inverse tabs
99
91
  &.nav-inverse-tabs .pgn__tab_more.nav-link .dropdown .dropdown-toggle {
100
- padding: $tab-inverse-tabs-link-dropdown-toggle-padding-x $tab-inverse-tabs-link-dropdown-toggle-padding-y;
92
+ // stylelint-disable-next-line max-line-length
93
+ padding: var(--pgn-spacing-tab-inverse-tabs-link-dropdown-toggle-padding-x) var(--pgn-spacing-tab-inverse-tabs-link-dropdown-toggle-padding-y);
101
94
 
102
95
  &:hover {
103
- background-color: $tab-inverse-tabs-link-dropdown-toggle-hover-bg;
96
+ background-color: var(--pgn-color-tab-inverse-pills-link-dropdown-toggle-bg-hover);
104
97
  }
105
98
  }
106
99