Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bootstrap
bootstrap
Commits
764bab29
Commit
764bab29
authored
6 years ago
by
Johann-S
Committed by
XhmikosR
6 years ago
Browse files
Options
Download
Email Patches
Plain Diff
remove polyfills which override browsers default
parent
f0c6b24b
main
cleanup-floating-forms
cssvar-function
dependabot/npm_and_yarn/stylelint-and-stylelint-config-twbs-bootstrap-15.3.0
extend-snippets
feat/data-target
floating-always-visible
floating-labels-icons
fod-main-banner
form-controls-with-icons
github/fork/719media/patch-13
github/fork/719media/patch-14
github/fork/719media/patch-9
github/fork/ChellyAhmed/fix-typo-reboot.md
github/fork/ChellyAhmed/offcanvas-scroll-back
github/fork/CtrlAltLilith/main
github/fork/Elysiome/offcanvas-optional-window-resizing
github/fork/JanSargsyan/main
github/fork/LunicLynx/support-different-line-height-for-buttons
github/fork/Psixodelik/main
github/fork/Ronid1/ronid1/offcanvas_static_backdrop
github/fork/RyanBerliner/tooltip-accessibility
github/fork/SantiagoPVazquez/Feature-default-border-bottom-to-dropdown-item
github/fork/Sir-Genius/utils
github/fork/Sumit-Singh-8/main
github/fork/Viktor-VERA2020/offcanvas-slide
github/fork/Zivangu9/input-group-for-form-control-plaintext
github/fork/alpadev/alpadev/call-dispose-on-component-reinstantiation
github/fork/astagi/fix/tree-shake-modules
github/fork/compnerd/dark-accordion-icon
github/fork/derSascha/dropdown-dont-close-on-input-click
github/fork/dev-ph1l/main
github/fork/donquixote/issue-33861-utl-mixin
github/fork/florianlacreuse/mixin-make-row-gutter-y
github/fork/gregorw/main
github/fork/iteggmbh/transitionend-dispose-race
github/fork/jdelStrother/patch-1
github/fork/jonnysp/form-floating
github/fork/jonnysp/independent-offcanvas
github/fork/jonnysp/theme-dark-on-card-and-modal-fix
github/fork/josefdlange/floating-label-placeholder-opacity
github/fork/julien-deramond/enhance-change-version.js
github/fork/julien-deramond/main-jd-fix-offset-content
github/fork/julien-deramond/main-jd-issue-with-utitlies
github/fork/julien-deramond/main-xmr-pa11y-ci-jd-add-hideElements
github/fork/kyletsang/fix-tooltip-padding
github/fork/lacutah/CheckboxCenteringDocumentation
github/fork/lekoala/patch-3
github/fork/louismaximepiton/main-kld-lmp-collapse-proposal
github/fork/louismaximepiton/main-lmp-card-inner-border-radius-fix
github/fork/louismaximepiton/main-lmp-carousel-multiple-images
github/fork/louismaximepiton/main-lmp-css-var-init
github/fork/louismaximepiton/main-lmp-disabled-floating-label-fix
github/fork/louismaximepiton/main-lmp-input-range-fix
github/fork/louismaximepiton/main-lmp-shift-color
github/fork/louismaximepiton/main-lmp-table-active-tr-fix
github/fork/maciek-szn/switch
github/fork/michael-roth/feature/19964-multiple-tab-targets
github/fork/mistic100/dom-utils
github/fork/nkdas91/accordion
github/fork/nstungcom/fix-missing-modal-open-class
github/fork/oraliahdz/animation-utilities
github/fork/pine3ree/patch-7
github/fork/pouwerkerk/unindent-scss-docs-shortcode
github/fork/smares/smares-no-scolling-on-modal-close
github/fork/tgm-git/patch-1
gs-forms
gs-toasts-with-animated-progress-bar
gs/add-history-helper
gs/change-version-dir-on-docs
gs/data-must-set-onlu-one-instance
gs/docs/fix-drop-down-error
gs/event-handler-2
gs/make-docs-js-build
gs/make-simple-attribute-toggler
gs/popover-fix-doc
gs/provide-steConfig-method
gs/scrollspy-smoothscroll-option-use-browser-history
gs/streamline-jqueryInterface
gs/support-drop-down-in-navbar
gs/test-js-generic-trigger
gs/try-web-components
gs/tweak-collapse-js-selector
gs/use-event-handler-in-cocmponent
gs/use-rollup-replace-for-version
jo-docs-thanks-page
jo-ssr-friendly
logical-props-spacing-utils
main-fod-disabled-form-check-label
main-fod-nested-accordion
main-fod-simpler-table-structure
main-fod-table-separator
main-fod-utilities-contrast
main-jd-abbr-title
main-jd-add-chips
main-jd-add-doc-for-sass-custom-colors
main-jd-add-enable-host-to-handle-web-components
main-jd-browserstack-fine-tune
main-jd-browserstack-updates
main-jd-docs-consistent-usage-of-css-sections-step-2
main-jd-fix-docs-headers-in-white
main-jd-fix-highlight-docs-border-radius
main-jd-fix-placeholder-color-background-params-for-img-markup
main-jd-glossary-experiment
main-jd-postcss-drop-empty-css-vars
main-jd-proto-doc-astro
main-jd-skip-navigation-component
main-jd-stackblitz-for-examples
main-jd-upgrade-browserlistrc
main-jd-use-host
main-lmp-dark-theme-customization
main-lmp-handle-scroll-target
main-lmp-tab-fix
main-mc-opensearch
main-xmr-bundlewatch-action
main-xmr-eslint-plugin-compat
main-xmr-hugo-docs-vendor
main-xmr-hugo-rm-ver
main-xmr-linkinator-prod
main-xmr-min-mangle
main-xmr-pa11y-ci
more-darkmode-examples
nested-dropdowns
patrickhlauke-issue37428
patrickhlauke-use-of-color-tweaks
pr/34102
pr/37590
previous-next-docs-links
sticky-thead
utilities-functions-mixin
v530-dev
v6-postcss-custom-media
v6-spinner-dots
v6/gs/use-floating-ui-in-place-of-popper
xmr/dev
xmr/docs-png
xmr/docs-svgs
xmr/hugo-reorg-files
xmr/js-2
xmr/markdownlint
xmr/prepare-530-alpha2
xmr/xo
v5.3.0-alpha1
v5.2.3
v5.2.2
v5.2.1
v5.2.0
v5.2.0-beta1
v5.1.3
v5.1.2
v5.1.1
v5.1.0
v5.0.2
v5.0.1
v5.0.0
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v5.0.0-alpha3
v5.0.0-alpha2
v5.0.0-alpha1
5 merge requests
!31948
Examples/Floating-labels: fix bad behavior with autofill
,
!30064
test
,
!29779
Responsive sizing
,
!28882
fix custom-select-indicator in IE10
,
!28721
Hot test
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
js/src/dom/polyfill.js
+6
-64
js/src/dom/polyfill.js
js/src/dom/selectorEngine.js
+13
-14
js/src/dom/selectorEngine.js
js/tests/visual/modal.html
+3
-3
js/tests/visual/modal.html
js/tests/visual/popover.html
+1
-1
js/tests/visual/popover.html
js/tests/visual/tooltip.html
+1
-1
js/tests/visual/tooltip.html
with
24 additions
and
83 deletions
+24
-83
js/src/dom/polyfill.js
+
6
-
64
View file @
764bab29
...
...
@@ -23,40 +23,13 @@ const Polyfill = (() => {
return
e
.
defaultPrevented
})()
// Event constructor shim
if
(
!
window
.
Event
||
typeof
window
.
Event
!==
'
function
'
)
{
const
origEvent
=
window
.
Event
window
.
Event
=
(
inType
,
params
)
=>
{
params
=
params
||
{}
const
e
=
document
.
createEvent
(
'
Event
'
)
e
.
initEvent
(
inType
,
Boolean
(
params
.
bubbles
),
Boolean
(
params
.
cancelable
))
return
e
}
window
.
Event
.
prototype
=
origEvent
.
prototype
}
// closest polyfill (see: https://mzl.la/2vXggaI)
let
closest
if
(
!
Element
.
prototype
.
closest
)
{
const
nodeText
=
3
closest
=
(
element
,
selector
)
=>
{
let
ancestor
=
element
do
{
if
(
ancestor
.
matches
(
selector
))
{
return
ancestor
}
ancestor
=
ancestor
.
parentElement
}
while
(
ancestor
!==
null
&&
ancestor
.
nodeType
===
Node
.
ELEMENT_NODE
&&
ancestor
.
nodeType
!==
nodeText
)
return
null
}
}
else
{
closest
=
(
element
,
selector
)
=>
element
.
closest
(
selector
)
}
let
find
=
Element
.
prototype
.
querySelectorAll
let
findOne
=
Element
.
prototype
.
querySelector
const
scopeSelectorRegex
=
/:scope
\b
/
const
supportScopeQuery
=
(()
=>
{
const
element
=
document
.
createElement
(
'
div
'
)
try
{
element
.
querySelectorAll
(
'
:scope *
'
)
}
catch
(
e
)
{
...
...
@@ -66,10 +39,6 @@ const Polyfill = (() => {
return
true
})()
const
scopeSelectorRegex
=
/:scope
\b
/
let
find
=
Element
.
prototype
.
querySelectorAll
let
findOne
=
Element
.
prototype
.
querySelector
if
(
!
supportScopeQuery
)
{
find
=
function
(
selector
)
{
if
(
!
scopeSelectorRegex
.
test
(
selector
))
{
...
...
@@ -77,6 +46,7 @@ const Polyfill = (() => {
}
const
hasId
=
Boolean
(
this
.
id
)
if
(
!
hasId
)
{
this
.
id
=
Util
.
getUID
(
'
scope
'
)
}
...
...
@@ -100,6 +70,7 @@ const Polyfill = (() => {
}
const
matches
=
find
.
call
(
this
,
selector
)
if
(
typeof
matches
[
0
]
!==
'
undefined
'
)
{
return
matches
[
0
]
}
...
...
@@ -108,37 +79,8 @@ const Polyfill = (() => {
}
}
if
(
typeof
Object
.
assign
!==
'
function
'
)
{
Object
.
defineProperty
(
Object
,
'
assign
'
,
{
value
:
(
target
,
...
args
)
=>
{
if
(
target
===
null
||
typeof
target
===
'
undefined
'
)
{
throw
new
TypeError
(
'
Cannot convert undefined or null to object
'
)
}
const
to
=
Object
(
target
)
for
(
let
index
=
1
;
index
<
args
.
length
;
index
++
)
{
const
nextSource
=
args
[
index
]
if
(
nextSource
!==
null
||
!
nextSource
)
{
for
(
const
nextKey
in
nextSource
)
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
nextSource
,
nextKey
))
{
to
[
nextKey
]
=
nextSource
[
nextKey
]
}
}
}
}
return
to
},
writable
:
true
,
configurable
:
true
})
}
return
{
defaultPreventedPreservedOnDispatch
,
focusIn
:
typeof
window
.
onfocusin
===
'
undefined
'
,
closest
,
find
,
findOne
}
...
...
This diff is collapsed.
Click to expand it.
js/src/dom/selectorEngine.js
+
13
-
14
View file @
764bab29
import
Polyfill
from
'
./polyfill
'
import
Util
from
'
../util
'
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.3.1): dom/selectorEngine.js
...
...
@@ -8,21 +5,22 @@ import Util from '../util'
* --------------------------------------------------------------------------
*/
import
Polyfill
from
'
./polyfill
'
import
Util
from
'
../util
'
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const
closest
=
Polyfill
.
closest
const
matchesFn
=
Element
.
prototype
.
matches
const
find
=
Polyfill
.
find
const
findFn
=
Polyfill
.
find
const
findOne
=
Polyfill
.
findOne
const
nodeText
=
3
const
NODE_TEXT
=
3
const
SelectorEngine
=
{
matches
(
element
,
selector
)
{
return
matchesFn
.
call
(
element
,
selector
)
return
element
.
matches
(
selector
)
},
find
(
selector
,
element
=
document
.
documentElement
)
{
...
...
@@ -30,7 +28,7 @@ const SelectorEngine = {
return
null
}
return
find
.
call
(
element
,
selector
)
return
find
Fn
.
call
(
element
,
selector
)
},
findOne
(
selector
,
element
=
document
.
documentElement
)
{
...
...
@@ -47,6 +45,7 @@ const SelectorEngine = {
}
const
children
=
Util
.
makeArray
(
element
.
children
)
return
children
.
filter
((
child
)
=>
this
.
matches
(
child
,
selector
))
},
...
...
@@ -56,9 +55,9 @@ const SelectorEngine = {
}
const
parents
=
[]
let
ancestor
=
element
.
parentNode
while
(
ancestor
&&
ancestor
.
nodeType
===
Node
.
ELEMENT_NODE
&&
ancestor
.
nodeType
!==
nodeText
)
{
while
(
ancestor
&&
ancestor
.
nodeType
===
Node
.
ELEMENT_NODE
&&
ancestor
.
nodeType
!==
NODE_TEXT
)
{
if
(
this
.
matches
(
ancestor
,
selector
))
{
parents
.
push
(
ancestor
)
}
...
...
@@ -74,7 +73,7 @@ const SelectorEngine = {
return
null
}
return
closest
(
element
,
selector
)
return
element
.
closest
(
selector
)
},
prev
(
element
,
selector
)
{
...
...
@@ -83,9 +82,9 @@ const SelectorEngine = {
}
const
siblings
=
[]
let
previous
=
element
.
previousSibling
while
(
previous
&&
previous
.
nodeType
===
Node
.
ELEMENT_NODE
&&
previous
.
nodeType
!==
nodeText
)
{
while
(
previous
&&
previous
.
nodeType
===
Node
.
ELEMENT_NODE
&&
previous
.
nodeType
!==
NODE_TEXT
)
{
if
(
this
.
matches
(
previous
,
selector
))
{
siblings
.
push
(
previous
)
}
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/modal.html
+
3
-
3
View file @
764bab29
...
...
@@ -230,13 +230,13 @@
}
}
document
.
querySelectorAll
(
'
[data-toggle="popover"]
'
)
[].
slice
.
call
(
document
.
querySelectorAll
(
'
[data-toggle="popover"]
'
)
)
.
forEach
(
function
(
popover
)
{
new
Popover
(
popover
)
})
document
.
querySelectorAll
(
'
[data-toggle="tooltip"]
'
)
.
forEach
(
function
(
tooltip
)
{
var
tooltipList
=
[].
slice
.
call
(
document
.
querySelectorAll
(
'
[data-toggle="tooltip"]
'
)
)
tooltipList
.
forEach
(
function
(
tooltip
)
{
new
Tooltip
(
tooltip
)
})
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/popover.html
+
1
-
1
View file @
764bab29
...
...
@@ -42,7 +42,7 @@
<script
src=
"../../dist/popover.js"
></script>
<script>
document
.
addEventListener
(
'
DOMContentLoaded
'
,
function
()
{
document
.
querySelectorAll
(
'
[data-toggle="popover"]
'
)
[].
slice
.
call
(
document
.
querySelectorAll
(
'
[data-toggle="popover"]
'
)
)
.
forEach
(
function
(
popover
)
{
new
Popover
(
popover
)
})
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/tooltip.html
+
1
-
1
View file @
764bab29
...
...
@@ -97,7 +97,7 @@
})
}
document
.
querySelectorAll
(
'
[data-toggle="tooltip"]
'
)
[].
slice
.
call
(
document
.
querySelectorAll
(
'
[data-toggle="tooltip"]
'
)
)
.
forEach
(
function
(
tooltip
)
{
new
Tooltip
(
tooltip
)
})
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets