@vonage/vivid 5.5.0 → 5.6.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/LICENSE.md +201 -0
- package/accordion/definition.cjs +5 -0
- package/accordion/definition.js +5 -0
- package/accordion/index.cjs +1 -1
- package/accordion/index.js +14 -3
- package/alert/definition.cjs +4 -12
- package/alert/definition.js +5 -13
- package/alert/index.cjs +11 -11
- package/alert/index.js +33 -37
- package/audio-player/definition.cjs +4 -0
- package/audio-player/definition.js +4 -0
- package/audio-player/index.cjs +1 -1
- package/audio-player/index.js +8 -2
- package/banner/definition.cjs +2 -4
- package/banner/definition.js +2 -4
- package/banner/index.cjs +2 -2
- package/banner/index.js +1 -1
- package/breadcrumb/definition.cjs +1 -0
- package/breadcrumb/definition.js +1 -0
- package/breadcrumb/index.cjs +1 -1
- package/breadcrumb/index.js +1 -0
- package/bundled/affix.js +1 -1
- package/bundled/anchored.cjs +1 -1
- package/bundled/anchored.js +6 -6
- package/bundled/attribute-binding-behaviour.cjs +1 -1
- package/bundled/attribute-binding-behaviour.js +3 -1
- package/bundled/base-color-picker.cjs +1 -1
- package/bundled/base-color-picker.js +9 -3
- package/bundled/base-progress.cjs +1 -1
- package/bundled/base-progress.js +3 -0
- package/bundled/button.cjs +1 -1
- package/bundled/button.js +14 -10
- package/bundled/calendar-picker.template.cjs +1 -1
- package/bundled/calendar-picker.template.js +2 -0
- package/bundled/definition10.cjs +7 -7
- package/bundled/definition10.js +27 -17
- package/bundled/definition11.cjs +2 -2
- package/bundled/definition11.js +5 -5
- package/bundled/definition12.cjs +1 -1
- package/bundled/definition12.js +1 -0
- package/bundled/definition17.cjs +1 -1
- package/bundled/definition17.js +4 -1
- package/bundled/definition18.cjs +1 -1
- package/bundled/definition18.js +13 -2
- package/bundled/definition19.cjs +6 -6
- package/bundled/definition19.js +68 -33
- package/bundled/definition2.cjs +8 -9
- package/bundled/definition2.js +67 -75
- package/bundled/definition22.cjs +1 -1
- package/bundled/definition22.js +1 -0
- package/bundled/definition3.cjs +1 -1
- package/bundled/definition3.js +1 -0
- package/bundled/definition5.cjs +1 -1
- package/bundled/definition5.js +9 -3
- package/bundled/definition6.cjs +1 -1
- package/bundled/definition6.js +1 -0
- package/bundled/definition7.cjs +1 -1
- package/bundled/definition7.js +7 -4
- package/bundled/definition8.cjs +1 -1
- package/bundled/definition8.js +1 -0
- package/bundled/definition9.cjs +6 -6
- package/bundled/definition9.js +545 -488
- package/bundled/delegates-aria.cjs +1 -1
- package/bundled/delegates-aria.js +3 -1
- package/bundled/form-associated.cjs +1 -1
- package/bundled/form-associated.js +11 -3
- package/bundled/host-semantics.js +4 -4
- package/bundled/listbox.cjs +1 -1
- package/bundled/listbox.js +21 -3
- package/bundled/localized.cjs +1 -1
- package/bundled/localized.js +137 -67
- package/bundled/mixins.cjs +4 -4
- package/bundled/mixins.js +10 -7
- package/bundled/picker-field.template.cjs +1 -1
- package/bundled/picker-field.template.js +1 -0
- package/bundled/scrollIntoView.cjs +1 -1
- package/bundled/scrollIntoView.js +4 -1
- package/bundled/text-field.cjs +1 -1
- package/bundled/text-field.js +1 -1
- package/bundled/time-selection-picker.template.cjs +2 -2
- package/bundled/time-selection-picker.template.js +3 -0
- package/bundled/vivid-element.cjs +4 -4
- package/bundled/vivid-element.js +529 -492
- package/calendar/definition.cjs +2 -0
- package/calendar/definition.js +2 -0
- package/calendar/index.cjs +1 -1
- package/calendar/index.js +2 -0
- package/checkbox/definition.cjs +1 -0
- package/checkbox/definition.js +1 -0
- package/color-picker/definition.cjs +5 -0
- package/color-picker/definition.js +5 -0
- package/color-picker/index.cjs +1 -1
- package/color-picker/index.js +5 -0
- package/combobox/definition.cjs +17 -6
- package/combobox/definition.js +17 -6
- package/combobox/index.cjs +14 -9
- package/combobox/index.js +53 -41
- package/custom-elements.json +6985 -542
- package/data-grid/definition.cjs +105 -7
- package/data-grid/definition.js +105 -7
- package/data-grid/index.cjs +52 -38
- package/data-grid/index.js +313 -242
- package/date-range-picker/definition.cjs +2 -0
- package/date-range-picker/definition.js +2 -0
- package/date-range-picker/index.cjs +1 -1
- package/date-range-picker/index.js +5 -1
- package/dial-pad/definition.cjs +9 -0
- package/dial-pad/definition.js +9 -0
- package/dial-pad/index.cjs +2 -2
- package/dial-pad/index.js +36 -12
- package/dialog/definition.cjs +1 -0
- package/dialog/definition.js +1 -0
- package/dialog/index.cjs +1 -1
- package/dialog/index.js +1 -0
- package/fab/definition.cjs +1 -0
- package/fab/definition.js +1 -0
- package/fab/index.cjs +1 -1
- package/fab/index.js +1 -0
- package/file-picker/definition.cjs +7 -2
- package/file-picker/definition.js +7 -2
- package/file-picker/index.cjs +6 -6
- package/file-picker/index.js +82 -73
- package/icon/definition.cjs +12 -21
- package/icon/definition.js +13 -22
- package/index.cjs +21 -0
- package/index.js +1 -1
- package/lib/data-grid/locale.d.ts +5 -0
- package/lib/date-picker/date-picker.d.ts +38 -38
- package/lib/date-range-picker/date-range-picker.d.ts +20 -20
- package/lib/date-time-picker/date-time-picker.d.ts +40 -40
- package/lib/icon/icon.d.ts +0 -1
- package/lib/menu/menu.d.ts +4 -4
- package/lib/rich-text-editor/definition.d.ts +3 -2
- package/lib/rich-text-editor/locale.d.ts +29 -3
- package/lib/rich-text-editor/popover.d.ts +19 -0
- package/lib/rich-text-editor/rich-text-editor.d.ts +16 -45
- package/lib/rich-text-editor/rich-text-editor.template.d.ts +2 -2
- package/lib/rich-text-editor/rte/config.d.ts +18 -0
- package/lib/rich-text-editor/rte/document.d.ts +28 -0
- package/lib/rich-text-editor/rte/exports.d.ts +23 -0
- package/lib/rich-text-editor/rte/feature.d.ts +46 -0
- package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +33 -0
- package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +11 -0
- package/lib/rich-text-editor/rte/features/internal/history.d.ts +10 -0
- package/lib/rich-text-editor/rte/features/internal/text-style.d.ts +18 -0
- package/lib/rich-text-editor/rte/html-parser.d.ts +24 -0
- package/lib/rich-text-editor/rte/html-serializer.d.ts +30 -0
- package/lib/rich-text-editor/rte/instance.d.ts +57 -0
- package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -0
- package/lib/rich-text-editor/rte/utils/impl.d.ts +1 -0
- package/lib/rich-text-editor/rte/utils/textblock-attrs.d.ts +29 -0
- package/lib/rich-text-editor/rte/utils/textblock-marks.d.ts +10 -0
- package/lib/rich-text-editor/rte/utils/ui.d.ts +109 -0
- package/lib/simple-color-picker/simple-color-picker.d.ts +4 -4
- package/lib/text-area/text-area.d.ts +1 -1
- package/lib/text-field/text-field.d.ts +1 -1
- package/lib/time-picker/time-picker.d.ts +20 -20
- package/lib/toggletip/toggletip.d.ts +4 -4
- package/lib/tooltip/tooltip.d.ts +4 -4
- package/locales/de-DE.cjs +42 -4
- package/locales/de-DE.js +42 -4
- package/locales/en-GB.cjs +43 -5
- package/locales/en-GB.js +43 -5
- package/locales/en-US.cjs +43 -5
- package/locales/en-US.js +43 -5
- package/locales/ja-JP.cjs +43 -5
- package/locales/ja-JP.js +43 -5
- package/locales/zh-CN.cjs +43 -5
- package/locales/zh-CN.js +43 -5
- package/menu/definition.cjs +1 -0
- package/menu/definition.js +1 -0
- package/number-field/definition.cjs +5 -3
- package/number-field/definition.js +5 -3
- package/number-field/index.cjs +5 -3
- package/number-field/index.js +31 -29
- package/package.json +76 -62
- package/pagination/definition.cjs +2 -0
- package/pagination/definition.js +2 -0
- package/pagination/index.cjs +1 -1
- package/pagination/index.js +2 -0
- package/radio/definition.cjs +4 -0
- package/radio/definition.js +4 -0
- package/range-slider/definition.cjs +2 -1
- package/range-slider/definition.js +2 -1
- package/range-slider/index.cjs +1 -1
- package/range-slider/index.js +3 -1
- package/rich-text-editor/definition.cjs +17942 -1074
- package/rich-text-editor/definition.js +17926 -1079
- package/rich-text-editor/index.cjs +29 -130
- package/rich-text-editor/index.js +5565 -2474
- package/searchable-select/definition.cjs +6 -2
- package/searchable-select/definition.js +6 -2
- package/searchable-select/index.cjs +1 -1
- package/searchable-select/index.js +11 -7
- package/select/definition.cjs +17 -2
- package/select/definition.js +17 -2
- package/shared/patterns/anchored.d.ts +8 -8
- package/shared/patterns/char-count/char-count.d.ts +1 -1
- package/shared/patterns/localized.d.ts +386 -0
- package/shared/picker-field/mixins/calendar-picker.d.ts +10 -10
- package/shared/picker-field/mixins/calendar-picker.template.d.ts +10 -10
- package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +20 -20
- package/shared/picker-field/mixins/single-date-picker.d.ts +28 -28
- package/shared/picker-field/mixins/single-value-picker.d.ts +8 -8
- package/shared/picker-field/mixins/time-selection-picker.d.ts +20 -20
- package/shared/picker-field/mixins/time-selection-picker.template.d.ts +20 -20
- package/shared/utils/promise.d.ts +7 -0
- package/simple-color-picker/definition.cjs +3 -0
- package/simple-color-picker/definition.js +3 -0
- package/simple-color-picker/index.cjs +1 -1
- package/simple-color-picker/index.js +3 -0
- package/slider/definition.cjs +7 -1
- package/slider/definition.js +7 -1
- package/styles/core/all.css +5 -1
- package/styles/core/theme.css +5 -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/switch/definition.cjs +1 -0
- package/switch/definition.js +1 -0
- package/switch/index.cjs +1 -1
- package/switch/index.js +1 -0
- package/tabs/definition.cjs +2 -0
- package/tabs/definition.js +2 -0
- package/tabs/index.cjs +1 -1
- package/tabs/index.js +2 -0
- package/text-area/definition.cjs +13 -7
- package/text-area/definition.js +13 -7
- package/text-area/index.cjs +6 -6
- package/text-area/index.js +20 -14
- package/text-field/definition.cjs +16 -6
- package/text-field/definition.js +16 -6
- package/toggletip/definition.cjs +5 -1
- package/toggletip/definition.js +5 -1
- package/tooltip/definition.cjs +4 -1
- package/tooltip/definition.js +4 -1
- package/tree-view/definition.cjs +28 -6
- package/tree-view/definition.js +28 -6
- package/tree-view/index.cjs +1 -1
- package/tree-view/index.js +28 -6
- package/unbundled/_commonjsHelpers.cjs +0 -26
- package/unbundled/_commonjsHelpers.js +1 -26
- package/unbundled/attribute-binding-behaviour.cjs +1 -0
- package/unbundled/attribute-binding-behaviour.js +1 -0
- package/unbundled/base-color-picker.cjs +9 -3
- package/unbundled/base-color-picker.js +9 -3
- package/unbundled/base-progress.cjs +3 -0
- package/unbundled/base-progress.js +3 -0
- package/unbundled/button.cjs +14 -10
- package/unbundled/button.js +14 -10
- package/unbundled/calendar-picker.template.cjs +2 -0
- package/unbundled/calendar-picker.template.js +2 -0
- package/unbundled/definition.cjs +1 -0
- package/unbundled/definition.js +1 -0
- package/unbundled/definition2.cjs +4 -1
- package/unbundled/definition2.js +4 -1
- package/unbundled/definition3.cjs +1 -0
- package/unbundled/definition3.js +1 -0
- package/unbundled/definition4.cjs +1 -0
- package/unbundled/definition4.js +1 -0
- package/unbundled/definition5.cjs +3 -2
- package/unbundled/definition5.js +4 -3
- package/unbundled/delegates-aria.cjs +1 -0
- package/unbundled/delegates-aria.js +1 -0
- package/unbundled/form-associated.cjs +4 -0
- package/unbundled/form-associated.js +4 -0
- package/unbundled/listbox.cjs +16 -1
- package/unbundled/listbox.js +16 -1
- package/unbundled/localized.cjs +36 -0
- package/unbundled/localized.js +37 -2
- package/unbundled/mixins.cjs +2 -0
- package/unbundled/mixins.js +2 -0
- package/unbundled/picker-field.template.cjs +1 -0
- package/unbundled/picker-field.template.js +1 -0
- package/unbundled/scrollIntoView.cjs +1 -0
- package/unbundled/scrollIntoView.js +1 -0
- package/unbundled/text-field.cjs +1 -1
- package/unbundled/text-field.js +1 -1
- package/unbundled/time-selection-picker.template.cjs +3 -0
- package/unbundled/time-selection-picker.template.js +3 -0
- package/unbundled/vivid-element.cjs +1 -1
- package/unbundled/vivid-element.js +1 -1
- package/video-player/definition.cjs +54 -44
- package/video-player/definition.js +50 -40
- package/video-player/index.cjs +28 -28
- package/video-player/index.js +1448 -1442
- package/vivid.api.json +6463 -6099
- package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +0 -4
- package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +0 -18
- package/lib/rich-text-editor/image-placeholder/definition.d.ts +0 -2
- package/lib/rich-text-editor/image-placeholder/image-placeholder.d.ts +0 -7
- package/lib/rich-text-editor/image-placeholder/image-placeholder.template.d.ts +0 -4
- package/lib/rich-text-editor/menubar/consts.d.ts +0 -18
- package/lib/rich-text-editor/menubar/definition.d.ts +0 -2
- package/lib/rich-text-editor/menubar/menubar.d.ts +0 -386
- package/lib/rich-text-editor/menubar/menubar.template.d.ts +0 -4
package/calendar/definition.cjs
CHANGED
|
@@ -20,6 +20,7 @@ function isCellOrHeader(el) {
|
|
|
20
20
|
}
|
|
21
21
|
const getCellOrHeader = (f) => f.matches('[role="columnheader"i]') ? '[role="gridcell"i]' : '[role="columnheader"i]';
|
|
22
22
|
function getNextFocusableGridElement(key, activeElement) {
|
|
23
|
+
/* v8 ignore else -- @preserve */
|
|
23
24
|
if (activeElement.parentNode instanceof HTMLElement) {
|
|
24
25
|
switch (key) {
|
|
25
26
|
case ARROW_RIGHT:
|
|
@@ -55,6 +56,7 @@ function getDay(el) {
|
|
|
55
56
|
const cellOrHeader = el.closest('[role="gridcell"i], [role="columnheader"i]');
|
|
56
57
|
if (cellOrHeader) {
|
|
57
58
|
const { parentElement } = cellOrHeader;
|
|
59
|
+
/* v8 ignore else -- @preserve */
|
|
58
60
|
if (parentElement) {
|
|
59
61
|
return parentElement.children && Array.from(parentElement.children).indexOf(cellOrHeader);
|
|
60
62
|
}
|
package/calendar/definition.js
CHANGED
|
@@ -16,6 +16,7 @@ function isCellOrHeader(el) {
|
|
|
16
16
|
}
|
|
17
17
|
const getCellOrHeader = (f) => f.matches('[role="columnheader"i]') ? '[role="gridcell"i]' : '[role="columnheader"i]';
|
|
18
18
|
function getNextFocusableGridElement(key, activeElement) {
|
|
19
|
+
/* v8 ignore else -- @preserve */
|
|
19
20
|
if (activeElement.parentNode instanceof HTMLElement) {
|
|
20
21
|
switch (key) {
|
|
21
22
|
case ARROW_RIGHT:
|
|
@@ -51,6 +52,7 @@ function getDay(el) {
|
|
|
51
52
|
const cellOrHeader = el.closest('[role="gridcell"i], [role="columnheader"i]');
|
|
52
53
|
if (cellOrHeader) {
|
|
53
54
|
const { parentElement } = cellOrHeader;
|
|
55
|
+
/* v8 ignore else -- @preserve */
|
|
54
56
|
if (parentElement) {
|
|
55
57
|
return parentElement.children && Array.from(parentElement.children).indexOf(cellOrHeader);
|
|
56
58
|
}
|
package/calendar/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const l=require("../bundled/vivid-element.cjs"),I=require("../bundled/enums.cjs"),$=require("../bundled/calendar-event.cjs"),f=require("../bundled/repeat.cjs"),z=require("../bundled/class-names.cjs"),H=':host{display:block;overflow:auto;block-size:inherit;max-block-size:inherit}ol{padding:0;margin:0;list-style:none}[role=grid i]{position:relative;z-index:0;display:grid;margin:auto;grid-template-areas:"filler column-headers" "row-headers calendar";grid-template-columns:min-content auto;inline-size:max(100%,500px);min-inline-size:880px}.row-headers{display:grid;grid-area:row-headers;grid-template-rows:repeat(24,1fr);margin-inline-end:2px}.row-headers>[role=rowheader i]{display:flex;align-items:flex-end;justify-content:flex-end}.row-headers>[role=rowheader i]>time{font:var(--vvd-typography-base-condensed);font-size:small;line-height:1;text-transform:uppercase;white-space:nowrap}.sticky-column .row-headers,.sticky-all .row-headers{position:sticky;z-index:1;background-color:var(--calendar-column-background-color, var(--vvd-color-canvas));inset-inline-start:0;margin-inline-end:3px}.calendar-row{display:contents}.calendar-grid-presentation{display:grid;overflow:hidden;border-radius:8px;background:var(--vvd-color-surface-2dp);counter-reset:listing;filter:var(--vvd-shadow-surface-2dp);gap:1px;grid-area:calendar;grid-auto-flow:column;grid-template:repeat(24,1fr)/repeat(7,1fr)}.hours{display:contents}.hours>[role=listitem i]{position:relative;grid-column:1/8;grid-row:var(--row);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));pointer-events:none}.hours>[role=listitem i]:not(:first-child):after{position:absolute;border-block-end:var(--vvd-color-neutral-100) 1px solid;content:"";inline-size:100%;margin-block-start:-1px}.hours>[role=listitem i]:nth-child(24n+1){--row: 1}.hours>[role=listitem i]:nth-child(24n+2){--row: 2}.hours>[role=listitem i]:nth-child(24n+3){--row: 3}.hours>[role=listitem i]:nth-child(24n+4){--row: 4}.hours>[role=listitem i]:nth-child(24n+5){--row: 5}.hours>[role=listitem i]:nth-child(24n+6){--row: 6}.hours>[role=listitem i]:nth-child(24n+7){--row: 7}.hours>[role=listitem i]:nth-child(24n+8){--row: 8}.hours>[role=listitem i]:nth-child(24n+9){--row: 9}.hours>[role=listitem i]:nth-child(24n+10){--row: 10}.hours>[role=listitem i]:nth-child(24n+11){--row: 11}.hours>[role=listitem i]:nth-child(24n+12){--row: 12}.hours>[role=listitem i]:nth-child(24n+13){--row: 13}.hours>[role=listitem i]:nth-child(24n+14){--row: 14}.hours>[role=listitem i]:nth-child(24n+15){--row: 15}.hours>[role=listitem i]:nth-child(24n+16){--row: 16}.hours>[role=listitem i]:nth-child(24n+17){--row: 17}.hours>[role=listitem i]:nth-child(24n+18){--row: 18}.hours>[role=listitem i]:nth-child(24n+19){--row: 19}.hours>[role=listitem i]:nth-child(24n+20){--row: 20}.hours>[role=listitem i]:nth-child(24n+21){--row: 21}.hours>[role=listitem i]:nth-child(24n+22){--row: 22}.hours>[role=listitem i]:nth-child(24n+23){--row: 23}.hours>[role=listitem i]:nth-child(24n+24){--row: 24}[role=gridcell i]{display:grid;gap:1px;grid-auto-flow:column}[role=gridcell i],[role=columnheader i],[role=columnheader i] [role=button i]{position:relative}[role=gridcell i]:before,[role=columnheader i]:before,[role=columnheader i] [role=button i]:before{position:absolute;z-index:-1;background-color:var(--vvd-color-information-400);content:"";inset:0}[role=gridcell i]:focus,[role=columnheader i]:focus,[role=columnheader i] [role=button i]:focus{outline:none}[role=gridcell i]:not(:focus-visible):before,[role=columnheader i]:not(:focus-visible):before,[role=columnheader i] [role=button i]:not(:focus-visible):before{display:none}.columns{display:contents}.columns>[role=gridcell i]{position:relative;grid-column:var(--column);grid-row:1/25}.columns>[role=gridcell i]:nth-child(1){--column: 1}.columns>[role=gridcell i]:nth-child(2){--column: 2}.columns>[role=gridcell i]:nth-child(3){--column: 3}.columns>[role=gridcell i]:nth-child(4){--column: 4}.columns>[role=gridcell i]:nth-child(5){--column: 5}.columns>[role=gridcell i]:nth-child(6){--column: 6}.columns>[role=gridcell i]:nth-child(7){--column: 7}.columns>[role=gridcell i]:not(:first-child):after{position:absolute;block-size:100%;border-inline-end:var(--vvd-color-neutral-100) 1px solid;content:"";margin-inline-start:-1px}.column-headers{display:grid;grid-area:column-headers;grid-template-columns:repeat(7,1fr)}.column-headers [role=columnheader i] h2{display:grid;align-items:baseline;margin:0;font:var(--vvd-typography-heading-4);grid-template-columns:1fr auto 1fr}.column-headers [role=columnheader i] h2>em{font:inherit;inline-size:min-content;inset-inline-start:0}.column-headers [role=columnheader i] h2>small{font:var(--vvd-typography-base-condensed);text-transform:uppercase}.sticky-header .column-headers,.sticky-all .column-headers{position:sticky;z-index:1;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));inset-block-start:0;margin-block-end:3px}.filler{background-color:transparent;grid-area:filler}.sticky-header .filler,.sticky-all .filler,.sticky-column .filler{position:sticky;z-index:2;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));margin-block-end:3px}.sticky-column .filler{inset-inline-start:0}.sticky-header .filler{inset-block-start:0}.sticky-all .filler{inset-block-start:0;inset-inline-start:0}',C="ArrowUp",j="ArrowRight",v="ArrowDown",q="ArrowLeft";function R(t){return t instanceof HTMLElement&&(t.matches('[role="gridcell"i]')||t.matches('[role="columnheader"i]'))}const T=t=>t.matches('[role="columnheader"i]')?'[role="gridcell"i]':'[role="columnheader"i]';function M(t,e){if(e.parentNode instanceof HTMLElement)switch(t){case j:return e.nextElementSibling||e.parentNode.firstElementChild;case q:return e.previousElementSibling||e.parentNode.lastElementChild;case C:case v:{const{children:r}=e.parentNode,n=Array.from(r).indexOf(e);return this.shadowRoot.querySelector(`${T(e)}:nth-child(${n+1})`)}}}function F(t,e){if(t!==v)return;const r=e.closest('[role="columnheader"i]'),n=this.shadowRoot.querySelectorAll('[role="columnheader"i]'),o=Array.from(n).indexOf(r);return this.shadowRoot.querySelector(`[role="gridcell"i]:nth-child(${o+1})`)}function u(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function s(t){return function e(r){return arguments.length===0||u(r)?e:t.apply(this,arguments)}}function N(t){return function e(r,n){switch(arguments.length){case 0:return e;case 1:return u(r)?e:s(function(o){return t(r,o)});default:return u(r)&&u(n)?e:u(r)?s(function(o){return t(o,n)}):u(n)?s(function(o){return t(r,o)}):t(r,n)}}}const P=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function b(t){for(var e=[],r;!(r=t.next()).done;)e.push(r.value);return e}function A(t,e,r){for(var n=0,o=r.length;n<o;){if(t(e,r[n]))return!0;n+=1}return!1}function U(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function g(t,e){return Object.prototype.hasOwnProperty.call(e,t)}function L(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const y=typeof Object.is=="function"?Object.is:L;var k=Object.prototype.toString,x=function(){return k.call(arguments)==="[object Arguments]"?function(e){return k.call(e)==="[object Arguments]"}:function(e){return g("callee",e)}}(),W=!{toString:null}.propertyIsEnumerable("toString"),O=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],E=function(){return arguments.propertyIsEnumerable("length")}(),B=function(e,r){for(var n=0;n<e.length;){if(e[n]===r)return!0;n+=1}return!1},D=s(typeof Object.keys=="function"&&!E?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var r,n,o=[],i=E&&x(e);for(r in e)g(r,e)&&(!i||r!=="length")&&(o[o.length]=r);if(W)for(n=O.length-1;n>=0;)r=O[n],g(r,e)&&!B(o,r)&&(o[o.length]=r),n-=1;return o}),S=s(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function _(t,e,r,n){var o=b(t),i=b(e);function a(c,h){return w(c,h,r.slice(),n.slice())}return!A(function(c,h){return!A(a,h,c)},i,o)}function w(t,e,r,n){if(y(t,e))return!0;var o=S(t);if(o!==S(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(o){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&U(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&y(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!y(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var i=r.length-1;i>=0;){if(r[i]===t)return n[i]===e;i-=1}switch(o){case"Map":return t.size!==e.size?!1:_(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size!==e.size?!1:_(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var a=D(t);if(a.length!==D(e).length)return!1;var c=r.concat([t]),h=n.concat([e]);for(i=a.length-1;i>=0;){var p=a[i];if(!(g(p,e)&&w(e[p],t[p],c,h)))return!1;i-=1}return!0}var K=N(function(e,r){return w(e,r,[],[])});function Y(t){return Object.prototype.toString.call(t)==="[object Object]"}function V(t){return Object.prototype.toString.call(t)==="[object String]"}var G=s(function(e){return!e});function X(t){var e=Object.prototype.toString.call(t);return e==="[object Uint8ClampedArray]"||e==="[object Int8Array]"||e==="[object Uint8Array]"||e==="[object Int16Array]"||e==="[object Uint16Array]"||e==="[object Int32Array]"||e==="[object Uint32Array]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object BigInt64Array]"||e==="[object BigUint64Array]"}var J=s(function(e){return e!=null&&typeof e["fantasy-land/empty"]=="function"?e["fantasy-land/empty"]():e!=null&&e.constructor!=null&&typeof e.constructor["fantasy-land/empty"]=="function"?e.constructor["fantasy-land/empty"]():e!=null&&typeof e.empty=="function"?e.empty():e!=null&&e.constructor!=null&&typeof e.constructor.empty=="function"?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:P(e)?[]:V(e)?"":Y(e)?{}:x(e)?function(){return arguments}():X(e)?e.constructor.from(""):void 0}),Q=s(function(e){return e!=null&&K(e,J(e))});function Z(t){const e=t.closest('[role="gridcell"i], [role="columnheader"i]');if(e){const{parentElement:r}=e;if(r)return r.children&&Array.from(r.children).indexOf(e)}}function ee(t,e,r){const n=e.closest('[role="rowheader"], [role="gridcell"i]');if(n){const o=n.getBoundingClientRect(),i=t.clientY-o.y,a=o.height/r,c=i/a;return Math.round((c+Number.EPSILON)*100)/100}}const te=function(t){if(!(t instanceof KeyboardEvent||t instanceof MouseEvent))throw new Error("Invalid event. Event must be instance of KeyboardEvent or MouseEvent");const[e]=t.composedPath();if(!(e&&e instanceof HTMLElement&&this.shadowRoot.contains(e)))throw new Error("Invalid event. Event must contain a target object which is a direct descendant of calendar");const r=Z(e);let n;t instanceof MouseEvent&&(n=ee(t,e,this._hours));const o={...r!=null&&{day:r},...n!=null&&{hour:n}};return G(Q(o))?o:null};var re=Object.defineProperty,m=(t,e,r,n)=>{for(var o=void 0,i=t.length-1,a;i>=0;i--)(a=t[i])&&(o=a(e,r,o)||o);return o&&re(e,r,o),o};const ne=t=>{const e=window.getComputedStyle(t).overflowY,r=window.getComputedStyle(t).overflowX;return{vertical:(e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight,horizontal:(r==="auto"||r==="scroll")&&t.scrollWidth>t.clientWidth}};class d extends l.VividElement{constructor(){super(...arguments),this.hour12=!1,this.stickyMode=I.Sticky.All,this._hours=24,this._days=7,this.hoursAsDatetime=Array.from({length:this._hours-1}).fill(new Date(new Date().setHours(0,0,0))).map((e,r)=>new Date(e.setHours(++r))),this._generateDaysArr=e=>{if(e.length==this._days)return e;const r=new Date(e[e.length-1]);return r.setDate(r.getDate()+1),this._generateDaysArr([...e,r])},this.getEventContext=te}get#e(){const{activeElement:e}=document;return e instanceof $.CalendarEvent?e:null}getCalendarEventContainingCell(e){const r=e.getAttribute("slot");return this.shadowRoot.querySelector(`slot[name="${r}"i]`).parentElement}arrowKeysInteractions(e){const{activeElement:r}=this.shadowRoot;let n;R(r)?n=M.call(this,e,r):this.#e?n=this.getCalendarEventContainingCell(this.#e):r?.matches('em[role="button"i]')?n=F.call(this,e,r):n=this.shadowRoot.querySelector('[role="columnheader"i]'),this.activateElement(n)}activateElement(e){const r=({target:n})=>n.setAttribute("tabindex","-1");e?.addEventListener("blur",r,{once:!0}),e?.setAttribute("tabindex","0"),e?.focus()}onKeydown({key:e}){const r=[C,j,v,q].some(n=>n==e);return r&&this.arrowKeysInteractions(e),!r}connectedCallback(){super.connectedCallback(),this.initializeScrollPosition()}initializeScrollPosition(){if(!ne(this).vertical)return;const n=this.scrollHeight/this._hours*(8-1);l.Updates.enqueue(()=>{this.scrollTo({top:n})})}}m([l.attr],d.prototype,"datetime");m([l.attr({attribute:"start-day"})],d.prototype,"startDay");m([l.attr],d.prototype,"locales");m([l.attr({mode:"boolean"})],d.prototype,"hour12");m([l.attr({attribute:"sticky-mode",mode:"fromView"})],d.prototype,"stickyMode");function oe(t){const e=r=>`0${r}`.slice(-2);return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`}const ie=new Map([["sunday",0],["monday",1]]);function le(t=new Date,e){t=new Date(t);let r=ie.get(e);r??=1;const n=t.getDate()-(t.getDay()+7-r)%7;return new Date(t.setDate(n))}const ae=({stickyMode:t})=>z.classNames([`sticky-${t}`,!!t]),se=()=>l.html` <div class="row-headers" role="row">
|
|
1
|
+
"use strict";const l=require("../bundled/vivid-element.cjs"),I=require("../bundled/enums.cjs"),$=require("../bundled/calendar-event.cjs"),f=require("../bundled/repeat.cjs"),z=require("../bundled/class-names.cjs"),H=':host{display:block;overflow:auto;block-size:inherit;max-block-size:inherit}ol{padding:0;margin:0;list-style:none}[role=grid i]{position:relative;z-index:0;display:grid;margin:auto;grid-template-areas:"filler column-headers" "row-headers calendar";grid-template-columns:min-content auto;inline-size:max(100%,500px);min-inline-size:880px}.row-headers{display:grid;grid-area:row-headers;grid-template-rows:repeat(24,1fr);margin-inline-end:2px}.row-headers>[role=rowheader i]{display:flex;align-items:flex-end;justify-content:flex-end}.row-headers>[role=rowheader i]>time{font:var(--vvd-typography-base-condensed);font-size:small;line-height:1;text-transform:uppercase;white-space:nowrap}.sticky-column .row-headers,.sticky-all .row-headers{position:sticky;z-index:1;background-color:var(--calendar-column-background-color, var(--vvd-color-canvas));inset-inline-start:0;margin-inline-end:3px}.calendar-row{display:contents}.calendar-grid-presentation{display:grid;overflow:hidden;border-radius:8px;background:var(--vvd-color-surface-2dp);counter-reset:listing;filter:var(--vvd-shadow-surface-2dp);gap:1px;grid-area:calendar;grid-auto-flow:column;grid-template:repeat(24,1fr)/repeat(7,1fr)}.hours{display:contents}.hours>[role=listitem i]{position:relative;grid-column:1/8;grid-row:var(--row);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));pointer-events:none}.hours>[role=listitem i]:not(:first-child):after{position:absolute;border-block-end:var(--vvd-color-neutral-100) 1px solid;content:"";inline-size:100%;margin-block-start:-1px}.hours>[role=listitem i]:nth-child(24n+1){--row: 1}.hours>[role=listitem i]:nth-child(24n+2){--row: 2}.hours>[role=listitem i]:nth-child(24n+3){--row: 3}.hours>[role=listitem i]:nth-child(24n+4){--row: 4}.hours>[role=listitem i]:nth-child(24n+5){--row: 5}.hours>[role=listitem i]:nth-child(24n+6){--row: 6}.hours>[role=listitem i]:nth-child(24n+7){--row: 7}.hours>[role=listitem i]:nth-child(24n+8){--row: 8}.hours>[role=listitem i]:nth-child(24n+9){--row: 9}.hours>[role=listitem i]:nth-child(24n+10){--row: 10}.hours>[role=listitem i]:nth-child(24n+11){--row: 11}.hours>[role=listitem i]:nth-child(24n+12){--row: 12}.hours>[role=listitem i]:nth-child(24n+13){--row: 13}.hours>[role=listitem i]:nth-child(24n+14){--row: 14}.hours>[role=listitem i]:nth-child(24n+15){--row: 15}.hours>[role=listitem i]:nth-child(24n+16){--row: 16}.hours>[role=listitem i]:nth-child(24n+17){--row: 17}.hours>[role=listitem i]:nth-child(24n+18){--row: 18}.hours>[role=listitem i]:nth-child(24n+19){--row: 19}.hours>[role=listitem i]:nth-child(24n+20){--row: 20}.hours>[role=listitem i]:nth-child(24n+21){--row: 21}.hours>[role=listitem i]:nth-child(24n+22){--row: 22}.hours>[role=listitem i]:nth-child(24n+23){--row: 23}.hours>[role=listitem i]:nth-child(24n+24){--row: 24}[role=gridcell i]{display:grid;gap:1px;grid-auto-flow:column}[role=gridcell i],[role=columnheader i],[role=columnheader i] [role=button i]{position:relative}[role=gridcell i]:before,[role=columnheader i]:before,[role=columnheader i] [role=button i]:before{position:absolute;z-index:-1;background-color:var(--vvd-color-information-400);content:"";inset:0}[role=gridcell i]:focus,[role=columnheader i]:focus,[role=columnheader i] [role=button i]:focus{outline:none}[role=gridcell i]:not(:focus-visible):before,[role=columnheader i]:not(:focus-visible):before,[role=columnheader i] [role=button i]:not(:focus-visible):before{display:none}.columns{display:contents}.columns>[role=gridcell i]{position:relative;grid-column:var(--column);grid-row:1/25}.columns>[role=gridcell i]:nth-child(1){--column: 1}.columns>[role=gridcell i]:nth-child(2){--column: 2}.columns>[role=gridcell i]:nth-child(3){--column: 3}.columns>[role=gridcell i]:nth-child(4){--column: 4}.columns>[role=gridcell i]:nth-child(5){--column: 5}.columns>[role=gridcell i]:nth-child(6){--column: 6}.columns>[role=gridcell i]:nth-child(7){--column: 7}.columns>[role=gridcell i]:not(:first-child):after{position:absolute;block-size:100%;border-inline-end:var(--vvd-color-neutral-100) 1px solid;content:"";margin-inline-start:-1px}.column-headers{display:grid;grid-area:column-headers;grid-template-columns:repeat(7,1fr)}.column-headers [role=columnheader i] h2{display:grid;align-items:baseline;margin:0;font:var(--vvd-typography-heading-4);grid-template-columns:1fr auto 1fr}.column-headers [role=columnheader i] h2>em{font:inherit;inline-size:min-content;inset-inline-start:0}.column-headers [role=columnheader i] h2>small{font:var(--vvd-typography-base-condensed);text-transform:uppercase}.sticky-header .column-headers,.sticky-all .column-headers{position:sticky;z-index:1;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));inset-block-start:0;margin-block-end:3px}.filler{background-color:transparent;grid-area:filler}.sticky-header .filler,.sticky-all .filler,.sticky-column .filler{position:sticky;z-index:2;background-color:var(--calendar-header-background-color, var(--vvd-color-canvas));margin-block-end:3px}.sticky-column .filler{inset-inline-start:0}.sticky-header .filler{inset-block-start:0}.sticky-all .filler{inset-block-start:0;inset-inline-start:0}',C="ArrowUp",j="ArrowRight",v="ArrowDown",q="ArrowLeft";function R(t){return t instanceof HTMLElement&&(t.matches('[role="gridcell"i]')||t.matches('[role="columnheader"i]'))}const T=t=>t.matches('[role="columnheader"i]')?'[role="gridcell"i]':'[role="columnheader"i]';function M(t,e){/* v8 ignore else -- @preserve */if(e.parentNode instanceof HTMLElement)switch(t){case j:return e.nextElementSibling||e.parentNode.firstElementChild;case q:return e.previousElementSibling||e.parentNode.lastElementChild;case C:case v:{const{children:r}=e.parentNode,n=Array.from(r).indexOf(e);return this.shadowRoot.querySelector(`${T(e)}:nth-child(${n+1})`)}}}function F(t,e){if(t!==v)return;const r=e.closest('[role="columnheader"i]'),n=this.shadowRoot.querySelectorAll('[role="columnheader"i]'),o=Array.from(n).indexOf(r);return this.shadowRoot.querySelector(`[role="gridcell"i]:nth-child(${o+1})`)}function u(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function s(t){return function e(r){return arguments.length===0||u(r)?e:t.apply(this,arguments)}}function N(t){return function e(r,n){switch(arguments.length){case 0:return e;case 1:return u(r)?e:s(function(o){return t(r,o)});default:return u(r)&&u(n)?e:u(r)?s(function(o){return t(o,n)}):u(n)?s(function(o){return t(r,o)}):t(r,n)}}}const P=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function b(t){for(var e=[],r;!(r=t.next()).done;)e.push(r.value);return e}function A(t,e,r){for(var n=0,o=r.length;n<o;){if(t(e,r[n]))return!0;n+=1}return!1}function U(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function g(t,e){return Object.prototype.hasOwnProperty.call(e,t)}function L(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const y=typeof Object.is=="function"?Object.is:L;var k=Object.prototype.toString,x=function(){return k.call(arguments)==="[object Arguments]"?function(e){return k.call(e)==="[object Arguments]"}:function(e){return g("callee",e)}}(),W=!{toString:null}.propertyIsEnumerable("toString"),O=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],E=function(){return arguments.propertyIsEnumerable("length")}(),B=function(e,r){for(var n=0;n<e.length;){if(e[n]===r)return!0;n+=1}return!1},D=s(typeof Object.keys=="function"&&!E?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var r,n,o=[],i=E&&x(e);for(r in e)g(r,e)&&(!i||r!=="length")&&(o[o.length]=r);if(W)for(n=O.length-1;n>=0;)r=O[n],g(r,e)&&!B(o,r)&&(o[o.length]=r),n-=1;return o}),S=s(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function _(t,e,r,n){var o=b(t),i=b(e);function a(c,h){return w(c,h,r.slice(),n.slice())}return!A(function(c,h){return!A(a,h,c)},i,o)}function w(t,e,r,n){if(y(t,e))return!0;var o=S(t);if(o!==S(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(o){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&U(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&y(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!y(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var i=r.length-1;i>=0;){if(r[i]===t)return n[i]===e;i-=1}switch(o){case"Map":return t.size!==e.size?!1:_(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size!==e.size?!1:_(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var a=D(t);if(a.length!==D(e).length)return!1;var c=r.concat([t]),h=n.concat([e]);for(i=a.length-1;i>=0;){var p=a[i];if(!(g(p,e)&&w(e[p],t[p],c,h)))return!1;i-=1}return!0}var K=N(function(e,r){return w(e,r,[],[])});function Y(t){return Object.prototype.toString.call(t)==="[object Object]"}function V(t){return Object.prototype.toString.call(t)==="[object String]"}var G=s(function(e){return!e});function X(t){var e=Object.prototype.toString.call(t);return e==="[object Uint8ClampedArray]"||e==="[object Int8Array]"||e==="[object Uint8Array]"||e==="[object Int16Array]"||e==="[object Uint16Array]"||e==="[object Int32Array]"||e==="[object Uint32Array]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object BigInt64Array]"||e==="[object BigUint64Array]"}var J=s(function(e){return e!=null&&typeof e["fantasy-land/empty"]=="function"?e["fantasy-land/empty"]():e!=null&&e.constructor!=null&&typeof e.constructor["fantasy-land/empty"]=="function"?e.constructor["fantasy-land/empty"]():e!=null&&typeof e.empty=="function"?e.empty():e!=null&&e.constructor!=null&&typeof e.constructor.empty=="function"?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:P(e)?[]:V(e)?"":Y(e)?{}:x(e)?function(){return arguments}():X(e)?e.constructor.from(""):void 0}),Q=s(function(e){return e!=null&&K(e,J(e))});function Z(t){const e=t.closest('[role="gridcell"i], [role="columnheader"i]');if(e){const{parentElement:r}=e;/* v8 ignore else -- @preserve */if(r)return r.children&&Array.from(r.children).indexOf(e)}}function ee(t,e,r){const n=e.closest('[role="rowheader"], [role="gridcell"i]');if(n){const o=n.getBoundingClientRect(),i=t.clientY-o.y,a=o.height/r,c=i/a;return Math.round((c+Number.EPSILON)*100)/100}}const te=function(t){if(!(t instanceof KeyboardEvent||t instanceof MouseEvent))throw new Error("Invalid event. Event must be instance of KeyboardEvent or MouseEvent");const[e]=t.composedPath();if(!(e&&e instanceof HTMLElement&&this.shadowRoot.contains(e)))throw new Error("Invalid event. Event must contain a target object which is a direct descendant of calendar");const r=Z(e);let n;t instanceof MouseEvent&&(n=ee(t,e,this._hours));const o={...r!=null&&{day:r},...n!=null&&{hour:n}};return G(Q(o))?o:null};var re=Object.defineProperty,m=(t,e,r,n)=>{for(var o=void 0,i=t.length-1,a;i>=0;i--)(a=t[i])&&(o=a(e,r,o)||o);return o&&re(e,r,o),o};const ne=t=>{const e=window.getComputedStyle(t).overflowY,r=window.getComputedStyle(t).overflowX;return{vertical:(e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight,horizontal:(r==="auto"||r==="scroll")&&t.scrollWidth>t.clientWidth}};class d extends l.VividElement{constructor(){super(...arguments),this.hour12=!1,this.stickyMode=I.Sticky.All,this._hours=24,this._days=7,this.hoursAsDatetime=Array.from({length:this._hours-1}).fill(new Date(new Date().setHours(0,0,0))).map((e,r)=>new Date(e.setHours(++r))),this._generateDaysArr=e=>{if(e.length==this._days)return e;const r=new Date(e[e.length-1]);return r.setDate(r.getDate()+1),this._generateDaysArr([...e,r])},this.getEventContext=te}get#e(){const{activeElement:e}=document;return e instanceof $.CalendarEvent?e:null}getCalendarEventContainingCell(e){const r=e.getAttribute("slot");return this.shadowRoot.querySelector(`slot[name="${r}"i]`).parentElement}arrowKeysInteractions(e){const{activeElement:r}=this.shadowRoot;let n;R(r)?n=M.call(this,e,r):this.#e?n=this.getCalendarEventContainingCell(this.#e):r?.matches('em[role="button"i]')?n=F.call(this,e,r):n=this.shadowRoot.querySelector('[role="columnheader"i]'),this.activateElement(n)}activateElement(e){const r=({target:n})=>n.setAttribute("tabindex","-1");e?.addEventListener("blur",r,{once:!0}),e?.setAttribute("tabindex","0"),e?.focus()}onKeydown({key:e}){const r=[C,j,v,q].some(n=>n==e);return r&&this.arrowKeysInteractions(e),!r}connectedCallback(){super.connectedCallback(),this.initializeScrollPosition()}initializeScrollPosition(){if(!ne(this).vertical)return;const n=this.scrollHeight/this._hours*(8-1);l.Updates.enqueue(()=>{this.scrollTo({top:n})})}}m([l.attr],d.prototype,"datetime");m([l.attr({attribute:"start-day"})],d.prototype,"startDay");m([l.attr],d.prototype,"locales");m([l.attr({mode:"boolean"})],d.prototype,"hour12");m([l.attr({attribute:"sticky-mode",mode:"fromView"})],d.prototype,"stickyMode");function oe(t){const e=r=>`0${r}`.slice(-2);return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`}const ie=new Map([["sunday",0],["monday",1]]);function le(t=new Date,e){t=new Date(t);let r=ie.get(e);r??=1;const n=t.getDate()-(t.getDay()+7-r)%7;return new Date(t.setDate(n))}const ae=({stickyMode:t})=>z.classNames([`sticky-${t}`,!!t]),se=()=>l.html` <div class="row-headers" role="row">
|
|
2
2
|
${f.repeat(t=>t.hoursAsDatetime,l.html`<span role="rowheader">
|
|
3
3
|
<time
|
|
4
4
|
datetime="${(t,e)=>new Intl.DateTimeFormat(e.parent.locales,{hour:"numeric",minute:"numeric",hour12:!1}).format(t)}"
|
package/calendar/index.js
CHANGED
|
@@ -9,6 +9,7 @@ function P(t) {
|
|
|
9
9
|
}
|
|
10
10
|
const U = (t) => t.matches('[role="columnheader"i]') ? '[role="gridcell"i]' : '[role="columnheader"i]';
|
|
11
11
|
function L(t, e) {
|
|
12
|
+
/* v8 ignore else -- @preserve */
|
|
12
13
|
if (e.parentNode instanceof HTMLElement)
|
|
13
14
|
switch (t) {
|
|
14
15
|
case x:
|
|
@@ -234,6 +235,7 @@ function oe(t) {
|
|
|
234
235
|
const e = t.closest('[role="gridcell"i], [role="columnheader"i]');
|
|
235
236
|
if (e) {
|
|
236
237
|
const { parentElement: r } = e;
|
|
238
|
+
/* v8 ignore else -- @preserve */
|
|
237
239
|
if (r)
|
|
238
240
|
return r.children && Array.from(r.children).indexOf(e);
|
|
239
241
|
}
|
package/checkbox/definition.cjs
CHANGED
package/checkbox/definition.js
CHANGED
|
@@ -599,9 +599,11 @@ class VvdHexInput extends HexInput {
|
|
|
599
599
|
this.displayName = "VvdHexInput";
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
|
+
/* v8 ignore if -- @preserve */
|
|
602
603
|
if (!customElements.get(VC_HEX_PICKER_TAG)) {
|
|
603
604
|
customElements.define(VC_HEX_PICKER_TAG, VvdHexPicker);
|
|
604
605
|
}
|
|
606
|
+
/* v8 ignore if -- @preserve */
|
|
605
607
|
if (!customElements.get(VC_HEX_INPUT_TAG)) {
|
|
606
608
|
customElements.define(VC_HEX_INPUT_TAG, VvdHexInput);
|
|
607
609
|
}
|
|
@@ -660,6 +662,7 @@ class ColorPicker extends withContextualHelp.WithContextualHelp(
|
|
|
660
662
|
* @internal
|
|
661
663
|
*/
|
|
662
664
|
placeholderChanged() {
|
|
665
|
+
/* v8 ignore if -- @preserve */
|
|
663
666
|
if (this.proxy instanceof HTMLInputElement) {
|
|
664
667
|
this.proxy.placeholder = this.placeholder;
|
|
665
668
|
}
|
|
@@ -813,6 +816,7 @@ class ColorPicker extends withContextualHelp.WithContextualHelp(
|
|
|
813
816
|
* @internal
|
|
814
817
|
*/
|
|
815
818
|
get _buttonColor() {
|
|
819
|
+
/* v8 ignore else -- @preserve */
|
|
816
820
|
if (!this._canvasColor) {
|
|
817
821
|
this._refreshCanvasColor();
|
|
818
822
|
}
|
|
@@ -910,6 +914,7 @@ class ColorPicker extends withContextualHelp.WithContextualHelp(
|
|
|
910
914
|
* @internal
|
|
911
915
|
*/
|
|
912
916
|
_handleSwatchSelection(value) {
|
|
917
|
+
/* v8 ignore else -- @preserve */
|
|
913
918
|
if (this.value !== value) {
|
|
914
919
|
this._ariaLiveDescription = this.locale.colorPicker.selectionSuccessMessage(value);
|
|
915
920
|
}
|
|
@@ -595,9 +595,11 @@ class VvdHexInput extends HexInput {
|
|
|
595
595
|
this.displayName = "VvdHexInput";
|
|
596
596
|
}
|
|
597
597
|
}
|
|
598
|
+
/* v8 ignore if -- @preserve */
|
|
598
599
|
if (!customElements.get(VC_HEX_PICKER_TAG)) {
|
|
599
600
|
customElements.define(VC_HEX_PICKER_TAG, VvdHexPicker);
|
|
600
601
|
}
|
|
602
|
+
/* v8 ignore if -- @preserve */
|
|
601
603
|
if (!customElements.get(VC_HEX_INPUT_TAG)) {
|
|
602
604
|
customElements.define(VC_HEX_INPUT_TAG, VvdHexInput);
|
|
603
605
|
}
|
|
@@ -656,6 +658,7 @@ class ColorPicker extends WithContextualHelp(
|
|
|
656
658
|
* @internal
|
|
657
659
|
*/
|
|
658
660
|
placeholderChanged() {
|
|
661
|
+
/* v8 ignore if -- @preserve */
|
|
659
662
|
if (this.proxy instanceof HTMLInputElement) {
|
|
660
663
|
this.proxy.placeholder = this.placeholder;
|
|
661
664
|
}
|
|
@@ -809,6 +812,7 @@ class ColorPicker extends WithContextualHelp(
|
|
|
809
812
|
* @internal
|
|
810
813
|
*/
|
|
811
814
|
get _buttonColor() {
|
|
815
|
+
/* v8 ignore else -- @preserve */
|
|
812
816
|
if (!this._canvasColor) {
|
|
813
817
|
this._refreshCanvasColor();
|
|
814
818
|
}
|
|
@@ -906,6 +910,7 @@ class ColorPicker extends WithContextualHelp(
|
|
|
906
910
|
* @internal
|
|
907
911
|
*/
|
|
908
912
|
_handleSwatchSelection(value) {
|
|
913
|
+
/* v8 ignore else -- @preserve */
|
|
909
914
|
if (this.value !== value) {
|
|
910
915
|
this._ariaLiveDescription = this.locale.colorPicker.selectionSuccessMessage(value);
|
|
911
916
|
}
|
package/color-picker/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const l=require("../bundled/vivid-element.cjs"),G=require("../bundled/definition9.cjs"),J=require("../bundled/definition2.cjs"),U=require("../bundled/mixins.cjs"),Y=require("../bundled/delegates-aria.cjs"),ie=require("../bundled/index.cjs"),u=require("../bundled/base-color-picker.cjs"),ae=require("../bundled/with-contextual-help.cjs"),le=require("../bundled/with-error-text.cjs"),ne=require("../bundled/with-success-text.cjs"),ce=require("../bundled/trapped-focus.cjs"),Q=require("../bundled/definition10.cjs"),Z=require("../bundled/definition3.cjs"),ee=require("../bundled/definition11.cjs"),f=require("../bundled/ref.cjs"),S=require("../bundled/when.cjs"),A=require("../bundled/slotted.cjs"),de=require("../bundled/repeat.cjs"),q=require("../bundled/class-names.cjs"),pe=".palette{display:grid;grid-template-columns:repeat(var(--swatches-per-row, 7),var(--_color-swatch-size, 24px))}.swatch{position:relative;padding:0;border-radius:4px;background-color:var(--swatch-color);block-size:var(--_color-swatch-size, 24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size, 24px)}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;--focus-inset: -3px}:host{display:inline-block;--_low-ink-color: var(--vvd-color-neutral-600)}.base{display:inline-block;min-inline-size:var(--_color-picker-min-inline-size, 280px)}.control{inline-size:100%}.button{display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:4px;margin:0;background-color:var(--button-color, var(--vvd-color-canvas-text));block-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));color:var(--vvd-color-canvas);inline-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4);text-decoration:none;vertical-align:middle}.button.contrast{color:var(--vvd-color-canvas-text)}.button:not(.disabled){cursor:pointer}.button.disabled{background-color:var(--vvd-color-neutral-300);color:var(--vvd-color-neutral-500);cursor:not-allowed}.button:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.button [data-vvd-component=icon]{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.dialog{display:flex;flex-direction:column;min-inline-size:var(--_color-picker-popup-min-inline-size, 264px)}.dialog .header{display:inline-flex;align-items:center;justify-content:space-between;padding-block:8px;padding-inline:16px}.dialog .header-title{font:var(--vvd-typography-base-extended-bold);margin-block:0}.dialog .body{display:flex;flex-direction:column;gap:16px;margin-block-end:16px;padding-inline:16px}.dialog .hex-input-wrapper{display:flex;align-items:stretch;gap:8px}.dialog .hex-input-wrapper [data-vvd-component=button]{flex:0 0 auto}.dialog .footer{padding:16px;border-top:1px solid var(--vvd-color-neutral-200)}.dialog .footer-header{margin-block-end:8px}.dialog .swatches-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.dialog .palette{gap:var(--_color-swatches-gap, 8px)}vvd-hex-input{min-width:0;flex:1 1 auto}vvd-hex-input::part(input),vvd-hex-input>input{width:100%;height:100%;box-sizing:border-box;border:0 none;border-radius:8px;background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-500);font:var(--vvd-typography-base);outline:transparent;padding-inline:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4)}vvd-hex-input::part(input):focus-visible,vvd-hex-input>input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}vvd-hex-picker{width:auto;height:auto;gap:16px;inline-size:100%}vvd-hex-picker::part(saturation){border-radius:8px;block-size:120px}vvd-hex-picker::part(hue){flex:0 0 8px;border-radius:8px}vvd-hex-picker::part(hue-pointer){width:10px;height:10px}vvd-hex-picker::part(saturation-pointer){width:18px;height:18px}::part(popup-base){inline-size:max-content;min-block-size:var(--_color-picker-popup-min-inline-size, 264px);min-inline-size:var(--_color-picker-popup-min-inline-size, 264px)}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0)}",b=(r,e=0,o=1)=>r>o?o:r<e?e:r,n=(r,e=0,o=Math.pow(10,e))=>Math.round(o*r)/o,he=r=>ge(E(r)),E=r=>(r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?n(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?n(parseInt(r.substring(6,8),16)/255,2):1}),ue=r=>be(fe(r)),ve=({h:r,s:e,v:o,a:t})=>{const s=(200-e)*o/100;return{h:n(r),s:n(s>0&&s<200?e*o/100/(s<=100?s:200-s)*100:0),l:n(s/2),a:n(t,2)}},P=r=>{const{h:e,s:o,l:t}=ve(r);return`hsl(${e}, ${o}%, ${t}%)`},fe=({h:r,s:e,v:o,a:t})=>{r=r/360*6,e=e/100,o=o/100;const s=Math.floor(r),a=o*(1-e),i=o*(1-(r-s)*e),d=o*(1-(1-r+s)*e),y=s%6;return{r:n([o,i,a,a,d,o][y]*255),g:n([d,o,o,i,a,a][y]*255),b:n([a,a,d,o,o,i][y]*255),a:n(t,2)}},g=r=>{const e=r.toString(16);return e.length<2?"0"+e:e},be=({r,g:e,b:o,a:t})=>{const s=t<1?g(n(t*255)):"";return"#"+g(r)+g(e)+g(o)+s},ge=({r,g:e,b:o,a:t})=>{const s=Math.max(r,e,o),a=s-Math.min(r,e,o),i=a?s===r?(e-o)/a:s===e?2+(o-r)/a:4+(r-e)/a:0;return{h:n(60*(i<0?i+6:i)),s:n(s?a/s*100:0),v:n(s/255*100),a:t}},te=(r,e)=>{if(r===e)return!0;for(const o in r)if(r[o]!==e[o])return!1;return!0},xe=(r,e)=>r.toLowerCase()===e.toLowerCase()?!0:te(E(r),E(e)),M={},z=r=>{let e=M[r];return e||(e=document.createElement("template"),e.innerHTML=r,M[r]=e),e},L=(r,e,o)=>{r.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:o}))};let h=!1;const H=r=>"touches"in r,me=r=>h&&!H(r)?!1:(h||(h=H(r)),!0),N=(r,e)=>{const o=H(e)?e.touches[0]:e,t=r.el.getBoundingClientRect();L(r.el,"move",r.getMove({x:b((o.pageX-(t.left+window.pageXOffset))/t.width),y:b((o.pageY-(t.top+window.pageYOffset))/t.height)}))},ye=(r,e)=>{const o=e.keyCode;o>40||r.xy&&o<37||o<33||(e.preventDefault(),L(r.el,"move",r.getMove({x:o===39?.01:o===37?-.01:o===34?.05:o===33?-.05:o===35?1:o===36?-1:0,y:o===40?.01:o===38?-.01:0},!0)))};class oe{constructor(e,o,t,s){const a=z(`<div role="slider" tabindex="0" part="${o}" ${t}><div part="${o}-pointer"></div></div>`);e.appendChild(a.content.cloneNode(!0));const i=e.querySelector(`[part=${o}]`);i.addEventListener("mousedown",this),i.addEventListener("touchstart",this),i.addEventListener("keydown",this),this.el=i,this.xy=s,this.nodes=[i.firstChild,i]}set dragging(e){const o=e?document.addEventListener:document.removeEventListener;o(h?"touchmove":"mousemove",this),o(h?"touchend":"mouseup",this)}handleEvent(e){switch(e.type){case"mousedown":case"touchstart":if(e.preventDefault(),!me(e)||!h&&e.button!=0)return;this.el.focus(),N(this,e),this.dragging=!0;break;case"mousemove":case"touchmove":e.preventDefault(),N(this,e);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":ye(this,e);break}}style(e){e.forEach((o,t)=>{for(const s in o)this.nodes[t].style.setProperty(s,o[s])})}}class Ce extends oe{constructor(e){super(e,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:e}){this.h=e,this.style([{left:`${e/360*100}%`,color:P({h:e,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${n(e)}`)}getMove(e,o){return{h:o?b(this.h+e.x*360,0,360):360*e.x}}}class $e extends oe{constructor(e){super(e,"saturation",'aria-label="Color"',!0)}update(e){this.hsva=e,this.style([{top:`${100-e.v}%`,left:`${e.s}%`,color:P(e)},{"background-color":P({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${n(e.s)}%, Brightness ${n(e.v)}%`)}getMove(e,o){return{s:o?b(this.hsva.s+e.x*100,0,100):e.x*100,v:o?b(this.hsva.v-e.y*100,0,100):Math.round(100-e.y*100)}}}const we=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',ke="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}",_e="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}",x=Symbol("same"),C=Symbol("color"),F=Symbol("hsva"),$=Symbol("update"),D=Symbol("parts"),B=Symbol("css"),O=Symbol("sliders");let Se=class extends HTMLElement{static get observedAttributes(){return["color"]}get[B](){return[we,ke,_e]}get[O](){return[$e,Ce]}get color(){return this[C]}set color(e){if(!this[x](e)){const o=this.colorModel.toHsva(e);this[$](o),this[C]=e}}constructor(){super();const e=z(`<style>${this[B].join("")}</style>`),o=this.attachShadow({mode:"open"});o.appendChild(e.content.cloneNode(!0)),o.addEventListener("move",this),this[D]=this[O].map(t=>new t(o))}connectedCallback(){if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(e,o,t){const s=this.colorModel.fromAttr(t);this[x](s)||(this.color=s)}handleEvent(e){const o=this[F],t={...o,...e.detail};this[$](t);let s;!te(t,o)&&!this[x](s=this.colorModel.fromHsva(t))&&(this[C]=s,L(this,"color-changed",{value:s}))}[x](e){return this.color&&this.colorModel.equal(e,this.color)}[$](e){this[F]=e,this[D].forEach(o=>o.update(e))}};const Ee={defaultColor:"#000",toHsva:he,fromHsva:({h:r,s:e,v:o})=>ue({h:r,s:e,v:o,a:1}),equal:xe,fromAttr:r=>r};class Pe extends Se{get colorModel(){return Ee}}class re extends Pe{}customElements.define("hex-color-picker",re);const He=/^#?([0-9A-F]{3,8})$/i,w=(r,e)=>{const o=He.exec(r),t=o?o[1].length:0;return t===3||t===6||!!e&&t===4||!!e&&t===8},Te=z('<slot><input part="input" spellcheck="false"></slot>'),V=(r,e)=>r.replace(/([^0-9A-F]+)/gi,"").substring(0,e?8:6),R=Symbol("alpha"),m=Symbol("color"),K=Symbol("saved"),k=Symbol("input"),_=Symbol("init"),W=Symbol("prefix"),v=Symbol("update");class Ie extends HTMLElement{static get observedAttributes(){return["alpha","color","prefixed"]}get color(){return this[m]}set color(e){this[m]=e,this[v](e)}get alpha(){return this[R]}set alpha(e){this[R]=e,this.toggleAttribute("alpha",e);const o=this.color;o&&!w(o,e)&&(this.color=o.startsWith("#")?o.substring(0,o.length===5?4:7):o.substring(0,o.length===4?3:6))}get prefixed(){return this[W]}set prefixed(e){this[W]=e,this.toggleAttribute("prefixed",e),this[v](this.color)}constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(Te.content.cloneNode(!0)),e.firstElementChild.addEventListener("slotchange",()=>this[_](e))}connectedCallback(){if(this[_](this.shadowRoot),this.hasOwnProperty("alpha")){const e=this.alpha;delete this.alpha,this.alpha=e}else this.alpha=this.hasAttribute("alpha");if(this.hasOwnProperty("prefixed")){const e=this.prefixed;delete this.prefixed,this.prefixed=e}else this.prefixed=this.hasAttribute("prefixed");if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color==null?this.color=this.getAttribute("color")||"":this[m]&&this[v](this[m])}handleEvent(e){const o=e.target,{value:t}=o;switch(e.type){case"input":const s=V(t,this.alpha);this[K]=this.color,(w(s,this.alpha)||t==="")&&(this.color=s,this.dispatchEvent(new CustomEvent("color-changed",{bubbles:!0,detail:{value:s?"#"+s:""}})));break;case"blur":t&&!w(t,this.alpha)&&(this.color=this[K])}}attributeChangedCallback(e,o,t){e==="color"&&this.color!==t&&(this.color=t);const s=t!=null;e==="alpha"&&this.alpha!==s&&(this.alpha=s),e==="prefixed"&&this.prefixed!==s&&(this.prefixed=s)}[_](e){let o=this.querySelector("input");if(!o){let t;for(;t=this.firstChild;)t.remove();o=e.querySelector("input")}o.addEventListener("input",this),o.addEventListener("blur",this),this[k]=o,this[v](this.color)}[v](e){this[k]&&(this[k].value=e==null||e==""?"":(this.prefixed?"#":"")+V(e,this.alpha))}}class se extends Ie{}customElements.define("hex-input",se);var ze=Object.defineProperty,p=(r,e,o,t)=>{for(var s=void 0,a=r.length-1,i;a>=0;a--)(i=r[a])&&(s=i(e,o,s)||s);return s&&ze(e,o,s),s};const T="vvd-hex-picker",I="vvd-hex-input";class Le extends re{static{this.displayName="VvdHexPicker"}}class Ae extends se{static{this.displayName="VvdHexInput"}}customElements.get(T)||customElements.define(T,Le);customElements.get(I)||customElements.define(I,Ae);const X=T,j=I;class c extends ae.WithContextualHelp(U.WithFeedback(le.WithErrorText(ne.WithSuccessText(Y.DelegatesAria(ce.TrappedFocus(u.BaseColorPicker(l.VividElement))))))){constructor(){super(...arguments),this.disableSavedColors=!1,this.savedColors=[],this.maxSwatches=6,this.#t=e=>{this._isInPath(e,this._buttonEl)||this._isInPath(e,this._popupEl)||(this.open=!1)},this.copyIconName="copy-2-line",this.#e=null,this._copyValueToClipboard=async e=>{try{await navigator.clipboard.writeText(e),this._setTemporaryCopyIcon("check-circle-line"),this._ariaLiveDescription=this.locale.colorPicker.copySuccessMessage(e)}catch{alert(this.locale.colorPicker.copyErrorText),this._setTemporaryCopyIcon("error-line"),this._ariaLiveDescription=this.locale.colorPicker.copyErrorText}},this._ariaLiveDescription=""}static{this.HEX_COLOR_PATTERN=/^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$/}placeholderChanged(){this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}handleChange(){this.$emit("change")}openChanged(e,o){o&&this.isConnected&&requestAnimationFrame(()=>{this._refreshCanvasColor()})}savedColorsKeyChanged(){this.savedColors=this._loadSavedColors()}get _savedColorsStorageKey(){return this.savedColorsKey?this.savedColorsKey:`vvd-saved-colors:${this.tagName.toLowerCase()}`}_handleColorSaving(){this._saveCurrentColor()}_saveCurrentColor(){const e=this.value;if(typeof e!="string"||!u.isValidHexColor(e))return;const o=Array.isArray(this.savedColors)?[...this.savedColors]:[],t=o.findIndex(s=>s?.value===e);t!==-1&&o.splice(t,1),o.unshift({value:e}),this.savedColors=o.slice(0,this._maxSwatchesNormalized),this._setSavedColors(this.savedColors)}_loadSavedColors(){try{const e=localStorage.getItem(this._savedColorsStorageKey);if(!e)return[];const o=JSON.parse(e);return Array.isArray(o)?o.filter(t=>t&&typeof t.value=="string"&&u.isValidHexColor(t.value)).map(t=>({value:t.value,label:typeof t.label=="string"?t.label:void 0})):[]}catch{return[]}}_setSavedColors(e){try{localStorage.setItem(this._savedColorsStorageKey,JSON.stringify(e))}catch{}}get allSwatches(){const e=Array.isArray(this.swatches)?this.swatches:[],o=Array.isArray(this.savedColors)?this.savedColors:[],t=new Set,s=[],a=i=>{!i||typeof i.value!="string"||!u.isValidHexColor(i.value)||t.has(i.value)||(t.add(i.value),s.push(i))};return this.disableSavedColors||o.forEach(a),e.forEach(a),s.slice(0,this._maxSwatchesNormalized)}get _maxSwatchesNormalized(){return Number.isFinite(this.maxSwatches)?Math.max(0,Math.floor(this.maxSwatches)):0}maxSwatchesChanged(){const e=this._maxSwatchesNormalized;this.savedColors?.length>e&&(this.savedColors=this.savedColors.slice(0,e),this._setSavedColors(this.savedColors))}_onPickerColorChanged(e){typeof e.detail?.value=="string"&&(this.value=e.detail?.value)}valueChanged(e,o){this._vcHexPickerEl&&typeof o=="string"&&(this._vcHexPickerEl.color=o),this._vcHexInputEl&&typeof o=="string"&&(this._vcHexInputEl.color=o)}_onTextFieldInput(e){const o=e.currentTarget;this.value=o.value}get _buttonColor(){return this._canvasColor||this._refreshCanvasColor(),this.value&&u.isValidHexColor(this.value)?this.value:"var(--vvd-color-canvas-text)"}_onButtonClick(){this.open=!this.open}_handleCloseRequest(){this.open=!1}_isInPath(e,o){if(!o)return!1;const t=e.composedPath?.();return!!(t&&t.includes(o))}#t;connectedCallback(){super.connectedCallback(),this.savedColors=this._loadSavedColors(),document.addEventListener("mousedown",this.#t,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this.#t,!0)}#e;_setTemporaryCopyIcon(e,o=2e3){this.copyIconName=e,this.#e&&clearTimeout(this.#e),this.#e=setTimeout(()=>{this.copyIconName="copy-2-line",this.#e=null},o)}_onBaseKeydown(e){return this.open&&ie.handleEscapeKeyAndStopPropogation(e)?(this.open=!1,!1):!this._trappedFocus(e,()=>this._focusableElsWithinDialog())}_focusableElsWithinDialog(){return this._popupEl.querySelectorAll('button:not([role="gridcell"]), [data-vvd-component="button"], vwc-button:not([role="gridcell"])')}_handleCellKeydown(e,o,t,s){if(e.key==="Tab"){e.preventDefault();const a=this._focusableElsWithinDialog(),i=Array.prototype.indexOf.call(a,e.currentTarget),d=e.shiftKey?(i-1+a.length)%a.length:(i+1)%a.length;return a[d]?.focus(),!1}return super._handleCellKeydown(e,o,t,s)}_handleSwatchSelection(e){this.value!==e&&(this._ariaLiveDescription=this.locale.colorPicker.selectionSuccessMessage(e)),super._handleSwatchSelection(e)}}p([l.attr],c.prototype,"placeholder");p([l.attr({attribute:"saved-colors-key"})],c.prototype,"savedColorsKey");p([l.attr({mode:"boolean",attribute:"disable-saved-colors"})],c.prototype,"disableSavedColors");p([l.observable],c.prototype,"savedColors");p([l.attr({attribute:"max-swatches",mode:"fromView",converter:l.nullableNumberConverter})],c.prototype,"maxSwatches");p([l.observable],c.prototype,"copyIconName");p([l.observable],c.prototype,"_ariaLiveDescription");function qe(r,e){const o=t=>q.classNames("control");return l.html`
|
|
1
|
+
"use strict";const l=require("../bundled/vivid-element.cjs"),G=require("../bundled/definition9.cjs"),J=require("../bundled/definition2.cjs"),U=require("../bundled/mixins.cjs"),Y=require("../bundled/delegates-aria.cjs"),ie=require("../bundled/index.cjs"),u=require("../bundled/base-color-picker.cjs"),ae=require("../bundled/with-contextual-help.cjs"),le=require("../bundled/with-error-text.cjs"),ne=require("../bundled/with-success-text.cjs"),ce=require("../bundled/trapped-focus.cjs"),Q=require("../bundled/definition10.cjs"),Z=require("../bundled/definition3.cjs"),ee=require("../bundled/definition11.cjs"),f=require("../bundled/ref.cjs"),S=require("../bundled/when.cjs"),A=require("../bundled/slotted.cjs"),de=require("../bundled/repeat.cjs"),q=require("../bundled/class-names.cjs"),pe=".palette{display:grid;grid-template-columns:repeat(var(--swatches-per-row, 7),var(--_color-swatch-size, 24px))}.swatch{position:relative;padding:0;border-radius:4px;background-color:var(--swatch-color);block-size:var(--_color-swatch-size, 24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size, 24px)}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;--focus-inset: -3px}:host{display:inline-block;--_low-ink-color: var(--vvd-color-neutral-600)}.base{display:inline-block;min-inline-size:var(--_color-picker-min-inline-size, 280px)}.control{inline-size:100%}.button{display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:4px;margin:0;background-color:var(--button-color, var(--vvd-color-canvas-text));block-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));color:var(--vvd-color-canvas);inline-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-inline:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/4);text-decoration:none;vertical-align:middle}.button.contrast{color:var(--vvd-color-canvas-text)}.button:not(.disabled){cursor:pointer}.button.disabled{background-color:var(--vvd-color-neutral-300);color:var(--vvd-color-neutral-500);cursor:not-allowed}.button:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.button [data-vvd-component=icon]{font-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2);line-height:1}.dialog{display:flex;flex-direction:column;min-inline-size:var(--_color-picker-popup-min-inline-size, 264px)}.dialog .header{display:inline-flex;align-items:center;justify-content:space-between;padding-block:8px;padding-inline:16px}.dialog .header-title{font:var(--vvd-typography-base-extended-bold);margin-block:0}.dialog .body{display:flex;flex-direction:column;gap:16px;margin-block-end:16px;padding-inline:16px}.dialog .hex-input-wrapper{display:flex;align-items:stretch;gap:8px}.dialog .hex-input-wrapper [data-vvd-component=button]{flex:0 0 auto}.dialog .footer{padding:16px;border-top:1px solid var(--vvd-color-neutral-200)}.dialog .footer-header{margin-block-end:8px}.dialog .swatches-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.dialog .palette{gap:var(--_color-swatches-gap, 8px)}vvd-hex-input{min-width:0;flex:1 1 auto}vvd-hex-input::part(input),vvd-hex-input>input{width:100%;height:100%;box-sizing:border-box;border:0 none;border-radius:8px;background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-500);font:var(--vvd-typography-base);outline:transparent;padding-inline:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))*.4)}vvd-hex-input::part(input):focus-visible,vvd-hex-input>input:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}vvd-hex-picker{width:auto;height:auto;gap:16px;inline-size:100%}vvd-hex-picker::part(saturation){border-radius:8px;block-size:120px}vvd-hex-picker::part(hue){flex:0 0 8px;border-radius:8px}vvd-hex-picker::part(hue-pointer){width:10px;height:10px}vvd-hex-picker::part(saturation-pointer){width:18px;height:18px}::part(popup-base){inline-size:max-content;min-block-size:var(--_color-picker-popup-min-inline-size, 264px);min-inline-size:var(--_color-picker-popup-min-inline-size, 264px)}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0)}",b=(r,e=0,o=1)=>r>o?o:r<e?e:r,n=(r,e=0,o=Math.pow(10,e))=>Math.round(o*r)/o,he=r=>ge(E(r)),E=r=>(r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?n(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?n(parseInt(r.substring(6,8),16)/255,2):1}),ue=r=>be(fe(r)),ve=({h:r,s:e,v:o,a:t})=>{const s=(200-e)*o/100;return{h:n(r),s:n(s>0&&s<200?e*o/100/(s<=100?s:200-s)*100:0),l:n(s/2),a:n(t,2)}},P=r=>{const{h:e,s:o,l:t}=ve(r);return`hsl(${e}, ${o}%, ${t}%)`},fe=({h:r,s:e,v:o,a:t})=>{r=r/360*6,e=e/100,o=o/100;const s=Math.floor(r),a=o*(1-e),i=o*(1-(r-s)*e),d=o*(1-(1-r+s)*e),y=s%6;return{r:n([o,i,a,a,d,o][y]*255),g:n([d,o,o,i,a,a][y]*255),b:n([a,a,d,o,o,i][y]*255),a:n(t,2)}},g=r=>{const e=r.toString(16);return e.length<2?"0"+e:e},be=({r,g:e,b:o,a:t})=>{const s=t<1?g(n(t*255)):"";return"#"+g(r)+g(e)+g(o)+s},ge=({r,g:e,b:o,a:t})=>{const s=Math.max(r,e,o),a=s-Math.min(r,e,o),i=a?s===r?(e-o)/a:s===e?2+(o-r)/a:4+(r-e)/a:0;return{h:n(60*(i<0?i+6:i)),s:n(s?a/s*100:0),v:n(s/255*100),a:t}},te=(r,e)=>{if(r===e)return!0;for(const o in r)if(r[o]!==e[o])return!1;return!0},xe=(r,e)=>r.toLowerCase()===e.toLowerCase()?!0:te(E(r),E(e)),M={},z=r=>{let e=M[r];return e||(e=document.createElement("template"),e.innerHTML=r,M[r]=e),e},L=(r,e,o)=>{r.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:o}))};let h=!1;const H=r=>"touches"in r,me=r=>h&&!H(r)?!1:(h||(h=H(r)),!0),N=(r,e)=>{const o=H(e)?e.touches[0]:e,t=r.el.getBoundingClientRect();L(r.el,"move",r.getMove({x:b((o.pageX-(t.left+window.pageXOffset))/t.width),y:b((o.pageY-(t.top+window.pageYOffset))/t.height)}))},ye=(r,e)=>{const o=e.keyCode;o>40||r.xy&&o<37||o<33||(e.preventDefault(),L(r.el,"move",r.getMove({x:o===39?.01:o===37?-.01:o===34?.05:o===33?-.05:o===35?1:o===36?-1:0,y:o===40?.01:o===38?-.01:0},!0)))};class oe{constructor(e,o,t,s){const a=z(`<div role="slider" tabindex="0" part="${o}" ${t}><div part="${o}-pointer"></div></div>`);e.appendChild(a.content.cloneNode(!0));const i=e.querySelector(`[part=${o}]`);i.addEventListener("mousedown",this),i.addEventListener("touchstart",this),i.addEventListener("keydown",this),this.el=i,this.xy=s,this.nodes=[i.firstChild,i]}set dragging(e){const o=e?document.addEventListener:document.removeEventListener;o(h?"touchmove":"mousemove",this),o(h?"touchend":"mouseup",this)}handleEvent(e){switch(e.type){case"mousedown":case"touchstart":if(e.preventDefault(),!me(e)||!h&&e.button!=0)return;this.el.focus(),N(this,e),this.dragging=!0;break;case"mousemove":case"touchmove":e.preventDefault(),N(this,e);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":ye(this,e);break}}style(e){e.forEach((o,t)=>{for(const s in o)this.nodes[t].style.setProperty(s,o[s])})}}class Ce extends oe{constructor(e){super(e,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:e}){this.h=e,this.style([{left:`${e/360*100}%`,color:P({h:e,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${n(e)}`)}getMove(e,o){return{h:o?b(this.h+e.x*360,0,360):360*e.x}}}class $e extends oe{constructor(e){super(e,"saturation",'aria-label="Color"',!0)}update(e){this.hsva=e,this.style([{top:`${100-e.v}%`,left:`${e.s}%`,color:P(e)},{"background-color":P({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${n(e.s)}%, Brightness ${n(e.v)}%`)}getMove(e,o){return{s:o?b(this.hsva.s+e.x*100,0,100):e.x*100,v:o?b(this.hsva.v-e.y*100,0,100):Math.round(100-e.y*100)}}}const we=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',ke="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}",_e="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}",x=Symbol("same"),C=Symbol("color"),F=Symbol("hsva"),$=Symbol("update"),D=Symbol("parts"),B=Symbol("css"),O=Symbol("sliders");let Se=class extends HTMLElement{static get observedAttributes(){return["color"]}get[B](){return[we,ke,_e]}get[O](){return[$e,Ce]}get color(){return this[C]}set color(e){if(!this[x](e)){const o=this.colorModel.toHsva(e);this[$](o),this[C]=e}}constructor(){super();const e=z(`<style>${this[B].join("")}</style>`),o=this.attachShadow({mode:"open"});o.appendChild(e.content.cloneNode(!0)),o.addEventListener("move",this),this[D]=this[O].map(t=>new t(o))}connectedCallback(){if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(e,o,t){const s=this.colorModel.fromAttr(t);this[x](s)||(this.color=s)}handleEvent(e){const o=this[F],t={...o,...e.detail};this[$](t);let s;!te(t,o)&&!this[x](s=this.colorModel.fromHsva(t))&&(this[C]=s,L(this,"color-changed",{value:s}))}[x](e){return this.color&&this.colorModel.equal(e,this.color)}[$](e){this[F]=e,this[D].forEach(o=>o.update(e))}};const Ee={defaultColor:"#000",toHsva:he,fromHsva:({h:r,s:e,v:o})=>ue({h:r,s:e,v:o,a:1}),equal:xe,fromAttr:r=>r};class Pe extends Se{get colorModel(){return Ee}}class re extends Pe{}customElements.define("hex-color-picker",re);const He=/^#?([0-9A-F]{3,8})$/i,w=(r,e)=>{const o=He.exec(r),t=o?o[1].length:0;return t===3||t===6||!!e&&t===4||!!e&&t===8},Te=z('<slot><input part="input" spellcheck="false"></slot>'),V=(r,e)=>r.replace(/([^0-9A-F]+)/gi,"").substring(0,e?8:6),R=Symbol("alpha"),m=Symbol("color"),K=Symbol("saved"),k=Symbol("input"),_=Symbol("init"),W=Symbol("prefix"),v=Symbol("update");class Ie extends HTMLElement{static get observedAttributes(){return["alpha","color","prefixed"]}get color(){return this[m]}set color(e){this[m]=e,this[v](e)}get alpha(){return this[R]}set alpha(e){this[R]=e,this.toggleAttribute("alpha",e);const o=this.color;o&&!w(o,e)&&(this.color=o.startsWith("#")?o.substring(0,o.length===5?4:7):o.substring(0,o.length===4?3:6))}get prefixed(){return this[W]}set prefixed(e){this[W]=e,this.toggleAttribute("prefixed",e),this[v](this.color)}constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(Te.content.cloneNode(!0)),e.firstElementChild.addEventListener("slotchange",()=>this[_](e))}connectedCallback(){if(this[_](this.shadowRoot),this.hasOwnProperty("alpha")){const e=this.alpha;delete this.alpha,this.alpha=e}else this.alpha=this.hasAttribute("alpha");if(this.hasOwnProperty("prefixed")){const e=this.prefixed;delete this.prefixed,this.prefixed=e}else this.prefixed=this.hasAttribute("prefixed");if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color==null?this.color=this.getAttribute("color")||"":this[m]&&this[v](this[m])}handleEvent(e){const o=e.target,{value:t}=o;switch(e.type){case"input":const s=V(t,this.alpha);this[K]=this.color,(w(s,this.alpha)||t==="")&&(this.color=s,this.dispatchEvent(new CustomEvent("color-changed",{bubbles:!0,detail:{value:s?"#"+s:""}})));break;case"blur":t&&!w(t,this.alpha)&&(this.color=this[K])}}attributeChangedCallback(e,o,t){e==="color"&&this.color!==t&&(this.color=t);const s=t!=null;e==="alpha"&&this.alpha!==s&&(this.alpha=s),e==="prefixed"&&this.prefixed!==s&&(this.prefixed=s)}[_](e){let o=this.querySelector("input");if(!o){let t;for(;t=this.firstChild;)t.remove();o=e.querySelector("input")}o.addEventListener("input",this),o.addEventListener("blur",this),this[k]=o,this[v](this.color)}[v](e){this[k]&&(this[k].value=e==null||e==""?"":(this.prefixed?"#":"")+V(e,this.alpha))}}class se extends Ie{}customElements.define("hex-input",se);var ze=Object.defineProperty,p=(r,e,o,t)=>{for(var s=void 0,a=r.length-1,i;a>=0;a--)(i=r[a])&&(s=i(e,o,s)||s);return s&&ze(e,o,s),s};const T="vvd-hex-picker",I="vvd-hex-input";class Le extends re{static{this.displayName="VvdHexPicker"}}class Ae extends se{static{this.displayName="VvdHexInput"}}/* v8 ignore if -- @preserve */customElements.get(T)||customElements.define(T,Le);/* v8 ignore if -- @preserve */customElements.get(I)||customElements.define(I,Ae);const X=T,j=I;class c extends ae.WithContextualHelp(U.WithFeedback(le.WithErrorText(ne.WithSuccessText(Y.DelegatesAria(ce.TrappedFocus(u.BaseColorPicker(l.VividElement))))))){constructor(){super(...arguments),this.disableSavedColors=!1,this.savedColors=[],this.maxSwatches=6,this.#t=e=>{this._isInPath(e,this._buttonEl)||this._isInPath(e,this._popupEl)||(this.open=!1)},this.copyIconName="copy-2-line",this.#e=null,this._copyValueToClipboard=async e=>{try{await navigator.clipboard.writeText(e),this._setTemporaryCopyIcon("check-circle-line"),this._ariaLiveDescription=this.locale.colorPicker.copySuccessMessage(e)}catch{alert(this.locale.colorPicker.copyErrorText),this._setTemporaryCopyIcon("error-line"),this._ariaLiveDescription=this.locale.colorPicker.copyErrorText}},this._ariaLiveDescription=""}static{this.HEX_COLOR_PATTERN=/^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$/}placeholderChanged(){/* v8 ignore if -- @preserve */this.proxy instanceof HTMLInputElement&&(this.proxy.placeholder=this.placeholder)}handleChange(){this.$emit("change")}openChanged(e,o){o&&this.isConnected&&requestAnimationFrame(()=>{this._refreshCanvasColor()})}savedColorsKeyChanged(){this.savedColors=this._loadSavedColors()}get _savedColorsStorageKey(){return this.savedColorsKey?this.savedColorsKey:`vvd-saved-colors:${this.tagName.toLowerCase()}`}_handleColorSaving(){this._saveCurrentColor()}_saveCurrentColor(){const e=this.value;if(typeof e!="string"||!u.isValidHexColor(e))return;const o=Array.isArray(this.savedColors)?[...this.savedColors]:[],t=o.findIndex(s=>s?.value===e);t!==-1&&o.splice(t,1),o.unshift({value:e}),this.savedColors=o.slice(0,this._maxSwatchesNormalized),this._setSavedColors(this.savedColors)}_loadSavedColors(){try{const e=localStorage.getItem(this._savedColorsStorageKey);if(!e)return[];const o=JSON.parse(e);return Array.isArray(o)?o.filter(t=>t&&typeof t.value=="string"&&u.isValidHexColor(t.value)).map(t=>({value:t.value,label:typeof t.label=="string"?t.label:void 0})):[]}catch{return[]}}_setSavedColors(e){try{localStorage.setItem(this._savedColorsStorageKey,JSON.stringify(e))}catch{}}get allSwatches(){const e=Array.isArray(this.swatches)?this.swatches:[],o=Array.isArray(this.savedColors)?this.savedColors:[],t=new Set,s=[],a=i=>{!i||typeof i.value!="string"||!u.isValidHexColor(i.value)||t.has(i.value)||(t.add(i.value),s.push(i))};return this.disableSavedColors||o.forEach(a),e.forEach(a),s.slice(0,this._maxSwatchesNormalized)}get _maxSwatchesNormalized(){return Number.isFinite(this.maxSwatches)?Math.max(0,Math.floor(this.maxSwatches)):0}maxSwatchesChanged(){const e=this._maxSwatchesNormalized;this.savedColors?.length>e&&(this.savedColors=this.savedColors.slice(0,e),this._setSavedColors(this.savedColors))}_onPickerColorChanged(e){typeof e.detail?.value=="string"&&(this.value=e.detail?.value)}valueChanged(e,o){this._vcHexPickerEl&&typeof o=="string"&&(this._vcHexPickerEl.color=o),this._vcHexInputEl&&typeof o=="string"&&(this._vcHexInputEl.color=o)}_onTextFieldInput(e){const o=e.currentTarget;this.value=o.value}get _buttonColor(){/* v8 ignore else -- @preserve */return this._canvasColor||this._refreshCanvasColor(),this.value&&u.isValidHexColor(this.value)?this.value:"var(--vvd-color-canvas-text)"}_onButtonClick(){this.open=!this.open}_handleCloseRequest(){this.open=!1}_isInPath(e,o){if(!o)return!1;const t=e.composedPath?.();return!!(t&&t.includes(o))}#t;connectedCallback(){super.connectedCallback(),this.savedColors=this._loadSavedColors(),document.addEventListener("mousedown",this.#t,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this.#t,!0)}#e;_setTemporaryCopyIcon(e,o=2e3){this.copyIconName=e,this.#e&&clearTimeout(this.#e),this.#e=setTimeout(()=>{this.copyIconName="copy-2-line",this.#e=null},o)}_onBaseKeydown(e){return this.open&&ie.handleEscapeKeyAndStopPropogation(e)?(this.open=!1,!1):!this._trappedFocus(e,()=>this._focusableElsWithinDialog())}_focusableElsWithinDialog(){return this._popupEl.querySelectorAll('button:not([role="gridcell"]), [data-vvd-component="button"], vwc-button:not([role="gridcell"])')}_handleCellKeydown(e,o,t,s){if(e.key==="Tab"){e.preventDefault();const a=this._focusableElsWithinDialog(),i=Array.prototype.indexOf.call(a,e.currentTarget),d=e.shiftKey?(i-1+a.length)%a.length:(i+1)%a.length;return a[d]?.focus(),!1}return super._handleCellKeydown(e,o,t,s)}_handleSwatchSelection(e){/* v8 ignore else -- @preserve */this.value!==e&&(this._ariaLiveDescription=this.locale.colorPicker.selectionSuccessMessage(e)),super._handleSwatchSelection(e)}}p([l.attr],c.prototype,"placeholder");p([l.attr({attribute:"saved-colors-key"})],c.prototype,"savedColorsKey");p([l.attr({mode:"boolean",attribute:"disable-saved-colors"})],c.prototype,"disableSavedColors");p([l.observable],c.prototype,"savedColors");p([l.attr({attribute:"max-swatches",mode:"fromView",converter:l.nullableNumberConverter})],c.prototype,"maxSwatches");p([l.observable],c.prototype,"copyIconName");p([l.observable],c.prototype,"_ariaLiveDescription");function qe(r,e){const o=t=>q.classNames("control");return l.html`
|
|
2
2
|
<${r}
|
|
3
3
|
id="text-field"
|
|
4
4
|
class="${o}"
|
package/color-picker/index.js
CHANGED
|
@@ -336,7 +336,9 @@ class Ge extends Z {
|
|
|
336
336
|
this.displayName = "VvdHexInput";
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
|
+
/* v8 ignore if -- @preserve */
|
|
339
340
|
customElements.get(I) || customElements.define(I, je);
|
|
341
|
+
/* v8 ignore if -- @preserve */
|
|
340
342
|
customElements.get(z) || customElements.define(z, Ge);
|
|
341
343
|
const G = I, J = z;
|
|
342
344
|
class c extends ve(
|
|
@@ -366,6 +368,7 @@ class c extends ve(
|
|
|
366
368
|
* @internal
|
|
367
369
|
*/
|
|
368
370
|
placeholderChanged() {
|
|
371
|
+
/* v8 ignore if -- @preserve */
|
|
369
372
|
this.proxy instanceof HTMLInputElement && (this.proxy.placeholder = this.placeholder);
|
|
370
373
|
}
|
|
371
374
|
/**
|
|
@@ -487,6 +490,7 @@ class c extends ve(
|
|
|
487
490
|
* @internal
|
|
488
491
|
*/
|
|
489
492
|
get _buttonColor() {
|
|
493
|
+
/* v8 ignore else -- @preserve */
|
|
490
494
|
return this._canvasColor || this._refreshCanvasColor(), this.value && b(this.value) ? this.value : "var(--vvd-color-canvas-text)";
|
|
491
495
|
}
|
|
492
496
|
/**
|
|
@@ -562,6 +566,7 @@ class c extends ve(
|
|
|
562
566
|
* @internal
|
|
563
567
|
*/
|
|
564
568
|
_handleSwatchSelection(e) {
|
|
569
|
+
/* v8 ignore else -- @preserve */
|
|
565
570
|
this.value !== e && (this._ariaLiveDescription = this.locale.colorPicker.selectionSuccessMessage(e)), super._handleSwatchSelection(e);
|
|
566
571
|
}
|
|
567
572
|
}
|
package/combobox/definition.cjs
CHANGED
|
@@ -20,7 +20,7 @@ const affix = require('../unbundled/affix.cjs');
|
|
|
20
20
|
const index = require('../unbundled/index.cjs');
|
|
21
21
|
const button_definition = require('../unbundled/definition.cjs');
|
|
22
22
|
|
|
23
|
-
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{position:relative;display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.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(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base: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(--vvd-color-neutral-700)}.base: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.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(--vvd-color-neutral-700)}.base.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base.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.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}.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(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - 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}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}
|
|
23
|
+
const styles = ".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{position:relative;display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.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(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base: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(--vvd-color-neutral-700)}.base: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.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(--vvd-color-neutral-700)}.base.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base.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.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}.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(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - 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}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}";
|
|
24
24
|
|
|
25
25
|
const ComboboxAutocomplete = {
|
|
26
26
|
inline: "inline",
|
|
@@ -128,6 +128,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
128
128
|
* @internal
|
|
129
129
|
*/
|
|
130
130
|
placeholderChanged() {
|
|
131
|
+
/* v8 ignore if -- @preserve */
|
|
131
132
|
if (this.proxy instanceof HTMLInputElement) {
|
|
132
133
|
this.proxy.placeholder = this.placeholder;
|
|
133
134
|
}
|
|
@@ -221,6 +222,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
221
222
|
if (this.contains(document.activeElement)) {
|
|
222
223
|
this.control.focus();
|
|
223
224
|
const firstSelectedOption = this.firstSelectedOption;
|
|
225
|
+
/* v8 ignore else -- @preserve */
|
|
224
226
|
if (firstSelectedOption) {
|
|
225
227
|
requestAnimationFrame(() => {
|
|
226
228
|
firstSelectedOption.scrollIntoView({ block: "nearest" });
|
|
@@ -289,6 +291,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
289
291
|
switch (key) {
|
|
290
292
|
case "Enter": {
|
|
291
293
|
this.syncValue();
|
|
294
|
+
/* v8 ignore else -- @preserve */
|
|
292
295
|
if (this.isAutocompleteInline) {
|
|
293
296
|
this.filter = this.value;
|
|
294
297
|
}
|
|
@@ -297,6 +300,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
297
300
|
break;
|
|
298
301
|
}
|
|
299
302
|
case "Escape": {
|
|
303
|
+
/* v8 ignore else -- @preserve */
|
|
300
304
|
if (!this.isAutocompleteInline) {
|
|
301
305
|
this.selectedIndex = -1;
|
|
302
306
|
}
|
|
@@ -326,6 +330,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
326
330
|
this.open = true;
|
|
327
331
|
break;
|
|
328
332
|
}
|
|
333
|
+
/* v8 ignore else -- @preserve */
|
|
329
334
|
if (this.filteredOptions.length > 0) {
|
|
330
335
|
super.keydownHandler(e);
|
|
331
336
|
}
|
|
@@ -389,6 +394,7 @@ class Combobox extends withContextualHelp.WithContextualHelp(
|
|
|
389
394
|
* @internal
|
|
390
395
|
*/
|
|
391
396
|
setInlineSelection() {
|
|
397
|
+
/* v8 ignore else -- @preserve */
|
|
392
398
|
if (this.firstSelectedOption) {
|
|
393
399
|
this.setInputToSelection();
|
|
394
400
|
this.control.setSelectionRange(
|
|
@@ -540,11 +546,16 @@ function renderInput(context) {
|
|
|
540
546
|
const affixIconTemplate = affix.affixIconTemplateFactory(context);
|
|
541
547
|
const chevronTemplate = button_definition.chevronTemplateFactory(context);
|
|
542
548
|
return fastElement.html` <div class="${getStateClasses}" ${fastElement.ref("_anchor")}>
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
549
|
+
<div
|
|
550
|
+
class="label-wrapper"
|
|
551
|
+
?hidden=${(x) => !x.label && !x._hasContextualHelp}
|
|
552
|
+
>
|
|
553
|
+
${fastElement.when((x) => x.label, renderLabel())}
|
|
554
|
+
<slot
|
|
555
|
+
name="contextual-help"
|
|
556
|
+
${fastElement.slotted("_contextualHelpSlottedContent")}
|
|
557
|
+
></slot>
|
|
558
|
+
</div>
|
|
548
559
|
<div class="fieldset">
|
|
549
560
|
${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)}
|
|
550
561
|
<div class="wrapper">
|
package/combobox/definition.js
CHANGED
|
@@ -16,7 +16,7 @@ import { A as AffixIcon, a as affixIconTemplateFactory, I as IconWrapper } from
|
|
|
16
16
|
import { h as handleEscapeKeyAndStopPropogation } from '../unbundled/index.js';
|
|
17
17
|
import { c as chevronTemplateFactory } from '../unbundled/definition.js';
|
|
18
18
|
|
|
19
|
-
const styles = ".chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{position:relative;display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.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(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base: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(--vvd-color-neutral-700)}.base: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.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(--vvd-color-neutral-700)}.base.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base.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.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}.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(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - 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}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}
|
|
19
|
+
const styles = ".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{position:relative;display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.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(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base: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(--vvd-color-neutral-700)}.base: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.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(--vvd-color-neutral-700)}.base.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: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:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.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.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base.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.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}.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(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - 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}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--vvd-color-cta-500),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}";
|
|
20
20
|
|
|
21
21
|
const ComboboxAutocomplete = {
|
|
22
22
|
inline: "inline",
|
|
@@ -124,6 +124,7 @@ class Combobox extends WithContextualHelp(
|
|
|
124
124
|
* @internal
|
|
125
125
|
*/
|
|
126
126
|
placeholderChanged() {
|
|
127
|
+
/* v8 ignore if -- @preserve */
|
|
127
128
|
if (this.proxy instanceof HTMLInputElement) {
|
|
128
129
|
this.proxy.placeholder = this.placeholder;
|
|
129
130
|
}
|
|
@@ -217,6 +218,7 @@ class Combobox extends WithContextualHelp(
|
|
|
217
218
|
if (this.contains(document.activeElement)) {
|
|
218
219
|
this.control.focus();
|
|
219
220
|
const firstSelectedOption = this.firstSelectedOption;
|
|
221
|
+
/* v8 ignore else -- @preserve */
|
|
220
222
|
if (firstSelectedOption) {
|
|
221
223
|
requestAnimationFrame(() => {
|
|
222
224
|
firstSelectedOption.scrollIntoView({ block: "nearest" });
|
|
@@ -285,6 +287,7 @@ class Combobox extends WithContextualHelp(
|
|
|
285
287
|
switch (key) {
|
|
286
288
|
case "Enter": {
|
|
287
289
|
this.syncValue();
|
|
290
|
+
/* v8 ignore else -- @preserve */
|
|
288
291
|
if (this.isAutocompleteInline) {
|
|
289
292
|
this.filter = this.value;
|
|
290
293
|
}
|
|
@@ -293,6 +296,7 @@ class Combobox extends WithContextualHelp(
|
|
|
293
296
|
break;
|
|
294
297
|
}
|
|
295
298
|
case "Escape": {
|
|
299
|
+
/* v8 ignore else -- @preserve */
|
|
296
300
|
if (!this.isAutocompleteInline) {
|
|
297
301
|
this.selectedIndex = -1;
|
|
298
302
|
}
|
|
@@ -322,6 +326,7 @@ class Combobox extends WithContextualHelp(
|
|
|
322
326
|
this.open = true;
|
|
323
327
|
break;
|
|
324
328
|
}
|
|
329
|
+
/* v8 ignore else -- @preserve */
|
|
325
330
|
if (this.filteredOptions.length > 0) {
|
|
326
331
|
super.keydownHandler(e);
|
|
327
332
|
}
|
|
@@ -385,6 +390,7 @@ class Combobox extends WithContextualHelp(
|
|
|
385
390
|
* @internal
|
|
386
391
|
*/
|
|
387
392
|
setInlineSelection() {
|
|
393
|
+
/* v8 ignore else -- @preserve */
|
|
388
394
|
if (this.firstSelectedOption) {
|
|
389
395
|
this.setInputToSelection();
|
|
390
396
|
this.control.setSelectionRange(
|
|
@@ -536,11 +542,16 @@ function renderInput(context) {
|
|
|
536
542
|
const affixIconTemplate = affixIconTemplateFactory(context);
|
|
537
543
|
const chevronTemplate = chevronTemplateFactory(context);
|
|
538
544
|
return html` <div class="${getStateClasses}" ${ref("_anchor")}>
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
545
|
+
<div
|
|
546
|
+
class="label-wrapper"
|
|
547
|
+
?hidden=${(x) => !x.label && !x._hasContextualHelp}
|
|
548
|
+
>
|
|
549
|
+
${when((x) => x.label, renderLabel())}
|
|
550
|
+
<slot
|
|
551
|
+
name="contextual-help"
|
|
552
|
+
${slotted("_contextualHelpSlottedContent")}
|
|
553
|
+
></slot>
|
|
554
|
+
</div>
|
|
544
555
|
<div class="fieldset">
|
|
545
556
|
${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)}
|
|
546
557
|
<div class="wrapper">
|