From 4c7a3e8adf73bf55a5fba5905b356468be17bc0e Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 10 Feb 2021 19:29:59 -0800 Subject: [PATCH] Add Sass docs (variables, mixins, and loops) to most pages (#32747) * WIP: Mention variables, mixins, and loops in docs * Add Sass sections to component pages * add sass docs for forms and content * Update buttons.md * Remove empty mixins sections * Massive update to utilities and some consistency changes Co-authored-by: XhmikosR --- dist/css/bootstrap-grid.css.map | Bin 185759 -> 189160 bytes dist/css/bootstrap-grid.rtl.css.map | Bin 185763 -> 189164 bytes dist/css/bootstrap-reboot.css.map | Bin 95348 -> 98828 bytes dist/css/bootstrap-reboot.rtl.css.map | Bin 95361 -> 98841 bytes dist/css/bootstrap-utilities.css | 106 +++++++------- dist/css/bootstrap-utilities.css.map | Bin 178447 -> 181848 bytes dist/css/bootstrap-utilities.rtl.css | 90 ++++++------ dist/css/bootstrap-utilities.rtl.css.map | Bin 178391 -> 181792 bytes dist/css/bootstrap.css | 106 +++++++------- dist/css/bootstrap.css.map | Bin 501817 -> 506445 bytes dist/css/bootstrap.rtl.css | 90 ++++++------ dist/css/bootstrap.rtl.css.map | Bin 501708 -> 506336 bytes dist/js/bootstrap.bundle.js | 28 ++-- dist/js/bootstrap.bundle.js.map | Bin 407224 -> 407106 bytes dist/js/bootstrap.esm.js | 28 ++-- dist/js/bootstrap.esm.js.map | Bin 273972 -> 273854 bytes dist/js/bootstrap.js | 28 ++-- dist/js/bootstrap.js.map | Bin 275227 -> 275109 bytes js/dist/alert.js | 16 +-- js/dist/alert.js.map | Bin 17033 -> 17022 bytes js/dist/base-component.js.map | Bin 1848 -> 1844 bytes js/dist/button.js | 16 +-- js/dist/button.js.map | Bin 11905 -> 11894 bytes js/dist/carousel.js | 12 +- js/dist/carousel.js.map | Bin 48580 -> 48562 bytes js/dist/collapse.js | 12 +- js/dist/collapse.js.map | Bin 34524 -> 34506 bytes js/dist/dropdown.js | 12 +- js/dist/dropdown.js.map | Bin 42127 -> 42105 bytes js/dist/modal.js | 12 +- js/dist/modal.js.map | Bin 46426 -> 46408 bytes js/dist/popover.js | 16 +-- js/dist/popover.js.map | Bin 16171 -> 16140 bytes js/dist/scrollspy.js | 12 +- js/dist/scrollspy.js.map | Bin 28140 -> 28122 bytes js/dist/tab.js | 16 +-- js/dist/tab.js.map | Bin 23311 -> 23300 bytes js/dist/toast.js | 12 +- js/dist/toast.js.map | Bin 21082 -> 21060 bytes js/dist/tooltip.js | 12 +- js/dist/tooltip.js.map | Bin 61895 -> 61861 bytes scss/_buttons.scss | 2 + scss/_modal.scss | 2 + scss/_navbar.scss | 2 + scss/_progress.scss | 3 + scss/_spinners.scss | 4 + scss/_transitions.scss | 2 + scss/_utilities.scss | 102 +++++++++----- scss/_variables.scss | 131 +++++++++++++++--- scss/mixins/_alert.scss | 2 + scss/mixins/_border-radius.scss | 2 + scss/mixins/_buttons.scss | 7 +- scss/mixins/_caret.scss | 2 + scss/mixins/_forms.scss | 3 + scss/mixins/_list-group.scss | 2 + scss/mixins/_pagination.scss | 2 + site/content/docs/5.0/components/accordion.md | 6 + site/content/docs/5.0/components/alerts.md | 18 +++ site/content/docs/5.0/components/badge.md | 6 + .../content/docs/5.0/components/breadcrumb.md | 6 + site/content/docs/5.0/components/buttons.md | 22 +++ site/content/docs/5.0/components/card.md | 6 + site/content/docs/5.0/components/carousel.md | 14 +- .../docs/5.0/components/close-button.md | 6 + site/content/docs/5.0/components/collapse.md | 12 ++ site/content/docs/5.0/components/dropdowns.md | 22 +++ .../content/docs/5.0/components/list-group.md | 17 +++ site/content/docs/5.0/components/modal.md | 12 ++ site/content/docs/5.0/components/navbar.md | 14 ++ site/content/docs/5.0/components/navs-tabs.md | 6 + .../content/docs/5.0/components/pagination.md | 10 ++ site/content/docs/5.0/components/popovers.md | 6 + site/content/docs/5.0/components/progress.md | 12 ++ site/content/docs/5.0/components/spinners.md | 14 ++ site/content/docs/5.0/components/toasts.md | 8 +- site/content/docs/5.0/components/tooltips.md | 6 + site/content/docs/5.0/content/figures.md | 7 + site/content/docs/5.0/content/images.md | 8 ++ site/content/docs/5.0/content/tables.md | 14 +- site/content/docs/5.0/content/typography.md | 16 +++ site/content/docs/5.0/forms/checks-radios.md | 6 + .../content/docs/5.0/forms/floating-labels.md | 6 + site/content/docs/5.0/forms/form-control.md | 14 ++ site/content/docs/5.0/forms/input-group.md | 6 + site/content/docs/5.0/forms/overview.md | 10 ++ site/content/docs/5.0/forms/range.md | 6 + site/content/docs/5.0/forms/select.md | 6 + site/content/docs/5.0/forms/validation.md | 26 +++- site/content/docs/5.0/utilities/borders.md | 20 +++ site/content/docs/5.0/utilities/flex.md | 8 ++ site/content/docs/5.0/utilities/float.md | 8 ++ .../docs/5.0/utilities/interactions.md | 8 ++ site/content/docs/5.0/utilities/overflow.md | 8 ++ site/content/docs/5.0/utilities/position.md | 13 ++ site/content/docs/5.0/utilities/shadows.md | 13 ++ site/content/docs/5.0/utilities/sizing.md | 8 ++ site/content/docs/5.0/utilities/spacing.md | 14 ++ site/content/docs/5.0/utilities/text.md | 20 ++- .../docs/5.0/utilities/vertical-align.md | 8 ++ site/content/docs/5.0/utilities/visibility.md | 8 ++ 100 files changed, 919 insertions(+), 457 deletions(-) diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map index b74a7c5b20c8630aaadee27b5178d869eada5e27..73d65ea96b31b7ef536032e467a9d794e1fa68b9 100644 GIT binary patch delta 3302 zcmZ`*U2IfE6waKswAyWYKR zF(!~=F;TQFsdCyvFrXwVHh`MUBN~GbDq8hHOvGTKkw^@Q$WJ6D&Yjuad%NAf&CGYc zbG|uq=FGf(rtI3qvU78!MDLSBUEO>7CNGoa#bVMnd5_ek$3v4Vpsq!%t4|vpq4xI9 z?ofN@a7Rz5>+!bEu24^VXV)5~qes}RdpQO)2ITY~*z5vdRVpb(WFt5v8HyBEMl7z@Ie<;Vk?0nSN2dW6i4ro zMq2PMsVU~$s2I>Sr!Z^l7VRR>v^OrZ>}fGa`sm*TYDEh2plI=FV*wNs%YonjVp6uZ z-LEyP%ps1CVa~IpvnB9B5l67W4L-|RpitHIB;8&C-x5B=RyPcB zojyfN4w}KRsoBAB&I{Fe#t)?^C%})IhmFd8;KD7t*r@b5=9RB)^gt1<_Q1*l9xt!2 zHb2C9r1E(&=rKQBF5$G=d4N?2{aR~lL$_`uQamfZ0X7Vp@;*np=|~;4ie%=4InU2| zsuY%0dvo+$edZMM;tr-rO|}T=S1aIf8J8@WIkwBaTe7 zdwF0JRMAifzHo8n>F_yrj_tD>7jqOZC0+2FP%aXegL9@h#Q{Zi5b^gO_@0N%i(0u7 zng>)}GTCi&?3iwbTHxHpOmMCjmhsX|TgY-WEIH4OUh9Q1A$&0tuALr!5+2<@11Sm2Z`X!ji$gxS0hTJJ|p2gogyXh-17vSEtR)xSVk0imrMdu84cT zhy{`;JjO+OqlTVj?b&hXX=fDf2znlr>kDLAQOR&rH!F~dy{x{s?SY?xza^^|wM^gb zZBk6p*oo;H_v}w*=Z@WPOhB1vwT=1kYzjLiBPtq26?-hAwg=WUtp)tfgaBS`X3xs_ zIC$x}2~7p~$uO)#He7-?hhdXdDBijpHg7}ikqCP;GfI6@W@?9_?fW1gZboAsIKAaQ zT~|$oJ?*S&m%7Eo;X@gL6QW!_W-f?DqfF}$bHpD=Ljwy+759(AO1gU#68xI;N3eMH zqUPD;ZPSzbkZg$jd6Hu0(DlV!D50ejuv?VS0;32* zFTV_xk}4Yx$vBJ9h-2gIk*k|xHS-s;>d8zSFunymSU<(;X2%o*)(k)`PE5fHTt5c& z0{GDag7-rSetHDFVy$|bt*twe;cm93v1xc1k4>}R1`qVHwKg{m{dn^R@hp(FdM4ei z>XL>YGvt)xYr!f#vxw)HFh#SkvcMN+SPBl#z^@{M-i(QzUzCosPmA>r^{Wayx7=rA z=s1iN@+%$8hi8wlCn3e;1~WdG2y2p}ic;`qrgl8)J_%u=#+S9WVN9N4-wjKSdq9Z| z8jec9gQwsnuB15^%Btuv*cT~cFcG4f{Ne0^9fNw_fnDOJHRZ!CZ|wKMnu@?is_2u;}v>2I%D!!RODye9i^V`kNi?89tE6mHeSy&~KQlG~% zBS_U#*#0#MEMo&lVwfxI{}i!S@yK>owWBTI#@@3~O6$(T3;gnV-MJ+C`bXev`X7HJ BnPdO} delta 1356 zcmYjRTWnNS6wO&P)6VqC*wU6j?Jb?C;WcdqwG2(28Cz*>o65rw7-Mfcx5LEgy_Y)= zy(5P^(9oVe!n#7(tdv(}UUYn0Qbzr}B~<+|8LKVBD4 z$u&1bgHw3u^AS|j%s3X&nOkDa7ScV`@F14Z>Dyv56Adpz8C~c?-gp=6^3uPeP#~n! z1rwFzo)cX(GABNyj(M@4-kcXjbZ1_y8NVkgrFKWWB4pk@(VkDCIkA{tv*DuLWycbc ziRJeWDc5JfzDVweSl0>vAj=q(1`J_(O2f_OsmC>w!^7-#vy3`llWa`9wXY zU1T)FDP!xg!A?z$tiZJJnDWDMO50teLGt4 zsGzxaRAojGkFeA69^{k3$Jv(dAc~~dk5L!7J5er|KZ992^={zv_8wfOm0NjV{aHMK ziu;QwDK!=itBI(=%gGy?F>24sSMOos-)_S>n>-f6guN=aeYcwGQ>}F1(KDaabC%gN z9~XID%=ChayEa{y2nnFf{h;yFS7qbRTKQN!V=9#K@&j77Duk}#CSPE8p!!fH(EGs1f)aTLDi z*+pHd#hWXAT4J}R>53N91~okqS2#Cd7zxczcLN%np~I9)*@qYbVe_6BAHq=!S4my^9~#)d|%6FLX_ExUUn7sVV)% zkI+uDBP>ntBpT^-0bA_L0)DWkCK=_B3)N1(bv3402^yYZ#Ru!ye=FP!Ts6fNYp1Z5 z%sTGcImI?kPGPxF=$$FNP`e4fk8g!M^nUY(0hT$a;bu uWhCQTjI%{&;Bqe9{AM#FVY+(PR|trb98fT3#5GR3&f#O5{P{fGb^iej_Q((b diff --git a/dist/css/bootstrap-grid.rtl.css.map b/dist/css/bootstrap-grid.rtl.css.map index c6637b1df514bcad7b9811e10a67fd916ccbfe11..1ade19c2c322cd3cf78d8be285f4aecec141c2ac 100644 GIT binary patch delta 3139 zcmZ`*Yitx%6wW=}(w4H_?e3OB=^HT7x_~0VT0z>fi4Q-9hEw?I7ZGyA<*(lH`kddEo{#D{HNhYMQYy^8GLyj^moXa8nVvN+5O|lFrqNI|xZ(Z6FeC!Y`z(-S%i|ylD7tGA-((vUNlpBXBrLnTqip$#EsQCFvlO(Rh7k94w{CfiQu7Yg51r;Gof_t1VMsjSBa;nTh|;O z;JOJ?N`JgT?#$zAmj&~?<4OYO@S8E>_r+uuMlI@yBfUmo5#fsbDU_?|O*xQ9P#z`z zBJ=TtY~PjExnPgWlK9-2z?pnFp34DT>II*5W}v_-rJ$=AVIu^#O=+8}1A>JraOR`CPUr1L)GM-}2?vt-29U zqBKfMao=XhEi&akMA!%#@i)`Kd-QRv`1kCat8>L?vX{G|;p@|G1zvQV4s>sEEi zWR-3U=m+<~BH#`Mc_6YWj`FDPkyItZOz4_jD86o4j)WvjmE?b@fq-%7O)Dw~nezun}*xI2cop7^I=W>is%K4KtGbYC! zfugrO0+)GH7SF=K+z71ajpU0MdV-BeM=#QQBXC{F^QTaLx6-LyFd`X_dZlZ(!XF~e zvr%waoXt{evIG)RRMB{t?d#!Y4d(OO!*xB7OO-hMFo!3ub|!i{WX+Nh5p7+>#%{zm zNIOmF%E9-0VKrXug;s8>GLtiz`^IpXy-HJAFOjCUwlOxGE^LPYel-kpE&uYc|0$S* z@j>w7M}07t?(Kt%`Me@(XO#01)S>IDsj%18nnJ~<*x85B_)a*?gXr^4$FN`*yN5pq z{AE+R?7GBtyI~=HXcwe->x$>5Zgze;i1+IWy+<}C9ZQIv!?DY|VMNq>brzU5(xFR9 zQ<(6W*4km<)#qVN4i8WHG$<`^k|I&OFh&-7LTu%%s@qX_N1Jv@>s8;-l+8H8HP zMgYeVs>G`H09&bpP>dS}z>R%}*s5X(%JCHopa)*=HHfeZ|={~8VpauseH zfEDgLRxGWqiOAhjN;Mns)Bro;>jCIOzZZ(LJXkgeWxSJo2}6$>a?<&S7Eeh_wwi8CXPH{O5>?uXxurQ#t?QXFxofuj)OY4cZQ zfoVTlm1xS~Y4>(pOGn=ExgmIhcWpNG-w^xY;%(hn`BxDvyAVO$NTR&0x(4OLFxI_Nh5s1x0vdm|b_-2;|Yxx8OrwH@?~|Rr+dM z5{jm!n<^=Gwsm^oBs7V#uF3+_Mw(SUDRT!sVQcBo|9lFL^Pci~Gm$Qh_P-1M#s34P C=#Gg1 delta 1347 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 E1-#}DrvLx| diff --git a/dist/css/bootstrap-reboot.rtl.css.map b/dist/css/bootstrap-reboot.rtl.css.map index 6132f76482161162092bbbff3ac2f8bddcb8a794..0b860fd61db7a33c493036aef196c432792e62dc 100644 GIT binary patch delta 3385 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 diff --git a/dist/css/bootstrap-utilities.css b/dist/css/bootstrap-utilities.css index 7f3f5fdc8..8ce45f445 100644 --- a/dist/css/bootstrap-utilities.css +++ b/dist/css/bootstrap-utilities.css @@ -1130,6 +1130,10 @@ padding-left: 3rem !important; } +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + .fs-1 { font-size: calc(1.375rem + 1.5vw) !important; } @@ -1182,16 +1186,20 @@ font-weight: bolder !important; } -.text-lowercase { - text-transform: lowercase !important; +.lh-1 { + line-height: 1 !important; } -.text-uppercase { - text-transform: uppercase !important; +.lh-sm { + line-height: 1.25 !important; } -.text-capitalize { - text-transform: capitalize !important; +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; } .text-start { @@ -1206,6 +1214,45 @@ text-align: center !important; } +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ .text-primary { color: #0d6efd !important; } @@ -1262,22 +1309,6 @@ color: inherit !important; } -.lh-1 { - line-height: 1 !important; -} - -.lh-sm { - line-height: 1.25 !important; -} - -.lh-base { - line-height: 1.5 !important; -} - -.lh-lg { - line-height: 2 !important; -} - .bg-primary { background-color: #0d6efd !important; } @@ -1326,37 +1357,6 @@ background-image: var(--bs-gradient) !important; } -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-decoration-underline { - text-decoration: underline !important; -} - -.text-decoration-line-through { - text-decoration: line-through !important; -} - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; -} - -/* rtl:end:remove */ -.font-monospace { - font-family: var(--bs-font-monospace) !important; -} - .user-select-all { -webkit-user-select: all !important; -moz-user-select: all !important; diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map index c689d94a8fd74bb7abfe95d3409e2adaf40f6a2b..9f3c5d32dbaa1fe3474d5572d9d12f29f5706ead 100644 GIT binary patch delta 4450 zcmZ{me{2)i9l-S-G5J;JcW@FC#b#j=xF*;MNvP=$$0S;%q(H~Y#JLTiLHphV6<$&*8V}a(K69)Fj2MYMAM6$%+m4JX1@*3DkGbv5tAUNBZ85JFE!$*XJ!9GWb81E9>8ilfayU3L?q9xG z`MwLr_o}aV2L}4Xp-?Co`f`6V{7f(yIbAX=?|;*?zYVX z!&J4v1pKDJPIcJbXL2z`4JawYKtO%j-449!DR&lsx&l3PM>Nh;?y8?!o!153b1O1G|MV5zXkOB2)p7wz_%d^0^-{e`NHjL~xNg=F0 z@U(S`OhC-A3^RslF|7Kxw2hh;n80pRz(_crWl?1fRfC9(6timk*3ZxFWLs?Fz{6>p zQz$k{&&nv0mkA{$!PlGZLPI041ufkHHR$F)K(+S9Z7{xpIB8x(7ggN_Q>3AsWi~b8F1TJr z)H=$*grNU=d)=d=lt!;Eg0|L4yz(i0(NbM};(zUdt=jZG&_=6OZAy`HwUBL!i}0yZ zBHD|e8O5zBaf>`nz`SAF$@}0~EeVp!6K;`@PVv!ci+%3~c(xjiJ75)hyb<Ih9 zr0K|ogc6;ysNQ-Aj?q)BC81FPszJkwOJXil(m?(u*ouDL2&=UDMp&R#sI`b%z40kN zYAGMu-w9n>T{FB`O=4s&iIgQhd;{XvPJ5>len4ZSY-nH;2(*3 zdNw*G!Y(SD5;+Aoe@Q_*x&>~AM8mg^h^05&c`lWRVG|$_8>9odTD)1k>e%KcZ@#Wx#CEr?`BClZfvIEP>Y+?Q4FxjcPjx zBhzvd6H})6w53qmzjwhK^q#IGf!+ziz2ts2#UwF<$E4+YYMb`J`&7NkptR1$&KKh( zYnwWU;it6Du60DvgS~j3>d#I~hKnZzQsz>6$UO=-p<}l}EvkPCIy5{IKHNwS&a;-d zS+X!E#mJqm!?QV7vZrkugA*Ij!W^tX$M(TKbao#k&r?%ZnH)R*P&A4kC*$B-Ib&Ng zi08w?(|AlBzm3Nf4zUu={{}d;C-%dS=+N=3sYC|PK~YR8iHsg+djnmU3~PJ70#DM~ zH7ctiy8cx-h+cdRGEVWY(dtO6qvVE96U>Dn;Qis*oa(N=tQRzunsNt;uid9 z25v^t4D3cnGVoFK=wq-0-O{%;c`DqE9?8O;NXWu^G?#^L^usKiaN|cyj>@txCPrl+ zFT~udV|tLqhV+NOD4?B3EN7uN#}xaDRzmn*op>KO&~x`d zi`F>q`tKD3Hs73{3aP5c64PH|A*8o))JBMf2F8|qbOO| zKA44v>1F)fTAY;!PaQEQ^C`VJZH;VGvVuOD#~FS6E&NBda39nmVICLa!8~rfSDu4s zNaHnmY+7aue=(B~1a>XkWx6RD$E73R(1HJf7UX&XHlQyYf%V!Cz60^UIsJco_Zm7z h;3-k&Nz`@vs$^Buj=)poUN$w9lL14$ delta 2615 zcmZXTdu&rx9LIBhTi0&grW=oKAmMHnM7FVYl(|w#Y&#|@Lr@r~Qz`4ED{JrV?!Dc` zZMrSuE25$&`U^&hk3^IxXhyt|7{Y5tGao#nF}y@cj5vrWN)!=2?LD_6_Me;kJD=bA z{+{RCjn3zOD|lb96?C}+T|u9}#hawFZSxE2>rGQjQpwg((9|1f3NTuy(QURSZZ2$D zuhFx%n=|G*jW*dK0F zjXan~;&n)tz(brwWL}4yA#{6XMWe-a&fVkO(&WT@6`}uBmS1OGl@q+eL`FJ5-BslS zmV<{ocry;Fl~p&-s(bvZ*;bhoEsN-!xHBZvBu>008DL|y1{_g%ASEjhCt4QKIdNx* z$7%^D-VCv(9Z`84HP|{}Zj#jnnInxMlURA{oVc@yhZAoWiD*2K_J1{*6Kx<1=^VMU zh=&tz7KtQzpk!7cPP7b(T6>%(1OAonEac&rycwcfFRh0M>ahY8FU`@Svo?9f!|+&qz;JsH|!^?@U{J<8BdH7yWu!MW;=)r zLxWI`iOtyM*648M`tBb{zYPwB)%u zLW-y%$zdYuLGmO{J4E`i{SYa{FAkA8M&)7hBEcIDlM>_SBc#cW!DHlTzN=FVg`-kL z#qWDz5?)ND(0iPmM)fl?$-ooDPK>=L$>X_Zs`6>_y3JU2hJ3}O&X6M9(F!)K9V2nP zFh(Ze&y&GvoEjrqPTC)bejyJUaGreQNZa-nS&6Idk}>BmQb(|`03627OJoAU_pXpq z{QEw*1_v*b>+q*?D8?^ySZ&j<5C=Ldpx79=Os;q02Tqu5EoeB-84XwJneHQ>N4 z#q6`I1YCIT9LdKiWiSzIo&hKNoRE*F%3(5YDT7jDW*PX1d8N1#t~Ex>VI)7D2iCg4 zZk(@zuX9a%^DHRDS+iibndU7w!UVvFtD)T3TMZj?@zG0Uit&6se4Jy*9(coSP|1=| z&zg|ZF0lzp>0kWyJ~l^IR4$%c!7jh)g|QqgnhyoWj|O8u)v(UBM=Hl#MId<31~C#&1sdx zp;$UB%X?`koLV{|lt{#)Vpz~*LF*KSc*;juBZnWtTNUu#&pca03M*e&BWk)RN`e>@ z!QMRLXsdWg4ms8T1>b>m@T-{%C%8R5|!G78Qd6D zK(w1h7573g&lQS^ik6v|Ej2F(9_)ou+|kQsxcYlyLrG!gv0f1HXcv1gg?%s`&r0mm zlKOk>2U3a7KDN7?`k3F+4#<58QX-8|f**LUuF19G3uqWT4B;#vRqO+cWd!fkMCON5!F&un`y_Y+m1)K5b uQ*hqwQR&@@bo; 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 Q+1f=FIx{pGVfPdN0(BKya{vGU diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css index 54ce4d828..011df80d9 100644 --- a/dist/css/bootstrap.css +++ b/dist/css/bootstrap.css @@ -7098,6 +7098,10 @@ textarea.form-control-lg { padding-left: 3rem !important; } +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + .fs-1 { font-size: calc(1.375rem + 1.5vw) !important; } @@ -7150,16 +7154,20 @@ textarea.form-control-lg { font-weight: bolder !important; } -.text-lowercase { - text-transform: lowercase !important; +.lh-1 { + line-height: 1 !important; } -.text-uppercase { - text-transform: uppercase !important; +.lh-sm { + line-height: 1.25 !important; } -.text-capitalize { - text-transform: capitalize !important; +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; } .text-start { @@ -7174,6 +7182,45 @@ textarea.form-control-lg { text-align: center !important; } +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ .text-primary { color: #0d6efd !important; } @@ -7230,22 +7277,6 @@ textarea.form-control-lg { color: inherit !important; } -.lh-1 { - line-height: 1 !important; -} - -.lh-sm { - line-height: 1.25 !important; -} - -.lh-base { - line-height: 1.5 !important; -} - -.lh-lg { - line-height: 2 !important; -} - .bg-primary { background-color: #0d6efd !important; } @@ -7294,37 +7325,6 @@ textarea.form-control-lg { background-image: var(--bs-gradient) !important; } -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-decoration-underline { - text-decoration: underline !important; -} - -.text-decoration-line-through { - text-decoration: line-through !important; -} - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; -} - -/* rtl:end:remove */ -.font-monospace { - font-family: var(--bs-font-monospace) !important; -} - .user-select-all { -webkit-user-select: all !important; -moz-user-select: all !important; diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map index a48544218d1ff6ae7d2f8d3e213c8afadfe003d9..d69a05abed4a8a0d51e035ac8b45b52d67e2708f 100644 GIT binary patch delta 22544 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 NI@IW|g3i&6{|_jW*3JL` delta 20419 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 delta 20639 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 Lm)+C)Q1|}>IFqmE diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js index 1678cd21a..0545d4f3e 100644 --- a/dist/js/bootstrap.bundle.js +++ b/dist/js/bootstrap.bundle.js @@ -46,17 +46,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -766,8 +756,8 @@ _createClass(Alert, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY; } }]); @@ -842,8 +832,8 @@ _createClass(Button, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$1; } }]); @@ -5882,8 +5872,8 @@ _createClass(Popover, null, [{ key: "Default", - get: // Getters - function get() { + // Getters + get: function get() { return Default$5; } }, { @@ -6383,8 +6373,8 @@ _createClass(Tab, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$9; } }]); diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map index 0fb1570bd06572a6d1ee69d85201ad96b0ba8f57..268c1a658381aa1ae094ff9338c23bb77674acfd 100644 GIT binary patch delta 466 zcmdn-R^rebiG~)&7N#xC2P(Ips$}kSU^Q@Zbj@F$xQm&C%hl1?)x{blus!Dx^L=KJ zfD=Su`VA#Eh3#d>nBRM|0TpDVxE}Y(I&LX#cqY%p?6_8|BVE*)eJ~pUi zJ5X|aqdBXMuo_U#JTl+O+SSoH&q*iI(a}H8UnkhnF#sguVr>n!x_tU;FIFjt!Q1(~ zSvOgN%(P6*pMI)^6~#iHR@RVscA#WMo)eOdnbZ59z!lnjgqoE-J^mw9w0Qb2n1b@{ za!*-LaRWVS=mzy@A0L|x*mjc4nGQ5ZZu`-XtOsPkLEwkvAZYkpa&VxOK?0@R9~3qyfs#LcwFw(EP#~fG#)Rz*BLKX8kof=r delta 767 zcmX@~Mqw+tZFQzxU<}cg#qEXq+A`#3Bthr+9jzIg8x(nL;d! zRDg=I0-=f=&5;$g0~KvgG-tID4h(lRkA$dk0$T2z=cJS9=;)v4uM_O(7yuG+v9`8` zxv~~vk9!G0HVf2Clrg4T(FWXh!SHj9e*rpO2KN1z-lD@wY_x0u_&sX z?)H&YZu^HPtZTS=fT2?128oiv?(FSAXWx?nB?LdDU`9_Z8GLMigh45-%oCdSfGKUM nAW$1f02n)!(;#tSJSW4$Dl~&M*Q1Tan=t diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js index 638fee1f8..c0cd509df 100644 --- a/dist/js/bootstrap.esm.js +++ b/dist/js/bootstrap.esm.js @@ -43,17 +43,7 @@ function _extends() { function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); -} - -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -763,8 +753,8 @@ var Alert = /*#__PURE__*/function (_BaseComponent) { _createClass(Alert, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY; } }]); @@ -839,8 +829,8 @@ var Button = /*#__PURE__*/function (_BaseComponent) { _createClass(Button, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$1; } }]); @@ -4158,8 +4148,8 @@ var Popover = /*#__PURE__*/function (_Tooltip) { _createClass(Popover, null, [{ key: "Default", - get: // Getters - function get() { + // Getters + get: function get() { return Default$5; } }, { @@ -4659,8 +4649,8 @@ var Tab = /*#__PURE__*/function (_BaseComponent) { _createClass(Tab, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$9; } }]); diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map index af58768cf11ee8d19855effe68d6dd850ab12966..400ad62fbfbd58c3bb34b4a4e79a829f244286f2 100644 GIT binary patch delta 520 zcmdmTM_}J=frb{wElg?w+YJJk`W#rxog7{BmmiCVn3^pj<{uzLT}1qjR2CnRTNPVc@8chUO0%u-;-WlxWK1r;rxUI$~A zZj{XJiI>C;P0U!|G^k&?9H9d_zFq3bh;ukw{p7UD`vUvZ|*X$<^}~)g&Q=GQ2a}g4cmb>Tmpq%mLC?! zLwy*|&hkeXu DHD$b} diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js index 94d0ae344..cfb6c335b 100644 --- a/dist/js/bootstrap.js +++ b/dist/js/bootstrap.js @@ -68,17 +68,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -788,8 +778,8 @@ _createClass(Alert, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY; } }]); @@ -864,8 +854,8 @@ _createClass(Button, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$1; } }]); @@ -4183,8 +4173,8 @@ _createClass(Popover, null, [{ key: "Default", - get: // Getters - function get() { + // Getters + get: function get() { return Default$5; } }, { @@ -4684,8 +4674,8 @@ _createClass(Tab, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY$9; } }]); diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map index d667e1399d686ffb13dd5dbce7e71cee90b46f63..660945cb39c71489b3965b89fd0ec9670f7ba875 100644 GIT binary patch delta 499 zcmbRJOkn9#frb{wElkscw=WE4>T_T&3wGaYD*+;-D<%v)r@LFI?!9H?VWxmo@Q11+lZgjxiQ m3We=4@+>WaAT4E{<$Hb3&h=p+kvt0iV*NwgHO$=N z>Fc;yQVOpfZ74Dc72+=vckBdbbZaGv@m>~0IQ=lUANT?!xcV>j5%IW^@%u)zF z+wS1oq2Ky@m;;$?>9barF zfz=d1)OhHGVo{O{R+0r#V(f)AcuK))ioj|l{k6Sx!m$`sIept(X1VQ&51ChU^8f?5 z!VMB1gWcKNfzG}p1B!J&q+mvhL15C55&@;KGEaz)rUO%$!uC&cEG>dSZ6Hx#>{L## YF+fTzh12I4upp%aNCLZQz;cEW0ArlkP5=M^ diff --git a/js/dist/alert.js b/js/dist/alert.js index 6bcde2615..2e4f2a088 100644 --- a/js/dist/alert.js +++ b/js/dist/alert.js @@ -34,17 +34,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -276,8 +266,8 @@ _createClass(Alert, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY; } }]); diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map index 6ef85dc0e882b23f48ec6aa2cc4579ed2299b76b..69e1a242e6a39287e6715d813e641f2a084bfa04 100644 GIT binary patch delta 29 kcmeBdW&GE|xZ#`5Cf!02E>}lmR~KsoCr8)KHIBTD0I1#x#sB~S delta 35 rcmey@!r0l$xZ#`5u@mv0I5_7(EtDd delta 33 pcmews(-^y9vFhXrs$82FtL|sxwsv)_a&pnhb#ipvoTJ0V1OVs`3%dXS diff --git a/js/dist/carousel.js b/js/dist/carousel.js index ac6e8455b..986de8e0c 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -54,17 +54,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index c681d930330c1d6f56b2d4604314f285e0da904b..700fdeb606b3d0f834ffc3609a953a3b44368dd8 100644 GIT binary patch delta 36 rcmX@|n`zT;rVVp*H!si4_hmD1a?D7{pRBN3nia@&E!^y~yMYM+GCK~< delta 70 zcmdn=o9W1JrVVp*CpYABZJwK(@2eN?n33Y5lj`VL=w$8c=$z-Ilj!K^U*)dj@8}o+ V5^=G%whni61*<9EY_z+92>{By7_0yQ diff --git a/js/dist/collapse.js b/js/dist/collapse.js index 29f47f900..af9406fc6 100644 --- a/js/dist/collapse.js +++ b/js/dist/collapse.js @@ -54,17 +54,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map index 4d51ead5704f389c4a5889008444e54e385b4b0a..f592fbdbe041cd2d7d42861281f80d90196bb2a7 100644 GIT binary patch delta 36 qcmcc9%XF%jX~Rpu&7b}JjM)sF9J2!RCwn(ZvjUl}g`4x6a#;W#mkt5| delta 48 zcmX@r%XFugX~Rpu$p`$nHox@qGv*3+%nEeTNp*BAoNU`9%^B|K3g#7Wj%~_i0RZQB B5(fYP diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js index 07cb3fc3d..1f8c98b7d 100644 --- a/js/dist/dropdown.js +++ b/js/dist/dropdown.js @@ -75,17 +75,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map index 69c82d4ac78732b7f330bc7ca915dbb5b645c736..dcfc13ba2592287fb2113aafc4ad8d56c3ca8e26 100644 GIT binary patch delta 89 zcmeA_$@KFC(}vSYo3AD*+qoJzIhsf2J6XFrI_Ej*Bsx0!>pScCJ30n{L|m+`t$_+$ V%fa$x5P4sna5U+{&7KS0m;qg(8~y+Q delta 105 zcmex)f~o%`(}vSYlP4r`Z9bi(Y!?{rXddaJlj`VL=w$8c=$z-Ilj!K^ukWnm@8}o+ g5^=G%whni61*@q9t0{x1@zn{(qNI4U@j^Fd0DJ@?GXMYp diff --git a/js/dist/modal.js b/js/dist/modal.js index 6f34c2b1c..035bc96fe 100644 --- a/js/dist/modal.js +++ b/js/dist/modal.js @@ -54,17 +54,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map index 7401feb8632786198a2e6c1d1fa9dbe1f631411a..e68350a6e7f11c3d573cff701da76f301b70eb78 100644 GIT binary patch delta 36 rcmcchis{5FrVYHAo5eFFJ=hGK94!;`CtGclW(6``3pdAY{KE_Y3L6c- delta 48 zcmX@{is{xXrVYHAlRso|ZRX9C^xz72v`lo-Np*BAoUF4^nls$d70fH%?6dI?GXT|~ B5)J?W diff --git a/js/dist/popover.js b/js/dist/popover.js index dda521d5e..3fc73ce92 100644 --- a/js/dist/popover.js +++ b/js/dist/popover.js @@ -52,17 +52,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -236,8 +226,8 @@ _createClass(Popover, null, [{ key: "Default", - get: // Getters - function get() { + // Getters + get: function get() { return Default; } }, { diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map index 1894cb04387a180004af27287da8efee966537d0..32916725a2b0a4d3fb6064f6f04fea1b6206dee6 100644 GIT binary patch delta 118 zcmZ2o*HgFQo8Bh3!p?w{~@`aC6bgb#inpbOLgm^PF@N9Uc7*opt;j9Rolj zF4or8;f}5@I;oD1*-I=gOwCOlsM}IVo{O{R+0r&Vhgk?QO6sLno_Wu SB8V|jI>A_!R8F33R|xTZcQkg4Gmn4$A3Z1OSdF7j^&u diff --git a/js/dist/tab.js b/js/dist/tab.js index b1188075c..232eb73cb 100644 --- a/js/dist/tab.js +++ b/js/dist/tab.js @@ -35,17 +35,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** @@ -346,8 +336,8 @@ _createClass(Tab, null, [{ key: "DATA_KEY", - get: // Getters - function get() { + // Getters + get: function get() { return DATA_KEY; } }]); diff --git a/js/dist/tab.js.map b/js/dist/tab.js.map index 5334c0e4c584770904d9eca4d60a53aafc2841f2..ed4b8856fb58937795bbbd8738448028d5849a64 100644 GIT binary patch delta 30 mcmeC*#@MoraYLHb<^rpKa$K&CRh}-^22PHyn=2!yF#-U(DGM9XIDiPGbZB@V^YD diff --git a/js/dist/toast.js b/js/dist/toast.js index 6fb0ebd2a..69de06275 100644 --- a/js/dist/toast.js +++ b/js/dist/toast.js @@ -53,17 +53,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/toast.js.map b/js/dist/toast.js.map index 5eecedcd587cc6259f764b401d4246a7d9ef53bd..9538517ae67d6816e80461cd3960186235f9ba77 100644 GIT binary patch delta 45 xcmcb$gz?A{#tr98Hs3JWF2iQv7OpcI%@IQcc-_Y0hv*S1_+|^6Ee-IIno} HslX}#={OdS diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js index 19f7784fa..b030b3cac 100644 --- a/js/dist/tooltip.js +++ b/js/dist/tooltip.js @@ -75,17 +75,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); + subClass.__proto__ = superClass; } /** diff --git a/js/dist/tooltip.js.map b/js/dist/tooltip.js.map index f4cedb664b96b88f84d49d6fa598bce0788b0cc7..f9cf9f1721beb2e24487689b4f45ee42831d2a74 100644 GIT binary patch delta 142 zcmX^9n0e`A<_-02n>*WBveXTn94qpi@|~<*9i8)>bP^pM{mVUd{2d(wKq4;I*4983 xu9=hfe2``Zu?i=nCd#PhN$@E1rDn ZgA`mYck)Xlxzfp;9})U0Cu@GJ0RTC6CZhlV diff --git a/scss/_buttons.scss b/scss/_buttons.scss index 8f28d0277..ee4287c92 100644 --- a/scss/_buttons.scss +++ b/scss/_buttons.scss @@ -55,6 +55,7 @@ // Alternate buttons // +// scss-docs-start btn-variant-loops @each $color, $value in $theme-colors { .btn-#{$color} { @include button-variant($value, $value); @@ -66,6 +67,7 @@ @include button-outline-variant($value); } } +// scss-docs-end btn-variant-loops // diff --git a/scss/_modal.scss b/scss/_modal.scss index 06ab5644d..6dd4dd329 100644 --- a/scss/_modal.scss +++ b/scss/_modal.scss @@ -202,6 +202,7 @@ .modal-xl { max-width: $modal-xl; } } +// scss-docs-start modal-fullscreen-loop @each $breakpoint in map-keys($grid-breakpoints) { $infix: breakpoint-infix($breakpoint, $grid-breakpoints); $postfix: if($infix != "", $infix + "-down", ""); @@ -233,3 +234,4 @@ } } } +// scss-docs-end modal-fullscreen-loop diff --git a/scss/_navbar.scss b/scss/_navbar.scss index 21126b4ed..2ccef11b7 100644 --- a/scss/_navbar.scss +++ b/scss/_navbar.scss @@ -154,6 +154,7 @@ overflow-y: auto; } +// scss-docs-start navbar-expand-loop // Generate series of `.navbar-expand-*` responsive classes for configuring // where your navbar collapses. .navbar-expand { @@ -196,6 +197,7 @@ } } } +// scss-docs-end navbar-expand-loop // Navbar themes diff --git a/scss/_progress.scss b/scss/_progress.scss index b48ffc4b8..5715ab00c 100644 --- a/scss/_progress.scss +++ b/scss/_progress.scss @@ -1,9 +1,12 @@ // Disable animation if transitions are disabled + +// scss-docs-start progress-keyframes @if $enable-transitions { @keyframes progress-bar-stripes { 0% { background-position-x: $progress-height; } } } +// scss-docs-end progress-keyframes .progress { display: flex; diff --git a/scss/_spinners.scss b/scss/_spinners.scss index 7444ed1d1..8e19bae51 100644 --- a/scss/_spinners.scss +++ b/scss/_spinners.scss @@ -2,9 +2,11 @@ // Rotating border // +// scss-docs-start spinner-border-keyframes @keyframes spinner-border { to { transform: rotate(360deg) #{"/* rtl:ignore */"}; } } +// scss-docs-end spinner-border-keyframes .spinner-border { display: inline-block; @@ -28,6 +30,7 @@ // Growing circle // +// scss-docs-start spinner-grow-keyframes @keyframes spinner-grow { 0% { transform: scale(0); @@ -37,6 +40,7 @@ transform: none; } } +// scss-docs-end spinner-grow-keyframes .spinner-grow { display: inline-block; diff --git a/scss/_transitions.scss b/scss/_transitions.scss index 3d1db3e9d..2905df45c 100644 --- a/scss/_transitions.scss +++ b/scss/_transitions.scss @@ -6,6 +6,7 @@ } } +// scss-docs-start collapse-classes .collapse { &:not(.show) { display: none; @@ -17,3 +18,4 @@ overflow: hidden; @include transition($transition-collapse); } +// scss-docs-end collapse-classes diff --git a/scss/_utilities.scss b/scss/_utilities.scss index 82f3db114..3c927cf59 100644 --- a/scss/_utilities.scss +++ b/scss/_utilities.scss @@ -1,14 +1,19 @@ +// stylelint-disable indentation + // Utilities $utilities: () !default; // stylelint-disable-next-line scss/dollar-variable-default $utilities: map-merge( ( + // scss-docs-start utils-vertical-align "align": ( property: vertical-align, class: align, values: baseline top middle bottom text-bottom text-top ), + // scss-docs-end utils-vertical-align + // scss-docs-start utils-float "float": ( responsive: true, property: float, @@ -18,10 +23,13 @@ $utilities: map-merge( none: none, ) ), + // scss-docs-end utils-float + // scss-docs-start utils-overflow "overflow": ( property: overflow, values: auto hidden visible scroll, ), + // scss-docs-end utils-overflow // scss-docs-start utils-display "display": ( responsive: true, @@ -31,6 +39,7 @@ $utilities: map-merge( values: inline inline-block block grid table table-row table-cell flex inline-flex none ), // scss-docs-end utils-display + // scss-docs-start utils-shadow "shadow": ( property: box-shadow, class: shadow, @@ -41,6 +50,8 @@ $utilities: map-merge( none: none, ) ), + // scss-docs-end utils-shadow + // scss-docs-start utils-position "position": ( property: position, values: static relative absolute fixed sticky @@ -72,6 +83,8 @@ $utilities: map-merge( y: translateY(-50%), ) ), + // scss-docs-end utils-position + // scss-docs-start utils-borders "border": ( property: border, values: ( @@ -119,7 +132,9 @@ $utilities: map-merge( class: border, values: $border-widths ), + // scss-docs-end utils-borders // Sizing utilities + // scss-docs-start utils-sizing "width": ( property: width, class: w, @@ -172,7 +187,9 @@ $utilities: map-merge( class: min-vh, values: (100: 100vh) ), + // scss-docs-end utils-sizing // Flex utilities + // scss-docs-start utils-flex "flex": ( responsive: true, property: flex, @@ -275,7 +292,9 @@ $utilities: map-merge( last: 6, ), ), + // scss-docs-end utils-flex // Margin utilities + // scss-docs-start utils-spacing "margin": ( responsive: true, property: margin, @@ -404,7 +423,14 @@ $utilities: map-merge( class: ps, values: $spacers ), + // scss-docs-end utils-spacing // Text + // scss-docs-start utils-text + "font-family": ( + property: font-family, + class: font, + values: (monospace: var(--#{$variable-prefix}font-monospace)) + ), "font-size": ( rfs: true, property: font-size, @@ -427,10 +453,15 @@ $utilities: map-merge( bolder: $font-weight-bolder ) ), - "text-transform": ( - property: text-transform, - class: text, - values: lowercase uppercase capitalize + "line-height": ( + property: line-height, + class: lh, + values: ( + 1: 1, + sm: $line-height-sm, + base: $line-height-base, + lg: $line-height-lg, + ) ), "text-align": ( responsive: true, @@ -442,6 +473,30 @@ $utilities: map-merge( center: center, ) ), + "text-decoration": ( + property: text-decoration, + values: none underline line-through + ), + "text-transform": ( + property: text-transform, + class: text, + values: lowercase uppercase capitalize + ), + "white-space": ( + property: white-space, + class: text, + values: ( + wrap: normal, + nowrap: nowrap, + ) + ), + "word-wrap": ( + property: word-wrap word-break, + class: text, + values: (break: break-word), + rtl: false + ), + // scss-docs-end utils-text // scss-docs-start utils-color "color": ( property: color, @@ -459,16 +514,6 @@ $utilities: map-merge( ) ), // scss-docs-end utils-color - "line-height": ( - property: line-height, - class: lh, - values: ( - 1: 1, - sm: $line-height-sm, - base: $line-height-base, - lg: $line-height-lg, - ) - ), // scss-docs-start utils-bg-color "background-color": ( property: background-color, @@ -488,29 +533,7 @@ $utilities: map-merge( class: bg, values: (gradient: var(--#{$variable-prefix}gradient)) ), - "white-space": ( - property: white-space, - class: text, - values: ( - wrap: normal, - nowrap: nowrap, - ) - ), - "text-decoration": ( - property: text-decoration, - values: none underline line-through - ), - "word-wrap": ( - property: word-wrap word-break, - class: text, - values: (break: break-word), - rtl: false - ), - "font-family": ( - property: font-family, - class: font, - values: (monospace: var(--#{$variable-prefix}font-monospace)) - ), + // scss-docs-start utils-interaction "user-select": ( property: user-select, values: all auto none @@ -520,6 +543,8 @@ $utilities: map-merge( class: pe, values: none auto, ), + // scss-docs-end utils-interaction + // scss-docs-start utils-border-radius "rounded": ( property: border-radius, class: rounded, @@ -553,6 +578,8 @@ $utilities: map-merge( class: rounded-start, values: (null: $border-radius) ), + // scss-docs-end utils-border-radius + // scss-docs-start utils-visibility "visibility": ( property: visibility, class: null, @@ -561,6 +588,7 @@ $utilities: map-merge( invisible: hidden, ) ) + // scss-docs-end utils-visibility ), $utilities ); diff --git a/scss/_variables.scss b/scss/_variables.scss index 3f8014497..a48ab92c8 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -246,6 +246,7 @@ $gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default; // variables. Mostly focused on spacing. // You can add more entries to the $spacers map, should you need more variation. +// scss-docs-start spacer-variables-maps $spacer: 1rem !default; $spacers: ( 0: 0, @@ -257,17 +258,19 @@ $spacers: ( ) !default; $negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default; +// scss-docs-end spacer-variables-maps // Position // // Define the edge positioning anchors of the position utilities. +// scss-docs-start position-map $position-values: ( 0: 0, 50: 50%, 100: 100% ) !default; - +// scss-docs-end position-map // Body // @@ -354,6 +357,7 @@ $container-padding-x: $grid-gutter-width / 2 !default; // // Define common padding and border radius sizes and more. +// scss-docs-start border-variables $border-width: 1px !default; $border-widths: ( 0: 0, @@ -365,27 +369,36 @@ $border-widths: ( ) !default; $border-color: $gray-300 !default; +// scss-docs-end border-variables +// scss-docs-start border-radius-variables $border-radius: .25rem !default; $border-radius-sm: .2rem !default; $border-radius-lg: .3rem !default; $border-radius-pill: 50rem !default; +// scss-docs-end border-radius-variables +// scss-docs-start box-shadow-variables $box-shadow: 0 .5rem 1rem rgba($black, .15) !default; $box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; $box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default; +// scss-docs-end box-shadow-variables $component-active-color: $white !default; $component-active-bg: $primary !default; +// scss-docs-start caret-variables $caret-width: .3em !default; $caret-vertical-align: $caret-width * .85 !default; $caret-spacing: $caret-width * .85 !default; +// scss-docs-end caret-variables $transition-base: all .2s ease-in-out !default; $transition-fade: opacity .15s linear !default; +// scss-docs-start collapse-transition $transition-collapse: height .35s ease !default; +// scss-docs-end collapse-transition // stylelint-disable function-disallowed-list // scss-docs-start aspect-ratios @@ -402,6 +415,7 @@ $aspect-ratios: ( // // Font, line-height, and color for body text, headings, and more. +// scss-docs-start font-variables // stylelint-disable value-keyword-case $font-family-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; @@ -434,6 +448,7 @@ $h3-font-size: $font-size-base * 1.75 !default; $h4-font-size: $font-size-base * 1.5 !default; $h5-font-size: $font-size-base * 1.25 !default; $h6-font-size: $font-size-base !default; +// scss-docs-end font-variables // scss-docs-start font-sizes $font-sizes: ( @@ -446,12 +461,14 @@ $font-sizes: ( ) !default; // scss-docs-end font-sizes +// scss-docs-start headings-variables $headings-margin-bottom: $spacer / 2 !default; $headings-font-family: null !default; $headings-font-style: null !default; $headings-font-weight: 500 !default; $headings-line-height: 1.2 !default; $headings-color: null !default; +// scss-docs-end headings-variables // scss-docs-start display-headings $display-font-sizes: ( @@ -467,6 +484,7 @@ $display-font-weight: 300 !default; $display-line-height: $headings-line-height !default; // scss-docs-end display-headings +// scss-docs-start type-variables $lead-font-size: $font-size-base * 1.25 !default; $lead-font-weight: 300 !default; @@ -501,6 +519,7 @@ $nested-kbd-font-weight: $font-weight-bold !default; $list-inline-padding: .5rem !default; $mark-bg: #fcf8e3 !default; +// scss-docs-end type-variables // Tables @@ -543,7 +562,9 @@ $table-group-separator-color: currentColor !default; $table-caption-color: $text-muted !default; $table-bg-scale: -80% !default; +// scss-docs-end table-variables +// scss-docs-start table-loop $table-variants: ( "primary": shift-color($primary, $table-bg-scale), "secondary": shift-color($secondary, $table-bg-scale), @@ -554,13 +575,14 @@ $table-variants: ( "light": $light, "dark": $dark, ) !default; -// scss-docs-end table-variables +// scss-docs-end table-loop // Buttons + Forms // // Shared variables that are reassigned to `$input-` and `$btn-` specific variables. +// scss-docs-start input-btn-variables $input-btn-padding-y: .375rem !default; $input-btn-padding-x: .75rem !default; $input-btn-font-family: null !default; @@ -581,12 +603,14 @@ $input-btn-padding-x-lg: 1rem !default; $input-btn-font-size-lg: $font-size-lg !default; $input-btn-border-width: $border-width !default; +// scss-docs-end input-btn-variables // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. +// scss-docs-start btn-variables $btn-padding-y: $input-btn-padding-y !default; $btn-padding-x: $input-btn-padding-x !default; $btn-font-family: $input-btn-font-family !default; @@ -630,22 +654,28 @@ $btn-active-bg-shade-amount: 20% !default; $btn-active-bg-tint-amount: 20% !default; $btn-active-border-shade-amount: 25% !default; $btn-active-border-tint-amount: 10% !default; +// scss-docs-end btn-variables // Forms +// scss-docs-start form-text-variables $form-text-margin-top: .25rem !default; $form-text-font-size: $small-font-size !default; $form-text-font-style: null !default; $form-text-font-weight: null !default; $form-text-color: $text-muted !default; +// scss-docs-end form-text-variables +// scss-docs-start form-label-variables $form-label-margin-bottom: .5rem !default; $form-label-font-size: null !default; $form-label-font-style: null !default; $form-label-font-weight: null !default; $form-label-color: null !default; +// scss-docs-end form-label-variables +// scss-docs-start form-input-variables $input-padding-y: $input-btn-padding-y !default; $input-padding-x: $input-btn-padding-x !default; $input-font-family: $input-btn-font-family !default; @@ -694,8 +724,9 @@ $input-height-sm: add($input-line-height * 1em, add($input $input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default; $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; +// scss-docs-end form-input-variables - +// scss-docs-start form-check-variables $form-check-input-width: 1em !default; $form-check-min-height: $font-size-base * $line-height-base !default; $form-check-padding-start: $form-check-input-width + .5em !default; @@ -728,6 +759,10 @@ $form-check-input-disabled-opacity: .5 !default; $form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default; $form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default; +$form-check-inline-margin-end: 1rem !default; +// scss-docs-end form-check-variables + +// scss-docs-start form-switch-variables $form-switch-color: rgba(0, 0, 0, .25) !default; $form-switch-width: 2em !default; $form-switch-padding-start: $form-switch-width + .5em !default; @@ -741,16 +776,18 @@ $form-switch-focus-bg-image: url("data:image/svg+xml,") !default; $form-switch-checked-bg-position: right center !default; +// scss-docs-end form-switch-variables -$form-check-inline-margin-end: 1rem !default; - +// scss-docs-start input-group-variables $input-group-addon-padding-y: $input-padding-y !default; $input-group-addon-padding-x: $input-padding-x !default; $input-group-addon-font-weight: $input-font-weight !default; $input-group-addon-color: $input-color !default; $input-group-addon-bg: $gray-200 !default; $input-group-addon-border-color: $input-border-color !default; +// scss-docs-end input-group-variables +// scss-docs-start form-select-variables $form-select-padding-y: $input-padding-y !default; $form-select-padding-x: $input-padding-x !default; $form-select-font-family: $input-font-family !default; @@ -788,7 +825,9 @@ $form-select-font-size-sm: $input-font-size-sm !default; $form-select-padding-y-lg: $input-padding-y-lg !default; $form-select-padding-x-lg: $input-padding-x-lg !default; $form-select-font-size-lg: $input-font-size-lg !default; +// scss-docs-end form-select-variables +// scss-docs-start form-range-variables $form-range-track-width: 100% !default; $form-range-track-height: .5rem !default; $form-range-track-cursor: pointer !default; @@ -807,11 +846,15 @@ $form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For f $form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default; $form-range-thumb-disabled-bg: $gray-500 !default; $form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; +// scss-docs-end form-range-variables +// scss-docs-start form-file-variables $form-file-button-color: $input-color !default; $form-file-button-bg: $input-group-addon-bg !default; $form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default; +// scss-docs-end form-file-variables +// scss-docs-start form-floating-variables $form-floating-height: add(3.5rem, $input-height-border) !default; $form-floating-padding-x: $input-padding-x !default; $form-floating-padding-y: 1rem !default; @@ -820,9 +863,11 @@ $form-floating-input-padding-b: .625rem !default; $form-floating-label-opacity: .65 !default; $form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default; $form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default; +// scss-docs-end form-floating-variables // Form validation +// scss-docs-start form-feedback-variables $form-feedback-margin-top: $form-text-margin-top !default; $form-feedback-font-size: $form-text-font-size !default; $form-feedback-font-style: $form-text-font-style !default; @@ -833,6 +878,7 @@ $form-feedback-icon-valid-color: $form-feedback-valid-color !default; $form-feedback-icon-valid: url("data:image/svg+xml,") !default; $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; $form-feedback-icon-invalid: url("data:image/svg+xml,") !default; +// scss-docs-end form-feedback-variables // scss-docs-start form-validation-states $form-validation-states: ( @@ -865,6 +911,7 @@ $zindex-tooltip: 1070 !default; // Navs +// scss-docs-start nav-variables $nav-link-padding-y: .5rem !default; $nav-link-padding-x: 1rem !default; $nav-link-font-size: null !default; @@ -885,10 +932,12 @@ $nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg $nav-pills-border-radius: $border-radius !default; $nav-pills-link-active-color: $component-active-color !default; $nav-pills-link-active-bg: $component-active-bg !default; +// scss-docs-end nav-variables // Navbar +// scss-docs-start navbar-variables $navbar-padding-y: $spacer / 2 !default; $navbar-padding-x: null !default; @@ -907,7 +956,9 @@ $navbar-toggler-font-size: $font-size-lg !default; $navbar-toggler-border-radius: $btn-border-radius !default; $navbar-toggler-focus-width: $btn-focus-width !default; $navbar-toggler-transition: box-shadow .15s ease-in-out !default; +// scss-docs-end navbar-variables +// scss-docs-start navbar-theme-variables $navbar-dark-color: rgba($white, .55) !default; $navbar-dark-hover-color: rgba($white, .75) !default; $navbar-dark-active-color: $white !default; @@ -926,12 +977,14 @@ $navbar-light-brand-color: $navbar-light-active-color !default; $navbar-light-brand-hover-color: $navbar-light-active-color !default; $navbar-dark-brand-color: $navbar-dark-active-color !default; $navbar-dark-brand-hover-color: $navbar-dark-active-color !default; +// scss-docs-end navbar-theme-variables // Dropdowns // // Dropdown menu container and contents. +// scss-docs-start dropdown-variables $dropdown-min-width: 10rem !default; $dropdown-padding-x: 0 !default; $dropdown-padding-y: .5rem !default; @@ -961,7 +1014,9 @@ $dropdown-item-padding-x: $spacer !default; $dropdown-header-color: $gray-600 !default; $dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default; +// scss-docs-end dropdown-variables +// scss-docs-start dropdown-dark-variables $dropdown-dark-color: $gray-300 !default; $dropdown-dark-bg: $gray-800 !default; $dropdown-dark-border-color: $dropdown-border-color !default; @@ -974,10 +1029,12 @@ $dropdown-dark-link-active-color: $dropdown-link-active-color !default; $dropdown-dark-link-active-bg: $dropdown-link-active-bg !default; $dropdown-dark-link-disabled-color: $gray-500 !default; $dropdown-dark-header-color: $gray-500 !default; +// scss-docs-end dropdown-dark-variables // Pagination +// scss-docs-start pagination-variables $pagination-padding-y: .375rem !default; $pagination-padding-x: .75rem !default; $pagination-padding-y-sm: .25rem !default; @@ -1013,9 +1070,12 @@ $pagination-transition: color .15s ease-in-out, background-color .1 $pagination-border-radius-sm: $border-radius-sm !default; $pagination-border-radius-lg: $border-radius-lg !default; +// scss-docs-end pagination-variables + // Cards +// scss-docs-start card-variables $card-spacer-y: $spacer !default; $card-spacer-x: $spacer !default; $card-title-spacer-y: $spacer / 2 !default; @@ -1030,12 +1090,13 @@ $card-cap-color: null !default; $card-height: null !default; $card-color: null !default; $card-bg: $white !default; - $card-img-overlay-padding: $spacer !default; - $card-group-margin: $grid-gutter-width / 2 !default; +// scss-docs-end card-variables // Accordion + +// scss-docs-start accordion-variables $accordion-padding-y: 1rem !default; $accordion-padding-x: 1.25rem !default; $accordion-color: $body-color !default; @@ -1066,9 +1127,11 @@ $accordion-icon-transform: rotate(180deg) !default; $accordion-button-icon: url("data:image/svg+xml,") !default; $accordion-button-active-icon: url("data:image/svg+xml,") !default; +// scss-docs-end accordion-variables // Tooltips +// scss-docs-start tooltip-variables $tooltip-font-size: $font-size-sm !default; $tooltip-max-width: 200px !default; $tooltip-color: $white !default; @@ -1082,18 +1145,22 @@ $tooltip-margin: 0 !default; $tooltip-arrow-width: .8rem !default; $tooltip-arrow-height: .4rem !default; $tooltip-arrow-color: $tooltip-bg !default; +// scss-docs-end tooltip-variables // Form tooltips must come after regular tooltips +// scss-docs-start tooltip-feedback-variables $form-feedback-tooltip-padding-y: $tooltip-padding-y !default; $form-feedback-tooltip-padding-x: $tooltip-padding-x !default; $form-feedback-tooltip-font-size: $tooltip-font-size !default; $form-feedback-tooltip-line-height: null !default; $form-feedback-tooltip-opacity: $tooltip-opacity !default; $form-feedback-tooltip-border-radius: $tooltip-border-radius !default; +// scss-docs-start tooltip-feedback-variables // Popovers +// scss-docs-start popover-variables $popover-font-size: $font-size-sm !default; $popover-bg: $white !default; $popover-max-width: 276px !default; @@ -1117,10 +1184,12 @@ $popover-arrow-height: .5rem !default; $popover-arrow-color: $popover-bg !default; $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; +// scss-docs-end popover-variables // Toasts +// scss-docs-start toast-variables $toast-max-width: 350px !default; $toast-padding-x: .75rem !default; $toast-padding-y: .5rem !default; @@ -1136,24 +1205,26 @@ $toast-spacing: $container-padding-x !default; $toast-header-color: $gray-600 !default; $toast-header-background-color: rgba($white, .85) !default; $toast-header-border-color: rgba(0, 0, 0, .05) !default; +// scss-docs-end toast-variables // Badges +// scss-docs-start badge-variables $badge-font-size: .75em !default; $badge-font-weight: $font-weight-bold !default; $badge-color: $white !default; $badge-padding-y: .35em !default; $badge-padding-x: .65em !default; $badge-border-radius: $border-radius !default; +// scss-docs-end badge-variables // Modals -// Padding applied to the modal body +// scss-docs-start modal-variables $modal-inner-padding: $spacer !default; -// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding $modal-footer-margin-between: .5rem !default; $modal-dialog-margin: .5rem !default; @@ -1189,28 +1260,30 @@ $modal-fade-transform: translate(0, -50px) !default; $modal-show-transform: none !default; $modal-transition: transform .3s ease-out !default; $modal-scale-transform: scale(1.02) !default; +// scss-docs-end modal-variables // Alerts // // Define alert colors, border radius, and padding. -$alert-padding-y: $spacer !default; -$alert-padding-x: $spacer !default; -$alert-margin-bottom: 1rem !default; -$alert-border-radius: $border-radius !default; -$alert-link-font-weight: $font-weight-bold !default; -$alert-border-width: $border-width !default; - -$alert-bg-scale: -80% !default; -$alert-border-scale: -70% !default; -$alert-color-scale: 40% !default; - -$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side +// scss-docs-start alert-variables +$alert-padding-y: $spacer !default; +$alert-padding-x: $spacer !default; +$alert-margin-bottom: 1rem !default; +$alert-border-radius: $border-radius !default; +$alert-link-font-weight: $font-weight-bold !default; +$alert-border-width: $border-width !default; +$alert-bg-scale: -80% !default; +$alert-border-scale: -70% !default; +$alert-color-scale: 40% !default; +$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side +// scss-docs-end alert-variables // Progress bars +// scss-docs-start progress-variables $progress-height: 1rem !default; $progress-font-size: $font-size-base * .75 !default; $progress-bg: $gray-200 !default; @@ -1220,10 +1293,12 @@ $progress-bar-color: $white !default; $progress-bar-bg: $primary !default; $progress-bar-animation-timing: 1s linear infinite !default; $progress-bar-transition: width .6s ease !default; +// scss-docs-end progress-variables // List group +// scss-docs-start list-group-variables $list-group-color: null !default; $list-group-bg: $white !default; $list-group-border-color: rgba($black, .125) !default; @@ -1248,26 +1323,32 @@ $list-group-action-hover-color: $list-group-action-color !default; $list-group-action-active-color: $body-color !default; $list-group-action-active-bg: $gray-200 !default; +// scss-docs-end list-group-variables // Image thumbnails +// scss-docs-start thumbnail-variables $thumbnail-padding: .25rem !default; $thumbnail-bg: $body-bg !default; $thumbnail-border-width: $border-width !default; $thumbnail-border-color: $gray-300 !default; $thumbnail-border-radius: $border-radius !default; $thumbnail-box-shadow: $box-shadow-sm !default; +// scss-docs-end thumbnail-variables // Figures +// scss-docs-start figure-variables $figure-caption-font-size: $small-font-size !default; $figure-caption-color: $gray-600 !default; +// scss-docs-end figure-variables // Breadcrumbs +// scss-docs-start breadcrumb-variables $breadcrumb-font-size: null !default; $breadcrumb-padding-y: 0 !default; $breadcrumb-padding-x: 0 !default; @@ -1279,9 +1360,11 @@ $breadcrumb-active-color: $gray-600 !default; $breadcrumb-divider: quote("/") !default; $breadcrumb-divider-flipped: $breadcrumb-divider !default; $breadcrumb-border-radius: null !default; +// scss-docs-end breadcrumb-variables // Carousel +// scss-docs-start carousel-variables $carousel-control-color: $white !default; $carousel-control-width: 15% !default; $carousel-control-opacity: .5 !default; @@ -1313,10 +1396,12 @@ $carousel-transition: transform $carousel-transition-duration eas $carousel-dark-indicator-active-bg: $black !default; $carousel-dark-caption-color: $black !default; $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; +// scss-docs-end carousel-variables // Spinners +// scss-docs-start spinner-variables $spinner-width: 2rem !default; $spinner-height: $spinner-width !default; $spinner-border-width: .25em !default; @@ -1325,10 +1410,12 @@ $spinner-animation-speed: .75s !default; $spinner-width-sm: 1rem !default; $spinner-height-sm: $spinner-width-sm !default; $spinner-border-width-sm: .2em !default; +// scss-docs-end spinner-variables // Close +// scss-docs-start close-variables $btn-close-width: 1em !default; $btn-close-height: $btn-close-width !default; $btn-close-padding-x: .25em !default; @@ -1341,6 +1428,8 @@ $btn-close-hover-opacity: .75 !default; $btn-close-focus-opacity: 1 !default; $btn-close-disabled-opacity: .25 !default; $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; +// scss-docs-end close-variables + // Code diff --git a/scss/mixins/_alert.scss b/scss/mixins/_alert.scss index 99ebbc305..f3eb59511 100644 --- a/scss/mixins/_alert.scss +++ b/scss/mixins/_alert.scss @@ -1,3 +1,4 @@ +// scss-docs-start alert-variant-mixin @mixin alert-variant($background, $border, $color) { color: $color; @include gradient-bg($background); @@ -7,3 +8,4 @@ color: shade-color($color, 20%); } } +// scss-docs-end alert-variant-mixin diff --git a/scss/mixins/_border-radius.scss b/scss/mixins/_border-radius.scss index 819b8abd4..616decbce 100644 --- a/scss/mixins/_border-radius.scss +++ b/scss/mixins/_border-radius.scss @@ -14,6 +14,7 @@ @return $return; } +// scss-docs-start border-radius-mixins @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { @if $enable-rounded { border-radius: valid-radius($radius); @@ -74,3 +75,4 @@ border-bottom-left-radius: valid-radius($radius); } } +// scss-docs-end border-radius-mixins diff --git a/scss/mixins/_buttons.scss b/scss/mixins/_buttons.scss index 3fbd70896..c06fa4a98 100644 --- a/scss/mixins/_buttons.scss +++ b/scss/mixins/_buttons.scss @@ -3,6 +3,7 @@ // Easily pump out default styles, as well as :hover, :focus, :active, // and disabled options for all buttons +// scss-docs-start btn-variant-mixin @mixin button-variant( $background, $border, @@ -71,7 +72,9 @@ border-color: $disabled-border; } } +// scss-docs-end btn-variant-mixin +// scss-docs-start btn-outline-variant-mixin @mixin button-outline-variant( $color, $color-hover: color-contrast($color), @@ -118,11 +121,13 @@ background-color: transparent; } } +// scss-docs-end btn-outline-variant-mixin -// Button sizes +// scss-docs-start btn-size-mixin @mixin button-size($padding-y, $padding-x, $font-size, $border-radius) { padding: $padding-y $padding-x; @include font-size($font-size); // Manually declare to provide an override to the browser default @include border-radius($border-radius, 0); } +// scss-docs-end btn-size-mixin diff --git a/scss/mixins/_caret.scss b/scss/mixins/_caret.scss index fc1066914..4b0f0360b 100644 --- a/scss/mixins/_caret.scss +++ b/scss/mixins/_caret.scss @@ -1,3 +1,4 @@ +// scss-docs-start caret-mixins @mixin caret-down { border-top: $caret-width solid; border-right: $caret-width solid transparent; @@ -60,3 +61,4 @@ } } } +// scss-docs-end caret-mixins diff --git a/scss/mixins/_forms.scss b/scss/mixins/_forms.scss index 8be4d2ee9..9db92bb90 100644 --- a/scss/mixins/_forms.scss +++ b/scss/mixins/_forms.scss @@ -1,5 +1,7 @@ // This mixin uses an `if()` technique to be compatible with Dart Sass // See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details + +// scss-docs-start form-validation-mixins @mixin form-validation-state-selector($state) { @if ($state == "valid" or $state == "invalid") { .was-validated #{if(&, "&", "")}:#{$state}, @@ -122,3 +124,4 @@ } } } +// scss-docs-end form-validation-mixins diff --git a/scss/mixins/_list-group.scss b/scss/mixins/_list-group.scss index 351e9109e..e55415f2b 100644 --- a/scss/mixins/_list-group.scss +++ b/scss/mixins/_list-group.scss @@ -1,5 +1,6 @@ // List Groups +// scss-docs-start list-group-mixin @mixin list-group-item-variant($state, $background, $color) { .list-group-item-#{$state} { color: $color; @@ -20,3 +21,4 @@ } } } +// scss-docs-end list-group-mixin diff --git a/scss/mixins/_pagination.scss b/scss/mixins/_pagination.scss index 9cb7fd8bc..3101b380d 100644 --- a/scss/mixins/_pagination.scss +++ b/scss/mixins/_pagination.scss @@ -1,5 +1,6 @@ // Pagination +// scss-docs-start pagination-mixin @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) { .page-link { padding: $padding-y $padding-x; @@ -27,3 +28,4 @@ } } } +// scss-docs-end pagination-mixin diff --git a/site/content/docs/5.0/components/accordion.md b/site/content/docs/5.0/components/accordion.md index 298b0697a..923d5a98b 100644 --- a/site/content/docs/5.0/components/accordion.md +++ b/site/content/docs/5.0/components/accordion.md @@ -104,3 +104,9 @@ Add `.accordion-flush` to remove the default `background-color`, some borders, a ## Accessibility Please read the [collapse accessibility section]({{< docsref "/components/collapse#accessibility" >}}) for more information. + +## Sass + +### Variables + +{{< scss-docs name="accordion-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/components/alerts.md b/site/content/docs/5.0/components/alerts.md index f35a044ae..3ef2e62cf 100644 --- a/site/content/docs/5.0/components/alerts.md +++ b/site/content/docs/5.0/components/alerts.md @@ -71,6 +71,24 @@ You can see this in action with a live demo: When an alert is dismissed, the element is completely removed from the page structure. If a keyboard user dismisses the alert using the close button, their focus will suddenly be lost and, depending on the browser, reset to the start of the page/document. For this reason, we recommend including additional JavaScript that listens for the `closed.bs.alert` event and programmatically sets `focus()` to the most appropriate location in the page. If you're planning to move focus to a non-interactive element that normally does not receive focus, make sure to add `tabindex="-1"` to the element. {{< /callout >}} +## Sass + +### Variables + +{{< scss-docs name="alert-variables" file="scss/_variables.scss" >}} + +### Variant mixin + +Used in combination with `$theme-colors` to create contextual modifier classes for our alerts. + +{{< scss-docs name="alert-variant-mixin" file="scss/mixins/_alert.scss" >}} + +### Loop + +Loop that generates the modifier classes with the `alert-variant()` mixin. + +{{< scss-docs name="alert-modifiers" file="scss/_alert.scss" >}} + ## JavaScript behavior ### Triggers diff --git a/site/content/docs/5.0/components/badge.md b/site/content/docs/5.0/components/badge.md index 44c85d717..50571d885 100644 --- a/site/content/docs/5.0/components/badge.md +++ b/site/content/docs/5.0/components/badge.md @@ -63,3 +63,9 @@ Use the `.rounded-pill` utility class to make badges more rounded with a larger {{ .name | title }}{{- end -}} {{< /badge.inline >}} {{< /example >}} + +## Sass + +### Variables + +{{< scss-docs name="badge-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/components/breadcrumb.md b/site/content/docs/5.0/components/breadcrumb.md index 3395fbf67..9143e7612 100644 --- a/site/content/docs/5.0/components/breadcrumb.md +++ b/site/content/docs/5.0/components/breadcrumb.md @@ -88,3 +88,9 @@ $breadcrumb-divider: none; Since breadcrumbs provide a navigation, it's a good idea to add a meaningful label such as `aria-label="breadcrumb"` to describe the type of navigation provided in the ` {{< /example >}} + +## Sass + +### Variables + +{{< scss-docs name="pagination-variables" file="scss/_variables.scss" >}} + +### Mixins + +{{< scss-docs name="pagination-mixin" file="scss/mixins/_pagination.scss" >}} diff --git a/site/content/docs/5.0/components/popovers.md b/site/content/docs/5.0/components/popovers.md index 8a2efa0a2..9506fa8f7 100644 --- a/site/content/docs/5.0/components/popovers.md +++ b/site/content/docs/5.0/components/popovers.md @@ -109,6 +109,12 @@ For disabled popover triggers, you may also prefer `data-bs-trigger="hover focus {{< /example >}} +## Sass + +### Variables + +{{< scss-docs name="popover-variables" file="scss/_variables.scss" >}} + ## Usage Enable popovers via JavaScript: diff --git a/site/content/docs/5.0/components/progress.md b/site/content/docs/5.0/components/progress.md index 92834bebf..1b59dc97a 100644 --- a/site/content/docs/5.0/components/progress.md +++ b/site/content/docs/5.0/components/progress.md @@ -137,3 +137,15 @@ The striped gradient can also be animated. Add `.progress-bar-animated` to `.pro
``` + +## Sass + +### Variables + +{{< scss-docs name="progress-variables" file="scss/_variables.scss" >}} + +### Keyframes + +Used for creating the CSS animations for `.progress-bar-animated`. Included in `scss/_progress-bar.scss`. + +{{< scss-docs name="progress-keyframes" file="scss/_progress.scss" >}} diff --git a/site/content/docs/5.0/components/spinners.md b/site/content/docs/5.0/components/spinners.md index d2495b420..37908f5b6 100644 --- a/site/content/docs/5.0/components/spinners.md +++ b/site/content/docs/5.0/components/spinners.md @@ -171,6 +171,20 @@ Use spinners within buttons to indicate an action is currently processing or tak {{< /example >}} +## Sass + +### Variables + +{{< scss-docs name="spinner-variables" file="scss/_variables.scss" >}} + +### Keyframes + +Used for creating the CSS animations for our spinners. Included in `scss/_spinners.scss`. + +{{< scss-docs name="spinner-border-keyframes" file="scss/_spinners.scss" >}} + +{{< scss-docs name="spinner-grow-keyframes" file="scss/_spinners.scss" >}} + [color]: {{< docsref "/utilities/colors" >}} [display]: {{< docsref "/utilities/display" >}} diff --git a/site/content/docs/5.0/components/toasts.md b/site/content/docs/5.0/components/toasts.md index 5f7a59db6..20aefb249 100644 --- a/site/content/docs/5.0/components/toasts.md +++ b/site/content/docs/5.0/components/toasts.md @@ -304,9 +304,13 @@ When using `autohide: false`, you must add a close button to allow users to dism {{< /example >}} -## JavaScript behavior +## Sass -### Usage +### Variables + +{{< scss-docs name="toast-variables" file="scss/_variables.scss" >}} + +## Usage Initialize toasts via JavaScript: diff --git a/site/content/docs/5.0/components/tooltips.md b/site/content/docs/5.0/components/tooltips.md index ee6d06e9e..6c3577f3c 100644 --- a/site/content/docs/5.0/components/tooltips.md +++ b/site/content/docs/5.0/components/tooltips.md @@ -96,6 +96,12 @@ With an SVG:
+## Sass + +### Variables + +{{< scss-docs name="tooltip-variables" file="scss/_variables.scss" >}} + ## Usage The tooltip plugin generates content and markup on demand, and by default places tooltips after their trigger element. diff --git a/site/content/docs/5.0/content/figures.md b/site/content/docs/5.0/content/figures.md index f5956614f..29a38d723 100644 --- a/site/content/docs/5.0/content/figures.md +++ b/site/content/docs/5.0/content/figures.md @@ -3,6 +3,7 @@ layout: docs title: Figures description: Documentation and examples for displaying related images and text with the figure component in Bootstrap. group: content +toc: true --- Anytime you need to display a piece of content—like an image with an optional caption, consider using a `
`. @@ -24,3 +25,9 @@ Aligning the figure's caption is easy with our [text utilities]({{< docsref "/ut
A caption for the above image.
{{< /example >}} + +## Sass + +### Variables + +{{< scss-docs name="figure-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/content/images.md b/site/content/docs/5.0/content/images.md index 271b08e30..f1012efbf 100644 --- a/site/content/docs/5.0/content/images.md +++ b/site/content/docs/5.0/content/images.md @@ -53,3 +53,11 @@ If you are using the `` element to specify multiple `` elements ... ``` + +## Sass + +### Variables + +Variables are available for image thumbnails. + +{{< scss-docs name="thumbnail-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/content/tables.md b/site/content/docs/5.0/content/tables.md index dde90b997..3681e186a 100644 --- a/site/content/docs/5.0/content/tables.md +++ b/site/content/docs/5.0/content/tables.md @@ -775,9 +775,17 @@ Use `.table-responsive{-sm|-md|-lg|-xl|-xxl}` as needed to create responsive tab {{< /tables.inline >}} {{< /highlight >}} -## Customizing in Sass +## Sass + +### Variables + +{{< scss-docs name="table-variables" file="scss/_variables.scss" >}} + +### Loop + +{{< scss-docs name="table-loop" file="scss/_variables.scss" >}} + +### Customizing - The factor variables (`$table-striped-bg-factor`, `$table-active-bg-factor` & `$table-hover-bg-factor`) are used to determine the contrast in table variants. - Apart from the light & dark table variants, theme colors are lightened by the `$table-bg-level` variable. - -{{< scss-docs name="table-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/content/typography.md b/site/content/docs/5.0/content/typography.md index cf9c83636..7d41f04de 100644 --- a/site/content/docs/5.0/content/typography.md +++ b/site/content/docs/5.0/content/typography.md @@ -302,3 +302,19 @@ Align terms and descriptions horizontally by using our grid system's predefined ## Responsive font sizes In Bootstrap 5, we've enabled responsive font sizes by default, allowing text to scale more naturally across device and viewport sizes. Have a look at the [RFS page]({{< docsref "/getting-started/rfs" >}}) to find out how this works. + +## Sass + +### Variables + +Headings have some dedicated variables for sizing and spacing. + +{{< scss-docs name="headings-variables" file="scss/_variables.scss" >}} + +Miscellaneous typography elements covered here and in [Reboot]({{< docsref "/content/reboot" >}}) also have dedicated variables. + +{{< scss-docs name="type-variables" file="scss/_variables.scss" >}} + +### Mixins + +There are no dedicated mixins for typography, but Bootstrap does use [Responsive Font Sizing (RFS)]({{< docsref "/getting-started/rfs" >}}). diff --git a/site/content/docs/5.0/forms/checks-radios.md b/site/content/docs/5.0/forms/checks-radios.md index ae89f5ee3..7fefb6aa6 100644 --- a/site/content/docs/5.0/forms/checks-radios.md +++ b/site/content/docs/5.0/forms/checks-radios.md @@ -269,3 +269,9 @@ Different variants of `.btn`, such at the various outlined styles, are supported {{< /example >}} + +## Sass + +### Variables + +{{< scss-docs name="form-check-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/forms/floating-labels.md b/site/content/docs/5.0/forms/floating-labels.md index 2012a4e82..941055089 100644 --- a/site/content/docs/5.0/forms/floating-labels.md +++ b/site/content/docs/5.0/forms/floating-labels.md @@ -100,3 +100,9 @@ When working with the Bootstrap grid system, be sure to place form elements with {{< /example >}} + +## Sass + +### Variables + +{{< scss-docs name="form-floating-variables" file="scss/_variables.scss" >}} diff --git a/site/content/docs/5.0/forms/form-control.md b/site/content/docs/5.0/forms/form-control.md index e35f09967..41fd759d7 100644 --- a/site/content/docs/5.0/forms/form-control.md +++ b/site/content/docs/5.0/forms/form-control.md @@ -130,3 +130,17 @@ Learn more about [support for datalist elements](https://caniuse.com/datalist).