@duetds/components 8.6.0 → 8.6.2
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/hydrate/index.js +52 -170
- package/lib/cjs/duet-action-button.cjs.entry.js +5 -6
- package/lib/cjs/duet-banner.cjs.entry.js +10 -7
- package/lib/cjs/duet-caption_4.cjs.entry.js +5 -2
- package/lib/cjs/duet-choice_2.cjs.entry.js +7 -0
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -34
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -37
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -37
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -5
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -37
- package/lib/cjs/duet.cjs.js +1 -1
- package/lib/cjs/loader.cjs.js +1 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +6 -8
- package/lib/collection/components/duet-banner/duet-banner.css +113 -133
- package/lib/collection/components/duet-banner/duet-banner.js +9 -6
- package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +15 -0
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +31 -0
- package/lib/collection/components/duet-link/duet-link.css +3 -0
- package/lib/collection/components/duet-link/duet-link.js +39 -1
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +10 -0
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +1 -38
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +10 -0
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +1 -41
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +10 -0
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +1 -41
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +10 -0
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +2 -6
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +10 -0
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -41
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +4 -0
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -0
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-banner.js +10 -7
- package/lib/dist-custom-elements/duet-choice-group.js +9 -1
- package/lib/dist-custom-elements/duet-contact-card.js +1 -1
- package/lib/dist-custom-elements/duet-date-picker.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +1 -1
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -35
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -38
- package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -39
- package/lib/dist-custom-elements/duet-pagination.js +1 -1
- package/lib/dist-custom-elements/duet-range-stepper.js +1 -1
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -6
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -39
- package/lib/dist-custom-elements/duet-upload-item.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +3 -3
- package/lib/dist-custom-elements/{p-68ba7bf1.js → p-2f410810.js} +7 -2
- package/lib/dist-custom-elements/{p-24693e9a.js → p-e10f446d.js} +2 -2
- package/lib/dist-custom-elements/{p-03152b20.js → p-f4ac6968.js} +5 -6
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/{p-c9370d43.system.entry.js → p-0fc721ab.system.entry.js} +1 -1
- package/lib/duet/p-25048bf8.system.entry.js +4 -0
- package/lib/duet/{p-aba91113.system.entry.js → p-27363096.system.entry.js} +1 -1
- package/lib/duet/{p-83238fe7.entry.js → p-436fcaf7.entry.js} +1 -1
- package/lib/duet/p-51e3af7b.system.entry.js +4 -0
- package/lib/duet/p-5c8e3667.entry.js +4 -0
- package/lib/duet/p-6151635f.system.js +1 -1
- package/lib/duet/p-69e67b58.entry.js +4 -0
- package/lib/duet/p-70b705ad.entry.js +4 -0
- package/lib/duet/p-723e165b.system.entry.js +4 -0
- package/lib/duet/p-82d1fd63.system.entry.js +4 -0
- package/lib/duet/p-9065a864.entry.js +4 -0
- package/lib/duet/p-9ac25886.system.entry.js +4 -0
- package/lib/duet/{p-cd87960a.system.entry.js → p-a659cdb5.system.entry.js} +1 -1
- package/lib/duet/p-b02ca265.entry.js +4 -0
- package/lib/duet/p-c12d34fd.system.entry.js +4 -0
- package/lib/duet/p-c776e072.entry.js +4 -0
- package/lib/duet/p-d1d79e0c.entry.js +4 -0
- package/lib/duet/p-ffab115e.entry.js +4 -0
- package/lib/esm/duet-action-button.entry.js +5 -6
- package/lib/esm/duet-banner.entry.js +10 -7
- package/lib/esm/duet-caption_4.entry.js +5 -2
- package/lib/esm/duet-choice_2.entry.js +7 -0
- package/lib/esm/duet-menu-bar-button.entry.js +2 -34
- package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -37
- package/lib/esm/duet-menu-bar-link.entry.js +2 -37
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -5
- package/lib/esm/duet-submenu-bar-link.entry.js +2 -37
- package/lib/esm/duet.js +1 -1
- package/lib/esm/loader.js +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-banner.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/types/components/duet-banner/duet-banner.d.ts +1 -1
- package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +5 -0
- package/lib/types/components/duet-link/duet-link.d.ts +11 -0
- package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -7
- package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -7
- package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -10
- package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -2
- package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -10
- package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +4 -0
- package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +4 -0
- package/lib/types/components.d.ts +17 -0
- package/package.json +2 -2
- package/lib/duet/p-0de8d0c0.system.entry.js +0 -4
- package/lib/duet/p-29491f9f.entry.js +0 -4
- package/lib/duet/p-36f031e7.entry.js +0 -4
- package/lib/duet/p-3f2d14e3.system.entry.js +0 -4
- package/lib/duet/p-8cc30578.entry.js +0 -4
- package/lib/duet/p-9735b2f9.entry.js +0 -4
- package/lib/duet/p-9be9b4d2.entry.js +0 -4
- package/lib/duet/p-b2fc4b72.system.entry.js +0 -4
- package/lib/duet/p-bece15cd.system.entry.js +0 -4
- package/lib/duet/p-cba00852.entry.js +0 -4
- package/lib/duet/p-cc949a27.entry.js +0 -4
- package/lib/duet/p-e614e39f.system.entry.js +0 -4
- package/lib/duet/p-e7fd0d14.entry.js +0 -4
- package/lib/duet/p-e86cafa6.system.entry.js +0 -4
|
@@ -41,7 +41,7 @@ const DuetActionButton = class {
|
|
|
41
41
|
this.iconName = "action-arrow-left-small";
|
|
42
42
|
this.iconColor = "currentColor";
|
|
43
43
|
this.iconSize = "xx-small";
|
|
44
|
-
this.actionName =
|
|
44
|
+
this.actionName = undefined;
|
|
45
45
|
this.actionId = undefined;
|
|
46
46
|
this.actionMeta = undefined;
|
|
47
47
|
this.disabled = false;
|
|
@@ -69,14 +69,13 @@ const DuetActionButton = class {
|
|
|
69
69
|
}
|
|
70
70
|
//return readable title for the action-button
|
|
71
71
|
getTitle() {
|
|
72
|
-
let titleString = "";
|
|
73
72
|
if (typeof this.accessibleTitle === "string") {
|
|
74
|
-
|
|
73
|
+
return this.accessibleTitle;
|
|
75
74
|
}
|
|
76
|
-
if (this.accessibleTitle === true) {
|
|
77
|
-
|
|
75
|
+
if (this.accessibleTitle === true && this.actionName) {
|
|
76
|
+
return tokenUtils.capitalizeFirstLetter(`${this.actionName}`);
|
|
78
77
|
}
|
|
79
|
-
return
|
|
78
|
+
return null;
|
|
80
79
|
}
|
|
81
80
|
async onMouseHandler(e) {
|
|
82
81
|
e.preventDefault();
|
|
@@ -19,12 +19,12 @@ const DuetPicture = ({ img, sources }) => {
|
|
|
19
19
|
index.h("img", Object.assign({}, img))));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const duetBannerCss = "
|
|
22
|
+
const duetBannerCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: \"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n /* stylelint-disable */\n /* stylelint-disable */\n /* stylelint-disable */\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n /* stylelint-disable */\n}\n@container duet-banner-container (min-width: 0px) {\n .duet-banner .visual {\n /* stylelint-enable */\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n background: url(\"data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E\");\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n.duet-banner.duet-theme-turva {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 160 344' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_7920_3801)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.58983 142.533C0.751086 155.147 0.0746585 167.857 0.00796847 179.225C0.00263853 179.814 0 180.409 0 181.007C0 194.845 1.41172 210.806 3.58065 223.171C5.6528 234.934 8.58716 246.495 12.5981 257.779C21.2249 282.059 34.0151 304.109 50.8401 323.977C56.7824 330.993 63.0921 337.68 69.8162 344H160V0H65.0733C52.1771 10.7866 41.4339 23.4177 32.7528 37.7978C21.1154 57.0822 14.0367 77.9583 9.75424 99.7913C9.09214 103.157 8.55049 106.545 8.00901 109.933C7.75185 111.542 7.49474 113.15 7.22478 114.756C6.74308 117.618 6.24543 120.479 5.74776 123.34C4.6361 129.729 3.52432 136.12 2.58983 142.533Z' fill='%23F5F5F7'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_7920_3801'%3E%3Crect width='160' height='344' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A\");\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner {\n /* stylelint-enable */\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner .visual .image-container {\n height: 100%;\n }\n .duet-banner .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner .visual .brand-shape {\n display: block;\n }\n .duet-banner .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner {\n /* stylelint-enable */\n }\n .duet-banner .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner {\n /* stylelint-enable */\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner .visual .image-container {\n height: 100%;\n }\n .duet-banner .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner .visual .brand-shape {\n display: block;\n }\n .duet-banner .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner .action {\n flex-grow: 0;\n }\n}";
|
|
23
23
|
|
|
24
24
|
const DuetBanner = class {
|
|
25
25
|
constructor(hostRef) {
|
|
26
26
|
index.registerInstance(this, hostRef);
|
|
27
|
-
this.
|
|
27
|
+
this.checkCurrentSize = () => {
|
|
28
28
|
const elementSize = this.element.clientWidth;
|
|
29
29
|
if (elementSize < 500 || this.size === "small") {
|
|
30
30
|
this.currentSize = "small";
|
|
@@ -41,12 +41,15 @@ const DuetBanner = class {
|
|
|
41
41
|
* Default to smaller button size for small and medium banners.
|
|
42
42
|
*/
|
|
43
43
|
this.setButtonSize = () => {
|
|
44
|
-
if (this.hasActionSlot) {
|
|
44
|
+
if (this.hasActionSlot && this.currentSize) {
|
|
45
45
|
const buttons = this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");
|
|
46
46
|
for (const button of buttons) {
|
|
47
47
|
if (button && button.getAttribute("size") === null && this.currentSize !== "large") {
|
|
48
48
|
button.size = "small";
|
|
49
49
|
}
|
|
50
|
+
else if (button && button.getAttribute("size") === null && this.currentSize === "large") {
|
|
51
|
+
button.size = "medium";
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
};
|
|
@@ -75,13 +78,13 @@ const DuetBanner = class {
|
|
|
75
78
|
this.setButtonSize();
|
|
76
79
|
}
|
|
77
80
|
connectedCallback() {
|
|
78
|
-
window.addEventListener("resize", this.
|
|
81
|
+
window.addEventListener("resize", this.checkCurrentSize);
|
|
79
82
|
}
|
|
80
83
|
disconnectedCallback() {
|
|
81
|
-
window.removeEventListener("resize", this.
|
|
84
|
+
window.removeEventListener("resize", this.checkCurrentSize);
|
|
82
85
|
}
|
|
83
86
|
componentDidRender() {
|
|
84
|
-
this.
|
|
87
|
+
this.checkCurrentSize();
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* render() function
|
|
@@ -102,7 +105,7 @@ const DuetBanner = class {
|
|
|
102
105
|
"duet-banner": true,
|
|
103
106
|
"duet-theme-turva": this.theme === "turva",
|
|
104
107
|
[this.currentSize]: true,
|
|
105
|
-
}, style: bannerStyles }, index.h("div", { class: "visual" }, index.h("div", { class: "image-container" }, this.image && index.h(DuetPicture, Object.assign({}, pictureSource))),
|
|
108
|
+
}, style: bannerStyles }, index.h("div", { class: "visual" }, index.h("div", { class: "image-container" }, this.image && index.h(DuetPicture, Object.assign({}, pictureSource))), 1 > 2 , index.h("div", { class: "brand-shape" })), index.h("div", { class: "content" }, this.hasHeadingSlot && (index.h("div", { class: "heading" }, index.h("duet-heading", { theme: this.theme, level: this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: this.textColor }, index.h("span", null, index.h("slot", { name: "heading" }))))), this.hasDescriptionSlot && (index.h("div", { class: "description", style: { color } }, index.h("slot", { name: "description" }))), this.hasActionSlot && (index.h("div", { class: "action" }, index.h("slot", { name: "action" })))))));
|
|
106
109
|
}
|
|
107
110
|
get element() { return index.getElement(this); }
|
|
108
111
|
};
|
|
@@ -95,7 +95,7 @@ DuetHeading.style = duetHeadingCss;
|
|
|
95
95
|
|
|
96
96
|
var actionDownloadSmall={"title":"action-download-small","tags":"action download arrow down small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M13.193 1.7c0-.658-.542-1.2-1.2-1.2-.657 0-1.199.542-1.199 1.2v8.922l-2.778-2.6a1.2 1.2 0 0 0-1.64 1.751l4.797 4.498c.458.43 1.183.43 1.64 0l4.798-4.498c.242-.228.379-.544.379-.875a1.2 1.2 0 0 0-2.02-.876l-2.777 2.603V1.699Z\"/><path d=\"M1.5 13.544a1.5 1.5 0 0 1 1.498 1.5v1.498a1.61 1.61 0 0 0 .418 1.096h-.003c0-.002.036.032.13.082.39.194.818.305 1.254.321H19.19a3.085 3.085 0 0 0 1.255-.32c.096-.051.13-.085.13-.085.27-.3.42-.69.414-1.096v-1.5c0-.822.677-1.498 1.5-1.498.822 0 1.499.676 1.499 1.499v1.499c0 1.16-.43 2.293-1.224 3.142-.518.557-1.235.876-1.791 1.056a5.976 5.976 0 0 1-1.783.302H4.797a6.053 6.053 0 0 1-1.782-.302c-.556-.18-1.274-.5-1.792-1.056A4.613 4.613 0 0 1 0 16.542v-1.499a1.5 1.5 0 0 1 1.5-1.499Z\"/></svg>"};
|
|
97
97
|
|
|
98
|
-
const duetLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 98, 154);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(173, 11, 43)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button),.duet-link-is-download.duet-link:not(.block,.button){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.button{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:12px;padding-right:20px;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(207, 210, 212);border-radius:12px;outline:0 solid rgb(207, 210, 212);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*{flex-shrink:0}.duet-link.button .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);text-align:left}.duet-link.button .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background{min-height:60px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button{gap:16px;min-height:60px;border-radius:16px}.duet-link.button.duet-link-has-icon-background{min-height:72px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(207, 207, 209)}.duet-link.button.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
|
|
98
|
+
const duetLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:rgb(0, 98, 154);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(173, 11, 43)}.duet-link:hover{color:rgb(0, 77, 128);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button),.duet-link-is-download.duet-link:not(.block,.button){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button) .duet-link-icon-tail{text-decoration:none;white-space:nowrap}.duet-tab-to-link{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 28, 58)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.block.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(0, 41, 77);text-decoration:none}.block.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none{padding:0}.block .block__icon{display:flex}.block .block__content{position:relative;bottom:2px}.block .block__chevron{align-self:center}.block .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.button{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:12px;padding-right:20px;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(207, 210, 212);border-radius:12px;outline:0 solid rgb(207, 210, 212);outline-offset:-2px;transition:all 300ms ease}.duet-link.button>*{flex-shrink:0}.duet-link.button .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);text-align:left}.duet-link.button .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button.duet-link-has-icon-background{min-height:60px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover{border-color:rgb(0, 119, 179);outline:2px solid rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button{gap:16px;min-height:60px;border-radius:16px}.duet-link.button.duet-link-has-icon-background{min-height:72px}.duet-link.button.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva{border-color:rgb(207, 207, 209)}.duet-link.button.duet-theme-turva .duet-link-content{color:rgb(23, 28, 58)}.duet-link.button.duet-theme-turva:hover{border-color:rgb(198, 12, 48);outline-color:rgb(198, 12, 48)}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}";
|
|
99
99
|
|
|
100
100
|
const DuetLink = class {
|
|
101
101
|
constructor(hostRef) {
|
|
@@ -107,6 +107,8 @@ const DuetLink = class {
|
|
|
107
107
|
this.accessibleLabelExternal = languageUtils.getLocaleString(this.accessibleLabelExternalDefaults);
|
|
108
108
|
this.accessibleLabelDownloadDefaults = commonStrings.DuetStringsDownloadLinkDefaults;
|
|
109
109
|
this.accessibleLabelDownload = languageUtils.getLocaleString(this.accessibleLabelDownloadDefaults);
|
|
110
|
+
this.accessibleExpanded = undefined;
|
|
111
|
+
this.accessiblePopup = "false";
|
|
110
112
|
this.identifier = undefined;
|
|
111
113
|
this.theme = "";
|
|
112
114
|
this.url = "#";
|
|
@@ -218,6 +220,7 @@ const DuetLink = class {
|
|
|
218
220
|
*/
|
|
219
221
|
render() {
|
|
220
222
|
const Tag = !this.url ? "button" : "a";
|
|
223
|
+
const isButton = Tag === "button";
|
|
221
224
|
return (index.h(index.Host, { class: {
|
|
222
225
|
[`duet-link-${this.variation}`]: true,
|
|
223
226
|
"duet-m-0": this.margin === "none",
|
|
@@ -232,7 +235,7 @@ const DuetLink = class {
|
|
|
232
235
|
"duet-p-0": this.padding === "none",
|
|
233
236
|
[this.padding]: true,
|
|
234
237
|
[this.variation]: true,
|
|
235
|
-
}, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
|
|
238
|
+
}, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), "aria-expanded": this.accessibleExpanded != null && isButton ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null && isButton ? this.accessiblePopup.toString() : undefined, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
|
|
236
239
|
}
|
|
237
240
|
static get delegatesFocus() { return true; }
|
|
238
241
|
get element() { return index.getElement(this); }
|
|
@@ -6,25 +6,13 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-b77ebc31.js');
|
|
9
|
-
const tokens = require('./tokens-d270c810.js');
|
|
10
9
|
const themeableComponent = require('./themeable-component-83a2a0d4.js');
|
|
11
10
|
|
|
12
|
-
const duetMenuBarButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-button.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
|
|
11
|
+
const duetMenuBarButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-button .menu-bar-button-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-button .menu-bar-button-icon{width:16px;height:16px}}.duet-menu-bar-button.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-button:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
|
|
13
12
|
|
|
14
13
|
const DuetMenuBarButton = class {
|
|
15
14
|
constructor(hostRef) {
|
|
16
15
|
index.registerInstance(this, hostRef);
|
|
17
|
-
this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
|
|
18
|
-
this.boundMqlFunctions = [];
|
|
19
|
-
this.changeIconSize = () => {
|
|
20
|
-
if (this.mql[0].matches) {
|
|
21
|
-
this.iconSize = "x-small";
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
this.iconSize = "small";
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
this.iconSize = "x-small";
|
|
28
16
|
this.accessibleLabel = undefined;
|
|
29
17
|
this.accessibleControls = undefined;
|
|
30
18
|
this.accessiblePopup = "false";
|
|
@@ -45,26 +33,6 @@ const DuetMenuBarButton = class {
|
|
|
45
33
|
componentWillLoad() {
|
|
46
34
|
themeableComponent.inheritGlobalTheme(this);
|
|
47
35
|
}
|
|
48
|
-
connectedCallback() {
|
|
49
|
-
this.changeIconSize();
|
|
50
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
51
|
-
// addEventListener is not available in Stencil hydrate
|
|
52
|
-
if (this.mql[i].addEventListener) {
|
|
53
|
-
const bound = this.changeIconSize.bind(this);
|
|
54
|
-
this.mql[i].addEventListener("change", bound);
|
|
55
|
-
this.boundMqlFunctions[i] = bound;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
disconnectedCallback() {
|
|
60
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
61
|
-
// removeEventListener is not available in Stencil hydrate
|
|
62
|
-
if (this.mql[i].removeEventListener) {
|
|
63
|
-
this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
this.boundMqlFunctions = [];
|
|
67
|
-
}
|
|
68
36
|
/**
|
|
69
37
|
* Sets focus on underlying button element.
|
|
70
38
|
*/
|
|
@@ -81,7 +49,7 @@ const DuetMenuBarButton = class {
|
|
|
81
49
|
return (index.h(index.Host, { role: "listitem", onfocus: () => this.setFocus() }, index.h("button", { ref: button => (this.nativeButton = button), class: {
|
|
82
50
|
"duet-menu-bar-button": true,
|
|
83
51
|
"duet-theme-turva": this.theme === "turva",
|
|
84
|
-
}, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { theme: this.theme, size:
|
|
52
|
+
}, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
|
|
85
53
|
}
|
|
86
54
|
get element() { return index.getElement(this); }
|
|
87
55
|
};
|
|
@@ -6,28 +6,14 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-b77ebc31.js');
|
|
9
|
-
const tokens = require('./tokens-d270c810.js');
|
|
10
9
|
const themeableComponent = require('./themeable-component-83a2a0d4.js');
|
|
11
10
|
const keyboardUtils = require('./keyboard-utils-681e11ec.js');
|
|
12
11
|
|
|
13
|
-
const duetMenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-menu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}.duet-theme-turva .duet-menu-bar-dropdown button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown .items{position:absolute;top:70%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:8px;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15)}.duet-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}";
|
|
12
|
+
const duetMenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-menu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}.duet-theme-turva .duet-menu-bar-dropdown button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:16px;height:16px}}.duet-menu-bar-dropdown .items{position:absolute;top:70%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:8px;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15)}.duet-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}";
|
|
14
13
|
|
|
15
14
|
const DuetMenuBarDropdown = class {
|
|
16
15
|
constructor(hostRef) {
|
|
17
16
|
index.registerInstance(this, hostRef);
|
|
18
|
-
/**
|
|
19
|
-
* Own Properties.
|
|
20
|
-
*/
|
|
21
|
-
this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
|
|
22
|
-
this.boundMqlFunctions = [];
|
|
23
|
-
this.changeIconSize = () => {
|
|
24
|
-
if (this.mql[0].matches) {
|
|
25
|
-
this.iconSize = "x-small";
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.iconSize = "small";
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
17
|
this.onClick = () => {
|
|
32
18
|
this.open = !this.open;
|
|
33
19
|
};
|
|
@@ -42,7 +28,6 @@ const DuetMenuBarDropdown = class {
|
|
|
42
28
|
return "right";
|
|
43
29
|
}
|
|
44
30
|
};
|
|
45
|
-
this.iconSize = "x-small";
|
|
46
31
|
this.accessibleLabel = undefined;
|
|
47
32
|
this.theme = "";
|
|
48
33
|
this.open = false;
|
|
@@ -60,26 +45,6 @@ const DuetMenuBarDropdown = class {
|
|
|
60
45
|
componentWillLoad() {
|
|
61
46
|
themeableComponent.inheritGlobalTheme(this);
|
|
62
47
|
}
|
|
63
|
-
connectedCallback() {
|
|
64
|
-
this.changeIconSize();
|
|
65
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
66
|
-
// addEventListener is not available in Stencil hydrate
|
|
67
|
-
if (this.mql[i].addEventListener) {
|
|
68
|
-
const bound = this.changeIconSize.bind(this);
|
|
69
|
-
this.mql[i].addEventListener("change", bound);
|
|
70
|
-
this.boundMqlFunctions[i] = bound;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
disconnectedCallback() {
|
|
75
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
76
|
-
// removeEventListener is not available in Stencil hydrate
|
|
77
|
-
if (this.mql[i].removeEventListener) {
|
|
78
|
-
this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
this.boundMqlFunctions = [];
|
|
82
|
-
}
|
|
83
48
|
handleEscape(e) {
|
|
84
49
|
if (keyboardUtils.isEscapeKey(e)) {
|
|
85
50
|
this.open = false;
|
|
@@ -104,7 +69,7 @@ const DuetMenuBarDropdown = class {
|
|
|
104
69
|
[`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
|
|
105
70
|
} }, index.h("button", { ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
|
|
106
71
|
active: this.open,
|
|
107
|
-
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size:
|
|
72
|
+
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("slot", { name: "label" }), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
|
|
108
73
|
items: true,
|
|
109
74
|
hidden: !this.open,
|
|
110
75
|
} }, index.h("slot", null)))));
|
|
@@ -6,28 +6,13 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-b77ebc31.js');
|
|
9
|
-
const tokens = require('./tokens-d270c810.js');
|
|
10
9
|
const themeableComponent = require('./themeable-component-83a2a0d4.js');
|
|
11
10
|
|
|
12
|
-
const duetMenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;text-decoration:none;white-space:nowrap}.duet-menu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(198, 12, 48)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}.duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
|
|
11
|
+
const duetMenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}.duet-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;text-decoration:none;white-space:nowrap}.duet-menu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-menu-bar-link .menu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-link .menu-bar-link-icon{width:16px;height:16px}}.duet-menu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(198, 12, 48)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}.duet-menu-bar-link:hover.duet-theme-turva{color:rgb(198, 12, 48)}}";
|
|
13
12
|
|
|
14
13
|
const DuetMenuBarLink = class {
|
|
15
14
|
constructor(hostRef) {
|
|
16
15
|
index.registerInstance(this, hostRef);
|
|
17
|
-
/**
|
|
18
|
-
* Own Properties.
|
|
19
|
-
*/
|
|
20
|
-
this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
|
|
21
|
-
this.boundMqlFunctions = [];
|
|
22
|
-
this.changeIconSize = () => {
|
|
23
|
-
if (this.mql[0].matches) {
|
|
24
|
-
this.iconSize = "x-small";
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.iconSize = "small";
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
this.iconSize = "x-small";
|
|
31
16
|
this.theme = "";
|
|
32
17
|
this.active = false;
|
|
33
18
|
this.href = "#";
|
|
@@ -40,26 +25,6 @@ const DuetMenuBarLink = class {
|
|
|
40
25
|
componentWillLoad() {
|
|
41
26
|
themeableComponent.inheritGlobalTheme(this);
|
|
42
27
|
}
|
|
43
|
-
connectedCallback() {
|
|
44
|
-
this.changeIconSize();
|
|
45
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
46
|
-
// addEventListener is not available in Stencil hydrate
|
|
47
|
-
if (this.mql[i].addEventListener) {
|
|
48
|
-
const bound = this.changeIconSize.bind(this);
|
|
49
|
-
this.mql[i].addEventListener("change", bound);
|
|
50
|
-
this.boundMqlFunctions[i] = bound;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
disconnectedCallback() {
|
|
55
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
56
|
-
// removeEventListener is not available in Stencil hydrate
|
|
57
|
-
if (this.mql[i].removeEventListener) {
|
|
58
|
-
this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
this.boundMqlFunctions = [];
|
|
62
|
-
}
|
|
63
28
|
/**
|
|
64
29
|
* render() function
|
|
65
30
|
* Always the last one in the class.
|
|
@@ -69,7 +34,7 @@ const DuetMenuBarLink = class {
|
|
|
69
34
|
"duet-menu-bar-link": true,
|
|
70
35
|
"duet-theme-turva": this.theme === "turva",
|
|
71
36
|
active: this.active,
|
|
72
|
-
}, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { theme: this.theme, size:
|
|
37
|
+
}, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", null))));
|
|
73
38
|
}
|
|
74
39
|
get element() { return index.getElement(this); }
|
|
75
40
|
};
|
|
@@ -10,7 +10,7 @@ const tokens = require('./tokens-d270c810.js');
|
|
|
10
10
|
const themeableComponent = require('./themeable-component-83a2a0d4.js');
|
|
11
11
|
const keyboardUtils = require('./keyboard-utils-681e11ec.js');
|
|
12
12
|
|
|
13
|
-
const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 77, 128)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(230, 242, 248)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(0, 41, 77)}.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active{color:rgb(23, 28, 58)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after,.duet-theme-turva .duet-submenu-bar-dropdown button.open::after{background:rgb(198, 12, 48)}}.duet-submenu-bar-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(0, 41, 77);visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(228, 228, 230)}}.duet-submenu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(148, 9, 37)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(228, 228, 230)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}";
|
|
13
|
+
const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 77, 128)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(230, 242, 248)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(0, 41, 77)}.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active{color:rgb(23, 28, 58)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after,.duet-theme-turva .duet-submenu-bar-dropdown button.open::after{background:rgb(198, 12, 48)}}.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:16px;height:16px}}.duet-submenu-bar-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(0, 41, 77);visibility:visible;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(228, 228, 230)}}.duet-submenu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(148, 9, 37)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(228, 228, 230)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}";
|
|
14
14
|
|
|
15
15
|
const DuetSubmenuBarDropdown = class {
|
|
16
16
|
constructor(hostRef) {
|
|
@@ -23,11 +23,9 @@ const DuetSubmenuBarDropdown = class {
|
|
|
23
23
|
this.checkIsDesktop = () => {
|
|
24
24
|
if (this.mql[0].matches) {
|
|
25
25
|
this.isDesktop = true;
|
|
26
|
-
this.iconSize = "x-small";
|
|
27
26
|
}
|
|
28
27
|
else {
|
|
29
28
|
this.isDesktop = false;
|
|
30
|
-
this.iconSize = "small";
|
|
31
29
|
}
|
|
32
30
|
};
|
|
33
31
|
this.onClick = () => {
|
|
@@ -46,7 +44,6 @@ const DuetSubmenuBarDropdown = class {
|
|
|
46
44
|
}
|
|
47
45
|
};
|
|
48
46
|
this.isDesktop = false;
|
|
49
|
-
this.iconSize = "small";
|
|
50
47
|
this.theme = "";
|
|
51
48
|
this.active = false;
|
|
52
49
|
this.open = false;
|
|
@@ -115,7 +112,7 @@ const DuetSubmenuBarDropdown = class {
|
|
|
115
112
|
} }, index.h("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", id: "button", type: "button", class: {
|
|
116
113
|
open: this.open,
|
|
117
114
|
active: this.active,
|
|
118
|
-
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size:
|
|
115
|
+
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { class: "submenu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { class: "label" }, index.h("span", { class: "label-text" }, index.h("slot", { name: "label" })), index.h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
|
|
119
116
|
items: true,
|
|
120
117
|
hidden: !this.open,
|
|
121
118
|
} }, index.h("slot", null)))));
|
|
@@ -6,29 +6,14 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-b77ebc31.js');
|
|
9
|
-
const tokens = require('./tokens-d270c810.js');
|
|
10
9
|
const themeableComponent = require('./themeable-component-83a2a0d4.js');
|
|
11
10
|
const keyboardUtils = require('./keyboard-utils-681e11ec.js');
|
|
12
11
|
|
|
13
|
-
const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 77, 128)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(148, 9, 37)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(148, 9, 37)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(228, 228, 230)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
|
|
12
|
+
const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 77, 128)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(148, 9, 37)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}}.duet-submenu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(148, 9, 37)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(148, 9, 37)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(0, 41, 77);background:rgb(230, 242, 248)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(228, 228, 230)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(148, 9, 37)}}";
|
|
14
13
|
|
|
15
14
|
const DuetSubmenuBarLink = class {
|
|
16
15
|
constructor(hostRef) {
|
|
17
16
|
index.registerInstance(this, hostRef);
|
|
18
|
-
/**
|
|
19
|
-
* Own Properties.
|
|
20
|
-
*/
|
|
21
|
-
this.mql = [window.matchMedia(tokens.media_query_large.replace(/'/g, ""))];
|
|
22
|
-
this.boundMqlFunctions = [];
|
|
23
|
-
this.changeIconSize = () => {
|
|
24
|
-
if (this.mql[0].matches) {
|
|
25
|
-
this.iconSize = "x-small";
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.iconSize = "small";
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
this.iconSize = "small";
|
|
32
17
|
this.theme = "";
|
|
33
18
|
this.active = false;
|
|
34
19
|
this.href = "#";
|
|
@@ -40,26 +25,6 @@ const DuetSubmenuBarLink = class {
|
|
|
40
25
|
componentWillLoad() {
|
|
41
26
|
themeableComponent.inheritGlobalTheme(this);
|
|
42
27
|
}
|
|
43
|
-
connectedCallback() {
|
|
44
|
-
this.changeIconSize();
|
|
45
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
46
|
-
// addEventListener is not available in Stencil hydrate
|
|
47
|
-
if (this.mql[i].addEventListener) {
|
|
48
|
-
const bound = this.changeIconSize.bind(this);
|
|
49
|
-
this.mql[i].addEventListener("change", bound);
|
|
50
|
-
this.boundMqlFunctions[i] = bound;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
disconnectedCallback() {
|
|
55
|
-
for (let i = 0; i < this.mql.length; i++) {
|
|
56
|
-
// removeEventListener is not available in Stencil hydrate
|
|
57
|
-
if (this.mql[i].removeEventListener) {
|
|
58
|
-
this.mql[i].removeEventListener("change", this.boundMqlFunctions[i]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
this.boundMqlFunctions = [];
|
|
62
|
-
}
|
|
63
28
|
handleEscape(e) {
|
|
64
29
|
if (keyboardUtils.isEscapeKey(e)) {
|
|
65
30
|
const dropdown = this.element.closest("duet-submenu-bar");
|
|
@@ -72,7 +37,7 @@ const DuetSubmenuBarLink = class {
|
|
|
72
37
|
* Always the last one in the class.
|
|
73
38
|
*/
|
|
74
39
|
render() {
|
|
75
|
-
return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (index.h("duet-icon", { theme: this.theme, name: this.icon, size:
|
|
40
|
+
return (index.h(index.Host, null, index.h("a", { class: { "duet-submenu-bar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, onKeyUp: e => this.handleEscape(e), "aria-current": this.active ? "true" : "false" }, this.icon && (index.h("duet-icon", { class: "submenu-bar-link-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("span", { class: "label" }, index.h("slot", null)))));
|
|
76
41
|
}
|
|
77
42
|
get element() { return index.getElement(this); }
|
|
78
43
|
};
|