@baloise/ds-core 17.0.0 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/bal-accordion-trigger.js +3 -1
- package/components/bal-accordion.js +1 -1
- package/components/bal-date.js +3 -1
- package/components/bal-dropdown2.js +46 -9
- package/components/bal-footer.js +10 -5
- package/components/bal-segment.js +15 -2
- package/components/bal-tab-item.js +8 -2
- package/components/bal-tabs2.js +18 -12
- package/components/bal-textarea.js +3 -1
- package/components/index.js +1 -1
- package/components/option.js +1 -0
- package/components/tokens.esm.js +1 -1
- package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
- package/dist/baloise-design-system/index.esm.js +1 -1
- package/dist/baloise-design-system/{p-b4ecd87960.system.entry.js → p-0f995439fa.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-4bbe4ba6ba.entry.js → p-1ecf7315b9.entry.js} +1 -1
- package/dist/baloise-design-system/p-278aed95.system.js +1 -0
- package/dist/baloise-design-system/{p-d9bb74c913.system.entry.js → p-2a81e1e84d.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-e8f93d80ca.system.entry.js → p-2cc4cfdddd.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-34c50dfa1e.entry.js +1 -0
- package/dist/baloise-design-system/p-353ce7cb84.system.entry.js +1 -0
- package/dist/baloise-design-system/p-43ab08c69d.entry.js +1 -0
- package/dist/baloise-design-system/{p-fa363ba3f9.system.entry.js → p-461076e3ee.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-f3ef269852.entry.js → p-4d9e77f3e2.entry.js} +1 -1
- package/dist/baloise-design-system/p-4de229fddc.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-faf5c89145.system.entry.js → p-4ef4b1be9d.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-e1b2f86b.system.js → p-4f6a69cd.system.js} +1 -1
- package/dist/baloise-design-system/p-4ff5f10802.system.entry.js +1 -0
- package/dist/baloise-design-system/p-50b2a9c6.js +1 -1
- package/dist/baloise-design-system/{p-3c504ddf38.system.entry.js → p-5434009bc0.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-562c360455.entry.js +1 -0
- package/dist/baloise-design-system/{p-9b4da619.js → p-5ed239cc.js} +1 -1
- package/dist/baloise-design-system/{p-10151a65a4.entry.js → p-6f87a55001.entry.js} +1 -1
- package/dist/baloise-design-system/{p-0ede0fa9b2.entry.js → p-743b475584.entry.js} +1 -1
- package/dist/baloise-design-system/{p-10985d5e.system.js → p-79cd15b8.system.js} +1 -1
- package/dist/baloise-design-system/{p-365fc134.system.js → p-852288a3.system.js} +1 -1
- package/dist/baloise-design-system/{p-1e688639.system.js → p-8d2e3bc3.system.js} +1 -1
- package/dist/baloise-design-system/{p-8d370d87cb.entry.js → p-9575320fc7.entry.js} +1 -1
- package/dist/baloise-design-system/{p-61c48963c7.system.entry.js → p-95b538ca71.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-9e103abfe5.entry.js +1 -0
- package/dist/baloise-design-system/{p-3114a84410.entry.js → p-a4adde8f06.entry.js} +1 -1
- package/dist/baloise-design-system/{p-bf1b5db620.system.entry.js → p-a4b4b9c642.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-0215ccdca9.system.entry.js → p-a9f81bd538.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-aa0bfdce7b.system.entry.js +1 -0
- package/dist/baloise-design-system/p-af747e55e6.entry.js +1 -0
- package/dist/baloise-design-system/p-b57c473d.system.js +1 -1
- package/dist/baloise-design-system/p-b666673380.entry.js +1 -0
- package/dist/baloise-design-system/{p-c61080a6.js → p-bbdc9f6e.js} +1 -1
- package/dist/baloise-design-system/p-cc4dc17721.system.entry.js +1 -0
- package/dist/baloise-design-system/p-ce3173af38.system.entry.js +1 -0
- package/dist/baloise-design-system/p-d2f9ed2b.system.js +1 -1
- package/dist/baloise-design-system/{p-cfe42ac458.system.entry.js → p-d3e9be6607.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-14eef425da.system.entry.js → p-dc40f667ce.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-85ed9bd051.entry.js → p-dc70466385.entry.js} +1 -1
- package/dist/baloise-design-system/{p-c7efc6d470.entry.js → p-de93a466cd.entry.js} +1 -1
- package/dist/baloise-design-system/{p-3149162e9e.entry.js → p-e66e2555f7.entry.js} +1 -1
- package/dist/baloise-design-system/{p-c8caa835.js → p-f23ce678.js} +1 -1
- package/dist/baloise-design-system/{p-ec286609dd.entry.js → p-faa07e101c.entry.js} +1 -1
- package/dist/baloise-design-system/{p-6116192a.js → p-fb82a1e7.js} +1 -1
- package/dist/baloise-design-system/{p-2f6c32ca97.entry.js → p-ff89ba221b.entry.js} +1 -1
- package/dist/cjs/bal-accordion_4.cjs.entry.js +3 -2
- package/dist/cjs/bal-carousel_2.cjs.entry.js +3 -3
- package/dist/cjs/bal-date.cjs.entry.js +2 -1
- package/dist/cjs/bal-dropdown.cjs.entry.js +43 -10
- package/dist/cjs/bal-footer.cjs.entry.js +9 -5
- package/dist/cjs/bal-hint_5.cjs.entry.js +3 -3
- package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
- package/dist/cjs/bal-logo.cjs.entry.js +3 -3
- package/dist/cjs/bal-nav_8.cjs.entry.js +3 -3
- package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
- package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
- package/dist/cjs/bal-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/bal-segment_2.cjs.entry.js +18 -5
- package/dist/cjs/bal-shape.cjs.entry.js +1 -1
- package/dist/cjs/bal-steps.cjs.entry.js +3 -3
- package/dist/cjs/bal-tab-item_2.cjs.entry.js +26 -17
- package/dist/cjs/bal-textarea.cjs.entry.js +2 -1
- package/dist/cjs/baloise-design-system.cjs.js +1 -1
- package/dist/cjs/{breakpoints.decorator-967c2fd2.js → breakpoints.decorator-cc7b6527.js} +1 -1
- package/dist/cjs/{breakpoints.subject-679bdc55.js → breakpoints.subject-cfe518b3.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/initialize-e7570bc6.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{option-4034ca7d.js → option-85af0921.js} +1 -0
- package/dist/cjs/{tokens.esm-e4edac35.js → tokens.esm-c5484151.js} +1 -1
- package/dist/cjs/{window-resize.decorator-bb2ea6d8.js → window-resize.decorator-137a02c4.js} +1 -1
- package/dist/collection/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.js +20 -1
- package/dist/collection/components/bal-accordion/bal-accordion.js +1 -1
- package/dist/collection/components/bal-date/bal-date.js +25 -1
- package/dist/collection/components/bal-dropdown/bal-dropdown.css +1 -1
- package/dist/collection/components/bal-dropdown/bal-dropdown.js +88 -1
- package/dist/collection/components/bal-footer/bal-footer.js +31 -5
- package/dist/collection/components/bal-segment/bal-segment.js +15 -2
- package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +42 -2
- package/dist/collection/components/bal-tabs/bal-tabs.css +1 -1
- package/dist/collection/components/bal-tabs/bal-tabs.js +21 -2
- package/dist/collection/components/bal-tabs/components/tab-button.js +2 -2
- package/dist/collection/components/bal-tabs/components/tab-icon.js +1 -1
- package/dist/collection/components/bal-tabs/components/tab-label.js +1 -1
- package/dist/collection/components/bal-tabs/components/tab-nav.js +6 -3
- package/dist/collection/components/bal-textarea/bal-textarea.js +25 -1
- package/dist/collection/utils/constants/version.constant.js +1 -1
- package/dist/collection/utils/dropdown/events.js +9 -1
- package/dist/collection/utils/dropdown/icon.js +6 -3
- package/dist/collection/utils/dropdown/option.js +1 -0
- package/dist/collection/utils/dropdown/value.js +2 -2
- package/dist/esm/bal-accordion_4.entry.js +3 -2
- package/dist/esm/bal-carousel_2.entry.js +3 -3
- package/dist/esm/bal-date.entry.js +2 -1
- package/dist/esm/bal-dropdown.entry.js +43 -10
- package/dist/esm/bal-footer.entry.js +9 -5
- package/dist/esm/bal-hint_5.entry.js +3 -3
- package/dist/esm/bal-list_8.entry.js +3 -3
- package/dist/esm/bal-logo.entry.js +3 -3
- package/dist/esm/bal-nav_8.entry.js +3 -3
- package/dist/esm/bal-navbar_5.entry.js +3 -3
- package/dist/esm/bal-pagination.entry.js +3 -3
- package/dist/esm/bal-progress-bar.entry.js +4 -4
- package/dist/esm/bal-segment_2.entry.js +19 -6
- package/dist/esm/bal-shape.entry.js +1 -1
- package/dist/esm/bal-steps.entry.js +3 -3
- package/dist/esm/bal-tab-item_2.entry.js +26 -17
- package/dist/esm/bal-textarea.entry.js +2 -1
- package/dist/esm/baloise-design-system.js +1 -1
- package/dist/esm/{breakpoints.decorator-9981606e.js → breakpoints.decorator-2e4214b2.js} +1 -1
- package/dist/esm/{breakpoints.subject-ae98d0fa.js → breakpoints.subject-0499ff54.js} +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/initialize-f93872c4.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{option-01553dab.js → option-367a5341.js} +1 -0
- package/dist/esm/{tokens.esm-ed9fb455.js → tokens.esm-e90e564a.js} +1 -1
- package/dist/esm/{window-resize.decorator-a88002f7.js → window-resize.decorator-be46c01c.js} +1 -1
- package/dist/esm-es5/bal-accordion_4.entry.js +1 -1
- package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
- package/dist/esm-es5/bal-date.entry.js +1 -1
- package/dist/esm-es5/bal-dropdown.entry.js +1 -1
- package/dist/esm-es5/bal-footer.entry.js +1 -1
- package/dist/esm-es5/bal-hint_5.entry.js +1 -1
- package/dist/esm-es5/bal-list_8.entry.js +1 -1
- package/dist/esm-es5/bal-logo.entry.js +1 -1
- package/dist/esm-es5/bal-nav_8.entry.js +1 -1
- package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
- package/dist/esm-es5/bal-pagination.entry.js +1 -1
- package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
- package/dist/esm-es5/bal-segment_2.entry.js +1 -1
- package/dist/esm-es5/bal-shape.entry.js +1 -1
- package/dist/esm-es5/bal-steps.entry.js +1 -1
- package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
- package/dist/esm-es5/bal-textarea.entry.js +1 -1
- package/dist/esm-es5/baloise-design-system.js +1 -1
- package/dist/esm-es5/breakpoints.decorator-2e4214b2.js +1 -0
- package/dist/esm-es5/{breakpoints.subject-ae98d0fa.js → breakpoints.subject-0499ff54.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/initialize-f93872c4.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{option-01553dab.js → option-367a5341.js} +1 -1
- package/dist/esm-es5/{window-resize.decorator-a88002f7.js → window-resize.decorator-be46c01c.js} +1 -1
- package/dist/html.html-data.json +374 -0
- package/dist/types/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.d.ts +4 -0
- package/dist/types/components/bal-date/bal-date.d.ts +4 -0
- package/dist/types/components/bal-dropdown/bal-dropdown.d.ts +13 -0
- package/dist/types/components/bal-dropdown/bal-dropdown.interfaces.d.ts +4 -1
- package/dist/types/components/bal-footer/bal-footer.d.ts +4 -0
- package/dist/types/components/bal-segment/bal-segment.d.ts +1 -0
- package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +10 -0
- package/dist/types/components/bal-tabs/bal-tab.type.d.ts +2 -0
- package/dist/types/components/bal-tabs/bal-tabs.d.ts +4 -0
- package/dist/types/components/bal-tabs/components/tab-button.d.ts +2 -0
- package/dist/types/components/bal-tabs/components/tab-nav.d.ts +1 -0
- package/dist/types/components/bal-textarea/bal-textarea.d.ts +4 -0
- package/dist/types/components.d.ts +82 -0
- package/dist/types/utils/dropdown/component.d.ts +1 -0
- package/dist/types/utils/dropdown/events.d.ts +2 -0
- package/dist/types/utils/dropdown/icon.d.ts +2 -0
- package/dist/types/utils/dropdown/value.d.ts +1 -0
- package/package.json +7 -7
- package/dist/baloise-design-system/p-5353ba1263.entry.js +0 -1
- package/dist/baloise-design-system/p-69f82b9b22.entry.js +0 -1
- package/dist/baloise-design-system/p-6cadcbe4bb.entry.js +0 -1
- package/dist/baloise-design-system/p-7752fa10ea.system.entry.js +0 -1
- package/dist/baloise-design-system/p-7f9fe862b6.system.entry.js +0 -1
- package/dist/baloise-design-system/p-93e2638280.system.entry.js +0 -1
- package/dist/baloise-design-system/p-98f7403c7f.entry.js +0 -1
- package/dist/baloise-design-system/p-a7d15ec66b.entry.js +0 -1
- package/dist/baloise-design-system/p-af5e974f4c.system.entry.js +0 -1
- package/dist/baloise-design-system/p-d0d162c677.system.entry.js +0 -1
- package/dist/baloise-design-system/p-dbc0b7c370.entry.js +0 -1
- package/dist/baloise-design-system/p-de36076c.system.js +0 -1
- package/dist/baloise-design-system/p-fd118a1752.system.entry.js +0 -1
- package/dist/esm-es5/breakpoints.decorator-9981606e.js +0 -1
- /package/dist/baloise-design-system/{p-fc542e26.js → p-5d4c2ac9.js} +0 -0
- /package/dist/baloise-design-system/{p-923b2e35.system.js → p-7c9bf66f.system.js} +0 -0
- /package/dist/esm-es5/{tokens.esm-ed9fb455.js → tokens.esm-e90e564a.js} +0 -0
|
@@ -14,6 +14,7 @@ export class Footer {
|
|
|
14
14
|
this.region = defaultConfig.region;
|
|
15
15
|
this.allowedLanguages = defaultConfig.allowedLanguages;
|
|
16
16
|
this.hideLinks = false;
|
|
17
|
+
this.overrideLinks = undefined;
|
|
17
18
|
this.showSocialMedia = false;
|
|
18
19
|
this.hideLanguageSelection = false;
|
|
19
20
|
}
|
|
@@ -52,7 +53,10 @@ export class Footer {
|
|
|
52
53
|
updateBalLanguage(language);
|
|
53
54
|
}
|
|
54
55
|
updateFooterLinks() {
|
|
55
|
-
if (
|
|
56
|
+
if (this.overrideLinks) {
|
|
57
|
+
this.links = this.overrideLinks;
|
|
58
|
+
}
|
|
59
|
+
else if (!this.hideLinks && (this.region === 'CH' || this.region === 'DE')) {
|
|
56
60
|
// The following footer links only apply to swiss and german applications
|
|
57
61
|
const region = this.region;
|
|
58
62
|
rIC(() => {
|
|
@@ -87,18 +91,18 @@ export class Footer {
|
|
|
87
91
|
const elIcon = elLanguage.element('icon');
|
|
88
92
|
const elLegalLinks = elLinksContainer.element('legal-links');
|
|
89
93
|
const elSocialMediaLinks = elLinksContainer.element('social-media-links');
|
|
90
|
-
return (h(Host, { key: '
|
|
94
|
+
return (h(Host, { key: 'ae55946ea2a65fc9e92bd7e5c3be4fc3f3fa75d6', class: Object.assign({}, block.class()) }, h("footer", { key: '13ab5d638fb4f9009cb2e93d77a9ac70bc08622e', class: Object.assign({}, elInner.class()) }, h("div", { key: '9554e06e86b94ce2fd49e9c129207f04f8e95bbb', class: Object.assign({}, elInnerWrapper.class()) }, h("div", { key: 'd1aac84f5621a9fbae86b9fdb9f8a0ad55988efc', class: Object.assign(Object.assign({ container: true }, elContainer.class()), elHeaderContainer.class()) }, h("div", { key: 'b809f53a3e85e806930d14cbffde39fb58ed6ea3', class: Object.assign({}, elLogo.class()) }, h("bal-logo", { key: 'e85736ba7525e7545e2bd58a72e9b35971696647', color: "white" })), h("div", { key: '176ea2f04f5458307d0b823b122ef79764f138d8', class: Object.assign({}, elLanguage.class()), style: {
|
|
91
95
|
display: this.hideLanguageSelection || this.allowedLanguages.length <= 1 ? 'none' : 'flex',
|
|
92
|
-
} }, h("div", { key: '
|
|
96
|
+
} }, h("div", { key: '2df7d00cb622575dfa5484bceb44a99b90c2a736', class: Object.assign({}, elWrapper.class()) }, h("bal-input-group", { key: '5cc4baee54d1d8f44f2c836788f7739fa16e468d' }, h("bal-icon", { key: 'ebbfd79b91aa01b97707e763b7fbf869eb61b925', class: 'bal-dropdown__rear', name: "web", color: "white", onClick: el => {
|
|
93
97
|
var _a;
|
|
94
98
|
stopEventBubbling(el);
|
|
95
99
|
(_a = this.selectEl) === null || _a === void 0 ? void 0 : _a.open();
|
|
96
|
-
} }), h("bal-dropdown", { key: '
|
|
100
|
+
} }), h("bal-dropdown", { key: '23540be5a9fddcc7c1e5368dfa4858ab1da720f5', ref: el => (this.selectEl = el), value: this.language, onBalChange: event => this.changeLanguage(event.detail), "data-testid": "bal-footer-language" }, this.allowedLanguages.map(language => (h("bal-option", { key: language, label: language.toLocaleUpperCase(), value: language }, language.toLocaleUpperCase())))))))), h("div", { key: '2580651725f59eb95ff734f9499f80635580ecd9', class: Object.assign({}, elSlot.class()) }, h("slot", { key: 'f6fef80d09d9d7213c975957b917019ce3299d73' })), h("div", { key: 'eefbce7897b7935f18b61e53d4dc19ded1806bc7', class: Object.assign(Object.assign({ container: true }, elContainer.class()), elLinksContainer.class()) }, h("div", { key: '0eee61cb3cbdaaf2af5c135ef472b9579e77b1a9', class: Object.assign({}, elSocialMediaLinks.class()), style: {
|
|
97
101
|
display: !this.showSocialMedia ? 'none' : 'flex',
|
|
98
102
|
} }, this.socialMediaLinks.map(link => (h("a", { key: link.link, href: link.link, target: "_blank", class: {
|
|
99
103
|
'link': true,
|
|
100
104
|
'is-inverted': true,
|
|
101
|
-
} }, h("bal-icon", { name: link.label.toLowerCase() }))))), h("div", { key: '
|
|
105
|
+
} }, h("bal-icon", { name: link.label.toLowerCase() }))))), h("div", { key: '5ba9f15559377a56212e51fa6166d09225ba4a40', class: Object.assign({}, elLegalLinks.class()), style: { display: this.hideLinks ? 'none' : 'flex' } }, this.links.map(link => (h("a", { key: link.link, href: link.link, target: "_blank", class: {
|
|
102
106
|
'link': true,
|
|
103
107
|
'is-light': true,
|
|
104
108
|
} }, link.label)))))))));
|
|
@@ -134,6 +138,28 @@ export class Footer {
|
|
|
134
138
|
"reflect": false,
|
|
135
139
|
"defaultValue": "false"
|
|
136
140
|
},
|
|
141
|
+
"overrideLinks": {
|
|
142
|
+
"type": "unknown",
|
|
143
|
+
"mutable": false,
|
|
144
|
+
"complexType": {
|
|
145
|
+
"original": "FooterLink[] | undefined",
|
|
146
|
+
"resolved": "FooterLink[]",
|
|
147
|
+
"references": {
|
|
148
|
+
"FooterLink": {
|
|
149
|
+
"location": "import",
|
|
150
|
+
"path": "@baloise/web-app-utils",
|
|
151
|
+
"id": "../../node_modules/@baloise/web-app-utils/dist/types/index.d.ts::FooterLink"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": false,
|
|
156
|
+
"optional": false,
|
|
157
|
+
"docs": {
|
|
158
|
+
"tags": [],
|
|
159
|
+
"text": "If provided, the footer links will be overridden."
|
|
160
|
+
},
|
|
161
|
+
"defaultValue": "undefined"
|
|
162
|
+
},
|
|
137
163
|
"showSocialMedia": {
|
|
138
164
|
"type": "boolean",
|
|
139
165
|
"mutable": false,
|
|
@@ -6,7 +6,7 @@ import { isArrowDownKey, isArrowUpKey, isSpaceKey, isHomeKey, isEndKey, isArrowL
|
|
|
6
6
|
import { stopEventBubbling } from "../../utils/form-input";
|
|
7
7
|
import { FOCUS_KEYS } from "../../utils/focus-visible";
|
|
8
8
|
import { ListenToWindowResize } from "../../utils/resize";
|
|
9
|
-
import { raf } from "../../utils/helpers";
|
|
9
|
+
import { isDescendant, raf } from "../../utils/helpers";
|
|
10
10
|
import { ListenToBreakpoints } from "../../utils/breakpoints";
|
|
11
11
|
import { ListenToFocus } from "../../utils/focus";
|
|
12
12
|
import { defaultBalAriaForm } from "../../utils/form";
|
|
@@ -130,6 +130,13 @@ export class Segment {
|
|
|
130
130
|
focusOutListener(ev) {
|
|
131
131
|
this.balBlur.emit(ev);
|
|
132
132
|
}
|
|
133
|
+
listenToDidAnimate(ev) {
|
|
134
|
+
if (ev && ev.target && isDescendant(ev.target, this.el)) {
|
|
135
|
+
const childRect = this.el.getBoundingClientRect();
|
|
136
|
+
this.maxWidth = childRect.width;
|
|
137
|
+
this.windowResizeListener();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
133
140
|
breakpointListener(breakpoints) {
|
|
134
141
|
this.isMobile = breakpoints.mobile;
|
|
135
142
|
}
|
|
@@ -298,7 +305,7 @@ export class Segment {
|
|
|
298
305
|
render() {
|
|
299
306
|
const { invalid, isVertical, scrollable, keyboardMode, expanded, isMobile, disabled } = this;
|
|
300
307
|
const block = BEM.block('segment');
|
|
301
|
-
return (h(Host, { key: '
|
|
308
|
+
return (h(Host, { key: '3554d8bc4b44417e273a935a70ae89ff87e26d45', role: "radiogroup", id: this.ariaForm.controlId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('invalid').class(invalid)), block.modifier('vertical').class(isVertical)), block.modifier('scrollable').class(scrollable)), block.modifier('keyboard').class(keyboardMode)), block.modifier('disabled').class(disabled)), block.modifier('expanded').class((expanded || isMobile) && !isVertical)), onClick: this.onClick }, h("slot", { key: '9271b42436f9c30077a60bcef7847ac04d093052', onSlotchange: this.onSlottedItemsChange })));
|
|
302
309
|
}
|
|
303
310
|
static get is() { return "bal-segment"; }
|
|
304
311
|
static get originalStyleUrls() {
|
|
@@ -608,6 +615,12 @@ __decorate([
|
|
|
608
615
|
__metadata("design:paramtypes", [FocusEvent]),
|
|
609
616
|
__metadata("design:returntype", void 0)
|
|
610
617
|
], Segment.prototype, "focusOutListener", null);
|
|
618
|
+
__decorate([
|
|
619
|
+
ListenTo('balWillAnimate', { target: 'window' }),
|
|
620
|
+
__metadata("design:type", Function),
|
|
621
|
+
__metadata("design:paramtypes", [UIEvent]),
|
|
622
|
+
__metadata("design:returntype", void 0)
|
|
623
|
+
], Segment.prototype, "listenToDidAnimate", null);
|
|
611
624
|
__decorate([
|
|
612
625
|
ListenToBreakpoints(),
|
|
613
626
|
__metadata("design:type", Function),
|
|
@@ -17,6 +17,8 @@ export class TabItem {
|
|
|
17
17
|
this.icon = undefined;
|
|
18
18
|
this.noPanel = false;
|
|
19
19
|
this.aria = undefined;
|
|
20
|
+
this.subLabel = '';
|
|
21
|
+
this.svg = '';
|
|
20
22
|
}
|
|
21
23
|
componentWillLoad() {
|
|
22
24
|
this.inheritAttributes = inheritTrackingAttributes(this.el);
|
|
@@ -51,15 +53,17 @@ export class TabItem {
|
|
|
51
53
|
trackingData: this.inheritAttributes,
|
|
52
54
|
noPanel: this.noPanel,
|
|
53
55
|
aria: this.aria,
|
|
56
|
+
subLabel: this.subLabel,
|
|
57
|
+
svg: this.svg,
|
|
54
58
|
};
|
|
55
59
|
}
|
|
56
60
|
render() {
|
|
57
61
|
const hasPanel = !this.noPanel;
|
|
58
62
|
const noPanelOrInactive = !this.isActive || this.noPanel;
|
|
59
|
-
return (h(Host, { key: '
|
|
63
|
+
return (h(Host, { key: '73cd7faf737780486e58b71b4c51508e0311e277', id: this.tabPanelID, class: {
|
|
60
64
|
'bal-tab-item': true,
|
|
61
65
|
'bal-tab-item--active': this.isActive,
|
|
62
|
-
}, role: hasPanel ? 'tabpanel' : undefined, "aria-label": hasPanel ? this.label : undefined, "aria-hidden": noPanelOrInactive ? 'true' : 'false', tabindex: noPanelOrInactive ? '-1' : undefined, hidden: noPanelOrInactive ? true : undefined }, h("slot", { key: '
|
|
66
|
+
}, role: hasPanel ? 'tabpanel' : undefined, "aria-label": hasPanel ? this.label : undefined, "aria-hidden": noPanelOrInactive ? 'true' : 'false', tabindex: noPanelOrInactive ? '-1' : undefined, hidden: noPanelOrInactive ? true : undefined }, h("slot", { key: 'd533d087306ee17ba5b78c9b756db6cf923ef1a5' })));
|
|
63
67
|
}
|
|
64
68
|
static get is() { return "bal-tab-item"; }
|
|
65
69
|
static get properties() {
|
|
@@ -287,6 +291,42 @@ export class TabItem {
|
|
|
287
291
|
"text": "A11y attributes for the native tab element."
|
|
288
292
|
},
|
|
289
293
|
"defaultValue": "undefined"
|
|
294
|
+
},
|
|
295
|
+
"subLabel": {
|
|
296
|
+
"type": "string",
|
|
297
|
+
"mutable": false,
|
|
298
|
+
"complexType": {
|
|
299
|
+
"original": "string",
|
|
300
|
+
"resolved": "string",
|
|
301
|
+
"references": {}
|
|
302
|
+
},
|
|
303
|
+
"required": false,
|
|
304
|
+
"optional": false,
|
|
305
|
+
"docs": {
|
|
306
|
+
"tags": [],
|
|
307
|
+
"text": "Sub label for the tab."
|
|
308
|
+
},
|
|
309
|
+
"attribute": "sub-label",
|
|
310
|
+
"reflect": true,
|
|
311
|
+
"defaultValue": "''"
|
|
312
|
+
},
|
|
313
|
+
"svg": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"mutable": false,
|
|
316
|
+
"complexType": {
|
|
317
|
+
"original": "string",
|
|
318
|
+
"resolved": "string",
|
|
319
|
+
"references": {}
|
|
320
|
+
},
|
|
321
|
+
"required": false,
|
|
322
|
+
"optional": false,
|
|
323
|
+
"docs": {
|
|
324
|
+
"tags": [],
|
|
325
|
+
"text": "source for the svg icon"
|
|
326
|
+
},
|
|
327
|
+
"attribute": "svg",
|
|
328
|
+
"reflect": false,
|
|
329
|
+
"defaultValue": "''"
|
|
290
330
|
}
|
|
291
331
|
};
|
|
292
332
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav{display:block;position:relative;-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (min-width: 769px),print{.bal-tabs__nav--vertical-col-one-quarter{flex:none;width:25%}.bal-tabs__nav--vertical-col-one-third{flex:none;width:33.3333%}.bal-tabs__nav--vertical-col-half{flex:none;width:33.3333%}.bal-tabs__nav--vertical-col-two-thirds{flex:none;width:66.6666%}.bal-tabs__nav--vertical-col-three-quarters{flex:none;width:75%}.bal-tabs__nav--vertical-col-full{flex:none;width:100%}}.bal-tabs__nav--vertical{height:fit-content}.bal-tabs__nav--full-height{height:100%}.bal-tabs__nav--expanded{display:flex}.bal-tabs__nav__carousel__item--expanded{flex:1;width:5rem;min-width:5rem}.bal-tabs__nav__border{position:absolute;background:var(--bal-tabs-tab-nav-border-background);border-radius:var(--bal-tabs-tab-nav-border-radius);height:var(--bal-border-width-normal);left:1px;right:1px;bottom:0}.bal-tabs__nav__border--vertical{width:var(--bal-border-width-normal);height:100%;top:0;right:auto}.bal-tabs__nav__border--inverted{background:var(--bal-tabs-tab-nav-border-background-inverted)}.bal-tabs__nav__line{position:absolute;background:var(--bal-tabs-tab-nav-line-background);border-radius:var(--bal-tabs-tab-nav-line-radius);left:1px;z-index:1}.bal-tabs__nav__line:not(.bal-tabs__nav__line--vertical){bottom:0;min-width:5rem}.bal-tabs__nav__line--vertical{top:0;min-height:2.5rem}.bal-tabs__nav__line:not(.bal-tabs__nav__line--vertical).bal-tabs__nav__line--active{height:var(--bal-border-width-normal)}.bal-tabs__nav__line--vertical.bal-tabs__nav__line--active{width:var(--bal-border-width-normal)}.bal-tabs__nav__line--animated{will-change:min-width,width,min-height,height,transform;transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs__nav__line--inverted{background:var(--bal-tabs-tab-nav-line-background-inverted)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item{display:flex;position:relative;box-sizing:border-box;flex-direction:column;flex-basis:1rem;flex-grow:1;flex-shrink:1;justify-content:center;align-items:center;text-decoration:none;cursor:default;gap:.5rem;padding:.25rem .75rem;border-radius:var(--bal-tabs-tab-button-radius);min-width:3rem;min-height:3rem;user-select:none;-webkit-user-drag:none;background-color:rgba(0,0,0,0);border:unset}@media screen and (min-width: 769px),print{.bal-tabs__nav__item{flex-direction:row;min-height:3.5rem}}.bal-tabs__nav__item--accordion{flex-direction:row}.bal-tabs__nav__item--hidden{display:none !important;visibility:hidden !important}.bal-tabs__nav__item--expanded{flex:1;width:5rem;min-width:5rem}.bal-tabs__nav__item--icon-position-vertical{flex-direction:column}.bal-tabs__nav__item--clickable{cursor:pointer;pointer-events:all}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-hover)}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__icon svg,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__icon g,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__icon path,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__icon circle{fill:var(--bal-tabs-tab-button-icon-text-color-hover)}}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-active)}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__icon svg,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__icon g,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__icon path,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__icon circle{fill:var(--bal-tabs-tab-button-icon-text-color-active)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-inverted-hover)}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__icon svg,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__icon g,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__icon path,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__icon circle{fill:var(--bal-tabs-tab-button-icon-text-color-inverted-hover)}}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-inverted-active)}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__icon svg,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__icon g,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__icon path,.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__icon circle{fill:var(--bal-tabs-tab-button-icon-text-color-inverted-active)}.bal-tabs__nav__item--vertical{flex-direction:row;align-items:center;justify-content:flex-start;min-height:2.5rem;padding:.5rem 1rem}.bal-tabs__nav__item--spaceless.bal-tabs__nav__item--first{padding-left:0}.bal-tabs__nav__item--spaceless.bal-tabs__nav__item--last{padding-right:0}.bal-tabs__nav__item--context-meta{min-height:3rem;height:3rem}.bal-tabs__nav__item--context-navigation{min-height:3rem;height:3rem}@media screen and (min-width: 1024px){.bal-tabs__nav__item--context-navigation{min-height:4rem;height:4rem}}@media screen and (min-width: 1280px){.bal-tabs__nav__item--context-navigation{min-height:4rem;height:4rem}}@media screen and (min-width: 1440px){.bal-tabs__nav__item--context-navigation{min-height:5rem;height:5rem}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item__icon{position:relative}.bal-tabs__nav__item__icon__bubble{position:absolute;right:-0.75rem;top:-0.25rem}@media screen and (min-width: 769px),print{.bal-tabs__nav__item__icon__bubble{right:-0.625rem;top:-0.25rem}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item__label{display:block;position:relative;font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-text-size-normal);line-height:var(--bal-body-line-height);text-align:center;hyphens:auto;white-space:nowrap;user-select:none;color:var(--bal-tabs-tab-label-text-color)}.bal-tabs__nav__item__label--disabled{color:var(--bal-tabs-tab-label-text-color-disabled)}.bal-tabs__nav__item__label--inverted{font-family:var(--bal-font-family-text);color:var(--bal-tabs-tab-label-text-color-inverted)}.bal-tabs__nav__item__label--inverted.bal-tabs__nav__item__label--disabled{color:var(--bal-tabs-tab-label-text-color-inverted-disabled)}.bal-tabs__nav__item__label--inverted{font-weight:var(--bal-font-weight-regular);letter-spacing:.1085px}.bal-tabs__nav__item__label--inverted.bal-tabs__nav__item__label--active{font-weight:var(--bal-font-weight-bold);letter-spacing:0}.bal-tabs__nav__item__label__bubble{position:absolute;right:-0.5rem;top:-0.5rem}.bal-tabs__nav__item__label--vertical{text-align:left;width:auto;white-space:normal}.bal-tabs__nav__item__label--context-meta{font-size:var(--bal-text-size-small)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}:root{--bal-tabs-tab-nav-border-background: var(--bal-color-border);--bal-tabs-tab-nav-border-background-inverted: var(--bal-color-border-inverted);--bal-tabs-tab-nav-line-background: var(--bal-color-border-primary);--bal-tabs-tab-nav-line-background-inverted: var(--bal-color-border-inverted);--bal-tabs-tab-button-radius: var(--bal-radius-normal);--bal-tabs-tab-nav-border-radius: var(--bal-radius-rounded);--bal-tabs-tab-nav-line-radius: var(--bal-radius-rounded);--bal-tabs-tab-button-label-text-color-hover: var(--bal-color-light-blue-5);--bal-tabs-tab-button-icon-text-color-hover: var(--bal-color-light-blue-5);--bal-tabs-tab-button-label-text-color-active: var(--bal-color-primary-6);--bal-tabs-tab-button-icon-text-color-active: var(--bal-color-primary-6);--bal-tabs-tab-button-label-text-color-inverted-hover: var(--bal-color-light-blue-2);--bal-tabs-tab-button-icon-text-color-inverted-hover: var(--bal-color-light-blue-2);--bal-tabs-tab-button-label-text-color-inverted-active: var(--bal-color-text-info);--bal-tabs-tab-button-icon-text-color-inverted-active: var(--bal-color-text-info);--bal-tabs-tab-label-text-color: var(--bal-color-text-primary);--bal-tabs-tab-label-text-color-disabled: var(--bal-color-text-grey);--bal-tabs-tab-label-text-color-inverted: var(--bal-color-text-white);--bal-tabs-tab-label-text-color-inverted-disabled: var(--bal-color-text-primary-light)}.bal-tabs{display:block;min-width:0}.bal-tabs--fullwidth{width:100%}.bal-tabs--vertical{display:block}@media screen and (min-width: 769px),print{.bal-tabs--vertical{display:flex}}@media screen and (min-width: 769px),print{.bal-tabs--navbar{height:100%}}.bal-tab-item{width:100%;display:none}.bal-tab-item--active{display:block}.bal-tabs__tabs__content{width:100%}.bal-tabs--animated{transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs--animated .bal-tabs__tabs__content{transition:max-height var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs--accordion .bal-tabs__tabs__content{overflow:hidden;will-change:max-height}.bal-tabs--accordion.bal-tabs--collapsing .bal-tabs__tabs__content{max-height:0 !important}.bal-tabs--accordion.bal-tabs--collapsed .bal-tabs__tabs__content{display:none}.bal-tabs--accordion.bal-tabs--expanding .bal-tabs__tabs__content{max-height:0}@media(prefers-reduced-motion: reduce){.bal-tabs--accordion .bal-tabs,.bal-tabs--accordion .bal-tabs__tabs__content{transition:none !important}}
|
|
1
|
+
@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav{display:block;position:relative;-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (min-width: 769px),print{.bal-tabs__nav--vertical-col-one-quarter{flex:none;width:25%}.bal-tabs__nav--vertical-col-one-third{flex:none;width:33.3333%}.bal-tabs__nav--vertical-col-half{flex:none;width:33.3333%}.bal-tabs__nav--vertical-col-two-thirds{flex:none;width:66.6666%}.bal-tabs__nav--vertical-col-three-quarters{flex:none;width:75%}.bal-tabs__nav--vertical-col-full{flex:none;width:100%}}.bal-tabs__nav--vertical{height:fit-content}.bal-tabs__nav--full-height{height:100%}.bal-tabs__nav--expanded{display:flex}.bal-tabs__nav__carousel__item--expanded{flex:1;width:5rem;min-width:5rem}.bal-tabs__nav__border{position:absolute;background:var(--bal-tabs-tab-nav-border-background);border-radius:var(--bal-tabs-tab-nav-border-radius);height:var(--bal-border-width-normal);left:1px;right:1px;bottom:0}.bal-tabs__nav__border--vertical{width:var(--bal-border-width-normal);height:100%;top:0;right:auto}.bal-tabs__nav__border--inverted{background:var(--bal-tabs-tab-nav-border-background-inverted)}.bal-tabs__nav__line{position:absolute;background:var(--bal-tabs-tab-nav-line-background);border-radius:var(--bal-tabs-tab-nav-line-radius);left:1px;z-index:1}.bal-tabs__nav__line:not(.bal-tabs__nav__line--vertical){bottom:0;min-width:5rem}.bal-tabs__nav__line--vertical{top:0;min-height:2.5rem}.bal-tabs__nav__line:not(.bal-tabs__nav__line--vertical).bal-tabs__nav__line--active{height:var(--bal-border-width-normal)}.bal-tabs__nav__line--vertical.bal-tabs__nav__line--active{width:var(--bal-border-width-normal)}.bal-tabs__nav__line--animated{will-change:min-width,width,min-height,height,transform;transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs__nav__line--inverted{background:var(--bal-tabs-tab-nav-line-background-inverted)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item{display:flex;position:relative;box-sizing:border-box;flex-direction:column;flex-basis:1rem;flex-grow:1;flex-shrink:1;justify-content:center;align-items:center;text-decoration:none;cursor:default;gap:.5rem;padding:.25rem .75rem;border-radius:var(--bal-tabs-tab-button-radius);min-width:3rem;min-height:3rem;user-select:none;-webkit-user-drag:none;background-color:rgba(0,0,0,0);border:unset}@media screen and (min-width: 769px),print{.bal-tabs__nav__item{flex-direction:row;min-height:3.5rem}}@media screen and (max-width: 768px){.bal-tabs__nav__item--group-has-sub-label{height:5rem}}.bal-tabs__nav__item--dim-inactive-elements:not(.bal-tabs__nav__item--active){opacity:.6}.bal-tabs__nav__item--display-svg{flex-direction:row}@media screen and (max-width: 768px){.bal-tabs__nav__item--display-svg:not(.bal-tabs__nav__item--display-svg.bal-tabs__nav__item--active){flex:0 0 auto;min-width:3rem;width:6rem;padding:.25rem}}.bal-tabs__nav__item--accordion{flex-direction:row}.bal-tabs__nav__item--hidden{display:none !important;visibility:hidden !important}.bal-tabs__nav__item--expanded{flex:1;width:5rem;min-width:5rem}.bal-tabs__nav__item--icon-position-vertical{flex-direction:column}.bal-tabs__nav__item--clickable{cursor:pointer;pointer-events:all}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-hover)}.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover-display-svg) svg,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover-display-svg) g,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover-display-svg) path,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):hover-display-svg) circle{fill:var(--bal-tabs-tab-button-icon-text-color-hover)}}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-active)}.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active-display-svg) svg,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active-display-svg) g,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active-display-svg) path,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled):active-display-svg) circle{fill:var(--bal-tabs-tab-button-icon-text-color-active)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-inverted-hover)}.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover-display-svg) svg,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover-display-svg) g,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover-display-svg) path,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:hover-display-svg) circle{fill:var(--bal-tabs-tab-button-icon-text-color-inverted-hover)}}.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active .bal-tabs__nav__item__label{color:var(--bal-tabs-tab-button-label-text-color-inverted-active)}.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active-display-svg) svg,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active-display-svg) g,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active-display-svg) path,.bal-tabs__nav__item__icon:not(.bal-tabs__nav__item:not(.bal-tabs__nav__item--disabled).bal-tabs__nav__item--inverted:active-display-svg) circle{fill:var(--bal-tabs-tab-button-icon-text-color-inverted-active)}.bal-tabs__nav__item--vertical{flex-direction:row;align-items:center;justify-content:flex-start;min-height:2.5rem;padding:.5rem 1rem}.bal-tabs__nav__item--spaceless.bal-tabs__nav__item--first{padding-left:0}.bal-tabs__nav__item--spaceless.bal-tabs__nav__item--last{padding-right:0}.bal-tabs__nav__item--context-meta{min-height:3rem;height:3rem}.bal-tabs__nav__item--context-navigation{min-height:3rem;height:3rem}@media screen and (min-width: 1024px){.bal-tabs__nav__item--context-navigation{min-height:4rem;height:4rem}}@media screen and (min-width: 1280px){.bal-tabs__nav__item--context-navigation{min-height:4rem;height:4rem}}@media screen and (min-width: 1440px){.bal-tabs__nav__item--context-navigation{min-height:5rem;height:5rem}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item__icon{position:relative}.bal-tabs__nav__item__icon__bubble{position:absolute;right:-0.75rem;top:-0.25rem}@media screen and (min-width: 769px),print{.bal-tabs__nav__item__icon__bubble{right:-0.625rem;top:-0.25rem}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}.bal-tabs__nav__item__label{display:block;position:relative;font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-text-size-normal);line-height:var(--bal-body-line-height);text-align:center;hyphens:auto;white-space:nowrap;user-select:none;color:var(--bal-tabs-tab-label-text-color)}.bal-tabs__nav__item__label--with-svg{text-align:left;display:flex;flex-direction:column}@media screen and (max-width: 768px){.bal-tabs__nav__item__label--with-svg:not(.bal-tabs__nav__item__label--active){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}}.bal-tabs__nav__item__label--disabled{color:var(--bal-tabs-tab-label-text-color-disabled)}.bal-tabs__nav__item__label--inverted{font-family:var(--bal-font-family-text);color:var(--bal-tabs-tab-label-text-color-inverted)}.bal-tabs__nav__item__label--inverted.bal-tabs__nav__item__label--disabled{color:var(--bal-tabs-tab-label-text-color-inverted-disabled)}.bal-tabs__nav__item__label--inverted{font-weight:var(--bal-font-weight-regular);letter-spacing:.1085px}.bal-tabs__nav__item__label--inverted.bal-tabs__nav__item__label--active{font-weight:var(--bal-font-weight-bold);letter-spacing:0}.bal-tabs__nav__item__label__bubble{position:absolute;right:-0.5rem;top:-0.5rem}.bal-tabs__nav__item__label--vertical{text-align:left;width:auto;white-space:normal}.bal-tabs__nav__item__label--context-meta{font-size:var(--bal-text-size-small)}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused{box-shadow:var(--bal-focus-shadow-inset) !important}}@media(hover: hover)and (pointer: fine){.bal-tabs__nav__item.bal-focused.bal-tabs__nav__item--inverted{box-shadow:var(--bal-focus-shadow-inverted-inset) !important}}:root{--bal-tabs-tab-nav-border-background: var(--bal-color-border);--bal-tabs-tab-nav-border-background-inverted: var(--bal-color-border-inverted);--bal-tabs-tab-nav-line-background: var(--bal-color-border-primary);--bal-tabs-tab-nav-line-background-inverted: var(--bal-color-border-inverted);--bal-tabs-tab-button-radius: var(--bal-radius-normal);--bal-tabs-tab-nav-border-radius: var(--bal-radius-rounded);--bal-tabs-tab-nav-line-radius: var(--bal-radius-rounded);--bal-tabs-tab-button-label-text-color-hover: var(--bal-color-light-blue-5);--bal-tabs-tab-button-icon-text-color-hover: var(--bal-color-light-blue-5);--bal-tabs-tab-button-label-text-color-active: var(--bal-color-primary-6);--bal-tabs-tab-button-icon-text-color-active: var(--bal-color-primary-6);--bal-tabs-tab-button-label-text-color-inverted-hover: var(--bal-color-light-blue-2);--bal-tabs-tab-button-icon-text-color-inverted-hover: var(--bal-color-light-blue-2);--bal-tabs-tab-button-label-text-color-inverted-active: var(--bal-color-text-info);--bal-tabs-tab-button-icon-text-color-inverted-active: var(--bal-color-text-info);--bal-tabs-tab-label-text-color: var(--bal-color-text-primary);--bal-tabs-tab-label-text-color-disabled: var(--bal-color-text-grey);--bal-tabs-tab-label-text-color-inverted: var(--bal-color-text-white);--bal-tabs-tab-label-text-color-inverted-disabled: var(--bal-color-text-primary-light)}.bal-tabs{display:block;min-width:0}.bal-tabs--fullwidth{width:100%}.bal-tabs--vertical{display:block}@media screen and (min-width: 769px),print{.bal-tabs--vertical{display:flex}}@media screen and (min-width: 769px),print{.bal-tabs--navbar{height:100%}}.bal-tab-item{width:100%;display:none}.bal-tab-item--active{display:block}.bal-tabs__tabs__content{width:100%}.bal-tabs--animated{transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs--animated .bal-tabs__tabs__content{transition:max-height var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-tabs--accordion .bal-tabs__tabs__content{overflow:hidden;will-change:max-height}.bal-tabs--accordion.bal-tabs--collapsing .bal-tabs__tabs__content{max-height:0 !important}.bal-tabs--accordion.bal-tabs--collapsed .bal-tabs__tabs__content{display:none}.bal-tabs--accordion.bal-tabs--expanding .bal-tabs__tabs__content{max-height:0}@media(prefers-reduced-motion: reduce){.bal-tabs--accordion .bal-tabs,.bal-tabs--accordion .bal-tabs__tabs__content{transition:none !important}}
|
|
@@ -298,6 +298,7 @@ export class Tabs {
|
|
|
298
298
|
this.verticalColSize = 'one-third';
|
|
299
299
|
this.selectOnMobile = false;
|
|
300
300
|
this.value = undefined;
|
|
301
|
+
this.dimInactiveElements = false;
|
|
301
302
|
}
|
|
302
303
|
createLogger(log) {
|
|
303
304
|
this.log = log;
|
|
@@ -572,13 +573,13 @@ export class Tabs {
|
|
|
572
573
|
const contentPart = expanded ? 'content expanded' : 'content';
|
|
573
574
|
const valueExists = this.value !== undefined && !!this.store.find(o => o.value === this.value);
|
|
574
575
|
const isLinkList = !this.isTabList;
|
|
575
|
-
return (h(Host, { key: '
|
|
576
|
+
return (h(Host, { key: '6d5c18adc358a123e9630ac61854716b3a524af8', class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('navbar').class(this.inNavbar)), block.modifier('vertical').class(isVertical)), block.modifier('fullwidth').class(this.expanded || this.fullwidth)), block.modifier('accordion').class(this.accordion)), block.modifier('animated').class(this.animated)), block.modifier('expanding').class(this.accordionState === 8 /* AccordionState.Expanding */)), block.modifier('expanded').class(this.accordionState === 4 /* AccordionState.Expanded */)), block.modifier('collapsing').class(this.accordionState === 2 /* AccordionState.Collapsing */)), block.modifier('collapsed').class(this.accordionState === 1 /* AccordionState.Collapsed */)), "data-value": this.store
|
|
576
577
|
.filter(t => this.isTabActive(t))
|
|
577
578
|
.map(t => t.value)
|
|
578
579
|
.join(','), "data-label": this.store
|
|
579
580
|
.filter(t => this.isTabActive(t))
|
|
580
581
|
.map(t => t.label)
|
|
581
|
-
.join(',') }, isSelect ? (h(TabSelect, { value: this.value, items: tabs, onSelectTab: this.onSelectTab })) : (h(TabNav, { items: tabs, isLinkList: isLinkList, tabsId: this.tabsId, clickable: this.clickable, accordion: this.accordion, isAccordionOpen: this.isAccordionOpen, lineActive: valueExists, inverted: isInverted, animated: this.animated, context: this.context, border: this.border, spaceless: this.spaceless, expanded: this.expanded, isMobile: isMobile, isTouch: isTouch, isVertical: isVertical, inNavbar: this.inNavbar, hasCarousel: hasCarousel, iconPosition: this.iconPosition, verticalColSize: this.verticalColSize, onSelectTab: this.onSelectTab })), h("div", { key: '
|
|
582
|
+
.join(',') }, isSelect ? (h(TabSelect, { value: this.value, items: tabs, onSelectTab: this.onSelectTab })) : (h(TabNav, { items: tabs, isLinkList: isLinkList, tabsId: this.tabsId, clickable: this.clickable, accordion: this.accordion, isAccordionOpen: this.isAccordionOpen, lineActive: valueExists, inverted: isInverted, animated: this.animated, context: this.context, border: this.border, spaceless: this.spaceless, expanded: this.expanded, isMobile: isMobile, isTouch: isTouch, isVertical: isVertical, inNavbar: this.inNavbar, hasCarousel: hasCarousel, iconPosition: this.iconPosition, verticalColSize: this.verticalColSize, onSelectTab: this.onSelectTab, dimInactiveElements: this.dimInactiveElements })), h("div", { key: '109d4147369f72da04c9f6b48a8959159ccf1d8c', part: contentPart, ref: contentEl => (this.contentEl = contentEl), class: Object.assign({}, block.element('tabs').element('content').class()) }, h("div", { key: '89333c42c5f26f47e99bab3bdba2051e7cfcac14', id: this.tabsId, class: Object.assign({}, block.element('tabs').element('content').element('wrapper').class()), ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: '834c6b06a516dbcedfa4f65d902899202fee9809' })))));
|
|
582
583
|
}
|
|
583
584
|
static get is() { return "bal-tabs"; }
|
|
584
585
|
static get originalStyleUrls() {
|
|
@@ -947,6 +948,24 @@ export class Tabs {
|
|
|
947
948
|
"attribute": "value",
|
|
948
949
|
"reflect": false,
|
|
949
950
|
"defaultValue": "undefined"
|
|
951
|
+
},
|
|
952
|
+
"dimInactiveElements": {
|
|
953
|
+
"type": "boolean",
|
|
954
|
+
"mutable": false,
|
|
955
|
+
"complexType": {
|
|
956
|
+
"original": "boolean",
|
|
957
|
+
"resolved": "boolean",
|
|
958
|
+
"references": {}
|
|
959
|
+
},
|
|
960
|
+
"required": false,
|
|
961
|
+
"optional": false,
|
|
962
|
+
"docs": {
|
|
963
|
+
"tags": [],
|
|
964
|
+
"text": "if true, inactive elements will have their opacity reduced"
|
|
965
|
+
},
|
|
966
|
+
"attribute": "dim-inactive-elements",
|
|
967
|
+
"reflect": false,
|
|
968
|
+
"defaultValue": "false"
|
|
950
969
|
}
|
|
951
970
|
};
|
|
952
971
|
}
|
|
@@ -3,7 +3,7 @@ import { BEM } from "../../../utils/bem";
|
|
|
3
3
|
import { TabIcon } from "./tab-icon";
|
|
4
4
|
import { TabLabel } from "./tab-label";
|
|
5
5
|
import { toKebabCase } from "../../../utils/string";
|
|
6
|
-
export const TabButton = ({ item, tabsId, isFirst, isLast, isMobile, isVertical, accordion, isAccordionOpen, isLinkList, inverted, expanded, spaceless, clickable, iconPosition, context, onSelectTab, }) => {
|
|
6
|
+
export const TabButton = ({ item, tabsId, isFirst, isLast, isMobile, isVertical, accordion, isAccordionOpen, isLinkList, inverted, expanded, spaceless, clickable, iconPosition, context, onSelectTab, hasSubLabelInGroup, dimInactiveElements, }) => {
|
|
7
7
|
var _a;
|
|
8
8
|
const bemEl = BEM.block('tabs').element('nav').element('item');
|
|
9
9
|
if (item.invisible) {
|
|
@@ -35,5 +35,5 @@ export const TabButton = ({ item, tabsId, isFirst, isLast, isMobile, isVertical,
|
|
|
35
35
|
if (!isLinkList) {
|
|
36
36
|
attrs['tabindex'] = item.active ? '0' : '-1';
|
|
37
37
|
}
|
|
38
|
-
return (h(TagType, Object.assign({ id: `${tabsId}-button-${toKebabCase(item.value)}`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)), bemEl.modifier('clickable').class(clickable)), bemEl.modifier('accordion').class(accordion)), bemEl.modifier('inverted').class(inverted)), bemEl.modifier('expanded').class(expanded)), bemEl.modifier('spaceless').class(spaceless)), bemEl.modifier('first').class(isFirst)), bemEl.modifier('last').class(isLast)), bemEl.modifier('passed').class(item.passed)), bemEl.modifier('vertical').class(isVertical)), bemEl.modifier(`context-${context}`).class(context !== undefined)), bemEl.modifier(`icon-position-${iconPosition}`).class(iconPosition !== 'horizontal')), { 'bal-focusable': !item.disabled && !item.invisible }), draggable: false, "data-tabs": tabsId, "data-label": item.label, "data-value": item.value, "data-index": item.index, "data-testid": "bal-tabs-item", "aria-selected": !isTabButton ? undefined : item.active ? 'true' : 'false' }, attrs, { onClick: (ev) => onSelectTab(ev, item) }), item.icon ? (h(TabIcon, { accordion: false, item: item, isMobile: isMobile, hasBubble: hasIconBubble, inverted: inverted })) : (''), h(TabLabel, { item: item, isMobile: isMobile, isVertical: isVertical, hasBubble: hasLabelBubble, inverted: inverted, context: context }), accordion && !item.href ? (h(TabIcon, { accordion: accordion, isAccordionOpen: isAccordionOpen, item: item, isMobile: isMobile, hasBubble: hasAccordionIconBubble, inverted: inverted })) : ('')));
|
|
38
|
+
return (h(TagType, Object.assign({ id: `${tabsId}-button-${toKebabCase(item.value)}`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)), bemEl.modifier('clickable').class(clickable)), bemEl.modifier('accordion').class(accordion)), bemEl.modifier('inverted').class(inverted)), bemEl.modifier('expanded').class(expanded)), bemEl.modifier('spaceless').class(spaceless)), bemEl.modifier('first').class(isFirst)), bemEl.modifier('last').class(isLast)), bemEl.modifier('passed').class(item.passed)), bemEl.modifier('vertical').class(isVertical)), bemEl.modifier(`context-${context}`).class(context !== undefined)), bemEl.modifier(`icon-position-${iconPosition}`).class(iconPosition !== 'horizontal')), bemEl.modifier(`display-svg`).class(item.svg && item.svg.length > 0)), bemEl.modifier('group-has-sub-label').class(hasSubLabelInGroup)), bemEl.modifier('dim-inactive-elements').class(dimInactiveElements)), { 'bal-focusable': !item.disabled && !item.invisible }), draggable: false, "data-tabs": tabsId, "data-label": item.label, "data-value": item.value, "data-index": item.index, "data-testid": "bal-tabs-item", "aria-selected": !isTabButton ? undefined : item.active ? 'true' : 'false' }, attrs, { onClick: (ev) => onSelectTab(ev, item) }), item.icon || item.svg ? (h(TabIcon, { accordion: false, item: item, isMobile: isMobile, hasBubble: hasIconBubble, inverted: inverted })) : (''), h(TabLabel, { item: item, isMobile: isMobile, isVertical: isVertical, hasBubble: hasLabelBubble, inverted: inverted, context: context }), accordion && !item.href ? (h(TabIcon, { accordion: accordion, isAccordionOpen: isAccordionOpen, item: item, isMobile: isMobile, hasBubble: hasAccordionIconBubble, inverted: inverted })) : ('')));
|
|
39
39
|
};
|
|
@@ -6,5 +6,5 @@ export const TabIcon = ({ item, inverted, accordion, isAccordionOpen, isMobile,
|
|
|
6
6
|
if (inverted) {
|
|
7
7
|
iconColor = item.disabled ? 'primary-light' : 'white';
|
|
8
8
|
}
|
|
9
|
-
return (h("span", { class: Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)) }, h("bal-icon", { size: isMobile || accordion ? 'small' : '', name: accordion ? 'nav-go-down' : item.icon, color: iconColor, turn: accordion && isAccordionOpen === true && item.active }), hasBubble ? (h("bal-badge", { class: Object.assign({}, bemEl.element('bubble').class()), size: "small" }, item.bubble)) : ('')));
|
|
9
|
+
return (h("span", { class: Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)), bemEl.modifier('display-svg').class(item.svg !== undefined)) }, item.svg ? (h("bal-icon", { svg: item.svg, size: "large", color: "auto" })) : (h("bal-icon", { size: isMobile || accordion ? 'small' : '', name: accordion ? 'nav-go-down' : item.icon, color: iconColor, turn: accordion && isAccordionOpen === true && item.active })), hasBubble ? (h("bal-badge", { class: Object.assign({}, bemEl.element('bubble').class()), size: "small" }, item.bubble)) : ('')));
|
|
10
10
|
};
|
|
@@ -2,5 +2,5 @@ import { h } from "@stencil/core";
|
|
|
2
2
|
import { BEM } from "../../../utils/bem";
|
|
3
3
|
export const TabLabel = ({ item, inverted, hasBubble, isVertical, context }) => {
|
|
4
4
|
const bemEl = BEM.block('tabs').element('nav').element('item').element('label');
|
|
5
|
-
return (h("span", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('inverted').class(inverted)), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)), bemEl.modifier('vertical').class(isVertical)), bemEl.modifier(`context-${context}`).class(context !== undefined)), "data-testid": "bal-tabs-item-label" }, item.label, hasBubble ? (h("bal-badge", { class: Object.assign({}, bemEl.element('bubble').class()), size: "small" }, item.bubble)) : ('')));
|
|
5
|
+
return (h("span", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier('inverted').class(inverted)), bemEl.modifier('active').class(item.active)), bemEl.modifier('disabled').class(item.disabled)), bemEl.modifier('vertical').class(isVertical)), bemEl.modifier(`context-${context}`).class(context !== undefined)), bemEl.modifier('with-svg').class(item.svg && item.svg.length > 0)), "data-testid": "bal-tabs-item-label" }, item.label, item.subLabel && h("span", { class: bemEl.element('sub-label').class() }, item.subLabel), hasBubble ? (h("bal-badge", { class: Object.assign({}, bemEl.element('bubble').class()), size: "small" }, item.bubble)) : ('')));
|
|
6
6
|
};
|
|
@@ -2,10 +2,13 @@ import { h } from "@stencil/core";
|
|
|
2
2
|
import { BEM } from "../../../utils/bem";
|
|
3
3
|
import { stopEventBubbling } from "../../../utils/form-input";
|
|
4
4
|
import { TabButton } from "./tab-button";
|
|
5
|
-
export const TabNav = ({ items, tabsId, hasCarousel, isVertical, inNavbar, isMobile, isTouch, lineActive, isLinkList, border, accordion, isAccordionOpen, inverted, clickable, animated, spaceless, expanded, verticalColSize, iconPosition, context, onSelectTab, }) => {
|
|
5
|
+
export const TabNav = ({ items, tabsId, hasCarousel, isVertical, inNavbar, isMobile, isTouch, lineActive, isLinkList, border, accordion, isAccordionOpen, inverted, clickable, animated, spaceless, expanded, verticalColSize, iconPosition, context, onSelectTab, dimInactiveElements, }) => {
|
|
6
6
|
const bemEl = BEM.block('tabs').element('nav');
|
|
7
7
|
const tabs = items.filter(tab => !tab.invisible);
|
|
8
8
|
const isFullHeight = inNavbar && !isTouch;
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const hasSubLabelInGroup = items.some(item => {
|
|
10
|
+
return item.subLabel && item.subLabel.length > 0;
|
|
11
|
+
});
|
|
12
|
+
const Button = ({ item, index }) => (h(TabButton, { item: item, isLinkList: isLinkList, tabsId: tabsId, isFirst: index === 0, isLast: index === tabs.length - 1, isMobile: isMobile, isVertical: isVertical, iconPosition: iconPosition, spaceless: spaceless, inverted: inverted, accordion: accordion, isAccordionOpen: isAccordionOpen, context: context, expanded: expanded, clickable: clickable && !item.disabled, onSelectTab: onSelectTab, hasSubLabelInGroup: hasSubLabelInGroup, dimInactiveElements: dimInactiveElements }));
|
|
13
|
+
return (h("div", { id: `${tabsId}-nav`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier(`full-height`).class(isFullHeight)), bemEl.modifier(`border`).class(border)), bemEl.modifier(`animated`).class(animated)), bemEl.modifier(`vertical`).class(isVertical)), bemEl.modifier(`expanded`).class(expanded && !isVertical)), bemEl.modifier(`vertical-col-${verticalColSize}`).class(isVertical)) }, hasCarousel ? (h("bal-carousel", { id: `${tabsId}-carousel`, class: Object.assign({}, bemEl.element('carousel').class()), htmlRole: 'tablist', fullHeight: isFullHeight, border: border, inverted: inverted, controls: "small", "items-per-view": "auto", steps: 3, onBalChange: stopEventBubbling }, tabs.map((tab, index) => (h("bal-carousel-item", { htmlRole: '', class: Object.assign(Object.assign({}, bemEl.element('carousel').element('item').class()), bemEl.element('carousel').element('item').modifier('expanded').class(expanded)) }, h(Button, { item: tab, index: index })))), h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) }))) : (tabs.map((tab, index) => h(Button, { item: tab, index: index }))), !hasCarousel ? (h("div", { id: `${tabsId}-border`, class: Object.assign(Object.assign(Object.assign({}, bemEl.element('border').class()), bemEl.element('border').modifier(`inverted`).class(inverted)), bemEl.element('border').modifier(`vertical`).class(isVertical)) })) : (''), !hasCarousel ? (h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) })) : ('')));
|
|
11
14
|
};
|
|
@@ -35,6 +35,7 @@ export class Textarea {
|
|
|
35
35
|
this.name = this.inputId;
|
|
36
36
|
this.invalid = false;
|
|
37
37
|
this.autocapitalize = 'none';
|
|
38
|
+
this.autocomplete = 'off';
|
|
38
39
|
this.autofocus = false;
|
|
39
40
|
this.debounce = 0;
|
|
40
41
|
this.placeholder = undefined;
|
|
@@ -107,7 +108,7 @@ export class Textarea {
|
|
|
107
108
|
const value = this.getValue();
|
|
108
109
|
const block = BEM.block('textarea');
|
|
109
110
|
const elNative = block.element('native');
|
|
110
|
-
return (h(Host, { key: '
|
|
111
|
+
return (h(Host, { key: 'ab14f059d3785673e315d1201f2f6f400def090f', onClick: this.handleClick, "aria-disabled": this.disabled ? 'true' : null, class: Object.assign({}, block.class()) }, h("textarea", Object.assign({ key: '9cacf375b46777e0f49ab12d7b0bf7a36223c116', class: Object.assign(Object.assign({}, elNative.class()), { 'textarea': true, 'is-disabled': this.disabled || this.readonly, 'is-danger': this.invalid, 'clickable': this.clickable }), "data-testid": "bal-textarea-input", ref: inputEl => (this.nativeInput = inputEl), name: this.name, id: this.ariaForm.controlId || this.inputId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, "aria-invalid": this.invalid === true ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : null, disabled: this.disabled, readonly: this.readonly, required: this.required, autoCapitalize: this.autocapitalize, autocomplete: this.autocomplete, autoFocus: this.autofocus, minLength: this.minLength, maxLength: this.maxLength, placeholder: this.placeholder, inputMode: this.inputmode, value: this.value, cols: this.cols, rows: this.rows, wrap: this.wrap, onFocus: this.onFocus, onInput: ev => this.onInput(ev), onBlur: this.onBlur, onClick: this.onClick, onKeyPress: e => this.balKeyPress.emit(e) }, this.inheritedAttributes), value, h("slot", { key: 'ccf5fb267d10b8b51532797a4ee71e4ee9fab52e' }))));
|
|
111
112
|
}
|
|
112
113
|
static get is() { return "bal-textarea"; }
|
|
113
114
|
static get originalStyleUrls() {
|
|
@@ -176,6 +177,29 @@ export class Textarea {
|
|
|
176
177
|
"reflect": false,
|
|
177
178
|
"defaultValue": "'none'"
|
|
178
179
|
},
|
|
180
|
+
"autocomplete": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"mutable": false,
|
|
183
|
+
"complexType": {
|
|
184
|
+
"original": "BalProps.BalInputAutocomplete",
|
|
185
|
+
"resolved": "\"on\" | \"off\" | \"tel\" | \"url\" | \"email\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
|
|
186
|
+
"references": {
|
|
187
|
+
"BalProps": {
|
|
188
|
+
"location": "global",
|
|
189
|
+
"id": "global::BalProps"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"required": false,
|
|
194
|
+
"optional": false,
|
|
195
|
+
"docs": {
|
|
196
|
+
"tags": [],
|
|
197
|
+
"text": "Indicates whether the value of the control can be automatically completed by the browser."
|
|
198
|
+
},
|
|
199
|
+
"attribute": "autocomplete",
|
|
200
|
+
"reflect": false,
|
|
201
|
+
"defaultValue": "'off'"
|
|
202
|
+
},
|
|
179
203
|
"autofocus": {
|
|
180
204
|
"type": "boolean",
|
|
181
205
|
"mutable": false,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by .build/version.js
|
|
2
|
-
export const VERSION = '17.
|
|
2
|
+
export const VERSION = '17.1.0';
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import { FOCUS_KEYS } from "../focus-visible";
|
|
1
2
|
import { rIC } from "../helpers";
|
|
2
3
|
export class DropdownEventsUtil {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.handlePointerDown = () => {
|
|
6
|
+
this.component.isKeyboardMode = false;
|
|
7
|
+
};
|
|
8
|
+
this.handleKeydown = (ev) => {
|
|
9
|
+
this.component.isKeyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
3
12
|
connectedCallback(component) {
|
|
4
13
|
this.component = component;
|
|
5
14
|
}
|
|
@@ -33,7 +42,6 @@ export class DropdownEventsUtil {
|
|
|
33
42
|
this.component.popupUtil.toggleList();
|
|
34
43
|
}
|
|
35
44
|
}
|
|
36
|
-
// @Listen('click', { target: 'document' })
|
|
37
45
|
handleOutsideClick(ev) {
|
|
38
46
|
var _a;
|
|
39
47
|
if (this.component.isExpanded) {
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { BEM } from "../bem";
|
|
3
3
|
import { i18nBalDropdown } from "./dropdown.i18n";
|
|
4
|
-
export const DropdownIcon = ({ icon, language, loading, clearable, invalid, filled, expanded, disabled, }) => {
|
|
4
|
+
export const DropdownIcon = ({ size, theme, icon, language, loading, clearable, invalid, filled, expanded, disabled, }) => {
|
|
5
5
|
const block = BEM.block('dropdown');
|
|
6
6
|
if (loading) {
|
|
7
7
|
return h("bal-spinner", { class: Object.assign({}, block.element('rear').class()), small: true, variation: "circle" });
|
|
8
8
|
}
|
|
9
9
|
else if (clearable && filled && !disabled) {
|
|
10
|
-
return (h("button", { title: i18nBalDropdown[language].clearable, type: 'button', class: Object.assign(Object.assign(Object.assign({}, block.element('rear').class()), block.element('clear').class()), block.element('clear').modifier('invalid').class(invalid))
|
|
10
|
+
return (h("button", { title: i18nBalDropdown[language].clearable, type: 'button', tabIndex: -1, class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.element('rear').class()), block.element('clear').class()), block.element('clear').modifier('invalid').class(invalid)), block
|
|
11
|
+
.element('clear')
|
|
12
|
+
.modifier('theme-purple')
|
|
13
|
+
.class(theme === 'purple')) }, h("bal-icon", { class: Object.assign({}, block.element('rear').class()), name: theme === 'purple' ? 'close' : 'close-circle', size: size, color: theme === 'purple' ? 'primary' : 'grey' })));
|
|
11
14
|
}
|
|
12
15
|
else {
|
|
13
|
-
return (h("bal-icon", { class: Object.assign({}, block.element('rear').class()), name: icon, turn: expanded, color: disabled ? 'grey' : invalid ? 'danger' : 'primary' }));
|
|
16
|
+
return (h("bal-icon", { class: Object.assign({}, block.element('rear').class()), name: icon, size: size, turn: expanded, color: disabled ? 'grey' : invalid ? 'danger' : !filled && theme === 'purple' ? 'primary-light' : 'primary' }));
|
|
14
17
|
}
|
|
15
18
|
};
|
|
@@ -87,14 +87,14 @@ export class DropdownValueUtil {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
export const DropdownValue = ({ filled, chips, placeholder, choices, invalid, disabled, readonly, onRemoveChip, }) => {
|
|
90
|
+
export const DropdownValue = ({ inlineLabel, filled, chips, placeholder, choices, invalid, disabled, readonly, onRemoveChip, }) => {
|
|
91
91
|
const block = BEM.block('dropdown');
|
|
92
92
|
if (filled) {
|
|
93
93
|
if (chips) {
|
|
94
94
|
return (h("div", { class: Object.assign({}, block.element('root').element('content').element('chips').class()) }, choices.map(option => (h("bal-tag", { key: option.value, "data-test": "bal-dropdown-chip", size: "small", invalid: invalid, disabled: disabled || readonly, closable: !(disabled || readonly), onBalCloseClick: () => onRemoveChip(option) }, option.label)))));
|
|
95
95
|
}
|
|
96
96
|
else {
|
|
97
|
-
return choices.map(option => option.label).join(', ');
|
|
97
|
+
return (inlineLabel && `${inlineLabel}: `) + choices.map(option => option.label).join(', ');
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
else {
|
|
@@ -79,11 +79,11 @@ const Accordion = class {
|
|
|
79
79
|
if (this.shouldAnimate()) {
|
|
80
80
|
raf(() => {
|
|
81
81
|
this.setState(8 /* AccordionState.Expanding */);
|
|
82
|
+
this.balWillAnimate.emit(this.active);
|
|
82
83
|
this.currentRaf = raf(async () => {
|
|
83
84
|
const contentHeight = detailsWrapperElement.offsetHeight;
|
|
84
85
|
const waitForTransition = transitionEndAsync(detailsElement, 300);
|
|
85
86
|
detailsElement.style.setProperty('max-height', `${contentHeight}px`);
|
|
86
|
-
this.balWillAnimate.emit(this.active);
|
|
87
87
|
await waitForTransition;
|
|
88
88
|
this.setState(4 /* AccordionState.Expanded */);
|
|
89
89
|
detailsElement.style.removeProperty('max-height');
|
|
@@ -479,6 +479,7 @@ const AccordionTrigger = class {
|
|
|
479
479
|
};
|
|
480
480
|
this.parentAccordionId = undefined;
|
|
481
481
|
this.button = false;
|
|
482
|
+
this.expanded = true;
|
|
482
483
|
this.openLabel = '';
|
|
483
484
|
this.openIcon = 'caret-down';
|
|
484
485
|
this.closeLabel = '';
|
|
@@ -538,7 +539,7 @@ const AccordionTrigger = class {
|
|
|
538
539
|
tabindex: 0,
|
|
539
540
|
};
|
|
540
541
|
}
|
|
541
|
-
return (h(Host, { key: '
|
|
542
|
+
return (h(Host, { key: '891c25716cc93bd97ca9b25fcb512bb1915e8f5d', id: id, class: Object.assign({}, block.class()) }, this.button ? (h("bal-button", { id: `${id}-button`, "aria-controls": `${this.parentAccordionId}-details-content`, part: buttonPart, "data-testid": "bal-accordion-trigger", expanded: this.expanded, icon: icon, iconTurn: turn, color: this.color, size: this.size, onClick: this.onClick }, label)) : (h("button", Object.assign({ class: Object.assign(Object.assign({}, block.element('button').class()), { 'bal-focused': parentSummaryEl && !parentSummaryEl.trigger }), id: `${id}-button`, "aria-controls": `${this.parentAccordionId}-details-content`, "aria-label": "accordion trigger", part: buttonPart, "data-testid": "bal-accordion-trigger", onClick: this.onClick }, triggerAttributes), h("bal-icon", { turn: turn, name: icon })))));
|
|
542
543
|
}
|
|
543
544
|
get el() { return getElement(this); }
|
|
544
545
|
};
|
|
@@ -3,13 +3,13 @@ import { _ as __decorate, a as __metadata } from './tslib.es6-654e2c24.js';
|
|
|
3
3
|
import { j as debounce, l as rLCP, n as raf, b as waitAfterFramePaint } from './helpers-72ae7307.js';
|
|
4
4
|
import { B as BEM } from './bem-8c7d2eb0.js';
|
|
5
5
|
import { s as stopEventBubbling } from './form-input-264ad739.js';
|
|
6
|
-
import { L as ListenToBreakpoints } from './breakpoints.decorator-
|
|
6
|
+
import { L as ListenToBreakpoints } from './breakpoints.decorator-2e4214b2.js';
|
|
7
7
|
import { g as getComputedWidth } from './style-ca1bd202.js';
|
|
8
8
|
import { L as ListenTo } from './listen-d1712e70.js';
|
|
9
9
|
import { L as ListenToMutation } from './mutation.decorator-985cc0a1.js';
|
|
10
10
|
import { L as ListenToSwipe } from './swipe.decorator-56b6d574.js';
|
|
11
11
|
import { L as ListenToResize } from './resize.decorator-f2d8461d.js';
|
|
12
|
-
import { b as balBreakpoints } from './breakpoints.subject-
|
|
12
|
+
import { b as balBreakpoints } from './breakpoints.subject-0499ff54.js';
|
|
13
13
|
import { d as defaultConfig } from './config.default-7efdc82d.js';
|
|
14
14
|
import { L as ListenToConfig } from './config.decorator-d18abfe1.js';
|
|
15
15
|
import { i as inheritAttributes } from './attributes-4fa7040f.js';
|
|
@@ -19,7 +19,7 @@ import './config.utils-6ac6c9bd.js';
|
|
|
19
19
|
import './listener-04842ae9.js';
|
|
20
20
|
import './swipe.subject-683f7c7b.js';
|
|
21
21
|
import './device-8c6d2881.js';
|
|
22
|
-
import './tokens.esm-
|
|
22
|
+
import './tokens.esm-e90e564a.js';
|
|
23
23
|
import './log-dfd1c19f.js';
|
|
24
24
|
|
|
25
25
|
const TabControl = ({ value, items, containerId, onControlChange }) => {
|
|
@@ -104,6 +104,7 @@ const Date = class {
|
|
|
104
104
|
this.placeholder = undefined;
|
|
105
105
|
this.triggerIcon = false;
|
|
106
106
|
this.closeOnSelect = true;
|
|
107
|
+
this.autocomplete = 'off';
|
|
107
108
|
this.value = undefined;
|
|
108
109
|
this.min = undefined;
|
|
109
110
|
this.max = undefined;
|
|
@@ -287,7 +288,7 @@ const Date = class {
|
|
|
287
288
|
const block = BEM.block('date');
|
|
288
289
|
const blockIcon = block.element('icon');
|
|
289
290
|
const blockPopup = block.element('popup');
|
|
290
|
-
return (h(Host, { key: '
|
|
291
|
+
return (h(Host, { key: '71ecc523323aea5b610663af71761730cafdf72d', id: this.inputId, class: Object.assign({}, block.class()) }, h("bal-input-group", { key: 'fac9940b61f22766e728f2025491f1d743b65a04', invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, ref: el => (this.referenceEl = el) }, h("bal-input-date", Object.assign({ key: '9ff8ef04e188c3492419029967aedbb47f6cd80d', name: this.name, required: this.required, placeholder: this.placeholder, value: this.value, min: this.min, max: this.max, invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, allowInvalidValue: this.allowInvalidValue, autocomplete: this.autocomplete, onClick: this.onInputClick, onBalInput: this.onInputInput, onBalChange: this.onInputChange, onBalFocus: this.onInputFocus, onBalBlur: this.onInputBlur, onBalKeyPress: this.onKeyPress, ref: el => (this.inputEl = el) }, this.inheritedAttributes)), !this.freeSolo ? (h("bal-icon", { name: "date", role: "button", tabindex: -1, class: Object.assign(Object.assign({}, blockIcon.class()), blockIcon.modifier('clickable').class(!this.disabled && !this.readonly)), "is-right": true, color: this.disabled || this.readonly ? 'grey' : this.invalid ? 'danger' : 'primary', onClick: this.onIconClick, "aria-label": i18nBalDate[this.language].toggleDatepicker, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? 'true' : 'false' })) : ('')), h("div", { key: 'a693f4ce01308178268a00e31ef08a052d1972b2', role: "dialog", class: Object.assign(Object.assign({}, blockPopup.class()), blockPopup.modifier('visible').class(this.isExpanded)), ref: el => (this.floatingEl = el), "aria-hidden": `${this.isExpanded !== true}`, "aria-presented": `${this.isExpanded === true}` }, h("bal-date-calendar", { key: '8ac00879f736c54cb7662cd9811c44cdc80859ff', value: this.calendarValue, min: this.min, max: this.max, minYearProp: this.minYearProp, maxYearProp: this.maxYearProp, defaultDate: this.defaultDate, allowedDates: this.allowedDates, onBalChange: this.onCalendarChange }))));
|
|
291
292
|
}
|
|
292
293
|
get el() { return getElement(this); }
|
|
293
294
|
static get watchers() { return {
|