Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
search-page
Commits
6cc198bf
Commit
6cc198bf
authored
Dec 26, 2020
by
Sangjune Bae
Browse files
first commit
parent
81c6da4b
Changes
760
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
760 of 760+
files are displayed.
Plain diff
Email patch
node_modules/@popperjs/core/dist/esm/dom-utils/contains.js
0 → 100644
View file @
6cc198bf
import
{
isShadowRoot
}
from
"
./instanceOf.js
"
;
export
default
function
contains
(
parent
,
child
)
{
var
rootNode
=
child
.
getRootNode
&&
child
.
getRootNode
();
// First, attempt with faster native method
if
(
parent
.
contains
(
child
))
{
return
true
;
}
// then fallback to custom implementation with Shadow DOM support
else
if
(
rootNode
&&
isShadowRoot
(
rootNode
))
{
var
next
=
child
;
do
{
if
(
next
&&
parent
.
isSameNode
(
next
))
{
return
true
;
}
// $FlowFixMe[prop-missing]: need a better way to handle this...
next
=
next
.
parentNode
||
next
.
host
;
}
while
(
next
);
}
// Give up, the result is false
return
false
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getBoundingClientRect.js
0 → 100644
View file @
6cc198bf
export
default
function
getBoundingClientRect
(
element
)
{
var
rect
=
element
.
getBoundingClientRect
();
return
{
width
:
rect
.
width
,
height
:
rect
.
height
,
top
:
rect
.
top
,
right
:
rect
.
right
,
bottom
:
rect
.
bottom
,
left
:
rect
.
left
,
x
:
rect
.
left
,
y
:
rect
.
top
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getClippingRect.js
0 → 100644
View file @
6cc198bf
import
{
viewport
}
from
"
../enums.js
"
;
import
getViewportRect
from
"
./getViewportRect.js
"
;
import
getDocumentRect
from
"
./getDocumentRect.js
"
;
import
listScrollParents
from
"
./listScrollParents.js
"
;
import
getOffsetParent
from
"
./getOffsetParent.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
import
getComputedStyle
from
"
./getComputedStyle.js
"
;
import
{
isElement
,
isHTMLElement
}
from
"
./instanceOf.js
"
;
import
getBoundingClientRect
from
"
./getBoundingClientRect.js
"
;
import
getParentNode
from
"
./getParentNode.js
"
;
import
contains
from
"
./contains.js
"
;
import
getNodeName
from
"
./getNodeName.js
"
;
import
rectToClientRect
from
"
../utils/rectToClientRect.js
"
;
function
getInnerBoundingClientRect
(
element
)
{
var
rect
=
getBoundingClientRect
(
element
);
rect
.
top
=
rect
.
top
+
element
.
clientTop
;
rect
.
left
=
rect
.
left
+
element
.
clientLeft
;
rect
.
bottom
=
rect
.
top
+
element
.
clientHeight
;
rect
.
right
=
rect
.
left
+
element
.
clientWidth
;
rect
.
width
=
element
.
clientWidth
;
rect
.
height
=
element
.
clientHeight
;
rect
.
x
=
rect
.
left
;
rect
.
y
=
rect
.
top
;
return
rect
;
}
function
getClientRectFromMixedType
(
element
,
clippingParent
)
{
return
clippingParent
===
viewport
?
rectToClientRect
(
getViewportRect
(
element
))
:
isHTMLElement
(
clippingParent
)
?
getInnerBoundingClientRect
(
clippingParent
)
:
rectToClientRect
(
getDocumentRect
(
getDocumentElement
(
element
)));
}
// A "clipping parent" is an overflowable container with the characteristic of
// clipping (or hiding) overflowing elements with a position different from
// `initial`
function
getClippingParents
(
element
)
{
var
clippingParents
=
listScrollParents
(
getParentNode
(
element
));
var
canEscapeClipping
=
[
'
absolute
'
,
'
fixed
'
].
indexOf
(
getComputedStyle
(
element
).
position
)
>=
0
;
var
clipperElement
=
canEscapeClipping
&&
isHTMLElement
(
element
)
?
getOffsetParent
(
element
)
:
element
;
if
(
!
isElement
(
clipperElement
))
{
return
[];
}
// $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
return
clippingParents
.
filter
(
function
(
clippingParent
)
{
return
isElement
(
clippingParent
)
&&
contains
(
clippingParent
,
clipperElement
)
&&
getNodeName
(
clippingParent
)
!==
'
body
'
;
});
}
// Gets the maximum area that the element is visible in due to any number of
// clipping parents
export
default
function
getClippingRect
(
element
,
boundary
,
rootBoundary
)
{
var
mainClippingParents
=
boundary
===
'
clippingParents
'
?
getClippingParents
(
element
)
:
[].
concat
(
boundary
);
var
clippingParents
=
[].
concat
(
mainClippingParents
,
[
rootBoundary
]);
var
firstClippingParent
=
clippingParents
[
0
];
var
clippingRect
=
clippingParents
.
reduce
(
function
(
accRect
,
clippingParent
)
{
var
rect
=
getClientRectFromMixedType
(
element
,
clippingParent
);
accRect
.
top
=
Math
.
max
(
rect
.
top
,
accRect
.
top
);
accRect
.
right
=
Math
.
min
(
rect
.
right
,
accRect
.
right
);
accRect
.
bottom
=
Math
.
min
(
rect
.
bottom
,
accRect
.
bottom
);
accRect
.
left
=
Math
.
max
(
rect
.
left
,
accRect
.
left
);
return
accRect
;
},
getClientRectFromMixedType
(
element
,
firstClippingParent
));
clippingRect
.
width
=
clippingRect
.
right
-
clippingRect
.
left
;
clippingRect
.
height
=
clippingRect
.
bottom
-
clippingRect
.
top
;
clippingRect
.
x
=
clippingRect
.
left
;
clippingRect
.
y
=
clippingRect
.
top
;
return
clippingRect
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getCompositeRect.js
0 → 100644
View file @
6cc198bf
import
getBoundingClientRect
from
"
./getBoundingClientRect.js
"
;
import
getNodeScroll
from
"
./getNodeScroll.js
"
;
import
getNodeName
from
"
./getNodeName.js
"
;
import
{
isHTMLElement
}
from
"
./instanceOf.js
"
;
import
getWindowScrollBarX
from
"
./getWindowScrollBarX.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
import
isScrollParent
from
"
./isScrollParent.js
"
;
// Returns the composite rect of an element relative to its offsetParent.
// Composite means it takes into account transforms as well as layout.
export
default
function
getCompositeRect
(
elementOrVirtualElement
,
offsetParent
,
isFixed
)
{
if
(
isFixed
===
void
0
)
{
isFixed
=
false
;
}
var
documentElement
=
getDocumentElement
(
offsetParent
);
var
rect
=
getBoundingClientRect
(
elementOrVirtualElement
);
var
isOffsetParentAnElement
=
isHTMLElement
(
offsetParent
);
var
scroll
=
{
scrollLeft
:
0
,
scrollTop
:
0
};
var
offsets
=
{
x
:
0
,
y
:
0
};
if
(
isOffsetParentAnElement
||
!
isOffsetParentAnElement
&&
!
isFixed
)
{
if
(
getNodeName
(
offsetParent
)
!==
'
body
'
||
// https://github.com/popperjs/popper-core/issues/1078
isScrollParent
(
documentElement
))
{
scroll
=
getNodeScroll
(
offsetParent
);
}
if
(
isHTMLElement
(
offsetParent
))
{
offsets
=
getBoundingClientRect
(
offsetParent
);
offsets
.
x
+=
offsetParent
.
clientLeft
;
offsets
.
y
+=
offsetParent
.
clientTop
;
}
else
if
(
documentElement
)
{
offsets
.
x
=
getWindowScrollBarX
(
documentElement
);
}
}
return
{
x
:
rect
.
left
+
scroll
.
scrollLeft
-
offsets
.
x
,
y
:
rect
.
top
+
scroll
.
scrollTop
-
offsets
.
y
,
width
:
rect
.
width
,
height
:
rect
.
height
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getComputedStyle.js
0 → 100644
View file @
6cc198bf
import
getWindow
from
"
./getWindow.js
"
;
export
default
function
getComputedStyle
(
element
)
{
return
getWindow
(
element
).
getComputedStyle
(
element
);
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getDocumentElement.js
0 → 100644
View file @
6cc198bf
import
{
isElement
}
from
"
./instanceOf.js
"
;
export
default
function
getDocumentElement
(
element
)
{
// $FlowFixMe[incompatible-return]: assume body is always available
return
((
isElement
(
element
)
?
element
.
ownerDocument
:
// $FlowFixMe[prop-missing]
element
.
document
)
||
window
.
document
).
documentElement
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getDocumentRect.js
0 → 100644
View file @
6cc198bf
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
import
getComputedStyle
from
"
./getComputedStyle.js
"
;
import
getWindowScrollBarX
from
"
./getWindowScrollBarX.js
"
;
import
getWindowScroll
from
"
./getWindowScroll.js
"
;
// Gets the entire size of the scrollable document area, even extending outside
// of the `<html>` and `<body>` rect bounds if horizontally scrollable
export
default
function
getDocumentRect
(
element
)
{
var
html
=
getDocumentElement
(
element
);
var
winScroll
=
getWindowScroll
(
element
);
var
body
=
element
.
ownerDocument
.
body
;
var
width
=
Math
.
max
(
html
.
scrollWidth
,
html
.
clientWidth
,
body
?
body
.
scrollWidth
:
0
,
body
?
body
.
clientWidth
:
0
);
var
height
=
Math
.
max
(
html
.
scrollHeight
,
html
.
clientHeight
,
body
?
body
.
scrollHeight
:
0
,
body
?
body
.
clientHeight
:
0
);
var
x
=
-
winScroll
.
scrollLeft
+
getWindowScrollBarX
(
element
);
var
y
=
-
winScroll
.
scrollTop
;
if
(
getComputedStyle
(
body
||
html
).
direction
===
'
rtl
'
)
{
x
+=
Math
.
max
(
html
.
clientWidth
,
body
?
body
.
clientWidth
:
0
)
-
width
;
}
return
{
width
:
width
,
height
:
height
,
x
:
x
,
y
:
y
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getHTMLElementScroll.js
0 → 100644
View file @
6cc198bf
export
default
function
getHTMLElementScroll
(
element
)
{
return
{
scrollLeft
:
element
.
scrollLeft
,
scrollTop
:
element
.
scrollTop
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getLayoutRect.js
0 → 100644
View file @
6cc198bf
// Returns the layout rect of an element relative to its offsetParent. Layout
// means it doesn't take into account transforms.
export
default
function
getLayoutRect
(
element
)
{
return
{
x
:
element
.
offsetLeft
,
y
:
element
.
offsetTop
,
width
:
element
.
offsetWidth
,
height
:
element
.
offsetHeight
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getNodeName.js
0 → 100644
View file @
6cc198bf
export
default
function
getNodeName
(
element
)
{
return
element
?
(
element
.
nodeName
||
''
).
toLowerCase
()
:
null
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getNodeScroll.js
0 → 100644
View file @
6cc198bf
import
getWindowScroll
from
"
./getWindowScroll.js
"
;
import
getWindow
from
"
./getWindow.js
"
;
import
{
isHTMLElement
}
from
"
./instanceOf.js
"
;
import
getHTMLElementScroll
from
"
./getHTMLElementScroll.js
"
;
export
default
function
getNodeScroll
(
node
)
{
if
(
node
===
getWindow
(
node
)
||
!
isHTMLElement
(
node
))
{
return
getWindowScroll
(
node
);
}
else
{
return
getHTMLElementScroll
(
node
);
}
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getOffsetParent.js
0 → 100644
View file @
6cc198bf
import
getWindow
from
"
./getWindow.js
"
;
import
getNodeName
from
"
./getNodeName.js
"
;
import
getComputedStyle
from
"
./getComputedStyle.js
"
;
import
{
isHTMLElement
}
from
"
./instanceOf.js
"
;
import
isTableElement
from
"
./isTableElement.js
"
;
import
getParentNode
from
"
./getParentNode.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
function
getTrueOffsetParent
(
element
)
{
if
(
!
isHTMLElement
(
element
)
||
// https://github.com/popperjs/popper-core/issues/837
getComputedStyle
(
element
).
position
===
'
fixed
'
)
{
return
null
;
}
var
offsetParent
=
element
.
offsetParent
;
if
(
offsetParent
)
{
var
html
=
getDocumentElement
(
offsetParent
);
if
(
getNodeName
(
offsetParent
)
===
'
body
'
&&
getComputedStyle
(
offsetParent
).
position
===
'
static
'
&&
getComputedStyle
(
html
).
position
!==
'
static
'
)
{
return
html
;
}
}
return
offsetParent
;
}
// `.offsetParent` reports `null` for fixed elements, while absolute elements
// return the containing block
function
getContainingBlock
(
element
)
{
var
currentNode
=
getParentNode
(
element
);
while
(
isHTMLElement
(
currentNode
)
&&
[
'
html
'
,
'
body
'
].
indexOf
(
getNodeName
(
currentNode
))
<
0
)
{
var
css
=
getComputedStyle
(
currentNode
);
// This is non-exhaustive but covers the most common CSS properties that
// create a containing block.
if
(
css
.
transform
!==
'
none
'
||
css
.
perspective
!==
'
none
'
||
css
.
willChange
&&
css
.
willChange
!==
'
auto
'
)
{
return
currentNode
;
}
else
{
currentNode
=
currentNode
.
parentNode
;
}
}
return
null
;
}
// Gets the closest ancestor positioned element. Handles some edge cases,
// such as table ancestors and cross browser bugs.
export
default
function
getOffsetParent
(
element
)
{
var
window
=
getWindow
(
element
);
var
offsetParent
=
getTrueOffsetParent
(
element
);
while
(
offsetParent
&&
isTableElement
(
offsetParent
)
&&
getComputedStyle
(
offsetParent
).
position
===
'
static
'
)
{
offsetParent
=
getTrueOffsetParent
(
offsetParent
);
}
if
(
offsetParent
&&
getNodeName
(
offsetParent
)
===
'
body
'
&&
getComputedStyle
(
offsetParent
).
position
===
'
static
'
)
{
return
window
;
}
return
offsetParent
||
getContainingBlock
(
element
)
||
window
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js
0 → 100644
View file @
6cc198bf
import
getNodeName
from
"
./getNodeName.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
export
default
function
getParentNode
(
element
)
{
if
(
getNodeName
(
element
)
===
'
html
'
)
{
return
element
;
}
return
(
// this is a quicker (but less type safe) way to save quite some bytes from the bundle
// $FlowFixMe[incompatible-return]
// $FlowFixMe[prop-missing]
element
.
assignedSlot
||
// step into the shadow DOM of the parent of a slotted node
element
.
parentNode
||
// DOM Element detected
// $FlowFixMe[incompatible-return]: need a better way to handle this...
element
.
host
||
// ShadowRoot detected
// $FlowFixMe[incompatible-call]: HTMLElement is a Node
getDocumentElement
(
element
)
// fallback
);
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getScrollParent.js
0 → 100644
View file @
6cc198bf
import
getParentNode
from
"
./getParentNode.js
"
;
import
isScrollParent
from
"
./isScrollParent.js
"
;
import
getNodeName
from
"
./getNodeName.js
"
;
import
{
isHTMLElement
}
from
"
./instanceOf.js
"
;
export
default
function
getScrollParent
(
node
)
{
if
([
'
html
'
,
'
body
'
,
'
#document
'
].
indexOf
(
getNodeName
(
node
))
>=
0
)
{
// $FlowFixMe[incompatible-return]: assume body is always available
return
node
.
ownerDocument
.
body
;
}
if
(
isHTMLElement
(
node
)
&&
isScrollParent
(
node
))
{
return
node
;
}
return
getScrollParent
(
getParentNode
(
node
));
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js
0 → 100644
View file @
6cc198bf
import
getWindow
from
"
./getWindow.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
import
getWindowScrollBarX
from
"
./getWindowScrollBarX.js
"
;
export
default
function
getViewportRect
(
element
)
{
var
win
=
getWindow
(
element
);
var
html
=
getDocumentElement
(
element
);
var
visualViewport
=
win
.
visualViewport
;
var
width
=
html
.
clientWidth
;
var
height
=
html
.
clientHeight
;
var
x
=
0
;
var
y
=
0
;
// NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
// can be obscured underneath it.
// Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
// if it isn't open, so if this isn't available, the popper will be detected
// to overflow the bottom of the screen too early.
if
(
visualViewport
)
{
width
=
visualViewport
.
width
;
height
=
visualViewport
.
height
;
// Uses Layout Viewport (like Chrome; Safari does not currently)
// In Chrome, it returns a value very close to 0 (+/-) but contains rounding
// errors due to floating point numbers, so we need to check precision.
// Safari returns a number <= 0, usually < -1 when pinch-zoomed
// Feature detection fails in mobile emulation mode in Chrome.
// Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
// 0.001
// Fallback here: "Not Safari" userAgent
if
(
!
/^
((?!
chrome|android
)
.
)
*safari/i
.
test
(
navigator
.
userAgent
))
{
x
=
visualViewport
.
offsetLeft
;
y
=
visualViewport
.
offsetTop
;
}
}
return
{
width
:
width
,
height
:
height
,
x
:
x
+
getWindowScrollBarX
(
element
),
y
:
y
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getWindow.js
0 → 100644
View file @
6cc198bf
/*:: import type { Window } from '../types'; */
/*:: declare function getWindow(node: Node | Window): Window; */
export
default
function
getWindow
(
node
)
{
if
(
node
.
toString
()
!==
'
[object Window]
'
)
{
var
ownerDocument
=
node
.
ownerDocument
;
return
ownerDocument
?
ownerDocument
.
defaultView
||
window
:
window
;
}
return
node
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js
0 → 100644
View file @
6cc198bf
import
getWindow
from
"
./getWindow.js
"
;
export
default
function
getWindowScroll
(
node
)
{
var
win
=
getWindow
(
node
);
var
scrollLeft
=
win
.
pageXOffset
;
var
scrollTop
=
win
.
pageYOffset
;
return
{
scrollLeft
:
scrollLeft
,
scrollTop
:
scrollTop
};
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js
0 → 100644
View file @
6cc198bf
import
getBoundingClientRect
from
"
./getBoundingClientRect.js
"
;
import
getDocumentElement
from
"
./getDocumentElement.js
"
;
import
getWindowScroll
from
"
./getWindowScroll.js
"
;
export
default
function
getWindowScrollBarX
(
element
)
{
// If <html> has a CSS width greater than the viewport, then this will be
// incorrect for RTL.
// Popper 1 is broken in this case and never had a bug report so let's assume
// it's not an issue. I don't think anyone ever specifies width on <html>
// anyway.
// Browsers where the left scrollbar doesn't cause an issue report `0` for
// this (e.g. Edge 2019, IE11, Safari)
return
getBoundingClientRect
(
getDocumentElement
(
element
)).
left
+
getWindowScroll
(
element
).
scrollLeft
;
}
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/instanceOf.js
0 → 100644
View file @
6cc198bf
import
getWindow
from
"
./getWindow.js
"
;
/*:: declare function isElement(node: mixed): boolean %checks(node instanceof
Element); */
function
isElement
(
node
)
{
var
OwnElement
=
getWindow
(
node
).
Element
;
return
node
instanceof
OwnElement
||
node
instanceof
Element
;
}
/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof
HTMLElement); */
function
isHTMLElement
(
node
)
{
var
OwnElement
=
getWindow
(
node
).
HTMLElement
;
return
node
instanceof
OwnElement
||
node
instanceof
HTMLElement
;
}
/*:: declare function isShadowRoot(node: mixed): boolean %checks(node instanceof
ShadowRoot); */
function
isShadowRoot
(
node
)
{
var
OwnElement
=
getWindow
(
node
).
ShadowRoot
;
return
node
instanceof
OwnElement
||
node
instanceof
ShadowRoot
;
}
export
{
isElement
,
isHTMLElement
,
isShadowRoot
};
\ No newline at end of file
node_modules/@popperjs/core/dist/esm/dom-utils/isScrollParent.js
0 → 100644
View file @
6cc198bf
import
getComputedStyle
from
"
./getComputedStyle.js
"
;
export
default
function
isScrollParent
(
element
)
{
// Firefox wants us to check `-x` and `-y` variations as well
var
_getComputedStyle
=
getComputedStyle
(
element
),
overflow
=
_getComputedStyle
.
overflow
,
overflowX
=
_getComputedStyle
.
overflowX
,
overflowY
=
_getComputedStyle
.
overflowY
;
return
/auto|scroll|overlay|hidden/
.
test
(
overflow
+
overflowY
+
overflowX
);
}
\ No newline at end of file
Prev
1
…
7
8
9
10
11
12
13
14
15
…
38
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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