@vonage/vivid 3.43.0 → 3.45.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 +94 -0
- package/custom-elements.json +793 -352
- package/index.js +3 -2
- package/lib/alert/alert.d.ts +2 -0
- package/lib/appearance-ui/appearance-ui.d.ts +12 -0
- package/lib/appearance-ui/appearance-ui.template.d.ts +4 -0
- package/lib/appearance-ui/definition.d.ts +3 -0
- package/lib/data-grid/data-grid-cell.d.ts +1 -0
- package/lib/data-grid/data-grid.d.ts +2 -0
- package/lib/dialog/dialog.d.ts +1 -4
- package/lib/enums.d.ts +3 -0
- package/lib/menu/menu.d.ts +6 -5
- package/lib/menu-item/definition.d.ts +1 -0
- 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/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 +96 -44
- package/shared/definition2.js +1 -1
- package/shared/definition20.js +16 -2
- package/shared/definition21.js +1 -1
- package/shared/definition22.js +1 -1
- package/shared/definition23.js +1 -1
- package/shared/definition24.js +1 -1
- package/shared/definition25.js +1 -1
- package/shared/definition28.js +42 -47
- package/shared/definition29.js +12 -4
- 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 +3 -3
- 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 +10 -6
- 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 +3 -3
- package/shared/definition53.js +2 -2
- 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 +2 -2
- package/shared/text-field.js +1 -1
- package/style.css +835 -144
- 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 +61 -0
package/shared/definition17.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
5
|
import { e as elements, s as slotted } from './slotted.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 Mon,
|
|
913
|
+
const dataGridRowStyles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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 Mon,
|
|
915
|
+
const dataGridCellStyles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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,29 @@ 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
|
+
};
|
|
1007
1061
|
}
|
|
1008
1062
|
get #selectedRows() {
|
|
1009
1063
|
return this.rowElements.filter((row) => row.getAttribute("aria-selected") === "true");
|
|
@@ -1026,6 +1080,15 @@ class DataGrid extends DataGrid$1 {
|
|
|
1026
1080
|
#handleClick;
|
|
1027
1081
|
#handleCellSelection;
|
|
1028
1082
|
#handleRowSelection;
|
|
1083
|
+
#changeHandler;
|
|
1084
|
+
connectedCallback() {
|
|
1085
|
+
super.connectedCallback();
|
|
1086
|
+
Observable.getNotifier(this).subscribe(this.#changeHandler, "columnDefinitions");
|
|
1087
|
+
}
|
|
1088
|
+
disconnectedCallback() {
|
|
1089
|
+
super.disconnectedCallback();
|
|
1090
|
+
Observable.getNotifier(this).unsubscribe(this.#changeHandler, "columnDefinitions");
|
|
1091
|
+
}
|
|
1029
1092
|
#setSelectedState;
|
|
1030
1093
|
#resetSelection;
|
|
1031
1094
|
#initSelections;
|
|
@@ -1063,28 +1126,6 @@ __decorateClass$1([
|
|
|
1063
1126
|
attr({ attribute: "aria-selected" })
|
|
1064
1127
|
], DataGridRow.prototype, "ariaSelected", 2);
|
|
1065
1128
|
|
|
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
1129
|
function createRowItemTemplate(context) {
|
|
1089
1130
|
const rowTag = context.tagFor(DataGridRow);
|
|
1090
1131
|
return html`
|
|
@@ -1102,7 +1143,7 @@ function setHeaderRow(x) {
|
|
|
1102
1143
|
if (x.columnDefinitions === null) {
|
|
1103
1144
|
const headerRow = x.querySelector('[cell-type="columnheader"]')?.parentElement;
|
|
1104
1145
|
if (headerRow) {
|
|
1105
|
-
const rowType = x.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader :
|
|
1146
|
+
const rowType = x.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader : DataGridRowTypes.header;
|
|
1106
1147
|
headerRow.setAttribute("row-type", rowType);
|
|
1107
1148
|
}
|
|
1108
1149
|
}
|
|
@@ -1173,6 +1214,31 @@ class DataGridCell extends DataGridCell$1 {
|
|
|
1173
1214
|
super.handleFocusout(e);
|
|
1174
1215
|
this.shadowRoot.querySelector(".base").classList.remove("active");
|
|
1175
1216
|
}
|
|
1217
|
+
#getColumnDataKey() {
|
|
1218
|
+
return this.columnDefinition && this.columnDefinition.columnDataKey ? this.columnDefinition.columnDataKey : this.textContent.trim();
|
|
1219
|
+
}
|
|
1220
|
+
/**
|
|
1221
|
+
* @internal
|
|
1222
|
+
*/
|
|
1223
|
+
_handleInteraction() {
|
|
1224
|
+
const isHeaderCell = this.cellType === "columnheader";
|
|
1225
|
+
const isSortable = isHeaderCell && this.ariaSort !== null;
|
|
1226
|
+
if (isSortable) {
|
|
1227
|
+
this.$emit("sort", {
|
|
1228
|
+
columnDataKey: this.#getColumnDataKey(),
|
|
1229
|
+
sortDirection: this.ariaSort
|
|
1230
|
+
});
|
|
1231
|
+
}
|
|
1232
|
+
const hasInternalFocusQueue = isHeaderCell ? this.columnDefinition?.headerCellInternalFocusQueue : this.columnDefinition?.cellInternalFocusQueue;
|
|
1233
|
+
if (!hasInternalFocusQueue) {
|
|
1234
|
+
this.$emit("cell-click", {
|
|
1235
|
+
cell: this,
|
|
1236
|
+
row: this.parentElement,
|
|
1237
|
+
isHeaderCell,
|
|
1238
|
+
columnDataKey: this.#getColumnDataKey()
|
|
1239
|
+
});
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1176
1242
|
}
|
|
1177
1243
|
__decorateClass([
|
|
1178
1244
|
attr({ attribute: "aria-selected", mode: "fromView" })
|
|
@@ -1243,23 +1309,9 @@ function renderSortIcons(c) {
|
|
|
1243
1309
|
`)}
|
|
1244
1310
|
`;
|
|
1245
1311
|
}
|
|
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
1312
|
function handleKeyDown(x, e) {
|
|
1261
|
-
if (
|
|
1262
|
-
|
|
1313
|
+
if (e.key === keyEnter$1 || e.key === keySpace) {
|
|
1314
|
+
x._handleInteraction();
|
|
1263
1315
|
}
|
|
1264
1316
|
return true;
|
|
1265
1317
|
}
|
|
@@ -1269,7 +1321,7 @@ function DataGridCellTemplate(context) {
|
|
|
1269
1321
|
<template
|
|
1270
1322
|
tabindex="-1"
|
|
1271
1323
|
role="${(x) => DataGridCellRole[x.cellType] ?? DataGridCellRole.default}"
|
|
1272
|
-
@click="${
|
|
1324
|
+
@click="${(x) => x._handleInteraction()}"
|
|
1273
1325
|
@keydown="${(x, c) => handleKeyDown(x, c.event)}"
|
|
1274
1326
|
>
|
|
1275
1327
|
<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 Mon,
|
|
189
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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
|
@@ -7,13 +7,14 @@ import './index2.js';
|
|
|
7
7
|
import { L as Localized } from './localized.js';
|
|
8
8
|
import { a as applyMixins } from './apply-mixins.js';
|
|
9
9
|
import { I as Icon } from './icon.js';
|
|
10
|
+
import { f as focusTemplateFactory } from './focus2.js';
|
|
10
11
|
import { w as when } from './when.js';
|
|
11
12
|
import { s as slotted } from './slotted.js';
|
|
12
13
|
import { c as classNames } from './class-names.js';
|
|
13
14
|
|
|
14
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}";
|
|
15
16
|
|
|
16
|
-
const styles = "/**\n * Do not edit directly\n * Generated on Mon,
|
|
17
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 GMT\n */\n.base {\n box-sizing: border-box;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 6px;\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}";
|
|
17
18
|
|
|
18
19
|
var __defProp = Object.defineProperty;
|
|
19
20
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -41,9 +42,10 @@ class Dialog extends FoundationElement {
|
|
|
41
42
|
this.fullWidthBody = false;
|
|
42
43
|
this.ariaLabel = null;
|
|
43
44
|
this.dismissButtonAriaLabel = null;
|
|
45
|
+
this.noLightDismiss = false;
|
|
44
46
|
this.#modal = false;
|
|
45
47
|
this.#handleScrimClick = (event) => {
|
|
46
|
-
if (event.target !== this.#dialog) {
|
|
48
|
+
if (event.target !== this.#dialog || this.noLightDismiss) {
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
49
51
|
const rect = this.#dialog.getBoundingClientRect();
|
|
@@ -64,6 +66,9 @@ class Dialog extends FoundationElement {
|
|
|
64
66
|
get returnValue() {
|
|
65
67
|
return this.#dialog?.returnValue;
|
|
66
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
67
72
|
get modal() {
|
|
68
73
|
return this.#modal;
|
|
69
74
|
}
|
|
@@ -80,6 +85,9 @@ class Dialog extends FoundationElement {
|
|
|
80
85
|
}
|
|
81
86
|
return this.#dialogElement;
|
|
82
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
83
91
|
openChanged(oldValue, newValue) {
|
|
84
92
|
if (oldValue === void 0) {
|
|
85
93
|
return;
|
|
@@ -151,6 +159,9 @@ __decorateClass([
|
|
|
151
159
|
__decorateClass([
|
|
152
160
|
attr({ attribute: "dismiss-button-aria-label" })
|
|
153
161
|
], Dialog.prototype, "dismissButtonAriaLabel", 2);
|
|
162
|
+
__decorateClass([
|
|
163
|
+
attr({ attribute: "no-light-dismiss", mode: "boolean" })
|
|
164
|
+
], Dialog.prototype, "noLightDismiss", 2);
|
|
154
165
|
__decorateClass([
|
|
155
166
|
observable
|
|
156
167
|
], Dialog.prototype, "bodySlottedContent", 2);
|
|
@@ -215,13 +226,16 @@ const DialogTemplate = (context) => {
|
|
|
215
226
|
const elevationTag = context.tagFor(Elevation);
|
|
216
227
|
const iconTag = context.tagFor(Icon);
|
|
217
228
|
const buttonTag = context.tagFor(Button);
|
|
229
|
+
const focusTemplate = focusTemplateFactory(context);
|
|
218
230
|
return html`
|
|
219
231
|
<${elevationTag} dp="8">
|
|
220
232
|
<dialog class="${getClasses}"
|
|
221
233
|
@keydown="${(x, c) => handleEscapeKey(x, c.event)}"
|
|
234
|
+
@cancel="${(_, c) => c.event.preventDefault()}"
|
|
222
235
|
returnValue="${(x) => x.returnValue}"
|
|
223
236
|
aria-label="${(x) => x.ariaLabel}"
|
|
224
237
|
>
|
|
238
|
+
${() => focusTemplate}
|
|
225
239
|
<slot name="main">
|
|
226
240
|
<div class="main-wrapper">
|
|
227
241
|
<div class="header ${(x) => x.subtitle ? "border" : ""}">
|
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 Mon,
|
|
54
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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 Mon,
|
|
8
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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
|
@@ -8,7 +8,7 @@ import { f as focusTemplateFactory } from './focus2.js';
|
|
|
8
8
|
import { r as ref } from './ref.js';
|
|
9
9
|
import { c as classNames } from './class-names.js';
|
|
10
10
|
|
|
11
|
-
const styles = "/**\n * Do not edit directly\n * Generated on Mon,
|
|
11
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 GMT\n */\n.control {\n position: relative;\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@supports selector(:focus-visible) {\n .control:focus-visible {\n outline: none;\n }\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}\n\n:not(:focus-visible) .focus-indicator {\n display: none;\n}\n.control:not(.connotation-accent, .connotation-cta) .focus-indicator {\n --focus-stroke-gap-color: transparent;\n}";
|
|
12
12
|
|
|
13
13
|
var __defProp = Object.defineProperty;
|
|
14
14
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
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 Mon,
|
|
16
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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: 6px;\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: 6px;\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 Mon,
|
|
5
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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 Mon,
|
|
573
|
+
const styles = "/**\n * Do not edit directly\n * Generated on Mon, 08 Jan 2024 16:06:07 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: 6px;\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,30 +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
|
-
this
|
|
664
|
-
this.#observeMissingAnchor = (anchorId) => {
|
|
665
|
-
this.#observer = new MutationObserver(() => {
|
|
666
|
-
const anchor = document.getElementById(anchorId);
|
|
667
|
-
if (anchor) {
|
|
668
|
-
this.#anchorEl = anchor;
|
|
669
|
-
this.#setupAnchor(this.#anchorEl);
|
|
670
|
-
this.#observer.disconnect();
|
|
671
|
-
this.#observer = void 0;
|
|
672
|
-
}
|
|
673
|
-
});
|
|
674
|
-
this.#observer.observe(document.body, { childList: true, subtree: true });
|
|
675
|
-
};
|
|
664
|
+
this.ariaLabel = null;
|
|
676
665
|
this.placement = "bottom";
|
|
677
|
-
this.anchor = "";
|
|
678
666
|
this.autoDismiss = false;
|
|
679
667
|
this.open = false;
|
|
680
668
|
this.#openIfClosed = () => {
|
|
681
669
|
if (!this.open)
|
|
682
670
|
DOM.queueUpdate(() => this.open = true);
|
|
683
671
|
};
|
|
672
|
+
this.#updateClickOutsideListener = () => {
|
|
673
|
+
document.removeEventListener("click", this.#closeOnClickOutside);
|
|
674
|
+
if (this.autoDismiss && this.isConnected) {
|
|
675
|
+
document.addEventListener("click", this.#closeOnClickOutside);
|
|
676
|
+
}
|
|
677
|
+
};
|
|
684
678
|
this.#closeOnClickOutside = (e) => {
|
|
685
679
|
if (!this.contains(e.target))
|
|
686
680
|
this.open = false;
|
|
@@ -695,59 +689,57 @@ class Menu extends Menu$1 {
|
|
|
695
689
|
handleFocusOut(e);
|
|
696
690
|
};
|
|
697
691
|
}
|
|
698
|
-
|
|
699
|
-
#anchorEl;
|
|
700
|
-
#observeMissingAnchor;
|
|
701
|
-
anchorChanged(_, newValue) {
|
|
702
|
-
if (this.#anchorEl)
|
|
703
|
-
this.#cleanupAnchor(this.#anchorEl);
|
|
704
|
-
this.#observer?.disconnect();
|
|
705
|
-
this.#anchorEl = newValue instanceof HTMLElement ? newValue : document.getElementById(newValue);
|
|
706
|
-
if (this.#anchorEl) {
|
|
707
|
-
this.#setupAnchor(this.#anchorEl);
|
|
708
|
-
} else {
|
|
709
|
-
this.#observeMissingAnchor(newValue);
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
autoDismissChanged(oldValue, newValue) {
|
|
692
|
+
autoDismissChanged(oldValue) {
|
|
713
693
|
if (oldValue === void 0)
|
|
714
694
|
return;
|
|
715
|
-
|
|
716
|
-
document.addEventListener("click", this.#closeOnClickOutside);
|
|
717
|
-
} else {
|
|
718
|
-
document.removeEventListener("click", this.#closeOnClickOutside);
|
|
719
|
-
}
|
|
695
|
+
this.#updateClickOutsideListener();
|
|
720
696
|
}
|
|
721
697
|
openChanged(_, newValue) {
|
|
722
698
|
newValue ? this.$emit("open", void 0, { bubbles: false }) : this.$emit("close", void 0, { bubbles: false });
|
|
723
|
-
if (this
|
|
724
|
-
this.#
|
|
699
|
+
if (this._anchorEl) {
|
|
700
|
+
this.#updateAnchor(this._anchorEl);
|
|
725
701
|
}
|
|
726
702
|
}
|
|
703
|
+
connectedCallback() {
|
|
704
|
+
super.connectedCallback();
|
|
705
|
+
this.#updateClickOutsideListener();
|
|
706
|
+
}
|
|
727
707
|
disconnectedCallback() {
|
|
728
708
|
super.disconnectedCallback();
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
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);
|
|
733
719
|
}
|
|
734
720
|
#setupAnchor(a) {
|
|
735
721
|
a.addEventListener("click", this.#openIfClosed, true);
|
|
736
722
|
a.setAttribute("aria-haspopup", "menu");
|
|
723
|
+
this.#updateAnchor(a);
|
|
724
|
+
}
|
|
725
|
+
#updateAnchor(a) {
|
|
726
|
+
a.setAttribute("aria-expanded", this.open.toString());
|
|
737
727
|
}
|
|
738
728
|
#cleanupAnchor(a) {
|
|
739
729
|
a.removeEventListener("click", this.#openIfClosed, true);
|
|
740
730
|
a.removeAttribute("aria-hasPopup");
|
|
731
|
+
a.removeAttribute("aria-expanded");
|
|
741
732
|
}
|
|
742
733
|
#openIfClosed;
|
|
734
|
+
#updateClickOutsideListener;
|
|
743
735
|
#closeOnClickOutside;
|
|
744
|
-
}
|
|
736
|
+
};
|
|
745
737
|
__decorateClass([
|
|
746
|
-
attr({
|
|
747
|
-
], Menu.prototype, "
|
|
738
|
+
attr({ attribute: "aria-label" })
|
|
739
|
+
], Menu.prototype, "ariaLabel", 2);
|
|
748
740
|
__decorateClass([
|
|
749
741
|
attr({ mode: "fromView" })
|
|
750
|
-
], Menu.prototype, "
|
|
742
|
+
], Menu.prototype, "placement", 2);
|
|
751
743
|
__decorateClass([
|
|
752
744
|
attr({ mode: "boolean", attribute: "auto-dismiss" })
|
|
753
745
|
], Menu.prototype, "autoDismiss", 2);
|
|
@@ -760,6 +752,9 @@ __decorateClass([
|
|
|
760
752
|
__decorateClass([
|
|
761
753
|
observable
|
|
762
754
|
], Menu.prototype, "actionItemsSlottedContent", 2);
|
|
755
|
+
Menu = __decorateClass([
|
|
756
|
+
anchored
|
|
757
|
+
], Menu);
|
|
763
758
|
|
|
764
759
|
const getIndicatorIcon = (x) => {
|
|
765
760
|
if (x.checkedAppearance === CheckAppearance.TickOnly) {
|
|
@@ -845,4 +840,4 @@ const menuItemDefinition = MenuItem.compose({
|
|
|
845
840
|
const menuItemRegistries = [menuItemDefinition(), ...iconRegistries, ...focusRegistries];
|
|
846
841
|
const registerMenuItem = registerFactory(menuItemRegistries);
|
|
847
842
|
|
|
848
|
-
export {
|
|
843
|
+
export { MenuItemRole as M, menuItemRegistries as a, Menu as b, menuItemDefinition as m, registerMenuItem as r };
|