@vonage/vivid 5.5.0 → 5.7.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/accordion-item/definition.cjs +1 -1
- package/accordion-item/definition.js +1 -1
- 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/avatar/definition.cjs +1 -1
- package/avatar/definition.js +1 -1
- package/avatar/index.cjs +1 -1
- package/avatar/index.js +4 -4
- 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/breadcrumb-item/definition.cjs +1 -1
- package/breadcrumb-item/definition.js +1 -1
- package/breadcrumb-item/index.cjs +4 -4
- package/breadcrumb-item/index.js +4 -4
- 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 +3 -1
- package/bundled/definition.cjs +1 -1
- package/bundled/definition.js +21 -21
- 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 +3 -3
- package/bundled/definition12.js +2 -1
- package/bundled/definition13.cjs +1 -1
- package/bundled/definition13.js +1 -1
- package/bundled/definition17.cjs +1 -1
- package/bundled/definition17.js +4 -1
- package/bundled/definition18.cjs +1 -1
- package/bundled/definition18.js +18 -7
- package/bundled/definition19.cjs +6 -6
- package/bundled/definition19.js +103 -68
- package/bundled/definition2.cjs +8 -9
- package/bundled/definition2.js +67 -75
- package/bundled/definition20.cjs +1 -1
- package/bundled/definition20.js +4 -4
- package/bundled/definition22.cjs +1 -1
- package/bundled/definition22.js +2 -1
- package/bundled/definition3.cjs +2 -2
- package/bundled/definition3.js +2 -1
- package/bundled/definition5.cjs +1 -1
- package/bundled/definition5.js +10 -4
- package/bundled/definition6.cjs +2 -2
- package/bundled/definition6.js +2 -1
- package/bundled/definition7.cjs +1 -1
- package/bundled/definition7.js +8 -5
- package/bundled/definition8.cjs +1 -1
- package/bundled/definition8.js +6 -5
- 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 +11 -11
- package/bundled/time-selection-picker.template.js +4 -1
- 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/calendar-event/definition.cjs +1 -1
- package/calendar-event/definition.js +1 -1
- package/calendar-event/index.cjs +2 -2
- package/calendar-event/index.js +5 -5
- package/card/definition.cjs +1 -1
- package/card/definition.js +1 -1
- package/card/index.cjs +1 -1
- package/card/index.js +1 -1
- package/checkbox/definition.cjs +2 -1
- package/checkbox/definition.js +2 -1
- package/color-picker/definition.cjs +6 -1
- package/color-picker/definition.js +6 -1
- package/color-picker/index.cjs +1 -1
- package/color-picker/index.js +6 -1
- package/combobox/definition.cjs +17 -6
- package/combobox/definition.js +17 -6
- package/combobox/index.cjs +14 -9
- package/combobox/index.js +48 -36
- package/contextual-help/definition.cjs +1 -1
- package/contextual-help/definition.js +1 -1
- package/custom-elements.json +6985 -542
- package/data-grid/definition.cjs +106 -8
- package/data-grid/definition.js +106 -8
- 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 +10 -1
- package/dial-pad/definition.js +10 -1
- package/dial-pad/index.cjs +2 -2
- package/dial-pad/index.js +37 -13
- package/dialog/definition.cjs +2 -1
- package/dialog/definition.js +2 -1
- package/dialog/index.cjs +1 -1
- package/dialog/index.js +2 -1
- package/fab/definition.cjs +2 -1
- package/fab/definition.js +2 -1
- package/fab/index.cjs +1 -1
- package/fab/index.js +6 -5
- 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 +2 -1
- package/menu/definition.js +2 -1
- package/nav-disclosure/definition.cjs +1 -1
- package/nav-disclosure/definition.js +1 -1
- package/nav-disclosure/index.cjs +1 -1
- package/nav-disclosure/index.js +1 -1
- package/nav-item/definition.cjs +1 -1
- package/nav-item/definition.js +1 -1
- package/nav-item/index.cjs +1 -1
- package/nav-item/index.js +5 -5
- 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 +34 -32
- 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 +5 -1
- package/radio/definition.js +5 -1
- package/range-slider/definition.cjs +3 -2
- package/range-slider/definition.js +3 -2
- package/range-slider/index.cjs +1 -1
- package/range-slider/index.js +4 -2
- 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 +7 -3
- package/searchable-select/definition.js +7 -3
- package/searchable-select/index.cjs +5 -5
- package/searchable-select/index.js +11 -7
- package/select/definition.cjs +17 -2
- package/select/definition.js +17 -2
- package/selectable-box/definition.cjs +1 -1
- package/selectable-box/definition.js +1 -1
- package/selectable-box/index.cjs +3 -3
- package/selectable-box/index.js +1 -1
- 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 +4 -1
- package/simple-color-picker/definition.js +4 -1
- package/simple-color-picker/index.cjs +3 -3
- package/simple-color-picker/index.js +4 -1
- package/slider/definition.cjs +8 -2
- package/slider/definition.js +8 -2
- package/split-button/definition.cjs +1 -1
- package/split-button/definition.js +1 -1
- package/split-button/index.cjs +1 -1
- package/split-button/index.js +1 -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 +2 -1
- package/switch/definition.js +2 -1
- package/switch/index.cjs +2 -2
- package/switch/index.js +11 -10
- package/tab/definition.cjs +1 -1
- package/tab/definition.js +1 -1
- 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/tag/definition.cjs +1 -1
- package/tag/definition.js +1 -1
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- 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 +3 -1
- package/unbundled/calendar-picker.template.js +3 -1
- package/unbundled/definition.cjs +2 -1
- package/unbundled/definition.js +2 -1
- package/unbundled/definition2.cjs +5 -2
- package/unbundled/definition2.js +5 -2
- package/unbundled/definition3.cjs +2 -1
- package/unbundled/definition3.js +2 -1
- package/unbundled/definition4.cjs +2 -1
- package/unbundled/definition4.js +2 -1
- 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 +4 -1
- package/unbundled/time-selection-picker.template.js +4 -1
- 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 +51 -41
- package/video-player/index.cjs +28 -28
- package/video-player/index.js +1449 -1443
- 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/data-grid/definition.cjs
CHANGED
|
@@ -16,7 +16,7 @@ const dataGridStyles = ":host{display:block}:host([generate-header=sticky]){max-
|
|
|
16
16
|
|
|
17
17
|
const dataGridRowStyles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-row-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-row-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-row-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-data-grid-row-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-data-grid-row-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-data-grid-row-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-row-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-row-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-row-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-row-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-data-grid-row-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-data-grid-row-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-data-grid-row-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-row-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:grid;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host([row-type=sticky-header]) .base{position:sticky;z-index:9;top:0;background:var(--data-grid-row-background, var(--vvd-color-canvas))}:host([row-type=hidden-header]) .base{display:none}:host(:is([selected]):not([row-type*=header])) .base{background-color:var(--_appearance-color-fill)}";
|
|
18
18
|
|
|
19
|
-
const dataGridCellStyles = ":host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:\"\";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--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))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}";
|
|
19
|
+
const dataGridCellStyles = ":host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:\"\";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}";
|
|
20
20
|
|
|
21
21
|
let kernelMode;
|
|
22
22
|
const kernelAttr = "fast-kernel";
|
|
@@ -106,6 +106,39 @@ const noop = () => void 0;
|
|
|
106
106
|
result.globalThis = result;
|
|
107
107
|
}
|
|
108
108
|
})();
|
|
109
|
+
(function requestIdleCallbackPolyfill() {
|
|
110
|
+
if ("requestIdleCallback" in globalThis) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* A polyfill for requestIdleCallback that falls back to setTimeout.
|
|
115
|
+
*
|
|
116
|
+
* @param callback - The function to call when the browser is idle.
|
|
117
|
+
* @param options - Options object that may contain a timeout property.
|
|
118
|
+
* @returns An ID that can be used to cancel the callback.
|
|
119
|
+
* @public
|
|
120
|
+
*/
|
|
121
|
+
globalThis.requestIdleCallback = function requestIdleCallback(callback, options) {
|
|
122
|
+
const start = Date.now();
|
|
123
|
+
return setTimeout(() => {
|
|
124
|
+
callback({
|
|
125
|
+
didTimeout: (options === null || options === void 0 ? void 0 : options.timeout)
|
|
126
|
+
? Date.now() - start >= options.timeout
|
|
127
|
+
: false,
|
|
128
|
+
timeRemaining: () => 0,
|
|
129
|
+
});
|
|
130
|
+
}, 1);
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* A polyfill for cancelIdleCallback that falls back to clearTimeout.
|
|
134
|
+
*
|
|
135
|
+
* @param id - The ID of the callback to cancel.
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
globalThis.cancelIdleCallback = function cancelIdleCallback(id) {
|
|
139
|
+
clearTimeout(id);
|
|
140
|
+
};
|
|
141
|
+
})();
|
|
109
142
|
|
|
110
143
|
// ensure FAST global - duplicated debug.ts
|
|
111
144
|
const propConfig = {
|
|
@@ -1011,6 +1044,7 @@ class DataGridCell extends localized.Localized(hostSemantics.HostSemantics(vivid
|
|
|
1011
1044
|
case DataGridCellTypes.columnHeader:
|
|
1012
1045
|
if (this.columnDefinition !== null && this.columnDefinition.headerCellInternalFocusQueue !== true && typeof this.columnDefinition.headerCellFocusTargetCallback === "function") {
|
|
1013
1046
|
const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);
|
|
1047
|
+
/* v8 ignore else -- @preserve */
|
|
1014
1048
|
if (focusTarget !== null) {
|
|
1015
1049
|
focusTarget.focus();
|
|
1016
1050
|
}
|
|
@@ -1019,6 +1053,7 @@ class DataGridCell extends localized.Localized(hostSemantics.HostSemantics(vivid
|
|
|
1019
1053
|
default:
|
|
1020
1054
|
if (this.columnDefinition !== null && this.columnDefinition.cellInternalFocusQueue !== true && typeof this.columnDefinition.cellFocusTargetCallback === "function") {
|
|
1021
1055
|
const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);
|
|
1056
|
+
/* v8 ignore else -- @preserve */
|
|
1022
1057
|
if (focusTarget !== null) {
|
|
1023
1058
|
focusTarget.focus();
|
|
1024
1059
|
}
|
|
@@ -1029,6 +1064,7 @@ class DataGridCell extends localized.Localized(hostSemantics.HostSemantics(vivid
|
|
|
1029
1064
|
}
|
|
1030
1065
|
handleFocusout(_) {
|
|
1031
1066
|
this.shadowRoot.querySelector(".base").classList.remove("active");
|
|
1067
|
+
/* v8 ignore else -- @preserve */
|
|
1032
1068
|
if (this !== document.activeElement && !this.contains(document.activeElement)) {
|
|
1033
1069
|
this.isActiveCell = false;
|
|
1034
1070
|
}
|
|
@@ -1044,32 +1080,38 @@ class DataGridCell extends localized.Localized(hostSemantics.HostSemantics(vivid
|
|
|
1044
1080
|
return;
|
|
1045
1081
|
}
|
|
1046
1082
|
switch (this.cellType) {
|
|
1047
|
-
case DataGridCellTypes.columnHeader:
|
|
1083
|
+
case DataGridCellTypes.columnHeader: {
|
|
1048
1084
|
if (this.columnDefinition.headerCellFocusTargetCallback !== void 0) {
|
|
1049
1085
|
const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);
|
|
1086
|
+
/* v8 ignore else -- @preserve */
|
|
1050
1087
|
if (focusTarget !== null) {
|
|
1051
1088
|
focusTarget.focus();
|
|
1052
1089
|
}
|
|
1053
1090
|
e.preventDefault();
|
|
1054
1091
|
}
|
|
1055
1092
|
break;
|
|
1056
|
-
|
|
1093
|
+
}
|
|
1094
|
+
default: {
|
|
1057
1095
|
if (this.columnDefinition.cellFocusTargetCallback !== void 0) {
|
|
1058
1096
|
const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);
|
|
1097
|
+
/* v8 ignore else -- @preserve */
|
|
1059
1098
|
if (focusTarget !== null) {
|
|
1060
1099
|
focusTarget.focus();
|
|
1061
1100
|
}
|
|
1062
1101
|
e.preventDefault();
|
|
1063
1102
|
}
|
|
1064
1103
|
break;
|
|
1104
|
+
}
|
|
1065
1105
|
}
|
|
1066
1106
|
break;
|
|
1067
|
-
case fastWebUtilities.keyEscape:
|
|
1107
|
+
case fastWebUtilities.keyEscape: {
|
|
1108
|
+
/* v8 ignore else -- @preserve */
|
|
1068
1109
|
if (this.contains(document.activeElement) && document.activeElement !== this) {
|
|
1069
1110
|
this.focus();
|
|
1070
1111
|
e.preventDefault();
|
|
1071
1112
|
}
|
|
1072
1113
|
break;
|
|
1114
|
+
}
|
|
1073
1115
|
}
|
|
1074
1116
|
}
|
|
1075
1117
|
updateCellView() {
|
|
@@ -1253,6 +1295,7 @@ class DataGridRow extends hostSemantics.HostSemantics(vividElement.VividElement)
|
|
|
1253
1295
|
*/
|
|
1254
1296
|
connectedCallback() {
|
|
1255
1297
|
super.connectedCallback();
|
|
1298
|
+
/* v8 ignore else -- @preserve */
|
|
1256
1299
|
if (this.behaviorOrchestrator === null) {
|
|
1257
1300
|
this.updateItemTemplate();
|
|
1258
1301
|
this.behaviorOrchestrator = ViewBehaviorOrchestrator.create(this);
|
|
@@ -1284,6 +1327,7 @@ class DataGridRow extends hostSemantics.HostSemantics(vividElement.VividElement)
|
|
|
1284
1327
|
this.removeEventListener(fastWebUtilities.eventKeyDown, this.handleKeydown);
|
|
1285
1328
|
}
|
|
1286
1329
|
handleFocusout(_) {
|
|
1330
|
+
/* v8 ignore else -- @preserve */
|
|
1287
1331
|
if (!this.contains(document.activeElement)) {
|
|
1288
1332
|
this.focusColumnIndex = 0;
|
|
1289
1333
|
}
|
|
@@ -1440,6 +1484,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1440
1484
|
focusTarget.focus();
|
|
1441
1485
|
};
|
|
1442
1486
|
this.onChildListChange = (mutations, _) => {
|
|
1487
|
+
/* v8 ignore else -- @preserve */
|
|
1443
1488
|
if (mutations && mutations.length) {
|
|
1444
1489
|
mutations.forEach((mutation) => {
|
|
1445
1490
|
mutation.addedNodes.forEach((newNode) => {
|
|
@@ -1527,7 +1572,9 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1527
1572
|
};
|
|
1528
1573
|
this.#changeHandler = {
|
|
1529
1574
|
handleChange(dataGrid, propertyName) {
|
|
1575
|
+
/* v8 ignore else -- @preserve */
|
|
1530
1576
|
if (propertyName === "columnDefinitions") {
|
|
1577
|
+
/* v8 ignore else -- @preserve */
|
|
1531
1578
|
if (dataGrid.$fastController.isConnected) {
|
|
1532
1579
|
dataGrid.toggleGeneratedHeader();
|
|
1533
1580
|
}
|
|
@@ -1610,6 +1657,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1610
1657
|
* @internal
|
|
1611
1658
|
*/
|
|
1612
1659
|
gridTemplateColumnsChanged() {
|
|
1660
|
+
/* v8 ignore if -- @preserve */
|
|
1613
1661
|
if (this.$fastController.isConnected) {
|
|
1614
1662
|
this.updateRowIndexes();
|
|
1615
1663
|
if (this.fixedColumns && this.fixedColumns > 0) {
|
|
@@ -1639,6 +1687,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1639
1687
|
this.generatedGridTemplateColumns = _DataGrid.generateTemplateColumns(
|
|
1640
1688
|
this.columnDefinitions
|
|
1641
1689
|
);
|
|
1690
|
+
/* v8 ignore if -- @preserve */
|
|
1642
1691
|
if (this.$fastController.isConnected) {
|
|
1643
1692
|
this.columnDefinitionsStale = true;
|
|
1644
1693
|
this.queueRowIndexUpdate();
|
|
@@ -1648,6 +1697,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1648
1697
|
* @internal
|
|
1649
1698
|
*/
|
|
1650
1699
|
headerCellItemTemplateChanged() {
|
|
1700
|
+
/* v8 ignore if -- @preserve */
|
|
1651
1701
|
if (this.$fastController.isConnected) {
|
|
1652
1702
|
if (this.generatedHeader !== null) {
|
|
1653
1703
|
this.generatedHeader.headerCellItemTemplate = this.headerCellItemTemplate;
|
|
@@ -1674,6 +1724,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1674
1724
|
* @internal
|
|
1675
1725
|
*/
|
|
1676
1726
|
fixedColumnsChanged() {
|
|
1727
|
+
/* v8 ignore if -- @preserve */
|
|
1677
1728
|
if (this.$fastController.isConnected) {
|
|
1678
1729
|
this.applyFixedColumns();
|
|
1679
1730
|
this.setupResizeObserver();
|
|
@@ -1699,9 +1750,11 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1699
1750
|
*/
|
|
1700
1751
|
connectedCallback() {
|
|
1701
1752
|
super.connectedCallback();
|
|
1753
|
+
/* v8 ignore else -- @preserve */
|
|
1702
1754
|
if (this.rowItemTemplate === void 0) {
|
|
1703
1755
|
this.rowItemTemplate = this.defaultRowItemTemplate;
|
|
1704
1756
|
}
|
|
1757
|
+
/* v8 ignore else -- @preserve */
|
|
1705
1758
|
if (this.behaviorOrchestrator === null) {
|
|
1706
1759
|
this.behaviorOrchestrator = ViewBehaviorOrchestrator.create(this);
|
|
1707
1760
|
this.$fastController.addBehavior(this.behaviorOrchestrator);
|
|
@@ -1841,13 +1894,16 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1841
1894
|
}
|
|
1842
1895
|
this.focusOnCell(newFocusRowIndex, this.focusColumnIndex, false);
|
|
1843
1896
|
break;
|
|
1844
|
-
case fastWebUtilities.keyHome:
|
|
1897
|
+
case fastWebUtilities.keyHome: {
|
|
1898
|
+
/* v8 ignore else -- @preserve */
|
|
1845
1899
|
if (e.ctrlKey) {
|
|
1846
1900
|
e.preventDefault();
|
|
1847
1901
|
this.focusOnCell(0, 0, true);
|
|
1848
1902
|
}
|
|
1849
1903
|
break;
|
|
1850
|
-
|
|
1904
|
+
}
|
|
1905
|
+
case fastWebUtilities.keyEnd: {
|
|
1906
|
+
/* v8 ignore else -- @preserve */
|
|
1851
1907
|
if (e.ctrlKey && this.columnDefinitions !== null) {
|
|
1852
1908
|
e.preventDefault();
|
|
1853
1909
|
this.focusOnCell(
|
|
@@ -1857,6 +1913,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1857
1913
|
);
|
|
1858
1914
|
}
|
|
1859
1915
|
break;
|
|
1916
|
+
}
|
|
1860
1917
|
}
|
|
1861
1918
|
}
|
|
1862
1919
|
queueFocusUpdate() {
|
|
@@ -1885,6 +1942,7 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1885
1942
|
this.generatedHeader.columnDefinitions = this.columnDefinitions;
|
|
1886
1943
|
this.generatedHeader.gridTemplateColumns = this.gridTemplateColumns;
|
|
1887
1944
|
this.generatedHeader.rowType = this.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader : DataGridRowTypes.header;
|
|
1945
|
+
/* v8 ignore else -- @preserve */
|
|
1888
1946
|
if (this.firstChild !== null) {
|
|
1889
1947
|
this.insertBefore(generatedHeaderElement, this.firstChild);
|
|
1890
1948
|
}
|
|
@@ -1952,8 +2010,10 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1952
2010
|
'[role="cell"], [role="gridcell"], [role="columnheader"], [cell-type="default"], [cell-type="columnheader"]'
|
|
1953
2011
|
);
|
|
1954
2012
|
this.fixedColumnsPositions.forEach((position, index) => {
|
|
2013
|
+
/* v8 ignore else -- @preserve */
|
|
1955
2014
|
if (index < cells.length) {
|
|
1956
2015
|
const gridCell = cells[index];
|
|
2016
|
+
/* v8 ignore else -- @preserve */
|
|
1957
2017
|
if (typeof gridCell.setFixedPosition === "function") {
|
|
1958
2018
|
gridCell.setFixedPosition(`${position}px`);
|
|
1959
2019
|
}
|
|
@@ -1991,8 +2051,10 @@ const _DataGrid = class _DataGrid extends vividElement.VividElement {
|
|
|
1991
2051
|
'[role="cell"], [role="gridcell"], [role="columnheader"], [cell-type="default"], [cell-type="columnheader"]'
|
|
1992
2052
|
);
|
|
1993
2053
|
this.fixedColumnsPositions.forEach((_, index) => {
|
|
2054
|
+
/* v8 ignore else -- @preserve */
|
|
1994
2055
|
if (index < cells.length) {
|
|
1995
2056
|
const gridCell = cells[index];
|
|
2057
|
+
/* v8 ignore else -- @preserve */
|
|
1996
2058
|
if (typeof gridCell.setFixedPosition === "function") {
|
|
1997
2059
|
gridCell.setFixedPosition(void 0);
|
|
1998
2060
|
}
|
|
@@ -2192,6 +2254,25 @@ function renderSortIcons(c) {
|
|
|
2192
2254
|
)}
|
|
2193
2255
|
`;
|
|
2194
2256
|
}
|
|
2257
|
+
function shouldAnnounceSortState(x) {
|
|
2258
|
+
return x.cellType === DataGridCellTypes.columnHeader && x.sortDirection !== void 0;
|
|
2259
|
+
}
|
|
2260
|
+
function getSortStateKey(x) {
|
|
2261
|
+
return x.sortDirection ?? DataGridCellSortStates.none;
|
|
2262
|
+
}
|
|
2263
|
+
function getLocalizedSortStatus(x) {
|
|
2264
|
+
const direction = getSortStateKey(x);
|
|
2265
|
+
const sortStatus = x.locale.dataGrid.cell.sortStatus;
|
|
2266
|
+
return sortStatus?.[direction];
|
|
2267
|
+
}
|
|
2268
|
+
function getLocalizedSortInstruction(x) {
|
|
2269
|
+
const direction = getSortStateKey(x);
|
|
2270
|
+
const sortInstruction = x.locale.dataGrid.cell.sortInstruction;
|
|
2271
|
+
return sortInstruction?.[direction];
|
|
2272
|
+
}
|
|
2273
|
+
function getSortAnnouncement(x) {
|
|
2274
|
+
return [getLocalizedSortStatus(x), getLocalizedSortInstruction(x)].filter((part) => !!part).join(" ").trim();
|
|
2275
|
+
}
|
|
2195
2276
|
function handleKeyDown(x, e) {
|
|
2196
2277
|
if (e.key === fastWebUtilities.keyEnter || e.key === fastWebUtilities.keySpace) {
|
|
2197
2278
|
x._handleInteraction();
|
|
@@ -2216,12 +2297,29 @@ const DataGridCellTemplate = (context) => {
|
|
|
2216
2297
|
class="${getBaseClasses}"
|
|
2217
2298
|
role="${(x) => shouldShowSortIcons(x) ? "button" : void 0}"
|
|
2218
2299
|
>
|
|
2219
|
-
${(x) => x.selected ? fastElement.html`<${visuallyHiddenTagName}
|
|
2300
|
+
${(x) => x.selected ? fastElement.html`<${visuallyHiddenTagName}
|
|
2301
|
+
data-announcement="selection"
|
|
2302
|
+
>
|
|
2303
|
+
${(x2) => x2.locale.dataGrid.cell.selected}
|
|
2304
|
+
</${visuallyHiddenTagName}>` : null}
|
|
2220
2305
|
<slot></slot>
|
|
2221
2306
|
${fastElement.when(
|
|
2222
2307
|
shouldShowSortIcons,
|
|
2223
|
-
fastElement.html`<${visuallyHiddenTagName}
|
|
2308
|
+
fastElement.html`<${visuallyHiddenTagName}
|
|
2309
|
+
data-announcement="button-role"
|
|
2310
|
+
>
|
|
2311
|
+
${(x) => x.locale.dataGrid.cell.button}
|
|
2312
|
+
</${visuallyHiddenTagName}>
|
|
2224
2313
|
`
|
|
2314
|
+
)}
|
|
2315
|
+
${fastElement.when(
|
|
2316
|
+
shouldAnnounceSortState,
|
|
2317
|
+
fastElement.html`<${visuallyHiddenTagName}
|
|
2318
|
+
aria-live="polite"
|
|
2319
|
+
data-announcement="sort-state"
|
|
2320
|
+
>
|
|
2321
|
+
${getSortAnnouncement}
|
|
2322
|
+
</${visuallyHiddenTagName}>`
|
|
2225
2323
|
)}
|
|
2226
2324
|
${(_) => renderSortIcons(context)}
|
|
2227
2325
|
</div>
|
package/data-grid/definition.js
CHANGED
|
@@ -12,7 +12,7 @@ const dataGridStyles = ":host{display:block}:host([generate-header=sticky]){max-
|
|
|
12
12
|
|
|
13
13
|
const dataGridRowStyles = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-row-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-row-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-row-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-data-grid-row-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-data-grid-row-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-data-grid-row-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-row-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-row-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-row-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-row-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-data-grid-row-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-data-grid-row-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-data-grid-row-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-row-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:grid;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host([row-type=sticky-header]) .base{position:sticky;z-index:9;top:0;background:var(--data-grid-row-background, var(--vvd-color-canvas))}:host([row-type=hidden-header]) .base{display:none}:host(:is([selected]):not([row-type*=header])) .base{background-color:var(--_appearance-color-fill)}";
|
|
14
14
|
|
|
15
|
-
const dataGridCellStyles = ":host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:\"\";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--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))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}";
|
|
15
|
+
const dataGridCellStyles = ":host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:\"\";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_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(--_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(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, 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))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}";
|
|
16
16
|
|
|
17
17
|
let kernelMode;
|
|
18
18
|
const kernelAttr = "fast-kernel";
|
|
@@ -102,6 +102,39 @@ const noop = () => void 0;
|
|
|
102
102
|
result.globalThis = result;
|
|
103
103
|
}
|
|
104
104
|
})();
|
|
105
|
+
(function requestIdleCallbackPolyfill() {
|
|
106
|
+
if ("requestIdleCallback" in globalThis) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A polyfill for requestIdleCallback that falls back to setTimeout.
|
|
111
|
+
*
|
|
112
|
+
* @param callback - The function to call when the browser is idle.
|
|
113
|
+
* @param options - Options object that may contain a timeout property.
|
|
114
|
+
* @returns An ID that can be used to cancel the callback.
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
globalThis.requestIdleCallback = function requestIdleCallback(callback, options) {
|
|
118
|
+
const start = Date.now();
|
|
119
|
+
return setTimeout(() => {
|
|
120
|
+
callback({
|
|
121
|
+
didTimeout: (options === null || options === void 0 ? void 0 : options.timeout)
|
|
122
|
+
? Date.now() - start >= options.timeout
|
|
123
|
+
: false,
|
|
124
|
+
timeRemaining: () => 0,
|
|
125
|
+
});
|
|
126
|
+
}, 1);
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* A polyfill for cancelIdleCallback that falls back to clearTimeout.
|
|
130
|
+
*
|
|
131
|
+
* @param id - The ID of the callback to cancel.
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
134
|
+
globalThis.cancelIdleCallback = function cancelIdleCallback(id) {
|
|
135
|
+
clearTimeout(id);
|
|
136
|
+
};
|
|
137
|
+
})();
|
|
105
138
|
|
|
106
139
|
// ensure FAST global - duplicated debug.ts
|
|
107
140
|
const propConfig = {
|
|
@@ -1007,6 +1040,7 @@ class DataGridCell extends Localized(HostSemantics(VividElement)) {
|
|
|
1007
1040
|
case DataGridCellTypes.columnHeader:
|
|
1008
1041
|
if (this.columnDefinition !== null && this.columnDefinition.headerCellInternalFocusQueue !== true && typeof this.columnDefinition.headerCellFocusTargetCallback === "function") {
|
|
1009
1042
|
const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);
|
|
1043
|
+
/* v8 ignore else -- @preserve */
|
|
1010
1044
|
if (focusTarget !== null) {
|
|
1011
1045
|
focusTarget.focus();
|
|
1012
1046
|
}
|
|
@@ -1015,6 +1049,7 @@ class DataGridCell extends Localized(HostSemantics(VividElement)) {
|
|
|
1015
1049
|
default:
|
|
1016
1050
|
if (this.columnDefinition !== null && this.columnDefinition.cellInternalFocusQueue !== true && typeof this.columnDefinition.cellFocusTargetCallback === "function") {
|
|
1017
1051
|
const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);
|
|
1052
|
+
/* v8 ignore else -- @preserve */
|
|
1018
1053
|
if (focusTarget !== null) {
|
|
1019
1054
|
focusTarget.focus();
|
|
1020
1055
|
}
|
|
@@ -1025,6 +1060,7 @@ class DataGridCell extends Localized(HostSemantics(VividElement)) {
|
|
|
1025
1060
|
}
|
|
1026
1061
|
handleFocusout(_) {
|
|
1027
1062
|
this.shadowRoot.querySelector(".base").classList.remove("active");
|
|
1063
|
+
/* v8 ignore else -- @preserve */
|
|
1028
1064
|
if (this !== document.activeElement && !this.contains(document.activeElement)) {
|
|
1029
1065
|
this.isActiveCell = false;
|
|
1030
1066
|
}
|
|
@@ -1040,32 +1076,38 @@ class DataGridCell extends Localized(HostSemantics(VividElement)) {
|
|
|
1040
1076
|
return;
|
|
1041
1077
|
}
|
|
1042
1078
|
switch (this.cellType) {
|
|
1043
|
-
case DataGridCellTypes.columnHeader:
|
|
1079
|
+
case DataGridCellTypes.columnHeader: {
|
|
1044
1080
|
if (this.columnDefinition.headerCellFocusTargetCallback !== void 0) {
|
|
1045
1081
|
const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);
|
|
1082
|
+
/* v8 ignore else -- @preserve */
|
|
1046
1083
|
if (focusTarget !== null) {
|
|
1047
1084
|
focusTarget.focus();
|
|
1048
1085
|
}
|
|
1049
1086
|
e.preventDefault();
|
|
1050
1087
|
}
|
|
1051
1088
|
break;
|
|
1052
|
-
|
|
1089
|
+
}
|
|
1090
|
+
default: {
|
|
1053
1091
|
if (this.columnDefinition.cellFocusTargetCallback !== void 0) {
|
|
1054
1092
|
const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);
|
|
1093
|
+
/* v8 ignore else -- @preserve */
|
|
1055
1094
|
if (focusTarget !== null) {
|
|
1056
1095
|
focusTarget.focus();
|
|
1057
1096
|
}
|
|
1058
1097
|
e.preventDefault();
|
|
1059
1098
|
}
|
|
1060
1099
|
break;
|
|
1100
|
+
}
|
|
1061
1101
|
}
|
|
1062
1102
|
break;
|
|
1063
|
-
case keyEscape:
|
|
1103
|
+
case keyEscape: {
|
|
1104
|
+
/* v8 ignore else -- @preserve */
|
|
1064
1105
|
if (this.contains(document.activeElement) && document.activeElement !== this) {
|
|
1065
1106
|
this.focus();
|
|
1066
1107
|
e.preventDefault();
|
|
1067
1108
|
}
|
|
1068
1109
|
break;
|
|
1110
|
+
}
|
|
1069
1111
|
}
|
|
1070
1112
|
}
|
|
1071
1113
|
updateCellView() {
|
|
@@ -1249,6 +1291,7 @@ class DataGridRow extends HostSemantics(VividElement) {
|
|
|
1249
1291
|
*/
|
|
1250
1292
|
connectedCallback() {
|
|
1251
1293
|
super.connectedCallback();
|
|
1294
|
+
/* v8 ignore else -- @preserve */
|
|
1252
1295
|
if (this.behaviorOrchestrator === null) {
|
|
1253
1296
|
this.updateItemTemplate();
|
|
1254
1297
|
this.behaviorOrchestrator = ViewBehaviorOrchestrator.create(this);
|
|
@@ -1280,6 +1323,7 @@ class DataGridRow extends HostSemantics(VividElement) {
|
|
|
1280
1323
|
this.removeEventListener(eventKeyDown, this.handleKeydown);
|
|
1281
1324
|
}
|
|
1282
1325
|
handleFocusout(_) {
|
|
1326
|
+
/* v8 ignore else -- @preserve */
|
|
1283
1327
|
if (!this.contains(document.activeElement)) {
|
|
1284
1328
|
this.focusColumnIndex = 0;
|
|
1285
1329
|
}
|
|
@@ -1436,6 +1480,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1436
1480
|
focusTarget.focus();
|
|
1437
1481
|
};
|
|
1438
1482
|
this.onChildListChange = (mutations, _) => {
|
|
1483
|
+
/* v8 ignore else -- @preserve */
|
|
1439
1484
|
if (mutations && mutations.length) {
|
|
1440
1485
|
mutations.forEach((mutation) => {
|
|
1441
1486
|
mutation.addedNodes.forEach((newNode) => {
|
|
@@ -1523,7 +1568,9 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1523
1568
|
};
|
|
1524
1569
|
this.#changeHandler = {
|
|
1525
1570
|
handleChange(dataGrid, propertyName) {
|
|
1571
|
+
/* v8 ignore else -- @preserve */
|
|
1526
1572
|
if (propertyName === "columnDefinitions") {
|
|
1573
|
+
/* v8 ignore else -- @preserve */
|
|
1527
1574
|
if (dataGrid.$fastController.isConnected) {
|
|
1528
1575
|
dataGrid.toggleGeneratedHeader();
|
|
1529
1576
|
}
|
|
@@ -1606,6 +1653,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1606
1653
|
* @internal
|
|
1607
1654
|
*/
|
|
1608
1655
|
gridTemplateColumnsChanged() {
|
|
1656
|
+
/* v8 ignore if -- @preserve */
|
|
1609
1657
|
if (this.$fastController.isConnected) {
|
|
1610
1658
|
this.updateRowIndexes();
|
|
1611
1659
|
if (this.fixedColumns && this.fixedColumns > 0) {
|
|
@@ -1635,6 +1683,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1635
1683
|
this.generatedGridTemplateColumns = _DataGrid.generateTemplateColumns(
|
|
1636
1684
|
this.columnDefinitions
|
|
1637
1685
|
);
|
|
1686
|
+
/* v8 ignore if -- @preserve */
|
|
1638
1687
|
if (this.$fastController.isConnected) {
|
|
1639
1688
|
this.columnDefinitionsStale = true;
|
|
1640
1689
|
this.queueRowIndexUpdate();
|
|
@@ -1644,6 +1693,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1644
1693
|
* @internal
|
|
1645
1694
|
*/
|
|
1646
1695
|
headerCellItemTemplateChanged() {
|
|
1696
|
+
/* v8 ignore if -- @preserve */
|
|
1647
1697
|
if (this.$fastController.isConnected) {
|
|
1648
1698
|
if (this.generatedHeader !== null) {
|
|
1649
1699
|
this.generatedHeader.headerCellItemTemplate = this.headerCellItemTemplate;
|
|
@@ -1670,6 +1720,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1670
1720
|
* @internal
|
|
1671
1721
|
*/
|
|
1672
1722
|
fixedColumnsChanged() {
|
|
1723
|
+
/* v8 ignore if -- @preserve */
|
|
1673
1724
|
if (this.$fastController.isConnected) {
|
|
1674
1725
|
this.applyFixedColumns();
|
|
1675
1726
|
this.setupResizeObserver();
|
|
@@ -1695,9 +1746,11 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1695
1746
|
*/
|
|
1696
1747
|
connectedCallback() {
|
|
1697
1748
|
super.connectedCallback();
|
|
1749
|
+
/* v8 ignore else -- @preserve */
|
|
1698
1750
|
if (this.rowItemTemplate === void 0) {
|
|
1699
1751
|
this.rowItemTemplate = this.defaultRowItemTemplate;
|
|
1700
1752
|
}
|
|
1753
|
+
/* v8 ignore else -- @preserve */
|
|
1701
1754
|
if (this.behaviorOrchestrator === null) {
|
|
1702
1755
|
this.behaviorOrchestrator = ViewBehaviorOrchestrator.create(this);
|
|
1703
1756
|
this.$fastController.addBehavior(this.behaviorOrchestrator);
|
|
@@ -1837,13 +1890,16 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1837
1890
|
}
|
|
1838
1891
|
this.focusOnCell(newFocusRowIndex, this.focusColumnIndex, false);
|
|
1839
1892
|
break;
|
|
1840
|
-
case keyHome:
|
|
1893
|
+
case keyHome: {
|
|
1894
|
+
/* v8 ignore else -- @preserve */
|
|
1841
1895
|
if (e.ctrlKey) {
|
|
1842
1896
|
e.preventDefault();
|
|
1843
1897
|
this.focusOnCell(0, 0, true);
|
|
1844
1898
|
}
|
|
1845
1899
|
break;
|
|
1846
|
-
|
|
1900
|
+
}
|
|
1901
|
+
case keyEnd: {
|
|
1902
|
+
/* v8 ignore else -- @preserve */
|
|
1847
1903
|
if (e.ctrlKey && this.columnDefinitions !== null) {
|
|
1848
1904
|
e.preventDefault();
|
|
1849
1905
|
this.focusOnCell(
|
|
@@ -1853,6 +1909,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1853
1909
|
);
|
|
1854
1910
|
}
|
|
1855
1911
|
break;
|
|
1912
|
+
}
|
|
1856
1913
|
}
|
|
1857
1914
|
}
|
|
1858
1915
|
queueFocusUpdate() {
|
|
@@ -1881,6 +1938,7 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1881
1938
|
this.generatedHeader.columnDefinitions = this.columnDefinitions;
|
|
1882
1939
|
this.generatedHeader.gridTemplateColumns = this.gridTemplateColumns;
|
|
1883
1940
|
this.generatedHeader.rowType = this.generateHeader === GenerateHeaderOptions.sticky ? DataGridRowTypes.stickyHeader : DataGridRowTypes.header;
|
|
1941
|
+
/* v8 ignore else -- @preserve */
|
|
1884
1942
|
if (this.firstChild !== null) {
|
|
1885
1943
|
this.insertBefore(generatedHeaderElement, this.firstChild);
|
|
1886
1944
|
}
|
|
@@ -1948,8 +2006,10 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1948
2006
|
'[role="cell"], [role="gridcell"], [role="columnheader"], [cell-type="default"], [cell-type="columnheader"]'
|
|
1949
2007
|
);
|
|
1950
2008
|
this.fixedColumnsPositions.forEach((position, index) => {
|
|
2009
|
+
/* v8 ignore else -- @preserve */
|
|
1951
2010
|
if (index < cells.length) {
|
|
1952
2011
|
const gridCell = cells[index];
|
|
2012
|
+
/* v8 ignore else -- @preserve */
|
|
1953
2013
|
if (typeof gridCell.setFixedPosition === "function") {
|
|
1954
2014
|
gridCell.setFixedPosition(`${position}px`);
|
|
1955
2015
|
}
|
|
@@ -1987,8 +2047,10 @@ const _DataGrid = class _DataGrid extends VividElement {
|
|
|
1987
2047
|
'[role="cell"], [role="gridcell"], [role="columnheader"], [cell-type="default"], [cell-type="columnheader"]'
|
|
1988
2048
|
);
|
|
1989
2049
|
this.fixedColumnsPositions.forEach((_, index) => {
|
|
2050
|
+
/* v8 ignore else -- @preserve */
|
|
1990
2051
|
if (index < cells.length) {
|
|
1991
2052
|
const gridCell = cells[index];
|
|
2053
|
+
/* v8 ignore else -- @preserve */
|
|
1992
2054
|
if (typeof gridCell.setFixedPosition === "function") {
|
|
1993
2055
|
gridCell.setFixedPosition(void 0);
|
|
1994
2056
|
}
|
|
@@ -2188,6 +2250,25 @@ function renderSortIcons(c) {
|
|
|
2188
2250
|
)}
|
|
2189
2251
|
`;
|
|
2190
2252
|
}
|
|
2253
|
+
function shouldAnnounceSortState(x) {
|
|
2254
|
+
return x.cellType === DataGridCellTypes.columnHeader && x.sortDirection !== void 0;
|
|
2255
|
+
}
|
|
2256
|
+
function getSortStateKey(x) {
|
|
2257
|
+
return x.sortDirection ?? DataGridCellSortStates.none;
|
|
2258
|
+
}
|
|
2259
|
+
function getLocalizedSortStatus(x) {
|
|
2260
|
+
const direction = getSortStateKey(x);
|
|
2261
|
+
const sortStatus = x.locale.dataGrid.cell.sortStatus;
|
|
2262
|
+
return sortStatus?.[direction];
|
|
2263
|
+
}
|
|
2264
|
+
function getLocalizedSortInstruction(x) {
|
|
2265
|
+
const direction = getSortStateKey(x);
|
|
2266
|
+
const sortInstruction = x.locale.dataGrid.cell.sortInstruction;
|
|
2267
|
+
return sortInstruction?.[direction];
|
|
2268
|
+
}
|
|
2269
|
+
function getSortAnnouncement(x) {
|
|
2270
|
+
return [getLocalizedSortStatus(x), getLocalizedSortInstruction(x)].filter((part) => !!part).join(" ").trim();
|
|
2271
|
+
}
|
|
2191
2272
|
function handleKeyDown(x, e) {
|
|
2192
2273
|
if (e.key === keyEnter || e.key === keySpace) {
|
|
2193
2274
|
x._handleInteraction();
|
|
@@ -2212,12 +2293,29 @@ const DataGridCellTemplate = (context) => {
|
|
|
2212
2293
|
class="${getBaseClasses}"
|
|
2213
2294
|
role="${(x) => shouldShowSortIcons(x) ? "button" : void 0}"
|
|
2214
2295
|
>
|
|
2215
|
-
${(x) => x.selected ? html`<${visuallyHiddenTagName}
|
|
2296
|
+
${(x) => x.selected ? html`<${visuallyHiddenTagName}
|
|
2297
|
+
data-announcement="selection"
|
|
2298
|
+
>
|
|
2299
|
+
${(x2) => x2.locale.dataGrid.cell.selected}
|
|
2300
|
+
</${visuallyHiddenTagName}>` : null}
|
|
2216
2301
|
<slot></slot>
|
|
2217
2302
|
${when(
|
|
2218
2303
|
shouldShowSortIcons,
|
|
2219
|
-
html`<${visuallyHiddenTagName}
|
|
2304
|
+
html`<${visuallyHiddenTagName}
|
|
2305
|
+
data-announcement="button-role"
|
|
2306
|
+
>
|
|
2307
|
+
${(x) => x.locale.dataGrid.cell.button}
|
|
2308
|
+
</${visuallyHiddenTagName}>
|
|
2220
2309
|
`
|
|
2310
|
+
)}
|
|
2311
|
+
${when(
|
|
2312
|
+
shouldAnnounceSortState,
|
|
2313
|
+
html`<${visuallyHiddenTagName}
|
|
2314
|
+
aria-live="polite"
|
|
2315
|
+
data-announcement="sort-state"
|
|
2316
|
+
>
|
|
2317
|
+
${getSortAnnouncement}
|
|
2318
|
+
</${visuallyHiddenTagName}>`
|
|
2221
2319
|
)}
|
|
2222
2320
|
${(_) => renderSortIcons(context)}
|
|
2223
2321
|
</div>
|