@zanichelli/albe-web-components 6.9.0 → 6.9.1
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 +28 -0
- package/dist/cjs/index-e3299e0a.js +32 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/z-app-header_2.cjs.entry.js +153 -0
- package/dist/cjs/z-body.cjs.entry.js +18 -0
- package/dist/cjs/z-combobox.cjs.entry.js +3 -3
- package/dist/cjs/z-divider.cjs.entry.js +26 -0
- package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +118 -0
- package/dist/cjs/z-file-upload.cjs.entry.js +11 -11
- package/dist/cjs/z-heading.cjs.entry.js +18 -0
- package/dist/cjs/z-input_2.cjs.entry.js +266 -0
- package/dist/cjs/z-list_3.cjs.entry.js +261 -0
- package/dist/cjs/z-select.cjs.entry.js +325 -0
- package/dist/cjs/z-table-empty-box.cjs.entry.js +1 -1
- package/dist/cjs/z-table.cjs.entry.js +1 -1
- package/dist/cjs/z-typography.cjs.entry.js +30 -0
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/file-upload/z-dragdrop-area/index.js +1 -1
- package/dist/collection/components/file-upload/z-file-upload/index.js +10 -10
- package/dist/collection/components/file-upload/z-file-upload/styles.css +2 -2
- package/dist/collection/components/inputs/z-combobox/index.js +2 -2
- package/dist/collection/components/inputs/z-combobox/styles.css +17 -7
- package/dist/collection/components/inputs/z-input/styles.css +19 -6
- package/dist/collection/components/inputs/z-select/index.js +29 -3
- package/dist/collection/components/inputs/z-select/styles.css +4 -0
- package/dist/collection/components/modal/z-modal/index.js +123 -6
- package/dist/collection/components/modal/z-modal/styles.css +9 -11
- package/dist/collection/components/z-table/z-table/index.js +1 -1
- package/dist/collection/components/z-table/z-table-empty-box/index.js +1 -1
- package/dist/collection/{components → deprecated}/typography/z-body/index.js +0 -0
- package/dist/collection/{components → deprecated}/typography/z-heading/index.js +0 -0
- package/dist/collection/{components → deprecated}/typography/z-typography/index.js +0 -0
- package/dist/collection/{components → deprecated}/typography/z-typography/styles.css +0 -0
- package/dist/esm/index-a2ca4b97.js +32 -4
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/polyfills/css-shim.js +0 -0
- package/dist/esm/{utils-5445d989.js → utils-6cf7efe2.js} +1 -1
- package/dist/esm/web-components-library.js +1 -1
- package/dist/esm/z-app-header_2.entry.js +148 -0
- package/dist/esm/z-body.entry.js +14 -0
- package/dist/esm/z-chip.entry.js +1 -1
- package/dist/esm/z-combobox.entry.js +4 -4
- package/dist/esm/z-divider.entry.js +22 -0
- package/dist/esm/z-dragdrop-area_2.entry.js +113 -0
- package/dist/esm/z-file-upload.entry.js +12 -12
- package/dist/esm/z-heading.entry.js +14 -0
- package/dist/esm/z-input_2.entry.js +261 -0
- package/dist/esm/z-list_3.entry.js +255 -0
- package/dist/esm/z-myz-card-info.entry.js +1 -1
- package/dist/esm/z-myz-list-item.entry.js +1 -1
- package/dist/esm/z-pocket_3.entry.js +1 -1
- package/dist/esm/z-searchbar.entry.js +1 -1
- package/dist/esm/z-select.entry.js +321 -0
- package/dist/esm/z-skip-to-content.entry.js +1 -1
- package/dist/esm/z-slideshow.entry.js +1 -1
- package/dist/esm/z-table-empty-box.entry.js +1 -1
- package/dist/esm/z-table-header.entry.js +1 -1
- package/dist/esm/z-table.entry.js +1 -1
- package/dist/esm/z-toggle-switch.entry.js +1 -1
- package/dist/esm/z-typography.entry.js +26 -0
- package/dist/types/beans/index.d.ts +0 -0
- package/dist/types/components/buttons/z-button/index.d.ts +0 -0
- package/dist/types/components/buttons/z-button-sort/index.d.ts +0 -0
- package/dist/types/components/buttons/z-chip/index.d.ts +0 -0
- package/dist/types/components/buttons/z-toggle-button/index.d.ts +0 -0
- package/dist/types/components/buttons/z-toggle-switch/index.d.ts +0 -0
- package/dist/types/components/date-picker/utils.d.ts +0 -0
- package/dist/types/components/date-picker/z-date-picker/index.d.ts +0 -0
- package/dist/types/components/date-picker/z-range-picker/index.d.ts +0 -0
- package/dist/types/components/file-upload/z-dragdrop-area/index.d.ts +0 -0
- package/dist/types/components/file-upload/z-file/index.d.ts +0 -0
- package/dist/types/components/file-upload/z-file-upload/index.d.ts +0 -0
- package/dist/types/components/icons/icons.d.ts +0 -0
- package/dist/types/components/icons/z-icon/index.d.ts +0 -0
- package/dist/types/components/index.d.ts +0 -0
- package/dist/types/components/indicators/z-stepper/index.d.ts +0 -0
- package/dist/types/components/indicators/z-stepper-item/index.d.ts +0 -0
- package/dist/types/components/inputs/z-combobox/index.d.ts +0 -0
- package/dist/types/components/inputs/z-input/index.d.ts +0 -0
- package/dist/types/components/inputs/z-input-message/index.d.ts +0 -0
- package/dist/types/components/inputs/z-searchbar/index.d.ts +0 -0
- package/dist/types/components/inputs/z-select/index.d.ts +2 -0
- package/dist/types/components/list/z-list/index.d.ts +0 -0
- package/dist/types/components/list/z-list-element/index.d.ts +0 -0
- package/dist/types/components/list/z-list-group/index.d.ts +0 -0
- package/dist/types/components/list/z-toast-notification-list/index.d.ts +0 -0
- package/dist/types/components/logo/z-logo/index.d.ts +0 -0
- package/dist/types/components/modal/z-modal/index.d.ts +20 -2
- package/dist/types/components/navigation/tabs/z-navigation-tab/index.d.ts +0 -0
- package/dist/types/components/navigation/tabs/z-navigation-tab-link/index.d.ts +0 -0
- package/dist/types/components/navigation/tabs/z-navigation-tabs/index.d.ts +0 -0
- package/dist/types/components/navigation/z-app-header/index.d.ts +0 -0
- package/dist/types/components/navigation/z-app-switcher/index.d.ts +0 -0
- package/dist/types/components/navigation/z-link/index.d.ts +0 -0
- package/dist/types/components/navigation/z-menu/index.d.ts +0 -0
- package/dist/types/components/navigation/z-menu-section/index.d.ts +0 -0
- package/dist/types/components/notification/z-info-box/index.d.ts +0 -0
- package/dist/types/components/notification/z-notification/index.d.ts +0 -0
- package/dist/types/components/notification/z-toast-notification/index.d.ts +0 -0
- package/dist/types/components/notification/z-tooltip/index.d.ts +0 -0
- package/dist/types/components/panel/z-panel-elem/index.d.ts +0 -0
- package/dist/types/components/z-anchor-navigation/index.d.ts +0 -0
- package/dist/types/components/z-aria-alert/index.d.ts +0 -0
- package/dist/types/components/z-avatar/index.d.ts +0 -0
- package/dist/types/components/z-card/index.d.ts +0 -0
- package/dist/types/components/z-carousel/index.d.ts +0 -0
- package/dist/types/components/z-contextual-menu/index.d.ts +0 -0
- package/dist/types/components/z-cover-hero/index.d.ts +0 -0
- package/dist/types/components/z-divider/index.d.ts +0 -0
- package/dist/types/components/z-ghost-loading/index.d.ts +0 -0
- package/dist/types/components/z-info-reveal/index.d.ts +0 -0
- package/dist/types/components/z-offcanvas/index.d.ts +0 -0
- package/dist/types/components/z-pagination/index.d.ts +0 -0
- package/dist/types/components/z-popover/index.d.ts +0 -0
- package/dist/types/components/z-section-title/index.d.ts +0 -0
- package/dist/types/components/z-skip-to-content/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-body/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-cell/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-empty-box/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-expanded-row/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-footer/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-head/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-header/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-header-row/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-row/index.d.ts +0 -0
- package/dist/types/components/z-table/z-table-sticky-footer/index.d.ts +0 -0
- package/dist/types/components/z-tag/index.d.ts +0 -0
- package/dist/types/components/z-visually-hidden/index.d.ts +0 -0
- package/dist/types/components.d.ts +26 -2
- package/dist/types/constants/breakpoints.d.ts +0 -0
- package/dist/types/constants/icons.d.ts +0 -0
- package/dist/types/{components → deprecated}/typography/z-body/index.d.ts +0 -0
- package/dist/types/{components → deprecated}/typography/z-heading/index.d.ts +0 -0
- package/dist/types/{components → deprecated}/typography/z-typography/index.d.ts +0 -0
- package/dist/types/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-alert/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-body/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-cover/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-dictionary/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-footer/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-footer-sections/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-header/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-icon/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-info/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/card/z-myz-card-list/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/list/z-myz-list/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/list/z-myz-list-item/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/pocket/z-messages-pocket/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/pocket/z-pocket/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/pocket/z-pocket-body/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/pocket/z-pocket-header/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/pocket/z-pocket-message/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/z-alert/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/z-otp/index.d.ts +0 -0
- package/dist/types/snowflakes/myz/z-slideshow/index.d.ts +0 -0
- package/dist/types/stencil-public-runtime.d.ts +0 -0
- package/dist/types/utils/utils.d.ts +0 -0
- package/dist/web-components-library/index.esm.js +1 -1
- package/dist/web-components-library/{p-48d3f650.entry.js → p-26033729.entry.js} +1 -1
- package/dist/web-components-library/p-33352f9e.entry.js +1 -0
- package/dist/web-components-library/p-3860061a.entry.js +1 -0
- package/dist/web-components-library/p-4367f978.entry.js +1 -0
- package/dist/web-components-library/p-52b084fb.entry.js +1 -0
- package/dist/web-components-library/{p-229e17af.entry.js → p-53065788.entry.js} +1 -1
- package/dist/web-components-library/{p-51333b32.entry.js → p-54b18f6e.entry.js} +1 -1
- package/dist/web-components-library/p-56cbd174.entry.js +1 -0
- package/dist/web-components-library/p-5ac6109d.entry.js +1 -0
- package/dist/web-components-library/{p-28b288a8.entry.js → p-5c62387a.entry.js} +1 -1
- package/dist/web-components-library/p-6acb48e3.entry.js +1 -0
- package/dist/web-components-library/{p-102d82ee.entry.js → p-6c163539.entry.js} +1 -1
- package/dist/web-components-library/p-6ea7428a.entry.js +1 -0
- package/dist/web-components-library/{p-00481c22.js → p-8ebe4adf.js} +1 -1
- package/dist/web-components-library/{p-db77ef4e.entry.js → p-93142fac.entry.js} +1 -1
- package/dist/web-components-library/p-9c338aeb.entry.js +1 -0
- package/dist/web-components-library/{p-669f14ae.entry.js → p-a05ce0a6.entry.js} +1 -1
- package/dist/web-components-library/{p-933efc27.entry.js → p-a6c0f149.entry.js} +1 -1
- package/dist/web-components-library/{p-169b9762.entry.js → p-d2127d84.entry.js} +1 -1
- package/dist/web-components-library/p-d6497e67.entry.js +1 -0
- package/dist/web-components-library/p-d9a6a204.entry.js +1 -0
- package/dist/web-components-library/p-e78ce8ec.entry.js +1 -0
- package/dist/web-components-library/p-edd53386.entry.js +1 -0
- package/dist/web-components-library/web-components-library.css +0 -0
- package/dist/web-components-library/web-components-library.esm.js +1 -1
- package/loader/cdn.js +0 -0
- package/loader/index.cjs.js +0 -0
- package/loader/index.d.ts +0 -0
- package/loader/index.es2017.js +0 -0
- package/loader/index.js +0 -0
- package/loader/package.json +0 -0
- package/package.json +1 -1
- package/www/build/index.esm.js +1 -1
- package/www/build/{p-48d3f650.entry.js → p-26033729.entry.js} +1 -1
- package/www/build/p-33352f9e.entry.js +1 -0
- package/www/build/p-3860061a.entry.js +1 -0
- package/www/build/p-4367f978.entry.js +1 -0
- package/www/build/p-52b084fb.entry.js +1 -0
- package/www/build/{p-229e17af.entry.js → p-53065788.entry.js} +1 -1
- package/www/build/{p-51333b32.entry.js → p-54b18f6e.entry.js} +1 -1
- package/www/build/p-56cbd174.entry.js +1 -0
- package/www/build/p-5ac6109d.entry.js +1 -0
- package/www/build/{p-28b288a8.entry.js → p-5c62387a.entry.js} +1 -1
- package/www/build/p-6acb48e3.entry.js +1 -0
- package/www/build/{p-102d82ee.entry.js → p-6c163539.entry.js} +1 -1
- package/www/build/p-6ea7428a.entry.js +1 -0
- package/www/build/{p-00481c22.js → p-8ebe4adf.js} +1 -1
- package/www/build/{p-db77ef4e.entry.js → p-93142fac.entry.js} +1 -1
- package/www/build/p-9c338aeb.entry.js +1 -0
- package/www/build/{p-669f14ae.entry.js → p-a05ce0a6.entry.js} +1 -1
- package/www/build/p-a240c0f4.js +1 -0
- package/www/build/{p-933efc27.entry.js → p-a6c0f149.entry.js} +1 -1
- package/www/build/{p-169b9762.entry.js → p-d2127d84.entry.js} +1 -1
- package/www/build/p-d6497e67.entry.js +1 -0
- package/www/build/p-d9a6a204.entry.js +1 -0
- package/www/build/p-e78ce8ec.entry.js +1 -0
- package/www/build/p-edd53386.entry.js +1 -0
- package/www/build/web-components-library.css +0 -0
- package/www/build/web-components-library.esm.js +1 -1
- package/www/build/web-components-library.js +0 -0
- package/www/host.config.json +0 -0
- package/www/index.html +1 -1
- package/dist/cjs/z-app-header_11.cjs.entry.js +0 -1030
- package/dist/cjs/z-dragdrop-area_3.cjs.entry.js +0 -76
- package/dist/esm/z-app-header_11.entry.js +0 -1016
- package/dist/esm/z-dragdrop-area_3.entry.js +0 -70
- package/dist/web-components-library/p-4bdf6a9b.entry.js +0 -1
- package/dist/web-components-library/p-5bbbda4e.entry.js +0 -1
- package/dist/web-components-library/p-735bdfa3.entry.js +0 -1
- package/dist/web-components-library/p-95b8f109.entry.js +0 -1
- package/dist/web-components-library/p-d0accfc5.entry.js +0 -1
- package/dist/web-components-library/p-de55c171.entry.js +0 -1
- package/www/build/p-4bdf6a9b.entry.js +0 -1
- package/www/build/p-5bbbda4e.entry.js +0 -1
- package/www/build/p-735bdfa3.entry.js +0 -1
- package/www/build/p-95b8f109.entry.js +0 -1
- package/www/build/p-d0accfc5.entry.js +0 -1
- package/www/build/p-de55c171.entry.js +0 -1
- package/www/build/p-e9b88186.js +0 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-e3299e0a.js');
|
|
6
|
+
const index$1 = require('./index-fa110f37.js');
|
|
7
|
+
|
|
8
|
+
const stylesCss$1 = ":host{margin-top:calc(var(--space-unit) * 3);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>.dragdrop{position:relative;display:flex;height:228px;flex-direction:column;border-color:var(--color-surface04);background-color:var(--color-surface02);background-image:url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='2' ry='2' stroke='%23CACCCEFF' stroke-width='2' stroke-dasharray='15%2c 10%2c 14%2c 11' stroke-dashoffset='3' stroke-linecap='square'/%3e%3c/svg%3e\");border-radius:2px;color:var(--color-text01)}:host>.dragdrop.dragover *{pointer-events:none}:host>.dragdrop .dragover-container{position:absolute;z-index:10;top:0;left:0;display:none;width:100%;height:100%;background-color:var(--color-primary03);box-shadow:var(--shadow-focus-primary)}:host>.dragdrop .dragover-container .dragover-message{padding:10px 28px;background-color:var(--color-link-primary);color:var(--color-text04)}:host>.dragdrop.dragover .dragover-container{display:flex;align-items:center;justify-content:center}";
|
|
9
|
+
|
|
10
|
+
const ZDragdropArea = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
this.fileDropped = index.createEvent(this, "fileDropped", 7);
|
|
14
|
+
}
|
|
15
|
+
fileDroppedHandler(files) {
|
|
16
|
+
this.fileDropped.emit(files);
|
|
17
|
+
}
|
|
18
|
+
renderOnDragOverMessage() {
|
|
19
|
+
return (index.h("div", { class: "dragover-container" }, index.h("div", { class: "dragover-message" }, index.h("span", { class: "body-2-sb" }, "Rilascia i file in questa area per allegarli."))));
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return (index.h("div", { tabIndex: 0, ref: (val) => (this.dragDropContainer = val), class: "dragdrop", onDragOver: (e) => {
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
this.dragDropContainer.classList.add("dragover");
|
|
25
|
+
}, onDragLeave: () => {
|
|
26
|
+
this.dragDropContainer.classList.remove("dragover");
|
|
27
|
+
}, onDrop: (e) => {
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
if (e.dataTransfer.files.length) {
|
|
30
|
+
this.dragDropContainer.classList.remove("dragover");
|
|
31
|
+
this.fileDroppedHandler(e.dataTransfer.files);
|
|
32
|
+
}
|
|
33
|
+
} }, this.renderOnDragOverMessage(), index.h("slot", null)));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
ZDragdropArea.style = stylesCss$1;
|
|
37
|
+
|
|
38
|
+
const stylesCss = ":host{font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>dialog{padding:0;border:none}:host>dialog::backdrop{display:none}.modal-background{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--gray900);opacity:0.7}.modal-container{z-index:1010;display:flex;overflow:-moz-scrollbars-none;overflow:hidden;width:100%;height:100vh;flex-direction:column}.modal-container>header{display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-start;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);background:var(--color-surface02)}.modal-container>header button{padding:0;border:none;margin:0;margin-left:auto;background:transparent;cursor:pointer}.modal-container>header z-icon{--z-icon-width:calc(var(--space-unit) * 2.5);--z-icon-height:calc(var(--space-unit) * 2.5);display:flex;fill:var(--color-icon01)}.modal-container>header>div{display:flex;width:100%;flex-direction:column;margin-right:calc(var(--space-unit) * 2)}.modal-container>header h1,.modal-container>header h2{padding:0;margin:0;color:var(--color-text01);font-weight:var(--font-rg)}.modal-container>header h1{font-size:var(--font-size-5);letter-spacing:0;line-height:1.4}.modal-container>header h2{font-size:var(--font-size-3);letter-spacing:0;line-height:1.5}.modal-container>header>div *:empty{display:none}.modal-container>header h1+h2{margin-top:calc(var(--space-unit) * 0.5)}.modal-container>.modal-content{overflow:auto;flex:1 auto;background:var(--color-surface01);overflow-x:hidden}.modal-container .modal-content::-webkit-scrollbar{width:10px;background:linear-gradient(to right, transparent 0 3px, var(--gray200) 3px 7px, transparent 7px 10px);border-radius:var(--border-radius)}.modal-container .modal-content::-webkit-scrollbar-track{background-color:transparent}.modal-container .modal-content::-webkit-scrollbar-thumb{width:10px;background-color:var(--color-primary01);border-radius:var(--border-radius)}.modal-container .modal-content::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}.modal-container .modal-content{scrollbar-color:var(--color-primary01) transparent}@media only screen and (min-width: 768px){.modal-container{position:fixed;top:calc(var(--space-unit) * 6);left:50%;width:auto;min-width:calc(var(--space-unit) * 40);height:auto;min-height:calc(var(--space-unit) * 40);max-height:calc(100vh - calc(var(--space-unit) * 6 * 2));border-radius:var(--border-radius);transform:translateX(-50%)}.modal-container>header z-icon{--z-icon-width:calc(var(--space-unit) * 3);--z-icon-height:calc(var(--space-unit) * 3)}}@media only screen and (min-width: 768px) and (max-width: 1151px){.modal-container>header{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3)}}@media only screen and (min-width: 1152px){.modal-container>header{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 4)}.modal-container>header h1{font-size:var(--font-size-6);letter-spacing:0;line-height:1.33}.modal-container>header h2{font-size:var(--font-size-4);letter-spacing:0;line-height:1.5}.modal-container>header h1+h2{margin-top:0}}";
|
|
39
|
+
|
|
40
|
+
const FOCUSABLE_ELEMENTS_SELECTOR = ':is(button, input, select, textarea, [contenteditable=""], [contenteditable="true"], a[href], [tabindex], summary):not([disabled], [disabled=""], [tabindex="-1"], [aria-hidden="true"], [hidden])';
|
|
41
|
+
const ZModal = class {
|
|
42
|
+
constructor(hostRef) {
|
|
43
|
+
index.registerInstance(this, hostRef);
|
|
44
|
+
this.modalClose = index.createEvent(this, "modalClose", 7);
|
|
45
|
+
this.modalHeaderActive = index.createEvent(this, "modalHeaderActive", 7);
|
|
46
|
+
this.modalBackgroundClick = index.createEvent(this, "modalBackgroundClick", 7);
|
|
47
|
+
/** aria-label for close button (optional) */
|
|
48
|
+
this.closeButtonLabel = "chiudi modale";
|
|
49
|
+
/** add role "alertdialog" to dialog (optional, default is false) */
|
|
50
|
+
this.alertdialog = false;
|
|
51
|
+
}
|
|
52
|
+
emitModalClose() {
|
|
53
|
+
this.modalClose.emit({ modalid: this.modalid });
|
|
54
|
+
}
|
|
55
|
+
emitModalHeaderActive() {
|
|
56
|
+
this.modalHeaderActive.emit({ modalid: this.modalid });
|
|
57
|
+
}
|
|
58
|
+
emitBackgroundClick() {
|
|
59
|
+
this.modalBackgroundClick.emit({ modalid: this.modalid });
|
|
60
|
+
}
|
|
61
|
+
componentDidLoad() {
|
|
62
|
+
this.open();
|
|
63
|
+
}
|
|
64
|
+
/** open modal */
|
|
65
|
+
async open() {
|
|
66
|
+
var _a;
|
|
67
|
+
(_a = this.dialog) === null || _a === void 0 ? void 0 : _a.showModal();
|
|
68
|
+
}
|
|
69
|
+
/** close modal */
|
|
70
|
+
async close() {
|
|
71
|
+
var _a;
|
|
72
|
+
(_a = this.dialog) === null || _a === void 0 ? void 0 : _a.close();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get a list of focusable elements in the dialog.
|
|
76
|
+
* Remove elements with `display: none` from the list, because they're not focusable.
|
|
77
|
+
*
|
|
78
|
+
* N.B. The list is built on the assumption that elements inside shadow root are placed ALL before the `modalContent` slot.
|
|
79
|
+
* Adding focusable elements after the `modalContent` slot would break the order of elements in the list.
|
|
80
|
+
*/
|
|
81
|
+
get focusableElements() {
|
|
82
|
+
return [
|
|
83
|
+
...Array.from(this.host.shadowRoot.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)),
|
|
84
|
+
...Array.from(this.host.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)),
|
|
85
|
+
].filter((element) => getComputedStyle(element).display !== "none");
|
|
86
|
+
}
|
|
87
|
+
handleKeyDown(e) {
|
|
88
|
+
if (e.code !== index$1.KeyboardCode.TAB) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const focusableElements = this.focusableElements;
|
|
92
|
+
const shadowActiveElement = this.host.shadowRoot.activeElement;
|
|
93
|
+
const activeElement = this.host.ownerDocument.activeElement;
|
|
94
|
+
const firstFocusableElement = focusableElements[0];
|
|
95
|
+
const lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
96
|
+
if (e.shiftKey && (shadowActiveElement == firstFocusableElement || activeElement == firstFocusableElement)) {
|
|
97
|
+
// shift + tab was pressed and current active element is the first focusable element
|
|
98
|
+
e.preventDefault();
|
|
99
|
+
lastFocusableElement.focus();
|
|
100
|
+
}
|
|
101
|
+
else if (!e.shiftKey && (shadowActiveElement == lastFocusableElement || activeElement == lastFocusableElement)) {
|
|
102
|
+
// shift + tab was pressed and current active element is the first focusable element
|
|
103
|
+
e.preventDefault();
|
|
104
|
+
firstFocusableElement.focus();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
render() {
|
|
108
|
+
return (index.h("dialog", { "aria-labelledby": "modal-title", "aria-describedby": "modal-content", role: this.alertdialog ? "alertdialog" : undefined, ref: (el) => (this.dialog = el), onClose: () => this.emitModalClose() }, index.h("div", { class: "modal-container", id: this.modalid }, index.h("header", { onClick: this.emitModalHeaderActive.bind(this) }, index.h("div", null, this.modaltitle && index.h("h1", { id: "modal-title" }, this.modaltitle), this.modalsubtitle && index.h("h2", { id: "modal-subtitle" }, this.modalsubtitle)), index.h("slot", { name: "modalCloseButton" }, index.h("button", { "aria-label": this.closeButtonLabel, onClick: () => this.close() }, index.h("z-icon", { name: "multiply-circle-filled" })))), index.h("div", { class: "modal-content", id: "modal-content" }, index.h("slot", { name: "modalContent" }))), index.h("div", { class: "modal-background", "data-action": "modalBackground", "data-modal": this.modalid, onClick: () => {
|
|
109
|
+
this.emitBackgroundClick();
|
|
110
|
+
this.close();
|
|
111
|
+
} })));
|
|
112
|
+
}
|
|
113
|
+
get host() { return index.getElement(this); }
|
|
114
|
+
};
|
|
115
|
+
ZModal.style = stylesCss;
|
|
116
|
+
|
|
117
|
+
exports.z_dragdrop_area = ZDragdropArea;
|
|
118
|
+
exports.z_modal = ZModal;
|
|
@@ -7,7 +7,7 @@ const index$1 = require('./index-fa110f37.js');
|
|
|
7
7
|
const utils = require('./utils-600bad93.js');
|
|
8
8
|
require('./breakpoints-88c4fd6c.js');
|
|
9
9
|
|
|
10
|
-
const stylesCss = ":host{color:var(--color-text01);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>.container{display:flex;flex-direction:column}:host .modal-wrapper{display:flex;align-items:center;justify-content:center}:host .modal-wrapper>.files-wrapper{display:flex;flex-direction:column;margin:calc(var(--space-unit) * 4);gap:var(--space-unit)}:host .text-container{display:flex;flex-direction:column;margin:auto}:host .text-container
|
|
10
|
+
const stylesCss = ":host{color:var(--color-text01);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>.container{display:flex;flex-direction:column}:host .modal-wrapper{display:flex;align-items:center;justify-content:center}:host .modal-wrapper>.files-wrapper{display:flex;flex-direction:column;margin:calc(var(--space-unit) * 4);gap:var(--space-unit)}:host .text-container{display:flex;flex-direction:column;margin:auto}:host .text-container .body-1{text-align:center}:host .text-container .upload-link{color:var(--color-link-primary);cursor:pointer}:host .text-container .upload-link-text{margin-bottom:var(--space-unit)}input#file-elem{display:none}#title{display:inline-block;margin-bottom:var(--space-unit)}:host>.container>z-button{display:inline-block;margin-top:calc(var(--space-unit) * 3)}:host>.container>.files-container.hidden{display:none}:host>.container>.files-container>.heading-4-sb{display:inline-block;margin:calc(var(--space-unit) * 3) 0}:host>.container>.files-container>.files-wrapper{display:flex;flex-wrap:wrap;column-gap:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}:host>.container>.files-container>z-divider{margin-top:calc(var(--space-unit) * 3);margin-bottom:0}@media only screen and (min-width: 768px){:host>.container>z-button{align-self:flex-start}}";
|
|
11
11
|
|
|
12
12
|
const ZFileUpload = class {
|
|
13
13
|
constructor(hostRef) {
|
|
@@ -102,10 +102,10 @@ const ZFileUpload = class {
|
|
|
102
102
|
return errors;
|
|
103
103
|
}
|
|
104
104
|
renderTitle() {
|
|
105
|
-
return (index.h("
|
|
105
|
+
return (index.h("h2", { class: "heading-2-sb", id: "title" }, this.mainTitle));
|
|
106
106
|
}
|
|
107
|
-
renderDescription(
|
|
108
|
-
return
|
|
107
|
+
renderDescription(cssClass) {
|
|
108
|
+
return index.h("span", { class: cssClass }, this.description);
|
|
109
109
|
}
|
|
110
110
|
renderAllowedFileExtensions() {
|
|
111
111
|
let fileFormatString = "";
|
|
@@ -121,10 +121,10 @@ const ZFileUpload = class {
|
|
|
121
121
|
fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;
|
|
122
122
|
}
|
|
123
123
|
const finalString = `Puoi allegare file${fileFormatString}${fileWeightString}.`;
|
|
124
|
-
return index.h("
|
|
124
|
+
return index.h("span", { class: "body-3" }, fileFormatString || fileWeightString ? finalString : null);
|
|
125
125
|
}
|
|
126
126
|
renderFileSection() {
|
|
127
|
-
return (index.h("section", { class: `files-container ${!this.files.length ? "hidden" : ""}` }, index.h("
|
|
127
|
+
return (index.h("section", { class: `files-container ${!this.files.length ? "hidden" : ""}` }, index.h("h4", { class: "heading-4-sb" }, "File appena caricati"), index.h("div", { class: "files-wrapper" }, index.h("slot", { name: "files" })), index.h("z-divider", { size: index$1.DividerSize.MEDIUM })));
|
|
128
128
|
}
|
|
129
129
|
renderInput() {
|
|
130
130
|
return (index.h("input", Object.assign({}, this.inputAttributes, { onChange: () => this.fileInputHandler(), accept: this.acceptedFormat, ref: (val) => (this.input = val) })));
|
|
@@ -143,17 +143,17 @@ const ZFileUpload = class {
|
|
|
143
143
|
renderUploadLink() {
|
|
144
144
|
return [
|
|
145
145
|
this.renderInput(),
|
|
146
|
-
index.h("
|
|
146
|
+
index.h("span", { class: "body-1 upload-link-text" }, "Trascinalo qui o", " ", index.h("span", { tabIndex: 0, class: "body-1-sb upload-link", onClick: () => this.input.click(), onKeyPress: (e) => {
|
|
147
147
|
if (e.code == "Space" || e.code == "Enter") {
|
|
148
148
|
e.preventDefault();
|
|
149
149
|
this.input.click();
|
|
150
150
|
}
|
|
151
|
-
},
|
|
151
|
+
}, ref: (val) => (this.uploadLink = val) }, "caricalo"), " ", "dal tuo computer"),
|
|
152
152
|
];
|
|
153
153
|
}
|
|
154
154
|
renderDefaultMode() {
|
|
155
155
|
return [
|
|
156
|
-
this.renderDescription("
|
|
156
|
+
this.renderDescription("body-3-sb"),
|
|
157
157
|
this.renderAllowedFileExtensions(),
|
|
158
158
|
this.renderFileSection(),
|
|
159
159
|
this.renderUploadButton(),
|
|
@@ -162,7 +162,7 @@ const ZFileUpload = class {
|
|
|
162
162
|
renderDragDropMode() {
|
|
163
163
|
return [
|
|
164
164
|
this.renderFileSection(),
|
|
165
|
-
index.h("z-dragdrop-area", null, index.h("div", { class: "text-container" }, this.renderDescription("
|
|
165
|
+
index.h("z-dragdrop-area", null, index.h("div", { class: "text-container" }, this.renderDescription("body-1"), this.renderUploadLink(), this.renderAllowedFileExtensions())),
|
|
166
166
|
];
|
|
167
167
|
}
|
|
168
168
|
formatErrorString(key, value) {
|
|
@@ -172,7 +172,7 @@ const ZFileUpload = class {
|
|
|
172
172
|
}
|
|
173
173
|
handleErrorModalContent() {
|
|
174
174
|
return (index.h("div", { slot: "modalContent" }, index.h("div", { class: "modal-wrapper" }, index.h("div", { class: "files" }, Array.from(this.invalidFiles).map(([key, value]) => {
|
|
175
|
-
return
|
|
175
|
+
return index.h("span", { class: "body-3" }, this.formatErrorString(key, value));
|
|
176
176
|
})))));
|
|
177
177
|
}
|
|
178
178
|
render() {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-e3299e0a.js');
|
|
6
|
+
|
|
7
|
+
const ZHeading = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
/** Font weight variant */
|
|
11
|
+
this.variant = "regular";
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
return (index.h("z-typography", { tabIndex: 0, component: this.component || `h${this.level}`, level: `h${this.level}`, variant: this.variant }, index.h("slot", null)));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.z_heading = ZHeading;
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-e3299e0a.js');
|
|
6
|
+
const index$1 = require('./index-fa110f37.js');
|
|
7
|
+
const utils = require('./utils-600bad93.js');
|
|
8
|
+
require('./breakpoints-88c4fd6c.js');
|
|
9
|
+
|
|
10
|
+
const stylesCss$1 = ".sc-z-input-h{display:inline-block;width:inherit}input.sc-z-input::-ms-clear,input.sc-z-input::-ms-reveal{display:none}.sc-z-input-h input.sc-z-input::-ms-clear,.sc-z-input-h input.sc-z-input::-ms-reveal{display:none}input.sc-z-input,textarea.sc-z-input,.textarea-wrapper.sc-z-input{box-sizing:border-box;border:var(--border-size-small) solid var(--color-surface04);background:var(--color-input-field01);border-radius:var(--border-radius-small);color:var(--color-text01);fill:var(--color-icon02);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg);outline:none}.cursor-select.sc-z-input-h input.sc-z-input{cursor:pointer}.sc-z-input-h:not(.active-select) input.sc-z-input:focus:focus-visible,.textarea-wrapper.sc-z-input:focus-within{box-shadow:var(--shadow-focus-primary)}input.sc-z-input:focus:focus-visible,textarea.sc-z-input:focus:focus-visible{color:var(--color-primary02)}.active-select.sc-z-input-h input.sc-z-input{border:var(--border-size-small) solid var(--blue500)}.cursor-select.sc-z-input-h input.sc-z-input:focus:focus-visible{box-shadow:var(--shadow-focus-primary)}.sc-z-input-h input[readonly].sc-z-input:focus:focus-visible{box-shadow:none;pointer-events:none}.filled.sc-z-input{border-color:var(--color-surface05)}.input-success.sc-z-input{border-color:var(--color-success01);background:var(--color-success-inverse);fill:var(--color-success01)}.input-error.sc-z-input{border-color:var(--color-error01);background:var(--color-error-inverse);fill:var(--color-error01)}.input-warning.sc-z-input{border-color:var(--color-warning01);background:var(--color-warning-inverse);fill:var(--color-warning01)}input.sc-z-input:hover,.textarea-wrapper.sc-z-input:hover{outline:var(--border-size-medium) solid var(--color-surface04);outline-offset:-2px}.sc-z-input-h:not(.active-select) input[readonly].sc-z-input,.readonly.sc-z-input{border-color:var(--color-disabled01);fill:var(--color-disabled01);pointer-events:none}[disabled].sc-z-input-h:not([disabled=\"false\"]) input.sc-z-input,[disabled].sc-z-input-h:not([disabled=\"false\"]) .textarea-wrapper.sc-z-input,[disabled].sc-z-input-h:not([disabled=\"false\"]) z-icon.sc-z-input{border-color:var(--color-disabled01);box-shadow:none;color:var(--color-disabled02);fill:var(--color-disabled01);pointer-events:none}[disabled].sc-z-input-h:not([disabled=\"false\"]) input.sc-z-input:hover{border-width:var(--border-size-small)}input.sc-z-input::placeholder,textarea.sc-z-input::placeholder{color:var(--color-text05)}.sc-z-input::-webkit-textarea-placeholder{color:var(--color-text05)}.sc-z-input:-ms-textarea-placeholder{color:var(--color-text05)}.sc-z-input::placeholder{color:var(--color-text05)}label.input-label.sc-z-input{display:block;padding-bottom:var(--space-unit);color:var(--color-text02);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--font-sb);text-align:left;text-transform:uppercase}[disabled].sc-z-input-h:not([disabled=\"false\"]) label.input-label.sc-z-input{color:var(--color-disabled02)}.text-wrapper.sc-z-input>div.sc-z-input{position:relative;z-index:1;fill:var(--color-icon02)}.text-wrapper.sc-z-input>div.sc-z-input>input.sc-z-input{width:100%;height:calc(var(--space-unit) * 5.5);box-sizing:border-box;padding:0 calc(var(--space-unit) * 1.5);margin:0}.text-wrapper.sc-z-input>div.sc-z-input>input.has-icon.sc-z-input,.text-wrapper.sc-z-input>div.sc-z-input>input.has-clear-icon.sc-z-input{padding-right:calc(var(--space-unit) * 5.25)}.text-wrapper.sc-z-input>div.sc-z-input>input.has-icon.has-clear-icon.sc-z-input{padding-right:calc(var(--space-unit) * 8)}.text-wrapper.sc-z-input .icons-wrapper.sc-z-input{position:absolute;z-index:2;top:50%;right:calc(var(--space-unit) * 1.5);display:flex;pointer-events:none;transform:translateY(-50%)}.text-wrapper.sc-z-input .icons-wrapper.sc-z-input>button.icon-button.sc-z-input{padding:0;border:0;background:none;color:inherit;font:inherit;pointer-events:initial}.text-wrapper.sc-z-input .icons-wrapper.sc-z-input>button.icon-button.sc-z-input+button.icon-button.sc-z-input{margin-left:calc(var(--space-unit) * 0.5)}.text-wrapper.sc-z-input .icons-wrapper.sc-z-input>button.icon-button.reset-icon.sc-z-input,.text-wrapper.sc-z-input .icons-wrapper.sc-z-input>button.icon-button.toggle-password-icon.sc-z-input{cursor:pointer}.text-wrapper.sc-z-input .icons-wrapper.sc-z-input>button.icon-button.sc-z-input>z-icon.sc-z-input{--z-icon-width:18px;--z-icon-height:18px;display:block}.text-wrapper.sc-z-input>div.sc-z-input>input.sc-z-input:-webkit-autofill,.text-wrapper.sc-z-input>div.sc-z-input>input.sc-z-input:-webkit-autofill:hover,.text-wrapper.sc-z-input>div.sc-z-input>input.sc-z-input:-webkit-autofill:focus,.text-wrapper.sc-z-input>div.sc-z-input>input.sc-z-input:-webkit-autofill:active{background:var(--color-white) !important;background-clip:text !important;-webkit-transition-delay:99999s !important}.textarea-wrapper.sc-z-input{padding:calc(var(--space-unit) * 1.5);scrollbar-color:var(--color-primary01) transparent}textarea.sc-z-input::-webkit-scrollbar{width:10px;background:linear-gradient(to right, transparent 0 3px, var(--gray200) 3px 7px, transparent 7px 10px);border-radius:var(--border-radius)}textarea.sc-z-input::-webkit-scrollbar-track{background-color:transparent}textarea.sc-z-input::-webkit-scrollbar-thumb{width:10px;background-color:var(--color-primary01);border-radius:var(--border-radius)}textarea.sc-z-input::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}textarea.sc-z-input{width:100%;min-height:132px;padding:0;border:none;margin:0;resize:none}.radio-wrapper.sc-z-input,.checkbox-wrapper.sc-z-input{position:relative;display:inline-flex;flex-direction:row;align-items:center;color:var(--color-text01);fill:var(--color-primary01);font-family:var(--font-family-sans)}.radio-wrapper.sc-z-input:hover,.checkbox-wrapper.sc-z-input:hover{color:var(--color-hover-primary);fill:currentcolor}.radio-wrapper.sc-z-input>input.sc-z-input,.checkbox-wrapper.sc-z-input>input.sc-z-input{position:absolute;z-index:-1;opacity:0;pointer-events:none}.radio-wrapper.sc-z-input .radio-label.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.sc-z-input{display:inline-flex;align-items:center;margin:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:1;text-transform:inherit}.radio-wrapper.sc-z-input input.sc-z-input:not(:disabled)+.radio-label.sc-z-input,.checkbox-wrapper.sc-z-input input.sc-z-input:not(:disabled)+.checkbox-label.sc-z-input{cursor:pointer}.radio-wrapper.sc-z-input .radio-label.sc-z-input z-icon.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.sc-z-input z-icon.sc-z-input{cursor:pointer;fill:inherit}.radio-wrapper.sc-z-input .radio-label.after.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.after.sc-z-input{flex-direction:row}.radio-wrapper.sc-z-input .radio-label.before.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.before.sc-z-input{flex-direction:row-reverse}.radio-wrapper.sc-z-input .radio-label.after.sc-z-input>span.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.after.sc-z-input>span.sc-z-input{margin-left:var(--space-unit)}.radio-wrapper.sc-z-input .radio-label.before.sc-z-input>span.sc-z-input,.checkbox-wrapper.sc-z-input .checkbox-label.before.sc-z-input>span.sc-z-input{margin-right:var(--space-unit)}.radio-wrapper.sc-z-input>input.sc-z-input:focus:focus-visible+.radio-label.sc-z-input>z-icon.sc-z-input,.checkbox-wrapper.sc-z-input>input.sc-z-input:focus:focus-visible+.checkbox-label.sc-z-input>z-icon.sc-z-input{border-radius:var(--border-radius-small);box-shadow:var(--shadow-focus-primary)}.radio-wrapper.sc-z-input>input.sc-z-input:disabled+.radio-label.sc-z-input,.checkbox-wrapper.sc-z-input>input.sc-z-input:disabled+.checkbox-label.sc-z-input{color:var(--color-disabled02)}.radio-wrapper.sc-z-input>input.sc-z-input:disabled+.radio-label.sc-z-input>z-icon.sc-z-input,.checkbox-wrapper.sc-z-input>input.sc-z-input:disabled+.checkbox-label.sc-z-input>z-icon.sc-z-input{cursor:default;fill:var(--color-disabled01)}";
|
|
11
|
+
|
|
12
|
+
const ZInput = class {
|
|
13
|
+
constructor(hostRef) {
|
|
14
|
+
index.registerInstance(this, hostRef);
|
|
15
|
+
this.inputChange = index.createEvent(this, "inputChange", 7);
|
|
16
|
+
this.startTyping = index.createEvent(this, "startTyping", 7);
|
|
17
|
+
this.stopTyping = index.createEvent(this, "stopTyping", 7);
|
|
18
|
+
this.inputCheck = index.createEvent(this, "inputCheck", 7);
|
|
19
|
+
/** the id of the input element */
|
|
20
|
+
this.htmlid = `id-${utils.randomId()}`;
|
|
21
|
+
/** the input aria-label */
|
|
22
|
+
this.ariaLabel = "";
|
|
23
|
+
/** the input is disabled */
|
|
24
|
+
this.disabled = false;
|
|
25
|
+
/** the input is readonly */
|
|
26
|
+
this.readonly = false;
|
|
27
|
+
/** the input is required (optional): available for text, password, number, email, textarea, checkbox */
|
|
28
|
+
this.required = false;
|
|
29
|
+
/** checked: available for checkbox, radio */
|
|
30
|
+
this.checked = false;
|
|
31
|
+
/** input helper message (optional): available for text, password, number, email, textarea - if set to `false` message won't be displayed */
|
|
32
|
+
this.message = true;
|
|
33
|
+
/** the input label position: available for checkbox, radio */
|
|
34
|
+
this.labelPosition = index$1.LabelPosition.RIGHT;
|
|
35
|
+
/** render clear icon when typing (optional): available for text */
|
|
36
|
+
this.hasclearicon = true;
|
|
37
|
+
this.isTyping = false;
|
|
38
|
+
this.passwordHidden = true;
|
|
39
|
+
this.typingtimeout = 300;
|
|
40
|
+
}
|
|
41
|
+
inputCheckListener(e) {
|
|
42
|
+
const data = e.detail;
|
|
43
|
+
switch (this.type) {
|
|
44
|
+
case index$1.InputType.RADIO:
|
|
45
|
+
if (data.type === index$1.InputType.RADIO && data.name === this.name && data.id !== this.htmlid) {
|
|
46
|
+
this.checked = false;
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** get checked status */
|
|
52
|
+
async isChecked() {
|
|
53
|
+
switch (this.type) {
|
|
54
|
+
case index$1.InputType.CHECKBOX:
|
|
55
|
+
case index$1.InputType.RADIO:
|
|
56
|
+
return this.checked;
|
|
57
|
+
default:
|
|
58
|
+
console.warn("`isChecked` method is only available for type `checkbox` and `radio`");
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
emitInputChange(value) {
|
|
63
|
+
if (!this.isTyping) {
|
|
64
|
+
this.emitStartTyping();
|
|
65
|
+
}
|
|
66
|
+
let validity;
|
|
67
|
+
if (this.type === index$1.InputType.TEXTAREA) {
|
|
68
|
+
validity = this.getValidity("textarea");
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
validity = this.getValidity("input");
|
|
72
|
+
}
|
|
73
|
+
this.value = value;
|
|
74
|
+
this.inputChange.emit({ value, validity });
|
|
75
|
+
clearTimeout(this.timer);
|
|
76
|
+
this.timer = setTimeout(() => {
|
|
77
|
+
this.emitStopTyping(this.value, validity);
|
|
78
|
+
}, this.typingtimeout);
|
|
79
|
+
}
|
|
80
|
+
emitStartTyping() {
|
|
81
|
+
this.isTyping = true;
|
|
82
|
+
this.startTyping.emit();
|
|
83
|
+
}
|
|
84
|
+
emitStopTyping(value, validity) {
|
|
85
|
+
this.isTyping = false;
|
|
86
|
+
this.stopTyping.emit({
|
|
87
|
+
value: value,
|
|
88
|
+
validity: validity,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
emitInputCheck(checked) {
|
|
92
|
+
this.inputCheck.emit({
|
|
93
|
+
id: this.htmlid,
|
|
94
|
+
checked: checked,
|
|
95
|
+
type: this.type,
|
|
96
|
+
name: this.name,
|
|
97
|
+
value: this.value,
|
|
98
|
+
validity: this.getValidity("input"),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
getValidity(type) {
|
|
102
|
+
const input = this.hostElement.querySelector(type);
|
|
103
|
+
return input.validity;
|
|
104
|
+
}
|
|
105
|
+
/* START text/password/email/number */
|
|
106
|
+
getTextAttributes() {
|
|
107
|
+
return {
|
|
108
|
+
id: this.htmlid,
|
|
109
|
+
name: this.name,
|
|
110
|
+
placeholder: this.placeholder,
|
|
111
|
+
value: this.value,
|
|
112
|
+
disabled: this.disabled,
|
|
113
|
+
readonly: this.readonly,
|
|
114
|
+
required: this.required,
|
|
115
|
+
title: this.htmltitle,
|
|
116
|
+
class: {
|
|
117
|
+
[`input-${this.status}`]: !!this.status,
|
|
118
|
+
filled: !!this.value,
|
|
119
|
+
},
|
|
120
|
+
autocomplete: this.autocomplete,
|
|
121
|
+
onInput: (e) => this.emitInputChange(e.target.value),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
getNumberAttributes(type) {
|
|
125
|
+
if (type != index$1.InputType.NUMBER) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
min: this.min,
|
|
130
|
+
max: this.max,
|
|
131
|
+
step: this.step,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
getPatternAttribute(type) {
|
|
135
|
+
if (type != index$1.InputType.PASSWORD &&
|
|
136
|
+
type != index$1.InputType.TEXT &&
|
|
137
|
+
type != index$1.InputType.TEL &&
|
|
138
|
+
type != index$1.InputType.SEARCH &&
|
|
139
|
+
type != index$1.InputType.URL &&
|
|
140
|
+
type != index$1.InputType.EMAIL) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
pattern: this.pattern,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
renderInputText(type = index$1.InputType.TEXT) {
|
|
148
|
+
const ariaLabel = this.ariaLabel ? { "aria-label": this.ariaLabel } : {};
|
|
149
|
+
const attr = Object.assign(Object.assign(Object.assign(Object.assign({}, this.getTextAttributes()), this.getNumberAttributes(type)), this.getPatternAttribute(type)), ariaLabel);
|
|
150
|
+
if (this.icon || type === index$1.InputType.PASSWORD) {
|
|
151
|
+
Object.assign(attr.class, { "has-icon": true });
|
|
152
|
+
}
|
|
153
|
+
if (this.hasclearicon && type != index$1.InputType.NUMBER) {
|
|
154
|
+
Object.assign(attr.class, { "has-clear-icon": true });
|
|
155
|
+
}
|
|
156
|
+
return (index.h("div", { class: "text-wrapper" }, this.renderLabel(), index.h("div", null, index.h("input", Object.assign({ type: type === index$1.InputType.PASSWORD && !this.passwordHidden ? index$1.InputType.TEXT : type }, attr)), this.renderIcons()), this.renderMessage()));
|
|
157
|
+
}
|
|
158
|
+
renderLabel() {
|
|
159
|
+
if (!this.label) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
return (index.h("label", { class: "input-label body-5-sb", id: `${this.htmlid}_label`, htmlFor: this.htmlid }, this.label));
|
|
163
|
+
}
|
|
164
|
+
renderIcons() {
|
|
165
|
+
return (index.h("span", { class: "icons-wrapper" }, this.renderResetIcon(), this.renderIcon()));
|
|
166
|
+
}
|
|
167
|
+
renderIcon() {
|
|
168
|
+
if (this.type === index$1.InputType.PASSWORD) {
|
|
169
|
+
return this.renderShowHidePassword();
|
|
170
|
+
}
|
|
171
|
+
if (!this.icon) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
return (index.h("button", { type: "button", class: "icon-button input-icon", tabIndex: -1 }, index.h("z-icon", { name: this.icon })));
|
|
175
|
+
}
|
|
176
|
+
renderResetIcon() {
|
|
177
|
+
if (!this.hasclearicon || !this.value || this.disabled || this.readonly || this.type == index$1.InputType.NUMBER) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
return (index.h("button", { type: "button", class: "icon-button reset-icon", "aria-label": "cancella il contenuto dell'input", onClick: () => this.emitInputChange("") }, index.h("z-icon", { name: "multiply" })));
|
|
181
|
+
}
|
|
182
|
+
renderShowHidePassword() {
|
|
183
|
+
return (index.h("button", { type: "button", class: "icon-button toggle-password-icon", disabled: this.disabled, "aria-label": this.passwordHidden ? "mostra password" : "nascondi password", onClick: () => (this.passwordHidden = !this.passwordHidden) }, index.h("z-icon", { name: this.passwordHidden ? "view-filled" : "view-off-filled" })));
|
|
184
|
+
}
|
|
185
|
+
renderMessage() {
|
|
186
|
+
if (utils.boolean(this.message) === false) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
return (index.h("z-input-message", { message: utils.boolean(this.message) === true ? undefined : this.message, status: this.status }));
|
|
190
|
+
}
|
|
191
|
+
/* END text/password/email/number */
|
|
192
|
+
/* START textarea */
|
|
193
|
+
renderTextarea() {
|
|
194
|
+
const attributes = this.getTextAttributes();
|
|
195
|
+
const ariaLabel = this.ariaLabel ? { "aria-label": this.ariaLabel } : {};
|
|
196
|
+
return (index.h("div", { class: "text-wrapper" }, this.renderLabel(), index.h("div", { class: Object.assign(Object.assign({}, attributes.class), { "textarea-wrapper": true, "readonly": attributes.readonly }) }, index.h("textarea", Object.assign({}, attributes, ariaLabel))), this.renderMessage()));
|
|
197
|
+
}
|
|
198
|
+
/* END textarea */
|
|
199
|
+
handleCheck(ev) {
|
|
200
|
+
this.checked = ev.target.checked;
|
|
201
|
+
this.emitInputCheck(this.checked);
|
|
202
|
+
}
|
|
203
|
+
/* START checkbox */
|
|
204
|
+
renderCheckbox() {
|
|
205
|
+
return (index.h("div", { class: "checkbox-wrapper" }, index.h("input", { id: this.htmlid, type: "checkbox", name: this.name, checked: this.checked, disabled: this.disabled, readonly: this.readonly, required: this.required, onChange: this.handleCheck.bind(this), value: this.value }), index.h("label", { htmlFor: this.htmlid, class: {
|
|
206
|
+
"checkbox-label": true,
|
|
207
|
+
"after": this.labelPosition === index$1.LabelPosition.RIGHT,
|
|
208
|
+
"before": this.labelPosition === index$1.LabelPosition.LEFT,
|
|
209
|
+
} }, index.h("z-icon", { name: this.checked ? "checkbox-checked" : "checkbox", "aria-hidden": "true" }), this.label && index.h("span", { innerHTML: this.label }))));
|
|
210
|
+
}
|
|
211
|
+
/* END checkbox */
|
|
212
|
+
/* START radio */
|
|
213
|
+
renderRadio() {
|
|
214
|
+
return (index.h("div", { class: "radio-wrapper" }, index.h("input", { id: this.htmlid, type: "radio", name: this.name, checked: this.checked, disabled: this.disabled, readonly: this.readonly, onChange: this.handleCheck.bind(this), value: this.value }), index.h("label", { htmlFor: this.htmlid, class: {
|
|
215
|
+
"radio-label": true,
|
|
216
|
+
"after": this.labelPosition === index$1.LabelPosition.RIGHT,
|
|
217
|
+
"before": this.labelPosition === index$1.LabelPosition.LEFT,
|
|
218
|
+
} }, index.h("z-icon", { name: this.checked ? "radio-button-checked" : "radio-button", "aria-hidden": "true" }), this.label && index.h("span", { innerHTML: this.label }))));
|
|
219
|
+
}
|
|
220
|
+
/* END radio */
|
|
221
|
+
render() {
|
|
222
|
+
switch (this.type) {
|
|
223
|
+
case index$1.InputType.TEXTAREA:
|
|
224
|
+
return this.renderTextarea();
|
|
225
|
+
case index$1.InputType.CHECKBOX:
|
|
226
|
+
return this.renderCheckbox();
|
|
227
|
+
case index$1.InputType.RADIO:
|
|
228
|
+
return this.renderRadio();
|
|
229
|
+
default:
|
|
230
|
+
return this.renderInputText(this.type);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
get hostElement() { return index.getElement(this); }
|
|
234
|
+
};
|
|
235
|
+
ZInput.style = stylesCss$1;
|
|
236
|
+
|
|
237
|
+
const stylesCss = ":host{display:flex;min-height:calc(var(--space-unit) * 2.5);align-items:start;margin-top:var(--space-unit);color:var(--color-text05);fill:currentcolor;font-family:var(--font-family-sans);font-size:var(--font-size-2);letter-spacing:0.16px}:host([status=\"success\"]){color:var(--color-text-success)}:host([status=\"error\"]){color:var(--color-text-error)}:host([status=\"warning\"]){color:var(--color-warning02)}:host(:focus){outline:none}:host>z-icon{--z-icon-width:calc(var(--space-unit) * 2);--z-icon-height:calc(var(--space-unit) * 2);--z-icon-right-margin:var(--space-unit)}";
|
|
238
|
+
|
|
239
|
+
const ZInputMessage = class {
|
|
240
|
+
constructor(hostRef) {
|
|
241
|
+
index.registerInstance(this, hostRef);
|
|
242
|
+
this.statusIcons = {
|
|
243
|
+
success: "checkmark-circle",
|
|
244
|
+
error: "multiply-circled",
|
|
245
|
+
warning: "exclamation-circle",
|
|
246
|
+
};
|
|
247
|
+
this.statusRole = {};
|
|
248
|
+
}
|
|
249
|
+
onMessageChange() {
|
|
250
|
+
this.statusRole = this.message && this.status ? { role: "alert" } : {};
|
|
251
|
+
}
|
|
252
|
+
componentWillLoad() {
|
|
253
|
+
this.onMessageChange();
|
|
254
|
+
}
|
|
255
|
+
render() {
|
|
256
|
+
return (index.h(index.Host, Object.assign({}, this.statusRole, { "aria-label": this.message }), this.statusIcons[this.status] && this.message && index.h("z-icon", { name: this.statusIcons[this.status] }), index.h("span", { innerHTML: this.message })));
|
|
257
|
+
}
|
|
258
|
+
static get watchers() { return {
|
|
259
|
+
"message": ["onMessageChange"],
|
|
260
|
+
"status": ["onMessageChange"]
|
|
261
|
+
}; }
|
|
262
|
+
};
|
|
263
|
+
ZInputMessage.style = stylesCss;
|
|
264
|
+
|
|
265
|
+
exports.z_input = ZInput;
|
|
266
|
+
exports.z_input_message = ZInputMessage;
|