@vonage/vivid 3.44.0 → 3.46.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/README.md +399 -165
- package/appearance-ui/index.js +1 -1
- package/custom-elements.json +133 -248
- package/fab/index.js +0 -1
- package/index.js +2 -1
- package/lib/alert/alert.d.ts +2 -0
- package/lib/data-grid/data-grid-cell.d.ts +1 -0
- package/lib/data-grid/data-grid.d.ts +2 -0
- package/lib/enums.d.ts +3 -0
- package/lib/menu/menu.d.ts +5 -5
- package/lib/popup/popup.d.ts +2 -2
- package/lib/select/select.d.ts +0 -3
- package/lib/tabs/tabs.d.ts +3 -1
- package/lib/text-area/text-area.d.ts +2 -2
- package/lib/toggletip/toggletip.d.ts +4 -4
- package/lib/tooltip/tooltip.d.ts +4 -5
- package/listbox/index.js +1 -1
- package/menu/index.js +1 -0
- package/menu-item/index.js +1 -0
- package/package.json +1 -1
- package/shared/anchored.js +76 -0
- package/shared/definition.js +1 -1
- package/shared/definition11.js +1 -1
- package/shared/definition12.js +1 -1
- package/shared/definition13.js +1 -1
- package/shared/definition14.js +1 -1
- package/shared/definition15.js +1 -1
- package/shared/definition16.js +1 -1
- package/shared/definition17.js +112 -49
- package/shared/definition2.js +1 -1
- package/shared/definition20.js +2 -2
- package/shared/definition21.js +1 -1
- package/shared/definition22.js +1 -1
- package/shared/definition23.js +1 -4
- package/shared/definition24.js +1 -1
- package/shared/definition25.js +1 -1
- package/shared/definition28.js +37 -46
- package/shared/definition29.js +2 -2
- package/shared/definition3.js +1 -1
- package/shared/definition30.js +1 -1
- package/shared/definition31.js +1 -1
- package/shared/definition33.js +1 -1
- package/shared/definition34.js +1 -1
- package/shared/definition35.js +1 -1
- package/shared/definition36.js +1 -1
- package/shared/definition37.js +1 -1
- package/shared/definition38.js +1 -1
- package/shared/definition39.js +1 -1
- package/shared/definition4.js +10 -6
- package/shared/definition40.js +1 -1
- package/shared/definition41.js +6 -4
- package/shared/definition42.js +1 -1
- package/shared/definition43.js +1 -1
- package/shared/definition44.js +1 -1
- package/shared/definition45.js +20 -9
- package/shared/definition46.js +1 -1
- package/shared/definition48.js +1 -1
- package/shared/definition49.js +8 -3
- package/shared/definition5.js +1 -1
- package/shared/definition51.js +1 -1
- package/shared/definition52.js +1 -1
- package/shared/definition54.js +37 -45
- package/shared/definition55.js +42 -58
- package/shared/definition56.js +1 -1
- package/shared/definition58.js +1 -1
- package/shared/definition6.js +1 -1
- package/shared/definition60.js +108 -12
- package/shared/definition7.js +1 -1
- package/shared/definition8.js +2 -3
- package/shared/definition9.js +1 -1
- package/shared/enums.js +5 -1
- package/shared/form-associated.js +1 -0
- package/shared/index2.js +1 -1
- package/shared/patterns/anchored.d.ts +22 -0
- package/shared/presentationDate.js +1 -1
- package/shared/text-field.js +1 -1
- package/style.css +162 -135
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/toggletip/index.js +1 -0
- package/tooltip/index.js +1 -0
- package/vivid.api.json +38 -0
package/shared/definition17.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as iconRegistries } from './definition26.js';
|
|
2
|
-
import { F as FoundationElement, _ as __decorate, a as attr, o as observable, D as DOM, h as html, r as registerFactory } from './index.js';
|
|
2
|
+
import { F as FoundationElement, _ as __decorate, a as attr, o as observable, D as DOM, h as html, O as Observable, r as registerFactory } from './index.js';
|
|
3
3
|
import { d as keyEnd, g as keyHome, h as keyArrowRight, i as keyArrowLeft, j as keyPageDown, l as keyPageUp, f as keyArrowDown, e as keyArrowUp, b as keyEscape, m as keyFunction2, k as keyEnter } from './key-codes.js';
|
|
4
4
|
import { R as RepeatDirective } from './repeat.js';
|
|
5
|
-
import {
|
|
5
|
+
import { s as slotted, e as elements } from './slotted.js';
|
|
6
6
|
import { c as children } from './children.js';
|
|
7
7
|
import { I as Icon } from './icon.js';
|
|
8
8
|
import { f as focusTemplateFactory } from './focus2.js';
|
|
@@ -908,11 +908,33 @@ __decorate([
|
|
|
908
908
|
observable
|
|
909
909
|
], DataGridCell$1.prototype, "columnDefinition", void 0);
|
|
910
910
|
|
|
911
|
-
const dataGridStyles = ":host {\n display: block;\n}\n\n:host([generate-header=sticky]) {\n max-block-size: 400px;\n}\n\n.base {\n position: relative;\n overflow: auto;\n block-size: inherit;\n inline-size: 100%;\n max-block-size: inherit;\n}
|
|
911
|
+
const dataGridStyles = ":host {\n display: block;\n}\n\n:host([generate-header=sticky]) {\n max-block-size: 400px;\n}\n\n.base {\n position: relative;\n overflow: auto;\n block-size: inherit;\n inline-size: 100%;\n max-block-size: inherit;\n}";
|
|
912
912
|
|
|
913
|
-
const dataGridRowStyles = "/**\n * Do not edit directly\n * Generated on
|
|
913
|
+
const dataGridRowStyles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.base {\n display: grid;\n width: 100%;\n box-sizing: border-box;\n color: var(--vvd-color-canvas-text);\n}\n.base.connotation-cta {\n /* @cssprop [--vvd-data-grid-row-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-data-grid-row-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-data-grid-row-cta-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-data-grid-row-cta-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-data-grid-row-cta-primary-increment=var(--vvd-color-cta-600)] */\n --_connotation-color-primary-increment: var(--vvd-data-grid-row-cta-primary-increment, var(--vvd-color-cta-600));\n /* @cssprop [--vvd-data-grid-row-cta-faint=var(--vvd-color-cta-50)] */\n --_connotation-color-faint: var(--vvd-data-grid-row-cta-faint, var(--vvd-color-cta-50));\n /* @cssprop [--vvd-data-grid-row-cta-pale=var(--vvd-color-cta-300)] */\n --_connotation-color-pale: var(--vvd-data-grid-row-cta-pale, var(--vvd-color-cta-300));\n /* @cssprop [--vvd-data-grid-row-cta-dim=var(--vvd-color-cta-200)] */\n --_connotation-color-dim: var(--vvd-data-grid-row-cta-dim, var(--vvd-color-cta-200));\n}\n.base:not(.connotation-cta) {\n /* @cssprop [--vvd-data-grid-row-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-data-grid-row-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-data-grid-row-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-data-grid-row-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-data-grid-row-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-data-grid-row-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-data-grid-row-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-data-grid-row-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-data-grid-row-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-data-grid-row-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-data-grid-row-accent-dim=var(--vvd-color-neutral-200)] */\n --_connotation-color-dim: var(--vvd-data-grid-row-accent-dim, var(--vvd-color-neutral-200));\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-dim);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n:host([row-type=sticky-header]) .base {\n position: sticky;\n z-index: 9;\n top: 0;\n background: var(--data-grid-row-background, var(--vvd-color-canvas));\n}\n:host([row-type=hidden-header]) .base {\n display: none;\n}\n:host(:is([aria-selected]):not([row-type*=header])) .base {\n background-color: var(--_appearance-color-fill);\n}";
|
|
914
914
|
|
|
915
|
-
const dataGridCellStyles = "/**\n * Do not edit directly\n * Generated on
|
|
915
|
+
const dataGridCellStyles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n:host {\n min-inline-size: 80px;\n}\n\n:host(:focus-visible) {\n outline: none;\n}\n\n.base {\n position: relative;\n display: flex;\n box-sizing: border-box;\n align-items: center;\n padding: 8px 12px;\n border-bottom: 1px solid var(--vvd-color-neutral-300);\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8));\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n}\n.base.connotation-cta {\n /* @cssprop [--vvd-data-grid-cell-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-data-grid-cell-cta-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-data-grid-cell-cta-primary-increment=var(--vvd-color-cta-600)] */\n --_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));\n /* @cssprop [--vvd-data-grid-cell-cta-faint=var(--vvd-color-cta-50)] */\n --_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));\n /* @cssprop [--vvd-data-grid-cell-cta-pale=var(--vvd-color-cta-300)] */\n --_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));\n /* @cssprop [--vvd-data-grid-cell-cta-dim=var(--vvd-color-cta-200)] */\n --_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200));\n}\n.base:not(.connotation-cta) {\n /* @cssprop [--vvd-data-grid-cell-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-data-grid-cell-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-data-grid-cell-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-data-grid-cell-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-data-grid-cell-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-data-grid-cell-accent-dim=var(--vvd-color-neutral-200)] */\n --_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200));\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-dim);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n:host([cell-type=columnheader]) .base {\n border-color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base-bold);\n}\n:host(:is([aria-selected]):not([cell-type=columnheader])) .base {\n background-color: var(--_appearance-color-fill);\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n:host(:not(:focus)) .base > .focus-indicator {\n display: none;\n}\n\nslot {\n display: block;\n overflow: hidden;\n inline-size: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.header-icon {\n margin-inline-start: auto;\n}";
|
|
916
|
+
|
|
917
|
+
const DataGridCellSortStates = {
|
|
918
|
+
none: "none",
|
|
919
|
+
ascending: "ascending",
|
|
920
|
+
descending: "descending",
|
|
921
|
+
other: "other"
|
|
922
|
+
};
|
|
923
|
+
const GenerateHeaderOptions = {
|
|
924
|
+
none: "none",
|
|
925
|
+
default: "default",
|
|
926
|
+
sticky: "sticky"
|
|
927
|
+
};
|
|
928
|
+
const DataGridRowTypes = {
|
|
929
|
+
default: "default",
|
|
930
|
+
header: "header",
|
|
931
|
+
stickyHeader: "sticky-header"
|
|
932
|
+
};
|
|
933
|
+
const DataGridCellRole = {
|
|
934
|
+
columnheader: "columnheader",
|
|
935
|
+
rowheader: "rowheader",
|
|
936
|
+
default: "gridcell"
|
|
937
|
+
};
|
|
916
938
|
|
|
917
939
|
var __defProp$2 = Object.defineProperty;
|
|
918
940
|
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
@@ -971,6 +993,15 @@ class DataGrid extends DataGrid$1 {
|
|
|
971
993
|
this.#setSelectedState(row, !cacheTargetSelection);
|
|
972
994
|
}
|
|
973
995
|
};
|
|
996
|
+
this.#changeHandler = {
|
|
997
|
+
handleChange(dataGrid, propertyName) {
|
|
998
|
+
if (propertyName === "columnDefinitions") {
|
|
999
|
+
if (dataGrid.$fastController.isConnected) {
|
|
1000
|
+
dataGrid.toggleGeneratedHeader();
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
};
|
|
974
1005
|
this.#setSelectedState = (cell, selectedState) => {
|
|
975
1006
|
cell.setAttribute("aria-selected", selectedState.toString());
|
|
976
1007
|
};
|
|
@@ -1004,6 +1035,37 @@ class DataGrid extends DataGrid$1 {
|
|
|
1004
1035
|
};
|
|
1005
1036
|
this.addEventListener("click", this.#handleClick);
|
|
1006
1037
|
this.addEventListener("keydown", this.#handleKeypress);
|
|
1038
|
+
const privates = this;
|
|
1039
|
+
privates.toggleGeneratedHeader = () => {
|
|
1040
|
+
if (privates.generatedHeader !== null) {
|
|
1041
|
+
this.removeChild(privates.generatedHeader);
|
|
1042
|
+
privates.generatedHeader = null;
|
|
1043
|
+
}
|
|
1044
|
+
if (this.generateHeader !== GenerateHeaderOptions.none && this.columnDefinitions !== null) {
|
|
1045
|
+
const generatedHeaderElement = document.createElement(
|
|
1046
|
+
this.rowElementTag
|
|
1047
|
+
);
|
|
1048
|
+
privates.generatedHeader = generatedHeaderElement;
|
|
1049
|
+
privates.generatedHeader.columnDefinitions = this.columnDefinitions;
|
|
1050
|
+
privates.generatedHeader.gridTemplateColumns = this.gridTemplateColumns;
|
|
1051
|
+
privates.generatedHeader.rowType = this.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader : DataGridRowTypes.header;
|
|
1052
|
+
if (this.firstChild !== null || privates.rowsPlaceholder !== null) {
|
|
1053
|
+
this.insertBefore(
|
|
1054
|
+
generatedHeaderElement,
|
|
1055
|
+
this.firstChild !== null ? this.firstChild : privates.rowsPlaceholder
|
|
1056
|
+
);
|
|
1057
|
+
}
|
|
1058
|
+
return;
|
|
1059
|
+
}
|
|
1060
|
+
};
|
|
1061
|
+
}
|
|
1062
|
+
/**
|
|
1063
|
+
*
|
|
1064
|
+
*
|
|
1065
|
+
* @internal
|
|
1066
|
+
*/
|
|
1067
|
+
slottedRowElementsChanged(_oldValue, _newValue) {
|
|
1068
|
+
this.#initSelections();
|
|
1007
1069
|
}
|
|
1008
1070
|
get #selectedRows() {
|
|
1009
1071
|
return this.rowElements.filter((row) => row.getAttribute("aria-selected") === "true");
|
|
@@ -1026,6 +1088,15 @@ class DataGrid extends DataGrid$1 {
|
|
|
1026
1088
|
#handleClick;
|
|
1027
1089
|
#handleCellSelection;
|
|
1028
1090
|
#handleRowSelection;
|
|
1091
|
+
#changeHandler;
|
|
1092
|
+
connectedCallback() {
|
|
1093
|
+
super.connectedCallback();
|
|
1094
|
+
Observable.getNotifier(this).subscribe(this.#changeHandler, "columnDefinitions");
|
|
1095
|
+
}
|
|
1096
|
+
disconnectedCallback() {
|
|
1097
|
+
super.disconnectedCallback();
|
|
1098
|
+
Observable.getNotifier(this).unsubscribe(this.#changeHandler, "columnDefinitions");
|
|
1099
|
+
}
|
|
1029
1100
|
#setSelectedState;
|
|
1030
1101
|
#resetSelection;
|
|
1031
1102
|
#initSelections;
|
|
@@ -1038,6 +1109,9 @@ class DataGrid extends DataGrid$1 {
|
|
|
1038
1109
|
});
|
|
1039
1110
|
}
|
|
1040
1111
|
}
|
|
1112
|
+
__decorateClass$2([
|
|
1113
|
+
observable
|
|
1114
|
+
], DataGrid.prototype, "slottedRowElements", 2);
|
|
1041
1115
|
__decorateClass$2([
|
|
1042
1116
|
attr({ attribute: "selection-mode" })
|
|
1043
1117
|
], DataGrid.prototype, "selectionMode", 2);
|
|
@@ -1063,28 +1137,6 @@ __decorateClass$1([
|
|
|
1063
1137
|
attr({ attribute: "aria-selected" })
|
|
1064
1138
|
], DataGridRow.prototype, "ariaSelected", 2);
|
|
1065
1139
|
|
|
1066
|
-
const DataGridCellSortStates = {
|
|
1067
|
-
none: "none",
|
|
1068
|
-
ascending: "ascending",
|
|
1069
|
-
descending: "descending",
|
|
1070
|
-
other: "other"
|
|
1071
|
-
};
|
|
1072
|
-
const GenerateHeaderOptions = {
|
|
1073
|
-
none: "none",
|
|
1074
|
-
default: "default",
|
|
1075
|
-
sticky: "sticky"
|
|
1076
|
-
};
|
|
1077
|
-
const DataGridRowTypes = {
|
|
1078
|
-
default: "default",
|
|
1079
|
-
header: "header",
|
|
1080
|
-
stickyHeader: "sticky-header"
|
|
1081
|
-
};
|
|
1082
|
-
const DataGridCellRole = {
|
|
1083
|
-
columnheader: "columnheader",
|
|
1084
|
-
rowheader: "rowheader",
|
|
1085
|
-
default: "gridcell"
|
|
1086
|
-
};
|
|
1087
|
-
|
|
1088
1140
|
function createRowItemTemplate(context) {
|
|
1089
1141
|
const rowTag = context.tagFor(DataGridRow);
|
|
1090
1142
|
return html`
|
|
@@ -1102,7 +1154,7 @@ function setHeaderRow(x) {
|
|
|
1102
1154
|
if (x.columnDefinitions === null) {
|
|
1103
1155
|
const headerRow = x.querySelector('[cell-type="columnheader"]')?.parentElement;
|
|
1104
1156
|
if (headerRow) {
|
|
1105
|
-
const rowType = x.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader :
|
|
1157
|
+
const rowType = x.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader : DataGridRowTypes.header;
|
|
1106
1158
|
headerRow.setAttribute("row-type", rowType);
|
|
1107
1159
|
}
|
|
1108
1160
|
}
|
|
@@ -1126,10 +1178,10 @@ const DataGridTemplate = (context) => {
|
|
|
1126
1178
|
filter: elements("[role=row]")
|
|
1127
1179
|
})}
|
|
1128
1180
|
>
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1181
|
+
<div class="base">
|
|
1182
|
+
${setHeaderRow}
|
|
1183
|
+
<slot ${slotted("slottedRowElements")}></slot>
|
|
1184
|
+
</div>
|
|
1133
1185
|
</template>
|
|
1134
1186
|
`;
|
|
1135
1187
|
};
|
|
@@ -1173,6 +1225,31 @@ class DataGridCell extends DataGridCell$1 {
|
|
|
1173
1225
|
super.handleFocusout(e);
|
|
1174
1226
|
this.shadowRoot.querySelector(".base").classList.remove("active");
|
|
1175
1227
|
}
|
|
1228
|
+
#getColumnDataKey() {
|
|
1229
|
+
return this.columnDefinition && this.columnDefinition.columnDataKey ? this.columnDefinition.columnDataKey : this.textContent.trim();
|
|
1230
|
+
}
|
|
1231
|
+
/**
|
|
1232
|
+
* @internal
|
|
1233
|
+
*/
|
|
1234
|
+
_handleInteraction() {
|
|
1235
|
+
const isHeaderCell = this.cellType === "columnheader";
|
|
1236
|
+
const isSortable = isHeaderCell && this.ariaSort !== null;
|
|
1237
|
+
if (isSortable) {
|
|
1238
|
+
this.$emit("sort", {
|
|
1239
|
+
columnDataKey: this.#getColumnDataKey(),
|
|
1240
|
+
sortDirection: this.ariaSort
|
|
1241
|
+
});
|
|
1242
|
+
}
|
|
1243
|
+
const hasInternalFocusQueue = isHeaderCell ? this.columnDefinition?.headerCellInternalFocusQueue : this.columnDefinition?.cellInternalFocusQueue;
|
|
1244
|
+
if (!hasInternalFocusQueue) {
|
|
1245
|
+
this.$emit("cell-click", {
|
|
1246
|
+
cell: this,
|
|
1247
|
+
row: this.parentElement,
|
|
1248
|
+
isHeaderCell,
|
|
1249
|
+
columnDataKey: this.#getColumnDataKey()
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1252
|
+
}
|
|
1176
1253
|
}
|
|
1177
1254
|
__decorateClass([
|
|
1178
1255
|
attr({ attribute: "aria-selected", mode: "fromView" })
|
|
@@ -1243,23 +1320,9 @@ function renderSortIcons(c) {
|
|
|
1243
1320
|
`)}
|
|
1244
1321
|
`;
|
|
1245
1322
|
}
|
|
1246
|
-
function isSortable(x) {
|
|
1247
|
-
return x.cellType === "columnheader" && x.ariaSort !== null;
|
|
1248
|
-
}
|
|
1249
|
-
function emitSortEvent(x) {
|
|
1250
|
-
x.$emit(
|
|
1251
|
-
"sort",
|
|
1252
|
-
{ columnDataKey: x.columnDefinition && x.columnDefinition.columnDataKey ? x.columnDefinition.columnDataKey : x.textContent.trim(), sortDirection: x.ariaSort }
|
|
1253
|
-
);
|
|
1254
|
-
}
|
|
1255
|
-
function handleClick(x) {
|
|
1256
|
-
if (isSortable(x)) {
|
|
1257
|
-
emitSortEvent(x);
|
|
1258
|
-
}
|
|
1259
|
-
}
|
|
1260
1323
|
function handleKeyDown(x, e) {
|
|
1261
|
-
if (
|
|
1262
|
-
|
|
1324
|
+
if (e.key === keyEnter$1 || e.key === keySpace) {
|
|
1325
|
+
x._handleInteraction();
|
|
1263
1326
|
}
|
|
1264
1327
|
return true;
|
|
1265
1328
|
}
|
|
@@ -1269,7 +1332,7 @@ function DataGridCellTemplate(context) {
|
|
|
1269
1332
|
<template
|
|
1270
1333
|
tabindex="-1"
|
|
1271
1334
|
role="${(x) => DataGridCellRole[x.cellType] ?? DataGridCellRole.default}"
|
|
1272
|
-
@click="${
|
|
1335
|
+
@click="${(x) => x._handleInteraction()}"
|
|
1273
1336
|
@keydown="${(x, c) => handleKeyDown(x, c.event)}"
|
|
1274
1337
|
>
|
|
1275
1338
|
<div class="base">
|
package/shared/definition2.js
CHANGED
|
@@ -186,7 +186,7 @@ __decorate([
|
|
|
186
186
|
observable
|
|
187
187
|
], Accordion$1.prototype, "accordionItems", void 0);
|
|
188
188
|
|
|
189
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
189
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.base {\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n}\n\n::slotted(:not(:only-of-type)) {\n border-bottom: 1px solid var(--vvd-color-neutral-200);\n}";
|
|
190
190
|
|
|
191
191
|
class Accordion extends Accordion$1 {
|
|
192
192
|
constructor() {
|
package/shared/definition20.js
CHANGED
|
@@ -14,7 +14,7 @@ import { c as classNames } from './class-names.js';
|
|
|
14
14
|
|
|
15
15
|
const dialogPolyfillStyles = "dialog {\n position: absolute;\n left: 0; right: 0;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n width: fit-content;\n height: -moz-fit-content;\n height: -webkit-fit-content;\n height: fit-content;\n margin: auto;\n border: solid;\n padding: 1em;\n background: white;\n color: black;\n display: block;\n}\n\ndialog:not([open]) {\n display: none;\n}\n\ndialog + .backdrop {\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n background: rgba(0,0,0,0.1);\n}\n\n._dialog_overlay {\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n}\n\ndialog.fixed {\n position: fixed;\n top: 50%;\n transform: translate(0, -50%);\n}";
|
|
16
16
|
|
|
17
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
17
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.base {\n box-sizing: border-box;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 8px;\n color: var(--vvd-color-canvas-text);\n max-block-size: var(--dialog-max-block-size, calc(100vh - 64px));\n max-inline-size: var(--dialog-max-inline-size, var(--_dialog-default-max-inline-size));\n min-inline-size: var(--dialog-min-inline-size, 280px);\n}\n@media not all and (min-width: 600px) {\n .base {\n --_dialog-default-max-inline-size: 90vw;\n }\n}\n@media (min-width: 600px) {\n .base {\n --_dialog-default-max-inline-size: 560px;\n }\n}\n.base:not(.modal) {\n z-index: var(--dialog-z-index, 1);\n}\n.base.modal {\n position: fixed;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);\n}\n.base.modal::backdrop {\n background-color: var(--vvd-color-canvas-text, currentColor);\n opacity: 0.5;\n}\n.base:focus-visible {\n outline: none;\n}\n.base .focus-indicator {\n pointer-events: none;\n}\n.base:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.main-wrapper {\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n gap: 24px;\n padding-block: 24px;\n}\n.main-wrapper > * {\n box-sizing: border-box;\n}\n\n.header {\n display: grid;\n align-items: flex-start;\n justify-content: space-between;\n inline-size: 100%;\n padding-inline: 24px;\n}\n.base:not(.icon-placement-side) .header {\n grid-template-columns: 1fr auto;\n grid-template-rows: auto auto auto;\n}\n.base:not(.icon-placement-side) .header .icon {\n font-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n grid-column: 1/2;\n grid-row: 1/2;\n line-height: 1;\n margin-block-end: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16));\n}\n.base.icon-placement-side .header {\n grid-template-columns: auto 1fr auto;\n grid-template-rows: auto auto;\n}\n.base.icon-placement-side .header .icon {\n font-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 12));\n}\n.base.icon-placement-side .header ::slotted(*),\n.base.icon-placement-side .header .icon {\n grid-column: 1/2;\n grid-row: 1/-1;\n margin-inline-end: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8)) / 2);\n}\n.header.border {\n position: relative;\n}\n.header.border::after {\n position: absolute;\n bottom: -24px;\n left: 0;\n background-color: var(--vvd-color-neutral-200);\n block-size: 1px;\n content: \"\";\n inline-size: 100%;\n}\n.base.hide-body .header.border::after {\n content: none;\n}\n\n.body:not(.full-width) {\n padding-inline: 24px;\n}\n.hide-body .body {\n display: none;\n}\n\n.footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding-inline: 24px;\n}\n.hide-footer .footer {\n display: none;\n}\n.footer .actions {\n display: flex;\n align-self: flex-end;\n gap: 8px;\n}\n\n.dismiss-button {\n flex-shrink: 0;\n grid-column: -2/-1;\n grid-row: 1/-1;\n margin-block-start: -8px;\n margin-inline-end: -8px;\n margin-inline-start: 4px;\n}\n\n.headline {\n font: var(--vvd-typography-heading-4);\n}\n\n.subtitle {\n font: var(--vvd-typography-base);\n}\n\nslot[name=main] {\n display: block;\n overflow: hidden auto;\n max-width: inherit;\n max-height: inherit;\n border-radius: inherit;\n}";
|
|
18
18
|
|
|
19
19
|
var __defProp = Object.defineProperty;
|
|
20
20
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -27,7 +27,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
27
27
|
__defProp(target, key, result);
|
|
28
28
|
return result;
|
|
29
29
|
};
|
|
30
|
-
const isDialogSupported = Boolean(HTMLDialogElement && HTMLDialogElement.prototype.showModal);
|
|
30
|
+
const isDialogSupported = Boolean(window.HTMLDialogElement && window.HTMLDialogElement.prototype.showModal);
|
|
31
31
|
let dialogPolyfill;
|
|
32
32
|
(async () => {
|
|
33
33
|
if (!isDialogSupported) {
|
package/shared/definition21.js
CHANGED
|
@@ -51,7 +51,7 @@ __decorate([
|
|
|
51
51
|
attr
|
|
52
52
|
], Divider$1.prototype, "orientation", void 0);
|
|
53
53
|
|
|
54
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
54
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n:host {\n display: block;\n}\n\n.base {\n display: block;\n background-color: var(--vvd-color-neutral-200);\n}\n.base:not(.vertical) {\n block-size: 1px;\n inline-size: 100%;\n}\n.base.vertical {\n block-size: 100%;\n inline-size: 1px;\n}";
|
|
55
55
|
|
|
56
56
|
class Divider extends Divider$1 {
|
|
57
57
|
}
|
package/shared/definition22.js
CHANGED
|
@@ -5,7 +5,7 @@ import { w as when } from './when.js';
|
|
|
5
5
|
import { s as slotted } from './slotted.js';
|
|
6
6
|
import { c as classNames } from './class-names.js';
|
|
7
7
|
|
|
8
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
8
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n:host {\n display: block;\n}\n\n.base {\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n block-size: 100%;\n gap: 24px;\n}\n\n.icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--vvd-color-neutral-100);\n block-size: 120px;\n border-radius: 50%;\n inline-size: 120px;\n}\n\n.content {\n display: flex;\n flex-direction: column;\n font: var(--vvd-typography-base);\n gap: 8px;\n text-align: center;\n}\n\nheader {\n font: var(--vvd-typography-base-bold);\n}\n\n.actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n.base.no-actions .actions {\n display: none;\n}";
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
package/shared/definition23.js
CHANGED
|
@@ -4,11 +4,10 @@ import { f as focusRegistries } from './definition58.js';
|
|
|
4
4
|
import { b as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
|
|
5
5
|
import { a as applyMixins } from './apply-mixins.js';
|
|
6
6
|
import { B as Button$1 } from './button.js';
|
|
7
|
-
import { f as focusTemplateFactory } from './focus2.js';
|
|
8
7
|
import { r as ref } from './ref.js';
|
|
9
8
|
import { c as classNames } from './class-names.js';
|
|
10
9
|
|
|
11
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
10
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.control {\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n background: var(--_appearance-color-fill, var(--_elevation-fill));\n block-size: var(--_fab-block-size);\n border-radius: var(--_fab-border-radius);\n color: var(--_appearance-color-text, var(--vvd-color-canvas-text));\n column-gap: var(--fab-icon-gap);\n filter: var(--_elevation-shadow);\n font: var(--vvd-typography-base-bold);\n transition: background-color 0.15s linear, filter 0.15s linear;\n vertical-align: middle;\n /* Size */\n}\n.control.connotation-accent {\n /* @cssprop [--vvd-fab-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-fab-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-fab-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-fab-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-fab-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-fab-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-fab-accent-contrast=var(--vvd-color-neutral-800)] */\n --_connotation-color-contrast: var(--vvd-fab-accent-contrast, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-fab-accent-fierce=var(--vvd-color-neutral-700)] */\n --_connotation-color-fierce: var(--vvd-fab-accent-fierce, var(--vvd-color-neutral-700));\n /* @cssprop [--vvd-fab-accent-firm=var(--vvd-color-canvas-text)] */\n --_connotation-color-firm: var(--vvd-fab-accent-firm, var(--vvd-color-canvas-text));\n}\n.control.connotation-cta {\n /* @cssprop [--vvd-fab-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-fab-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-fab-cta-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-fab-cta-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-fab-cta-primary-increment=var(--vvd-color-cta-600)] */\n --_connotation-color-primary-increment: var(--vvd-fab-cta-primary-increment, var(--vvd-color-cta-600));\n /* @cssprop [--vvd-fab-cta-contrast=var(--vvd-color-cta-800)] */\n --_connotation-color-contrast: var(--vvd-fab-cta-contrast, var(--vvd-color-cta-800));\n /* @cssprop [--vvd-fab-cta-fierce=var(--vvd-color-cta-700)] */\n --_connotation-color-fierce: var(--vvd-fab-cta-fierce, var(--vvd-color-cta-700));\n /* @cssprop [--vvd-fab-cta-firm=var(--vvd-color-cta-600)] */\n --_connotation-color-firm: var(--vvd-fab-cta-firm, var(--vvd-color-cta-600));\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-fierce);\n --_appearance-color-outline: transparent;\n}\n.control:not(.connotation-accent, .connotation-cta) {\n --focus-stroke-gap-color: transparent;\n}\n.control:focus-visible {\n box-shadow: inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n outline: 2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));\n outline-offset: -2px;\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control.size-expanded {\n --_fab-border-radius: 40px;\n --_fab-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16));\n}\n.control:not(.size-expanded) {\n --_fab-border-radius: 24px;\n --_fab-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.control.icon-only {\n border-radius: 50%;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_fab-block-size);\n }\n}\n.control:not(.icon-only) {\n --fab-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:disabled {\n --_elevation-fill: var(--vvd-color-surface-0dp);\n --_elevation-shadow: var(--vvd-shadow-surface-0dp);\n cursor: not-allowed;\n}\n.control:not(:disabled) {\n --_elevation-fill: var(--vvd-color-surface-4dp);\n --_elevation-shadow: var(--vvd-shadow-surface-4dp);\n cursor: pointer;\n}\n.control:not(:disabled):hover {\n --_elevation-fill: var(--vvd-color-surface-12dp);\n --_elevation-shadow: var(--vvd-shadow-surface-12dp);\n}\n.control:not(:disabled):active {\n --_elevation-fill: var(--vvd-color-surface-24dp);\n --_elevation-shadow: var(--vvd-shadow-surface-24dp);\n}\n\n/* Icon */\nslot[name=icon] {\n line-height: 1;\n}\n.icon-trailing slot[name=icon] {\n display: inline-block;\n order: 1;\n}\n.control.size-extended slot[name=icon] {\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16)) / 2.3333);\n}\n.control:not(.size-extended) slot[name=icon] {\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2);\n}";
|
|
12
11
|
|
|
13
12
|
var __defProp = Object.defineProperty;
|
|
14
13
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -52,7 +51,6 @@ const getClasses = ({
|
|
|
52
51
|
);
|
|
53
52
|
const FabTemplate = (context) => {
|
|
54
53
|
const affixIconTemplate = affixIconTemplateFactory(context);
|
|
55
|
-
const focusTemplate = focusTemplateFactory(context);
|
|
56
54
|
return html`
|
|
57
55
|
<button
|
|
58
56
|
class="${getClasses} "
|
|
@@ -84,7 +82,6 @@ const FabTemplate = (context) => {
|
|
|
84
82
|
aria-roledescription="${(x) => x.ariaRoledescription}"
|
|
85
83
|
${ref("control")}
|
|
86
84
|
>
|
|
87
|
-
${() => focusTemplate}
|
|
88
85
|
${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
|
|
89
86
|
${(x) => x.label}
|
|
90
87
|
</button>
|
package/shared/definition24.js
CHANGED
|
@@ -13,7 +13,7 @@ import { w as when } from './when.js';
|
|
|
13
13
|
import { r as ref } from './ref.js';
|
|
14
14
|
import { c as classNames } from './class-names.js';
|
|
15
15
|
|
|
16
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
16
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n:host {\n display: block;\n max-inline-size: 400px;\n}\n\n.base {\n display: flex;\n flex-direction: column;\n}\n\n.control {\n position: relative;\n display: flex;\n box-sizing: border-box;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n padding: 16px;\n border: 1px dashed var(--vvd-color-neutral-400);\n background-color: var(--vvd-color-cta-50);\n border-radius: 8px;\n color: var(--vvd-color-neutral-600);\n cursor: pointer;\n font: var(--vvd-typography-base);\n gap: 8px;\n inline-size: 100%;\n min-block-size: 52px;\n outline: none;\n}\n@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\n}\n.control:not(.size-expanded) {\n min-block-size: 52px;\n}\n.control.size-expanded {\n min-block-size: 120px;\n}\n\n.main {\n pointer-events: none;\n}\n\n.dz-preview {\n display: grid;\n box-sizing: border-box;\n padding: 6px 12px;\n border-radius: 8px;\n grid-template-columns: 1fr auto;\n grid-template-rows: auto auto;\n inline-size: 100%;\n}\n.dz-preview .dz-details {\n display: flex;\n min-width: 0;\n flex-direction: column;\n max-inline-size: 100%;\n}\n.dz-preview .dz-details .dz-filename {\n overflow: hidden;\n color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dz-preview .dz-details .dz-size {\n color: var(--vvd-color-neutral-600);\n font: var(--vvd-typography-base-condensed);\n}\n.dz-preview .dz-error-message {\n color: var(--vvd-color-alert-500);\n font: var(--vvd-typography-base-condensed);\n margin-block-start: 4px;\n}\n.dz-preview:not(.dz-error) .dz-error-message {\n display: none;\n}\n.dz-preview.dz-error {\n border: 1px solid var(--vvd-color-alert-500);\n}\n.dz-preview.dz-error .dz-details .dz-size,\n.dz-preview.dz-error .dz-progress {\n display: none;\n}\n.dz-preview .remove-btn {\n display: inline;\n align-self: center;\n grid-column: 2/-1;\n grid-row: 1/-1;\n}\n\n.message {\n margin-block-start: 4px;\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n\n.preview-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-block-start: 12px;\n overflow-y: auto;\n}\n.preview-list:empty {\n display: none;\n}\n\n.control:not(:focus-visible) .focus-indicator {\n display: none;\n}";
|
|
17
17
|
|
|
18
18
|
var objectExtend = extend;
|
|
19
19
|
|
package/shared/definition25.js
CHANGED
|
@@ -2,7 +2,7 @@ import { a as attr, F as FoundationElement, h as html, r as registerFactory } fr
|
|
|
2
2
|
import { E as Elevation, e as elevationRegistries } from './definition59.js';
|
|
3
3
|
import { c as classNames } from './class-names.js';
|
|
4
4
|
|
|
5
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
5
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.base {\n z-index: 1;\n block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16)));\n font: var(--vvd-typography-heading-4);\n inline-size: 100%;\n}\n.base .header-content {\n display: inline-flex;\n align-items: center;\n column-gap: 4px;\n}\n\n.container {\n display: flex;\n box-sizing: border-box;\n justify-content: space-between;\n background-color: var(--header-bg-color, var(--vvd-color-canvas));\n block-size: inherit;\n color: var(--vvd-color-canvas-text);\n column-gap: 12px;\n padding-block: 8px;\n padding-inline: 16px;\n}\n.container[part~=vvd-theme-alternate] {\n color-scheme: var(--vvd-color-scheme);\n}\n\n.app-content {\n --vvd-header-block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16)));\n}";
|
|
6
6
|
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
8
8
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
package/shared/definition28.js
CHANGED
|
@@ -7,6 +7,7 @@ import { S as StartEnd } from './start-end.js';
|
|
|
7
7
|
import { D as Direction, g as getDirection } from './direction.js';
|
|
8
8
|
import { i as keyArrowLeft, h as keyArrowRight, a as keySpace, k as keyEnter, g as keyHome, d as keyEnd, e as keyArrowUp, f as keyArrowDown } from './key-codes.js';
|
|
9
9
|
import { I as Icon } from './icon.js';
|
|
10
|
+
import { a as anchored } from './anchored.js';
|
|
10
11
|
import { i as isHTMLElement } from './dom.js';
|
|
11
12
|
import { f as focusTemplateFactory } from './focus2.js';
|
|
12
13
|
import { s as slotted, e as elements } from './slotted.js';
|
|
@@ -569,7 +570,7 @@ __decorate([
|
|
|
569
570
|
observable
|
|
570
571
|
], Menu$1.prototype, "items", void 0);
|
|
571
572
|
|
|
572
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
573
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n@supports selector(:focus-visible) {\n :host(:focus-visible) {\n outline: none;\n }\n}\n:host([disabled]) {\n pointer-events: none;\n}\n\n.base {\n position: relative;\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n gap: 12px;\n inline-size: 100%;\n padding-block: 2px;\n padding-inline: 16px;\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-300);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-dim);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n.base {\n /* @cssprop [--vvd-menu-item-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-menu-item-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-menu-item-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-menu-item-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-menu-item-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-menu-item-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-menu-item-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-menu-item-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-menu-item-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-menu-item-accent-soft, var(--vvd-color-neutral-100));\n /* @cssprop [--vvd-menu-item-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-menu-item-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-menu-item-accent-dim=var(--vvd-color-neutral-200)] */\n --_connotation-color-dim: var(--vvd-menu-item-accent-dim, var(--vvd-color-neutral-200));\n}\n.base:not(.two-lines) {\n min-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.base.two-lines {\n min-block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16)));\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n cursor: pointer;\n}\n\n.focus-indicator {\n border-radius: 8px;\n}\n:host(:not(:focus-visible)) .focus-indicator {\n display: none;\n}\n\n.icon {\n flex-shrink: 0;\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) / 2);\n line-height: 1;\n}\n\n.action,\n.decorative {\n display: flex;\n place-content: center;\n}\n\n.action {\n color: var(--_appearance-color-text);\n}\n.base.trailing .action {\n order: 1;\n margin-inline-start: auto;\n}\n.base.has-meta .action {\n order: 1;\n margin-inline-start: auto;\n}\n\n.base:not(.disabled) .decorative {\n color: var(--vvd-color-neutral-600);\n}\n.base.disabled .decorative {\n color: var(--vvd-color-neutral-200);\n}\n.base.has-meta .decorative {\n order: 1;\n margin-inline-start: auto;\n}\n\n.chevron {\n margin-inline-start: auto;\n}\n\n.text {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n}\n\n.text-primary,\n.text-secondary {\n /* stylelint-disable value-no-vendor-prefix */\n display: -webkit-box;\n /* stylelint-enable value-no-vendor-prefix */\n overflow: hidden;\n -webkit-box-orient: vertical;\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n}\n\n.text-primary {\n -webkit-line-clamp: var(--text-primary-line-clamp, 1);\n}\n.base.two-lines .text-primary {\n font: var(--vvd-typography-base-bold);\n}\n\n.text-secondary {\n -webkit-line-clamp: var(--text-secondary-line-clamp, 1);\n}\n.base.two-lines .text-secondary {\n color: var(--vvd-color-neutral-600);\n}";
|
|
573
574
|
|
|
574
575
|
var __defProp$1 = Object.defineProperty;
|
|
575
576
|
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
@@ -657,31 +658,23 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
657
658
|
__defProp(target, key, result);
|
|
658
659
|
return result;
|
|
659
660
|
};
|
|
660
|
-
|
|
661
|
+
let Menu = class extends Menu$1 {
|
|
661
662
|
constructor() {
|
|
662
663
|
super();
|
|
663
664
|
this.ariaLabel = null;
|
|
664
|
-
this.#anchorEl = null;
|
|
665
|
-
this.#observeMissingAnchor = (anchorId) => {
|
|
666
|
-
this.#observer = new MutationObserver(() => {
|
|
667
|
-
const anchor = document.getElementById(anchorId);
|
|
668
|
-
if (anchor) {
|
|
669
|
-
this.#anchorEl = anchor;
|
|
670
|
-
this.#setupAnchor(this.#anchorEl);
|
|
671
|
-
this.#observer.disconnect();
|
|
672
|
-
this.#observer = void 0;
|
|
673
|
-
}
|
|
674
|
-
});
|
|
675
|
-
this.#observer.observe(document.body, { childList: true, subtree: true });
|
|
676
|
-
};
|
|
677
665
|
this.placement = "bottom";
|
|
678
|
-
this.anchor = "";
|
|
679
666
|
this.autoDismiss = false;
|
|
680
667
|
this.open = false;
|
|
681
668
|
this.#openIfClosed = () => {
|
|
682
669
|
if (!this.open)
|
|
683
670
|
DOM.queueUpdate(() => this.open = true);
|
|
684
671
|
};
|
|
672
|
+
this.#updateClickOutsideListener = () => {
|
|
673
|
+
document.removeEventListener("click", this.#closeOnClickOutside);
|
|
674
|
+
if (this.autoDismiss && this.isConnected) {
|
|
675
|
+
document.addEventListener("click", this.#closeOnClickOutside);
|
|
676
|
+
}
|
|
677
|
+
};
|
|
685
678
|
this.#closeOnClickOutside = (e) => {
|
|
686
679
|
if (!this.contains(e.target))
|
|
687
680
|
this.open = false;
|
|
@@ -696,62 +689,57 @@ class Menu extends Menu$1 {
|
|
|
696
689
|
handleFocusOut(e);
|
|
697
690
|
};
|
|
698
691
|
}
|
|
699
|
-
|
|
700
|
-
#anchorEl;
|
|
701
|
-
#observeMissingAnchor;
|
|
702
|
-
anchorChanged(_, newValue) {
|
|
703
|
-
if (this.#anchorEl)
|
|
704
|
-
this.#cleanupAnchor(this.#anchorEl);
|
|
705
|
-
this.#observer?.disconnect();
|
|
706
|
-
this.#anchorEl = newValue instanceof HTMLElement ? newValue : document.getElementById(newValue);
|
|
707
|
-
if (this.#anchorEl) {
|
|
708
|
-
this.#setupAnchor(this.#anchorEl);
|
|
709
|
-
} else {
|
|
710
|
-
this.#observeMissingAnchor(newValue);
|
|
711
|
-
}
|
|
712
|
-
}
|
|
713
|
-
autoDismissChanged(oldValue, newValue) {
|
|
692
|
+
autoDismissChanged(oldValue) {
|
|
714
693
|
if (oldValue === void 0)
|
|
715
694
|
return;
|
|
716
|
-
|
|
717
|
-
document.addEventListener("click", this.#closeOnClickOutside);
|
|
718
|
-
} else {
|
|
719
|
-
document.removeEventListener("click", this.#closeOnClickOutside);
|
|
720
|
-
}
|
|
695
|
+
this.#updateClickOutsideListener();
|
|
721
696
|
}
|
|
722
697
|
openChanged(_, newValue) {
|
|
723
698
|
newValue ? this.$emit("open", void 0, { bubbles: false }) : this.$emit("close", void 0, { bubbles: false });
|
|
724
|
-
if (this
|
|
725
|
-
this.#
|
|
699
|
+
if (this._anchorEl) {
|
|
700
|
+
this.#updateAnchor(this._anchorEl);
|
|
726
701
|
}
|
|
727
702
|
}
|
|
703
|
+
connectedCallback() {
|
|
704
|
+
super.connectedCallback();
|
|
705
|
+
this.#updateClickOutsideListener();
|
|
706
|
+
}
|
|
728
707
|
disconnectedCallback() {
|
|
729
708
|
super.disconnectedCallback();
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
709
|
+
this.#updateClickOutsideListener();
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* @internal
|
|
713
|
+
*/
|
|
714
|
+
_anchorElChanged(oldValue, newValue) {
|
|
715
|
+
if (oldValue)
|
|
716
|
+
this.#cleanupAnchor(oldValue);
|
|
717
|
+
if (newValue)
|
|
718
|
+
this.#setupAnchor(newValue);
|
|
734
719
|
}
|
|
735
720
|
#setupAnchor(a) {
|
|
736
721
|
a.addEventListener("click", this.#openIfClosed, true);
|
|
737
722
|
a.setAttribute("aria-haspopup", "menu");
|
|
723
|
+
this.#updateAnchor(a);
|
|
724
|
+
}
|
|
725
|
+
#updateAnchor(a) {
|
|
726
|
+
a.setAttribute("aria-expanded", this.open.toString());
|
|
738
727
|
}
|
|
739
728
|
#cleanupAnchor(a) {
|
|
740
729
|
a.removeEventListener("click", this.#openIfClosed, true);
|
|
741
730
|
a.removeAttribute("aria-hasPopup");
|
|
731
|
+
a.removeAttribute("aria-expanded");
|
|
742
732
|
}
|
|
743
733
|
#openIfClosed;
|
|
734
|
+
#updateClickOutsideListener;
|
|
744
735
|
#closeOnClickOutside;
|
|
745
|
-
}
|
|
736
|
+
};
|
|
746
737
|
__decorateClass([
|
|
747
738
|
attr({ attribute: "aria-label" })
|
|
748
739
|
], Menu.prototype, "ariaLabel", 2);
|
|
749
740
|
__decorateClass([
|
|
750
741
|
attr({ mode: "fromView" })
|
|
751
742
|
], Menu.prototype, "placement", 2);
|
|
752
|
-
__decorateClass([
|
|
753
|
-
attr({ mode: "fromView" })
|
|
754
|
-
], Menu.prototype, "anchor", 2);
|
|
755
743
|
__decorateClass([
|
|
756
744
|
attr({ mode: "boolean", attribute: "auto-dismiss" })
|
|
757
745
|
], Menu.prototype, "autoDismiss", 2);
|
|
@@ -764,6 +752,9 @@ __decorateClass([
|
|
|
764
752
|
__decorateClass([
|
|
765
753
|
observable
|
|
766
754
|
], Menu.prototype, "actionItemsSlottedContent", 2);
|
|
755
|
+
Menu = __decorateClass([
|
|
756
|
+
anchored
|
|
757
|
+
], Menu);
|
|
767
758
|
|
|
768
759
|
const getIndicatorIcon = (x) => {
|
|
769
760
|
if (x.checkedAppearance === CheckAppearance.TickOnly) {
|
package/shared/definition29.js
CHANGED
|
@@ -4,7 +4,7 @@ import { b as Menu, a as menuItemRegistries } from './definition28.js';
|
|
|
4
4
|
import { s as slotted } from './slotted.js';
|
|
5
5
|
import { c as classNames } from './class-names.js';
|
|
6
6
|
|
|
7
|
-
const styles = "/**\n * Do not edit directly\n * Generated on
|
|
7
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 15 Jan 2024 13:38:12 GMT\n */\n.base {\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n gap: 8px;\n inline-size: max-content;\n max-block-size: var(--menu-block-size, 408px);\n max-inline-size: var(--menu-max-inline-size);\n min-inline-size: var(--menu-min-inline-size);\n overflow-x: hidden;\n overflow-y: auto;\n padding-block: 8px;\n}\n\n::slotted(a) {\n color: var(--vvd-color-canvas-text);\n text-decoration: none;\n}\n\n::slotted(a[role=menuitem]:focus) {\n display: block;\n border-radius: 8px;\n box-shadow: inset 0 0 0 3px currentColor;\n outline: 2px solid currentColor;\n outline-offset: -2px;\n}\n\n.header {\n padding-block-start: 8px;\n padding-inline: 16px;\n}\n.hide-header .header {\n display: none;\n}\n\n.hide-body .body {\n display: none;\n}\n\n.action-items {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding-inline: 8px;\n}\n.hide-actions .action-items {\n display: none;\n}";
|
|
8
8
|
|
|
9
9
|
const getClasses = ({
|
|
10
10
|
headerSlottedContent,
|
|
@@ -33,7 +33,7 @@ const MenuTemplate = (context) => {
|
|
|
33
33
|
<${popupTag}
|
|
34
34
|
:placement=${(x) => x.placement}
|
|
35
35
|
:open=${(x) => x.open}
|
|
36
|
-
:anchor=${(x) => x.
|
|
36
|
+
:anchor=${(x) => x._anchorEl}
|
|
37
37
|
@keydown="${(x, c) => handleEscapeKey(x, c.event)}"
|
|
38
38
|
@vwc-popup:open="${(x, c) => handlePopupEvents(x, c.event, true)}"
|
|
39
39
|
@vwc-popup:close="${(x, c) => handlePopupEvents(x, c.event, false)}"
|