ku4web-components 6.5.3 → 6.5.6
Sign up to get free protection for your applications and to get access to all the features.
- package/angular/index.js +1 -1
- package/angular/index.mjs +1 -1
- package/dist/cjs/app-globals-3a1e7e63.js +5 -0
- package/dist/cjs/css-shim-f1391d35.js +6 -0
- package/dist/cjs/dom-5345ed9a.js +75 -0
- package/dist/cjs/index-065185f8.js +3093 -0
- package/dist/cjs/index-16f16ed9.js +14 -0
- package/dist/cjs/index-1a439af7.js +14 -0
- package/dist/cjs/index-436596bf.js +10 -0
- package/dist/cjs/index-49d3746b.js +10 -0
- 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 +3 -3
- 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 +43 -14
- 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 +101 -6
- package/dist/cjs/loader.cjs.js +17 -1
- package/dist/cjs/{uid-d533dbb1.js → uid-7f3954c8.js} +1 -1
- package/dist/cjs/uid-a1348ea5.js +11 -0
- package/dist/collection/capabilities/a11y/aria.js +26 -0
- package/dist/collection/capabilities/angular/index.js +24 -0
- package/dist/collection/capabilities/decorators/deprecated.js +20 -0
- package/dist/collection/capabilities/decorators/index.js +3 -0
- package/dist/collection/capabilities/decorators/memoize.js +7 -0
- package/dist/collection/capabilities/dom/isFocusable.js +7 -0
- package/dist/collection/capabilities/dom/queryFocusable.js +2 -0
- package/dist/collection/capabilities/identity/uid.js +6 -0
- package/dist/collection/capabilities/mask/index.js +5 -0
- package/dist/collection/capabilities/mask/patterns/date.js +40 -0
- package/dist/collection/capabilities/mask/patterns/index.js +7 -0
- package/dist/collection/capabilities/react/index.js +25 -0
- package/dist/collection/capabilities/testing/html.js +14 -0
- package/dist/collection/capabilities/testing/styles.js +14 -0
- package/dist/collection/capabilities/vue/index.js +28 -0
- package/dist/collection/capabilities/vue3/index.js +26 -0
- package/dist/collection/collection-manifest.json +31 -0
- package/dist/collection/components/ku4-carousel/ku4-carousel.css +221 -0
- package/dist/collection/components/ku4-carousel/ku4-carousel.js +369 -0
- package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.css +32 -0
- package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.js +112 -0
- package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.css +3 -0
- package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.js +159 -0
- package/dist/collection/components/ku4-col/ku4-col.css +601 -0
- package/dist/collection/components/ku4-col/ku4-col.js +288 -0
- package/dist/collection/components/ku4-drawer/ku4-drawer.css +56 -0
- package/dist/collection/components/ku4-drawer/ku4-drawer.js +163 -0
- package/dist/collection/components/ku4-feature/ku4-feature.js +70 -0
- package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.css +3 -0
- package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.js +441 -0
- package/dist/collection/components/ku4-form/ku4-form.js +265 -0
- package/dist/collection/components/ku4-grid/ku4-grid.css +751 -0
- package/dist/collection/components/ku4-grid/ku4-grid.js +408 -0
- package/dist/collection/components/ku4-label/ku4-label.css +36 -0
- package/dist/collection/components/ku4-label/ku4-label.js +115 -0
- package/dist/collection/components/ku4-mask/ku4-mask.css +3 -0
- package/dist/collection/components/ku4-mask/ku4-mask.js +459 -0
- package/dist/collection/components/ku4-modal/ku4-modal.css +85 -0
- package/dist/collection/components/ku4-modal/ku4-modal.js +231 -0
- package/dist/collection/components/ku4-panel/ku4-panel.css +14 -0
- package/dist/collection/components/ku4-panel/ku4-panel.js +119 -0
- package/dist/collection/components/ku4-preview/ku4-preview.css +23 -0
- package/dist/collection/components/ku4-preview/ku4-preview.js +266 -0
- package/dist/collection/components/ku4-tab/ku4-tab.css +82 -0
- package/dist/collection/components/ku4-tab/ku4-tab.js +191 -0
- package/dist/collection/components/ku4-tab-list/ku4-tab-list.css +6 -0
- package/dist/collection/components/ku4-tab-list/ku4-tab-list.js +118 -0
- package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.css +26 -0
- package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.js +166 -0
- package/dist/collection/components/ku4-table/ku4-table.css +116 -0
- package/dist/collection/components/ku4-table/ku4-table.js +120 -0
- package/dist/collection/components/ku4-tooltip/ku4-tooltip.css +56 -0
- package/dist/collection/components/ku4-tooltip/ku4-tooltip.js +274 -0
- package/dist/collection/components/ku4-validation/ku4-validation.css +19 -0
- package/dist/collection/components/ku4-validation/ku4-validation.js +364 -0
- package/dist/collection/components/ku4-validation/validate.js +14 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/security.js +27 -0
- package/dist/esm/app-globals-0f993ce5.js +3 -0
- package/dist/esm/css-shim-10e6e2ae.js +4 -0
- package/dist/esm/dom-7cd9cf71.js +73 -0
- package/dist/esm/index-5448a818.js +3 -0
- package/dist/esm/index-6cfd87e4.js +3 -0
- package/dist/esm/index-77bdf1f1.js +3 -0
- package/dist/esm/index-a02dcfc8.js +3057 -0
- package/dist/esm/index-aa119486.js +3 -0
- 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 +3 -3
- 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 +34 -5
- 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 +101 -6
- package/dist/esm/loader.js +17 -1
- package/dist/esm/uid-3716c2c4.js +9 -0
- package/dist/esm/{uid-fbebccfd.js → uid-d593801c.js} +1 -1
- package/dist/esm-es5/index-5448a818.js +1 -0
- package/dist/esm-es5/index-77bdf1f1.js +1 -0
- package/dist/esm-es5/ku4-carousel-controls.entry.js +1 -1
- package/dist/esm-es5/ku4-carousel.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-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-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-tooltip.entry.js +1 -1
- package/dist/esm-es5/ku4-validation.entry.js +1 -1
- package/dist/esm-es5/uid-d593801c.js +1 -0
- package/dist/index.js +1 -1
- package/dist/ku4web-components/app-globals-0f993ce5.js +3 -0
- package/dist/ku4web-components/app-globals-497eb362.system.js +1 -0
- package/dist/ku4web-components/css-shim-10e6e2ae.js +4 -0
- package/dist/ku4web-components/css-shim-c8dd4551.system.js +1 -0
- package/dist/ku4web-components/dom-67d1e45e.system.js +21 -0
- package/dist/ku4web-components/dom-7cd9cf71.js +73 -0
- package/dist/ku4web-components/index-1c93827a.system.js +1 -0
- package/dist/ku4web-components/index-29f2b09f.system.js +1 -0
- package/dist/ku4web-components/index-5d0cb00d.system.js +1 -0
- package/dist/ku4web-components/index-6cfd87e4.js +3 -0
- package/dist/ku4web-components/index-a02dcfc8.js +3057 -0
- package/dist/ku4web-components/index-aa119486.js +3 -0
- package/dist/ku4web-components/index.esm.js +1 -0
- package/dist/ku4web-components/index.system.js +1 -0
- package/dist/ku4web-components/ku4-carousel-controls.entry.js +89 -0
- package/dist/ku4web-components/ku4-carousel-controls.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-carousel-slide.entry.js +47 -0
- package/dist/ku4web-components/ku4-carousel-slide.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-carousel.entry.js +175 -0
- package/dist/ku4web-components/ku4-carousel.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-col.entry.js +75 -0
- package/dist/ku4web-components/ku4-col.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-drawer.entry.js +35 -0
- package/dist/ku4web-components/ku4-drawer.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-feature.entry.js +29 -0
- package/dist/ku4web-components/ku4-feature.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-focus-trap.entry.js +323 -0
- package/dist/ku4web-components/ku4-focus-trap.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-form.entry.js +120 -0
- package/dist/ku4web-components/ku4-form.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-grid.entry.js +108 -0
- package/dist/ku4web-components/ku4-grid.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-label.entry.js +70 -0
- package/dist/ku4web-components/ku4-label.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-mask.entry.js +343 -0
- package/dist/ku4web-components/ku4-mask.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-modal.entry.js +80 -0
- package/dist/ku4web-components/ku4-modal.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-panel.entry.js +49 -0
- package/dist/ku4web-components/ku4-panel.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-preview.entry.js +128 -0
- package/dist/ku4web-components/ku4-preview.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-tab-list.entry.js +76 -0
- package/dist/ku4web-components/ku4-tab-list.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-tab-panel.entry.js +72 -0
- package/dist/ku4web-components/ku4-tab-panel.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-tab.entry.js +63 -0
- package/dist/ku4web-components/ku4-tab.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-table.entry.js +79 -0
- package/dist/ku4web-components/ku4-table.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-tooltip.entry.js +120 -0
- package/dist/ku4web-components/ku4-tooltip.system.entry.js +1 -0
- package/dist/ku4web-components/ku4-validation.entry.js +162 -0
- package/dist/ku4web-components/ku4-validation.system.entry.js +1 -0
- package/dist/ku4web-components/ku4web-components.css +299 -1
- package/dist/ku4web-components/ku4web-components.esm.js +129 -1
- package/dist/ku4web-components/ku4web-components.js +1 -1
- package/dist/ku4web-components/ku4web-components.system.js +1 -0
- package/dist/ku4web-components/{p-c6a2f4ba.entry.js → p-046b3990.entry.js} +1 -1
- package/dist/ku4web-components/{p-018d598f.entry.js → p-0b777b57.entry.js} +1 -1
- package/dist/ku4web-components/p-0de744b1.system.js +1 -0
- package/dist/ku4web-components/{p-c760ec1e.system.entry.js → p-0f1646ca.system.entry.js} +1 -1
- package/dist/ku4web-components/p-14752b72.system.js +1 -0
- package/dist/ku4web-components/{p-5d39e051.system.entry.js → p-17c2a7ac.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-536d6073.entry.js → p-1abe6f26.entry.js} +1 -1
- package/dist/ku4web-components/{p-7bac5d20.system.entry.js → p-1e19bc01.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-dfc33643.system.entry.js → p-27647af0.system.entry.js} +1 -1
- package/dist/ku4web-components/p-2ee63f57.system.js +1 -1
- package/dist/ku4web-components/{p-973be48d.system.entry.js → p-3deab7f6.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-23b35ab3.system.entry.js → p-4ecd9b1d.system.entry.js} +1 -1
- package/dist/ku4web-components/p-563d1517.system.js +1 -0
- package/dist/ku4web-components/p-5a54ccf4.js +1 -0
- package/dist/ku4web-components/{p-2681e152.system.entry.js → p-5e8921ef.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-6459c75c.system.entry.js → p-6509d3e7.system.entry.js} +1 -1
- package/dist/ku4web-components/p-791e2dfc.js +1 -0
- package/dist/ku4web-components/{p-4a012d6d.entry.js → p-7b6ca6a8.entry.js} +1 -1
- package/dist/ku4web-components/{p-ec165afd.system.entry.js → p-7b93a362.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-2faea8a9.system.entry.js → p-8173d389.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-13c90d3d.system.entry.js → p-96033515.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-e7d401cc.system.entry.js → p-9778d082.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-09fb8c34.entry.js → p-9b01a63a.entry.js} +1 -1
- package/dist/ku4web-components/p-a110d244.js +1 -0
- package/dist/ku4web-components/{p-ff9db3e7.entry.js → p-ac7884f3.entry.js} +1 -1
- package/dist/ku4web-components/{p-ce600370.system.entry.js → p-ae7ce1fe.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-be0d8b6a.entry.js → p-b1680ef4.entry.js} +1 -1
- package/dist/ku4web-components/{p-2f1425ac.entry.js → p-bb5410b5.entry.js} +1 -1
- package/dist/ku4web-components/{p-cbee5388.system.entry.js → p-bb698020.system.entry.js} +1 -1
- package/dist/ku4web-components/{p-eed33b36.entry.js → p-d42bd64d.entry.js} +1 -1
- package/dist/ku4web-components/{p-7a3871e3.entry.js → p-d4877fdf.entry.js} +1 -1
- package/dist/ku4web-components/{p-1ebea98a.entry.js → p-da8a8b83.entry.js} +1 -1
- package/dist/ku4web-components/{p-507093a6.entry.js → p-de3b2ba1.entry.js} +1 -1
- package/dist/ku4web-components/{p-e020ee68.entry.js → p-e11fbd79.entry.js} +1 -1
- package/dist/ku4web-components/{p-991d53c6.entry.js → p-ea1961f5.entry.js} +1 -1
- package/dist/ku4web-components/shadow-css-38a1326b.js +388 -0
- package/dist/ku4web-components/shadow-css-7fde17ac.system.js +13 -0
- package/dist/ku4web-components/uid-2ed9f227.system.js +1 -0
- package/dist/ku4web-components/uid-3716c2c4.js +9 -0
- package/package.json +8 -8
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/vue/index.js +1 -1
- package/vue/index.mjs +1 -1
- package/vue3/index.js +1 -1
- package/vue3/index.mjs +1 -1
- package/dist/cjs/index-57e2cfa5.js +0 -10
- package/dist/cjs/index-b46d22c6.js +0 -14
- package/dist/esm/index-919b08e6.js +0 -3
- package/dist/esm/index-f9890388.js +0 -3
- package/dist/esm-es5/index-919b08e6.js +0 -1
- package/dist/esm-es5/index-f9890388.js +0 -1
- package/dist/esm-es5/uid-fbebccfd.js +0 -1
- package/dist/ku4web-components/p-16f6027a.js +0 -1
- package/dist/ku4web-components/p-50ea6684.js +0 -1
- package/dist/ku4web-components/p-c38c9cd1.system.js +0 -1
- package/dist/ku4web-components/p-cbb6fb91.js +0 -1
- package/dist/ku4web-components/p-e9770900.system.js +0 -1
- package/dist/ku4web-components/p-f8a2bf9b.system.js +0 -1
@@ -0,0 +1,231 @@
|
|
1
|
+
import { Component, Prop, Host, Watch, Listen, Method, Event, Element, h } from '@stencil/core';
|
2
|
+
import { Assert } from 'ku4es-kernel';
|
3
|
+
import { Document, Key } from 'ku4es-ui-kernel';
|
4
|
+
/**
|
5
|
+
* @description ku4-modal
|
6
|
+
*/
|
7
|
+
export class Ku4Modal {
|
8
|
+
constructor() {
|
9
|
+
/**
|
10
|
+
* Visible when true
|
11
|
+
*/
|
12
|
+
// eslint-disable-next-line @stencil/strict-mutable
|
13
|
+
this.visible = false;
|
14
|
+
/**
|
15
|
+
* DEPRECATED - Misspelled use `dismissible`
|
16
|
+
* Will not dismiss by clicking and touching outside when false;
|
17
|
+
*/
|
18
|
+
this.dismissable = true;
|
19
|
+
/**
|
20
|
+
* Will not dismiss by clicking and touching outside when false;
|
21
|
+
*/
|
22
|
+
this.dismissible = this.dismissable;
|
23
|
+
}
|
24
|
+
handleVisibility(value) {
|
25
|
+
if (value) {
|
26
|
+
Document.preventScroll();
|
27
|
+
if (Assert.exists(this.trap)) {
|
28
|
+
this.trap.activate();
|
29
|
+
}
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
Document.resumeScroll();
|
33
|
+
if (Assert.exists(this.trap)) {
|
34
|
+
this.trap.deactivate();
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
handleKeyUp(e) {
|
39
|
+
if (this.visible && Key.esc.didFire(e)) {
|
40
|
+
this.dismiss();
|
41
|
+
}
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Display modal
|
45
|
+
*/
|
46
|
+
async display() {
|
47
|
+
this.visible = true;
|
48
|
+
this.didDisplay.emit(this);
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Dismiss modal
|
52
|
+
*/
|
53
|
+
async dismiss() {
|
54
|
+
this.visible = false;
|
55
|
+
this.didDismiss.emit(this);
|
56
|
+
}
|
57
|
+
componentDidLoad() {
|
58
|
+
try {
|
59
|
+
this.trap = this.host.querySelector('ku4-focus-trap') ||
|
60
|
+
(document.querySelector(this.focusTrap));
|
61
|
+
this.handleVisibility(this.visible);
|
62
|
+
}
|
63
|
+
catch (e) {
|
64
|
+
throw new Error(`Cannot connect ku4-focus-trap: ${e.messsage}`);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
render() {
|
68
|
+
return (h(Host, { role: "dialog", "aria-modal": "true" },
|
69
|
+
h("section", { class: "ku4-modal-content" },
|
70
|
+
h("slot", null)),
|
71
|
+
h("section", { class: "ku4-modal-overlay", onClick: () => this.dismissible && this.dismiss(), "aria-hidden": "true" })));
|
72
|
+
}
|
73
|
+
static get is() { return "ku4-modal"; }
|
74
|
+
static get encapsulation() { return "shadow"; }
|
75
|
+
static get originalStyleUrls() { return {
|
76
|
+
"$": ["ku4-modal.scss"]
|
77
|
+
}; }
|
78
|
+
static get styleUrls() { return {
|
79
|
+
"$": ["ku4-modal.css"]
|
80
|
+
}; }
|
81
|
+
static get properties() { return {
|
82
|
+
"visible": {
|
83
|
+
"type": "boolean",
|
84
|
+
"mutable": true,
|
85
|
+
"complexType": {
|
86
|
+
"original": "boolean",
|
87
|
+
"resolved": "boolean",
|
88
|
+
"references": {}
|
89
|
+
},
|
90
|
+
"required": false,
|
91
|
+
"optional": false,
|
92
|
+
"docs": {
|
93
|
+
"tags": [],
|
94
|
+
"text": "Visible when true"
|
95
|
+
},
|
96
|
+
"attribute": "visible",
|
97
|
+
"reflect": true,
|
98
|
+
"defaultValue": "false"
|
99
|
+
},
|
100
|
+
"dismissable": {
|
101
|
+
"type": "boolean",
|
102
|
+
"mutable": false,
|
103
|
+
"complexType": {
|
104
|
+
"original": "boolean",
|
105
|
+
"resolved": "boolean",
|
106
|
+
"references": {}
|
107
|
+
},
|
108
|
+
"required": false,
|
109
|
+
"optional": false,
|
110
|
+
"docs": {
|
111
|
+
"tags": [],
|
112
|
+
"text": "DEPRECATED - Misspelled use `dismissible`\nWill not dismiss by clicking and touching outside when false;"
|
113
|
+
},
|
114
|
+
"attribute": "dismissable",
|
115
|
+
"reflect": false,
|
116
|
+
"defaultValue": "true"
|
117
|
+
},
|
118
|
+
"dismissible": {
|
119
|
+
"type": "boolean",
|
120
|
+
"mutable": false,
|
121
|
+
"complexType": {
|
122
|
+
"original": "boolean",
|
123
|
+
"resolved": "boolean",
|
124
|
+
"references": {}
|
125
|
+
},
|
126
|
+
"required": false,
|
127
|
+
"optional": false,
|
128
|
+
"docs": {
|
129
|
+
"tags": [],
|
130
|
+
"text": "Will not dismiss by clicking and touching outside when false;"
|
131
|
+
},
|
132
|
+
"attribute": "dismissible",
|
133
|
+
"reflect": false,
|
134
|
+
"defaultValue": "this.dismissable"
|
135
|
+
},
|
136
|
+
"focusTrap": {
|
137
|
+
"type": "string",
|
138
|
+
"mutable": false,
|
139
|
+
"complexType": {
|
140
|
+
"original": "string",
|
141
|
+
"resolved": "string",
|
142
|
+
"references": {}
|
143
|
+
},
|
144
|
+
"required": false,
|
145
|
+
"optional": false,
|
146
|
+
"docs": {
|
147
|
+
"tags": [],
|
148
|
+
"text": "An optional querySelector of an associated ku4-focus-trap that should\nbe activated when this ku4-modal is display and deactivated when\nthis ku4-modal is didDismiss."
|
149
|
+
},
|
150
|
+
"attribute": "focus-trap",
|
151
|
+
"reflect": false
|
152
|
+
}
|
153
|
+
}; }
|
154
|
+
static get events() { return [{
|
155
|
+
"method": "didDisplay",
|
156
|
+
"name": "display",
|
157
|
+
"bubbles": true,
|
158
|
+
"cancelable": true,
|
159
|
+
"composed": true,
|
160
|
+
"docs": {
|
161
|
+
"tags": [],
|
162
|
+
"text": "Event fired when modal is displayed"
|
163
|
+
},
|
164
|
+
"complexType": {
|
165
|
+
"original": "any",
|
166
|
+
"resolved": "any",
|
167
|
+
"references": {}
|
168
|
+
}
|
169
|
+
}, {
|
170
|
+
"method": "didDismiss",
|
171
|
+
"name": "dismiss",
|
172
|
+
"bubbles": true,
|
173
|
+
"cancelable": true,
|
174
|
+
"composed": true,
|
175
|
+
"docs": {
|
176
|
+
"tags": [],
|
177
|
+
"text": "Event fired when modal is dismissed"
|
178
|
+
},
|
179
|
+
"complexType": {
|
180
|
+
"original": "any",
|
181
|
+
"resolved": "any",
|
182
|
+
"references": {}
|
183
|
+
}
|
184
|
+
}]; }
|
185
|
+
static get methods() { return {
|
186
|
+
"display": {
|
187
|
+
"complexType": {
|
188
|
+
"signature": "() => Promise<void>",
|
189
|
+
"parameters": [],
|
190
|
+
"references": {
|
191
|
+
"Promise": {
|
192
|
+
"location": "global"
|
193
|
+
}
|
194
|
+
},
|
195
|
+
"return": "Promise<void>"
|
196
|
+
},
|
197
|
+
"docs": {
|
198
|
+
"text": "Display modal",
|
199
|
+
"tags": []
|
200
|
+
}
|
201
|
+
},
|
202
|
+
"dismiss": {
|
203
|
+
"complexType": {
|
204
|
+
"signature": "() => Promise<void>",
|
205
|
+
"parameters": [],
|
206
|
+
"references": {
|
207
|
+
"Promise": {
|
208
|
+
"location": "global"
|
209
|
+
}
|
210
|
+
},
|
211
|
+
"return": "Promise<void>"
|
212
|
+
},
|
213
|
+
"docs": {
|
214
|
+
"text": "Dismiss modal",
|
215
|
+
"tags": []
|
216
|
+
}
|
217
|
+
}
|
218
|
+
}; }
|
219
|
+
static get elementRef() { return "host"; }
|
220
|
+
static get watchers() { return [{
|
221
|
+
"propName": "visible",
|
222
|
+
"methodName": "handleVisibility"
|
223
|
+
}]; }
|
224
|
+
static get listeners() { return [{
|
225
|
+
"name": "keyup",
|
226
|
+
"method": "handleKeyUp",
|
227
|
+
"target": "window",
|
228
|
+
"capture": false,
|
229
|
+
"passive": false
|
230
|
+
}]; }
|
231
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
:host {
|
2
|
+
-webkit-backface-visibility: hidden;
|
3
|
+
display: block;
|
4
|
+
width: 100%;
|
5
|
+
height: auto;
|
6
|
+
max-height: 0;
|
7
|
+
transition: max-height 0.4s, padding 0.6s;
|
8
|
+
overflow: hidden;
|
9
|
+
}
|
10
|
+
|
11
|
+
:host([open]) {
|
12
|
+
padding-top: inherit;
|
13
|
+
padding-bottom: inherit;
|
14
|
+
}
|
@@ -0,0 +1,119 @@
|
|
1
|
+
import { Component, Host, Prop, Watch, State, Method, h, Element, Listen } from '@stencil/core';
|
2
|
+
/**
|
3
|
+
* @description ku4-panel
|
4
|
+
*/
|
5
|
+
export class Ku4Panel {
|
6
|
+
constructor() {
|
7
|
+
/**
|
8
|
+
* Set true to display panel
|
9
|
+
*/
|
10
|
+
this.open = false;
|
11
|
+
this.maxHeight = this.open ? 'none' : '0px';
|
12
|
+
}
|
13
|
+
openHandler(value) {
|
14
|
+
if (value) {
|
15
|
+
this.maxHeight = `${this.host.scrollHeight}px`;
|
16
|
+
}
|
17
|
+
else {
|
18
|
+
this.host.style.maxHeight = `${this.host.scrollHeight}px`;
|
19
|
+
this.maxHeight = '0px';
|
20
|
+
}
|
21
|
+
}
|
22
|
+
handleTransitionEnd() {
|
23
|
+
this.maxHeight = this.open ? 'none' : '0px';
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Toggle panel state
|
27
|
+
*/
|
28
|
+
async toggle() {
|
29
|
+
this.open = !this.open;
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Close panel
|
33
|
+
*/
|
34
|
+
async close() {
|
35
|
+
this.open = false;
|
36
|
+
}
|
37
|
+
render() {
|
38
|
+
const { open, maxHeight } = this;
|
39
|
+
return (h(Host, { "aria-hidden": open ? 'false' : 'true', tabIndex: open ? 0 : -1, style: { maxHeight } },
|
40
|
+
h("slot", null)));
|
41
|
+
}
|
42
|
+
static get is() { return "ku4-panel"; }
|
43
|
+
static get encapsulation() { return "shadow"; }
|
44
|
+
static get originalStyleUrls() { return {
|
45
|
+
"$": ["ku4-panel.scss"]
|
46
|
+
}; }
|
47
|
+
static get styleUrls() { return {
|
48
|
+
"$": ["ku4-panel.css"]
|
49
|
+
}; }
|
50
|
+
static get properties() { return {
|
51
|
+
"open": {
|
52
|
+
"type": "boolean",
|
53
|
+
"mutable": true,
|
54
|
+
"complexType": {
|
55
|
+
"original": "boolean",
|
56
|
+
"resolved": "boolean",
|
57
|
+
"references": {}
|
58
|
+
},
|
59
|
+
"required": false,
|
60
|
+
"optional": false,
|
61
|
+
"docs": {
|
62
|
+
"tags": [],
|
63
|
+
"text": "Set true to display panel"
|
64
|
+
},
|
65
|
+
"attribute": "open",
|
66
|
+
"reflect": true,
|
67
|
+
"defaultValue": "false"
|
68
|
+
}
|
69
|
+
}; }
|
70
|
+
static get states() { return {
|
71
|
+
"maxHeight": {}
|
72
|
+
}; }
|
73
|
+
static get methods() { return {
|
74
|
+
"toggle": {
|
75
|
+
"complexType": {
|
76
|
+
"signature": "() => Promise<void>",
|
77
|
+
"parameters": [],
|
78
|
+
"references": {
|
79
|
+
"Promise": {
|
80
|
+
"location": "global"
|
81
|
+
}
|
82
|
+
},
|
83
|
+
"return": "Promise<void>"
|
84
|
+
},
|
85
|
+
"docs": {
|
86
|
+
"text": "Toggle panel state",
|
87
|
+
"tags": []
|
88
|
+
}
|
89
|
+
},
|
90
|
+
"close": {
|
91
|
+
"complexType": {
|
92
|
+
"signature": "() => Promise<void>",
|
93
|
+
"parameters": [],
|
94
|
+
"references": {
|
95
|
+
"Promise": {
|
96
|
+
"location": "global"
|
97
|
+
}
|
98
|
+
},
|
99
|
+
"return": "Promise<void>"
|
100
|
+
},
|
101
|
+
"docs": {
|
102
|
+
"text": "Close panel",
|
103
|
+
"tags": []
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}; }
|
107
|
+
static get elementRef() { return "host"; }
|
108
|
+
static get watchers() { return [{
|
109
|
+
"propName": "open",
|
110
|
+
"methodName": "openHandler"
|
111
|
+
}]; }
|
112
|
+
static get listeners() { return [{
|
113
|
+
"name": "transitionend",
|
114
|
+
"method": "handleTransitionEnd",
|
115
|
+
"target": undefined,
|
116
|
+
"capture": false,
|
117
|
+
"passive": false
|
118
|
+
}]; }
|
119
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
:host {
|
2
|
+
position: relative;
|
3
|
+
display: block;
|
4
|
+
width: 200px;
|
5
|
+
height: 120px;
|
6
|
+
border: solid 2px #aaa;
|
7
|
+
box-sizing: border-box;
|
8
|
+
overflow: hidden;
|
9
|
+
object-fit: cover;
|
10
|
+
}
|
11
|
+
|
12
|
+
img {
|
13
|
+
position: absolute;
|
14
|
+
top: 0;
|
15
|
+
left: 0;
|
16
|
+
width: 100%;
|
17
|
+
height: 100%;
|
18
|
+
object-fit: inherit;
|
19
|
+
}
|
20
|
+
|
21
|
+
::slotted(*) {
|
22
|
+
position: relative;
|
23
|
+
}
|
@@ -0,0 +1,266 @@
|
|
1
|
+
import { Component, Prop, State, Watch, Method, Host, h } from '@stencil/core';
|
2
|
+
import { Assert } from 'ku4es-kernel';
|
3
|
+
import { Device } from 'ku4es-ui-kernel';
|
4
|
+
import { image } from 'ku4es-ui-data';
|
5
|
+
function portraitOrientation() {
|
6
|
+
const { orientation } = Device;
|
7
|
+
return (orientation === Device.landscapePrimary ? 8
|
8
|
+
: orientation === Device.landscapeSecondary ? 6
|
9
|
+
: orientation === Device.portraitPrimary ? 1
|
10
|
+
: orientation === Device.portraitSecondary ? 3
|
11
|
+
: undefined);
|
12
|
+
}
|
13
|
+
/**
|
14
|
+
* @description ku4-preview
|
15
|
+
*/
|
16
|
+
export class Ku4Preview {
|
17
|
+
constructor() {
|
18
|
+
this.handleChange = this.handleChange.bind(this);
|
19
|
+
}
|
20
|
+
orientationHandler() {
|
21
|
+
this.orient(this.orientation);
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* Read data out of this preview
|
25
|
+
*/
|
26
|
+
async read() {
|
27
|
+
return this.input.files;
|
28
|
+
}
|
29
|
+
handleChange() {
|
30
|
+
this.status = 'loading';
|
31
|
+
let value;
|
32
|
+
if (Assert.exists(this.orientation)) {
|
33
|
+
value = this.orientation;
|
34
|
+
}
|
35
|
+
else if (this.capture === 'portrait') {
|
36
|
+
value = portraitOrientation();
|
37
|
+
}
|
38
|
+
else if (this.capture === 'landscape') {
|
39
|
+
value = undefined;
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
value = Device.orientation === Device.portraitPrimary
|
43
|
+
? portraitOrientation()
|
44
|
+
: undefined;
|
45
|
+
}
|
46
|
+
this.orient(value);
|
47
|
+
}
|
48
|
+
orient(orientation) {
|
49
|
+
image.dataUrlFromFile(this.input.files[0], {
|
50
|
+
crossDomain: true,
|
51
|
+
resolution: { x: this.resolutionX, y: this.resolutionY },
|
52
|
+
orientation
|
53
|
+
})
|
54
|
+
.then((dataUrl) => {
|
55
|
+
this.currentSrc = dataUrl;
|
56
|
+
this.status = 'loaded';
|
57
|
+
})
|
58
|
+
.catch(() => {
|
59
|
+
this.status = 'error';
|
60
|
+
this.currentSrc = null;
|
61
|
+
});
|
62
|
+
}
|
63
|
+
componentWillLoad() {
|
64
|
+
this.input = document.getElementById(this.for);
|
65
|
+
this.input.addEventListener('change', this.handleChange);
|
66
|
+
}
|
67
|
+
disconnectedCallback() {
|
68
|
+
this.input.removeEventListener('change', this.handleChange);
|
69
|
+
}
|
70
|
+
render() {
|
71
|
+
return (h(Host, null,
|
72
|
+
h("img", { src: this.currentSrc || this.src, alt: this.alt || 'preview image', onError: ({ target }) => { target.src = this.altsrc; } }),
|
73
|
+
h("slot", null)));
|
74
|
+
}
|
75
|
+
static get is() { return "ku4-preview"; }
|
76
|
+
static get encapsulation() { return "shadow"; }
|
77
|
+
static get originalStyleUrls() { return {
|
78
|
+
"$": ["ku4-preview.scss"]
|
79
|
+
}; }
|
80
|
+
static get styleUrls() { return {
|
81
|
+
"$": ["ku4-preview.css"]
|
82
|
+
}; }
|
83
|
+
static get properties() { return {
|
84
|
+
"for": {
|
85
|
+
"type": "string",
|
86
|
+
"mutable": false,
|
87
|
+
"complexType": {
|
88
|
+
"original": "string",
|
89
|
+
"resolved": "string",
|
90
|
+
"references": {}
|
91
|
+
},
|
92
|
+
"required": false,
|
93
|
+
"optional": false,
|
94
|
+
"docs": {
|
95
|
+
"tags": [],
|
96
|
+
"text": "Preview for input having id of value"
|
97
|
+
},
|
98
|
+
"attribute": "for",
|
99
|
+
"reflect": false
|
100
|
+
},
|
101
|
+
"src": {
|
102
|
+
"type": "string",
|
103
|
+
"mutable": false,
|
104
|
+
"complexType": {
|
105
|
+
"original": "string",
|
106
|
+
"resolved": "string",
|
107
|
+
"references": {}
|
108
|
+
},
|
109
|
+
"required": false,
|
110
|
+
"optional": false,
|
111
|
+
"docs": {
|
112
|
+
"tags": [],
|
113
|
+
"text": "The default image src"
|
114
|
+
},
|
115
|
+
"attribute": "src",
|
116
|
+
"reflect": false
|
117
|
+
},
|
118
|
+
"altsrc": {
|
119
|
+
"type": "string",
|
120
|
+
"mutable": false,
|
121
|
+
"complexType": {
|
122
|
+
"original": "string",
|
123
|
+
"resolved": "string",
|
124
|
+
"references": {}
|
125
|
+
},
|
126
|
+
"required": false,
|
127
|
+
"optional": false,
|
128
|
+
"docs": {
|
129
|
+
"tags": [],
|
130
|
+
"text": "An alternate fallback src for when src does not load.\nUseful when this component is used e.g. as a profile image"
|
131
|
+
},
|
132
|
+
"attribute": "altsrc",
|
133
|
+
"reflect": false
|
134
|
+
},
|
135
|
+
"orientation": {
|
136
|
+
"type": "number",
|
137
|
+
"mutable": false,
|
138
|
+
"complexType": {
|
139
|
+
"original": "1 | 6 | 8",
|
140
|
+
"resolved": "1 | 6 | 8",
|
141
|
+
"references": {}
|
142
|
+
},
|
143
|
+
"required": false,
|
144
|
+
"optional": false,
|
145
|
+
"docs": {
|
146
|
+
"tags": [],
|
147
|
+
"text": "EXIF orientation. This will override\nany set capture value. (optional)"
|
148
|
+
},
|
149
|
+
"attribute": "orientation",
|
150
|
+
"reflect": false
|
151
|
+
},
|
152
|
+
"resolutionX": {
|
153
|
+
"type": "number",
|
154
|
+
"mutable": false,
|
155
|
+
"complexType": {
|
156
|
+
"original": "number",
|
157
|
+
"resolved": "number",
|
158
|
+
"references": {}
|
159
|
+
},
|
160
|
+
"required": false,
|
161
|
+
"optional": false,
|
162
|
+
"docs": {
|
163
|
+
"tags": [],
|
164
|
+
"text": "Maximum display x resolution (optional).\nThis will have no effect on the uploaded file\nonly on preview display. It can be very useful\nto set maximum display resolutions to\nsignificantly increase load times for large files."
|
165
|
+
},
|
166
|
+
"attribute": "resolution-x",
|
167
|
+
"reflect": false
|
168
|
+
},
|
169
|
+
"resolutionY": {
|
170
|
+
"type": "number",
|
171
|
+
"mutable": false,
|
172
|
+
"complexType": {
|
173
|
+
"original": "number",
|
174
|
+
"resolved": "number",
|
175
|
+
"references": {}
|
176
|
+
},
|
177
|
+
"required": false,
|
178
|
+
"optional": false,
|
179
|
+
"docs": {
|
180
|
+
"tags": [],
|
181
|
+
"text": "Maximum display y resolution (optional).\nThis will have no effect on the uploaded file\nonly on preview display. It can be very useful\nto set maximum display resolutions to\nsignificantly increase load times for large files."
|
182
|
+
},
|
183
|
+
"attribute": "resolution-y",
|
184
|
+
"reflect": false
|
185
|
+
},
|
186
|
+
"capture": {
|
187
|
+
"type": "string",
|
188
|
+
"mutable": false,
|
189
|
+
"complexType": {
|
190
|
+
"original": "'portrait' | 'landscape'",
|
191
|
+
"resolved": "\"landscape\" | \"portrait\"",
|
192
|
+
"references": {}
|
193
|
+
},
|
194
|
+
"required": false,
|
195
|
+
"optional": false,
|
196
|
+
"docs": {
|
197
|
+
"tags": [],
|
198
|
+
"text": "Force a 'portrait' or 'landscape' capture\norientation. This is unlikely necessary, but\nuseful for those who want to implement specific\ncustom capture orientation logic. (optional)"
|
199
|
+
},
|
200
|
+
"attribute": "capture",
|
201
|
+
"reflect": false
|
202
|
+
},
|
203
|
+
"status": {
|
204
|
+
"type": "string",
|
205
|
+
"mutable": true,
|
206
|
+
"complexType": {
|
207
|
+
"original": "'loading' | 'loaded' | 'error'",
|
208
|
+
"resolved": "\"error\" | \"loaded\" | \"loading\"",
|
209
|
+
"references": {}
|
210
|
+
},
|
211
|
+
"required": false,
|
212
|
+
"optional": false,
|
213
|
+
"docs": {
|
214
|
+
"tags": [],
|
215
|
+
"text": "Indicates load status of target asset (readonly)"
|
216
|
+
},
|
217
|
+
"attribute": "status",
|
218
|
+
"reflect": true
|
219
|
+
},
|
220
|
+
"alt": {
|
221
|
+
"type": "string",
|
222
|
+
"mutable": false,
|
223
|
+
"complexType": {
|
224
|
+
"original": "string",
|
225
|
+
"resolved": "string",
|
226
|
+
"references": {}
|
227
|
+
},
|
228
|
+
"required": false,
|
229
|
+
"optional": false,
|
230
|
+
"docs": {
|
231
|
+
"tags": [],
|
232
|
+
"text": "Alt text"
|
233
|
+
},
|
234
|
+
"attribute": "alt",
|
235
|
+
"reflect": false
|
236
|
+
}
|
237
|
+
}; }
|
238
|
+
static get states() { return {
|
239
|
+
"currentSrc": {}
|
240
|
+
}; }
|
241
|
+
static get methods() { return {
|
242
|
+
"read": {
|
243
|
+
"complexType": {
|
244
|
+
"signature": "() => Promise<FileList>",
|
245
|
+
"parameters": [],
|
246
|
+
"references": {
|
247
|
+
"Promise": {
|
248
|
+
"location": "global"
|
249
|
+
},
|
250
|
+
"FileList": {
|
251
|
+
"location": "global"
|
252
|
+
}
|
253
|
+
},
|
254
|
+
"return": "Promise<FileList>"
|
255
|
+
},
|
256
|
+
"docs": {
|
257
|
+
"text": "Read data out of this preview",
|
258
|
+
"tags": []
|
259
|
+
}
|
260
|
+
}
|
261
|
+
}; }
|
262
|
+
static get watchers() { return [{
|
263
|
+
"propName": "orientation",
|
264
|
+
"methodName": "orientationHandler"
|
265
|
+
}]; }
|
266
|
+
}
|