ku4web-components 6.4.81 → 6.4.82
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/dist/cjs/{index-a9159bd6.js → index-a7b6d98c.js} +1 -1
- package/dist/cjs/ku4-carousel-controls.cjs.entry.js +2 -2
- package/dist/cjs/ku4-carousel-slide.cjs.entry.js +1 -1
- package/dist/cjs/ku4-carousel.cjs.entry.js +3 -3
- package/dist/cjs/ku4-col.cjs.entry.js +1 -1
- package/dist/cjs/ku4-drawer.cjs.entry.js +1 -1
- package/dist/cjs/ku4-feature.cjs.entry.js +2 -2
- package/dist/cjs/ku4-focus-trap.cjs.entry.js +26 -26
- package/dist/cjs/ku4-form.cjs.entry.js +3 -3
- package/dist/cjs/ku4-grid.cjs.entry.js +1 -1
- package/dist/cjs/ku4-label.cjs.entry.js +2 -2
- package/dist/cjs/ku4-mask.cjs.entry.js +2 -2
- package/dist/cjs/ku4-modal.cjs.entry.js +3 -3
- package/dist/cjs/ku4-panel.cjs.entry.js +1 -1
- package/dist/cjs/ku4-preview.cjs.entry.js +14 -43
- package/dist/cjs/ku4-tab-list.cjs.entry.js +4 -4
- package/dist/cjs/ku4-tab-panel.cjs.entry.js +3 -3
- package/dist/cjs/ku4-tab.cjs.entry.js +3 -3
- package/dist/cjs/ku4-table.cjs.entry.js +1 -1
- package/dist/cjs/ku4-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/ku4-validation.cjs.entry.js +2 -2
- package/dist/cjs/ku4web-components.cjs.js +8 -103
- package/dist/cjs/loader.cjs.js +3 -19
- package/dist/cjs/{shadow-css-c44ea13a.js → shadow-css-78860e39.js} +1 -1
- package/dist/esm/{index-26cde78a.js → index-81a98b72.js} +1 -1
- package/dist/esm/ku4-carousel-controls.entry.js +2 -2
- package/dist/esm/ku4-carousel-slide.entry.js +1 -1
- package/dist/esm/ku4-carousel.entry.js +3 -3
- package/dist/esm/ku4-col.entry.js +1 -1
- package/dist/esm/ku4-drawer.entry.js +1 -1
- package/dist/esm/ku4-feature.entry.js +2 -2
- package/dist/esm/ku4-focus-trap.entry.js +3 -3
- package/dist/esm/ku4-form.entry.js +3 -3
- package/dist/esm/ku4-grid.entry.js +1 -1
- package/dist/esm/ku4-label.entry.js +2 -2
- package/dist/esm/ku4-mask.entry.js +2 -2
- package/dist/esm/ku4-modal.entry.js +3 -3
- package/dist/esm/ku4-panel.entry.js +1 -1
- package/dist/esm/ku4-preview.entry.js +5 -34
- package/dist/esm/ku4-tab-list.entry.js +4 -4
- package/dist/esm/ku4-tab-panel.entry.js +3 -3
- package/dist/esm/ku4-tab.entry.js +3 -3
- package/dist/esm/ku4-table.entry.js +1 -1
- package/dist/esm/ku4-tooltip.entry.js +2 -2
- package/dist/esm/ku4-validation.entry.js +2 -2
- package/dist/esm/ku4web-components.js +8 -103
- package/dist/esm/loader.js +3 -19
- package/dist/{ku4web-components/shadow-css-ef431969.js → esm/shadow-css-4d56fa31.js} +1 -1
- package/dist/esm-es5/{index-26cde78a.js → index-81a98b72.js} +1 -1
- package/dist/esm-es5/ku4-carousel-controls.entry.js +1 -1
- package/dist/esm-es5/ku4-carousel-slide.entry.js +1 -1
- package/dist/esm-es5/ku4-carousel.entry.js +1 -1
- package/dist/esm-es5/ku4-col.entry.js +1 -1
- package/dist/esm-es5/ku4-drawer.entry.js +1 -1
- package/dist/esm-es5/ku4-feature.entry.js +1 -1
- package/dist/esm-es5/ku4-focus-trap.entry.js +1 -1
- package/dist/esm-es5/ku4-form.entry.js +1 -1
- package/dist/esm-es5/ku4-grid.entry.js +1 -1
- package/dist/esm-es5/ku4-label.entry.js +1 -1
- package/dist/esm-es5/ku4-mask.entry.js +1 -1
- package/dist/esm-es5/ku4-modal.entry.js +1 -1
- package/dist/esm-es5/ku4-panel.entry.js +1 -1
- package/dist/esm-es5/ku4-preview.entry.js +1 -1
- package/dist/esm-es5/ku4-tab-list.entry.js +1 -1
- package/dist/esm-es5/ku4-tab-panel.entry.js +1 -1
- package/dist/esm-es5/ku4-tab.entry.js +1 -1
- package/dist/esm-es5/ku4-table.entry.js +1 -1
- package/dist/esm-es5/ku4-tooltip.entry.js +1 -1
- package/dist/esm-es5/ku4-validation.entry.js +1 -1
- package/dist/esm-es5/ku4web-components.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{shadow-css-ef431969.js → shadow-css-4d56fa31.js} +0 -0
- package/dist/index.js +1 -1
- package/dist/ku4web-components/index.esm.js +0 -1
- package/dist/ku4web-components/ku4web-components.css +1 -299
- package/dist/ku4web-components/ku4web-components.esm.js +1 -129
- package/dist/ku4web-components/ku4web-components.js +1 -1
- package/dist/ku4web-components/{p-5d6cf40f.system.entry.js → p-02328d34.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-5eb48119.system.entry.js → p-050f184b.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-ca547c71.system.entry.js → p-073cefec.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-e10de631.entry.js → p-097ba217.entry.js} +1 -1
- package/dist/ku4web-components/{p-2a6d5089.entry.js → p-0adeb8e4.entry.js} +1 -1
- package/dist/ku4web-components/{p-6d63d17d.entry.js → p-0ce97586.entry.js} +1 -1
- package/dist/ku4web-components/p-0f77bef9.system.js +1 -0
- package/dist/ku4web-components/{p-0e222607.system.entry.js → p-136e5a03.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-2300b0b7.system.entry.js → p-1d5a1caf.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-b3bdc458.system.entry.js → p-288482da.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-f0e309a9.system.entry.js → p-32e9a8d0.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-801fab11.system.entry.js → p-3a0d1ff7.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-b60c60e4.entry.js → p-3f147a02.entry.js} +1 -1
- package/dist/ku4web-components/{p-8c0cb5c1.entry.js → p-3f2a008c.entry.js} +1 -1
- package/dist/ku4web-components/{p-25ca27d4.entry.js → p-3f4082d5.entry.js} +1 -1
- package/dist/ku4web-components/{p-94dd5fad.entry.js → p-49275772.entry.js} +1 -1
- package/dist/ku4web-components/{p-0cc659d9.system.entry.js → p-524cef27.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-64bcfdeb.system.entry.js → p-52d815ab.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-92bc6bf1.system.entry.js → p-596beaad.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-6f47f245.entry.js → p-5f9d0077.entry.js} +1 -1
- package/dist/ku4web-components/{p-993123b6.entry.js → p-5fcea805.entry.js} +1 -1
- package/dist/ku4web-components/{p-e6937d21.entry.js → p-61214088.entry.js} +1 -1
- package/dist/ku4web-components/{p-57ec7c89.entry.js → p-66b8247f.entry.js} +1 -1
- package/dist/ku4web-components/{p-341081d6.system.entry.js → p-6b9e3523.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-03d6fb35.system.entry.js → p-6cfd9011.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-e29d66a7.system.entry.js → p-7bfc256a.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-dc35b1af.entry.js → p-818caf0f.entry.js} +1 -1
- package/dist/ku4web-components/{p-df1544c7.entry.js → p-8642aef5.entry.js} +1 -1
- package/dist/ku4web-components/{p-b10887b2.js → p-881e100a.js} +0 -0
- package/dist/ku4web-components/{p-db493d59.system.entry.js → p-95698618.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-e2ae0504.system.js → p-96ec7b4f.system.js} +1 -1
- package/dist/ku4web-components/{p-d6f80a73.system.entry.js → p-a0d0c99e.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-75161edb.system.entry.js → p-acb43765.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-c646a177.entry.js → p-b47bb3d0.entry.js} +1 -1
- package/dist/ku4web-components/p-c798faf2.entry.js +1 -0
- package/dist/ku4web-components/{p-0c05c4ad.entry.js → p-cd0d0b40.entry.js} +1 -1
- package/dist/ku4web-components/{p-deb02b56.entry.js → p-cd4cdcbb.entry.js} +1 -1
- package/dist/ku4web-components/{p-c459bbb7.entry.js → p-d17f65a6.entry.js} +1 -1
- package/dist/ku4web-components/{p-01ae9e4c.system.entry.js → p-d848909c.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-c62c66be.entry.js → p-d8868855.entry.js} +1 -1
- package/dist/ku4web-components/{p-0ded083e.js → p-e6b3a708.js} +1 -1
- package/dist/ku4web-components/{p-9f1bc248.system.entry.js → p-ea4b32de.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-55d15007.entry.js → p-f3fbe1e6.entry.js} +1 -1
- package/dist/ku4web-components/{p-6bf18c7c.system.js → p-fbf3ad1e.system.js} +0 -0
- package/dist/ku4web-components/{p-6c5699e3.system.entry.js → p-fc0c3bf4.system.entry.js} +1 -1
- package/package.json +4 -4
- package/dist/cjs/app-globals-3a1e7e63.js +0 -5
- package/dist/cjs/css-shim-aaf4fec9.js +0 -6
- package/dist/cjs/dom-14886762.js +0 -75
- package/dist/cjs/index-652a3cbf.js +0 -14
- package/dist/cjs/index-8e9e8864.js +0 -3093
- package/dist/cjs/index-c904eb3a.js +0 -10
- package/dist/cjs/uid-eb3bec28.js +0 -11
- package/dist/collection/capabilities/a11y/aria.js +0 -26
- package/dist/collection/capabilities/angular/index.js +0 -24
- package/dist/collection/capabilities/decorators/deprecated.js +0 -20
- package/dist/collection/capabilities/decorators/index.js +0 -3
- package/dist/collection/capabilities/decorators/memoize.js +0 -7
- package/dist/collection/capabilities/dom/isFocusable.js +0 -7
- package/dist/collection/capabilities/dom/queryFocusable.js +0 -2
- package/dist/collection/capabilities/identity/uid.js +0 -6
- package/dist/collection/capabilities/mask/index.js +0 -5
- package/dist/collection/capabilities/mask/patterns/date.js +0 -40
- package/dist/collection/capabilities/mask/patterns/index.js +0 -7
- package/dist/collection/capabilities/react/index.js +0 -25
- package/dist/collection/capabilities/testing/html.js +0 -14
- package/dist/collection/capabilities/testing/styles.js +0 -14
- package/dist/collection/capabilities/vue/index.js +0 -28
- package/dist/collection/capabilities/vue3/index.js +0 -26
- package/dist/collection/collection-manifest.json +0 -31
- package/dist/collection/components/ku4-carousel/ku4-carousel.css +0 -221
- package/dist/collection/components/ku4-carousel/ku4-carousel.js +0 -362
- package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.css +0 -32
- package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.js +0 -112
- package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.css +0 -3
- package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.js +0 -159
- package/dist/collection/components/ku4-col/ku4-col.css +0 -601
- package/dist/collection/components/ku4-col/ku4-col.js +0 -288
- package/dist/collection/components/ku4-drawer/ku4-drawer.css +0 -56
- package/dist/collection/components/ku4-drawer/ku4-drawer.js +0 -163
- package/dist/collection/components/ku4-feature/ku4-feature.js +0 -70
- package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.css +0 -3
- package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.js +0 -441
- package/dist/collection/components/ku4-form/ku4-form.js +0 -225
- package/dist/collection/components/ku4-grid/ku4-grid.css +0 -751
- package/dist/collection/components/ku4-grid/ku4-grid.js +0 -408
- package/dist/collection/components/ku4-label/ku4-label.css +0 -36
- package/dist/collection/components/ku4-label/ku4-label.js +0 -115
- package/dist/collection/components/ku4-mask/ku4-mask.css +0 -3
- package/dist/collection/components/ku4-mask/ku4-mask.js +0 -458
- package/dist/collection/components/ku4-modal/ku4-modal.css +0 -85
- package/dist/collection/components/ku4-modal/ku4-modal.js +0 -208
- package/dist/collection/components/ku4-panel/ku4-panel.css +0 -14
- package/dist/collection/components/ku4-panel/ku4-panel.js +0 -119
- package/dist/collection/components/ku4-preview/ku4-preview.css +0 -23
- package/dist/collection/components/ku4-preview/ku4-preview.js +0 -266
- package/dist/collection/components/ku4-tab/ku4-tab.css +0 -82
- package/dist/collection/components/ku4-tab/ku4-tab.js +0 -191
- package/dist/collection/components/ku4-tab-list/ku4-tab-list.css +0 -6
- package/dist/collection/components/ku4-tab-list/ku4-tab-list.js +0 -118
- package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.css +0 -26
- package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.js +0 -166
- package/dist/collection/components/ku4-table/ku4-table.css +0 -116
- package/dist/collection/components/ku4-table/ku4-table.js +0 -120
- package/dist/collection/components/ku4-tooltip/ku4-tooltip.css +0 -56
- package/dist/collection/components/ku4-tooltip/ku4-tooltip.js +0 -274
- package/dist/collection/components/ku4-validation/ku4-validation.css +0 -19
- package/dist/collection/components/ku4-validation/ku4-validation.js +0 -364
- package/dist/collection/components/ku4-validation/validate.js +0 -14
- package/dist/collection/index.js +0 -1
- package/dist/collection/security.js +0 -27
- package/dist/esm/app-globals-0f993ce5.js +0 -3
- package/dist/esm/css-shim-091f949f.js +0 -4
- package/dist/esm/dom-a385e381.js +0 -73
- package/dist/esm/index-3e1e5aa3.js +0 -3
- package/dist/esm/index-516c5188.js +0 -3057
- package/dist/esm/index-7ff6e718.js +0 -3
- package/dist/esm/shadow-css-ef431969.js +0 -388
- package/dist/esm/uid-9dbd7ad0.js +0 -9
- package/dist/ku4web-components/app-globals-0f993ce5.js +0 -3
- package/dist/ku4web-components/app-globals-497eb362.system.js +0 -1
- package/dist/ku4web-components/css-shim-091f949f.js +0 -4
- package/dist/ku4web-components/css-shim-c5bffe6b.system.js +0 -1
- package/dist/ku4web-components/dom-99eb7b76.system.js +0 -21
- package/dist/ku4web-components/dom-a385e381.js +0 -73
- package/dist/ku4web-components/index-380cbe3a.system.js +0 -1
- package/dist/ku4web-components/index-3e1e5aa3.js +0 -3
- package/dist/ku4web-components/index-516c5188.js +0 -3057
- package/dist/ku4web-components/index-7d482e8a.system.js +0 -1
- package/dist/ku4web-components/index-7ff6e718.js +0 -3
- package/dist/ku4web-components/index-fd0c89d0.system.js +0 -1
- package/dist/ku4web-components/index.system.js +0 -1
- package/dist/ku4web-components/ku4-carousel-controls.entry.js +0 -89
- package/dist/ku4web-components/ku4-carousel-controls.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-carousel-slide.entry.js +0 -47
- package/dist/ku4web-components/ku4-carousel-slide.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-carousel.entry.js +0 -168
- package/dist/ku4web-components/ku4-carousel.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-col.entry.js +0 -75
- package/dist/ku4web-components/ku4-col.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-drawer.entry.js +0 -35
- package/dist/ku4web-components/ku4-drawer.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-feature.entry.js +0 -29
- package/dist/ku4web-components/ku4-feature.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-focus-trap.entry.js +0 -323
- package/dist/ku4web-components/ku4-focus-trap.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-form.entry.js +0 -112
- package/dist/ku4web-components/ku4-form.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-grid.entry.js +0 -108
- package/dist/ku4web-components/ku4-grid.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-label.entry.js +0 -70
- package/dist/ku4web-components/ku4-label.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-mask.entry.js +0 -342
- package/dist/ku4web-components/ku4-mask.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-modal.entry.js +0 -75
- package/dist/ku4web-components/ku4-modal.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-panel.entry.js +0 -49
- package/dist/ku4web-components/ku4-panel.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-preview.entry.js +0 -128
- package/dist/ku4web-components/ku4-preview.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-tab-list.entry.js +0 -76
- package/dist/ku4web-components/ku4-tab-list.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-tab-panel.entry.js +0 -72
- package/dist/ku4web-components/ku4-tab-panel.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-tab.entry.js +0 -63
- package/dist/ku4web-components/ku4-tab.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-table.entry.js +0 -79
- package/dist/ku4web-components/ku4-table.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-tooltip.entry.js +0 -120
- package/dist/ku4web-components/ku4-tooltip.system.entry.js +0 -1
- package/dist/ku4web-components/ku4-validation.entry.js +0 -162
- package/dist/ku4web-components/ku4-validation.system.entry.js +0 -1
- package/dist/ku4web-components/ku4web-components.system.js +0 -1
- package/dist/ku4web-components/p-019be0a7.entry.js +0 -1
- package/dist/ku4web-components/p-e641f14e.system.js +0 -1
- package/dist/ku4web-components/shadow-css-27708fdd.system.js +0 -13
- package/dist/ku4web-components/uid-9dbd7ad0.js +0 -9
- package/dist/ku4web-components/uid-fb867945.system.js +0 -1
@@ -1,362 +0,0 @@
|
|
1
|
-
import { Component, Host, Prop, State, Method, Element, h, Event } from '@stencil/core';
|
2
|
-
import { Rolodex, Interval, wait } from 'ku4es-kernel';
|
3
|
-
import { Swipe } from 'ku4es-ui-kernel';
|
4
|
-
/**
|
5
|
-
* @description ku4-carousel
|
6
|
-
*/
|
7
|
-
export class Ku4Carousel {
|
8
|
-
constructor() {
|
9
|
-
/**
|
10
|
-
* Sets the distance, in pixels, a touch must travel
|
11
|
-
* before activating a swipe.
|
12
|
-
*/
|
13
|
-
this.swipeTolerance = 44;
|
14
|
-
/**
|
15
|
-
* Will start this carousel in auto scroll mode
|
16
|
-
*/
|
17
|
-
this.auto = false;
|
18
|
-
/**
|
19
|
-
* Prevents touch swiping
|
20
|
-
*/
|
21
|
-
this.noSwipe = false;
|
22
|
-
/**
|
23
|
-
* Delay in millisecond between slide changes
|
24
|
-
* when running in auto
|
25
|
-
*/
|
26
|
-
this.delay = 8000;
|
27
|
-
this.interval = new Interval(this.delay).onInterval(() => {
|
28
|
-
if (this.host.isConnected) {
|
29
|
-
this.display('next');
|
30
|
-
}
|
31
|
-
else {
|
32
|
-
this.disconnectedCallback();
|
33
|
-
}
|
34
|
-
});
|
35
|
-
this.handleMouse = this.handleMouse.bind(this);
|
36
|
-
}
|
37
|
-
/**
|
38
|
-
* Display the next ku4-carousel-slide
|
39
|
-
*/
|
40
|
-
async next() {
|
41
|
-
if (!this.hasSlides) {
|
42
|
-
return this;
|
43
|
-
}
|
44
|
-
await this.pause();
|
45
|
-
return this.display('next');
|
46
|
-
}
|
47
|
-
/**
|
48
|
-
* Display the previous ku4-carousel-slide
|
49
|
-
*/
|
50
|
-
async previous() {
|
51
|
-
if (!this.hasSlides) {
|
52
|
-
return this;
|
53
|
-
}
|
54
|
-
await this.pause();
|
55
|
-
return this.display('prev');
|
56
|
-
}
|
57
|
-
/**
|
58
|
-
* Slide to the slide number specified.
|
59
|
-
* @param {number} number - Slide number to slide to.
|
60
|
-
*/
|
61
|
-
async slideTo(number) {
|
62
|
-
await this.pause();
|
63
|
-
if (!(number === this.currentSlideNumber || number < 1 || this.rolodex.length < number)) {
|
64
|
-
const move = number - this.currentSlideNumber;
|
65
|
-
const slide = move < 0 ? 'prev' : 'next';
|
66
|
-
let count = Math.abs(move);
|
67
|
-
while (0 < --count) {
|
68
|
-
await wait(10).then(() => this.rolodex[slide]);
|
69
|
-
}
|
70
|
-
this.display(slide);
|
71
|
-
}
|
72
|
-
}
|
73
|
-
/**
|
74
|
-
* Pause auto slide change
|
75
|
-
*/
|
76
|
-
async pause() {
|
77
|
-
this.interval.clear();
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* Start auto slide change
|
81
|
-
*/
|
82
|
-
async play() {
|
83
|
-
const { auto, interval } = this;
|
84
|
-
auto && interval.start();
|
85
|
-
}
|
86
|
-
get hasSlides() {
|
87
|
-
return this.rolodex && (this.rolodex.length > 1);
|
88
|
-
}
|
89
|
-
get currentSlideNumber() {
|
90
|
-
const { rolodex } = this;
|
91
|
-
return rolodex && (rolodex.isEmpty ? 0 : rolodex.index + 1);
|
92
|
-
}
|
93
|
-
display(slide) {
|
94
|
-
window.requestAnimationFrame(() => {
|
95
|
-
const { previous, current } = this.slideState;
|
96
|
-
const next = this.rolodex[slide];
|
97
|
-
if (previous) {
|
98
|
-
previous.deactivate();
|
99
|
-
}
|
100
|
-
current.slideOut(slide);
|
101
|
-
next.slideIn(slide);
|
102
|
-
this.slideState = {
|
103
|
-
previous: current,
|
104
|
-
current: next,
|
105
|
-
};
|
106
|
-
this.didSlide.emit(this.currentSlideNumber);
|
107
|
-
});
|
108
|
-
return this;
|
109
|
-
}
|
110
|
-
handleMouse(e) {
|
111
|
-
if (!this.host.contains(e.relatedTarget)) {
|
112
|
-
this.play();
|
113
|
-
}
|
114
|
-
}
|
115
|
-
componentWillLoad() {
|
116
|
-
if (!this.noSwipe) {
|
117
|
-
this.swipe = new Swipe(this.host, this.swipeTolerance)
|
118
|
-
.onLeft(() => this.next())
|
119
|
-
.onRight(() => this.previous());
|
120
|
-
}
|
121
|
-
let slides;
|
122
|
-
try {
|
123
|
-
slides = this.host.querySelectorAll(':scope > ku4-carousel-slide');
|
124
|
-
}
|
125
|
-
catch (e) {
|
126
|
-
slides = [].slice.call(this.host.querySelectorAll('ku4-carousel-slide'))
|
127
|
-
.reduce((acc, item) => {
|
128
|
-
if (item.parentNode === this.host) {
|
129
|
-
acc.push(item);
|
130
|
-
}
|
131
|
-
return acc;
|
132
|
-
}, []);
|
133
|
-
}
|
134
|
-
this.rolodex = new Rolodex(slides);
|
135
|
-
(this.rolodex.current &&
|
136
|
-
this.rolodex.current.activate) &&
|
137
|
-
this.rolodex.current.activate();
|
138
|
-
this.slideState = { current: this.rolodex.current };
|
139
|
-
if (this.auto) {
|
140
|
-
this.host.addEventListener('mouseout', this.handleMouse);
|
141
|
-
this.play();
|
142
|
-
}
|
143
|
-
}
|
144
|
-
connectedCallback() {
|
145
|
-
if (this.swipe) {
|
146
|
-
this.swipe.destroy();
|
147
|
-
}
|
148
|
-
this.host.removeEventListener('mouseout', this.handleMouse);
|
149
|
-
this.interval.clear();
|
150
|
-
}
|
151
|
-
disconnectedCallback() {
|
152
|
-
if (this.swipe) {
|
153
|
-
this.swipe.destroy();
|
154
|
-
}
|
155
|
-
this.host.removeEventListener('mouseout', this.handleMouse);
|
156
|
-
this.interval.clear();
|
157
|
-
}
|
158
|
-
render() {
|
159
|
-
const { hasSlides, currentSlideNumber = 1 } = this;
|
160
|
-
return (h(Host, { "aria-roledescription": "carousel", current: currentSlideNumber },
|
161
|
-
hasSlides && (h("section", { class: "controls" },
|
162
|
-
h("button", { type: "button", class: "prev", onClick: () => this.previous(), "aria-label": "previous slide" }),
|
163
|
-
h("button", { type: "button", class: "next", onClick: () => this.next(), "aria-label": "next slide" }))),
|
164
|
-
h("section", { class: "slide-container", "aria-live": "polite" },
|
165
|
-
h("slot", null)),
|
166
|
-
hasSlides && (h("section", { class: "pages" },
|
167
|
-
h("span", { class: "pages-text" }, `${currentSlideNumber} of ${this.rolodex.length}`)))));
|
168
|
-
}
|
169
|
-
static get is() { return "ku4-carousel"; }
|
170
|
-
static get encapsulation() { return "shadow"; }
|
171
|
-
static get originalStyleUrls() { return {
|
172
|
-
"$": ["ku4-carousel.scss"]
|
173
|
-
}; }
|
174
|
-
static get styleUrls() { return {
|
175
|
-
"$": ["ku4-carousel.css"]
|
176
|
-
}; }
|
177
|
-
static get properties() { return {
|
178
|
-
"swipeTolerance": {
|
179
|
-
"type": "number",
|
180
|
-
"mutable": false,
|
181
|
-
"complexType": {
|
182
|
-
"original": "number",
|
183
|
-
"resolved": "number",
|
184
|
-
"references": {}
|
185
|
-
},
|
186
|
-
"required": false,
|
187
|
-
"optional": false,
|
188
|
-
"docs": {
|
189
|
-
"tags": [],
|
190
|
-
"text": "Sets the distance, in pixels, a touch must travel\nbefore activating a swipe."
|
191
|
-
},
|
192
|
-
"attribute": "swipe-tolerance",
|
193
|
-
"reflect": false,
|
194
|
-
"defaultValue": "44"
|
195
|
-
},
|
196
|
-
"auto": {
|
197
|
-
"type": "boolean",
|
198
|
-
"mutable": false,
|
199
|
-
"complexType": {
|
200
|
-
"original": "boolean",
|
201
|
-
"resolved": "boolean",
|
202
|
-
"references": {}
|
203
|
-
},
|
204
|
-
"required": false,
|
205
|
-
"optional": false,
|
206
|
-
"docs": {
|
207
|
-
"tags": [],
|
208
|
-
"text": "Will start this carousel in auto scroll mode"
|
209
|
-
},
|
210
|
-
"attribute": "auto",
|
211
|
-
"reflect": false,
|
212
|
-
"defaultValue": "false"
|
213
|
-
},
|
214
|
-
"noSwipe": {
|
215
|
-
"type": "boolean",
|
216
|
-
"mutable": false,
|
217
|
-
"complexType": {
|
218
|
-
"original": "boolean",
|
219
|
-
"resolved": "boolean",
|
220
|
-
"references": {}
|
221
|
-
},
|
222
|
-
"required": false,
|
223
|
-
"optional": false,
|
224
|
-
"docs": {
|
225
|
-
"tags": [],
|
226
|
-
"text": "Prevents touch swiping"
|
227
|
-
},
|
228
|
-
"attribute": "no-swipe",
|
229
|
-
"reflect": false,
|
230
|
-
"defaultValue": "false"
|
231
|
-
},
|
232
|
-
"delay": {
|
233
|
-
"type": "number",
|
234
|
-
"mutable": false,
|
235
|
-
"complexType": {
|
236
|
-
"original": "number",
|
237
|
-
"resolved": "number",
|
238
|
-
"references": {}
|
239
|
-
},
|
240
|
-
"required": false,
|
241
|
-
"optional": false,
|
242
|
-
"docs": {
|
243
|
-
"tags": [],
|
244
|
-
"text": "Delay in millisecond between slide changes\nwhen running in auto"
|
245
|
-
},
|
246
|
-
"attribute": "delay",
|
247
|
-
"reflect": false,
|
248
|
-
"defaultValue": "8000"
|
249
|
-
}
|
250
|
-
}; }
|
251
|
-
static get states() { return {
|
252
|
-
"slideState": {}
|
253
|
-
}; }
|
254
|
-
static get events() { return [{
|
255
|
-
"method": "didSlide",
|
256
|
-
"name": "slide",
|
257
|
-
"bubbles": true,
|
258
|
-
"cancelable": true,
|
259
|
-
"composed": true,
|
260
|
-
"docs": {
|
261
|
-
"tags": [],
|
262
|
-
"text": "Event fired when slide changes"
|
263
|
-
},
|
264
|
-
"complexType": {
|
265
|
-
"original": "any",
|
266
|
-
"resolved": "any",
|
267
|
-
"references": {}
|
268
|
-
}
|
269
|
-
}]; }
|
270
|
-
static get methods() { return {
|
271
|
-
"next": {
|
272
|
-
"complexType": {
|
273
|
-
"signature": "() => Promise<this>",
|
274
|
-
"parameters": [],
|
275
|
-
"references": {
|
276
|
-
"Promise": {
|
277
|
-
"location": "global"
|
278
|
-
}
|
279
|
-
},
|
280
|
-
"return": "Promise<this>"
|
281
|
-
},
|
282
|
-
"docs": {
|
283
|
-
"text": "Display the next ku4-carousel-slide",
|
284
|
-
"tags": []
|
285
|
-
}
|
286
|
-
},
|
287
|
-
"previous": {
|
288
|
-
"complexType": {
|
289
|
-
"signature": "() => Promise<this>",
|
290
|
-
"parameters": [],
|
291
|
-
"references": {
|
292
|
-
"Promise": {
|
293
|
-
"location": "global"
|
294
|
-
}
|
295
|
-
},
|
296
|
-
"return": "Promise<this>"
|
297
|
-
},
|
298
|
-
"docs": {
|
299
|
-
"text": "Display the previous ku4-carousel-slide",
|
300
|
-
"tags": []
|
301
|
-
}
|
302
|
-
},
|
303
|
-
"slideTo": {
|
304
|
-
"complexType": {
|
305
|
-
"signature": "(number: any) => Promise<void>",
|
306
|
-
"parameters": [{
|
307
|
-
"tags": [{
|
308
|
-
"name": "param",
|
309
|
-
"text": "number - Slide number to slide to."
|
310
|
-
}],
|
311
|
-
"text": "- Slide number to slide to."
|
312
|
-
}],
|
313
|
-
"references": {
|
314
|
-
"Promise": {
|
315
|
-
"location": "global"
|
316
|
-
}
|
317
|
-
},
|
318
|
-
"return": "Promise<void>"
|
319
|
-
},
|
320
|
-
"docs": {
|
321
|
-
"text": "Slide to the slide number specified.",
|
322
|
-
"tags": [{
|
323
|
-
"name": "param",
|
324
|
-
"text": "number - Slide number to slide to."
|
325
|
-
}]
|
326
|
-
}
|
327
|
-
},
|
328
|
-
"pause": {
|
329
|
-
"complexType": {
|
330
|
-
"signature": "() => Promise<void>",
|
331
|
-
"parameters": [],
|
332
|
-
"references": {
|
333
|
-
"Promise": {
|
334
|
-
"location": "global"
|
335
|
-
}
|
336
|
-
},
|
337
|
-
"return": "Promise<void>"
|
338
|
-
},
|
339
|
-
"docs": {
|
340
|
-
"text": "Pause auto slide change",
|
341
|
-
"tags": []
|
342
|
-
}
|
343
|
-
},
|
344
|
-
"play": {
|
345
|
-
"complexType": {
|
346
|
-
"signature": "() => Promise<void>",
|
347
|
-
"parameters": [],
|
348
|
-
"references": {
|
349
|
-
"Promise": {
|
350
|
-
"location": "global"
|
351
|
-
}
|
352
|
-
},
|
353
|
-
"return": "Promise<void>"
|
354
|
-
},
|
355
|
-
"docs": {
|
356
|
-
"text": "Start auto slide change",
|
357
|
-
"tags": []
|
358
|
-
}
|
359
|
-
}
|
360
|
-
}; }
|
361
|
-
static get elementRef() { return "host"; }
|
362
|
-
}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
:host {
|
2
|
-
position: relative;
|
3
|
-
display: block;
|
4
|
-
}
|
5
|
-
|
6
|
-
input[type=radio] {
|
7
|
-
appearance: none;
|
8
|
-
position: relative;
|
9
|
-
width: 20px;
|
10
|
-
height: 20px;
|
11
|
-
margin: 0;
|
12
|
-
padding: 0;
|
13
|
-
border: solid 1px #888;
|
14
|
-
border-radius: 50%;
|
15
|
-
box-sizing: border-box;
|
16
|
-
vertical-align: middle;
|
17
|
-
}
|
18
|
-
input[type=radio]:checked:after {
|
19
|
-
content: "";
|
20
|
-
position: absolute;
|
21
|
-
top: 2px;
|
22
|
-
left: 2px;
|
23
|
-
width: 14px;
|
24
|
-
height: 14px;
|
25
|
-
margin: 0;
|
26
|
-
padding: 0;
|
27
|
-
border: solid 1px #888;
|
28
|
-
border-radius: 50%;
|
29
|
-
box-sizing: border-box;
|
30
|
-
text-align: center;
|
31
|
-
background-color: #333;
|
32
|
-
}
|
@@ -1,112 +0,0 @@
|
|
1
|
-
import { Component, Prop, Element, h } from '@stencil/core';
|
2
|
-
import { Assert } from 'ku4es-kernel';
|
3
|
-
/**
|
4
|
-
* @description ku4-carousel-controls
|
5
|
-
*/
|
6
|
-
export class Ku4CarouselControls {
|
7
|
-
constructor() {
|
8
|
-
this.carousel = document.getElementById(this.for);
|
9
|
-
this.handleSlide = this.handleSlide.bind(this);
|
10
|
-
this.handleChange = this.handleChange.bind(this);
|
11
|
-
}
|
12
|
-
get slides() {
|
13
|
-
return [].slice.call(this.carousel.children);
|
14
|
-
}
|
15
|
-
get controls() {
|
16
|
-
return [].slice.call(this.host.children);
|
17
|
-
}
|
18
|
-
handleSlide(e) {
|
19
|
-
this.controls.forEach((control) => {
|
20
|
-
control.removeAttribute('current');
|
21
|
-
control.checked = false;
|
22
|
-
});
|
23
|
-
try {
|
24
|
-
const current = this.controls[e.detail - 1];
|
25
|
-
current.setAttribute('current', e.detail);
|
26
|
-
current.checked = true;
|
27
|
-
}
|
28
|
-
catch (e) {
|
29
|
-
/* Fail silently */
|
30
|
-
}
|
31
|
-
}
|
32
|
-
async handleChange(e) {
|
33
|
-
const { carousel, slides, controls } = this;
|
34
|
-
const slideValue = e.target.getAttribute('slide');
|
35
|
-
const n = isNaN(slideValue)
|
36
|
-
? slides.findIndex(slide => slide.getAttribute('name') === slideValue) + 1
|
37
|
-
: parseInt(slideValue);
|
38
|
-
const slide = isNaN(n) ? controls.indexOf(e.target) + 1 : n;
|
39
|
-
await carousel.slideTo(slide);
|
40
|
-
try {
|
41
|
-
e.target.setAttribute('current', slide);
|
42
|
-
}
|
43
|
-
catch (e) {
|
44
|
-
/* Fail silently */
|
45
|
-
}
|
46
|
-
}
|
47
|
-
componentWillLoad() {
|
48
|
-
const { carousel, controls } = this;
|
49
|
-
try {
|
50
|
-
carousel.addEventListener('slide', this.handleSlide, { passive: true });
|
51
|
-
controls.forEach((control, i) => {
|
52
|
-
if (i === 0) {
|
53
|
-
control.setAttribute('current', i + 1);
|
54
|
-
}
|
55
|
-
if (control.nodeName === 'INPUT') {
|
56
|
-
control.addEventListener('change', this.handleChange);
|
57
|
-
}
|
58
|
-
else {
|
59
|
-
control.addEventListener('keyup', this.handleChange);
|
60
|
-
control.addEventListener('mouseup', this.handleChange, { passive: true });
|
61
|
-
control.addEventListener('touchstart', this.handleChange, { passive: true });
|
62
|
-
}
|
63
|
-
});
|
64
|
-
}
|
65
|
-
catch (e) {
|
66
|
-
if (!Assert.exists(carousel)) {
|
67
|
-
throw new ReferenceError('ku4-carousel-controls must connect to a ku4-carousel.');
|
68
|
-
}
|
69
|
-
}
|
70
|
-
}
|
71
|
-
disconnectedCallback() {
|
72
|
-
const { carousel, controls } = this;
|
73
|
-
carousel.removeEventListener('slide', this.handleSlide);
|
74
|
-
controls.forEach((control) => {
|
75
|
-
control.removeEventListener('change', this.handleChange);
|
76
|
-
control.removeEventListener('keyup', this.handleChange);
|
77
|
-
control.removeEventListener('mouseup', this.handleChange);
|
78
|
-
control.removeEventListener('touchstart', this.handleChange);
|
79
|
-
});
|
80
|
-
}
|
81
|
-
render() {
|
82
|
-
return h("slot", null);
|
83
|
-
}
|
84
|
-
static get is() { return "ku4-carousel-controls"; }
|
85
|
-
static get encapsulation() { return "shadow"; }
|
86
|
-
static get originalStyleUrls() { return {
|
87
|
-
"$": ["ku4-carousel-controls.scss"]
|
88
|
-
}; }
|
89
|
-
static get styleUrls() { return {
|
90
|
-
"$": ["ku4-carousel-controls.css"]
|
91
|
-
}; }
|
92
|
-
static get properties() { return {
|
93
|
-
"for": {
|
94
|
-
"type": "string",
|
95
|
-
"mutable": false,
|
96
|
-
"complexType": {
|
97
|
-
"original": "string",
|
98
|
-
"resolved": "string",
|
99
|
-
"references": {}
|
100
|
-
},
|
101
|
-
"required": false,
|
102
|
-
"optional": false,
|
103
|
-
"docs": {
|
104
|
-
"tags": [],
|
105
|
-
"text": "Controls for carousel having id of value"
|
106
|
-
},
|
107
|
-
"attribute": "for",
|
108
|
-
"reflect": false
|
109
|
-
}
|
110
|
-
}; }
|
111
|
-
static get elementRef() { return "host"; }
|
112
|
-
}
|
@@ -1,159 +0,0 @@
|
|
1
|
-
import { Component, Host, State, Method, h, Prop, } from '@stencil/core';
|
2
|
-
/**
|
3
|
-
* @description ku4-carousel-slide
|
4
|
-
*/
|
5
|
-
export class Ku4CarouselSlide {
|
6
|
-
constructor() {
|
7
|
-
this.classList = '';
|
8
|
-
}
|
9
|
-
/**
|
10
|
-
* Move this slide in to view.
|
11
|
-
* @param {string} direction - Direction to move.
|
12
|
-
*/
|
13
|
-
async slideIn(direction) {
|
14
|
-
this.active = true;
|
15
|
-
this.classList = `active ${direction}`;
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* Move this slide out of view.
|
19
|
-
* @param {string} direction - Direction to move.
|
20
|
-
*/
|
21
|
-
async slideOut(direction) {
|
22
|
-
this.active = false;
|
23
|
-
this.classList = `inactive ${direction}`;
|
24
|
-
}
|
25
|
-
/**
|
26
|
-
* Set this slide to active.
|
27
|
-
*/
|
28
|
-
async activate() {
|
29
|
-
this.active = true;
|
30
|
-
this.classList = 'active';
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* Set this slide to inactive.
|
34
|
-
*/
|
35
|
-
async deactivate() {
|
36
|
-
this.active = false;
|
37
|
-
this.classList = '';
|
38
|
-
}
|
39
|
-
render() {
|
40
|
-
const { active, classList } = this;
|
41
|
-
return (h(Host, { class: `${classList}`, "aria-hidden": active ? 'false' : 'true', "aria-roledescription": "slide" },
|
42
|
-
h("slot", null)));
|
43
|
-
}
|
44
|
-
static get is() { return "ku4-carousel-slide"; }
|
45
|
-
static get encapsulation() { return "shadow"; }
|
46
|
-
static get originalStyleUrls() { return {
|
47
|
-
"$": ["ku4-carousel-slide.scss"]
|
48
|
-
}; }
|
49
|
-
static get styleUrls() { return {
|
50
|
-
"$": ["ku4-carousel-slide.css"]
|
51
|
-
}; }
|
52
|
-
static get properties() { return {
|
53
|
-
"name": {
|
54
|
-
"type": "any",
|
55
|
-
"mutable": false,
|
56
|
-
"complexType": {
|
57
|
-
"original": "any",
|
58
|
-
"resolved": "any",
|
59
|
-
"references": {}
|
60
|
-
},
|
61
|
-
"required": false,
|
62
|
-
"optional": false,
|
63
|
-
"docs": {
|
64
|
-
"tags": [],
|
65
|
-
"text": "Name of slide. The value of this property can be used as the\nvalue of the \"slide\" attribute of a ku4-carousel-control to\ntarget this slide as the active slide for the target ku4-carousel-control"
|
66
|
-
},
|
67
|
-
"attribute": "name",
|
68
|
-
"reflect": false
|
69
|
-
}
|
70
|
-
}; }
|
71
|
-
static get states() { return {
|
72
|
-
"active": {},
|
73
|
-
"classList": {}
|
74
|
-
}; }
|
75
|
-
static get methods() { return {
|
76
|
-
"slideIn": {
|
77
|
-
"complexType": {
|
78
|
-
"signature": "(direction: 'prev' | 'next') => Promise<void>",
|
79
|
-
"parameters": [{
|
80
|
-
"tags": [{
|
81
|
-
"name": "param",
|
82
|
-
"text": "direction - Direction to move."
|
83
|
-
}],
|
84
|
-
"text": "- Direction to move."
|
85
|
-
}],
|
86
|
-
"references": {
|
87
|
-
"Promise": {
|
88
|
-
"location": "global"
|
89
|
-
}
|
90
|
-
},
|
91
|
-
"return": "Promise<void>"
|
92
|
-
},
|
93
|
-
"docs": {
|
94
|
-
"text": "Move this slide in to view.",
|
95
|
-
"tags": [{
|
96
|
-
"name": "param",
|
97
|
-
"text": "direction - Direction to move."
|
98
|
-
}]
|
99
|
-
}
|
100
|
-
},
|
101
|
-
"slideOut": {
|
102
|
-
"complexType": {
|
103
|
-
"signature": "(direction: 'prev' | 'next') => Promise<void>",
|
104
|
-
"parameters": [{
|
105
|
-
"tags": [{
|
106
|
-
"name": "param",
|
107
|
-
"text": "direction - Direction to move."
|
108
|
-
}],
|
109
|
-
"text": "- Direction to move."
|
110
|
-
}],
|
111
|
-
"references": {
|
112
|
-
"Promise": {
|
113
|
-
"location": "global"
|
114
|
-
}
|
115
|
-
},
|
116
|
-
"return": "Promise<void>"
|
117
|
-
},
|
118
|
-
"docs": {
|
119
|
-
"text": "Move this slide out of view.",
|
120
|
-
"tags": [{
|
121
|
-
"name": "param",
|
122
|
-
"text": "direction - Direction to move."
|
123
|
-
}]
|
124
|
-
}
|
125
|
-
},
|
126
|
-
"activate": {
|
127
|
-
"complexType": {
|
128
|
-
"signature": "() => Promise<void>",
|
129
|
-
"parameters": [],
|
130
|
-
"references": {
|
131
|
-
"Promise": {
|
132
|
-
"location": "global"
|
133
|
-
}
|
134
|
-
},
|
135
|
-
"return": "Promise<void>"
|
136
|
-
},
|
137
|
-
"docs": {
|
138
|
-
"text": "Set this slide to active.",
|
139
|
-
"tags": []
|
140
|
-
}
|
141
|
-
},
|
142
|
-
"deactivate": {
|
143
|
-
"complexType": {
|
144
|
-
"signature": "() => Promise<void>",
|
145
|
-
"parameters": [],
|
146
|
-
"references": {
|
147
|
-
"Promise": {
|
148
|
-
"location": "global"
|
149
|
-
}
|
150
|
-
},
|
151
|
-
"return": "Promise<void>"
|
152
|
-
},
|
153
|
-
"docs": {
|
154
|
-
"text": "Set this slide to inactive.",
|
155
|
-
"tags": []
|
156
|
-
}
|
157
|
-
}
|
158
|
-
}; }
|
159
|
-
}
|