@zanichelli/albe-web-components 6.10.0-RC1 → 6.10.0
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 +49 -0
- package/dist/cjs/index-e3299e0a.js +14 -6
- package/dist/cjs/index.cjs.js +6 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/{z-app-header_3.cjs.entry.js → z-app-header_2.cjs.entry.js} +4 -80
- package/dist/cjs/z-body.cjs.entry.js +18 -0
- package/dist/cjs/z-combobox.cjs.entry.js +9 -7
- package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +77 -8
- 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 +19 -12
- package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
- package/dist/cjs/z-select.cjs.entry.js +16 -8
- 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-body_2.cjs.entry.js → z-typography.cjs.entry.js} +0 -12
- package/dist/collection/beans/index.js +1 -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 +32 -7
- package/dist/collection/components/inputs/z-combobox/styles.css +31 -3
- package/dist/collection/components/inputs/z-input/index.js +42 -11
- package/dist/collection/components/inputs/z-input/styles.css +59 -0
- package/dist/collection/components/inputs/z-input-message/styles.css +15 -0
- package/dist/collection/components/inputs/z-select/index.js +39 -8
- package/dist/collection/components/inputs/z-select/styles.css +9 -0
- package/dist/collection/components/modal/z-modal/index.js +50 -36
- package/dist/collection/components/modal/z-modal/styles.css +5 -1
- 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/collection/snowflakes/myz/list/z-myz-list-item/styles.css +19 -0
- package/dist/esm/index-a2ca4b97.js +14 -6
- 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/web-components-library.js +1 -1
- package/dist/esm/{z-app-header_3.entry.js → z-app-header_2.entry.js} +5 -80
- package/dist/esm/z-body.entry.js +14 -0
- package/dist/esm/z-combobox.entry.js +10 -8
- package/dist/esm/z-dragdrop-area_2.entry.js +78 -9
- package/dist/esm/z-file-upload.entry.js +11 -11
- package/dist/esm/z-heading.entry.js +14 -0
- package/dist/esm/z-input_2.entry.js +20 -13
- package/dist/esm/z-myz-list-item.entry.js +1 -1
- package/dist/esm/z-select.entry.js +17 -9
- package/dist/esm/z-table-empty-box.entry.js +1 -1
- package/dist/esm/z-table.entry.js +1 -1
- package/dist/esm/{z-body_2.entry.js → z-typography.entry.js} +1 -12
- package/dist/types/beans/index.d.ts +1 -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 +3 -1
- package/dist/types/components/inputs/z-input/index.d.ts +3 -1
- 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 +4 -1
- 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 +15 -12
- 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 +31 -7
- 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-3860061a.entry.js +1 -0
- package/dist/web-components-library/p-4367f978.entry.js +1 -0
- package/dist/web-components-library/p-46fd0ec3.entry.js +1 -0
- package/dist/web-components-library/p-488d2818.entry.js +1 -0
- package/dist/web-components-library/p-52b084fb.entry.js +1 -0
- package/dist/web-components-library/p-5ac6109d.entry.js +1 -0
- package/dist/web-components-library/p-6ea7428a.entry.js +1 -0
- package/dist/web-components-library/p-a7670317.entry.js +1 -0
- package/dist/web-components-library/p-b3c4c5f7.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-32511690.css +1636 -0
- package/www/build/p-3860061a.entry.js +1 -0
- package/www/build/p-4367f978.entry.js +1 -0
- package/www/build/p-46fd0ec3.entry.js +1 -0
- package/www/build/p-488d2818.entry.js +1 -0
- package/www/build/p-50050d26.js +129 -0
- package/www/build/p-52b084fb.entry.js +1 -0
- package/www/build/p-5ac6109d.entry.js +1 -0
- package/www/build/p-6ea7428a.entry.js +1 -0
- package/www/build/p-a7670317.entry.js +1 -0
- package/www/build/p-b3c4c5f7.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 -24
- package/dist/web-components-library/p-2e5f7ff1.entry.js +0 -1
- package/dist/web-components-library/p-5c62387a.entry.js +0 -1
- package/dist/web-components-library/p-6acb48e3.entry.js +0 -1
- package/dist/web-components-library/p-735bdfa3.entry.js +0 -1
- package/dist/web-components-library/p-7b3b99ee.entry.js +0 -1
- package/dist/web-components-library/p-95b8f109.entry.js +0 -1
- package/dist/web-components-library/p-a79d1412.entry.js +0 -1
- package/dist/web-components-library/p-b17981a4.entry.js +0 -1
- package/dist/web-components-library/p-bb92c90f.entry.js +0 -1
- package/dist/web-components-library/p-ff27c534.entry.js +0 -1
- package/www/build/p-0d36d640.js +0 -1
- package/www/build/p-275801c6.css +0 -1
- package/www/build/p-2e5f7ff1.entry.js +0 -1
- package/www/build/p-5c62387a.entry.js +0 -1
- package/www/build/p-6acb48e3.entry.js +0 -1
- package/www/build/p-735bdfa3.entry.js +0 -1
- package/www/build/p-7b3b99ee.entry.js +0 -1
- package/www/build/p-95b8f109.entry.js +0 -1
- package/www/build/p-a79d1412.entry.js +0 -1
- package/www/build/p-b17981a4.entry.js +0 -1
- package/www/build/p-bb92c90f.entry.js +0 -1
- package/www/build/p-ff27c534.entry.js +0 -1
|
@@ -92,10 +92,10 @@ export class ZFileUpload {
|
|
|
92
92
|
return errors;
|
|
93
93
|
}
|
|
94
94
|
renderTitle() {
|
|
95
|
-
return (h("
|
|
95
|
+
return (h("h2", { class: "heading-2-sb", id: "title" }, this.mainTitle));
|
|
96
96
|
}
|
|
97
|
-
renderDescription(
|
|
98
|
-
return
|
|
97
|
+
renderDescription(cssClass) {
|
|
98
|
+
return h("span", { class: cssClass }, this.description);
|
|
99
99
|
}
|
|
100
100
|
renderAllowedFileExtensions() {
|
|
101
101
|
let fileFormatString = "";
|
|
@@ -111,10 +111,10 @@ export class ZFileUpload {
|
|
|
111
111
|
fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;
|
|
112
112
|
}
|
|
113
113
|
const finalString = `Puoi allegare file${fileFormatString}${fileWeightString}.`;
|
|
114
|
-
return h("
|
|
114
|
+
return h("span", { class: "body-3" }, fileFormatString || fileWeightString ? finalString : null);
|
|
115
115
|
}
|
|
116
116
|
renderFileSection() {
|
|
117
|
-
return (h("section", { class: `files-container ${!this.files.length ? "hidden" : ""}` }, h("
|
|
117
|
+
return (h("section", { class: `files-container ${!this.files.length ? "hidden" : ""}` }, h("h4", { class: "heading-4-sb" }, "File appena caricati"), h("div", { class: "files-wrapper" }, h("slot", { name: "files" })), h("z-divider", { size: DividerSize.MEDIUM })));
|
|
118
118
|
}
|
|
119
119
|
renderInput() {
|
|
120
120
|
return (h("input", Object.assign({}, this.inputAttributes, { onChange: () => this.fileInputHandler(), accept: this.acceptedFormat, ref: (val) => (this.input = val) })));
|
|
@@ -133,17 +133,17 @@ export class ZFileUpload {
|
|
|
133
133
|
renderUploadLink() {
|
|
134
134
|
return [
|
|
135
135
|
this.renderInput(),
|
|
136
|
-
h("
|
|
136
|
+
h("span", { class: "body-1 upload-link-text" }, "Trascinalo qui o", " ", h("span", { tabIndex: 0, class: "body-1-sb upload-link", onClick: () => this.input.click(), onKeyPress: (e) => {
|
|
137
137
|
if (e.code == "Space" || e.code == "Enter") {
|
|
138
138
|
e.preventDefault();
|
|
139
139
|
this.input.click();
|
|
140
140
|
}
|
|
141
|
-
},
|
|
141
|
+
}, ref: (val) => (this.uploadLink = val) }, "caricalo"), " ", "dal tuo computer"),
|
|
142
142
|
];
|
|
143
143
|
}
|
|
144
144
|
renderDefaultMode() {
|
|
145
145
|
return [
|
|
146
|
-
this.renderDescription("
|
|
146
|
+
this.renderDescription("body-3-sb"),
|
|
147
147
|
this.renderAllowedFileExtensions(),
|
|
148
148
|
this.renderFileSection(),
|
|
149
149
|
this.renderUploadButton(),
|
|
@@ -152,7 +152,7 @@ export class ZFileUpload {
|
|
|
152
152
|
renderDragDropMode() {
|
|
153
153
|
return [
|
|
154
154
|
this.renderFileSection(),
|
|
155
|
-
h("z-dragdrop-area", null, h("div", { class: "text-container" }, this.renderDescription("
|
|
155
|
+
h("z-dragdrop-area", null, h("div", { class: "text-container" }, this.renderDescription("body-1"), this.renderUploadLink(), this.renderAllowedFileExtensions())),
|
|
156
156
|
];
|
|
157
157
|
}
|
|
158
158
|
formatErrorString(key, value) {
|
|
@@ -162,7 +162,7 @@ export class ZFileUpload {
|
|
|
162
162
|
}
|
|
163
163
|
handleErrorModalContent() {
|
|
164
164
|
return (h("div", { slot: "modalContent" }, h("div", { class: "modal-wrapper" }, h("div", { class: "files" }, Array.from(this.invalidFiles).map(([key, value]) => {
|
|
165
|
-
return
|
|
165
|
+
return h("span", { class: "body-3" }, this.formatErrorString(key, value));
|
|
166
166
|
})))));
|
|
167
167
|
}
|
|
168
168
|
render() {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
margin: auto;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
:host .text-container
|
|
31
|
+
:host .text-container .body-1 {
|
|
32
32
|
text-align: center;
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -59,7 +59,7 @@ input#file-elem {
|
|
|
59
59
|
display: none;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
:host > .container > .files-container >
|
|
62
|
+
:host > .container > .files-container > .heading-4-sb {
|
|
63
63
|
display: inline-block;
|
|
64
64
|
margin: calc(var(--space-unit) * 3) 0;
|
|
65
65
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { InputType, KeyboardKeyCode, ListDividerType } from "../../../beans";
|
|
2
|
+
import { InputType, KeyboardKeyCode, ListDividerType, ControlSize } from "../../../beans";
|
|
3
3
|
import { handleKeyboardSubmit } from "../../../utils/utils";
|
|
4
4
|
export class ZCombobox {
|
|
5
5
|
constructor() {
|
|
@@ -23,6 +23,8 @@ export class ZCombobox {
|
|
|
23
23
|
this.uncheckalltext = "Deseleziona tutti";
|
|
24
24
|
/** max number of checkable items (0 = unlimited) */
|
|
25
25
|
this.maxcheckableitems = 0;
|
|
26
|
+
/** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */
|
|
27
|
+
this.size = ControlSize.BIG;
|
|
26
28
|
this.renderItemsList = []; // used for render only
|
|
27
29
|
this.itemsList = [];
|
|
28
30
|
this.inputType = InputType.TEXT;
|
|
@@ -107,7 +109,7 @@ export class ZCombobox {
|
|
|
107
109
|
if (ev.keyCode === KeyboardKeyCode.SPACE) {
|
|
108
110
|
ev.preventDefault();
|
|
109
111
|
}
|
|
110
|
-
}, onKeyUp: (ev) => handleKeyboardSubmit(ev, this.toggleComboBox), role: "button", tabindex: 0 }, h("
|
|
112
|
+
}, onKeyUp: (ev) => handleKeyboardSubmit(ev, this.toggleComboBox), role: "button", tabindex: 0 }, h("p", { class: "body-3" }, this.label, h("span", null, this.selectedCounter > 0 && ` (${this.selectedCounter})`)), h("z-icon", { name: "caret-down", class: this.size })));
|
|
111
113
|
}
|
|
112
114
|
renderContent() {
|
|
113
115
|
if (!this.isopen) {
|
|
@@ -122,7 +124,7 @@ export class ZCombobox {
|
|
|
122
124
|
return (h("div", { class: this.searchValue && "search", tabindex: -1 }, this.renderList(this.renderItemsList), this.searchValue && this.renderCloseButton()));
|
|
123
125
|
}
|
|
124
126
|
renderItem(item, index, length) {
|
|
125
|
-
return (h("z-myz-list-item", { id: item.id, listitemid: item.id, action: `combo-li-${this.inputid}`, underlined: index !== length - 1 }, h("z-input", { type: InputType.CHECKBOX, checked: item.checked, htmlid: `combo-checkbox-${this.inputid}-${item.id}`, label: item.name, disabled: !item.checked && this.maxcheckableitems && this.maxcheckableitems === this.selectedCounter })));
|
|
127
|
+
return (h("z-myz-list-item", { id: item.id, listitemid: item.id, action: `combo-li-${this.inputid}`, underlined: index !== length - 1, class: this.size }, h("z-input", { type: InputType.CHECKBOX, checked: item.checked, htmlid: `combo-checkbox-${this.inputid}-${item.id}`, label: item.name, disabled: !item.checked && this.maxcheckableitems && this.maxcheckableitems === this.selectedCounter, size: this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size })));
|
|
126
128
|
}
|
|
127
129
|
renderList(items) {
|
|
128
130
|
if (!items) {
|
|
@@ -148,12 +150,12 @@ export class ZCombobox {
|
|
|
148
150
|
return group;
|
|
149
151
|
}, {});
|
|
150
152
|
const listGroups = Object.entries(newData).map(([key, value]) => {
|
|
151
|
-
return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("
|
|
153
|
+
return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), value.map((item) => item)));
|
|
152
154
|
});
|
|
153
155
|
return h("ul", null, listGroups);
|
|
154
156
|
}
|
|
155
157
|
renderNoSearchResults() {
|
|
156
|
-
return (h("ul", null, h("z-myz-list-item", { id: "no-results", text: this.noresultslabel, listitemid: "no-results", icon: "multiply-circle" })));
|
|
158
|
+
return (h("ul", null, h("z-myz-list-item", { id: "no-results", text: this.noresultslabel, listitemid: "no-results", icon: "multiply-circle", class: this.size })));
|
|
157
159
|
}
|
|
158
160
|
renderCloseButton() {
|
|
159
161
|
return (h("div", null, h("a", { onClick: () => this.closeFilterItems(), onKeyUp: (e) => handleKeyboardSubmit(e, this.closeFilterItems), role: "button", tabindex: 0 }, this.closesearchtext)));
|
|
@@ -162,7 +164,7 @@ export class ZCombobox {
|
|
|
162
164
|
if (!this.isopen) {
|
|
163
165
|
return;
|
|
164
166
|
}
|
|
165
|
-
return (h("z-input", { htmlid: `${this.inputid}_search`, label: this.searchlabel, placeholder: this.searchplaceholder, htmltitle: this.searchtitle, type: this.inputType, value: this.searchValue, message: false, onInputChange: (e) => {
|
|
167
|
+
return (h("z-input", { htmlid: `${this.inputid}_search`, label: this.searchlabel, placeholder: this.searchplaceholder, htmltitle: this.searchtitle, type: this.inputType, value: this.searchValue, message: false, size: this.size, onInputChange: (e) => {
|
|
166
168
|
if (e.detail.keycode === 27) {
|
|
167
169
|
return this.closeFilterItems();
|
|
168
170
|
}
|
|
@@ -174,7 +176,7 @@ export class ZCombobox {
|
|
|
174
176
|
return;
|
|
175
177
|
}
|
|
176
178
|
const allChecked = this.selectedCounter === this.itemsList.length;
|
|
177
|
-
return (h("div", { class: "check-all-wrapper" }, h("z-input", { type: InputType.CHECKBOX, checked: allChecked, htmlid: `combo-checkbox-${this.inputid}-check-all`, label: allChecked ? this.uncheckalltext : this.checkalltext, disabled: this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length })));
|
|
179
|
+
return (h("div", { class: "check-all-wrapper" }, h("z-input", { type: InputType.CHECKBOX, checked: allChecked, htmlid: `combo-checkbox-${this.inputid}-check-all`, label: allChecked ? this.uncheckalltext : this.checkalltext, disabled: this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length, size: this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size })));
|
|
178
180
|
}
|
|
179
181
|
render() {
|
|
180
182
|
return (h("div", { "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
|
|
@@ -496,6 +498,29 @@ export class ZCombobox {
|
|
|
496
498
|
},
|
|
497
499
|
"attribute": "hasgroupitems",
|
|
498
500
|
"reflect": false
|
|
501
|
+
},
|
|
502
|
+
"size": {
|
|
503
|
+
"type": "string",
|
|
504
|
+
"mutable": false,
|
|
505
|
+
"complexType": {
|
|
506
|
+
"original": "ControlSize",
|
|
507
|
+
"resolved": "ButtonSize.BIG | ButtonSize.SMALL | ButtonSize.X_SMALL",
|
|
508
|
+
"references": {
|
|
509
|
+
"ControlSize": {
|
|
510
|
+
"location": "import",
|
|
511
|
+
"path": "../../../beans"
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
},
|
|
515
|
+
"required": false,
|
|
516
|
+
"optional": true,
|
|
517
|
+
"docs": {
|
|
518
|
+
"tags": [],
|
|
519
|
+
"text": "Available sizes: `big`, `small` and `x-small`. Defaults to `big`."
|
|
520
|
+
},
|
|
521
|
+
"attribute": "size",
|
|
522
|
+
"reflect": false,
|
|
523
|
+
"defaultValue": "ControlSize.BIG"
|
|
499
524
|
}
|
|
500
525
|
};
|
|
501
526
|
}
|
|
@@ -21,6 +21,20 @@
|
|
|
21
21
|
cursor: pointer;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
:host([size="small"]) > div > .header {
|
|
25
|
+
min-height: 34px;
|
|
26
|
+
font-size: var(--font-size-2);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:host([size="x-small"]) > div > .header {
|
|
30
|
+
min-height: 30px;
|
|
31
|
+
font-size: var(--font-size-2);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:host([size="x-small"]) > div > .header p.body-3 {
|
|
35
|
+
padding: calc(var(--space-unit) * 0.5) 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
24
38
|
:host > div > .header:hover {
|
|
25
39
|
outline: var(--border-size-medium) solid var(--gray700);
|
|
26
40
|
outline-offset: -2px;
|
|
@@ -35,13 +49,13 @@
|
|
|
35
49
|
outline: none;
|
|
36
50
|
}
|
|
37
51
|
|
|
38
|
-
:host > div > .header >
|
|
52
|
+
:host > div > .header > p.body-3 {
|
|
39
53
|
padding: var(--space-unit) 0;
|
|
40
54
|
margin: 0;
|
|
41
55
|
color: var(--text-grey-800);
|
|
42
56
|
}
|
|
43
57
|
|
|
44
|
-
:host > div > .header >
|
|
58
|
+
:host > div > .header > p.body-3 > span {
|
|
45
59
|
font-weight: var(--font-sb);
|
|
46
60
|
}
|
|
47
61
|
|
|
@@ -51,6 +65,12 @@
|
|
|
51
65
|
transition: all 200ms linear;
|
|
52
66
|
}
|
|
53
67
|
|
|
68
|
+
:host > div > .header > z-icon.small,
|
|
69
|
+
:host > div > .header > z-icon.x-small {
|
|
70
|
+
--z-icon-width: 16px;
|
|
71
|
+
--z-icon-height: 16px;
|
|
72
|
+
}
|
|
73
|
+
|
|
54
74
|
:host > div.open > .header {
|
|
55
75
|
border: var(--border-size-small) solid var(--blue500);
|
|
56
76
|
border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
|
|
@@ -65,7 +85,7 @@
|
|
|
65
85
|
fill: var(--color-disabled01);
|
|
66
86
|
}
|
|
67
87
|
|
|
68
|
-
:host > div.disabled .header >
|
|
88
|
+
:host > div.disabled .header > p.body-3 {
|
|
69
89
|
color: var(--text-grey-700);
|
|
70
90
|
}
|
|
71
91
|
|
|
@@ -167,3 +187,11 @@
|
|
|
167
187
|
margin-bottom: var(--space-unit);
|
|
168
188
|
text-align: left;
|
|
169
189
|
}
|
|
190
|
+
|
|
191
|
+
:host([size="small"]) > div.open > div.open-combo-data > div.check-all-wrapper {
|
|
192
|
+
padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
:host([size="x-small"]) > div.open > div.open-combo-data > div.check-all-wrapper {
|
|
196
|
+
padding: var(--space-unit) calc(var(--space-unit) * 0.5);
|
|
197
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import {
|
|
2
|
+
import { Host } from "@stencil/core/internal";
|
|
3
|
+
import { InputType, LabelPosition, ControlSize } from "../../../beans";
|
|
3
4
|
import { boolean, randomId } from "../../../utils/utils";
|
|
4
5
|
export class ZInput {
|
|
5
6
|
constructor() {
|
|
@@ -21,6 +22,8 @@ export class ZInput {
|
|
|
21
22
|
this.labelPosition = LabelPosition.RIGHT;
|
|
22
23
|
/** render clear icon when typing (optional): available for text */
|
|
23
24
|
this.hasclearicon = true;
|
|
25
|
+
/** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */
|
|
26
|
+
this.size = ControlSize.BIG;
|
|
24
27
|
this.isTyping = false;
|
|
25
28
|
this.passwordHidden = true;
|
|
26
29
|
this.typingtimeout = 300;
|
|
@@ -158,22 +161,22 @@ export class ZInput {
|
|
|
158
161
|
if (!this.icon) {
|
|
159
162
|
return;
|
|
160
163
|
}
|
|
161
|
-
return (h("button", { type: "button", class: "icon-button input-icon", tabIndex: -1 }, h("z-icon", { name: this.icon })));
|
|
164
|
+
return (h("button", { type: "button", class: "icon-button input-icon", tabIndex: -1 }, h("z-icon", { name: this.icon, class: this.size })));
|
|
162
165
|
}
|
|
163
166
|
renderResetIcon() {
|
|
164
167
|
if (!this.hasclearicon || !this.value || this.disabled || this.readonly || this.type == InputType.NUMBER) {
|
|
165
168
|
return;
|
|
166
169
|
}
|
|
167
|
-
return (h("button", { type: "button", class: "icon-button reset-icon", "aria-label": "cancella il contenuto dell'input", onClick: () => this.emitInputChange("") }, h("z-icon", { name: "multiply" })));
|
|
170
|
+
return (h("button", { type: "button", class: "icon-button reset-icon", "aria-label": "cancella il contenuto dell'input", onClick: () => this.emitInputChange("") }, h("z-icon", { name: "multiply", class: this.size })));
|
|
168
171
|
}
|
|
169
172
|
renderShowHidePassword() {
|
|
170
|
-
return (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) }, h("z-icon", { name: this.passwordHidden ? "view-filled" : "view-off-filled" })));
|
|
173
|
+
return (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) }, h("z-icon", { name: this.passwordHidden ? "view-filled" : "view-off-filled", class: this.size })));
|
|
171
174
|
}
|
|
172
175
|
renderMessage() {
|
|
173
176
|
if (boolean(this.message) === false) {
|
|
174
177
|
return;
|
|
175
178
|
}
|
|
176
|
-
return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status }));
|
|
179
|
+
return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size }));
|
|
177
180
|
}
|
|
178
181
|
/* END text/password/email/number */
|
|
179
182
|
/* START textarea */
|
|
@@ -193,7 +196,7 @@ export class ZInput {
|
|
|
193
196
|
"checkbox-label": true,
|
|
194
197
|
"after": this.labelPosition === LabelPosition.RIGHT,
|
|
195
198
|
"before": this.labelPosition === LabelPosition.LEFT,
|
|
196
|
-
} }, h("z-icon", { name: this.checked ? "checkbox-checked" : "checkbox", "aria-hidden": "true" }), this.label && h("span", { innerHTML: this.label }))));
|
|
199
|
+
} }, h("z-icon", { name: this.checked ? "checkbox-checked" : "checkbox", "aria-hidden": "true", class: this.size }), this.label && h("span", { innerHTML: this.label }))));
|
|
197
200
|
}
|
|
198
201
|
/* END checkbox */
|
|
199
202
|
/* START radio */
|
|
@@ -202,20 +205,25 @@ export class ZInput {
|
|
|
202
205
|
"radio-label": true,
|
|
203
206
|
"after": this.labelPosition === LabelPosition.RIGHT,
|
|
204
207
|
"before": this.labelPosition === LabelPosition.LEFT,
|
|
205
|
-
} }, h("z-icon", { name: this.checked ? "radio-button-checked" : "radio-button", "aria-hidden": "true" }), this.label && h("span", { innerHTML: this.label }))));
|
|
208
|
+
} }, h("z-icon", { name: this.checked ? "radio-button-checked" : "radio-button", "aria-hidden": "true", class: this.size }), this.label && h("span", { innerHTML: this.label }))));
|
|
206
209
|
}
|
|
207
210
|
/* END radio */
|
|
208
211
|
render() {
|
|
212
|
+
let input;
|
|
209
213
|
switch (this.type) {
|
|
210
214
|
case InputType.TEXTAREA:
|
|
211
|
-
|
|
215
|
+
input = this.renderTextarea();
|
|
216
|
+
break;
|
|
212
217
|
case InputType.CHECKBOX:
|
|
213
|
-
|
|
218
|
+
input = this.renderCheckbox();
|
|
219
|
+
break;
|
|
214
220
|
case InputType.RADIO:
|
|
215
|
-
|
|
221
|
+
input = this.renderRadio();
|
|
222
|
+
break;
|
|
216
223
|
default:
|
|
217
|
-
|
|
224
|
+
input = this.renderInputText(this.type);
|
|
218
225
|
}
|
|
226
|
+
return h(Host, null, input);
|
|
219
227
|
}
|
|
220
228
|
static get is() { return "z-input"; }
|
|
221
229
|
static get encapsulation() { return "scoped"; }
|
|
@@ -628,6 +636,29 @@ export class ZInput {
|
|
|
628
636
|
},
|
|
629
637
|
"attribute": "pattern",
|
|
630
638
|
"reflect": false
|
|
639
|
+
},
|
|
640
|
+
"size": {
|
|
641
|
+
"type": "string",
|
|
642
|
+
"mutable": false,
|
|
643
|
+
"complexType": {
|
|
644
|
+
"original": "ControlSize",
|
|
645
|
+
"resolved": "ButtonSize.BIG | ButtonSize.SMALL | ButtonSize.X_SMALL",
|
|
646
|
+
"references": {
|
|
647
|
+
"ControlSize": {
|
|
648
|
+
"location": "import",
|
|
649
|
+
"path": "../../../beans"
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
},
|
|
653
|
+
"required": false,
|
|
654
|
+
"optional": true,
|
|
655
|
+
"docs": {
|
|
656
|
+
"tags": [],
|
|
657
|
+
"text": "Available sizes: `big`, `small` and `x-small`. Defaults to `big`."
|
|
658
|
+
},
|
|
659
|
+
"attribute": "size",
|
|
660
|
+
"reflect": true,
|
|
661
|
+
"defaultValue": "ControlSize.BIG"
|
|
631
662
|
}
|
|
632
663
|
};
|
|
633
664
|
}
|
|
@@ -29,6 +29,15 @@ textarea,
|
|
|
29
29
|
outline: none;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
:host([size="small"]) input,
|
|
33
|
+
:host([size="small"]) textarea,
|
|
34
|
+
:host([size="small"]) .textarea-wrapper,
|
|
35
|
+
:host([size="x-small"]) input,
|
|
36
|
+
:host([size="x-small"]) textarea,
|
|
37
|
+
:host([size="x-small"]) .textarea-wrapper {
|
|
38
|
+
font-size: var(--font-size-2);
|
|
39
|
+
}
|
|
40
|
+
|
|
32
41
|
:host.cursor-select input {
|
|
33
42
|
cursor: pointer;
|
|
34
43
|
}
|
|
@@ -159,6 +168,14 @@ label.input-label {
|
|
|
159
168
|
margin: 0;
|
|
160
169
|
}
|
|
161
170
|
|
|
171
|
+
:host([size="small"]) .text-wrapper > div > input {
|
|
172
|
+
height: calc(var(--space-unit) * 4.5);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
:host([size="x-small"]) .text-wrapper > div > input {
|
|
176
|
+
height: calc(var(--space-unit) * 4);
|
|
177
|
+
}
|
|
178
|
+
|
|
162
179
|
.text-wrapper > div > input.has-icon,
|
|
163
180
|
.text-wrapper > div > input.has-clear-icon {
|
|
164
181
|
padding-right: calc(var(--space-unit) * 5.25);
|
|
@@ -203,6 +220,12 @@ label.input-label {
|
|
|
203
220
|
display: block;
|
|
204
221
|
}
|
|
205
222
|
|
|
223
|
+
.text-wrapper .icons-wrapper > button.icon-button > z-icon.small,
|
|
224
|
+
.text-wrapper .icons-wrapper > button.icon-button > z-icon.x-small {
|
|
225
|
+
--z-icon-width: 16px;
|
|
226
|
+
--z-icon-height: 16px;
|
|
227
|
+
}
|
|
228
|
+
|
|
206
229
|
/* Disable background color webkit */
|
|
207
230
|
/* stylelint-disable property-no-vendor-prefix */
|
|
208
231
|
.text-wrapper > div > input:-webkit-autofill,
|
|
@@ -299,6 +322,28 @@ textarea {
|
|
|
299
322
|
fill: inherit;
|
|
300
323
|
}
|
|
301
324
|
|
|
325
|
+
:host([size="small"]) .radio-wrapper .radio-label z-icon,
|
|
326
|
+
:host([size="small"]) .checkbox-wrapper .checkbox-label z-icon {
|
|
327
|
+
--z-icon-width: 16px;
|
|
328
|
+
--z-icon-height: 16px;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
:host([size="small"]) .radio-wrapper .radio-label,
|
|
332
|
+
:host([size="small"]) .checkbox-wrapper .checkbox-label {
|
|
333
|
+
font-size: var(--font-size-2);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
:host([size="x-small"]) .radio-wrapper .radio-label z-icon,
|
|
337
|
+
:host([size="x-small"]) .checkbox-wrapper .checkbox-label z-icon {
|
|
338
|
+
--z-icon-width: 14px;
|
|
339
|
+
--z-icon-height: 14px;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
:host([size="x-small"]) .radio-wrapper .radio-label,
|
|
343
|
+
:host([size="x-small"]) .checkbox-wrapper .checkbox-label {
|
|
344
|
+
font-size: var(--font-size-1);
|
|
345
|
+
}
|
|
346
|
+
|
|
302
347
|
.radio-wrapper .radio-label.after,
|
|
303
348
|
.checkbox-wrapper .checkbox-label.after {
|
|
304
349
|
flex-direction: row;
|
|
@@ -319,6 +364,20 @@ textarea {
|
|
|
319
364
|
margin-right: var(--space-unit);
|
|
320
365
|
}
|
|
321
366
|
|
|
367
|
+
:host([size="small"]) .radio-wrapper .radio-label.after > span,
|
|
368
|
+
:host([size="small"]) .checkbox-wrapper .checkbox-label.after > span,
|
|
369
|
+
:host([size="x-small"]) .radio-wrapper .radio-label.after > span,
|
|
370
|
+
:host([size="x-small"]) .checkbox-wrapper .checkbox-label.after > span {
|
|
371
|
+
margin-left: calc(var(--space-unit) * 0.5);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
:host([size="small"]) .radio-wrapper .radio-label.before > span,
|
|
375
|
+
:host([size="small"]) .checkbox-wrapper .checkbox-label.before > span,
|
|
376
|
+
:host([size="x-small"]) .radio-wrapper .radio-label.before > span,
|
|
377
|
+
:host([size="x-small"]) .checkbox-wrapper .checkbox-label.before > span {
|
|
378
|
+
margin-right: calc(var(--space-unit) * 0.5);
|
|
379
|
+
}
|
|
380
|
+
|
|
322
381
|
/* focus */
|
|
323
382
|
.radio-wrapper > input:focus:focus-visible + .radio-label > z-icon,
|
|
324
383
|
.checkbox-wrapper > input:focus:focus-visible + .checkbox-label > z-icon {
|
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
letter-spacing: 0.16px;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
:host(.small),
|
|
14
|
+
:host(.x-small) {
|
|
15
|
+
margin-top: calc(var(--space-unit) * 0.5);
|
|
16
|
+
font-size: var(--font-size-1);
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
:host([status="success"]) {
|
|
14
20
|
color: var(--color-text-success);
|
|
15
21
|
}
|
|
@@ -30,4 +36,13 @@
|
|
|
30
36
|
--z-icon-width: calc(var(--space-unit) * 2);
|
|
31
37
|
--z-icon-height: calc(var(--space-unit) * 2);
|
|
32
38
|
--z-icon-right-margin: var(--space-unit);
|
|
39
|
+
|
|
40
|
+
margin-top: calc(var(--space-unit) * 0.25);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:host(.small) > z-icon,
|
|
44
|
+
:host(.x-small) > z-icon {
|
|
45
|
+
--z-icon-width: 14px;
|
|
46
|
+
--z-icon-height: 14px;
|
|
47
|
+
--z-icon-right-margin: calc(var(--space-unit) * 0.5);
|
|
33
48
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { ListDividerType, KeyboardCode } from "../../../beans";
|
|
2
|
+
import { ListDividerType, KeyboardCode, ControlSize, ListSize } from "../../../beans";
|
|
3
3
|
import { randomId, handleKeyboardSubmit, getClickedElement, getElementTree, boolean } from "../../../utils/utils";
|
|
4
4
|
export class ZSelect {
|
|
5
5
|
constructor() {
|
|
@@ -19,6 +19,8 @@ export class ZSelect {
|
|
|
19
19
|
this.noresultslabel = "Nessun risultato";
|
|
20
20
|
/** When fixed, it occupies space and pushes down next elements. */
|
|
21
21
|
this.isfixed = false;
|
|
22
|
+
/** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */
|
|
23
|
+
this.size = ControlSize.BIG;
|
|
22
24
|
this.isOpen = false;
|
|
23
25
|
this.selectedItem = null;
|
|
24
26
|
this.itemsList = [];
|
|
@@ -217,7 +219,7 @@ export class ZSelect {
|
|
|
217
219
|
return (h("z-input", { class: {
|
|
218
220
|
"active-select": this.isOpen,
|
|
219
221
|
"cursor-select": !this.autocomplete,
|
|
220
|
-
}, id: `${this.htmlid}_input`, htmlid: `${this.htmlid}_input`, placeholder: this.placeholder, value: !this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, "") : null, label: this.label, "aria-label": this.ariaLabel, icon: this.isOpen ? "caret-up" : "caret-down", hasclearicon: this.hasAutocomplete(), message: false, disabled: this.disabled, readonly: this.readonly || (!this.hasAutocomplete() && this.isOpen), status: this.isOpen ? undefined : this.status, autocomplete: "off", onClick: (e) => {
|
|
222
|
+
}, id: `${this.htmlid}_input`, htmlid: `${this.htmlid}_input`, placeholder: this.placeholder, value: !this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, "") : null, label: this.label, "aria-label": this.ariaLabel, icon: this.isOpen ? "caret-up" : "caret-down", hasclearicon: this.hasAutocomplete(), message: false, disabled: this.disabled, readonly: this.readonly || (!this.hasAutocomplete() && this.isOpen), status: this.isOpen ? undefined : this.status, autocomplete: "off", size: this.size, onClick: (e) => {
|
|
221
223
|
this.handleInputClick(e);
|
|
222
224
|
}, onKeyUp: (e) => {
|
|
223
225
|
if (e.keyCode !== 13) {
|
|
@@ -240,7 +242,7 @@ export class ZSelect {
|
|
|
240
242
|
return (h("div", { class: this.isOpen ? "open" : "closed", tabindex: "-1" }, h("div", { class: {
|
|
241
243
|
"ul-scroll-wrapper": true,
|
|
242
244
|
"fixed": this.isfixed,
|
|
243
|
-
}, tabindex: "-1" }, h("z-list", { role: "listbox", tabindex: this.disabled || this.readonly || !this.isOpen ? -1 : 0, id: this.htmlid, "aria-activedescendant": (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id, "aria-multiselectable": false, class: {
|
|
245
|
+
}, tabindex: "-1" }, h("z-list", { role: "listbox", tabindex: this.disabled || this.readonly || !this.isOpen ? -1 : 0, id: this.htmlid, "aria-activedescendant": (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id, "aria-multiselectable": false, size: this.listSizeType(), class: {
|
|
244
246
|
disabled: this.disabled,
|
|
245
247
|
readonly: this.readonly,
|
|
246
248
|
filled: !!this.selectedItem,
|
|
@@ -252,18 +254,24 @@ export class ZSelect {
|
|
|
252
254
|
"hide": !this.selectedItem || !this.resetItem,
|
|
253
255
|
"reset-item": true,
|
|
254
256
|
"reset-item-margin": !this.hasGroupItems,
|
|
255
|
-
}, clickable: true, disabled: false, dividerType: ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_${this.resetItem ? "0" : "none"}`, onClickItem: () => {
|
|
257
|
+
}, clickable: true, disabled: false, dividerType: ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_${this.resetItem ? "0" : "none"}`, size: this.listSizeType(), onClickItem: () => {
|
|
256
258
|
this.selectedItem = null;
|
|
257
259
|
this.searchString = null;
|
|
258
260
|
this.emitResetSelect();
|
|
259
261
|
}, onKeyDown: (e) => this.arrowsSelectNav(e, 0) }, h("div", { class: "reset-item-content" }, h("z-icon", { name: "multiply-circled" }), h("span", null, this.resetItem))));
|
|
260
262
|
}
|
|
261
263
|
renderItem(item, key, lastItem) {
|
|
262
|
-
return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${key}`, onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, h("span", { class: {
|
|
264
|
+
return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${key}`, size: this.listSizeType(), onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, h("span", { class: {
|
|
263
265
|
"selected": !!item.selected,
|
|
264
266
|
"list-element-content": true,
|
|
265
267
|
}, innerHTML: item.name })));
|
|
266
268
|
}
|
|
269
|
+
listSizeType() {
|
|
270
|
+
if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {
|
|
271
|
+
return ListSize.SMALL;
|
|
272
|
+
}
|
|
273
|
+
return ListSize.MEDIUM;
|
|
274
|
+
}
|
|
267
275
|
renderSelectUlItems() {
|
|
268
276
|
if (!this.itemsList.length) {
|
|
269
277
|
return this.renderNoSearchResults();
|
|
@@ -289,17 +297,17 @@ export class ZSelect {
|
|
|
289
297
|
return group;
|
|
290
298
|
}, {});
|
|
291
299
|
return Object.entries(newData).map(([key, value]) => {
|
|
292
|
-
return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("
|
|
300
|
+
return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), value.map((item) => item)));
|
|
293
301
|
});
|
|
294
302
|
}
|
|
295
303
|
renderNoSearchResults() {
|
|
296
|
-
return (h("z-list-element", { color: "blue500", class: "no-results" }, h("z-icon", { name: "multiply-circle", fill: "blue500" }), this.noresultslabel));
|
|
304
|
+
return (h("z-list-element", { color: "blue500", class: "no-results", size: this.listSizeType() }, h("z-icon", { name: "multiply-circle", fill: "blue500" }), this.noresultslabel));
|
|
297
305
|
}
|
|
298
306
|
renderMessage() {
|
|
299
307
|
if (boolean(this.message) === false) {
|
|
300
308
|
return;
|
|
301
309
|
}
|
|
302
|
-
return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status }));
|
|
310
|
+
return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size }));
|
|
303
311
|
}
|
|
304
312
|
render() {
|
|
305
313
|
return (h("div", { class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
|
|
@@ -607,6 +615,29 @@ export class ZSelect {
|
|
|
607
615
|
},
|
|
608
616
|
"attribute": "reset-item",
|
|
609
617
|
"reflect": false
|
|
618
|
+
},
|
|
619
|
+
"size": {
|
|
620
|
+
"type": "string",
|
|
621
|
+
"mutable": false,
|
|
622
|
+
"complexType": {
|
|
623
|
+
"original": "ControlSize",
|
|
624
|
+
"resolved": "ButtonSize.BIG | ButtonSize.SMALL | ButtonSize.X_SMALL",
|
|
625
|
+
"references": {
|
|
626
|
+
"ControlSize": {
|
|
627
|
+
"location": "import",
|
|
628
|
+
"path": "../../../beans"
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
"required": false,
|
|
633
|
+
"optional": true,
|
|
634
|
+
"docs": {
|
|
635
|
+
"tags": [],
|
|
636
|
+
"text": "Available sizes: `big`, `small` and `x-small`. Defaults to `big`."
|
|
637
|
+
},
|
|
638
|
+
"attribute": "size",
|
|
639
|
+
"reflect": false,
|
|
640
|
+
"defaultValue": "ControlSize.BIG"
|
|
610
641
|
}
|
|
611
642
|
};
|
|
612
643
|
}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
font-weight: var(--font-rg);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
:host([size="small"]),
|
|
11
|
+
:host([size="x-small"]) {
|
|
12
|
+
font-size: var(--font-size-2);
|
|
13
|
+
}
|
|
14
|
+
|
|
10
15
|
.select-wrapper > z-input {
|
|
11
16
|
width: 100%;
|
|
12
17
|
}
|
|
@@ -76,6 +81,10 @@
|
|
|
76
81
|
|
|
77
82
|
.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-content {
|
|
78
83
|
display: block;
|
|
84
|
+
padding: calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 1.5);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host([size="x-small"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-content {
|
|
79
88
|
padding: 0 calc(var(--space-unit) * 1.5);
|
|
80
89
|
}
|
|
81
90
|
|