- From https://getbootstrap.com/docs/5.0/migration/.
- Status icons (not all yet) have been added tentatively but checks need to be done about:
- Is Tiki code affected by the particular migration change? and
- Has the Tiki code been updated in response to the change?
- Then when the Tiki code is updated and tested, "" can be changed to "" .
- Add list sub-items for comments and questions.
Key
To do (or to investigate whether anything needs to be done) {icon name="square-o"}
Done {icon name="check-square-o"}
Not sure, etc. {icon name="question-circle-o"}
Instances in site content may need updating. {icon name="user-edit"}
Sass
[+]We’ve ditched the default Sass map merges to make it easier to remove redundant values. Keep in mind you now have to define all values in the Sass maps like $theme-colors
. Check out how to deal with Sass maps.
- Breaking Renamed
color-yiq()
function and related variables tocolor-contrast()
as it’s no longer related to YIQ colorspace. See #30168.-
$yiq-contrasted-threshold
is renamed to$min-contrast-ratio
. -
$yiq-text-dark
and$yiq-text-light
are respectively renamed to$color-contrast-dark
and$color-contrast-light
.
-
- Breaking Media query mixins parameters have changed for a more logical approach.
-
media-breakpoint-down()
uses the breakpoint itself instead of the next breakpoint (e.g.,media-breakpoint-down(lg)
instead ofmedia-breakpoint-down(md)
targets viewports smaller thanlg
). - Similarly, the second parameter in
media-breakpoint-between()
also uses the breakpoint itself instead of the next breakpoint (e.g.,media-between(sm, lg)
instead ofmedia-breakpoint-between(sm, md)
targets viewports betweensm
andlg
).
-
- Breaking Removed print styles and
$enable-print
-styles variable. Print display classes are still around. See #28339. - Breaking Dropped
color()
,theme-color()
, andgray()
functions in favor of variables. See #29083. - Breaking Renamed
theme-color-level()
function tocolor-level()
and now accepts any color you want instead of only$theme-color
colors. See #29083- Watch out:
color-level()
was later on dropped inv5.0.0-alpha3
.
- Watch out:
- Breaking Renamed
$enable-prefers-reduced-motion-media-query
and$enable-pointer-cursor-for-buttons
to$enable-reduced-motion
and$enable-button-pointers
for brevity. - Breaking Removed the
bg-gradient-variant()
mixin. Use the.bg-gradient
class to add gradients to elements instead of the generated.bg-gradient-*
classes. - Breaking Removed previously deprecated mixins:
-
hover
,hover-focus
,plain-hover-focus
, andhover-focus-active
-
float()
-
form-control-mixin()
-
nav-divider()
-
retina-img()
-
text-hide()
(also dropped the associated utility class,.text-hide
) -
visibility()
-
form-control-focus()
-
- Breaking Renamed
scale-color()
function toshift-color()
to avoid collision with Sass’s own color scaling function. -
box-shadow
mixins now allownull
values and dropnone
from multiple arguments. See #30394. - The
border-radius()
mixin now has a default value.
Color system
[+]- The color system which worked with
color-level()
and$theme-color-interval
was removed in favor of a new color system. Alllighten()
anddarken()
functions in our codebase are replaced bytint-color()
andshade-color()
. These functions will mix the color with either white or black instead of changing its lightness by a fixed amount. Theshift-color()
will either tint or shade a color depending on whether its weight parameter is positive or negative. See #30622 for more details. - Added new tints and shades for every color, providing nine separate colors for each base color, as new Sass variables.
- Improved color contrast. Bumped color contrast ratio from 3:1 to 4.5:1 and updated blue, green, cyan, and pink colors to ensure WCAG 2.1 AA contrast. Also changed our color contrast color from
$gray-900
to$black
. - To support our color system, we’ve added new custom
tint-color()
andshade-color()
functions to mix our colors appropriately.
Grid updates
[+]- New breakpoint! Added new
xxl
breakpoint for1400px
and up. No changes to all other breakpoints. (Probably nothing special/extra needs to be done for Tiki Implementation.) - Improved gutters. Gutters are now set in rems, and are narrower than v4 (
1.5rem
, or about24px
, down from30px
). This aligns our grid system’s gutters with our spacing utilities.- Added new gutter class (-+.g-*+-,
.gx-*
, and.gy-*
) to control horizontal/vertical gutters, horizontal gutters, and vertical gutters. - Breaking Renamed
.no-gutters
to.g-0
to match new gutter utilities.
- Added new gutter class (-+.g-*+-,
- Columns no longer have
position: relative
applied, so you may have to add.position-relative
to some elements to restore that behavior. - Breaking Dropped several
.order-*
classes that often went unused. We now only provide.order-1
to.order-5
out of the box. - Breaking Dropped the
.media
component as it can be easily replicated with utilities. See #28265 and the flex utilities page for an example. - Breaking
bootstrap-grid.css
now only appliesbox-sizing: border-box
to the column instead of resetting the global box-sizing. This way, our grid styles can be used in more places without interference. -
$enable-grid-classes
no longer disables the generation of container classes anymore. See #29146. - Updated the
make-col
mixin to default to equal columns without a specified size.
Content, Reboot, etc
[+]- RFS is now enabled by default. Headings using the
font-size()
mixin will automatically adjust their font-size to scale with the viewport. This feature was previously opt-in with v4. - Breaking Overhauled our display typography to replace our
$display-*
variables and with a$display-font-sizes
Sass map. Also removed the individual$display-*-weight
variables for a single$display-font-weight
and adjusted font-sizes. - Added two new
.display-*
heading sizes,.display-5
and.display-6
.-
display
font sizes aren't used in Tiki's templates so far, but site content might need to be updated.
-
- Links are underlined by default (not just on hover), unless they’re part of specific components.
- Tiki is overriding this default to retain the style of link indicated by color, without an underline, and underline appearing when hovered.
- Redesigned tables to refresh their styles and rebuild them with CSS variables for more control over styling.
- Breaking Nested tables do not inherit styles anymore.
- Breaking
.thead-light
and.thead-dark
are dropped in favor of the.table-*
variant classes which can be used for all table elements (thead
,tbody
,tfoot
,tr
,th
andtd
). (Previous classes aren't used in Tiki.) - Breaking The
table-row-variant()
mixin is renamed totable-variant()
and accepts only 2 parameters:$color (color name)
and$value (color code)
. The border color and accent colors are automatically calculated based on the table factor variables. - Split table cell padding variables into
-y
and-x
. (No instances found in Tiki variables files that would need to be changed.) - Breaking Dropped
.pre-scrollable
class. See #29135 - Breaking
.text-*
utilities do not addhover
andfocus
states to links anymore..link-*
helper classes can be used instead. See #29267 - Breaking Dropped
.text-justify
class. See #29793 - Reset default horizontal padding-left on
<ul>
and<ol>
elements from browser default40px
to2rem
. - Added
$enable-smooth-scroll
, which appliesscroll-behavior: smooth
globally—except for users asking for reduced motion throughprefers-reduced-motion
media query. See #31877
RTL
[+]Some time after the release of Tiki 25, we need to discuss and agree on a global RTL workflow approach, and then we can take care of any remaining items below.
- Horizontal direction specific variables, utilities, and mixins have all been renamed to use logical properties like those found in flexbox layouts—e.g.,
start
andend
in lieu ofleft
andright
. - Required HTML adjustments:
- Set
dir="rtl"
on the<html>
element. - Add an appropriate
lang
attribute, likelang="ar"
, on the<html>
element.
- Set
- Include an RTL version of bootstrap.css or, in the case of Tiki, an RTL version of tiki_base.css and theme stylesheets, both of which are bootstrap.css + Tiki-specific CSS. We need to get up to speed on RTLCSS apparently — "Just author the LTR version and RTLCSS will auto create the RTL counterpart for you!"
Forms
[+]- Added new floating forms! We’ve promoted the Floating labels example to fully supported form components. See the new Floating labels page.
- Breaking Consolidated native and custom form elements. Checkboxes, radios, selects, and other inputs that had native and custom classes in v4 have been consolidated. Now nearly all our form elements are entirely custom, most without the need for custom HTML.
-
.custom-check
is now.form-check
. -
.custom-check.custom-switch
is now.form-check.form-switch
.- No instances found of the above two.
-
.custom-select
is now.form-select
.- Two instances of
custom-select
found; selectform-control
updated toform-select
.
- Two instances of
-
.custom-file
and.form-file
have been replaced by custom styles on top of.form-control
.- Multiple instances of custom-file in templates/uploader.tpl and templates/tabular/* but not changed yet.
-
.custom-range
is now.form-range
.- No instances found
-
- Dropped native
.form-control-file
and.form-control-range
.- No instances found.
- Breaking Dropped
.input-group-append
and.input-group-prepend
. You can now just add buttons and.input-group-text
as direct children of the input groups. - The longstanding Missing border radius on input group with validation feedback bug is finally fixed by adding an additional
.has-validation
class to input groups with validation. - Breaking Dropped form-specific layout classes for our grid system. Use our grid and utilities instead of
.form-group
,.form-row
, or.form-inline
.- tiki-admin_oauthserver.tpl still has
form-group-user
, etc.; purpose of the classes needs to be checked.
- tiki-admin_oauthserver.tpl still has
- Breaking Form labels now require
.form-label
. - Breaking
.form-text
no longer setsdisplay
, allowing you to create inline or block help text as you wish just by changing the HTML element. (.form-text
previously had the propertydisplay: block
. Most instances in Tiki are divs, so will be unchanged. Some uses with spans should be checked.) - Validation icons are no longer applied to
<select>
s withmultiple
. - Rearranged source Sass files under
scss/forms/
, including input group styles.
-
Components
[+]- Unified
padding
values for alerts, breadcrumbs, cards, dropdowns, list groups, modals, popovers, and tooltips to be based on our$spacer
variable. See #30564.
Accordion
- Added new accordion component.
- Adrien has made a new PluginAccordion similar to PluginTabs except vertical, now in trunk and will be in Tiki 25.
Alerts
- Alerts now have examples with icons.
- Removed custom styles for
<hr>
s in each alert since they already use currentColor.
Badges
- Breaking Dropped all
.badge-*
color classes for background utilities (e.g., use.bg-primary
instead of.badge-primary
). - Breaking Dropped
.badge-pill
—use the.rounded-pill
utility instead.- No instances found.
- Breaking Removed
hover
andfocus
styles for<a>
and<button>
elements. - Increased default padding for badges from
.25em
/.5em
to.35em
/.65em
.
Breadcrumbs
- Simplified the default appearance of breadcrumbs by removing
padding
,background-color
, andborder-radius
. - Added new CSS custom property
--bs-breadcrumb-divider
for easy customization without needing to recompile CSS.
Buttons
- Breaking Toggle buttons, with checkboxes or radios, no longer require JavaScript and have new markup. We no longer require a wrapping element, add
.btn-check
to the<input>
, and pair it with any.btn
classes on the<label>
. See #30650. The docs for this has moved from our Buttons page to the new Forms section. - Breaking Dropped
.btn-block
for utilities. Instead of using.btn-block
on the.btn
, wrap your buttons with.d-grid
and a.gap-*
utility to space them as needed. Switch to responsive classes for even more control over them. Read the docs for some examples. - Updated our
button-variant()
andbutton-outline-variant()
mixins to support additional parameters. - Updated buttons to ensure increased contrast on
hover
andactive
states. - Disabled buttons now have
pointer-events: none;
.
Card
- Breaking Dropped
.card-deck
in favor of our grid. Wrap your cards in column classes and add a parent.row-cols-*
container to recreate card decks (but with more control over responsive alignment). - Breaking Dropped
.card-columns
in favor of Masonry. See #28922. - Breaking Replaced the
.card
based accordion with a new Accordion component.
Carousel
- Added new
.carousel-dark
variant for dark text, controls, and indicators (great for lighter backgrounds). - Replaced chevron icons for carousel controls with new SVGs from Bootstrap Icons.
Close button
- Breaking Renamed
.close
to.btn-close
for a less generic name.- Updated except in alerts.tpl.
- Close buttons now use a
background-image
(embedded SVG) instead of a×
in the HTML, allowing for easier customization without the need to touch your markup. - Added new
.btn-close-white
variant that usesfilter: invert(1
) to enable higher contrast dismiss icons against darker backgrounds.
Collapse
- Removed scroll anchoring for accordions.
Dropdowns
- Added new
.dropdown-menu-dark
variant and associated variables for on-demand dark dropdowns. - Added new variable for
$dropdown-padding-x
. - Darkened the dropdown divider for improved contrast.
- Breaking All the events for the dropdown are now triggered on the dropdown toggle button and then bubbled up to the parent element.
- Dropdown menus now have a
data-bs-popper="static"
attribute set when the positioning of the dropdown is static anddata-bs-popper="none"
when dropdown is in the navbar. This is added by our JavaScript and helps us use custom position styles without interfering with Popper’s positioning. - Breaking Dropped
flip
option for dropdown plugin in favor of native Popper configuration. You can now disable the flipping behavior by passing an empty array forfallbackPlacements
option in flip modifier. - Dropdown menus can now be clickable with a new
autoClose
option to handle the auto close behavior. You can use this option to accept the click inside or outside the dropdown menu to make it interactive. - Dropdowns now support
.dropdown-items
wrapped in<li>
s.
Jumbotron
- Breaking Dropped the jumbotron component as it can be replicated with utilities. See our new Jumbotron example for a demo.
List group
- Added new
.list-group-numbered
modifier to list groups.
Media object
- Replaced by utility classes. See item about media objects under Grid updates, above. This is already done in the .tpl files.
Navs and tabs
- Added new
null
variables forfont-size
,font-weight
,color
, and:hover color
to the.nav-link
class.
Navbars
- Breaking Navbars now require a container within (to drastically simplify spacing requirements and CSS required).
Offcanvas
- Added the new offcanvas component.
Pagination
- Pagination links now have customizable
margin-left
that are dynamically rounded on all corners when separated from one another. - Added
transitions
to pagination links.
Popovers
- Breaking Renamed
.arrow
to.popover-arrow
in our default popover template. - Renamed
whiteList
option toallowList
.
Spinners
- Spinners now honor
prefers-reduced-motion: reduce
by slowing down animations. See #31882. - Improved spinner vertical alignment.
Toasts
- Toasts can now be positioned in a
.toast-container
with the help of positioning utilities. - Changed default toast duration to 5 seconds.
- Removed
overflow: hidden
from toasts and replaced with properborder-radius
s withcalc()
functions.
Tooltips
- Breaking Renamed
.arrow
to.tooltip-arrow
in our default tooltip template. - Breaking The default value for the
fallbackPlacements
is changed to['top', 'right', 'bottom', 'left']
for better placement of popper elements. - Breaking Renamed
whiteList
option toallowList
.
Utilities
- Breaking Renamed several utilities to use logical property names instead of directional names with the addition of RTL support:
- Renamed
.left-*
and.right-*
to.start-*
and.end-*
.- No instances found to update.
- Renamed
.float-left
and.float-right
to.float-start
and.float-end
. - Renamed
.border-left
and.border-right
to.border-start
and.border-end
. - Renamed
.rounded-left
and.rounded-right
to.rounded-start
and.rounded-end
.- No instances found in .tpls, but a few in theme CSS files, doing no harm but reasons for being there ould be identified.
- Renamed
.ml-*
and.mr-*
to.ms-*
and.me-*
. - Renamed
.pl-*
and.pr-*
to.ps-*
and.pe-*
. - Renamed
.text-left
and.text-right
to.text-start
and.text-end
.
- Renamed
- Breaking Disabled negative margins by default.
- Added new
.bg-body
class for quickly setting the<body>
’s background to additional elements. - Added new position utilities for
top
,right
,bottom
, andleft
. Values include0
,50%
, and100%
for each property. - Added new
.translate-middle-x
and.translate-middle-y
utilities to horizontally or vertically center absolute/fixed positioned elements. - Added new
border-width
utilities. - Breaking Renamed
.text-monospace
to.font-monospace
.- No instances found to update.
- Breaking Removed
.text-hide
as it’s an antiquated method for hiding text that shouldn’t be used anymore. - Added
.fs-*
utilities forfont-size
utilities (with RFS enabled). These use the same scale as HTML’s default headings (1-6, large to small), and can be modified via Sass map. - Breaking Renamed
.font-weight-*
utilities as.fw-*
for brevity and consistency. - Breaking Renamed
.font-style-*
utilities as.fst-*
for brevity and consistency.- No instances of
.font-weight-*
and.font-style-*
found in Tiki code.
- No instances of
- Added
.d-grid
to display utilities and newgap
utilities (-+.gap+-) for CSS Grid and flexbox layouts. - Breaking Removed
.rounded-sm
androunded-lg
, and introduced a new scale of classes,.rounded-0
to.rounded-3
. See #31687. - Added new
line-height utilities: -+.lh-1
,.lh-sm
,.lh-base
and.lh-lg
. See here. - Moved the
.d-none
utility in our CSS to give it more weight over other display utilities. - Extended the
.visually-hidden-focusable
helper to also work on containers, using:focus-within
.
Helpers
- Breaking Responsive embed helpers have been renamed to ratio helpers with new class names and improved behaviors, as well as a helpful CSS variable.
- Classes have been renamed to change
by
tox
in the aspect ratio. For example,.ratio-16by9
is now.ratio-16x9
. - We’ve dropped the
.embed-responsive-item
and element group selector in favor of a simpler.ratio > *
selector. No more class is needed, and the ratio helper now works with any HTML element. - The
$embed-responsive-aspect-ratios
Sass map has been renamed to$aspect-ratios
and its values have been simplified to include the class name and the percentage as thekey: value
pair. - CSS variables are now generated and included for each value in the Sass map. Modify the
--bs-aspect-ratio
variable on the.ratio
to create any custom aspect ratio.
- Classes have been renamed to change
- Breaking “Screen reader” classes are now “visually hidden” classes.
- Changed the Sass file from
scss/helpers/_screenreaders.scss
toscss/helpers/_visually-hidden.scss
- Renamed
.sr-only
and.sr-only-focusable
to.visually-hidden
and.visually-hidden-focusable
- Renamed
sr-only()
andsr-only-focusable() mixins
tovisually-hidden()
andvisually-hidden-focusable()
.
- Changed the Sass file from
-
bootstrap-utilities.css
now also includes our helpers. Helpers don’t need to be imported in custom builds anymore.
JavaScript
- Dropped jQuery dependency and rewrote plugins to be in regular JavaScript.
- Breaking Data attributes for all JavaScript plugins are now namespaced to help distinguish
- Bootstrap functionality from third parties and your own code. For example, we use
data-bs-toggle
instead of -+data-toggle. - All plugins can now accept a CSS selector as the first argument. You can either pass a DOM element or any valid CSS selector to create a new instance of the plugin: Copy to clipboardvar modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
can be passed as a function that accepts the Bootstrap’s default Popper config as an argument, so that you can merge this default configuration in your way. Applies to dropdowns, popovers, and tooltips. - The default value for the
fallbackPlacements
is changed to'top', 'right', 'bottom', 'left'
for better placement of Popper elements. Applies to dropdowns, popovers, and tooltips. - Removed underscore from public static methods like
_getInstance()
→getInstance()
.
TODO
reminder notes for before branching/release:
- Replace dependency on CDN for Popper 2 library with composer (introduced in fd6667ec)
- Fix "delay as an object" tooltip workaround added in e372930c when it is fixed upstream (see https://github.com/twbs/bootstrap/issues/35020 for more)
{HTML()}<style> #page-data ul li { margin-bottom: .35rem; }</style>{HTML}
* From [https://getbootstrap.com/docs/5.0/migration/].
* Status icons (not all yet) have been added tentatively but checks need to be done about:
** Is Tiki code affected by the particular migration change? and
** Has the Tiki code been updated in response to the change?
* Then when the Tiki code is updated and tested, "{icon name="square-o"}" can be changed to "{icon name="check-square-o"}" .
* Add list sub-items for comments and questions.
__Key__
{icon name="square-o"} __To do (or to investigate whether anything needs to be done)__ ~np~{icon name="square-o"}~/np~
{icon name="check-square-o"} __Done__ ~np~{icon name="check-square-o"} ~/np~
{icon name="question-circle-o"} __Not sure, etc.__ ~np~{icon name="question-circle-o"} ~/np~
{icon name="user-edit"} __Instances in site content may need updating.__ ~np~{icon name="user-edit"}~/np~
!!- Sass
We’ve ditched the default Sass map merges to make it easier to remove redundant values. Keep in mind you now have to define all values in the Sass maps like -+$theme-colors+-. Check out how to deal with [https://getbootstrap.com/docs/5.0/customize/sass/#maps-and-loops|Sass maps].
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+color-yiq()+- function and related variables to -+color-contrast()+- as it’s no longer related to YIQ colorspace. [https://github.com/twbs/bootstrap/pull/30168/|See #30168].
** {icon name="square-o"} -+$yiq-contrasted-threshold+- is renamed to -+$min-contrast-ratio+-.
** {icon name="square-o"} -+$yiq-text-dark+- and -+$yiq-text-light+- are respectively renamed to -+$color-contrast-dark+- and -+$color-contrast-light+-.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Media query mixins parameters have changed for a more logical approach.
** -+media-breakpoint-down()+- uses the breakpoint itself instead of the next breakpoint (e.g., -+media-breakpoint-down(lg)+- instead of -+media-breakpoint-down(md)+- targets viewports smaller than -+lg+-).
** Similarly, the second parameter in -+media-breakpoint-between()+- also uses the breakpoint itself instead of the next breakpoint (e.g., -+media-between(sm, lg)+- instead of -+media-breakpoint-between(sm, md)+- targets viewports between -+sm+- and -+lg+-).
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Removed print styles and -+$enable-print+--styles variable. Print display classes are still around. [https://github.com/twbs/bootstrap/pull/28339|See #28339].
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+color()+-, -+theme-color()+-, and -+gray()+- functions in favor of variables. [https://github.com/twbs/bootstrap/pull/29083|See #29083].
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+theme-color-level()+- function to -+color-level()+- and now accepts any color you want instead of only -+$theme-color+- colors. [https://github.com/twbs/bootstrap/pull/29083|See #29083]
** __Watch out:__ -+color-level()+- was later on dropped in -+v5.0.0-alpha3+-.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+$enable-prefers-reduced-motion-media-query+- and -+$enable-pointer-cursor-for-buttons+- to -+$enable-reduced-motion+- and -+$enable-button-pointers+- for brevity.
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Removed the -+bg-gradient-variant()+- mixin. Use the -+.bg-gradient+- class to add gradients to elements instead of the generated -+.bg-gradient-*+- classes.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __Removed previously deprecated mixins__:
** -+hover+-, -+hover-focus+-, -+plain-hover-focus+-, and -+hover-focus-active+-
** -+float()+-
** -+form-control-mixin()+-
** -+nav-divider()+-
** -+retina-img()+-
** -+text-hide()+- (also dropped the associated utility class, -+.text-hide+-)
** -+visibility()+-
** -+form-control-focus()+-
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+scale-color()+- function to -+shift-color()+- to avoid collision with Sass’s own color scaling function.
* -+box-shadow+- mixins now allow -+null+- values and drop -+none+- from multiple arguments. [https://github.com/twbs/bootstrap/pull/30394|See #30394].
* The -+border-radius()+- mixin now has a default value.
!!- Color system
* The color system which worked with -+color-level()+- and -+$theme-color-interval+- was removed in favor of a new color system. All -+lighten()+- and -+darken()+- functions in our co~np~~/np~debase are replaced by -+tint-color()+- and -+shade-color()+-. These functions will mix the color with either white or black instead of changing its lightness by a fixed amount. The -+shift-color()+- will either tint or shade a color depending on whether its weight parameter is positive or negative. [https://github.com/twbs/bootstrap/pull/30622|See #30622] for more details.
* Added new tints and shades for every color, providing nine separate colors for each base color, as new Sass variables.
*Improved color contrast. Bumped color contrast ratio from 3:1 to 4.5:1 and updated blue, green, cyan, and pink colors to ensure WCAG 2.1 AA contrast. Also changed our color contrast color from -+$gray-900+- to -+$black+-.
*To support our color system, we’ve added new custom -+tint-color()+- and -+shade-color()+- functions to mix our colors appropriately.
!!- Grid updates
* {icon name="question-circle-o"} __New breakpoint!__ Added new -+xxl+- breakpoint for -+1400px+- and up. No changes to all other breakpoints. (Probably nothing special/extra needs to be done for Tiki Implementation.)
* __Improved gutters.__ Gutters are now set in rems, and are narrower than v4 ( -+1.5rem+-, or about -+24px+-, down from -+30px+-). This aligns our grid system’s gutters with our spacing utilities.
** Added new [https://getbootstrap.com/docs/5.0/layout/gutters/|gutter class] (-+.g-*+-, -+.gx-*+-, and -+.gy-*+-) to control horizontal/vertical gutters, horizontal gutters, and vertical gutters.
** {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.no-gutters+- to -+.g-0+- to match new gutter utilities.
* Columns no longer have -+position: relative+- applied, so you may have to add -+.position-relative+- to some elements to restore that behavior.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped several -+.order-*+- classes that often went unused. We now only provide -+.order-1+- to -+.order-5+- out of the box.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped the -+.media+- component as it can be easily replicated with utilities. [https://github.com/twbs/bootstrap/pull/28265|See #28265] and the [https://getbootstrap.com/docs/5.0/utilities/flex/#media-object|flex utilities page] for an example.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} -+bootstrap-grid.css+- now only applies -+box-sizing: border-box+- to the column instead of resetting the global box-sizing. This way, our grid styles can be used in more places without interference.
* -+$enable-grid-classes+- no longer disables the generation of container classes anymore. [https://github.com/twbs/bootstrap/pull/29146|See #29146].
* Updated the -+make-col+- mixin to default to equal columns without a specified size.
!!- Content, Reboot, etc
* __[https://getbootstrap.com/docs/5.0/getting-started/rfs/|RFS] is now enabled by default.__ Headings using the -+font-size()+- mixin will automatically adjust their font-size to scale with the viewport. This feature was previously opt-in with v4.
* {icon name="user-edit"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Overhauled our display typography to replace our -+$display-*+- variables and with a -+$display-font-sizes+- Sass map. Also removed the individual -+$display-*-weight+- variables for a single -+$display-font-weight+- and adjusted font-sizes.
* Added two new -+.display-*+- heading sizes, -+.display-5+- and -+.display-6+-.
** -+display+- font sizes aren't used in Tiki's templates so far, but site content might need to be updated.
* {icon name="check-square-o"} {icon name="user-edit"} __Links are underlined by default__ (not just on hover), unless they’re part of specific components.
** Tiki is overriding this default to retain the style of link indicated by color, without an underline, and underline appearing when hovered.
* __Redesigned tables__ to refresh their styles and rebuild them with CSS variables for more control over styling.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Nested tables do not inherit styles anymore.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} -+.thead-light+- and -+.thead-dark+- are dropped in favor of the -+.table-*+- variant classes which can be used for all table elements ( -+thead+-, -+tbody+-, -+tfoot+-, -+tr+-, -+th+- and -+td+-). (Previous classes aren't used in Tiki.)
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} The -+table-row-variant()+- mixin is renamed to -+table-variant()+- and accepts only 2 parameters: -+$color (color name)+- and -+$value (color code)+-. The border color and accent colors are automatically calculated based on the table factor variables.
*{icon name="check-square-o"} Split table cell padding variables into -+-y+- and -+-x+-. (No instances found in Tiki variables files that would need to be changed.)
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.pre-scrollable+- class. [https://github.com/twbs/bootstrap/pull/29135|See #29135]
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} -+.text-*+- utilities do not add -+hover+- and -+focus+- states to links anymore. -+.link-*+- helper classes can be used instead. [https://github.com/twbs/bootstrap/pull/29267|See #29267]
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.text-justify+- class. [https://github.com/twbs/bootstrap/pull/29793|See #29793]
* Reset default horizontal padding-left on -+<ul>+- and -+<ol>+- elements from browser default -+40px+- to -+2rem+-.
* Added -+$enable-smooth-scroll+-, which applies -+scroll-behavior: smooth+- globally—except for users asking for reduced motion through -+prefers-reduced-motion+- media query. [https://github.com/twbs/bootstrap/pull/31877|See #31877]
!!- RTL
Some time after the release of Tiki 25, we need to discuss and agree on a global RTL workflow approach, and then we can take care of any remaining items below.
* {icon name="check-square-o"} Horizontal direction specific variables, utilities, and mixins have all been renamed to use logical properties like those found in flexbox layouts—e.g., -+start+- and -+end+- in lieu of -+left+- and -+right+-.
* {icon name="square-o"} Required HTML adjustments:
** Set -+dir="rtl"+- on the -+<html>+- element.
** Add an appropriate -+lang+- attribute, like -+lang="ar"+-, on the -+<html>+- element.
* {icon name="square-o"} Include an RTL version of bootstrap.css or, in the case of Tiki, an RTL version of tiki_base.css and theme stylesheets, both of which are bootstrap.css + Tiki-specific CSS. We need to get up to speed on [https://rtlcss.com/|RTLCSS] apparently -- "Just author the LTR version and RTLCSS will auto create the RTL counterpart for you!"
** See [https://getbootstrap.com/docs/5.1/getting-started/rtl/]
!!- Forms
* {icon name="square-o"} __Added new floating forms!__ We’ve promoted the Floating labels example to fully supported form components. [https://getbootstrap.com/docs/5.0/forms/floating-labels/|See the new Floating labels page.]
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __Consolidated native and custom form elements.__ Checkboxes, radios, selects, and other inputs that had native and custom classes in v4 have been consolidated. Now nearly all our form elements are entirely custom, most without the need for custom HTML.
** {icon name="check-square-o"} -+.custom-check+- is now -+.form-check+-.
** {icon name="check-square-o"} -+.custom-check.custom-switch+- is now -+.form-check.form-switch+-.
*** No instances found of the above two.
** {icon name="check-square-o"} -+.custom-select+- is now -+.form-select+-.
*** [https://gitlab.com/tikiwiki/tiki/-/commit/2cff308a7e0dc3e60ee64b84320260041061e131|Two instances of -+custom-select+- found]; select -+form-control+- updated to -+form-select+-.
** {icon name="square-o"} -+.custom-file+- and -+.form-file+- have been replaced by custom styles on top of -+.form-control+-.
*** Multiple instances of custom-file in templates/uploader.tpl and templates/tabular/* but not changed yet.
** {icon name="check-square-o"} -+.custom-range+- is now -+.form-range+-.
*** No instances found
* {icon name="check-square-o"} Dropped native -+.form-control-file+- and -+.form-control-range+-.
*** No instances found.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.input-group-append+- and -+.input-group-prepend+-. You can now just add buttons and -+.input-group-text+- as direct children of the input groups.
* The longstanding [https://github.com/twbs/bootstrap/issues/25110|Missing border radius on input group with validation feedback] bug is finally fixed by adding an additional -+.has-validation+- class to input groups with validation.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __Dropped form-specific layout classes for our grid system.__ Use our grid and utilities instead of -+.form-group+-, -+.form-row+-, or -+.form-inline+-.
** tiki-admin_oauthserver.tpl still has -+form-group-user+-, etc.; purpose of the classes needs to be checked.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Form labels now require -+.form-label+-.
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} -+.form-text+- no longer sets -+display+-, allowing you to create inline or block help text as you wish just by changing the HTML element. ( -+.form-text+- previously had the property -+display: block+- . Most instances in Tiki are divs, so will be unchanged. Some uses with spans should be checked.)
* {icon name="square-o"} Validation icons are no longer applied to -+<select>+-s with -+multiple+-.
* Rearranged source Sass files under -+scss/forms/+-, including input group styles.
----
!!- Components
* Unified -+padding+- values for alerts, breadcrumbs, cards, dropdowns, list groups, modals, popovers, and tooltips to be based on our -+$spacer+- variable. [https://github.com/twbs/bootstrap/pull/30564|See #30564].
!!! Accordion
* Added [https://getbootstrap.com/docs/5.0/components/accordion/|new accordion component].
** Adrien has made a new ~np~PluginAccordion~/np~ similar to ~np~PluginTabs~/np~ except vertical, now in trunk and will be in Tiki 25. {sign user="chibaguy" datetime="2022-05-29T03:36:01+00:00"}
!!! Alerts
* Alerts now have [https://getbootstrap.com/docs/5.0/components/alerts/#icons|examples with icons].
* Removed custom styles for -+<hr>+-s in each alert since they already use currentColor.
!!! Badges
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped all -+.badge-*+- color classes for background utilities (e.g., use -+.bg-primary+- instead of -+.badge-primary+-).
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.badge-pill+- —use the -+.rounded-pill+- utility instead.
** No instances found.
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Removed -+hover+- and -+focus+- styles for -+<a>+- and -+<button>+- elements.
* Increased default padding for badges from -+.25em+-/ -+.5em+- to -+.35em+-/ -+.65em+-.
!!! Breadcrumbs
* {icon name="square-o"} Simplified the default appearance of breadcrumbs by removing -+padding+-, -+background-color+-, and -+border-radius+-.
* {icon name="square-o"} Added new CSS custom property -+--bs-breadcrumb-divider+- for easy customization without needing to recompile CSS.
!!! Buttons
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __[https://getbootstrap.com/docs/5.0/forms/checks-radios/#toggle-buttons|Toggle buttons], with checkboxes or radios, no longer require JavaScript and have new markup.__ We no longer require a wrapping element, add -+.btn-check+- to the -+<input>+-, and pair it with any -+.btn+- classes on the -+<label>+-. [https://github.com/twbs/bootstrap/pull/30650|See #30650]. ''The docs for this has moved from our Buttons page to the new Forms section.''
* {icon name="square-o"} {icon name="user-edit"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __Dropped -+.btn-block+- for utilities.__ Instead of using -+.btn-block+- on the -+.btn+-, wrap your buttons with -+.d-grid+- and a -+.gap-*+- utility to space them as needed. Switch to responsive classes for even more control over them. [https://getbootstrap.com/docs/5.0/components/buttons/#block-buttons|Read the docs for some examples.]
* Updated our -+button-variant()+- and -+button-outline-variant()+- mixins to support additional parameters.
* Updated buttons to ensure increased contrast on -+hover+- and -+active+- states.
* Disabled buttons now have -+pointer-events: none;+-.
!!! Card
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.card-deck+- in favor of our grid. Wrap your cards in column classes and add a parent -+.row-cols-*+- container to recreate card decks (but with more control over responsive alignment).
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+.card-columns+- in favor of Masonry. [https://github.com/twbs/bootstrap/pull/28922|See #28922].
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Replaced the -+.card+- based accordion with a [https://getbootstrap.com/docs/5.0/components/accordion/|new Accordion component].
!!! Carousel
* Added new [https://getbootstrap.com/docs/5.0/components/carousel/#dark-variant| -+.carousel-dark+- variant] for dark text, controls, and indicators (great for lighter backgrounds).
* Replaced chevron icons for carousel controls with new SVGs from [https://icons.getbootstrap.com/|Bootstrap Icons].
!!! Close button
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.close+- to -+.btn-close+- for a less generic name.
** {icon name="square-o"} Updated except in alerts.tpl.
* {icon name="check-square-o"} Close buttons now use a -+background-image+- (embedded SVG) instead of a -+×+- in the HTML, allowing for easier customization without the need to touch your markup.
* {icon name="square-o"} Added new -+.btn-close-white+- variant that uses -+filter: invert(1+-) to enable higher contrast dismiss icons against darker backgrounds.
!!! Collapse
* Removed scroll anchoring for accordions.
!!! Dropdowns
* {icon name="square-o"} Added new -+.dropdown-menu-dark+- variant and associated variables for on-demand dark dropdowns.
* Added new variable for -+$dropdown-padding-x+-.
* Darkened the dropdown divider for improved contrast.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} All the events for the dropdown are now triggered on the dropdown toggle button and then bubbled up to the parent element.
* Dropdown menus now have a -+data-bs-popper="static"+- attribute set when the positioning of the dropdown is static and -+data-bs-popper="none"+- when dropdown is in the navbar. This is added by our JavaScript and helps us use custom position styles without interfering with Popper’s positioning.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped -+flip+- option for dropdown plugin in favor of native Popper configuration. You can now disable the flipping behavior by passing an empty array for [https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements| -+fallbackPlacements+-] option in [https://popper.js.org/docs/v2/modifiers/flip/|flip] modifier.
* Dropdown menus can now be clickable with a new -+autoClose+- option to handle the [https://getbootstrap.com/docs/5.0/components/dropdowns/#auto-close-behavior|auto close behavior]. You can use this option to accept the click inside or outside the dropdown menu to make it interactive.
* {icon name="square-o"} Dropdowns now support -+.dropdown-items+- wrapped in -+<li>+-s.
!!! Jumbotron
* {icon name="user-edit"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Dropped the jumbotron component as it can be replicated with utilities. [https://getbootstrap.com/docs/5.0/examples/jumbotron/|See our new Jumbotron example for a demo.]
!!! List group
* Added new [https://getbootstrap.com/docs/5.0/components/list-group/#numbered| -+.list-group-numbered+- modifier] to list groups.
!!! Media object
* Replaced by utility classes. See item about media objects under [#Grid_updates|Grid updates], above. This is already done in the .tpl files.
!!! Navs and tabs
* Added new -+null+- variables for -+font-size+-, -+font-weight+-, -+color+-, and -+:hover color+- to the -+.nav-link+- class.
!!! Navbars
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Navbars now require a container within (to drastically simplify spacing requirements and CSS required).
!!! Offcanvas
*Added the new [https://getbootstrap.com/docs/5.0/components/offcanvas/|offcanvas component].
!!! Pagination
* Pagination links now have customizable -+margin-left+- that are dynamically rounded on all corners when separated from one another.
* Added -+transitions+- to pagination links.
!!! Popovers
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.arrow+- to -+.popover-arrow+- in our default popover template.
* Renamed -+whiteList+- option to -+allowList+-.
!!! Spinners
* Spinners now honor -+prefers-reduced-motion: reduce+- by slowing down animations. [https://github.com/twbs/bootstrap/pull/31882|See #31882.]
* Improved spinner vertical alignment.
!!! Toasts
* Toasts can now be [https://getbootstrap.com/docs/5.0/components/toasts/#placement|positioned] in a -+.toast-container+- with the help of [https://getbootstrap.com/docs/5.0/utilities/position/|positioning utilities].
* Changed default toast duration to 5 seconds.
* Removed -+overflow: hidden+- from toasts and replaced with proper -+border-radius+-s with -+calc()+- functions.
!!! Tooltips
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.arrow+- to -+.tooltip-arrow+- in our default tooltip template.
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} The default value for the -+fallbackPlacements+- is changed to -+[['top', 'right', 'bottom', 'left']+- for better placement of popper elements.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+whiteList+- option to -+allowList+-.
!! Utilities
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed several utilities to use logical property names instead of directional names with the addition of RTL support:
** {icon name="check-square-o"} Renamed -+.left-*+- and -+.right-*+- to -+.start-*+- and -+.end-*+-.
*** No instances found to update.
** {icon name="check-square-o"} Renamed -+.float-left+- and -+.float-right+- to -+.float-start+- and -+.float-end+-.
** {icon name="check-square-o"} Renamed -+.border-left+- and -+.border-right+- to -+.border-start+- and -+.border-end+-.
** {icon name="check-square-o"} Renamed -+.rounded-left+- and -+.rounded-right+- to -+.rounded-start+- and -+.rounded-end+-.
*** No instances found in .tpls, but a few in theme CSS files, doing no harm but reasons for being there ould be identified.
** {icon name="check-square-o"} Renamed -+.ml-*+- and -+.mr-*+- to -+.ms-*+- and -+.me-*+-.
** {icon name="check-square-o"} Renamed -+.pl-*+- and -+.pr-*+- to -+.ps-*+- and -+.pe-*+-.
** {icon name="check-square-o"} Renamed -+.text-left+- and -+.text-right+- to -+.text-start+- and -+.text-end+-.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Disabled negative margins by default.
* {icon name="square-o"} Added new -+.bg-body+- class for quickly setting the -+~np~<body>~/np~+-’s background to additional elements.
* Added new [https://getbootstrap.com/docs/5.0/utilities/position/#arrange-elements|position utilities] for -+top+-, -+right+-, -+bottom+-, and -+left+-. Values include -+0+-, -+50%+-, and -+100%+- for each property.
* Added new -+.translate-middle-x+- and -+.translate-middle-y+- utilities to horizontally or vertically center absolute/fixed positioned elements.
* {icon name="square-o"} Added new [https://getbootstrap.com/docs/5.0/utilities/borders/#border-width| -+border-width+- utilities].
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.text-monospace+- to -+.font-monospace+-.
** No instances found to update.
* {icon name="square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Removed -+.text-hide+- as it’s an antiquated method for hiding text that shouldn’t be used anymore.
* Added -+.fs-*+- utilities for -+font-size+- utilities (with RFS enabled). These use the same scale as HTML’s default headings (1-6, large to small), and can be modified via Sass map.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.font-weight-*+- utilities as -+.fw-*+- for brevity and consistency.
* {icon name="check-square-o"} {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Renamed -+.font-style-*+- utilities as -+.fst-*+- for brevity and consistency.
** No instances of -+.font-weight-*+- and -+.font-style-*+- found in Tiki code.
* {icon name="square-o"} Added -+.d-grid+- to display utilities and new -+gap+- utilities (-+.gap+-) for CSS Grid and flexbox layouts.
* {icon name="square-o"}{DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Removed -+.rounded-sm+- and -+rounded-lg+-, and introduced a new scale of classes, -+.rounded-0+- to -+.rounded-3+-. [https://github.com/twbs/bootstrap/pull/31687|See #31687.]
* {icon name="square-o"} Added new -+line-height utilities: -+.lh-1+-, -+.lh-sm+-, -+.lh-base+- and -+.lh-lg+-. See [https://getbootstrap.com/docs/5.0/utilities/text/#line-height|here].
* Moved the -+.d-none+- utility in our CSS to give it more weight over other display utilities.
* Extended the -+.visually-hidden-focusable+- helper to also work on containers, using -+:focus-within+-.
!! Helpers
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __Responsive embed helpers have been renamed to [https://getbootstrap.com/docs/5.0/helpers/ratio/|ratio helpers]__ with new class names and improved behaviors, as well as a helpful CSS variable.
** Classes have been renamed to change -+by+- to -+x+- in the aspect ratio. For example, -+.ratio-16by9+- is now -+.ratio-16x9+-.
** We’ve dropped the -+.embed-responsive-item+- and element group selector in favor of a simpler -+.ratio > *+- selector. No more class is needed, and the ratio helper now works with any HTML element.
** The -+$embed-responsive-aspect-ratios+- Sass map has been renamed to -+$aspect-ratios+- and its values have been simplified to include the class name and the percentage as the -+key: value+- pair.
** CSS variables are now generated and included for each value in the Sass map. Modify the -+--bs-aspect-ratio+- variable on the -+.ratio+- to create any [https://getbootstrap.com/docs/5.0/helpers/ratio/#custom-ratios|custom aspect ratio].
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} __“Screen reader” classes are now [https://getbootstrap.com/docs/5.0/helpers/visually-hidden/|“visually hidden” classes].__
** Changed the Sass file from -+scss/helpers/_screenreaders.scss+- to -+scss/helpers/_visually-hidden.scss+-
** Renamed -+.sr-only+- and -+.sr-only-focusable+- to -+.visually-hidden+- and -+.visually-hidden-focusable+-
** Renamed -+sr-only()+- and -+sr-only-focusable() mixins+- to -+visually-hidden()+- and -+visually-hidden-focusable()+-.
* -+bootstrap-utilities.css+- now also includes our helpers. Helpers don’t need to be imported in custom builds anymore.
!! JavaScript
* __Dropped jQuery dependency__ and rewrote plugins to be in regular JavaScript.
* {DIV(type="span" class="badge bg-danger text-light")}Breaking{DIV} Data attributes for all JavaScript plugins are now namespaced to help distinguish
* Bootstrap functionality from third parties and your own code. For example, we use -+data-bs-toggle+- instead of -+data-toggle.
* __All plugins can now accept a CSS selector as the first argument.__ You can either pass a DOM element or any valid CSS selector to create a new instance of the plugin: {CODE()}
var modal = new bootstrap.Modal('#myModal')
var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]'){CODE}
* -+popperConfig+- can be passed as a function that accepts the Bootstrap’s default Popper config as an argument, so that you can merge this default configuration in your way. __Applies to dropdowns, popovers, and tooltips.__
* The default value for the -+fallbackPlacements+- is changed to -+['top', 'right', 'bottom', 'left']+- for better placement of Popper elements. __Applies to dropdowns, popovers, and tooltips.__
* Removed underscore from public static methods like -+_getInstance()+- → -+getInstance()+-.
!! TODO
reminder notes for before branching/release:
* Replace dependency on CDN for Popper 2 library with composer ''(introduced in [https://gitlab.com/tikiwiki/tiki/-/commit/fd6667ec?merge_request_iid=1405| fd6667ec])''
* Fix "delay as an object" tooltip workaround added in [https://gitlab.com/tikiwiki/tiki/-/commit/e372930c?merge_request_iid=1405|e372930c] when it is fixed upstream ''(see https://github.com/twbs/bootstrap/issues/35020 for more)''