@vonage/vivid 3.13.0 → 3.15.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/accordion/index.js +1 -0
- package/accordion-item/index.js +1 -0
- package/alert/index.js +1 -0
- package/avatar/index.js +1 -0
- package/badge/index.js +1 -0
- package/banner/index.js +1 -0
- package/breadcrumb-item/index.js +1 -0
- package/button/index.js +1 -0
- package/card/index.js +1 -0
- package/checkbox/index.js +4 -0
- package/combobox/index.js +1 -0
- package/custom-elements.json +1855 -117
- package/data-grid/index.js +4 -0
- package/dialog/index.js +1 -0
- package/empty-state/index.js +14 -0
- package/fab/index.js +2 -1
- package/header/index.js +1 -1
- package/icon/index.js +1 -0
- package/index.js +34 -30
- package/layout/index.js +1 -1
- package/lib/alert/alert.d.ts +4 -6
- package/lib/checkbox/checkbox.d.ts +6 -3
- package/lib/components.d.ts +2 -0
- package/lib/data-grid/data-grid-cell.d.ts +2 -0
- package/lib/data-grid/data-grid-row.d.ts +1 -0
- package/lib/data-grid/data-grid.d.ts +5 -0
- package/lib/empty-state/definition.d.ts +3 -0
- package/lib/empty-state/empty-state.d.ts +5 -0
- package/lib/empty-state/empty-state.template.d.ts +4 -0
- package/lib/empty-state/index.d.ts +1 -0
- package/lib/select/select.d.ts +3 -2
- package/listbox/index.js +2 -1
- package/menu/index.js +4 -3
- package/menu-item/index.js +4 -1
- package/nav/index.js +1 -1
- package/nav-disclosure/index.js +2 -1
- package/nav-item/index.js +2 -1
- package/note/index.js +2 -1
- package/number-field/index.js +2 -1
- package/option/index.js +1 -0
- package/package.json +1 -1
- package/pagination/index.js +15 -312
- package/popup/index.js +1 -0
- package/progress/index.js +1 -1
- package/radio/index.js +1 -1
- package/radio-group/index.js +1 -1
- package/select/index.js +2 -1
- package/shared/definition.js +1 -1
- package/shared/definition10.js +1 -1
- package/shared/definition11.js +1 -1
- package/shared/definition12.js +1 -1
- package/shared/definition14.js +1 -1
- package/shared/definition15.js +1 -1
- package/shared/definition16.js +2 -2
- package/shared/definition17.js +1 -1
- package/shared/definition18.js +23 -8
- package/shared/definition19.js +1 -1
- package/shared/definition2.js +1 -1
- package/shared/definition20.js +1 -1
- package/shared/definition21.js +1 -1
- package/shared/definition22.js +217 -11
- package/shared/definition23.js +2 -2
- package/shared/definition24.js +1 -1
- package/shared/definition25.js +39 -76
- package/shared/definition26.js +76 -47
- package/shared/definition27.js +46 -36
- package/shared/definition28.js +39 -49
- package/shared/definition29.js +48 -344
- package/shared/definition3.js +1 -1
- package/shared/definition30.js +273 -288
- package/shared/definition31.js +366 -14
- package/shared/definition32.js +13 -67
- package/shared/definition33.js +66 -21
- package/shared/definition34.js +21 -39
- package/shared/definition35.js +31 -432
- package/shared/definition36.js +432 -76
- package/shared/definition37.js +223 -34
- package/shared/definition38.js +82 -425
- package/shared/definition39.js +30 -628
- package/shared/definition4.js +1 -1
- package/shared/definition40.js +420 -73
- package/shared/definition41.js +530 -484
- package/shared/definition42.js +76 -133
- package/shared/definition43.js +577 -40
- package/shared/definition44.js +135 -20
- package/shared/definition45.js +42 -423
- package/shared/definition46.js +22 -112
- package/shared/definition47.js +440 -18
- package/shared/definition48.js +92 -247
- package/shared/definition49.js +20 -112
- package/shared/definition5.js +1 -1
- package/shared/definition50.js +259 -590
- package/shared/definition51.js +110 -91
- package/shared/definition52.js +602 -67
- package/shared/definition53.js +89 -294
- package/shared/definition54.js +80 -0
- package/shared/definition55.js +305 -0
- package/shared/definition6.js +52 -78
- package/shared/definition7.js +1 -1
- package/shared/definition8.js +1 -1
- package/shared/definition9.js +1 -1
- package/shared/engine-is-node.js +8 -0
- package/shared/es.object.assign.js +1 -1
- package/shared/es.regexp.to-string.js +1 -1
- package/shared/es.string.includes.js +83 -0
- package/shared/form-elements.js +2 -2
- package/shared/icon.js +13 -17
- package/shared/index.js +1 -1
- package/shared/patterns/form-elements/form-elements.d.ts +4 -4
- package/shared/string-trim.js +1 -1
- package/shared/text-field.js +1 -1
- package/shared/to-string.js +1 -1
- package/side-drawer/index.js +1 -1
- package/slider/index.js +1 -1
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/fonts/spezia-variable.css +2 -2
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/switch/index.js +2 -1
- package/tab/index.js +2 -1
- package/tab-panel/index.js +1 -1
- package/tabs/index.js +4 -3
- package/tag/index.js +2 -1
- package/tag-group/index.js +1 -1
- package/text-anchor/index.js +1 -0
- package/text-area/index.js +2 -1
- package/text-field/index.js +2 -1
- package/toggletip/index.js +2 -1
- package/tooltip/index.js +2 -1
- package/tree-item/index.js +2 -1
- package/tree-view/index.js +1 -1
- package/vivid.api.json +210 -0
package/shared/definition18.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { F as FoundationElement, _ as __decorate, a as attr, o as observable,
|
|
1
|
+
import { F as FoundationElement, _ as __decorate, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { i as iconRegistries } from './definition3.js';
|
|
3
3
|
import { f as focusRegistries } from './definition4.js';
|
|
4
|
+
import './affix.js';
|
|
5
|
+
import './focus.js';
|
|
6
|
+
import { e as errorText, f as formElements, F as FormElementSuccessText, a as FormElementHelperText, g as getFeedbackTemplate } from './form-elements.js';
|
|
4
7
|
import { C as CheckableFormAssociated } from './form-associated.js';
|
|
5
8
|
import { e as keySpace$1 } from './key-codes.js';
|
|
9
|
+
import { a as applyMixins } from './apply-mixins.js';
|
|
6
10
|
import { f as focusTemplateFactory } from './focus2.js';
|
|
7
11
|
import { I as Icon } from './icon.js';
|
|
8
12
|
import { w as when } from './when.js';
|
|
@@ -94,10 +98,10 @@ __decorate([
|
|
|
94
98
|
observable
|
|
95
99
|
], Checkbox$1.prototype, "indeterminate", void 0);
|
|
96
100
|
|
|
97
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
101
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n.base {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n vertical-align: middle;\n}\n.base {\n /* @cssprop [--vvd-checkbox-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-checkbox-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-checkbox-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-checkbox-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-checkbox-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-checkbox-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-checkbox-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-checkbox-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-checkbox-accent-backdrop=var(--vvd-color-canvas)] */\n --_connotation-color-backdrop: var(--vvd-checkbox-accent-backdrop, var(--vvd-color-canvas));\n /* @cssprop [--vvd-checkbox-accent-firm=var(--vvd-color-canvas-text)] */\n --_connotation-color-firm: var(--vvd-checkbox-accent-firm, var(--vvd-color-canvas-text));\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:checked, .checked):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: var(--_connotation-color-primary);\n}\n.base:where(:checked, .checked):where(:hover, .hover) {\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.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n@supports selector(:focus-visible) {\n .base:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n cursor: pointer;\n}\n.base.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.control {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n background-color: var(--_appearance-color-fill);\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n border-radius: 3px;\n box-shadow: inset 0 0 0 2px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n inline-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n}\n\n.indicator {\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20)) - 4px);\n}\n.base:not(.checked) .indicator.checkmark {\n display: none;\n}\n\n.base:not(.indeterminate) .indicator.minus, .base.checked .indicator.minus {\n display: none;\n}\n\nlabel {\n color: var(--vvd-color-canvas-text);\n cursor: pointer;\n font: var(--vvd-typography-base);\n}\n\n.focus-indicator {\n --focus-inset: -3px;\n --focus-stroke-gap-color: transparent;\n border-radius: 6px;\n}\n.base:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20)) * 0.7);\n line-height: 1;\n}\n\n.message {\n margin-block-start: 4px;\n --_low-ink-color: var(--vvd-color-neutral-600);\n}";
|
|
98
102
|
|
|
99
103
|
const keySpace = ' ';
|
|
100
|
-
class Checkbox extends Checkbox$1 {
|
|
104
|
+
let Checkbox = class Checkbox extends Checkbox$1 {
|
|
101
105
|
constructor() {
|
|
102
106
|
super(...arguments);
|
|
103
107
|
this.keypressHandler = e => {
|
|
@@ -119,8 +123,9 @@ class Checkbox extends Checkbox$1 {
|
|
|
119
123
|
}
|
|
120
124
|
};
|
|
121
125
|
}
|
|
122
|
-
}
|
|
123
|
-
__decorate([
|
|
126
|
+
};
|
|
127
|
+
Checkbox = __decorate([errorText, formElements], Checkbox);
|
|
128
|
+
applyMixins(Checkbox, FormElementHelperText, FormElementSuccessText);
|
|
124
129
|
|
|
125
130
|
let _ = t => t,
|
|
126
131
|
_t,
|
|
@@ -131,8 +136,10 @@ const getClasses = ({
|
|
|
131
136
|
readOnly,
|
|
132
137
|
checked,
|
|
133
138
|
disabled,
|
|
134
|
-
indeterminate
|
|
135
|
-
|
|
139
|
+
indeterminate,
|
|
140
|
+
errorValidationMessage,
|
|
141
|
+
successText
|
|
142
|
+
}) => classNames('base', ['readonly', Boolean(readOnly)], ['checked', Boolean(checked) || Boolean(indeterminate)], ['disabled', Boolean(disabled)], ['error connotation-alert', Boolean(errorValidationMessage)], ['success connotation-success', !!successText]);
|
|
136
143
|
const CheckboxTemplate = context => {
|
|
137
144
|
const focusTemplate = focusTemplateFactory(context);
|
|
138
145
|
const iconTag = context.tagFor(Icon);
|
|
@@ -155,7 +162,15 @@ const CheckboxTemplate = context => {
|
|
|
155
162
|
|
|
156
163
|
${0}
|
|
157
164
|
|
|
158
|
-
</div
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
${0}
|
|
168
|
+
${0}
|
|
169
|
+
${0}
|
|
170
|
+
`), x => x.checked, x => x.required, x => x.disabled, x => x.readOnly, x => x.disabled ? null : 0, (x, c) => x.keypressHandler(c.event), x => x.clickHandler(), getClasses, when(x => x.checked, html(_t2 || (_t2 = _`<${0} name="check-solid" class="icon"></${0}>`), iconTag, iconTag)), when(x => x.indeterminate, html(_t3 || (_t3 = _`<${0} name="minus-solid" class="icon"></${0}>`), iconTag, iconTag)), () => focusTemplate, when(x => x.label, html(_t4 || (_t4 = _`<label>${0}</label>`), x => x.label)), when(x => {
|
|
171
|
+
var _a;
|
|
172
|
+
return (_a = x.helperText) === null || _a === void 0 ? void 0 : _a.length;
|
|
173
|
+
}, getFeedbackTemplate('helper', context)), when(x => !x.successText && x.errorValidationMessage, getFeedbackTemplate('error', context)), when(x => x.successText, getFeedbackTemplate('success', context)));
|
|
159
174
|
};
|
|
160
175
|
|
|
161
176
|
const checkboxDefinition = Checkbox.compose({
|
package/shared/definition19.js
CHANGED
|
@@ -622,7 +622,7 @@ __decorate([
|
|
|
622
622
|
applyMixins(DelegatesARIACombobox, DelegatesARIAListbox);
|
|
623
623
|
applyMixins(Combobox$1, StartEnd, DelegatesARIACombobox);
|
|
624
624
|
|
|
625
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
625
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n:host {\n position: relative;\n}\n\n.control {\n display: flex;\n padding-inline-end: 44px;\n}\n\n.icon {\n inset-inline-end: 16px;\n inset-inline-start: unset;\n}\n:not(.disabled) .icon {\n cursor: pointer;\n}\n.disabled .icon {\n cursor: not-allowed;\n}\n\n.listbox {\n padding: 4px;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n contain: paint;\n}\n.listbox {\n /* @cssprop [--vvd-combobox-accent-backdrop=var(--vvd-color-canvas)] */\n --_connotation-color-backdrop: var(--vvd-combobox-accent-backdrop, var(--vvd-color-canvas));\n /* @cssprop [--vvd-combobox-accent-intermediate=var(--vvd-color-neutral-500)] */\n --_connotation-color-intermediate: var(--vvd-combobox-accent-intermediate, var(--vvd-color-neutral-500));\n /* @cssprop [--vvd-combobox-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-combobox-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-combobox-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-combobox-accent-soft, var(--vvd-color-neutral-100));\n}\n.listbox {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.listbox.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.listbox:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.listbox:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n\n::part(popup-base) {\n inline-size: 100%;\n}";
|
|
626
626
|
|
|
627
627
|
let Combobox = class Combobox extends Combobox$1 {
|
|
628
628
|
connectedCallback() {
|
package/shared/definition2.js
CHANGED
|
@@ -76,7 +76,7 @@ __decorate([
|
|
|
76
76
|
], AccordionItem$1.prototype, "id", void 0);
|
|
77
77
|
applyMixins(AccordionItem$1, StartEnd);
|
|
78
78
|
|
|
79
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
79
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n:host {\n display: flex;\n box-sizing: border-box;\n flex-direction: column;\n}\n\n.heading-container {\n margin: 0;\n}\n\n.heading-button {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 16px;\n border: none;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n cursor: pointer;\n text-align: left;\n}\n.heading-button {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.heading-button: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.heading-button: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.heading-button {\n /* @cssprop [--vvd-accordion-item-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-accordion-item-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-accordion-item-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-accordion-item-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-accordion-item-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-accordion-item-accent-soft, var(--vvd-color-neutral-100));\n}\n@supports selector(:focus-visible) {\n .heading-button:focus {\n outline: none;\n }\n}\n.heading-button.size-condensed {\n font: var(--vvd-typography-base-bold);\n gap: 12px;\n}\n.heading-button:not(.size-condensed) {\n font: var(--vvd-typography-heading-4);\n gap: 16px;\n}\n\n.heading-content {\n flex: auto;\n}\n\n.meta {\n overflow: hidden;\n max-width: 20%;\n flex-shrink: 0;\n color: var(--vvd-color-neutral-600);\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.heading-button:not(.size-condensed) .meta {\n font: var(--vvd-typography-base-bold);\n}\n.heading-button.size-condensed .meta {\n font: var(--vvd-typography-base-condensed-bold);\n}\n\n.region {\n display: none;\n padding: 8px 32px 24px 16px;\n}\n:host([expanded]) .region {\n display: block;\n}\n.region:not(.size-condensed).padded {\n padding-inline-start: 52px;\n}\n.region.size-condensed.padded {\n padding-inline-start: 44px;\n}\n\n.icon {\n color: var(--vvd-color-neutral-600);\n}\n:host(:not([icon-trailing])) .icon:last-of-type {\n color: var(--_appearance-color-text);\n}\n.heading-button:not(.size-condensed) .icon {\n font: inherit;\n}\n.heading-button.size-condensed .icon {\n font: var(--vvd-typography-base-extended);\n}\n\nbutton:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
|
|
80
80
|
|
|
81
81
|
class AccordionItem extends AccordionItem$1 {
|
|
82
82
|
constructor() {
|
package/shared/definition20.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FoundationElement, U as __classPrivateFieldGet,
|
|
1
|
+
import { F as FoundationElement, U as __classPrivateFieldGet, V as __classPrivateFieldSet, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { B as Button, b as buttonRegistries } from './definition7.js';
|
|
3
3
|
import { E as Elevation, e as elevationRegistries } from './definition8.js';
|
|
4
4
|
import './icon.js';
|
package/shared/definition21.js
CHANGED
|
@@ -258,7 +258,7 @@ const ListboxOptionTemplate = context => {
|
|
|
258
258
|
`), x => x.ariaChecked, x => x.ariaDisabled, x => x.ariaPosInSet, x => x.ariaSelected, x => x.ariaSetSize, getClasses, () => focusTemplate, x => affixIconTemplate(x.icon), when(x => x.text, html(_t2 || (_t2 = _`<div class="text">${0}</div>`), x => x.text)));
|
|
259
259
|
};
|
|
260
260
|
|
|
261
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
261
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n.base {\n position: relative; /* this is needed for the focus */\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_option-appearance-color-text, var(--_appearance-color-text));\n font: var(--vvd-typography-base);\n gap: 12px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n padding-inline: 16px;\n vertical-align: middle;\n word-break: break-word;\n}\n.base {\n /* @cssprop [--vvd-option-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-option-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-option-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-option-accent-primary-text, var(--vvd-color-canvas));\n /* @cssprop [--vvd-option-accent-primary-increment=var(--vvd-color-neutral-800)] */\n --_connotation-color-primary-increment: var(--vvd-option-accent-primary-increment, var(--vvd-color-neutral-800));\n /* @cssprop [--vvd-option-accent-faint=var(--vvd-color-neutral-50)] */\n --_connotation-color-faint: var(--vvd-option-accent-faint, var(--vvd-color-neutral-50));\n /* @cssprop [--vvd-option-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-option-accent-soft, var(--vvd-color-neutral-100));\n /* @cssprop [--vvd-option-accent-pale=var(--vvd-color-neutral-300)] */\n --_connotation-color-pale: var(--vvd-option-accent-pale, var(--vvd-color-neutral-300));\n /* @cssprop [--vvd-option-accent-dim=var(--vvd-color-neutral-200)] */\n --_connotation-color-dim: var(--vvd-option-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(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\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, :hover, .hover)) {\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) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n cursor: pointer;\n}\n.base.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n.base .text {\n font: var(--vvd-typography-base);\n}\n\n.icon {\n font-size: 20px;\n line-height: 1;\n}\n.base:not(.disabled, .selected) .icon {\n color: var(--vvd-color-neutral-600);\n}\n\n.focus-indicator {\n --focus-stroke-color: var(--vvd-color-neutral-500);\n --focus-stroke-gap-color: transparent;\n}\n:host(:not([aria-checked=true])) .focus-indicator {\n display: none;\n}";
|
|
262
262
|
|
|
263
263
|
const listboxOptionDefinition = ListboxOption.compose({
|
|
264
264
|
baseName: 'option',
|
package/shared/definition22.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { F as FoundationElement, _ as __decorate, a as attr, o as observable, Y as DOM, h as html, b as __metadata, r as registerFactory } from './index.js';
|
|
1
|
+
import { F as FoundationElement, _ as __decorate, a as attr, o as observable, Y as DOM, h as html, u as aCallable$1, a2 as toObject$1, a3 as indexedObject, Q as lengthOfArrayLike$1, j as fails$1, G as _export, E as engineV8Version, U as __classPrivateFieldGet, b as __metadata, r as registerFactory } from './index.js';
|
|
2
|
+
import './es.string.includes.js';
|
|
3
|
+
import './es.regexp.to-string.js';
|
|
4
|
+
import { e as engineIsNode } from './engine-is-node.js';
|
|
2
5
|
import { k as keyEnd, a as keyHome, h as keyArrowRight, i as keyArrowLeft, j as keyPageDown, l as keyPageUp, b as keyArrowDown, c as keyArrowUp, f as keyEscape, m as keyFunction2, d as keyEnter } from './key-codes.js';
|
|
3
6
|
import { R as RepeatDirective } from './repeat.js';
|
|
4
7
|
import { e as elements } from './node-observation.js';
|
|
@@ -907,16 +910,200 @@ __decorate([
|
|
|
907
910
|
|
|
908
911
|
var css_248z$2 = ":host {\n position: relative;\n display: block;\n}\n\n:host([generate-header=sticky]) {\n max-height: var(--data-grid-max-height, 200px);\n overflow-y: auto;\n}";
|
|
909
912
|
|
|
910
|
-
var css_248z$1 = "/**\n * Do not edit directly\n * Generated on
|
|
913
|
+
var css_248z$1 = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 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, :hover, .hover)) {\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) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n:host(:is([aria-selected]):not([row-type=header])) .base {\n background-color: var(--_appearance-color-fill);\n}\n:host([row-type=sticky-header]) .base {\n position: sticky;\n z-index: 999;\n top: 0;\n background: var(--vvd-color-canvas);\n}";
|
|
911
914
|
|
|
912
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
915
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n.base {\n position: relative;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n align-items: center;\n padding: 8px 12px;\n border-bottom: 1px solid var(--vvd-color-neutral-400);\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 outline: none;\n text-overflow: ellipsis;\n white-space: nowrap;\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, :hover, .hover)) {\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) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-pale);\n --_appearance-color-outline: transparent;\n}\n:host(:is([aria-selected]):not([cell-type=columnheader])) .base {\n background-color: var(--_appearance-color-fill);\n}\n:host([cell-type=columnheader]) .base {\n border-color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base-bold);\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.base:not(.active) > .focus-indicator {\n display: none;\n}";
|
|
913
916
|
|
|
914
|
-
|
|
917
|
+
var aCallable = aCallable$1;
|
|
918
|
+
var toObject = toObject$1;
|
|
919
|
+
var IndexedObject = indexedObject;
|
|
920
|
+
var lengthOfArrayLike = lengthOfArrayLike$1;
|
|
921
|
+
|
|
922
|
+
var $TypeError = TypeError;
|
|
923
|
+
|
|
924
|
+
// `Array.prototype.{ reduce, reduceRight }` methods implementation
|
|
925
|
+
var createMethod = function (IS_RIGHT) {
|
|
926
|
+
return function (that, callbackfn, argumentsLength, memo) {
|
|
927
|
+
aCallable(callbackfn);
|
|
928
|
+
var O = toObject(that);
|
|
929
|
+
var self = IndexedObject(O);
|
|
930
|
+
var length = lengthOfArrayLike(O);
|
|
931
|
+
var index = IS_RIGHT ? length - 1 : 0;
|
|
932
|
+
var i = IS_RIGHT ? -1 : 1;
|
|
933
|
+
if (argumentsLength < 2) while (true) {
|
|
934
|
+
if (index in self) {
|
|
935
|
+
memo = self[index];
|
|
936
|
+
index += i;
|
|
937
|
+
break;
|
|
938
|
+
}
|
|
939
|
+
index += i;
|
|
940
|
+
if (IS_RIGHT ? index < 0 : length <= index) {
|
|
941
|
+
throw $TypeError('Reduce of empty array with no initial value');
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
|
|
945
|
+
memo = callbackfn(memo, self[index], index, O);
|
|
946
|
+
}
|
|
947
|
+
return memo;
|
|
948
|
+
};
|
|
949
|
+
};
|
|
950
|
+
|
|
951
|
+
var arrayReduce = {
|
|
952
|
+
// `Array.prototype.reduce` method
|
|
953
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
954
|
+
left: createMethod(false),
|
|
955
|
+
// `Array.prototype.reduceRight` method
|
|
956
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
|
957
|
+
right: createMethod(true)
|
|
958
|
+
};
|
|
959
|
+
|
|
960
|
+
var fails = fails$1;
|
|
961
|
+
|
|
962
|
+
var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
|
|
963
|
+
var method = [][METHOD_NAME];
|
|
964
|
+
return !!method && fails(function () {
|
|
965
|
+
// eslint-disable-next-line no-useless-call -- required for testing
|
|
966
|
+
method.call(null, argument || function () { return 1; }, 1);
|
|
967
|
+
});
|
|
968
|
+
};
|
|
969
|
+
|
|
970
|
+
var $ = _export;
|
|
971
|
+
var $reduce = arrayReduce.left;
|
|
972
|
+
var arrayMethodIsStrict = arrayMethodIsStrict$1;
|
|
973
|
+
var CHROME_VERSION = engineV8Version;
|
|
974
|
+
var IS_NODE = engineIsNode;
|
|
975
|
+
|
|
976
|
+
var STRICT_METHOD = arrayMethodIsStrict('reduce');
|
|
977
|
+
// Chrome 80-82 has a critical bug
|
|
978
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
|
979
|
+
var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
|
980
|
+
|
|
981
|
+
// `Array.prototype.reduce` method
|
|
982
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
983
|
+
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
|
984
|
+
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
985
|
+
var length = arguments.length;
|
|
986
|
+
return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
|
|
987
|
+
}
|
|
988
|
+
});
|
|
989
|
+
|
|
990
|
+
var _DataGrid_instances, _DataGrid_selectedRows_get, _DataGrid_selectedCells_get, _DataGrid_handleKeypress, _DataGrid_handleClick, _DataGrid_handleCellSelection, _DataGrid_handleRowSelection, _DataGrid_setSelectedState, _DataGrid_resetSelection;
|
|
991
|
+
const DataGridSelectionMode = {
|
|
992
|
+
none: 'none',
|
|
993
|
+
singleRow: 'single-row',
|
|
994
|
+
multiRow: 'multi-row',
|
|
995
|
+
singleCell: 'single-cell',
|
|
996
|
+
multiCell: 'multi-cell'
|
|
997
|
+
};
|
|
998
|
+
class DataGrid extends DataGrid$1 {
|
|
999
|
+
constructor() {
|
|
1000
|
+
super();
|
|
1001
|
+
_DataGrid_instances.add(this);
|
|
1002
|
+
_DataGrid_handleKeypress.set(this, e => {
|
|
1003
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
1004
|
+
__classPrivateFieldGet(this, _DataGrid_handleClick, "f").call(this, e);
|
|
1005
|
+
}
|
|
1006
|
+
});
|
|
1007
|
+
_DataGrid_handleClick.set(this, ({
|
|
1008
|
+
target,
|
|
1009
|
+
ctrlKey,
|
|
1010
|
+
shiftKey,
|
|
1011
|
+
metaKey
|
|
1012
|
+
}) => {
|
|
1013
|
+
if (target.getAttribute('role') !== 'gridcell') return;
|
|
1014
|
+
if (this.selectionMode === DataGridSelectionMode.singleCell || this.selectionMode === DataGridSelectionMode.multiCell) {
|
|
1015
|
+
__classPrivateFieldGet(this, _DataGrid_handleCellSelection, "f").call(this, {
|
|
1016
|
+
target,
|
|
1017
|
+
ctrlKey,
|
|
1018
|
+
shiftKey,
|
|
1019
|
+
metaKey
|
|
1020
|
+
});
|
|
1021
|
+
return;
|
|
1022
|
+
}
|
|
1023
|
+
if (this.selectionMode === DataGridSelectionMode.singleRow || this.selectionMode === DataGridSelectionMode.multiRow) {
|
|
1024
|
+
__classPrivateFieldGet(this, _DataGrid_handleRowSelection, "f").call(this, {
|
|
1025
|
+
target,
|
|
1026
|
+
ctrlKey,
|
|
1027
|
+
shiftKey,
|
|
1028
|
+
metaKey
|
|
1029
|
+
});
|
|
1030
|
+
}
|
|
1031
|
+
});
|
|
1032
|
+
_DataGrid_handleCellSelection.set(this, ({
|
|
1033
|
+
target,
|
|
1034
|
+
ctrlKey,
|
|
1035
|
+
shiftKey,
|
|
1036
|
+
metaKey
|
|
1037
|
+
}) => {
|
|
1038
|
+
const cell = target;
|
|
1039
|
+
if (this.selectionMode === DataGridSelectionMode.multiCell && (ctrlKey || shiftKey || metaKey)) {
|
|
1040
|
+
__classPrivateFieldGet(this, _DataGrid_setSelectedState, "f").call(this, cell, !__classPrivateFieldGet(this, _DataGrid_instances, "a", _DataGrid_selectedCells_get).includes(cell));
|
|
1041
|
+
} else {
|
|
1042
|
+
const cacheTargetSelection = cell.getAttribute('aria-selected') === 'true';
|
|
1043
|
+
__classPrivateFieldGet(this, _DataGrid_instances, "m", _DataGrid_resetSelection).call(this);
|
|
1044
|
+
__classPrivateFieldGet(this, _DataGrid_setSelectedState, "f").call(this, cell, !cacheTargetSelection);
|
|
1045
|
+
}
|
|
1046
|
+
});
|
|
1047
|
+
_DataGrid_handleRowSelection.set(this, ({
|
|
1048
|
+
target,
|
|
1049
|
+
ctrlKey,
|
|
1050
|
+
shiftKey,
|
|
1051
|
+
metaKey
|
|
1052
|
+
}) => {
|
|
1053
|
+
const row = target.parentNode;
|
|
1054
|
+
if (this.selectionMode === DataGridSelectionMode.multiRow && (ctrlKey || shiftKey || metaKey)) {
|
|
1055
|
+
__classPrivateFieldGet(this, _DataGrid_setSelectedState, "f").call(this, row, !__classPrivateFieldGet(this, _DataGrid_instances, "a", _DataGrid_selectedRows_get).includes(row));
|
|
1056
|
+
} else {
|
|
1057
|
+
const cacheTargetSelection = row.getAttribute('aria-selected') === 'true';
|
|
1058
|
+
__classPrivateFieldGet(this, _DataGrid_instances, "m", _DataGrid_resetSelection).call(this);
|
|
1059
|
+
__classPrivateFieldGet(this, _DataGrid_setSelectedState, "f").call(this, row, !cacheTargetSelection);
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
_DataGrid_setSelectedState.set(this, (cell, selectedState) => {
|
|
1063
|
+
cell.setAttribute('aria-selected', selectedState.toString());
|
|
1064
|
+
});
|
|
1065
|
+
this.addEventListener('click', __classPrivateFieldGet(this, _DataGrid_handleClick, "f"));
|
|
1066
|
+
this.addEventListener('keydown', __classPrivateFieldGet(this, _DataGrid_handleKeypress, "f"));
|
|
1067
|
+
}
|
|
1068
|
+
selectionModeChanged() {
|
|
1069
|
+
__classPrivateFieldGet(this, _DataGrid_instances, "m", _DataGrid_resetSelection).call(this);
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
_DataGrid_handleKeypress = new WeakMap(), _DataGrid_handleClick = new WeakMap(), _DataGrid_handleCellSelection = new WeakMap(), _DataGrid_handleRowSelection = new WeakMap(), _DataGrid_setSelectedState = new WeakMap(), _DataGrid_instances = new WeakSet(), _DataGrid_selectedRows_get = function _DataGrid_selectedRows_get() {
|
|
1073
|
+
return this.rowElements.filter(row => row.getAttribute('aria-selected') === 'true');
|
|
1074
|
+
}, _DataGrid_selectedCells_get = function _DataGrid_selectedCells_get() {
|
|
1075
|
+
return this.rowElements.reduce((acc, row) => {
|
|
1076
|
+
const rowChildren = Array.from(row.children);
|
|
1077
|
+
const selectedCells = rowChildren.filter(cell => cell.getAttribute('aria-selected') === 'true');
|
|
1078
|
+
return acc.concat(selectedCells);
|
|
1079
|
+
}, []);
|
|
1080
|
+
}, _DataGrid_resetSelection = function _DataGrid_resetSelection() {
|
|
1081
|
+
if (this.selectionMode === DataGridSelectionMode.singleCell || this.selectionMode === DataGridSelectionMode.multiCell) {
|
|
1082
|
+
Array.from(this.querySelectorAll('[role="gridcell"]')).forEach(cell => __classPrivateFieldGet(this, _DataGrid_setSelectedState, "f").call(this, cell, false));
|
|
1083
|
+
Array.from(this.querySelectorAll('[role="row"]')).forEach(row => row.removeAttribute('aria-selected'));
|
|
1084
|
+
}
|
|
1085
|
+
if (this.selectionMode === DataGridSelectionMode.none) {
|
|
1086
|
+
Array.from(this.querySelectorAll('[role="gridcell"]')).forEach(cell => cell.removeAttribute('aria-selected'));
|
|
1087
|
+
Array.from(this.querySelectorAll('[role="row"]')).forEach(row => row.removeAttribute('aria-selected'));
|
|
1088
|
+
}
|
|
1089
|
+
if (this.selectionMode === DataGridSelectionMode.singleRow || this.selectionMode === DataGridSelectionMode.multiRow) {
|
|
1090
|
+
Array.from(this.querySelectorAll('[role="gridcell"]')).forEach(cell => cell.removeAttribute('aria-selected'));
|
|
1091
|
+
Array.from(this.querySelectorAll('[role="row"]')).forEach(row => row.setAttribute('aria-selected', 'false'));
|
|
1092
|
+
}
|
|
1093
|
+
};
|
|
915
1094
|
__decorate([attr({
|
|
916
1095
|
attribute: 'selection-mode'
|
|
917
1096
|
}), __metadata("design:type", String)], DataGrid.prototype, "selectionMode", void 0);
|
|
918
1097
|
|
|
919
|
-
class DataGridRow extends DataGridRow$1 {
|
|
1098
|
+
class DataGridRow extends DataGridRow$1 {
|
|
1099
|
+
constructor() {
|
|
1100
|
+
super(...arguments);
|
|
1101
|
+
this.ariaSelected = null;
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
__decorate([attr({
|
|
1105
|
+
attribute: 'aria-selected'
|
|
1106
|
+
}), __metadata("design:type", Object)], DataGridRow.prototype, "ariaSelected", void 0);
|
|
920
1107
|
|
|
921
1108
|
let _2$1 = t => t,
|
|
922
1109
|
_t$2,
|
|
@@ -931,11 +1118,15 @@ function createRowItemTemplate(context) {
|
|
|
931
1118
|
></${0}>
|
|
932
1119
|
`), rowTag, x => x, (_, c) => c.parent.cellItemTemplate, (_, c) => c.parent.headerCellItemTemplate, rowTag);
|
|
933
1120
|
}
|
|
1121
|
+
function getMultiSelectAriaState(x) {
|
|
1122
|
+
return x.selectionMode === undefined || x.selectionMode === DataGridSelectionMode.none ? null : x.selectionMode.includes('multi') ? 'true' : 'false';
|
|
1123
|
+
}
|
|
934
1124
|
const DataGridTemplate = context => {
|
|
935
1125
|
const rowItemTemplate = createRowItemTemplate(context);
|
|
936
1126
|
const rowTag = context.tagFor(DataGridRow);
|
|
937
1127
|
return html(_t2$1 || (_t2$1 = _2$1`
|
|
938
1128
|
<template
|
|
1129
|
+
aria-multiselectable="${0}"
|
|
939
1130
|
role="grid"
|
|
940
1131
|
tabindex="0"
|
|
941
1132
|
:rowElementTag="${0}"
|
|
@@ -944,22 +1135,34 @@ const DataGridTemplate = context => {
|
|
|
944
1135
|
>
|
|
945
1136
|
<slot></slot>
|
|
946
1137
|
</template>
|
|
947
|
-
`), () => rowTag, rowItemTemplate, children({
|
|
1138
|
+
`), getMultiSelectAriaState, () => rowTag, rowItemTemplate, children({
|
|
948
1139
|
property: 'rowElements',
|
|
949
1140
|
filter: elements('[role=row]')
|
|
950
1141
|
}));
|
|
951
1142
|
};
|
|
952
1143
|
|
|
953
1144
|
class DataGridCell extends DataGridCell$1 {
|
|
1145
|
+
constructor() {
|
|
1146
|
+
super(...arguments);
|
|
1147
|
+
this.ariaSelected = null;
|
|
1148
|
+
}
|
|
1149
|
+
ariaSelectedChanged(_, selectedState) {
|
|
1150
|
+
var _a;
|
|
1151
|
+
(_a = this.shadowRoot.querySelector('.base')) === null || _a === void 0 ? void 0 : _a.classList.toggle('selected', selectedState === 'true');
|
|
1152
|
+
}
|
|
954
1153
|
handleFocusin(e) {
|
|
955
1154
|
super.handleFocusin(e);
|
|
956
|
-
this.shadowRoot.
|
|
1155
|
+
this.shadowRoot.querySelector('.base').classList.add('active');
|
|
957
1156
|
}
|
|
958
1157
|
handleFocusout(e) {
|
|
959
1158
|
super.handleFocusout(e);
|
|
960
|
-
this.shadowRoot.
|
|
1159
|
+
this.shadowRoot.querySelector('.base').classList.remove('active');
|
|
961
1160
|
}
|
|
962
1161
|
}
|
|
1162
|
+
__decorate([attr({
|
|
1163
|
+
attribute: 'aria-selected',
|
|
1164
|
+
mode: 'fromView'
|
|
1165
|
+
}), __metadata("design:type", Object)], DataGridCell.prototype, "ariaSelected", void 0);
|
|
963
1166
|
|
|
964
1167
|
let _2 = t => t,
|
|
965
1168
|
_t$1,
|
|
@@ -973,8 +1176,9 @@ function createCellItemTemplate(context) {
|
|
|
973
1176
|
grid-column="${0}"
|
|
974
1177
|
:rowData="${0}"
|
|
975
1178
|
:columnDefinition="${0}"
|
|
1179
|
+
selected="${0}"
|
|
976
1180
|
></${0}>
|
|
977
|
-
`), cellTag, x => x.isRowHeader ? 'rowheader' : undefined, (_, c) => c.index + 1, (_, c) => c.parent.rowData, x => x, cellTag);
|
|
1181
|
+
`), cellTag, x => x.isRowHeader ? 'rowheader' : undefined, (_, c) => c.index + 1, (_, c) => c.parent.rowData, x => x, (_, c) => c.parent.ariaSelected === 'true' ? true : null, cellTag);
|
|
978
1182
|
}
|
|
979
1183
|
function createHeaderCellItemTemplate(context) {
|
|
980
1184
|
const cellTag = context.tagFor(DataGridCell);
|
|
@@ -997,12 +1201,14 @@ const DataGridRowTemplate = context => {
|
|
|
997
1201
|
:defaultHeaderCellItemTemplate="${0}"
|
|
998
1202
|
${0}
|
|
999
1203
|
>
|
|
1204
|
+
<div class="base ${0}">
|
|
1000
1205
|
<slot ${0}></slot>
|
|
1206
|
+
</div>
|
|
1001
1207
|
</template>
|
|
1002
1208
|
`), x => x.rowType !== 'default' ? x.rowType : '', cellItemTemplate, headerCellItemTemplate, children({
|
|
1003
1209
|
property: 'cellElements',
|
|
1004
1210
|
filter: elements('[role="cell"],[role="gridcell"],[role="columnheader"],[role="rowheader"]')
|
|
1005
|
-
}), slotted('slottedCellElements'));
|
|
1211
|
+
}), x => x.ariaSelected === 'true' ? 'selected' : '', slotted('slottedCellElements'));
|
|
1006
1212
|
};
|
|
1007
1213
|
|
|
1008
1214
|
const DataGridCellRole = {
|
|
@@ -1020,7 +1226,7 @@ function DataGridCellTemplate(context) {
|
|
|
1020
1226
|
tabindex="-1"
|
|
1021
1227
|
role="${0}"
|
|
1022
1228
|
>
|
|
1023
|
-
<div
|
|
1229
|
+
<div class="base">
|
|
1024
1230
|
<slot></slot>
|
|
1025
1231
|
${0}
|
|
1026
1232
|
</div>
|
package/shared/definition23.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FoundationElement, U as __classPrivateFieldGet, _ as __decorate, a as attr, b as __metadata, o as observable,
|
|
1
|
+
import { F as FoundationElement, U as __classPrivateFieldGet, _ as __decorate, a as attr, b as __metadata, o as observable, V as __classPrivateFieldSet, h as html, r as registerFactory } from './index.js';
|
|
2
2
|
import { i as iconRegistries } from './definition3.js';
|
|
3
3
|
import { B as Button, b as buttonRegistries } from './definition7.js';
|
|
4
4
|
import { E as Elevation, e as elevationRegistries } from './definition8.js';
|
|
@@ -9,7 +9,7 @@ import { c as classNames } from './class-names.js';
|
|
|
9
9
|
|
|
10
10
|
var css_248z$1 = "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}";
|
|
11
11
|
|
|
12
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
12
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 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 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\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 padding-inline: 24px;\n}\n.hide-footer .footer {\n display: none;\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}";
|
|
13
13
|
|
|
14
14
|
var _Dialog_instances, _Dialog_modal, _Dialog_dialogElement, _Dialog_dialog_get, _Dialog_handleScrimClick, _Dialog_handleInternalFormSubmit, _Dialog_handleModal;
|
|
15
15
|
let dialogPolyfill;
|
package/shared/definition24.js
CHANGED
|
@@ -51,7 +51,7 @@ __decorate([
|
|
|
51
51
|
attr
|
|
52
52
|
], Divider$1.prototype, "orientation", void 0);
|
|
53
53
|
|
|
54
|
-
var css_248z = "/**\n * Do not edit directly\n * Generated on
|
|
54
|
+
var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 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
|
|