@zanichelli/albe-web-components 19.2.7 → 19.2.8-RC2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-Ctc6JP2n.js → utils-BY7xrW7W.js} +6 -0
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/z-app-header_12.cjs.entry.js +19 -17
- package/dist/cjs/z-book-card-deprecated.cjs.entry.js +1 -1
- package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/z-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/z-combobox.cjs.entry.js +3 -3
- package/dist/cjs/z-menu.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
- package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
- package/dist/cjs/z-popover.cjs.entry.js +1 -1
- package/dist/cjs/z-select.cjs.entry.js +4 -8
- package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
- package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
- package/dist/cjs/z-table.cjs.entry.js +1 -1
- package/dist/cjs/z-toast-notification.cjs.entry.js +92 -31
- package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
- package/dist/cjs/z-tool.cjs.entry.js +1 -1
- package/dist/cjs/z-tr.cjs.entry.js +1 -1
- package/dist/collection/components/z-app-header/index.js +21 -2
- package/dist/collection/components/z-app-header/index.stories.js +25 -9
- package/dist/collection/components/z-combobox/index.js +3 -3
- package/dist/collection/components/z-input/index.js +49 -30
- package/dist/collection/components/z-searchbar/index.js +25 -3
- package/dist/collection/components/z-searchbar/index.stories.js +9 -0
- package/dist/collection/components/z-select/index.js +4 -8
- package/dist/collection/utils/utils.js +5 -0
- package/dist/components/index13.js +1 -1
- package/dist/components/index17.js +1 -1
- package/dist/components/index7.js +1 -1
- package/dist/components/utils.js +1 -1
- package/dist/components/z-app-header.js +1 -1
- package/dist/components/z-combobox.js +1 -1
- package/dist/components/z-select.js +1 -1
- package/dist/components/z-skip-to-content.js +1 -1
- package/dist/components/z-slideshow.js +1 -1
- package/dist/components/z-toast-notification.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-DYd3kO0P.js → utils-BEzZQwOB.js} +6 -1
- package/dist/esm/web-components-library.js +1 -1
- package/dist/esm/z-app-header_12.entry.js +19 -17
- package/dist/esm/z-book-card-deprecated.entry.js +1 -1
- package/dist/esm/z-breadcrumb.entry.js +1 -1
- package/dist/esm/z-color-picker.entry.js +1 -1
- package/dist/esm/z-combobox.entry.js +3 -3
- package/dist/esm/z-menu.entry.js +1 -1
- 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-popover.entry.js +1 -1
- package/dist/esm/z-select.entry.js +4 -8
- 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.entry.js +1 -1
- package/dist/esm/z-toast-notification.entry.js +92 -31
- package/dist/esm/z-toggle-switch.entry.js +1 -1
- package/dist/esm/z-tool.entry.js +1 -1
- package/dist/esm/z-tr.entry.js +1 -1
- package/dist/types/components/z-app-header/index.d.ts +4 -0
- package/dist/types/components/z-app-header/index.stories.d.ts +7 -0
- package/dist/types/components/z-input/index.d.ts +6 -4
- package/dist/types/components/z-searchbar/index.d.ts +2 -0
- package/dist/types/components/z-searchbar/index.stories.d.ts +4 -0
- package/dist/types/components/z-select/index.d.ts +0 -1
- package/dist/types/components.d.ts +32 -3
- package/dist/types/utils/utils.d.ts +2 -0
- package/dist/web-components-library/index.esm.js +1 -1
- package/dist/web-components-library/{p-eddc2d19.entry.js → p-0105149a.entry.js} +1 -1
- package/{www/build/p-1d023220.entry.js → dist/web-components-library/p-20d94cce.entry.js} +1 -1
- package/dist/web-components-library/p-22da6202.entry.js +1 -0
- package/{www/build/p-14b804f9.entry.js → dist/web-components-library/p-271dfd9c.entry.js} +1 -1
- package/dist/web-components-library/{p-8a8df4f4.entry.js → p-2abf765d.entry.js} +1 -1
- package/dist/web-components-library/{p-299f0f85.entry.js → p-313fc91d.entry.js} +1 -1
- package/dist/web-components-library/{p-f7e46ef2.entry.js → p-4d1b3d16.entry.js} +1 -1
- package/dist/web-components-library/p-61992f12.entry.js +1 -0
- package/dist/web-components-library/{p-2c036e17.entry.js → p-62d2247e.entry.js} +1 -1
- package/dist/web-components-library/{p-583b8152.entry.js → p-64c025f6.entry.js} +1 -1
- package/dist/web-components-library/{p-3ea03d34.entry.js → p-660737b0.entry.js} +1 -1
- package/dist/web-components-library/p-7371a543.entry.js +2 -0
- package/dist/web-components-library/{p-85cac60d.entry.js → p-89daaeb5.entry.js} +1 -1
- package/dist/web-components-library/p-B0bOjMSb.js +1 -0
- package/dist/web-components-library/{p-83da1031.entry.js → p-b01ff8e6.entry.js} +1 -1
- package/dist/web-components-library/{p-8261c869.entry.js → p-ce3bbaf2.entry.js} +1 -1
- package/dist/web-components-library/{p-e48497f0.entry.js → p-d121122f.entry.js} +1 -1
- package/dist/web-components-library/p-f5e1420d.entry.js +1 -0
- package/dist/web-components-library/web-components-library.esm.js +1 -1
- package/package.json +5 -4
- package/www/build/index.esm.js +1 -1
- package/www/build/{p-eddc2d19.entry.js → p-0105149a.entry.js} +1 -1
- package/{dist/web-components-library/p-1d023220.entry.js → www/build/p-20d94cce.entry.js} +1 -1
- package/www/build/p-22da6202.entry.js +1 -0
- package/{dist/web-components-library/p-14b804f9.entry.js → www/build/p-271dfd9c.entry.js} +1 -1
- package/www/build/{p-8a8df4f4.entry.js → p-2abf765d.entry.js} +1 -1
- package/www/build/{p-299f0f85.entry.js → p-313fc91d.entry.js} +1 -1
- package/www/build/{p-f7e46ef2.entry.js → p-4d1b3d16.entry.js} +1 -1
- package/www/build/p-61992f12.entry.js +1 -0
- package/www/build/{p-2c036e17.entry.js → p-62d2247e.entry.js} +1 -1
- package/www/build/{p-583b8152.entry.js → p-64c025f6.entry.js} +1 -1
- package/www/build/{p-3ea03d34.entry.js → p-660737b0.entry.js} +1 -1
- package/www/build/p-7371a543.entry.js +2 -0
- package/www/build/{p-85cac60d.entry.js → p-89daaeb5.entry.js} +1 -1
- package/www/build/p-B0bOjMSb.js +1 -0
- package/www/build/{p-83da1031.entry.js → p-b01ff8e6.entry.js} +1 -1
- package/www/build/{p-23143b48.js → p-b3710a31.js} +1 -1
- package/www/build/{p-8261c869.entry.js → p-ce3bbaf2.entry.js} +1 -1
- package/www/build/{p-e48497f0.entry.js → p-d121122f.entry.js} +1 -1
- package/www/build/p-f5e1420d.entry.js +1 -0
- package/www/build/web-components-library.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/web-components-library/p-37e84b71.entry.js +0 -1
- package/dist/web-components-library/p-8b026993.entry.js +0 -1
- package/dist/web-components-library/p-9d15ecdf.entry.js +0 -2
- package/dist/web-components-library/p-CPsEG702.js +0 -1
- package/dist/web-components-library/p-d10e6b1a.entry.js +0 -1
- package/www/build/p-37e84b71.entry.js +0 -1
- package/www/build/p-8b026993.entry.js +0 -1
- package/www/build/p-9d15ecdf.entry.js +0 -2
- package/www/build/p-CPsEG702.js +0 -1
- package/www/build/p-d10e6b1a.entry.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss$1 = () => `.z-label{display:block;padding-bottom:var(--space-unit);color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--font-sb);text-align:left;text-transform:uppercase}`;
|
|
@@ -70,7 +70,7 @@ const ZCombobox = class {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
getOptionId(itemId) {
|
|
73
|
-
return `${this.inputid}-option-${itemId}`;
|
|
73
|
+
return `${this.inputid}-option-${utils.encodeString(itemId || utils.randomId())}`;
|
|
74
74
|
}
|
|
75
75
|
getCheckAllOptionId() {
|
|
76
76
|
return `${this.inputid}-check-all`;
|
|
@@ -304,7 +304,7 @@ const ZCombobox = class {
|
|
|
304
304
|
return (index.h("z-list-element", { class: "check-all-wrapper", role: "presentation", htmlTabindex: -1, dividerType: index$1.ListDividerType.ELEMENT, dividerColor: "gray800", size: this.getControlToListSize(), disabled: !!isDisabled }, index.h("span", { class: "option-wrap", role: "presentation", onClick: () => this.checkOption(optionId) }, index.h("z-icon", { name: allChecked ? "checkbox-checked" : "checkbox", class: this.focusedItemId === optionId ? "focused" : "" }), index.h("span", { id: optionId, role: isDisabled ? "presentation" : "option", "aria-selected": allChecked ? "true" : "false" }, allChecked ? this.uncheckalltext : this.checkalltext))));
|
|
305
305
|
}
|
|
306
306
|
render() {
|
|
307
|
-
return (index.h("div", { key: '
|
|
307
|
+
return (index.h("div", { key: '9abef20bcd118d5aaf14caf7e92978df7a4ec73b', "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
|
|
308
308
|
}
|
|
309
309
|
get element() { return index.getElement(this); }
|
|
310
310
|
static get watchers() { return {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index$1 = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `:host,::slotted(*),*{box-sizing:border-box;outline:none}:host{position:relative;display:inline-flex;height:fit-content;flex-direction:column}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{position:relative;display:flex;width:100%;align-items:center;padding:0;border:0;border-bottom:var(--border-size-large) solid transparent;margin:0;background:transparent;border-radius:0;color:inherit;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-visible,div.menu-label:focus-within{box-shadow:var(--shadow-focus-primary)}:host(:is([active],[open])) .menu-label ::slotted(*),.menu-label:focus-visible ::slotted(*),div.menu-label:focus-within ::slotted(*){color:var(--color-primary01);font-weight:var(--font-bd)}:host([vertical-context]) .menu-label{padding:var(--space-unit) 0;border-width:var(--border-size-small);border-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label,.menu-label:hover,.menu-label:focus-visible,div.menu-label:focus-within{border-color:var(--color-primary01)}:host([vertical-context]:is([active],[open])) .menu-label::after,:host([vertical-context]) .menu-label:hover::after,:host([vertical-context]) .menu-label:focus-visible::after,:host([vertical-context]) div.menu-label:focus-within::after{position:absolute;bottom:calc(var(--border-size-small) * -1);left:0;width:100%;height:var(--border-size-large);background-color:var(--color-primary01);content:""}:host([vertical-context]) .menu-label ::slotted(*){padding:0}.menu-label ::slotted(*){display:inline-flex;width:100%;min-width:fit-content;padding-bottom:2px;margin:0;appearance:none;color:var(--z-menu-label-color, var(--color-default-text));font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:inherit;line-height:1.5;white-space:nowrap}.menu-label z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:var(--color-default-icon)}::slotted([data-text]:not([slot]))::after{height:0;content:attr(data-text);content:attr(data-text) / "";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text]:not([slot]))::after{display:none}}::slotted([data-text]:not([slot])){display:inline-flex;flex-direction:column}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]:not([vertical-context])) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:0 calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot="header"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot="header"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot="item"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.5}.items>::slotted([slot="item"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot="item"]:not(z-menu-section)){padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface03)}:host(:not([vertical-context])) .items>::slotted([slot="item"]:last-child){border-bottom:0}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"]:active),.items>::slotted([slot="item"][active]),.items>::slotted([slot="item"][data-active]){border-color:var(--color-primary01);font-weight:var(--font-bd)}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `:host{width:100%;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div{position:relative;display:grid;width:calc(100% + calc(var(--space-unit) * 2));height:402px;box-sizing:border-box;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--border-size-small) solid var(--color-primary01);margin-left:calc(-1 * var(--space-unit));background:var(--color-surface01);border-radius:0;box-shadow:0 2px 4px 0 rgb(66 69 72 / 35%)}:host>div>z-icon{position:absolute;top:var(--space-unit);right:var(--space-unit);cursor:pointer;fill:var(--color-primary01)}:host>div>div.cta-wrapper{display:flex;flex-flow:column nowrap;align-self:end;justify-content:space-between}:host>div>div.content-wrapper{position:relative;overflow:hidden;align-self:stretch}:host>div>div.content-wrapper>section{box-sizing:border-box;padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface04);color:var(--color-surface05);font-size:14px;line-height:20px}:host>div>div.content-wrapper>section:last-child{border-bottom:none}:host>div>div.content-wrapper>section.info-wrapper{position:relative;overflow:hidden;box-sizing:border-box}:host>div>div.content-wrapper>section.info-wrapper.hidden::after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg, rgb(255 0 0 / 0%), rgb(255 0 0 / 0%) 60%, white);content:"";pointer-events:none}:host>div>div.content-wrapper>section>span.license-heading{display:flex;justify-content:space-between}:host>div>div.content-wrapper>section>span.license-heading>span.expired{color:var(--color-primary01);font-size:12px;font-weight:600}:host>div>div.content-wrapper>section>span.license-heading>span.expiring{color:var(--color-hover-warning);font-size:12px;font-weight:600}:host>div>div.content-wrapper>z-popover{position:absolute;top:0;left:calc(var(--space-unit) * 4)}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `:host{position:fixed;display:none;max-width:calc(100dvw - var(--grid-margin) * 2);max-height:calc(100dvh - var(--grid-margin) * 2);padding:var(--z-popover-padding, 0);background:var(--z-popover-theme--surface, var(--color-surface01));border-radius:var(--border-radius-small);color:var(--z-popover-theme--text, var(--color-default-text));fill:currentcolor;filter:var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));text-align:center;visibility:hidden;}:host([open]:not([open="false"])[current-position]){display:block}:host([center][current-position="top"]),:host([center][current-position="bottom"]){transform:translateX(-50%)}:host([center][current-position="right"]),:host([center][current-position="left"]){transform:translateY(-50%)}:host([current-position^="top"]){margin:0 0 var(--space-unit)}:host([current-position^="bottom"]){margin:var(--space-unit) 0 0}:host([current-position^="left"]){margin:0 var(--space-unit) 0 0}:host([current-position^="right"]){margin:0 0 0 var(--space-unit)}:host([current-position])::before{--arrow-size:6px;--arrow-edge-offset:calc(100% - var(--space-unit) - (var(--arrow-size) / 2));--arrow-center-x-offset:calc(50% - (var(--arrow-size) / 2));--arrow-center-y-offset:calc(100% - (var(--arrow-size) / 2));position:absolute;display:block;width:var(--arrow-size);height:var(--arrow-size);background:var(--z-popover-theme--surface, var(--color-surface01));content:"";transform:rotate(45deg)}:host([show-arrow="false"])::before,:host(:not([show-arrow]))::before{display:none}:host([current-position^="top"])::before{top:var(--arrow-center-y-offset)}:host([current-position^="bottom"])::before{bottom:var(--arrow-center-y-offset)}:host([current-position="top"])::before,:host([current-position="bottom"])::before{right:var(--arrow-edge-offset)}:host([current-position="right"])::before,:host([current-position="left"])::before{bottom:var(--arrow-edge-offset)}:host([current-position="right"])::before{right:var(--arrow-center-y-offset)}:host([current-position="left"])::before{left:var(--arrow-center-y-offset)}:host([current-position="top_right"])::before,:host([current-position="bottom_right"])::before{right:var(--arrow-edge-offset)}:host([current-position="top_left"])::before,:host([current-position="bottom_left"])::before{left:var(--arrow-edge-offset)}:host([current-position="right_top"])::before,:host([current-position="left_top"])::before{top:var(--arrow-edge-offset)}:host([current-position="right_top"])::before,:host([current-position="right_bottom"])::before{right:var(--arrow-center-y-offset)}:host([current-position="left_top"])::before,:host([current-position="left_bottom"])::before{left:var(--arrow-center-y-offset)}:host([current-position="right_bottom"])::before,:host([current-position="left_bottom"])::before{bottom:var(--arrow-edge-offset)}:host([center][current-position="top"])::before,:host([center][current-position="bottom"])::before{right:auto;left:var(--arrow-center-x-offset)}:host([center][current-position="right"])::before,:host([center][current-position="left"])::before{top:var(--arrow-center-x-offset);bottom:auto}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `.sc-z-select-h{display:inline-block;width:inherit;color:var(--color-form-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size="small"].sc-z-select-h,[size="x-small"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select z-list.sc-z-select{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-surface02);--background-active-color-list-element:var(--color-surface02)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:var(--space-unit) calc(var(--space-unit) * 1.5);margin:0;outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap:var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{margin-right:auto}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size="small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[size="x-small"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select .list-element-content.selected.sc-z-select{font-weight:var(--font-sb)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--color-form-default-text)}.reset-item.sc-z-select{color:var(--color-form-active-primary);fill:var(--color-form-active-primary)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.sc-z-select .reset-item-content.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:var(--space-unit)}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}.tree-list-reset-item.sc-z-select{padding:var(--space-unit) 0}z-list-element.sc-z-select{position:relative;display:block}z-list.sc-z-select z-list-element.sc-z-select::before{position:absolute;z-index:100;top:3px;left:-8px;width:8px;height:1em;border-bottom:1px solid var(--color-form-disabled01-icon);border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-8px;width:8px;height:100%;border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.5) var(--space-unit);cursor:pointer}z-list-element.sc-z-select>.list-element.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover,z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover::after{background-color:var(--background-hover-color-list-element, var(--color-background))}z-list-element.sc-z-select>.list-element.sc-z-select .item.ellipsis.sc-z-select{overflow:hidden}z-list-element.sc-z-select .list-element.sc-z-select::after{position:absolute;top:0;right:-1px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.tree-search-item.sc-z-select{padding-top:0}z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}.item-label.selected.sc-z-select{font-weight:bold}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;right:-18px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:0;right:0;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}.children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select z-list-element.sc-z-select::after{left:-8px}.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::after{left:-8px}.children-node.sc-z-select>z-list-element.sc-z-select{padding:0}`;
|
|
@@ -96,14 +96,11 @@ const ZSelect = class {
|
|
|
96
96
|
return (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id;
|
|
97
97
|
}
|
|
98
98
|
getOptionId(item) {
|
|
99
|
-
return `${this.htmlid}_key_${item.id}`;
|
|
99
|
+
return `${this.htmlid}_key_${utils.encodeString(item.id || utils.randomId())}`;
|
|
100
100
|
}
|
|
101
101
|
getResetOptionId() {
|
|
102
102
|
return `${this.htmlid}_key_reset`;
|
|
103
103
|
}
|
|
104
|
-
getItemIdFromOptionId(optionId) {
|
|
105
|
-
return optionId.replace(`${this.htmlid}_key_`, ``);
|
|
106
|
-
}
|
|
107
104
|
getGroupedItems() {
|
|
108
105
|
if (!this.itemsList.length) {
|
|
109
106
|
return [];
|
|
@@ -233,8 +230,7 @@ const ZSelect = class {
|
|
|
233
230
|
this.handleResetClick();
|
|
234
231
|
}
|
|
235
232
|
else {
|
|
236
|
-
const
|
|
237
|
-
const item = this.itemsList.find((e) => e.id === itemId) || null;
|
|
233
|
+
const item = this.itemsList.find((e) => this.getOptionId(e) === this.focusedItemId) || null;
|
|
238
234
|
if (item) {
|
|
239
235
|
this.selectedItem = item;
|
|
240
236
|
this.emitOptionSelect();
|
|
@@ -478,7 +474,7 @@ const ZSelect = class {
|
|
|
478
474
|
return (index.h("z-input-message", { message: utils.boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size, disabled: this.disabled }));
|
|
479
475
|
}
|
|
480
476
|
render() {
|
|
481
|
-
return (index.h("div", { key: '
|
|
477
|
+
return (index.h("div", { key: '3a7af215bd74e5ac48cd7f9711ab019456eb0735', class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
|
|
482
478
|
}
|
|
483
479
|
get host() { return index.getElement(this); }
|
|
484
480
|
static get watchers() { return {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `.sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `:host{display:block;width:inherit;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div{display:flex;width:inherit;flex-direction:column}main{position:relative;overflow:hidden;width:100%}main z-icon.scroll{position:absolute;z-index:10;top:50%;width:auto;margin:0 var(--space-unit);cursor:pointer;fill:var(--color-primary01);transition:0.6s ease}main .scroll.disabled{opacity:0.5;pointer-events:none}main .scroll.right{right:0}#slides{display:flex;flex-wrap:wrap;line-height:0px;overflow-y:hidden;transition:all 300ms}footer{display:grid;width:100%;height:56px;align-items:center;border-top:var(--border-size-medium) solid var(--color-background);grid-template:2 / 2;grid-template-areas:"center center" "left right"}footer>div{width:100%;align-items:center}footer .footer-center{grid-area:center}footer .footer-left{grid-area:left}footer .footer-right{grid-area:right}footer .bullet-container{display:flex;min-height:60px;align-items:center;justify-content:center;margin:0 auto}footer .bullet-container .bullet{width:8px;height:8px;margin:var(--space-unit) 2px;background-color:var(--gray200);border-radius:50%;pointer-events:none}footer .bullet-container .bullet.selected{background-color:var(--gray400)}main z-icon:focus,footer .bullet-container .bullet:focus{border-radius:50%;box-shadow:var(--shadow-focus-primary);outline:none !important}@media only screen and (min-width: 768px){footer{height:76px;border-top:var(--border-size-medium) solid var(--color-background);grid-template:1 / 1fr 2fr 1fr;grid-template-areas:"left center right"}footer .bullet-container .bullet{width:10px;height:10px;margin:var(--space-unit) 3px}}@media only screen and (min-width: 1025px){main z-icon.scroll{margin:0 10px}footer .bullet-container .bullet{width:16px;height:16px;margin:var(--space-unit) calc(var(--space-unit) * 0.5);cursor:pointer;pointer-events:auto}}`;
|
|
@@ -5,7 +5,7 @@ require('./z-tbody.cjs.entry.js');
|
|
|
5
5
|
require('./z-tfoot.cjs.entry.js');
|
|
6
6
|
require('./z-thead.cjs.entry.js');
|
|
7
7
|
require('./z-tr.cjs.entry.js');
|
|
8
|
-
require('./utils-
|
|
8
|
+
require('./utils-BY7xrW7W.js');
|
|
9
9
|
require('./index-wGaSHN1_.js');
|
|
10
10
|
require('./breakpoints-B7vFm-3T.js');
|
|
11
11
|
require('./z-td.cjs.entry.js');
|
|
@@ -4,7 +4,7 @@ var index = require('./index-D_S5lGcb.js');
|
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
5
|
var _commonjsHelpers = require('./_commonjsHelpers-CFO10eej.js');
|
|
6
6
|
|
|
7
|
-
/*! @license DOMPurify 3.
|
|
7
|
+
/*! @license DOMPurify 3.4.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.0/LICENSE */
|
|
8
8
|
|
|
9
9
|
const {
|
|
10
10
|
entries,
|
|
@@ -33,12 +33,18 @@ if (!seal) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
if (!apply) {
|
|
36
|
-
apply = function apply(
|
|
37
|
-
|
|
36
|
+
apply = function apply(func, thisArg) {
|
|
37
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
38
|
+
args[_key - 2] = arguments[_key];
|
|
39
|
+
}
|
|
40
|
+
return func.apply(thisArg, args);
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
if (!construct) {
|
|
41
|
-
construct = function construct(Func
|
|
44
|
+
construct = function construct(Func) {
|
|
45
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
46
|
+
args[_key2 - 1] = arguments[_key2];
|
|
47
|
+
}
|
|
42
48
|
return new Func(...args);
|
|
43
49
|
};
|
|
44
50
|
}
|
|
@@ -67,8 +73,8 @@ function unapply(func) {
|
|
|
67
73
|
if (thisArg instanceof RegExp) {
|
|
68
74
|
thisArg.lastIndex = 0;
|
|
69
75
|
}
|
|
70
|
-
for (var
|
|
71
|
-
args[
|
|
76
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
77
|
+
args[_key3 - 1] = arguments[_key3];
|
|
72
78
|
}
|
|
73
79
|
return apply(func, thisArg, args);
|
|
74
80
|
};
|
|
@@ -79,12 +85,12 @@ function unapply(func) {
|
|
|
79
85
|
* @param func - The constructor function to be wrapped and called.
|
|
80
86
|
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
81
87
|
*/
|
|
82
|
-
function unconstruct(
|
|
88
|
+
function unconstruct(Func) {
|
|
83
89
|
return function () {
|
|
84
|
-
for (var
|
|
85
|
-
args[
|
|
90
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
91
|
+
args[_key4] = arguments[_key4];
|
|
86
92
|
}
|
|
87
|
-
return construct(
|
|
93
|
+
return construct(Func, args);
|
|
88
94
|
};
|
|
89
95
|
}
|
|
90
96
|
/**
|
|
@@ -183,8 +189,8 @@ function lookupGetter(object, prop) {
|
|
|
183
189
|
return fallbackValue;
|
|
184
190
|
}
|
|
185
191
|
|
|
186
|
-
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
187
|
-
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
192
|
+
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
193
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
188
194
|
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
189
195
|
// List of SVG elements that are disallowed by default.
|
|
190
196
|
// We still need to know them so that we can do namespace
|
|
@@ -197,9 +203,9 @@ const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mgly
|
|
|
197
203
|
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
198
204
|
const text = freeze(['#text']);
|
|
199
205
|
|
|
200
|
-
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
201
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
202
|
-
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', '
|
|
206
|
+
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
207
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
208
|
+
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
203
209
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
204
210
|
|
|
205
211
|
// eslint-disable-next-line unicorn/better-regex
|
|
@@ -296,7 +302,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
296
302
|
function createDOMPurify() {
|
|
297
303
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
298
304
|
const DOMPurify = root => createDOMPurify(root);
|
|
299
|
-
DOMPurify.version = '3.
|
|
305
|
+
DOMPurify.version = '3.4.0';
|
|
300
306
|
DOMPurify.removed = [];
|
|
301
307
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
302
308
|
// Not running in a browser, provide a factory function
|
|
@@ -407,6 +413,21 @@ function createDOMPurify() {
|
|
|
407
413
|
let FORBID_TAGS = null;
|
|
408
414
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
409
415
|
let FORBID_ATTR = null;
|
|
416
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
417
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
418
|
+
tagCheck: {
|
|
419
|
+
writable: true,
|
|
420
|
+
configurable: false,
|
|
421
|
+
enumerable: true,
|
|
422
|
+
value: null
|
|
423
|
+
},
|
|
424
|
+
attributeCheck: {
|
|
425
|
+
writable: true,
|
|
426
|
+
configurable: false,
|
|
427
|
+
enumerable: true,
|
|
428
|
+
value: null
|
|
429
|
+
}
|
|
430
|
+
}));
|
|
410
431
|
/* Decide if ARIA attributes are okay */
|
|
411
432
|
let ALLOW_ARIA_ATTR = true;
|
|
412
433
|
/* Decide if custom data attributes are okay */
|
|
@@ -557,7 +578,7 @@ function createDOMPurify() {
|
|
|
557
578
|
NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
|
|
558
579
|
MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
|
|
559
580
|
HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
|
|
560
|
-
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING ||
|
|
581
|
+
CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || create(null);
|
|
561
582
|
if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
|
|
562
583
|
CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
|
|
563
584
|
}
|
|
@@ -576,7 +597,7 @@ function createDOMPurify() {
|
|
|
576
597
|
/* Parse profile info */
|
|
577
598
|
if (USE_PROFILES) {
|
|
578
599
|
ALLOWED_TAGS = addToSet({}, text);
|
|
579
|
-
ALLOWED_ATTR =
|
|
600
|
+
ALLOWED_ATTR = create(null);
|
|
580
601
|
if (USE_PROFILES.html === true) {
|
|
581
602
|
addToSet(ALLOWED_TAGS, html$1);
|
|
582
603
|
addToSet(ALLOWED_ATTR, html);
|
|
@@ -597,18 +618,30 @@ function createDOMPurify() {
|
|
|
597
618
|
addToSet(ALLOWED_ATTR, xml);
|
|
598
619
|
}
|
|
599
620
|
}
|
|
621
|
+
/* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent
|
|
622
|
+
* leaking across calls when switching from function to array config */
|
|
623
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
624
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
600
625
|
/* Merge configuration parameters */
|
|
601
626
|
if (cfg.ADD_TAGS) {
|
|
602
|
-
if (
|
|
603
|
-
|
|
627
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
628
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
629
|
+
} else {
|
|
630
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
631
|
+
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
632
|
+
}
|
|
633
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
604
634
|
}
|
|
605
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
606
635
|
}
|
|
607
636
|
if (cfg.ADD_ATTR) {
|
|
608
|
-
if (
|
|
609
|
-
|
|
637
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
638
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
639
|
+
} else {
|
|
640
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
641
|
+
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
642
|
+
}
|
|
643
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
610
644
|
}
|
|
611
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
612
645
|
}
|
|
613
646
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
614
647
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -619,6 +652,12 @@ function createDOMPurify() {
|
|
|
619
652
|
}
|
|
620
653
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
621
654
|
}
|
|
655
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
656
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
657
|
+
FORBID_CONTENTS = clone(FORBID_CONTENTS);
|
|
658
|
+
}
|
|
659
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
660
|
+
}
|
|
622
661
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
623
662
|
if (KEEP_CONTENT) {
|
|
624
663
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -905,6 +944,11 @@ function createDOMPurify() {
|
|
|
905
944
|
_forceRemove(currentNode);
|
|
906
945
|
return true;
|
|
907
946
|
}
|
|
947
|
+
/* Remove risky CSS construction leading to mXSS */
|
|
948
|
+
if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && tagName === 'style' && _isNode(currentNode.firstElementChild)) {
|
|
949
|
+
_forceRemove(currentNode);
|
|
950
|
+
return true;
|
|
951
|
+
}
|
|
908
952
|
/* Remove any occurrence of processing instructions */
|
|
909
953
|
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
|
910
954
|
_forceRemove(currentNode);
|
|
@@ -916,7 +960,7 @@ function createDOMPurify() {
|
|
|
916
960
|
return true;
|
|
917
961
|
}
|
|
918
962
|
/* Remove element if anything forbids its presence */
|
|
919
|
-
if (
|
|
963
|
+
if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
|
|
920
964
|
/* Check if we have a custom element to handle */
|
|
921
965
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
922
966
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -980,6 +1024,10 @@ function createDOMPurify() {
|
|
|
980
1024
|
*/
|
|
981
1025
|
// eslint-disable-next-line complexity
|
|
982
1026
|
const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
|
|
1027
|
+
/* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */
|
|
1028
|
+
if (FORBID_ATTR[lcName]) {
|
|
1029
|
+
return false;
|
|
1030
|
+
}
|
|
983
1031
|
/* Make sure attribute cannot clobber */
|
|
984
1032
|
if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
|
|
985
1033
|
return false;
|
|
@@ -988,12 +1036,12 @@ function createDOMPurify() {
|
|
|
988
1036
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
989
1037
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
990
1038
|
We don't need to check the value; it's always URI safe. */
|
|
991
|
-
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
1039
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
992
1040
|
if (
|
|
993
1041
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
994
1042
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
995
1043
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
996
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
|
|
1044
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||
|
|
997
1045
|
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
998
1046
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
999
1047
|
lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
|
|
@@ -1072,7 +1120,12 @@ function createDOMPurify() {
|
|
|
1072
1120
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
1073
1121
|
}
|
|
1074
1122
|
/* Work around a security issue with comments inside attributes */
|
|
1075
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
1123
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
|
|
1124
|
+
_removeAttribute(name, currentNode);
|
|
1125
|
+
continue;
|
|
1126
|
+
}
|
|
1127
|
+
/* Make sure we cannot easily use animated hrefs, even if animations are allowed */
|
|
1128
|
+
if (lcName === 'attributename' && stringMatch(value, 'href')) {
|
|
1076
1129
|
_removeAttribute(name, currentNode);
|
|
1077
1130
|
continue;
|
|
1078
1131
|
}
|
|
@@ -1146,7 +1199,7 @@ function createDOMPurify() {
|
|
|
1146
1199
|
*
|
|
1147
1200
|
* @param fragment to iterate over recursively
|
|
1148
1201
|
*/
|
|
1149
|
-
const
|
|
1202
|
+
const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {
|
|
1150
1203
|
let shadowNode = null;
|
|
1151
1204
|
const shadowIterator = _createNodeIterator(fragment);
|
|
1152
1205
|
/* Execute a hook if present */
|
|
@@ -1160,7 +1213,7 @@ function createDOMPurify() {
|
|
|
1160
1213
|
_sanitizeAttributes(shadowNode);
|
|
1161
1214
|
/* Deep shadow DOM detected */
|
|
1162
1215
|
if (shadowNode.content instanceof DocumentFragment) {
|
|
1163
|
-
|
|
1216
|
+
_sanitizeShadowDOM2(shadowNode.content);
|
|
1164
1217
|
}
|
|
1165
1218
|
}
|
|
1166
1219
|
/* Execute a hook if present */
|
|
@@ -1255,7 +1308,7 @@ function createDOMPurify() {
|
|
|
1255
1308
|
_sanitizeAttributes(currentNode);
|
|
1256
1309
|
/* Shadow DOM detected, sanitize it */
|
|
1257
1310
|
if (currentNode.content instanceof DocumentFragment) {
|
|
1258
|
-
|
|
1311
|
+
_sanitizeShadowDOM2(currentNode.content);
|
|
1259
1312
|
}
|
|
1260
1313
|
}
|
|
1261
1314
|
/* If we sanitized `dirty` in-place, return it. */
|
|
@@ -1264,6 +1317,14 @@ function createDOMPurify() {
|
|
|
1264
1317
|
}
|
|
1265
1318
|
/* Return sanitized string or DOM */
|
|
1266
1319
|
if (RETURN_DOM) {
|
|
1320
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
1321
|
+
body.normalize();
|
|
1322
|
+
let html = body.innerHTML;
|
|
1323
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
1324
|
+
html = stringReplace(html, expr, ' ');
|
|
1325
|
+
});
|
|
1326
|
+
body.innerHTML = html;
|
|
1327
|
+
}
|
|
1267
1328
|
if (RETURN_DOM_FRAGMENT) {
|
|
1268
1329
|
returnNode = createDocumentFragment.call(body.ownerDocument);
|
|
1269
1330
|
while (body.firstChild) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `.sc-z-toggle-switch-h{position:relative;display:inline-flex;font-family:var(--font-family-sans);font-weight:var(--font-rg)}label.sc-z-toggle-switch{display:flex;flex-direction:row;align-items:center;cursor:pointer}label.disabled.sc-z-toggle-switch{cursor:default}label.right.sc-z-toggle-switch{flex-direction:row-reverse}label.sc-z-toggle-switch>span.sc-z-toggle-switch:first-child{color:var(--color-default-text);letter-spacing:0}label.left.sc-z-toggle-switch>span.sc-z-toggle-switch:first-child{margin-right:var(--space-unit)}label.right.sc-z-toggle-switch>span.sc-z-toggle-switch:first-child{margin-left:var(--space-unit)}label.sc-z-toggle-switch>span.container.sc-z-toggle-switch{position:relative;top:1px;left:1px;display:flex;width:calc(var(--space-unit) * 4);height:18px;align-items:center;background-color:var(--gray500);border-radius:var(--space-unit);color:var(--gray500);cursor:pointer}label.sc-z-toggle-switch>span.container.disabled.sc-z-toggle-switch,label.sc-z-toggle-switch>span.container.checked.disabled.sc-z-toggle-switch{background-color:var(--color-disabled01);cursor:default}label.sc-z-toggle-switch>span.container.checked.disabled.sc-z-toggle-switch>span.circle.sc-z-toggle-switch>z-icon.sc-z-toggle-switch{fill:var(--color-disabled01)}label.sc-z-toggle-switch>span.container.checked.sc-z-toggle-switch{background-color:var(--color-primary01);fill:var(--color-primary01)}input.sc-z-toggle-switch:focus:focus-visible+label.sc-z-toggle-switch>span.container.sc-z-toggle-switch:not(.disabled){box-shadow:var(--shadow-focus-primary);outline:none}input.sc-z-toggle-switch:focus:focus-visible+label.sc-z-toggle-switch>span.container.disabled.sc-z-toggle-switch{outline:none}label.sc-z-toggle-switch>span.container.sc-z-toggle-switch:not(.disabled):hover{background-color:var(--color-hover-primary);fill:var(--color-hover-primary)}label.sc-z-toggle-switch>span.container.sc-z-toggle-switch>span.circle.sc-z-toggle-switch{position:absolute;top:1px;left:1px;display:flex;width:calc(var(--space-unit) * 2);height:calc(var(--space-unit) * 2);align-items:center;justify-content:center;margin:0;background-color:var(--color-white);border-radius:7px;box-shadow:var(--shadow-1);transition:transform 0.3s ease}label.sc-z-toggle-switch>span.container.checked.sc-z-toggle-switch>span.circle.sc-z-toggle-switch{transform:translateX(calc(100% - 2px))}input[type="checkbox"].sc-z-toggle-switch{position:absolute;z-index:-1;opacity:0;pointer-events:none}`;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D_S5lGcb.js');
|
|
4
4
|
var index$1 = require('./index-wGaSHN1_.js');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-BY7xrW7W.js');
|
|
6
6
|
require('./breakpoints-B7vFm-3T.js');
|
|
7
7
|
|
|
8
8
|
const stylesCss = () => `:host,*{box-sizing:border-box}.z-tool{--z-tool-size:calc(var(--space-unit) * 5.5);--z-tool-icon-size:calc(var(--space-unit) * 2.5);position:relative;display:inline-flex;width:var(--z-tool-size);height:var(--z-tool-size);align-items:center;justify-content:center;padding:0;border:none;margin:0;background-color:var(--color-surface01);border-radius:var(--border-radius);cursor:pointer}:host(:is([active],[open])) .z-tool{box-shadow:inset 0 0 0 2px var(--color-primary01)}:host([open]) .z-tool{background:var(--color-primary03)}@media (hover: hover){:host(:hover),:host(.z-tool-tooltip-open){z-index:1}:host(:not([disabled])) .z-tool:hover{background-color:var(--color-primary03)}}.z-tool:focus:focus-visible{background-color:var(--color-primary03);outline:none}z-icon{--z-icon-width:var(--z-tool-icon-size);--z-icon-height:var(--z-tool-icon-size);display:block;fill:var(--color-default-icon)}:host([disabled]) .z-tool{color:var(--color-disabled01-icon);cursor:not-allowed}:host([disabled]) z-icon{fill:var(--color-disabled01-icon)}.z-tool-tooltip{--z-tooltip-padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);--z-tooltip-shadow-filter:drop-shadow(0 4px 8px var(--shadow-color-base));position:relative;z-index:2;font-family:var(--font-family-sans);white-space:nowrap}.z-tool-submenu{z-index:3;border-radius:calc(var(--border-radius) + var(--border-size-small))}.z-tool-submenu ::slotted(z-color-picker){border:var(--border-size-small) solid var(--color-surface03);border-radius:var(--border-radius)}@media (max-width: 767px) and (hover: none){.z-tool-tooltip{display:none !important}}`;
|
|
@@ -198,7 +198,7 @@ export class ZAppHeader {
|
|
|
198
198
|
if (this.searchPageUrl && (this.isMobile || this.isTablet)) {
|
|
199
199
|
return (h("z-button", { class: "search-page-button", variant: ButtonVariant.SECONDARY, href: this.searchPageUrl, icon: "search", size: ControlSize.X_SMALL }));
|
|
200
200
|
}
|
|
201
|
-
return (h("z-searchbar", { value: this.searchString, placeholder: this.searchPlaceholder, showSearchButton: true, searchButtonIconOnly: this.isMobile || this.isTablet, size: ControlSize.X_SMALL, variant: ButtonVariant.SECONDARY, preventSubmit: this.searchString.length < 3, onSearchTyping: (e) => (this.searchString = e.detail) }));
|
|
201
|
+
return (h("z-searchbar", { value: this.searchString, placeholder: this.searchPlaceholder, showSearchButton: true, searchButtonIconOnly: this.isMobile || this.isTablet, searchButtonLabel: this.isMobile || this.isTablet ? undefined : this.searchButtonLabel, size: ControlSize.X_SMALL, variant: ButtonVariant.SECONDARY, preventSubmit: this.searchString.length < 3, onSearchTyping: (e) => (this.searchString = e.detail) }));
|
|
202
202
|
}
|
|
203
203
|
renderProductLogos() {
|
|
204
204
|
return (h(Fragment, null, this.enableZLogo && (h("span", { class: "z-logo" }, h("img", { alt: "Logo Zanichelli" }))), this.hostElement.querySelector("[slot='product-logo']") && (h("span", { class: "product-logo" }, h("slot", { name: "product-logo" })))));
|
|
@@ -280,7 +280,7 @@ export class ZAppHeader {
|
|
|
280
280
|
}
|
|
281
281
|
render() {
|
|
282
282
|
const hasTopSubtitle = this.hasSlot("top-subtitle");
|
|
283
|
-
return (h(Host, { key: '
|
|
283
|
+
return (h(Host, { key: 'dba00e6ba8614f38c6382a42420430ee44d61757', "menu-length": this.menuLength }, h("div", { key: '14462adce8a9cb03fe571a4eea4c1356d77d49d5', class: { "heading-panel": true, "has-menubar": this.menuLength > 0 && !this.enableOffcanvas }, ref: (el) => (this.container = el) }, h("div", { key: '18f406f950a9f2946d5c1c74e5c3a52c9f139069', class: { "heading-container": true, "has-top-subtitle": hasTopSubtitle } }, ((!this.enableSearch && this.isMobile) || !this.isMobile) && (h("div", { key: '1e74736f45625644289425d0e5cc6c825c6ac2b9', class: { "top-subtitle": true, "has-product-logo": hasTopSubtitle && this.hasSlot("product-logo") } }, h("slot", { key: '747325238cde4fb40d8448c58e4b6483ca049f28', name: "top-subtitle" }))), h("div", { key: '8d5159eabc8cddbb3fdc2227be62b5b1f318b1d4', class: "heading-title" }, h("slot", { key: '64c48e48e13c50d367fb52ed509d25cacbbc85da', name: "menu-button" }, this.renderMenuButton()), !this._stuck && this.renderProductLogos(), h("slot", { key: '990a282a81bd96d2524d3fbfff1dabce807824d9', name: "title" }), this.enableSearch && !this.isMobile && this.renderSeachbar()), this.enableSearch && this.isMobile && this.renderSeachbar()), h("nav", { key: '0048e85cccd48f1a9e587dc40bfc54ebf6c603bc', class: "menu-container", "aria-label": this.title || undefined }, this.canShowMenu && (h("div", { key: '41423d5aa2004b61c6d9ef0342013598e4e59d55', role: "menubar", "aria-label": this.title || undefined }, h("slot", { key: '4e12bbc0d9a8b54ecec94b1b12ad456ebcdb5bec', name: "menu", onSlotchange: this.collectMenuElements }))))), this.renderOffcanvas(), this._stuck && this.renderStuck()));
|
|
284
284
|
}
|
|
285
285
|
static get is() { return "z-app-header"; }
|
|
286
286
|
static get encapsulation() { return "shadow"; }
|
|
@@ -376,6 +376,25 @@ export class ZAppHeader {
|
|
|
376
376
|
"attribute": "search-placeholder",
|
|
377
377
|
"defaultValue": "\"Cerca\""
|
|
378
378
|
},
|
|
379
|
+
"searchButtonLabel": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"mutable": false,
|
|
382
|
+
"complexType": {
|
|
383
|
+
"original": "string",
|
|
384
|
+
"resolved": "string",
|
|
385
|
+
"references": {}
|
|
386
|
+
},
|
|
387
|
+
"required": false,
|
|
388
|
+
"optional": true,
|
|
389
|
+
"docs": {
|
|
390
|
+
"tags": [],
|
|
391
|
+
"text": "Label of the search button."
|
|
392
|
+
},
|
|
393
|
+
"getter": false,
|
|
394
|
+
"setter": false,
|
|
395
|
+
"reflect": false,
|
|
396
|
+
"attribute": "search-button-label"
|
|
397
|
+
},
|
|
379
398
|
"searchString": {
|
|
380
399
|
"type": "string",
|
|
381
400
|
"mutable": true,
|