@vonage/vivid 4.14.1 → 4.14.3
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/custom-elements.json +393 -201
- package/index.cjs +1 -0
- package/index.js +1 -1
- package/lib/accordion/definition.d.ts +5 -1
- package/lib/combobox/combobox.d.ts +5 -1
- package/lib/divider/divider.d.ts +1 -1
- package/lib/divider/divider.template.d.ts +1 -1
- package/lib/file-picker/file-picker.d.ts +1 -0
- package/lib/menu-item/definition.d.ts +1 -1
- package/lib/menu-item/menu-item-role.d.ts +7 -0
- package/lib/menu-item/menu-item.d.ts +1 -7
- package/lib/number-field/number-field.d.ts +1 -1
- package/lib/radio/radio.d.ts +2 -2
- package/lib/searchable-select/option-tag.d.ts +2 -2
- package/lib/select/select.form-associated.d.ts +1 -1
- package/lib/switch/switch.d.ts +1 -0
- package/lib/tabs/tabs.d.ts +5 -1
- package/lib/text-anchor/text-anchor.d.ts +1 -1
- package/lib/tree-item/tree-item.d.ts +1 -1
- package/lib/tree-view/tree-view.d.ts +1 -1
- package/package.json +1 -1
- package/shared/affix.js +1 -1
- package/shared/applyMixinsWithObservables.cjs +1 -1
- package/shared/applyMixinsWithObservables.js +1 -1
- package/shared/definition.js +1 -1
- package/shared/definition11.cjs +1 -1
- package/shared/definition11.js +2 -2
- package/shared/definition16.cjs +64 -32
- package/shared/definition16.js +62 -30
- package/shared/definition17.cjs +9 -7
- package/shared/definition17.js +9 -7
- package/shared/definition2.cjs +9 -4
- package/shared/definition2.js +9 -5
- package/shared/definition22.cjs +2 -1
- package/shared/definition22.js +2 -1
- package/shared/definition24.js +1 -1
- package/shared/definition25.cjs +25 -18
- package/shared/definition25.js +26 -19
- package/shared/definition27.cjs +1 -1
- package/shared/definition27.js +1 -1
- package/shared/definition29.cjs +12 -30
- package/shared/definition29.js +13 -31
- package/shared/definition30.js +1 -1
- package/shared/definition31.js +1 -1
- package/shared/definition33.cjs +1 -1
- package/shared/definition33.js +2 -2
- package/shared/definition34.cjs +7 -228
- package/shared/definition34.js +5 -226
- package/shared/definition35.cjs +2 -201
- package/shared/definition35.js +4 -201
- package/shared/definition4.js +1 -1
- package/shared/definition41.cjs +1 -1
- package/shared/definition41.js +1 -1
- package/shared/definition42.cjs +2 -3
- package/shared/definition42.js +3 -4
- package/shared/definition43.cjs +10 -11
- package/shared/definition43.js +6 -7
- package/shared/definition46.cjs +2 -2
- package/shared/definition46.js +3 -3
- package/shared/definition47.js +1 -1
- package/shared/definition48.cjs +22 -15
- package/shared/definition48.js +22 -15
- package/shared/definition5.cjs +3 -2
- package/shared/definition5.js +3 -2
- package/shared/definition50.js +1 -1
- package/shared/definition51.cjs +14 -383
- package/shared/definition51.js +17 -386
- package/shared/definition53.js +1 -1
- package/shared/definition54.js +1 -1
- package/shared/definition56.js +1 -1
- package/shared/definition59.js +1 -1
- package/shared/definition7.js +1 -1
- package/shared/definition8.js +1 -1
- package/shared/direction.cjs +2 -16
- package/shared/direction.js +3 -17
- package/shared/foundation/utilities/direction.d.ts +2 -0
- package/shared/listbox.cjs +25 -6
- package/shared/listbox.js +22 -3
- package/shared/option.cjs +205 -0
- package/shared/option.js +202 -0
- package/shared/text-anchor.cjs +1 -1
- package/shared/text-anchor.js +2 -2
- package/shared/text-field2.js +2 -2
- package/shared/vivid-element.cjs +0 -2
- package/shared/vivid-element.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/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +1 -1
- package/vivid.api.json +70 -3
- package/lib/listbox/definition.d.ts +0 -2
- package/lib/listbox/listbox.d.ts +0 -14
- package/lib/listbox/listbox.template.d.ts +0 -2
- package/listbox/index.cjs +0 -54
- package/listbox/index.js +0 -52
- package/shared/apply-mixins2.cjs +0 -25
- package/shared/apply-mixins2.js +0 -23
- package/shared/aria-global2.cjs +0 -75
- package/shared/aria-global2.js +0 -73
- package/shared/form-associated2.cjs +0 -383
- package/shared/form-associated2.js +0 -381
- package/shared/key-codes2.cjs +0 -1565
- package/shared/key-codes2.js +0 -1551
- package/shared/listbox2.cjs +0 -1267
- package/shared/listbox2.js +0 -1264
- package/shared/strings2.cjs +0 -37
- package/shared/strings2.js +0 -33
package/shared/definition16.js
CHANGED
|
@@ -3,21 +3,21 @@ import { P as Popup, p as popupDefinition } from './definition63.js';
|
|
|
3
3
|
import { l as listboxOptionDefinition } from './definition35.js';
|
|
4
4
|
import { s as styles$1 } from './text-field.js';
|
|
5
5
|
import { D as DOM, O as Observable, a as attr, o as observable, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
|
|
6
|
+
import { a as applyMixins } from './apply-mixins.js';
|
|
6
7
|
import { L as Listbox } from './listbox.js';
|
|
7
8
|
import { F as FormAssociated } from './form-associated.js';
|
|
8
|
-
import {
|
|
9
|
+
import { b as AffixIcon, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
|
|
9
10
|
import { u as uniqueId } from './strings.js';
|
|
10
11
|
import { l as limit } from './numbers.js';
|
|
11
|
-
import { a as applyMixins } from './apply-mixins2.js';
|
|
12
12
|
import { f as formElements } from './form-elements.js';
|
|
13
|
-
import { a as Listbox$1 } from './listbox2.js';
|
|
14
13
|
import { h as handleEscapeKeyAndStopPropogation } from './index.js';
|
|
14
|
+
import { c as chevronTemplateFactory } from './definition11.js';
|
|
15
15
|
import { r as ref } from './ref.js';
|
|
16
16
|
import { s as slotted } from './slotted.js';
|
|
17
17
|
import { w as when } from './when.js';
|
|
18
18
|
import { c as classNames } from './class-names.js';
|
|
19
19
|
|
|
20
|
-
const styles = ":host{position:relative}.base{--_text-field-gutter-end:
|
|
20
|
+
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([aria-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:host{position:relative}.base{--_text-field-gutter-end: 8px}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.base:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.base:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{position:absolute;z-index:1;display:inline-block;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);line-height:1;pointer-events:none;transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{position:relative;display:flex;flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}.listbox{display:flex;max-height:var(--combobox-height, 408px);flex-direction:column;padding:4px;border-radius:8px;contain:paint;gap:2px;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width, 100%)}@supports selector(:has(*)){.fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.fieldset:focus-within:after{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;position:absolute;z-index:1;display:block;border-radius:inherit;content:\"\";inset:0;pointer-events:none}}";
|
|
21
21
|
|
|
22
22
|
class _Combobox extends Listbox {
|
|
23
23
|
}
|
|
@@ -476,6 +476,13 @@ let Combobox = class extends FormAssociatedCombobox {
|
|
|
476
476
|
slottedOptionsChanged(prev, next) {
|
|
477
477
|
super.slottedOptionsChanged(prev, next);
|
|
478
478
|
this.updateValue();
|
|
479
|
+
const scale = this.getAttribute("scale") || this.scale;
|
|
480
|
+
next.forEach((element) => {
|
|
481
|
+
if (scale) {
|
|
482
|
+
element.setAttribute("scale", scale);
|
|
483
|
+
element.scale = scale;
|
|
484
|
+
}
|
|
485
|
+
});
|
|
479
486
|
}
|
|
480
487
|
/**
|
|
481
488
|
* Sets the value and to match the first selected option.
|
|
@@ -507,12 +514,21 @@ __decorateClass([
|
|
|
507
514
|
__decorateClass([
|
|
508
515
|
attr
|
|
509
516
|
], Combobox.prototype, "appearance", 2);
|
|
517
|
+
__decorateClass([
|
|
518
|
+
attr
|
|
519
|
+
], Combobox.prototype, "shape", 2);
|
|
520
|
+
__decorateClass([
|
|
521
|
+
attr()
|
|
522
|
+
], Combobox.prototype, "scale", 2);
|
|
510
523
|
__decorateClass([
|
|
511
524
|
attr
|
|
512
525
|
], Combobox.prototype, "placement", 2);
|
|
513
526
|
__decorateClass([
|
|
514
527
|
attr({ mode: "boolean", attribute: "fixed-dropdown" })
|
|
515
528
|
], Combobox.prototype, "fixedDropdown", 2);
|
|
529
|
+
__decorateClass([
|
|
530
|
+
observable
|
|
531
|
+
], Combobox.prototype, "metaSlottedContent", 2);
|
|
516
532
|
__decorateClass([
|
|
517
533
|
observable
|
|
518
534
|
], Combobox.prototype, "maxHeight", 2);
|
|
@@ -528,12 +544,12 @@ Combobox = __decorateClass([
|
|
|
528
544
|
], Combobox);
|
|
529
545
|
applyMixins(Combobox, AffixIcon);
|
|
530
546
|
|
|
531
|
-
function renderLabel() {
|
|
532
|
-
return html` <label for="control" class="label">
|
|
533
|
-
${(x) => x.label}
|
|
534
|
-
</label>`;
|
|
535
|
-
}
|
|
536
547
|
const getStateClasses = ({
|
|
548
|
+
icon,
|
|
549
|
+
iconSlottedContent,
|
|
550
|
+
metaSlottedContent,
|
|
551
|
+
shape,
|
|
552
|
+
scale,
|
|
537
553
|
disabled,
|
|
538
554
|
placeholder,
|
|
539
555
|
label,
|
|
@@ -541,10 +557,19 @@ const getStateClasses = ({
|
|
|
541
557
|
}) => classNames(
|
|
542
558
|
"base",
|
|
543
559
|
["disabled", disabled],
|
|
560
|
+
[`shape-${shape}`, Boolean(shape)],
|
|
561
|
+
[`size-${scale}`, Boolean(scale)],
|
|
544
562
|
["placeholder", Boolean(placeholder)],
|
|
545
563
|
[`appearance-${appearance}`, Boolean(appearance)],
|
|
546
|
-
["no-label", !label]
|
|
564
|
+
["no-label", !label],
|
|
565
|
+
["has-icon", !!icon || Boolean(iconSlottedContent?.length)],
|
|
566
|
+
["has-meta", Boolean(metaSlottedContent?.length)]
|
|
547
567
|
);
|
|
568
|
+
function renderLabel() {
|
|
569
|
+
return html` <label for="control" class="label">
|
|
570
|
+
${(x) => x.label}
|
|
571
|
+
</label>`;
|
|
572
|
+
}
|
|
548
573
|
function setFixedDropdownVarWidth(x) {
|
|
549
574
|
return x.open && x.fixedDropdown ? `--_combobox-fixed-width: ${Math.round(
|
|
550
575
|
x.getBoundingClientRect().width
|
|
@@ -552,28 +577,35 @@ function setFixedDropdownVarWidth(x) {
|
|
|
552
577
|
}
|
|
553
578
|
function renderInput(context) {
|
|
554
579
|
const affixIconTemplate = affixIconTemplateFactory(context);
|
|
580
|
+
const chevronTemplate = chevronTemplateFactory(context);
|
|
555
581
|
return html` <div class="${getStateClasses}" ${ref("_anchor")}>
|
|
556
582
|
${when((x) => x.label, renderLabel())}
|
|
557
583
|
<div class="fieldset">
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
584
|
+
${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
|
|
585
|
+
<div class="wrapper">
|
|
586
|
+
<input
|
|
587
|
+
id="control"
|
|
588
|
+
autocomplete="off"
|
|
589
|
+
class="control"
|
|
590
|
+
aria-activedescendant="${(x) => x.open ? x.ariaActiveDescendant : null}"
|
|
591
|
+
aria-autocomplete="${(x) => x.autocomplete}"
|
|
592
|
+
aria-controls="${(x) => x.listboxId}"
|
|
593
|
+
aria-disabled="${(x) => x.ariaDisabled}"
|
|
594
|
+
aria-expanded="${(x) => x.open}"
|
|
595
|
+
aria-haspopup="listbox"
|
|
596
|
+
placeholder="${(x) => x.placeholder}"
|
|
597
|
+
role="combobox"
|
|
598
|
+
type="text"
|
|
599
|
+
?disabled="${(x) => x.disabled}"
|
|
600
|
+
:value="${(x) => x.value}"
|
|
601
|
+
@input="${(x, c) => x.inputHandler(c.event)}"
|
|
602
|
+
${ref("control")}
|
|
603
|
+
/>
|
|
604
|
+
</div>
|
|
605
|
+
<div class="leading-items-wrapper">
|
|
606
|
+
<slot name="meta" ${slotted("metaSlottedContent")}></slot>
|
|
607
|
+
${chevronTemplate}
|
|
608
|
+
</div>
|
|
577
609
|
</div>
|
|
578
610
|
</div>`;
|
|
579
611
|
}
|
|
@@ -604,7 +636,7 @@ const comboboxTemplate = (context) => {
|
|
|
604
636
|
?disabled="${(x) => x.disabled}"
|
|
605
637
|
${ref("listbox")}>
|
|
606
638
|
<slot ${slotted({
|
|
607
|
-
filter: Listbox
|
|
639
|
+
filter: Listbox.slottedOptionFilter,
|
|
608
640
|
flatten: true,
|
|
609
641
|
property: "slottedOptions"
|
|
610
642
|
})}>
|
package/shared/definition17.cjs
CHANGED
|
@@ -274,15 +274,16 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
274
274
|
* @internal
|
|
275
275
|
*/
|
|
276
276
|
noTabbingChanged() {
|
|
277
|
-
if (this.
|
|
278
|
-
this
|
|
279
|
-
} else {
|
|
280
|
-
this.setAttribute(
|
|
281
|
-
"tabIndex",
|
|
282
|
-
this.contains(document.activeElement) ? "-1" : "0"
|
|
283
|
-
);
|
|
277
|
+
if (this.$fastController.isConnected) {
|
|
278
|
+
this.#setTabIndex();
|
|
284
279
|
}
|
|
285
280
|
}
|
|
281
|
+
#setTabIndex() {
|
|
282
|
+
this.setAttribute(
|
|
283
|
+
"tabIndex",
|
|
284
|
+
this.noTabbing || this.contains(document.activeElement) ? "-1" : "0"
|
|
285
|
+
);
|
|
286
|
+
}
|
|
286
287
|
/**
|
|
287
288
|
* @internal
|
|
288
289
|
*/
|
|
@@ -376,6 +377,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
376
377
|
this.observer = new MutationObserver(this.onChildListChange);
|
|
377
378
|
this.observer.observe(this, { childList: true });
|
|
378
379
|
vividElement.DOM.queueUpdate(this.queueRowIndexUpdate);
|
|
380
|
+
this.#setTabIndex();
|
|
379
381
|
vividElement.Observable.getNotifier(this).subscribe(
|
|
380
382
|
this.#changeHandler,
|
|
381
383
|
"columnDefinitions"
|
package/shared/definition17.js
CHANGED
|
@@ -272,15 +272,16 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
272
272
|
* @internal
|
|
273
273
|
*/
|
|
274
274
|
noTabbingChanged() {
|
|
275
|
-
if (this.
|
|
276
|
-
this
|
|
277
|
-
} else {
|
|
278
|
-
this.setAttribute(
|
|
279
|
-
"tabIndex",
|
|
280
|
-
this.contains(document.activeElement) ? "-1" : "0"
|
|
281
|
-
);
|
|
275
|
+
if (this.$fastController.isConnected) {
|
|
276
|
+
this.#setTabIndex();
|
|
282
277
|
}
|
|
283
278
|
}
|
|
279
|
+
#setTabIndex() {
|
|
280
|
+
this.setAttribute(
|
|
281
|
+
"tabIndex",
|
|
282
|
+
this.noTabbing || this.contains(document.activeElement) ? "-1" : "0"
|
|
283
|
+
);
|
|
284
|
+
}
|
|
284
285
|
/**
|
|
285
286
|
* @internal
|
|
286
287
|
*/
|
|
@@ -374,6 +375,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
374
375
|
this.observer = new MutationObserver(this.onChildListChange);
|
|
375
376
|
this.observer.observe(this, { childList: true });
|
|
376
377
|
DOM.queueUpdate(this.queueRowIndexUpdate);
|
|
378
|
+
this.#setTabIndex();
|
|
377
379
|
Observable.getNotifier(this).subscribe(
|
|
378
380
|
this.#changeHandler,
|
|
379
381
|
"columnDefinitions"
|
package/shared/definition2.cjs
CHANGED
|
@@ -18,7 +18,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
18
18
|
if (result) __defProp(target, key, result);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
-
const AccordionExpandMode = {
|
|
21
|
+
const AccordionExpandMode$1 = {
|
|
22
22
|
/**
|
|
23
23
|
* Designates only a single {@link @microsoft/fast-foundation#(AccordionItem:class) } can be open a time.
|
|
24
24
|
*/
|
|
@@ -32,7 +32,7 @@ class Accordion extends vividElement.VividElement {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super(...arguments);
|
|
34
34
|
/* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
|
|
35
|
-
this.expandmode = AccordionExpandMode.single;
|
|
35
|
+
this.expandmode = AccordionExpandMode$1.single;
|
|
36
36
|
this.activeItemIndex = 0;
|
|
37
37
|
this.change = () => {
|
|
38
38
|
this.$emit("change", this.activeid);
|
|
@@ -146,7 +146,7 @@ class Accordion extends vividElement.VividElement {
|
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
isSingleExpandMode() {
|
|
149
|
-
return this.expandmode !== AccordionExpandMode.multi;
|
|
149
|
+
return this.expandmode !== AccordionExpandMode$1.multi;
|
|
150
150
|
}
|
|
151
151
|
adjust(item, adjustment) {
|
|
152
152
|
this.focusItem(
|
|
@@ -164,7 +164,7 @@ class Accordion extends vividElement.VividElement {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
closeAll() {
|
|
167
|
-
if (this.expandmode === AccordionExpandMode.multi) {
|
|
167
|
+
if (this.expandmode === AccordionExpandMode$1.multi) {
|
|
168
168
|
this.accordionItems.forEach((item) => {
|
|
169
169
|
item.expanded = false;
|
|
170
170
|
});
|
|
@@ -186,6 +186,10 @@ const AccordionTemplate = vividElement.html`
|
|
|
186
186
|
</div>
|
|
187
187
|
`;
|
|
188
188
|
|
|
189
|
+
const AccordionExpandMode = {
|
|
190
|
+
single: "single",
|
|
191
|
+
multi: "multi"
|
|
192
|
+
};
|
|
189
193
|
const accordionDefinition = vividElement.defineVividComponent(
|
|
190
194
|
"accordion",
|
|
191
195
|
Accordion,
|
|
@@ -197,5 +201,6 @@ const accordionDefinition = vividElement.defineVividComponent(
|
|
|
197
201
|
);
|
|
198
202
|
const registerAccordion = vividElement.createRegisterFunction(accordionDefinition);
|
|
199
203
|
|
|
204
|
+
exports.AccordionExpandMode = AccordionExpandMode;
|
|
200
205
|
exports.accordionDefinition = accordionDefinition;
|
|
201
206
|
exports.registerAccordion = registerAccordion;
|
package/shared/definition2.js
CHANGED
|
@@ -16,7 +16,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
16
16
|
if (result) __defProp(target, key, result);
|
|
17
17
|
return result;
|
|
18
18
|
};
|
|
19
|
-
const AccordionExpandMode = {
|
|
19
|
+
const AccordionExpandMode$1 = {
|
|
20
20
|
/**
|
|
21
21
|
* Designates only a single {@link @microsoft/fast-foundation#(AccordionItem:class) } can be open a time.
|
|
22
22
|
*/
|
|
@@ -30,7 +30,7 @@ class Accordion extends VividElement {
|
|
|
30
30
|
constructor() {
|
|
31
31
|
super(...arguments);
|
|
32
32
|
/* eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value */
|
|
33
|
-
this.expandmode = AccordionExpandMode.single;
|
|
33
|
+
this.expandmode = AccordionExpandMode$1.single;
|
|
34
34
|
this.activeItemIndex = 0;
|
|
35
35
|
this.change = () => {
|
|
36
36
|
this.$emit("change", this.activeid);
|
|
@@ -144,7 +144,7 @@ class Accordion extends VividElement {
|
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
146
|
isSingleExpandMode() {
|
|
147
|
-
return this.expandmode !== AccordionExpandMode.multi;
|
|
147
|
+
return this.expandmode !== AccordionExpandMode$1.multi;
|
|
148
148
|
}
|
|
149
149
|
adjust(item, adjustment) {
|
|
150
150
|
this.focusItem(
|
|
@@ -162,7 +162,7 @@ class Accordion extends VividElement {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
closeAll() {
|
|
165
|
-
if (this.expandmode === AccordionExpandMode.multi) {
|
|
165
|
+
if (this.expandmode === AccordionExpandMode$1.multi) {
|
|
166
166
|
this.accordionItems.forEach((item) => {
|
|
167
167
|
item.expanded = false;
|
|
168
168
|
});
|
|
@@ -184,6 +184,10 @@ const AccordionTemplate = html`
|
|
|
184
184
|
</div>
|
|
185
185
|
`;
|
|
186
186
|
|
|
187
|
+
const AccordionExpandMode = {
|
|
188
|
+
single: "single",
|
|
189
|
+
multi: "multi"
|
|
190
|
+
};
|
|
187
191
|
const accordionDefinition = defineVividComponent(
|
|
188
192
|
"accordion",
|
|
189
193
|
Accordion,
|
|
@@ -195,4 +199,4 @@ const accordionDefinition = defineVividComponent(
|
|
|
195
199
|
);
|
|
196
200
|
const registerAccordion = createRegisterFunction(accordionDefinition);
|
|
197
201
|
|
|
198
|
-
export { accordionDefinition as a, registerAccordion as r };
|
|
202
|
+
export { AccordionExpandMode as A, accordionDefinition as a, registerAccordion as r };
|
package/shared/definition22.cjs
CHANGED
|
@@ -40,9 +40,10 @@ __decorateClass([
|
|
|
40
40
|
], Divider.prototype, "orientation");
|
|
41
41
|
|
|
42
42
|
const getClasses = ({ orientation }) => classNames.classNames("base", [`${orientation}`, Boolean(orientation)]);
|
|
43
|
+
const getAriaOrientation = ({ role, orientation }) => role === DividerRole.presentation ? null : orientation;
|
|
43
44
|
const DividerTemplate = vividElement.html` <span
|
|
44
45
|
class="${getClasses}"
|
|
45
|
-
orientation="${
|
|
46
|
+
aria-orientation="${getAriaOrientation}"
|
|
46
47
|
role="${(x) => x.role}"
|
|
47
48
|
></span>`;
|
|
48
49
|
|
package/shared/definition22.js
CHANGED
|
@@ -38,9 +38,10 @@ __decorateClass([
|
|
|
38
38
|
], Divider.prototype, "orientation");
|
|
39
39
|
|
|
40
40
|
const getClasses = ({ orientation }) => classNames("base", [`${orientation}`, Boolean(orientation)]);
|
|
41
|
+
const getAriaOrientation = ({ role, orientation }) => role === DividerRole.presentation ? null : orientation;
|
|
41
42
|
const DividerTemplate = html` <span
|
|
42
43
|
class="${getClasses}"
|
|
43
|
-
orientation="${
|
|
44
|
+
aria-orientation="${getAriaOrientation}"
|
|
44
45
|
role="${(x) => x.role}"
|
|
45
46
|
></span>`;
|
|
46
47
|
|
package/shared/definition24.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as iconDefinition } from './definition27.js';
|
|
2
2
|
import { a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
|
|
3
3
|
import { a as applyMixins } from './apply-mixins.js';
|
|
4
|
-
import {
|
|
4
|
+
import { A as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
|
|
5
5
|
import { V as VividFoundationButton } from './button.js';
|
|
6
6
|
import { r as ref } from './ref.js';
|
|
7
7
|
import { c as classNames } from './class-names.js';
|
package/shared/definition25.cjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
const definition$1 = require('./definition27.cjs');
|
|
4
4
|
const definition = require('./definition11.cjs');
|
|
5
5
|
const vividElement = require('./vivid-element.cjs');
|
|
6
|
-
const enums = require('./enums.cjs');
|
|
7
6
|
const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
|
|
8
7
|
const formAssociated = require('./form-associated.cjs');
|
|
9
8
|
const formElements = require('./form-elements.cjs');
|
|
@@ -12,7 +11,7 @@ const when = require('./when.cjs');
|
|
|
12
11
|
const ref = require('./ref.cjs');
|
|
13
12
|
const classNames = require('./class-names.cjs');
|
|
14
13
|
|
|
15
|
-
const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-
|
|
14
|
+
const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
|
|
16
15
|
|
|
17
16
|
var objectExtend = extend;
|
|
18
17
|
|
|
@@ -2167,16 +2166,19 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
2167
2166
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2168
2167
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
2169
2168
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
2170
|
-
var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn,
|
|
2169
|
+
var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
|
|
2171
2170
|
const isFormAssociatedTryingToSetFormValueToFakePath = (value) => typeof value === "string";
|
|
2172
|
-
const generateFilePreviewTemplate = (buttonTag, locale) => {
|
|
2171
|
+
const generateFilePreviewTemplate = (buttonTag, iconTag, locale) => {
|
|
2173
2172
|
return `<div class="dz-preview dz-file-preview">
|
|
2174
2173
|
<div class="dz-details">
|
|
2175
2174
|
<div class="dz-filename"><span data-dz-name></span></div>
|
|
2176
2175
|
<div class="dz-size"><span data-dz-size></span></div>
|
|
2177
2176
|
</div>
|
|
2178
|
-
<div class="dz-error-message"
|
|
2179
|
-
<${
|
|
2177
|
+
<div class="dz-error-message">
|
|
2178
|
+
<${iconTag} name="info-line" size="-6"></${iconTag}>
|
|
2179
|
+
<span data-dz-errormessage></span>
|
|
2180
|
+
</div>
|
|
2181
|
+
<${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
|
|
2180
2182
|
</div>`;
|
|
2181
2183
|
};
|
|
2182
2184
|
let FilePicker = class extends FormAssociatedFilePicker {
|
|
@@ -2199,6 +2201,10 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2199
2201
|
* Used internally to hold the tag that button is registered at.
|
|
2200
2202
|
*/
|
|
2201
2203
|
this.buttonTag = "vwc-button";
|
|
2204
|
+
/**
|
|
2205
|
+
* Used internally to hold the tag that icon is registered at.
|
|
2206
|
+
*/
|
|
2207
|
+
this.iconTag = "vwc-icon";
|
|
2202
2208
|
__privateAdd(this, _localizeErrorMessage, (file, message) => {
|
|
2203
2209
|
if (file.previewElement) {
|
|
2204
2210
|
file.previewElement.classList.add("dz-error");
|
|
@@ -2289,7 +2295,11 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2289
2295
|
addRemoveLinks: false,
|
|
2290
2296
|
previewsContainer: previewList,
|
|
2291
2297
|
createImageThumbnails: false,
|
|
2292
|
-
previewTemplate: generateFilePreviewTemplate(
|
|
2298
|
+
previewTemplate: generateFilePreviewTemplate(
|
|
2299
|
+
this.buttonTag,
|
|
2300
|
+
this.iconTag,
|
|
2301
|
+
this.locale
|
|
2302
|
+
),
|
|
2293
2303
|
dictInvalidFileType: this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError,
|
|
2294
2304
|
dictMaxFilesExceeded: this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError,
|
|
2295
2305
|
dictFileTooBig: this.fileTooBigError || this.locale.filePicker.fileTooBigError,
|
|
@@ -2313,6 +2323,13 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2313
2323
|
setButtonTag(tag) {
|
|
2314
2324
|
this.buttonTag = tag;
|
|
2315
2325
|
}
|
|
2326
|
+
/**
|
|
2327
|
+
* Used internally to set the icon tag.
|
|
2328
|
+
* @internal
|
|
2329
|
+
*/
|
|
2330
|
+
setIconTag(tag) {
|
|
2331
|
+
this.iconTag = tag;
|
|
2332
|
+
}
|
|
2316
2333
|
/**
|
|
2317
2334
|
* @internal
|
|
2318
2335
|
*/
|
|
@@ -2363,17 +2380,6 @@ addRemoveButtonToFilesPreview_fn = function() {
|
|
|
2363
2380
|
}
|
|
2364
2381
|
__privateMethod(this, _FilePicker_instances, handleFilesChanged_fn).call(this);
|
|
2365
2382
|
});
|
|
2366
|
-
__privateMethod(this, _FilePicker_instances, setRemoveButtonConnotationOnError_fn).call(this);
|
|
2367
|
-
};
|
|
2368
|
-
setRemoveButtonConnotationOnError_fn = function() {
|
|
2369
|
-
__privateGet(this, _dropzone).on("error", (file) => {
|
|
2370
|
-
if (file.previewElement) {
|
|
2371
|
-
const removeButton = file.previewElement.querySelector(
|
|
2372
|
-
".remove-btn"
|
|
2373
|
-
);
|
|
2374
|
-
removeButton.connotation = enums.Connotation.Alert;
|
|
2375
|
-
}
|
|
2376
|
-
});
|
|
2377
2383
|
};
|
|
2378
2384
|
chooseFile_fn = function() {
|
|
2379
2385
|
if (__privateGet(this, _dropzone).hiddenFileInput) {
|
|
@@ -2458,6 +2464,7 @@ const FilePickerTemplate = (context) => {
|
|
|
2458
2464
|
return vividElement.html`
|
|
2459
2465
|
${(x) => {
|
|
2460
2466
|
x.setButtonTag(context.tagFor(definition.Button));
|
|
2467
|
+
x.setIconTag(context.tagFor(definition$1.Icon));
|
|
2461
2468
|
}}
|
|
2462
2469
|
<div class="base" aria-label="${(x) => x.label}">
|
|
2463
2470
|
${when.when(
|
package/shared/definition25.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { i as iconDefinition } from './definition27.js';
|
|
1
|
+
import { I as Icon, i as iconDefinition } from './definition27.js';
|
|
2
2
|
import { B as Button, b as buttonDefinition } from './definition11.js';
|
|
3
3
|
import { V as VividElement, a as attr, h as html, d as defineVividComponent, f as createRegisterFunction } from './vivid-element.js';
|
|
4
|
-
import { C as Connotation } from './enums.js';
|
|
5
4
|
import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
|
|
6
5
|
import { F as FormAssociated } from './form-associated.js';
|
|
7
6
|
import { e as errorText, f as formElements, a as FormElementHelperText, g as getFeedbackTemplate } from './form-elements.js';
|
|
@@ -10,7 +9,7 @@ import { w as when } from './when.js';
|
|
|
10
9
|
import { r as ref } from './ref.js';
|
|
11
10
|
import { c as classNames } from './class-names.js';
|
|
12
11
|
|
|
13
|
-
const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{color:var(--vvd-color-alert-
|
|
12
|
+
const styles = ":host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit}.control{display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;--focus-inset: 1px;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}.control:hover,.control:active,.control:focus-visible{background-color:var(--vvd-color-cta-100)}.main{pointer-events:none}.dz-preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.dz-preview .dz-details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.dz-preview .dz-details .dz-filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.dz-preview .dz-details .dz-size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.dz-preview .dz-error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.dz-preview:not(.dz-error) .dz-error-message{display:none}.dz-preview.dz-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.dz-preview.dz-error .dz-details .dz-size,.dz-preview.dz-error .dz-progress{display:none}.dz-preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.message{margin-block-start:4px;--_low-ink-color: var(--vvd-color-neutral-600)}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:empty{display:none}";
|
|
14
13
|
|
|
15
14
|
var objectExtend = extend;
|
|
16
15
|
|
|
@@ -2165,16 +2164,19 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
2165
2164
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
2166
2165
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
2167
2166
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
2168
|
-
var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn,
|
|
2167
|
+
var _dropzone, _FilePicker_instances, syncSingleFileState_fn, _localizeErrorMessage, _localizeFileSizeNumberAndUnits, addRemoveButtonToFilesPreview_fn, chooseFile_fn, updateHiddenFileInput_fn, keepOnlyNewestFile_fn, handleFilesChanged_fn, updateFormValue_fn, setValueToAFakePathLikeNativeInput_fn, formatNumbersInMessage_fn;
|
|
2169
2168
|
const isFormAssociatedTryingToSetFormValueToFakePath = (value) => typeof value === "string";
|
|
2170
|
-
const generateFilePreviewTemplate = (buttonTag, locale) => {
|
|
2169
|
+
const generateFilePreviewTemplate = (buttonTag, iconTag, locale) => {
|
|
2171
2170
|
return `<div class="dz-preview dz-file-preview">
|
|
2172
2171
|
<div class="dz-details">
|
|
2173
2172
|
<div class="dz-filename"><span data-dz-name></span></div>
|
|
2174
2173
|
<div class="dz-size"><span data-dz-size></span></div>
|
|
2175
2174
|
</div>
|
|
2176
|
-
<div class="dz-error-message"
|
|
2177
|
-
<${
|
|
2175
|
+
<div class="dz-error-message">
|
|
2176
|
+
<${iconTag} name="info-line" size="-6"></${iconTag}>
|
|
2177
|
+
<span data-dz-errormessage></span>
|
|
2178
|
+
</div>
|
|
2179
|
+
<${buttonTag} class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed" aria-label="${locale.filePicker.removeFileLabel}"></${buttonTag}>
|
|
2178
2180
|
</div>`;
|
|
2179
2181
|
};
|
|
2180
2182
|
let FilePicker = class extends FormAssociatedFilePicker {
|
|
@@ -2197,6 +2199,10 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2197
2199
|
* Used internally to hold the tag that button is registered at.
|
|
2198
2200
|
*/
|
|
2199
2201
|
this.buttonTag = "vwc-button";
|
|
2202
|
+
/**
|
|
2203
|
+
* Used internally to hold the tag that icon is registered at.
|
|
2204
|
+
*/
|
|
2205
|
+
this.iconTag = "vwc-icon";
|
|
2200
2206
|
__privateAdd(this, _localizeErrorMessage, (file, message) => {
|
|
2201
2207
|
if (file.previewElement) {
|
|
2202
2208
|
file.previewElement.classList.add("dz-error");
|
|
@@ -2287,7 +2293,11 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2287
2293
|
addRemoveLinks: false,
|
|
2288
2294
|
previewsContainer: previewList,
|
|
2289
2295
|
createImageThumbnails: false,
|
|
2290
|
-
previewTemplate: generateFilePreviewTemplate(
|
|
2296
|
+
previewTemplate: generateFilePreviewTemplate(
|
|
2297
|
+
this.buttonTag,
|
|
2298
|
+
this.iconTag,
|
|
2299
|
+
this.locale
|
|
2300
|
+
),
|
|
2291
2301
|
dictInvalidFileType: this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError,
|
|
2292
2302
|
dictMaxFilesExceeded: this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError,
|
|
2293
2303
|
dictFileTooBig: this.fileTooBigError || this.locale.filePicker.fileTooBigError,
|
|
@@ -2311,6 +2321,13 @@ let FilePicker = class extends FormAssociatedFilePicker {
|
|
|
2311
2321
|
setButtonTag(tag) {
|
|
2312
2322
|
this.buttonTag = tag;
|
|
2313
2323
|
}
|
|
2324
|
+
/**
|
|
2325
|
+
* Used internally to set the icon tag.
|
|
2326
|
+
* @internal
|
|
2327
|
+
*/
|
|
2328
|
+
setIconTag(tag) {
|
|
2329
|
+
this.iconTag = tag;
|
|
2330
|
+
}
|
|
2314
2331
|
/**
|
|
2315
2332
|
* @internal
|
|
2316
2333
|
*/
|
|
@@ -2361,17 +2378,6 @@ addRemoveButtonToFilesPreview_fn = function() {
|
|
|
2361
2378
|
}
|
|
2362
2379
|
__privateMethod(this, _FilePicker_instances, handleFilesChanged_fn).call(this);
|
|
2363
2380
|
});
|
|
2364
|
-
__privateMethod(this, _FilePicker_instances, setRemoveButtonConnotationOnError_fn).call(this);
|
|
2365
|
-
};
|
|
2366
|
-
setRemoveButtonConnotationOnError_fn = function() {
|
|
2367
|
-
__privateGet(this, _dropzone).on("error", (file) => {
|
|
2368
|
-
if (file.previewElement) {
|
|
2369
|
-
const removeButton = file.previewElement.querySelector(
|
|
2370
|
-
".remove-btn"
|
|
2371
|
-
);
|
|
2372
|
-
removeButton.connotation = Connotation.Alert;
|
|
2373
|
-
}
|
|
2374
|
-
});
|
|
2375
2381
|
};
|
|
2376
2382
|
chooseFile_fn = function() {
|
|
2377
2383
|
if (__privateGet(this, _dropzone).hiddenFileInput) {
|
|
@@ -2456,6 +2462,7 @@ const FilePickerTemplate = (context) => {
|
|
|
2456
2462
|
return html`
|
|
2457
2463
|
${(x) => {
|
|
2458
2464
|
x.setButtonTag(context.tagFor(Button));
|
|
2465
|
+
x.setIconTag(context.tagFor(Icon));
|
|
2459
2466
|
}}
|
|
2460
2467
|
<div class="base" aria-label="${(x) => x.label}">
|
|
2461
2468
|
${when(
|
package/shared/definition27.cjs
CHANGED
package/shared/definition27.js
CHANGED