@sbb-esta/lyne-elements 1.3.0 → 1.4.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/autocomplete/autocomplete-base-element.d.ts +93 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -0
- package/autocomplete/autocomplete.d.ts +13 -86
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button.js +66 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-cell.js +28 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.js +37 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-option.js +67 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-row.js +31 -0
- package/autocomplete-grid/autocomplete-grid.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid.js +139 -0
- package/autocomplete-grid.d.ts +7 -0
- package/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid.js +6 -0
- package/autocomplete.d.ts +1 -0
- package/autocomplete.d.ts.map +1 -1
- package/autocomplete.js +162 -145
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/button/mini-button/mini-button-base-element.d.ts +9 -0
- package/button/mini-button/mini-button-base-element.d.ts.map +1 -0
- package/button/mini-button/mini-button.d.ts +3 -4
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button.d.ts +1 -0
- package/button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +23 -13
- package/checkbox/checkbox.js +18 -18
- package/checkbox/common.js +13 -13
- package/container/container.js +3 -3
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins.js +3 -1
- package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/core/overlay.js +2 -2
- package/core/styles/core.scss +1 -0
- package/core/styles/mixins/buttons.scss +13 -8
- package/core/styles/mixins/helpers.scss +1 -0
- package/core/styles/mixins/pearl-chain-bullet.scss +1 -1
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
- package/core.css +3 -1
- package/custom-elements.json +13897 -9149
- package/datepicker/datepicker-next-day.js +12 -12
- package/datepicker/datepicker-previous-day.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +93 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -0
- package/development/autocomplete/autocomplete.d.ts +13 -86
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.js +224 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.js +67 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +45 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.js +174 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.js +143 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid.js +185 -0
- package/development/autocomplete-grid.d.ts +7 -0
- package/development/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid.js +7 -0
- package/development/autocomplete.d.ts +1 -0
- package/development/autocomplete.d.ts.map +1 -1
- package/development/autocomplete.js +168 -143
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +1 -1
- package/development/button/mini-button/mini-button-base-element.d.ts +9 -0
- package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -0
- package/development/button/mini-button/mini-button.d.ts +3 -4
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.d.ts +1 -0
- package/development/button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +32 -16
- package/development/checkbox/checkbox.js +7 -1
- package/development/checkbox/common.js +1 -3
- package/development/container/container.js +2 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +4 -2
- package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/development/core/overlay.js +3 -3
- package/development/datepicker/datepicker-next-day.js +8 -7
- package/development/datepicker/datepicker-previous-day.js +8 -7
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +8 -7
- package/development/form-field/form-field.js +3 -3
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +1 -1
- package/development/image/image.d.ts +1 -0
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +10 -4
- package/development/map-container.js +12 -14
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +1 -1
- package/development/option/optgroup/optgroup-base-element.d.ts +28 -0
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -0
- package/development/option/optgroup/optgroup.d.ts +7 -20
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.d.ts +1 -0
- package/development/option/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +74 -49
- package/development/option/option/option-base-element.d.ts +69 -0
- package/development/option/option/option-base-element.d.ts.map +1 -0
- package/development/option/option/option.d.ts +14 -57
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.d.ts +1 -0
- package/development/option/option.d.ts.map +1 -1
- package/development/option/option.js +267 -220
- package/development/radio-button/common/radio-button-common.d.ts +1 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +13 -12
- package/development/radio-button/radio-button/radio-button.d.ts +7 -0
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +16 -2
- package/development/radio-button/radio-button.js +16 -2
- package/development/skiplink-list/skiplink-list.d.ts +1 -0
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +1 -1
- package/development/tabs/tab-group.js +2 -9
- package/development/tabs/tab.js +10 -2
- package/development/tag/tag-group.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +3 -6
- package/development/toggle/toggle.js +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +11 -11
- package/form-field/form-field.js +2 -2
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon.d.ts.map +1 -1
- package/image/image.d.ts +1 -0
- package/image/image.d.ts.map +1 -1
- package/image.js +24 -24
- package/index.d.ts +12 -0
- package/index.js +12 -0
- package/map-container.js +8 -8
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.d.ts +28 -0
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -0
- package/option/optgroup/optgroup.d.ts +7 -20
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.d.ts +1 -0
- package/option/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +80 -60
- package/option/option/option-base-element.d.ts +69 -0
- package/option/option/option-base-element.d.ts.map +1 -0
- package/option/option/option.d.ts +14 -57
- package/option/option/option.d.ts.map +1 -1
- package/option/option.d.ts +1 -0
- package/option/option.d.ts.map +1 -1
- package/option/option.js +186 -145
- package/package.json +36 -1
- package/radio-button/common/radio-button-common.d.ts +1 -1
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +6 -15
- package/radio-button/radio-button/radio-button.d.ts +7 -0
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +35 -22
- package/radio-button/radio-button.js +32 -19
- package/skiplink-list/skiplink-list.d.ts +1 -0
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/standard-theme.css +3 -1
- package/tabs/tab-group.js +19 -19
- package/tabs/tab.js +10 -10
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +22 -24
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { customElement as l } from "lit/decorators.js";
|
|
2
|
+
import { hostAttributes as d } from "../core/decorators.js";
|
|
3
|
+
import { EventEmitter as r } from "../core/eventing.js";
|
|
4
|
+
import { SbbOptionBaseElement as p } from "../option.js";
|
|
5
|
+
import { css as c } from "lit";
|
|
6
|
+
const h = c`*,:before,:after{box-sizing:border-box}:host{--sbb-option-color: var(--sbb-color-charcoal);--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);--sbb-option-icon-color: var(--sbb-color-metal);--sbb-option-border-radius: var(--sbb-border-radius-4x);--sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-option-padding-block: calc(var(--sbb-spacing-fixed-2x) + var(--sbb-border-width-2x));display:block}:host([active]){--sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x))}:host([data-negative]){--sbb-option-color: var(--sbb-color-milk);--sbb-option-icon-color: var(--sbb-color-smoke)}:host(:not([data-disable-highlight])) .sbb-option__label slot{display:none}.sbb-option{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;column-gap:var(--sbb-option-column-gap);justify-content:start;padding-block:var(--sbb-option-padding-block);padding-inline:var(--sbb-option-padding-inline);color:var(--sbb-option-color)}:host([active]) .sbb-option{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-option-border-radius)}:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{font-weight:700}@media (forced-colors: active){:host(:not(:is([disabled],[data-group-disabled]))) .sbb-option__label--highlight{color:Highlight}}.sbb-option__icon{display:flex;min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small);color:var(--sbb-option-icon-color)}:host(:not([data-slot-names~=icon],[icon-name])) .sbb-option__icon{display:var(--sbb-option-icon-container-display, none)}`;
|
|
7
|
+
var g = Object.defineProperty, u = Object.getOwnPropertyDescriptor, m = (o, t, e, b) => {
|
|
8
|
+
for (var i = b > 1 ? void 0 : b ? u(t, e) : t, a = o.length - 1, n; a >= 0; a--)
|
|
9
|
+
(n = o[a]) && (i = (b ? n(t, e, i) : n(i)) || i);
|
|
10
|
+
return b && i && g(t, e, i), i;
|
|
11
|
+
};
|
|
12
|
+
const v = "sbb-autocomplete-grid-option";
|
|
13
|
+
let s = class extends p {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments), this.optionId = v, this.selectionChange = new r(
|
|
16
|
+
this,
|
|
17
|
+
s.events.selectionChange
|
|
18
|
+
), this.optionSelected = new r(
|
|
19
|
+
this,
|
|
20
|
+
s.events.optionSelected
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
onOptionAttributesChange(o) {
|
|
24
|
+
var t, e;
|
|
25
|
+
super.onOptionAttributesChange(o), (e = (t = this.closest) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")) == null || e.toggleAttribute(
|
|
26
|
+
"data-disabled",
|
|
27
|
+
this.disabled || this.disabledFromGroup
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
willUpdate(o) {
|
|
31
|
+
var t, e;
|
|
32
|
+
super.willUpdate(o), o.has("disabled") && ((e = (t = this.closest) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")) == null || e.toggleAttribute(
|
|
33
|
+
"data-disabled",
|
|
34
|
+
this.disabled || this.disabledFromGroup
|
|
35
|
+
), this.updateAriaDisabled());
|
|
36
|
+
}
|
|
37
|
+
setAttributeFromParent() {
|
|
38
|
+
var t;
|
|
39
|
+
const o = this.closest("sbb-autocomplete-grid-optgroup");
|
|
40
|
+
o && (this.disabledFromGroup = o.disabled, this.updateAriaDisabled()), (t = this.closest("sbb-autocomplete-grid-row")) == null || t.toggleAttribute(
|
|
41
|
+
"data-disabled",
|
|
42
|
+
this.disabled || this.disabledFromGroup
|
|
43
|
+
), this.negative = !!this.closest(":is(sbb-autocomplete-grid[negative],sbb-form-field[negative])"), this.toggleAttribute("data-negative", this.negative);
|
|
44
|
+
}
|
|
45
|
+
selectByClick(o) {
|
|
46
|
+
if (this.disabled || this.disabledFromGroup) {
|
|
47
|
+
o.stopPropagation();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.setSelectedViaUserInteraction(!0);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
s.styles = h;
|
|
54
|
+
s.events = {
|
|
55
|
+
selectionChange: "autocompleteOptionSelectionChange",
|
|
56
|
+
optionSelected: "autocompleteOptionSelected"
|
|
57
|
+
};
|
|
58
|
+
s = m([
|
|
59
|
+
l("sbb-autocomplete-grid-option"),
|
|
60
|
+
d({
|
|
61
|
+
role: "gridcell"
|
|
62
|
+
})
|
|
63
|
+
], s);
|
|
64
|
+
export {
|
|
65
|
+
s as SbbAutocompleteGridOptionElement,
|
|
66
|
+
v as autocompleteGridOptionId
|
|
67
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The component is used as a wrapper for options and action buttons.
|
|
5
|
+
*
|
|
6
|
+
* @slot - Use the unnamed slot to add a `sbb-autocomplete-grid-option` and a `sbb-autocomplete-grid-cell` with one or more `sbb-autocomplete-grid-button`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SbbAutocompleteGridRowElement extends LitElement {
|
|
9
|
+
static styles: CSSResultGroup;
|
|
10
|
+
connectedCallback(): void;
|
|
11
|
+
protected render(): TemplateResult;
|
|
12
|
+
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'sbb-autocomplete-grid-row': SbbAutocompleteGridRowElement;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=autocomplete-grid-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AASjF;;;;GAIG;AACH,qBAIa,6BAA8B,SAAQ,UAAU;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtC,iBAAiB,IAAI,IAAI;cAKtB,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,2BAA2B,EAAE,6BAA6B,CAAC;KAC5D;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete-grid/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { css as s, LitElement as d, html as i } from "lit";
|
|
2
|
+
import { customElement as u } from "lit/decorators.js";
|
|
3
|
+
import { hostAttributes as n } from "../core/decorators.js";
|
|
4
|
+
const p = s`*,:before,:after{box-sizing:border-box}:host{--sbb-autocomplete-grid-row-color: var(--sbb-color-charcoal);--sbb-autocomplete-grid-row-background-color: inherit;--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-milk);--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-cloud);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-milk);--sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);--sbb-autocomplete-grid-row-justify-content: space-between;--sbb-autocomplete-grid-row-min-height: var(--sbb-size-button-m-min-height);--sbb-autocomplete-grid-row-cursor: pointer;--sbb-autocomplete-grid-row-border-radius: var(--sbb-border-radius-4x);--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-metal);display:block}:host([data-negative]){--sbb-autocomplete-grid-row-color: var(--sbb-color-milk);--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-smoke);--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-charcoal);--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-iron);--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-smoke);--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-charcoal);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}@media (any-hover: hover){:host(:hover:not([data-disabled])){--sbb-autocomplete-grid-row-background-color: var( --sbb-autocomplete-grid-row-background-color-hover )}}:host([data-disabled]){--sbb-autocomplete-grid-row-cursor: default}@media (forced-colors: active){:host([data-disabled]){--sbb-autocomplete-grid-row-color: GrayText}}::slotted(sbb-autocomplete-grid-option){flex:1 1 auto;margin-right:calc(-1 * var(--sbb-spacing-fixed-2x))}.sbb-autocomplete-grid-row{display:flex;align-items:center;padding-inline-end:var(--sbb-autocomplete-grid-row-padding-inline-end);justify-content:var(--sbb-autocomplete-grid-row-justify-content);gap:var(--sbb-spacing-fixed-6x);color:var(--sbb-autocomplete-grid-row-color);background-color:var(--sbb-autocomplete-grid-row-background-color);cursor:var(--sbb-autocomplete-grid-row-cursor);-webkit-tap-highlight-color:transparent;-webkit-text-fill-color:var(--sbb-autocomplete-grid-row-color)}:host([data-disabled]) .sbb-autocomplete-grid-row{position:relative;z-index:0}:host([data-disabled]) .sbb-autocomplete-grid-row:before{content:"";display:block;position:absolute;top:.375rem;right:.375rem;bottom:.375rem;left:.375rem;border:var(--sbb-border-width-1x) dashed var(--sbb-autocomplete-grid-row-disabled-border-color);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-autocomplete-grid-row-disabled-background-color);z-index:-1}@media (forced-colors: active){:host([data-disabled]) .sbb-autocomplete-grid-row:before{border-color:GrayText}}`;
|
|
5
|
+
var m = Object.defineProperty, g = Object.getOwnPropertyDescriptor, v = (c, r, t, e) => {
|
|
6
|
+
for (var o = e > 1 ? void 0 : e ? g(r, t) : r, b = c.length - 1, a; b >= 0; b--)
|
|
7
|
+
(a = c[b]) && (o = (e ? a(r, t, o) : a(o)) || o);
|
|
8
|
+
return e && o && m(r, t, o), o;
|
|
9
|
+
};
|
|
10
|
+
let w = 0, l = class extends d {
|
|
11
|
+
connectedCallback() {
|
|
12
|
+
super.connectedCallback(), this.id || (this.id = `sbb-autocomplete-grid-row-${++w}`);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
return i`
|
|
16
|
+
<span class="sbb-autocomplete-grid-row">
|
|
17
|
+
<slot></slot>
|
|
18
|
+
</span>
|
|
19
|
+
`;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
l.styles = p;
|
|
23
|
+
l = v([
|
|
24
|
+
u("sbb-autocomplete-grid-row"),
|
|
25
|
+
n({
|
|
26
|
+
role: "row"
|
|
27
|
+
})
|
|
28
|
+
], l);
|
|
29
|
+
export {
|
|
30
|
+
l as SbbAutocompleteGridRowElement
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete-grid/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { customElement as b } from "lit/decorators.js";
|
|
2
|
+
import { SbbAutocompleteBaseElement as u } from "../autocomplete.js";
|
|
3
|
+
import { getNextElementIndex as n } from "../core/a11y.js";
|
|
4
|
+
import { hostAttributes as m } from "../core/decorators.js";
|
|
5
|
+
import { getDocumentWritingMode as h, isSafari as p } from "../core/dom.js";
|
|
6
|
+
import { setAriaComboBoxAttributes as g } from "../core/overlay.js";
|
|
7
|
+
import { SbbAutocompleteGridOptionElement as l } from "./autocomplete-grid-option.js";
|
|
8
|
+
var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, I = (t, e, i, o) => {
|
|
9
|
+
for (var r = o > 1 ? void 0 : o ? f(e, i) : e, s = t.length - 1, a; s >= 0; s--)
|
|
10
|
+
(a = t[s]) && (r = (o ? a(e, i, r) : a(r)) || r);
|
|
11
|
+
return o && r && v(e, i, r), r;
|
|
12
|
+
};
|
|
13
|
+
let A = 0;
|
|
14
|
+
const d = p;
|
|
15
|
+
let c = class extends u {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++A}`, this.panelRole = "grid", this._activeItemIndex = -1, this._activeColumnIndex = 0;
|
|
18
|
+
}
|
|
19
|
+
get options() {
|
|
20
|
+
var t;
|
|
21
|
+
return Array.from(((t = this.querySelectorAll) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-option")) ?? []);
|
|
22
|
+
}
|
|
23
|
+
get _row() {
|
|
24
|
+
var t;
|
|
25
|
+
return Array.from((t = this.querySelectorAll) == null ? void 0 : t.call(this, "sbb-autocomplete-grid-row")).filter(
|
|
26
|
+
(e) => !e.hasAttribute("data-disabled")
|
|
27
|
+
) ?? [];
|
|
28
|
+
}
|
|
29
|
+
onOptionClick(t) {
|
|
30
|
+
t.target.localName !== "sbb-autocomplete-grid-option" || t.target.disabled || this.close();
|
|
31
|
+
}
|
|
32
|
+
connectedCallback() {
|
|
33
|
+
super.connectedCallback();
|
|
34
|
+
const t = this.abort.signal;
|
|
35
|
+
this.addEventListener(
|
|
36
|
+
"autocompleteOptionSelectionChange",
|
|
37
|
+
(e) => this.onOptionSelected(e),
|
|
38
|
+
{ signal: t }
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
syncNegative() {
|
|
42
|
+
var t, e;
|
|
43
|
+
(t = this.querySelectorAll) == null || t.call(
|
|
44
|
+
this,
|
|
45
|
+
"sbb-divider, sbb-autocomplete-grid-button"
|
|
46
|
+
).forEach((i) => i.negative = this.negative), (e = this.querySelectorAll) == null || e.call(
|
|
47
|
+
this,
|
|
48
|
+
"sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup"
|
|
49
|
+
).forEach((i) => i.toggleAttribute("data-negative", this.negative));
|
|
50
|
+
}
|
|
51
|
+
openedPanelKeyboardInteraction(t) {
|
|
52
|
+
if (this.state === "opened")
|
|
53
|
+
switch (t.key) {
|
|
54
|
+
case "Escape":
|
|
55
|
+
case "Tab":
|
|
56
|
+
this.close();
|
|
57
|
+
break;
|
|
58
|
+
case "Enter":
|
|
59
|
+
this.selectByKeyboard();
|
|
60
|
+
break;
|
|
61
|
+
case "ArrowDown":
|
|
62
|
+
case "ArrowUp":
|
|
63
|
+
this.setNextActiveOption(t);
|
|
64
|
+
break;
|
|
65
|
+
case "ArrowRight":
|
|
66
|
+
case "ArrowLeft":
|
|
67
|
+
this._setNextHorizontalActiveElement(t);
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Select an element on 'Enter' keypress.
|
|
73
|
+
*
|
|
74
|
+
* Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
|
|
75
|
+
* and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
|
|
76
|
+
* would always return a `SbbAutocompleteGridButtonElement`.
|
|
77
|
+
*/
|
|
78
|
+
selectByKeyboard() {
|
|
79
|
+
var t;
|
|
80
|
+
this._activeColumnIndex !== 0 ? this._row[this._activeItemIndex].querySelectorAll(
|
|
81
|
+
"sbb-autocomplete-grid-option, sbb-autocomplete-grid-button"
|
|
82
|
+
)[this._activeColumnIndex].click() : (t = this.options[this._activeItemIndex]) == null || t.setSelectedViaUserInteraction(!0);
|
|
83
|
+
}
|
|
84
|
+
setNextActiveOption(t) {
|
|
85
|
+
var r;
|
|
86
|
+
const e = this.options.filter(
|
|
87
|
+
(s) => !s.disabled && !s.hasAttribute("data-group-disabled")
|
|
88
|
+
), i = n(t, this._activeItemIndex, e.length);
|
|
89
|
+
if (isNaN(i))
|
|
90
|
+
return;
|
|
91
|
+
const o = e[i];
|
|
92
|
+
if (o.active = !0, (r = this.triggerElement) == null || r.setAttribute("aria-activedescendant", o.id), o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex !== 0)
|
|
93
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((s) => s.toggleAttribute("data-focus-visible", !1));
|
|
94
|
+
else {
|
|
95
|
+
const s = e[this._activeItemIndex];
|
|
96
|
+
s && (s.active = !1);
|
|
97
|
+
}
|
|
98
|
+
this._activeItemIndex = i, this._activeColumnIndex = 0;
|
|
99
|
+
}
|
|
100
|
+
_setNextHorizontalActiveElement(t) {
|
|
101
|
+
var s;
|
|
102
|
+
if (this._activeItemIndex < 0)
|
|
103
|
+
return;
|
|
104
|
+
const e = Array.from(
|
|
105
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button")
|
|
106
|
+
).filter((a) => !a.disabled && !a.hasAttribute("data-group-disabled")), i = n(t, this._activeColumnIndex, e.length);
|
|
107
|
+
if (isNaN(i))
|
|
108
|
+
return;
|
|
109
|
+
const o = e[i];
|
|
110
|
+
o instanceof l ? o.active = !0 : o.toggleAttribute("data-focus-visible", !0);
|
|
111
|
+
const r = e[this._activeColumnIndex];
|
|
112
|
+
r instanceof l ? r.active = !1 : r.toggleAttribute("data-focus-visible", !1), (s = this.triggerElement) == null || s.setAttribute("aria-activedescendant", o.id), o.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = i;
|
|
113
|
+
}
|
|
114
|
+
resetActiveElement() {
|
|
115
|
+
var t;
|
|
116
|
+
if (this._activeColumnIndex !== 0)
|
|
117
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => e.toggleAttribute("data-focus-visible", !1));
|
|
118
|
+
else {
|
|
119
|
+
const e = this.options.filter(
|
|
120
|
+
(i) => !i.disabled && !i.hasAttribute("data-group-disabled")
|
|
121
|
+
)[this._activeItemIndex];
|
|
122
|
+
e && (e.active = !1);
|
|
123
|
+
}
|
|
124
|
+
this._activeItemIndex = -1, this._activeColumnIndex = 0, (t = this.triggerElement) == null || t.removeAttribute("aria-activedescendant");
|
|
125
|
+
}
|
|
126
|
+
setTriggerAttributes(t) {
|
|
127
|
+
g(t, d ? this.id : this.overlayId, !1, "grid");
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
c = I([
|
|
131
|
+
b("sbb-autocomplete-grid"),
|
|
132
|
+
m({
|
|
133
|
+
dir: h(),
|
|
134
|
+
role: d ? "grid" : null
|
|
135
|
+
})
|
|
136
|
+
], c);
|
|
137
|
+
export {
|
|
138
|
+
c as SbbAutocompleteGridElement
|
|
139
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './autocomplete-grid/autocomplete-grid.js';
|
|
2
|
+
export * from './autocomplete-grid/autocomplete-grid-button.js';
|
|
3
|
+
export * from './autocomplete-grid/autocomplete-grid-cell.js';
|
|
4
|
+
export * from './autocomplete-grid/autocomplete-grid-optgroup.js';
|
|
5
|
+
export * from './autocomplete-grid/autocomplete-grid-option.js';
|
|
6
|
+
export * from './autocomplete-grid/autocomplete-grid-row.js';
|
|
7
|
+
//# sourceMappingURL=autocomplete-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./autocomplete-grid/autocomplete-grid.js";
|
|
2
|
+
export * from "./autocomplete-grid/autocomplete-grid-button.js";
|
|
3
|
+
export * from "./autocomplete-grid/autocomplete-grid-cell.js";
|
|
4
|
+
export * from "./autocomplete-grid/autocomplete-grid-optgroup.js";
|
|
5
|
+
export * from "./autocomplete-grid/autocomplete-grid-option.js";
|
|
6
|
+
export * from "./autocomplete-grid/autocomplete-grid-row.js";
|
package/autocomplete.d.ts
CHANGED
package/autocomplete.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC"}
|