uikit 3.17.12-dev.f1425d280 → 3.18.1-dev.0856bd8a6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/css/uikit-core-rtl.css +577 -504
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +577 -504
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +600 -527
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +600 -527
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +2 -4
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +96 -60
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +96 -60
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +11 -6
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +8 -3
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +735 -37
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +8 -3
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +792 -129
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +7 -7
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +2 -8
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +299 -273
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +9 -4
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +505 -365
- package/dist/js/uikit.min.js +1 -1
- package/package.json +3 -3
- package/src/images/components/navbar-toggle-icon.svg +1 -1
- package/src/images/icons/arrow-up-right.svg +4 -0
- package/src/images/icons/git-branch.svg +4 -4
- package/src/images/icons/git-fork.svg +4 -4
- package/src/images/icons/link-external.svg +5 -0
- package/src/images/icons/signal.svg +3 -0
- package/src/images/icons/telegram.svg +3 -0
- package/src/images/icons/threads.svg +3 -0
- package/src/images/icons/x.svg +3 -0
- package/src/js/components/countdown.js +1 -3
- package/src/js/components/internal/slider-preload.js +6 -0
- package/src/js/components/lightbox-panel.js +2 -6
- package/src/js/components/parallax.js +1 -20
- package/src/js/components/slider.js +38 -18
- package/src/js/components/slideshow.js +14 -46
- package/src/js/components/sortable.js +7 -6
- package/src/js/components/tooltip.js +1 -7
- package/src/js/core/accordion.js +1 -1
- package/src/js/core/drop.js +3 -5
- package/src/js/core/dropnav.js +24 -20
- package/src/js/core/height-match.js +7 -3
- package/src/js/core/height-placeholder.js +32 -0
- package/src/js/core/icon.js +12 -5
- package/src/js/core/index.js +2 -0
- package/src/js/core/inverse.js +103 -0
- package/src/js/core/modal.js +13 -0
- package/src/js/core/navbar.js +32 -172
- package/src/js/core/responsive.js +2 -29
- package/src/js/core/sticky.js +45 -29
- package/src/js/core/video.js +5 -1
- package/src/js/mixin/modal.js +1 -1
- package/src/js/mixin/parallax.js +19 -0
- package/src/js/mixin/slider-autoplay.js +1 -3
- package/src/js/mixin/slider-drag.js +22 -19
- package/src/js/mixin/slider-nav.js +10 -1
- package/src/js/mixin/slider-parallax.js +138 -0
- package/src/js/mixin/slider-reactive.js +1 -1
- package/src/js/mixin/slider.js +25 -3
- package/src/js/util/animation.js +14 -14
- package/src/js/util/dom.js +2 -2
- package/src/js/util/mouse.js +8 -11
- package/src/js/util/scroll.js +58 -0
- package/src/js/util/selector.js +4 -2
- package/src/js/util/style.js +3 -3
- package/src/js/util/viewport.js +8 -4
- package/src/less/components/align.less +2 -2
- package/src/less/components/animation.less +2 -2
- package/src/less/components/article.less +2 -2
- package/src/less/components/base.less +3 -3
- package/src/less/components/card.less +13 -6
- package/src/less/components/column.less +3 -3
- package/src/less/components/container.less +3 -3
- package/src/less/components/divider.less +2 -2
- package/src/less/components/dropbar.less +1 -1
- package/src/less/components/dropdown.less +1 -1
- package/src/less/components/dropnav.less +1 -1
- package/src/less/components/form.less +1 -1
- package/src/less/components/grid.less +3 -3
- package/src/less/components/height.less +1 -1
- package/src/less/components/icon.less +3 -3
- package/src/less/components/inverse.less +12 -0
- package/src/less/components/link.less +1 -1
- package/src/less/components/modal.less +3 -3
- package/src/less/components/nav.less +66 -0
- package/src/less/components/navbar.less +7 -11
- package/src/less/components/overlay.less +5 -0
- package/src/less/components/position.less +7 -7
- package/src/less/components/section.less +6 -5
- package/src/less/components/sticky.less +1 -1
- package/src/less/components/svg.less +3 -3
- package/src/less/components/tile.less +10 -0
- package/src/less/components/transition.less +9 -9
- package/src/less/components/utility.less +4 -4
- package/src/less/components/width.less +7 -7
- package/src/less/theme/alert.less +1 -1
- package/src/less/theme/align.less +1 -1
- package/src/less/theme/animation.less +1 -1
- package/src/less/theme/article.less +1 -1
- package/src/less/theme/background.less +1 -1
- package/src/less/theme/badge.less +1 -1
- package/src/less/theme/base.less +1 -1
- package/src/less/theme/breadcrumb.less +1 -1
- package/src/less/theme/button.less +1 -1
- package/src/less/theme/card.less +1 -1
- package/src/less/theme/close.less +1 -1
- package/src/less/theme/column.less +1 -1
- package/src/less/theme/comment.less +1 -1
- package/src/less/theme/container.less +1 -1
- package/src/less/theme/description-list.less +1 -1
- package/src/less/theme/divider.less +1 -1
- package/src/less/theme/dotnav.less +1 -1
- package/src/less/theme/drop.less +1 -1
- package/src/less/theme/dropbar.less +1 -1
- package/src/less/theme/dropdown.less +1 -1
- package/src/less/theme/form-range.less +1 -1
- package/src/less/theme/height.less +1 -1
- package/src/less/theme/icon.less +1 -1
- package/src/less/theme/iconnav.less +1 -1
- package/src/less/theme/inverse.less +1 -1
- package/src/less/theme/label.less +1 -1
- package/src/less/theme/leader.less +1 -1
- package/src/less/theme/lightbox.less +1 -1
- package/src/less/theme/margin.less +1 -1
- package/src/less/theme/modal.less +1 -1
- package/src/less/theme/nav.less +1 -1
- package/src/less/theme/navbar.less +3 -3
- package/src/less/theme/notification.less +1 -1
- package/src/less/theme/offcanvas.less +1 -1
- package/src/less/theme/overlay.less +1 -1
- package/src/less/theme/padding.less +1 -1
- package/src/less/theme/pagination.less +1 -1
- package/src/less/theme/position.less +1 -1
- package/src/less/theme/search.less +1 -1
- package/src/less/theme/spinner.less +1 -1
- package/src/less/theme/sticky.less +1 -1
- package/src/less/theme/tab.less +2 -2
- package/src/less/theme/table.less +1 -1
- package/src/less/theme/thumbnav.less +1 -1
- package/src/less/theme/tile.less +1 -1
- package/src/less/theme/tooltip.less +1 -1
- package/src/less/theme/totop.less +1 -1
- package/src/less/theme/transition.less +1 -1
- package/src/less/theme/utility.less +1 -1
- package/src/less/theme/variables.less +1 -1
- package/src/less/theme/width.less +1 -1
- package/src/less/uikit.less +1 -1
- package/src/scss/components/align.scss +2 -2
- package/src/scss/components/animation.scss +2 -2
- package/src/scss/components/base.scss +2 -2
- package/src/scss/components/card.scss +12 -6
- package/src/scss/components/column.scss +3 -3
- package/src/scss/components/container.scss +3 -3
- package/src/scss/components/divider.scss +2 -2
- package/src/scss/components/dropnav.scss +1 -1
- package/src/scss/components/form.scss +1 -1
- package/src/scss/components/grid.scss +3 -3
- package/src/scss/components/height.scss +1 -1
- package/src/scss/components/icon.scss +3 -3
- package/src/scss/components/inverse.scss +12 -0
- package/src/scss/components/modal.scss +3 -3
- package/src/scss/components/nav.scss +63 -0
- package/src/scss/components/navbar.scss +5 -8
- package/src/scss/components/overlay.scss +4 -0
- package/src/scss/components/position.scss +7 -7
- package/src/scss/components/section.scss +6 -5
- package/src/scss/components/sticky.scss +1 -1
- package/src/scss/components/svg.scss +3 -3
- package/src/scss/components/tile.scss +8 -0
- package/src/scss/components/transition.scss +9 -9
- package/src/scss/components/utility.scss +4 -4
- package/src/scss/components/width.scss +7 -7
- package/src/scss/mixins-theme.scss +10 -7
- package/src/scss/mixins.scss +7 -4
- package/src/scss/theme/alert.scss +1 -0
- package/src/scss/theme/align.scss +1 -1
- package/src/scss/theme/animation.scss +1 -1
- package/src/scss/theme/article.scss +1 -1
- package/src/scss/theme/background.scss +1 -1
- package/src/scss/theme/badge.scss +1 -1
- package/src/scss/theme/base.scss +1 -1
- package/src/scss/theme/breadcrumb.scss +1 -1
- package/src/scss/theme/button.scss +1 -1
- package/src/scss/theme/card.scss +1 -0
- package/src/scss/theme/close.scss +1 -1
- package/src/scss/theme/column.scss +1 -1
- package/src/scss/theme/comment.scss +1 -1
- package/src/scss/theme/container.scss +1 -1
- package/src/scss/theme/description-list.scss +1 -1
- package/src/scss/theme/divider.scss +1 -1
- package/src/scss/theme/dotnav.scss +1 -0
- package/src/scss/theme/drop.scss +1 -1
- package/src/scss/theme/dropbar.scss +1 -1
- package/src/scss/theme/dropdown.scss +1 -1
- package/src/scss/theme/form-range.scss +1 -1
- package/src/scss/theme/height.scss +1 -1
- package/src/scss/theme/icon.scss +1 -1
- package/src/scss/theme/iconnav.scss +1 -1
- package/src/scss/theme/inverse.scss +1 -1
- package/src/scss/theme/label.scss +1 -1
- package/src/scss/theme/leader.scss +1 -1
- package/src/scss/theme/lightbox.scss +1 -1
- package/src/scss/theme/margin.scss +1 -1
- package/src/scss/theme/modal.scss +1 -0
- package/src/scss/theme/nav.scss +1 -1
- package/src/scss/theme/navbar.scss +1 -1
- package/src/scss/theme/notification.scss +1 -1
- package/src/scss/theme/offcanvas.scss +1 -1
- package/src/scss/theme/overlay.scss +1 -1
- package/src/scss/theme/padding.scss +1 -1
- package/src/scss/theme/pagination.scss +1 -1
- package/src/scss/theme/position.scss +1 -1
- package/src/scss/theme/search.scss +1 -1
- package/src/scss/theme/spinner.scss +1 -1
- package/src/scss/theme/sticky.scss +1 -1
- package/src/scss/theme/tab.scss +1 -1
- package/src/scss/theme/table.scss +1 -0
- package/src/scss/theme/thumbnav.scss +1 -1
- package/src/scss/theme/tile.scss +1 -1
- package/src/scss/theme/tooltip.scss +1 -1
- package/src/scss/theme/totop.scss +1 -1
- package/src/scss/theme/transition.scss +1 -1
- package/src/scss/theme/utility.scss +1 -1
- package/src/scss/theme/variables.scss +1 -1
- package/src/scss/theme/width.scss +1 -1
- package/src/scss/uikit.scss +1 -1
- package/src/scss/variables-theme.scss +20 -5
- package/src/scss/variables.scss +20 -5
- package/tests/height.html +58 -1
- package/tests/icon.html +38 -10
- package/tests/nav.html +42 -0
- package/tests/navbar.html +1 -1
- package/tests/offcanvas.html +8 -8
- package/tests/search.html +300 -202
- package/tests/slider.html +58 -0
- package/tests/slideshow.html +66 -0
- package/tests/sticky-navbar.html +381 -23
- package/src/images/icons/pagekit.svg +0 -3
- package/src/js/mixin/internal/scroll.js +0 -39
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "uikit",
|
|
3
3
|
"title": "UIkit",
|
|
4
4
|
"description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.18.1-dev.0856bd8a6",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "https://github.com/uikit/uikit/issues"
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://getuikit.com",
|
|
22
|
-
"packageManager": "pnpm@8.
|
|
22
|
+
"packageManager": "pnpm@8.15.1",
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@rollup/plugin-alias": "^5.1.0",
|
|
25
25
|
"@rollup/plugin-replace": "^5.0.5",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"chokidar-cli": "^3.0.0",
|
|
29
29
|
"clean-css": "^5.3.3",
|
|
30
30
|
"dateformat": "^5.0.3",
|
|
31
|
-
"esbuild": "^0.
|
|
31
|
+
"esbuild": "^0.20.0",
|
|
32
32
|
"eslint": "^8.55.0",
|
|
33
33
|
"eslint-config-prettier": "^9.1.0",
|
|
34
34
|
"execa": "^8.0.1",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
opacity: 1;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
.uk-navbar-toggle svg > .line-3 { opacity: 0; }
|
|
11
|
+
.uk-navbar-toggle-animate svg > .line-3 { opacity: 0; }
|
|
12
12
|
.uk-navbar-toggle-animate[aria-expanded="true"] svg > .line-3 { opacity: 1; }
|
|
13
13
|
|
|
14
14
|
.uk-navbar-toggle-animate[aria-expanded="true"] svg > .line-2 { transform: rotate(45deg); }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<
|
|
3
|
-
<circle fill="none" stroke="#000"
|
|
4
|
-
<circle fill="none" stroke="#000"
|
|
5
|
-
<
|
|
2
|
+
<path fill="none" stroke="#000" d="m13.5,8c0,2.41-1.57,2.87-3.44,3.25-1.47.29-3.56.81-3.56,3.75V5"/>
|
|
3
|
+
<circle fill="none" stroke="#000" cx="6.5" cy="3" r="1.79"/>
|
|
4
|
+
<circle fill="none" stroke="#000" cx="13.5" cy="6" r="1.79"/>
|
|
5
|
+
<circle fill="none" stroke="#000" cx="6.5" cy="17" r="1.79"/>
|
|
6
6
|
</svg>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<circle fill="none" stroke="#000"
|
|
3
|
-
<circle fill="none" stroke="#000"
|
|
4
|
-
<
|
|
5
|
-
<path fill="none" stroke="#000"
|
|
2
|
+
<circle fill="none" stroke="#000" cx="6" cy="3" r="1.79"/>
|
|
3
|
+
<circle fill="none" stroke="#000" cx="14" cy="3" r="1.79"/>
|
|
4
|
+
<circle fill="none" stroke="#000" cx="10" cy="17" r="1.79"/>
|
|
5
|
+
<path fill="none" stroke="#000" d="m6,4.78v1.99c0,2.63,4,3.66,4,6.75,0,1.55.01,1.24.01,1.24,0-.18,0,.31,0-1.24,0-3.09,3.99-4.12,3.99-6.75v-1.99"/>
|
|
6
6
|
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<polyline fill="none" stroke="#000" points="14.5 10.5 14.5 16.5 3.5 16.5 3.5 5.5 8.5 5.5"/>
|
|
3
|
+
<polyline fill="none" stroke="#000" points="17.5 8.5 17.5 2.5 11.5 2.5"/>
|
|
4
|
+
<line fill="none" stroke="#000" x1="6.5" y1="13.5" x2="17.5" y2="2.5"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="m7.86,1.34l.2.81c-.79.19-1.54.51-2.24.93l-.43-.71c.77-.46,1.6-.81,2.47-1.02Zm4.28,0l-.2.81c.79.19,1.54.51,2.24.93l.43-.72c-.77-.46-1.6-.81-2.47-1.02h0ZM2.37,5.39c-.46.77-.81,1.6-1.02,2.47l.81.2c.19-.79.51-1.54.93-2.24l-.71-.43Zm-.45,4.61c0-.41.03-.81.09-1.21l-.83-.13c-.13.89-.13,1.79,0,2.67l.83-.13c-.06-.4-.09-.81-.09-1.21h0Zm12.69,7.63l-.43-.72c-.7.42-1.45.73-2.24.93l.2.81c.87-.21,1.7-.56,2.46-1.02h0Zm3.47-7.63c0,.41-.03.81-.09,1.21l.83.13c.13-.89.13-1.79,0-2.67l-.83.13c.06.4.09.81.09,1.21Zm.58,2.14l-.81-.2c-.19.79-.51,1.54-.93,2.24l.72.43c.46-.77.81-1.6,1.02-2.47h0Zm-7.44,5.85c-.8.12-1.62.12-2.42,0l-.13.83c.89.13,1.79.13,2.67,0l-.13-.83Zm5.29-3.2c-.48.65-1.06,1.23-1.71,1.71l.5.67c.72-.53,1.36-1.16,1.89-1.88l-.67-.5Zm-1.71-11.29c.65.48,1.23,1.06,1.71,1.71l.67-.5c-.53-.72-1.17-1.35-1.88-1.88l-.5.67Zm-11.29,1.71c.48-.65,1.06-1.23,1.71-1.71l-.5-.67c-.72.53-1.35,1.17-1.88,1.88l.67.5Zm14.14.18l-.72.43c.42.7.73,1.45.93,2.24l.81-.2c-.21-.87-.56-1.7-1.02-2.46h0Zm-8.84-3.38c.8-.12,1.62-.12,2.42,0l.13-.83c-.89-.13-1.79-.13-2.67,0l.13.83Zm-4.86,15.38l-1.73.4.4-1.73-.81-.19-.4,1.73c-.07.28.02.58.22.78s.5.29.78.22l1.73-.39-.19-.82Zm-1.96-2.26l.81.19.28-1.2c-.41-.68-.71-1.42-.9-2.19l-.81.2c.18.74.46,1.45.82,2.12l-.2.88Zm3.9,1.81l-1.19.28.19.81.88-.2c.67.36,1.38.64,2.12.82l.2-.81c-.77-.19-1.51-.5-2.19-.9h0ZM10,2.75c-2.63,0-5.06,1.43-6.34,3.74s-1.19,5.12.21,7.36l-.7,2.97,2.97-.7c2.61,1.64,5.96,1.46,8.37-.46s3.34-5.15,2.32-8.06c-1.02-2.91-3.77-4.85-6.85-4.85Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="m10,1.09C5.08,1.09,1.09,5.08,1.09,10s3.99,8.91,8.91,8.91,8.91-3.99,8.91-8.91S14.92,1.09,10,1.09Zm4.25,5.8c-.03.36-.23,1.62-.44,2.99-.31,1.93-.64,4.04-.64,4.04,0,0-.05.59-.49.7s-1.16-.36-1.29-.46c-.1-.08-1.93-1.24-2.6-1.8-.18-.15-.39-.46.03-.82.93-.85,2.04-1.91,2.7-2.58.31-.31.62-1.03-.67-.15-1.83,1.26-3.63,2.45-3.63,2.45,0,0-.41.26-1.19.03-.77-.23-1.67-.54-1.67-.54,0,0-.62-.39.44-.8h0s4.46-1.83,6-2.47c.59-.26,2.6-1.08,2.6-1.08,0,0,.93-.36.85.52Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="m14.47,9.29c-.08-.04-.16-.08-.25-.11-.14-2.66-1.6-4.18-4.04-4.2-.01,0-.02,0-.03,0-1.46,0-2.67.62-3.42,1.76l1.34.92c.56-.85,1.43-1.03,2.08-1.03,0,0,.01,0,.02,0,.8,0,1.41.24,1.8.69.29.33.48.79.57,1.37-.71-.12-1.48-.16-2.31-.11-2.32.13-3.81,1.49-3.71,3.37.05.95.53,1.77,1.34,2.31.69.45,1.57.67,2.49.62,1.21-.07,2.16-.53,2.83-1.38.5-.64.82-1.48.96-2.52.58.35,1.01.81,1.24,1.36.4.94.43,2.48-.83,3.74-1.1,1.1-2.43,1.58-4.43,1.59-2.22-.02-3.9-.73-4.99-2.12-1.02-1.3-1.55-3.18-1.57-5.58.02-2.4.55-4.28,1.57-5.58,1.09-1.39,2.77-2.1,4.99-2.12,2.24.02,3.95.73,5.08,2.13.56.68.98,1.54,1.25,2.55l1.57-.42c-.33-1.23-.86-2.3-1.58-3.18-1.45-1.79-3.58-2.7-6.32-2.72h-.01c-2.73.02-4.84.94-6.25,2.73-1.26,1.6-1.9,3.82-1.93,6.61h0s0,.01,0,.01c.02,2.79.67,5.01,1.93,6.61,1.41,1.8,3.51,2.71,6.25,2.73h.01c2.43-.02,4.14-.65,5.55-2.06,1.85-1.84,1.79-4.16,1.18-5.58-.44-1.02-1.27-1.84-2.41-2.39Zm-4.2,3.95c-1.02.06-2.07-.4-2.12-1.38-.04-.72.52-1.53,2.19-1.63.19-.01.38-.02.56-.02.61,0,1.17.06,1.69.17-.19,2.41-1.32,2.8-2.32,2.85Z"/>
|
|
3
|
+
</svg>
|
|
@@ -101,9 +101,7 @@ export default {
|
|
|
101
101
|
|
|
102
102
|
self: true,
|
|
103
103
|
|
|
104
|
-
handler
|
|
105
|
-
this.showControls();
|
|
106
|
-
},
|
|
104
|
+
handler: 'showControls',
|
|
107
105
|
},
|
|
108
106
|
|
|
109
107
|
{
|
|
@@ -132,9 +130,7 @@ export default {
|
|
|
132
130
|
{
|
|
133
131
|
name: 'keyup',
|
|
134
132
|
|
|
135
|
-
el()
|
|
136
|
-
return document;
|
|
137
|
-
},
|
|
133
|
+
el: () => document,
|
|
138
134
|
|
|
139
135
|
handler({ keyCode }) {
|
|
140
136
|
if (!this.isToggled(this.$el) || !this.draggable) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css, isVisible, parent, query, scrollParent, scrolledOver, toPx } from 'uikit-util';
|
|
2
2
|
import { resize, scroll, viewport } from '../api/observables';
|
|
3
|
-
import Parallax from '../mixin/parallax';
|
|
3
|
+
import Parallax, { ease } from '../mixin/parallax';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
mixins: [Parallax],
|
|
@@ -80,25 +80,6 @@ export default {
|
|
|
80
80
|
},
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
/*
|
|
84
|
-
* Inspired by https://gist.github.com/gre/1650294?permalink_comment_id=3477425#gistcomment-3477425
|
|
85
|
-
*
|
|
86
|
-
* linear: 0
|
|
87
|
-
* easeInSine: 0.5
|
|
88
|
-
* easeOutSine: -0.5
|
|
89
|
-
* easeInQuad: 1
|
|
90
|
-
* easeOutQuad: -1
|
|
91
|
-
* easeInCubic: 2
|
|
92
|
-
* easeOutCubic: -2
|
|
93
|
-
* easeInQuart: 3
|
|
94
|
-
* easeOutQuart: -3
|
|
95
|
-
* easeInQuint: 4
|
|
96
|
-
* easeOutQuint: -4
|
|
97
|
-
*/
|
|
98
|
-
function ease(percent, easing) {
|
|
99
|
-
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
83
|
// SVG elements do not inherit from HTMLElement
|
|
103
84
|
function getOffsetElement(el) {
|
|
104
85
|
return el ? ('offsetTop' in el ? el : getOffsetElement(parent(el))) : document.documentElement;
|
|
@@ -22,12 +22,13 @@ import {
|
|
|
22
22
|
import { resize } from '../api/observables';
|
|
23
23
|
import Class from '../mixin/class';
|
|
24
24
|
import Slider, { speedUp } from '../mixin/slider';
|
|
25
|
+
import SliderParallax from '../mixin/slider-parallax';
|
|
25
26
|
import SliderReactive from '../mixin/slider-reactive';
|
|
26
27
|
import SliderPreload from './internal/slider-preload';
|
|
27
28
|
import Transitioner, { getMax, getWidth } from './internal/slider-transitioner';
|
|
28
29
|
|
|
29
30
|
export default {
|
|
30
|
-
mixins: [Class, Slider, SliderReactive, SliderPreload],
|
|
31
|
+
mixins: [Class, Slider, SliderReactive, SliderParallax, SliderPreload],
|
|
31
32
|
|
|
32
33
|
props: {
|
|
33
34
|
center: Boolean,
|
|
@@ -45,10 +46,6 @@ export default {
|
|
|
45
46
|
},
|
|
46
47
|
|
|
47
48
|
computed: {
|
|
48
|
-
avgWidth() {
|
|
49
|
-
return getWidth(this.list) / this.length;
|
|
50
|
-
},
|
|
51
|
-
|
|
52
49
|
finite({ finite }) {
|
|
53
50
|
return finite || isFinite(this.list, this.center);
|
|
54
51
|
},
|
|
@@ -76,7 +73,7 @@ export default {
|
|
|
76
73
|
},
|
|
77
74
|
|
|
78
75
|
sets({ sets: enabled }) {
|
|
79
|
-
if (!enabled) {
|
|
76
|
+
if (!enabled || this.parallax) {
|
|
80
77
|
return;
|
|
81
78
|
}
|
|
82
79
|
|
|
@@ -93,7 +90,9 @@ export default {
|
|
|
93
90
|
if (this.center) {
|
|
94
91
|
if (
|
|
95
92
|
left < width / 2 &&
|
|
96
|
-
left +
|
|
93
|
+
left +
|
|
94
|
+
slideWidth +
|
|
95
|
+
dimensions(this.slides[getIndex(+i + 1, this.slides)]).width / 2 >
|
|
97
96
|
width / 2
|
|
98
97
|
) {
|
|
99
98
|
sets.push(+i);
|
|
@@ -143,11 +142,7 @@ export default {
|
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
144
|
|
|
146
|
-
|
|
147
|
-
this.reorder();
|
|
148
|
-
this._translate(1);
|
|
149
|
-
}
|
|
150
|
-
|
|
145
|
+
this.reorder();
|
|
151
146
|
this.updateActiveClasses();
|
|
152
147
|
},
|
|
153
148
|
|
|
@@ -185,9 +180,10 @@ export default {
|
|
|
185
180
|
|
|
186
181
|
const index =
|
|
187
182
|
this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex;
|
|
183
|
+
const avgWidth = getWidth(this.list) / this.length;
|
|
188
184
|
this.duration =
|
|
189
|
-
speedUp(
|
|
190
|
-
(dimensions(this.slides[index]).width /
|
|
185
|
+
speedUp(avgWidth / this.velocity) *
|
|
186
|
+
(dimensions(this.slides[index]).width / avgWidth);
|
|
191
187
|
|
|
192
188
|
this.reorder();
|
|
193
189
|
},
|
|
@@ -196,6 +192,7 @@ export default {
|
|
|
196
192
|
if (~this.prevIndex) {
|
|
197
193
|
addClass(this._getTransitioner().getItemIn(), this.clsActive);
|
|
198
194
|
}
|
|
195
|
+
this.updateActiveClasses(this.prevIndex);
|
|
199
196
|
},
|
|
200
197
|
|
|
201
198
|
itemshown() {
|
|
@@ -237,12 +234,12 @@ export default {
|
|
|
237
234
|
}
|
|
238
235
|
},
|
|
239
236
|
|
|
240
|
-
updateActiveClasses() {
|
|
241
|
-
const actives = this._getTransitioner(
|
|
237
|
+
updateActiveClasses(currentIndex = this.index) {
|
|
238
|
+
const actives = this._getTransitioner(currentIndex).getActives();
|
|
239
|
+
|
|
242
240
|
const activeClasses = [
|
|
243
241
|
this.clsActive,
|
|
244
|
-
|
|
245
|
-
'',
|
|
242
|
+
!this.sets || includes(this.sets, toFloat(this.index)) ? this.clsActivated : '',
|
|
246
243
|
];
|
|
247
244
|
for (const slide of this.slides) {
|
|
248
245
|
const active = includes(actives, slide);
|
|
@@ -296,6 +293,29 @@ export default {
|
|
|
296
293
|
}
|
|
297
294
|
return Array.from(slides);
|
|
298
295
|
},
|
|
296
|
+
|
|
297
|
+
getIndexAt(percent) {
|
|
298
|
+
let index = -1;
|
|
299
|
+
const firstSlideWidth = dimensions(this.slides[0]).width;
|
|
300
|
+
const lastSlideWidth = dimensions(last(this.slides)).width;
|
|
301
|
+
const scrollDist =
|
|
302
|
+
getWidth(this.list) -
|
|
303
|
+
(this.center ? firstSlideWidth / 2 + lastSlideWidth / 2 : lastSlideWidth);
|
|
304
|
+
|
|
305
|
+
let dist = percent * scrollDist;
|
|
306
|
+
let slidePercent = 0;
|
|
307
|
+
|
|
308
|
+
do {
|
|
309
|
+
const slideWidth = dimensions(this.slides[++index]).width;
|
|
310
|
+
const slideDist = this.center
|
|
311
|
+
? slideWidth / 2 + dimensions(this.slides[index + 1]).width / 2
|
|
312
|
+
: slideWidth;
|
|
313
|
+
slidePercent = (dist / slideDist) % 1;
|
|
314
|
+
dist -= slideDist;
|
|
315
|
+
} while (dist >= 0 && index < this.maxIndex);
|
|
316
|
+
|
|
317
|
+
return [index, slidePercent];
|
|
318
|
+
},
|
|
299
319
|
},
|
|
300
320
|
};
|
|
301
321
|
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { css } from 'uikit-util';
|
|
2
2
|
import Class from '../mixin/class';
|
|
3
|
+
import SliderParallax from '../mixin/slider-parallax';
|
|
3
4
|
import SliderReactive from '../mixin/slider-reactive';
|
|
4
5
|
import Slideshow from '../mixin/slideshow';
|
|
5
6
|
import SliderPreload from './internal/slider-preload';
|
|
6
7
|
import Animations from './internal/slideshow-animations';
|
|
7
8
|
|
|
8
|
-
const supportsAspectRatio = inBrowser && CSS.supports('aspect-ratio', '1/1');
|
|
9
|
-
|
|
10
9
|
export default {
|
|
11
|
-
mixins: [Class, Slideshow, SliderReactive, SliderPreload],
|
|
10
|
+
mixins: [Class, Slideshow, SliderReactive, SliderParallax, SliderPreload],
|
|
12
11
|
|
|
13
12
|
props: {
|
|
14
13
|
ratio: String,
|
|
15
|
-
minHeight:
|
|
16
|
-
maxHeight:
|
|
14
|
+
minHeight: String,
|
|
15
|
+
maxHeight: String,
|
|
17
16
|
},
|
|
18
17
|
|
|
19
18
|
data: {
|
|
20
19
|
ratio: '16:9',
|
|
21
|
-
minHeight:
|
|
22
|
-
maxHeight:
|
|
20
|
+
minHeight: undefined,
|
|
21
|
+
maxHeight: undefined,
|
|
23
22
|
selList: '.uk-slideshow-items',
|
|
24
23
|
attrItem: 'uk-slideshow-item',
|
|
25
24
|
selNav: '.uk-slideshow-nav',
|
|
@@ -28,45 +27,14 @@ export default {
|
|
|
28
27
|
|
|
29
28
|
watch: {
|
|
30
29
|
list(list) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
update: {
|
|
44
|
-
// deprecated: Remove with iOS 17
|
|
45
|
-
read() {
|
|
46
|
-
if (!this.list || supportsAspectRatio) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let [width, height] = this.ratio.split(':').map(Number);
|
|
51
|
-
|
|
52
|
-
height = (height * this.list.offsetWidth) / width || 0;
|
|
53
|
-
|
|
54
|
-
if (this.minHeight) {
|
|
55
|
-
height = Math.max(this.minHeight, height);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (this.maxHeight) {
|
|
59
|
-
height = Math.min(this.maxHeight, height);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return { height: height - boxModelAdjust(this.list, 'height', 'content-box') };
|
|
30
|
+
css(list, {
|
|
31
|
+
aspectRatio: this.ratio ? this.ratio.replace(':', '/') : undefined,
|
|
32
|
+
minHeight: this.minHeight,
|
|
33
|
+
maxHeight: this.maxHeight,
|
|
34
|
+
minWidth: '100%',
|
|
35
|
+
maxWidth: '100%',
|
|
36
|
+
});
|
|
63
37
|
},
|
|
64
|
-
|
|
65
|
-
write({ height }) {
|
|
66
|
-
height > 0 && css(this.list, 'minHeight', height);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
events: ['resize'],
|
|
70
38
|
},
|
|
71
39
|
|
|
72
40
|
methods: {
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
before,
|
|
9
9
|
children,
|
|
10
10
|
css,
|
|
11
|
+
dimensions,
|
|
11
12
|
findIndex,
|
|
12
13
|
getEventPos,
|
|
13
14
|
hasTouch,
|
|
@@ -208,7 +209,7 @@ export default {
|
|
|
208
209
|
|
|
209
210
|
start(e) {
|
|
210
211
|
this.drag = appendDrag(this.$container, this.placeholder);
|
|
211
|
-
const { left, top } = this.placeholder
|
|
212
|
+
const { left, top } = dimensions(this.placeholder);
|
|
212
213
|
assign(this.origin, { offsetLeft: this.pos.x - left, offsetTop: this.pos.y - top });
|
|
213
214
|
|
|
214
215
|
addClass(this.drag, this.clsDrag, this.clsCustom);
|
|
@@ -365,7 +366,7 @@ function appendDrag(container, element) {
|
|
|
365
366
|
}
|
|
366
367
|
|
|
367
368
|
function findTarget(items, point) {
|
|
368
|
-
return items[findIndex(items, (item) => pointInRect(point, item
|
|
369
|
+
return items[findIndex(items, (item) => pointInRect(point, dimensions(item)))];
|
|
369
370
|
}
|
|
370
371
|
|
|
371
372
|
function findInsertTarget(list, target, placeholder, x, y, sameList) {
|
|
@@ -373,7 +374,7 @@ function findInsertTarget(list, target, placeholder, x, y, sameList) {
|
|
|
373
374
|
return;
|
|
374
375
|
}
|
|
375
376
|
|
|
376
|
-
const rect = target
|
|
377
|
+
const rect = dimensions(target);
|
|
377
378
|
if (!sameList) {
|
|
378
379
|
if (!isHorizontal(list, placeholder)) {
|
|
379
380
|
return y < rect.top + rect.height / 2 ? target : target.nextElementSibling;
|
|
@@ -382,7 +383,7 @@ function findInsertTarget(list, target, placeholder, x, y, sameList) {
|
|
|
382
383
|
return target;
|
|
383
384
|
}
|
|
384
385
|
|
|
385
|
-
const placeholderRect = placeholder
|
|
386
|
+
const placeholderRect = dimensions(placeholder);
|
|
386
387
|
const sameRow = linesIntersect(
|
|
387
388
|
[rect.top, rect.bottom],
|
|
388
389
|
[placeholderRect.top, placeholderRect.bottom],
|
|
@@ -421,9 +422,9 @@ function isHorizontal(list, placeholder) {
|
|
|
421
422
|
|
|
422
423
|
const items = children(list);
|
|
423
424
|
const isHorizontal = items.some((el, i) => {
|
|
424
|
-
const rectA = el
|
|
425
|
+
const rectA = dimensions(el);
|
|
425
426
|
return items.slice(i + 1).some((el) => {
|
|
426
|
-
const rectB = el
|
|
427
|
+
const rectB = dimensions(el);
|
|
427
428
|
return !linesIntersect([rectA.left, rectA.right], [rectB.left, rectB.right]);
|
|
428
429
|
});
|
|
429
430
|
});
|
|
@@ -169,13 +169,7 @@ function getAlignment(el, target, [dir, align]) {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
const props = includes(properties[0], dir) ? properties[1] : properties[0];
|
|
172
|
-
|
|
173
|
-
align = props[0];
|
|
174
|
-
} else if (elOffset[props[1]] === targetOffset[props[1]]) {
|
|
175
|
-
align = props[1];
|
|
176
|
-
} else {
|
|
177
|
-
align = 'center';
|
|
178
|
-
}
|
|
172
|
+
align = props.find((prop) => elOffset[prop] === targetOffset[prop]) || 'center';
|
|
179
173
|
|
|
180
174
|
return [dir, align];
|
|
181
175
|
}
|
package/src/js/core/accordion.js
CHANGED
|
@@ -235,7 +235,7 @@ function keepScrollPosition(el) {
|
|
|
235
235
|
let frame;
|
|
236
236
|
(function scroll() {
|
|
237
237
|
frame = requestAnimationFrame(() => {
|
|
238
|
-
const { top } = el
|
|
238
|
+
const { top } = dimensions(el);
|
|
239
239
|
if (top < 0) {
|
|
240
240
|
scrollElement.scrollTop += top;
|
|
241
241
|
}
|
package/src/js/core/drop.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
$,
|
|
3
|
+
MouseTracker,
|
|
3
4
|
addClass,
|
|
4
5
|
append,
|
|
5
6
|
apply,
|
|
@@ -10,7 +11,6 @@ import {
|
|
|
10
11
|
isSameSiteAnchor,
|
|
11
12
|
isTouch,
|
|
12
13
|
matches,
|
|
13
|
-
MouseTracker,
|
|
14
14
|
observeResize,
|
|
15
15
|
observeViewportResize,
|
|
16
16
|
offset,
|
|
@@ -31,10 +31,10 @@ import {
|
|
|
31
31
|
} from 'uikit-util';
|
|
32
32
|
import { lazyload } from '../api/observables';
|
|
33
33
|
import Container from '../mixin/container';
|
|
34
|
-
import { preventBackgroundScroll } from '../mixin/internal/scroll';
|
|
35
34
|
import Position from '../mixin/position';
|
|
36
35
|
import Togglable from '../mixin/togglable';
|
|
37
36
|
import { keyMap } from '../util/keys';
|
|
37
|
+
import { preventBackgroundScroll } from '../util/scroll';
|
|
38
38
|
|
|
39
39
|
export let active;
|
|
40
40
|
|
|
@@ -291,9 +291,7 @@ export default {
|
|
|
291
291
|
|
|
292
292
|
self: true,
|
|
293
293
|
|
|
294
|
-
handler
|
|
295
|
-
this.clearTimers();
|
|
296
|
-
},
|
|
294
|
+
handler: 'clearTimers',
|
|
297
295
|
},
|
|
298
296
|
|
|
299
297
|
{
|
package/src/js/core/dropnav.js
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
remove,
|
|
20
20
|
selFocusable,
|
|
21
21
|
toFloat,
|
|
22
|
+
toPx,
|
|
22
23
|
Transition,
|
|
23
24
|
} from 'uikit-util';
|
|
24
25
|
import Class from '../mixin/class';
|
|
@@ -75,8 +76,13 @@ export default {
|
|
|
75
76
|
return dropbar ? dropbar : (this._dropbar = $('<div></div>'));
|
|
76
77
|
},
|
|
77
78
|
|
|
78
|
-
dropbarOffset() {
|
|
79
|
-
|
|
79
|
+
dropbarOffset({ target, targetY }, $el) {
|
|
80
|
+
const { offsetTop, offsetHeight } = query(targetY || target || $el, $el);
|
|
81
|
+
return offsetTop + offsetHeight + this.dropbarPositionOffset;
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
dropbarPositionOffset(_, $el) {
|
|
85
|
+
return toPx(css($el, '--uk-position-offset'));
|
|
80
86
|
},
|
|
81
87
|
|
|
82
88
|
dropContainer(_, $el) {
|
|
@@ -287,22 +293,15 @@ export default {
|
|
|
287
293
|
|
|
288
294
|
const drop = this.getDropdown(target);
|
|
289
295
|
const adjustHeight = () => {
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
const maxBottom = Math.max(...targetOffsets.map(({ bottom }) => bottom));
|
|
295
|
-
const dropbarOffset = offset(this.dropbar);
|
|
296
|
-
css(
|
|
297
|
-
this.dropbar,
|
|
298
|
-
'top',
|
|
299
|
-
this.dropbar.offsetTop - (dropbarOffset.top - minTop) - this.dropbarOffset,
|
|
296
|
+
const maxBottom = Math.max(
|
|
297
|
+
...parents(target, `.${this.clsDrop}`)
|
|
298
|
+
.concat(target)
|
|
299
|
+
.map((el) => offset(el).bottom),
|
|
300
300
|
);
|
|
301
|
+
|
|
302
|
+
css(this.dropbar, 'top', this.dropbarOffset);
|
|
301
303
|
this.transitionTo(
|
|
302
|
-
maxBottom -
|
|
303
|
-
minTop +
|
|
304
|
-
toFloat(css(target, 'marginBottom')) +
|
|
305
|
-
this.dropbarOffset,
|
|
304
|
+
maxBottom - offset(this.dropbar).top + toFloat(css(target, 'marginBottom')),
|
|
306
305
|
target,
|
|
307
306
|
);
|
|
308
307
|
};
|
|
@@ -377,6 +376,13 @@ export default {
|
|
|
377
376
|
|
|
378
377
|
await Transition.cancel([el, dropbar]);
|
|
379
378
|
|
|
379
|
+
if (el) {
|
|
380
|
+
const diff = offset(el).top - offset(dropbar).top - oldHeight;
|
|
381
|
+
if (diff > 0) {
|
|
382
|
+
css(el, 'transitionDelay', `${(diff / newHeight) * this.duration}ms`);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
380
386
|
css(el, 'clipPath', `polygon(0 0,100% 0,100% ${oldHeight}px,0 ${oldHeight}px)`);
|
|
381
387
|
height(dropbar, oldHeight);
|
|
382
388
|
|
|
@@ -384,11 +390,9 @@ export default {
|
|
|
384
390
|
Transition.start(dropbar, { height: newHeight }, this.duration),
|
|
385
391
|
Transition.start(
|
|
386
392
|
el,
|
|
387
|
-
{
|
|
388
|
-
clipPath: `polygon(0 0,100% 0,100% ${newHeight}px,0 ${newHeight}px)`,
|
|
389
|
-
},
|
|
393
|
+
{ clipPath: `polygon(0 0,100% 0,100% ${newHeight}px,0 ${newHeight}px)` },
|
|
390
394
|
this.duration,
|
|
391
|
-
).finally(() => css(el, { clipPath: '' })),
|
|
395
|
+
).finally(() => css(el, { clipPath: '', transitionDelay: '' })),
|
|
392
396
|
]).catch(noop);
|
|
393
397
|
},
|
|
394
398
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $$, boxModelAdjust, css,
|
|
1
|
+
import { $$, boxModelAdjust, css, isVisible, pick } from 'uikit-util';
|
|
2
2
|
import { resize } from '../api/observables';
|
|
3
3
|
import { getRows } from './margin';
|
|
4
4
|
|
|
@@ -50,7 +50,11 @@ function match(elements) {
|
|
|
50
50
|
const max = Math.max(...heights);
|
|
51
51
|
|
|
52
52
|
return {
|
|
53
|
-
heights: elements.map((el, i) =>
|
|
53
|
+
heights: elements.map((el, i) =>
|
|
54
|
+
heights[i].toFixed(2) === max.toFixed(2)
|
|
55
|
+
? ''
|
|
56
|
+
: max - boxModelAdjust(el, 'height', 'content-box'),
|
|
57
|
+
),
|
|
54
58
|
elements,
|
|
55
59
|
};
|
|
56
60
|
}
|
|
@@ -62,7 +66,7 @@ function getHeight(element) {
|
|
|
62
66
|
css(element, 'display', 'block', 'important');
|
|
63
67
|
}
|
|
64
68
|
css(element, 'minHeight', '');
|
|
65
|
-
const height =
|
|
69
|
+
const height = element.offsetHeight;
|
|
66
70
|
css(element, style);
|
|
67
71
|
return height;
|
|
68
72
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { css, height, query } from 'uikit-util';
|
|
2
|
+
import { resize } from '../api/observables';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
args: 'target',
|
|
6
|
+
|
|
7
|
+
props: {
|
|
8
|
+
target: String,
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
data: {
|
|
12
|
+
target: '',
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
computed: {
|
|
16
|
+
target: ({ target }, $el) => query(target, $el),
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
observe: resize({ target: ({ target }) => target }),
|
|
20
|
+
|
|
21
|
+
update: {
|
|
22
|
+
read() {
|
|
23
|
+
return { height: height(this.target) };
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
write({ height }) {
|
|
27
|
+
css(this.$el, { minHeight: height });
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
events: ['resize'],
|
|
31
|
+
},
|
|
32
|
+
};
|