@ethlete/components 1.0.0-next.79 → 1.0.0-next.81

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.
Files changed (88) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/design/anchored-dialog.ts +98 -0
  3. package/design/button.ts +13 -1
  4. package/design/config.json +6 -1
  5. package/design/dialog.ts +5 -3
  6. package/design/form-field.ts +3 -0
  7. package/design/menu.ts +8 -4
  8. package/design/notification.ts +8 -4
  9. package/design/sdk/components/accordion/accordion.ts +5 -1
  10. package/design/sdk/components/anchored-dialog/anchored-dialog.css +63 -0
  11. package/design/sdk/components/anchored-dialog/anchored-dialog.ts +75 -0
  12. package/design/sdk/components/avatar/avatar.ts +3 -2
  13. package/design/sdk/components/badge/badge.ts +2 -1
  14. package/design/sdk/components/banner/banner.ts +2 -1
  15. package/design/sdk/components/bracket/bracket.ts +2 -1
  16. package/design/sdk/components/breadcrumb/breadcrumb.ts +2 -1
  17. package/design/sdk/components/button/button.css +11 -3
  18. package/design/sdk/components/button/button.ts +17 -4
  19. package/design/sdk/components/calendar/calendar.ts +2 -1
  20. package/design/sdk/components/card/card.ts +2 -1
  21. package/design/sdk/components/carousel/carousel.ts +2 -1
  22. package/design/sdk/components/chart/chart.ts +2 -1
  23. package/design/sdk/components/checkbox/checkbox.css +65 -0
  24. package/design/sdk/components/checkbox/checkbox.ts +180 -0
  25. package/design/sdk/components/chip/chip.ts +2 -1
  26. package/design/sdk/components/copy-button/copy-button.ts +2 -1
  27. package/design/sdk/components/description-list/description-list.ts +2 -1
  28. package/design/sdk/components/dialog/dialog.ts +2 -1
  29. package/design/sdk/components/divider/divider.ts +2 -1
  30. package/design/sdk/components/empty-state/empty-state.ts +2 -1
  31. package/design/sdk/components/grid/grid.ts +3 -2
  32. package/design/sdk/components/input/input.ts +2 -1
  33. package/design/sdk/components/kbd/kbd.ts +2 -1
  34. package/design/sdk/components/loader/loader.ts +2 -1
  35. package/design/sdk/components/masonry/masonry.ts +3 -2
  36. package/design/sdk/components/match/match.ts +2 -1
  37. package/design/sdk/components/menu/menu.ts +19 -7
  38. package/design/sdk/components/notification/notification.ts +2 -1
  39. package/design/sdk/components/otp-input/otp-input.ts +2 -1
  40. package/design/sdk/components/pagination/pagination.ts +2 -1
  41. package/design/sdk/components/picture/picture.ts +2 -1
  42. package/design/sdk/components/progress-steps/progress-steps.ts +2 -1
  43. package/design/sdk/components/query-error/query-error.ts +2 -1
  44. package/design/sdk/components/radio-group/radio-group.css +46 -0
  45. package/design/sdk/components/radio-group/radio-group.ts +167 -0
  46. package/design/sdk/components/scheduler/scheduler.ts +2 -1
  47. package/design/sdk/components/scrollable/scrollable.ts +2 -2
  48. package/design/sdk/components/scrollbar/scrollbar.ts +2 -1
  49. package/design/sdk/components/select/shared/select-part.ts +11 -2
  50. package/design/sdk/components/select-panel/select-panel.ts +2 -1
  51. package/design/sdk/components/skeleton/skeleton.ts +2 -1
  52. package/design/sdk/components/slider/slider.ts +2 -1
  53. package/design/sdk/components/standings/standings.ts +2 -1
  54. package/design/sdk/components/stat-tile/stat-tile.ts +2 -1
  55. package/design/sdk/components/stream/stream.ts +6 -1
  56. package/design/sdk/components/switch/switch.css +4 -2
  57. package/design/sdk/components/switch/switch.ts +2 -2
  58. package/design/sdk/components/table/table.ts +2 -1
  59. package/design/sdk/components/textarea/textarea.ts +4 -3
  60. package/design/sdk/components/timeline/timeline.ts +2 -2
  61. package/design/sdk/components/toolbar/toolbar.ts +2 -1
  62. package/design/sdk/foundations/colors/colors.css +16 -0
  63. package/design/sdk/foundations/colors/colors.ts +1 -1
  64. package/design/sdk/foundations/colors/shared/contrast.ts +1 -1
  65. package/design/sdk/lint-baseline.json +6 -0
  66. package/design/sdk/pictures.json +1195 -0
  67. package/design/sdk/ready.json +64 -0
  68. package/design/sdk/rule-baseline.json +104 -0
  69. package/design/select.ts +9 -5
  70. package/design/textarea.ts +2 -0
  71. package/design/tooltip.ts +5 -5
  72. package/fesm2022/ethlete-components.mjs +1190 -973
  73. package/fesm2022/ethlete-components.mjs.map +1 -1
  74. package/generators/generators.json +2 -0
  75. package/package.json +1 -1
  76. package/src/lib/button/button-properties-styles.component.css +6 -6
  77. package/src/lib/button/button.component.css +11 -7
  78. package/src/lib/button/button.types.ts +33 -0
  79. package/src/lib/button/icon-button.component.css +3 -3
  80. package/src/lib/button/window-control-button.component.css +70 -3
  81. package/src/lib/calendar/calendar.component.css +2 -2
  82. package/src/lib/chip/chip.component.css +4 -4
  83. package/src/lib/focus-ring/focus-ring-styles.component.css +20 -5
  84. package/src/lib/forms/switch/switch.component.css +1 -14
  85. package/src/lib/kbd/kbd.component.css +1 -1
  86. package/src/lib/menu/menu.component.css +2 -2
  87. package/src/lib/notification/notification.component.css +3 -3
  88. package/types/ethlete-components.d.ts +171 -139
@@ -2548,7 +2548,7 @@ var FocusRingStylesComponent = class FocusRingStylesComponent {
2548
2548
  ngImport: i0,
2549
2549
  template: "",
2550
2550
  isInline: true,
2551
- styles: ["@layer components{.et-focus-ring{--_et-focus-ring-offset: 3px;--_et-focus-ring-width: 2px;--_et-focus-ring-color: light-dark( var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor) );outline:var(--_et-focus-ring-width) solid transparent;outline-offset:var(--_et-focus-ring-offset)}.et-focus-ring:focus-visible{outline-color:var(--_et-focus-ring-color)}}\n"],
2551
+ styles: ["@layer components{@property --et-focus-ring-offset{syntax: \"*\"; inherits: false;}@property --et-focus-ring-width{syntax: \"*\"; inherits: false;}@property --et-focus-ring-color{syntax: \"*\"; inherits: false;}.et-focus-ring{--_et-focus-ring-offset: var(--et-focus-ring-offset, 3px);--_et-focus-ring-width: var(--et-focus-ring-width, 2px);--_et-focus-ring-color: var( --et-focus-ring-color, light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor)) );outline:var(--_et-focus-ring-width) solid transparent;outline-offset:var(--_et-focus-ring-offset)}.et-focus-ring:focus-visible{outline-color:var(--_et-focus-ring-color)}}\n"],
2552
2552
  encapsulation: i0.ViewEncapsulation.None
2553
2553
  });
2554
2554
  }
@@ -2564,7 +2564,7 @@ i0.ɵɵngDeclareClassMetadata({
2564
2564
  selector: "et-focus-ring-styles",
2565
2565
  template: "",
2566
2566
  encapsulation: ViewEncapsulation.None,
2567
- styles: ["@layer components{.et-focus-ring{--_et-focus-ring-offset: 3px;--_et-focus-ring-width: 2px;--_et-focus-ring-color: light-dark( var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor) );outline:var(--_et-focus-ring-width) solid transparent;outline-offset:var(--_et-focus-ring-offset)}.et-focus-ring:focus-visible{outline-color:var(--_et-focus-ring-color)}}\n"]
2567
+ styles: ["@layer components{@property --et-focus-ring-offset{syntax: \"*\"; inherits: false;}@property --et-focus-ring-width{syntax: \"*\"; inherits: false;}@property --et-focus-ring-color{syntax: \"*\"; inherits: false;}.et-focus-ring{--_et-focus-ring-offset: var(--et-focus-ring-offset, 3px);--_et-focus-ring-width: var(--et-focus-ring-width, 2px);--_et-focus-ring-color: var( --et-focus-ring-color, light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor)) );outline:var(--_et-focus-ring-width) solid transparent;outline-offset:var(--_et-focus-ring-offset)}.et-focus-ring:focus-visible{outline-color:var(--_et-focus-ring-color)}}\n"]
2568
2568
  }]
2569
2569
  }]
2570
2570
  });
@@ -3287,7 +3287,7 @@ var ButtonPropertiesStylesComponent = class ButtonPropertiesStylesComponent {
3287
3287
  ngImport: i0,
3288
3288
  template: "",
3289
3289
  isInline: true,
3290
- styles: ["@layer components{@property --et-button-border-radius{syntax: \"<length>\"; inherits: false; initial-value: 4px;}@property --et-button-padding{syntax: \"*\"; inherits: false; initial-value: 8px 16px;}@property --et-button-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-button-font-weight{syntax: \"<number>\"; inherits: false; initial-value: 500;}@property --et-button-cursor{syntax: \"*\"; inherits: false; initial-value: pointer;}@property --et-button-opacity-disabled{syntax: \"<number>\"; inherits: false; initial-value: .4;}@property --et-button-variant-opacity-hover-delta{syntax: \"<number>\"; inherits: false; initial-value: .08;}@property --et-button-variant-opacity-focus-delta{syntax: \"<number>\"; inherits: false; initial-value: .12;}@property --et-button-variant-opacity-active-delta{syntax: \"<number>\"; inherits: false; initial-value: .16;}@property --et-button-gap{syntax: \"<length>\"; inherits: false; initial-value: 8px;}@property --et-button-line-height{syntax: \"<number>\"; inherits: false; initial-value: 1.5;}@property --et-button-border-width{syntax: \"<length>\"; inherits: false; initial-value: 1px;}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: 0}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}.et-button-loader{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease}.et-button-loader .et-button-loader-spinner{--et-spinner-color: currentColor;--et-spinner-duration: .7s}}\n"],
3290
+ styles: ["@layer components{@property --et-button-border-radius{syntax: \"<length>\"; inherits: false; initial-value: 4px;}@property --et-button-padding{syntax: \"*\"; inherits: false; initial-value: 8px 16px;}@property --et-button-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-button-font-weight{syntax: \"<number>\"; inherits: false; initial-value: 500;}@property --et-button-cursor{syntax: \"*\"; inherits: false; initial-value: pointer;}@property --et-button-opacity-disabled{syntax: \"<number>\"; inherits: false; initial-value: .4;}@property --et-button-variant-opacity-hover-delta{syntax: \"<number>\"; inherits: false; initial-value: .08;}@property --et-button-variant-opacity-focus-delta{syntax: \"<number>\"; inherits: false; initial-value: .12;}@property --et-button-variant-opacity-active-delta{syntax: \"<number>\"; inherits: false; initial-value: .16;}@property --et-button-gap{syntax: \"<length>\"; inherits: false; initial-value: 8px;}@property --et-button-line-height{syntax: \"<number>\"; inherits: false; initial-value: 1.5;}@property --et-button-border-width{syntax: \"<length>\"; inherits: false; initial-value: 1px;}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: 0}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}.et-button-loader{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease}.et-button-loader .et-button-loader-spinner{--et-spinner-color: currentColor;--et-spinner-duration: .7s}}\n"],
3291
3291
  encapsulation: i0.ViewEncapsulation.None
3292
3292
  });
3293
3293
  }
@@ -3303,7 +3303,7 @@ i0.ɵɵngDeclareClassMetadata({
3303
3303
  selector: "et-button-properties-styles",
3304
3304
  template: "",
3305
3305
  encapsulation: ViewEncapsulation.None,
3306
- styles: ["@layer components{@property --et-button-border-radius{syntax: \"<length>\"; inherits: false; initial-value: 4px;}@property --et-button-padding{syntax: \"*\"; inherits: false; initial-value: 8px 16px;}@property --et-button-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-button-font-weight{syntax: \"<number>\"; inherits: false; initial-value: 500;}@property --et-button-cursor{syntax: \"*\"; inherits: false; initial-value: pointer;}@property --et-button-opacity-disabled{syntax: \"<number>\"; inherits: false; initial-value: .4;}@property --et-button-variant-opacity-hover-delta{syntax: \"<number>\"; inherits: false; initial-value: .08;}@property --et-button-variant-opacity-focus-delta{syntax: \"<number>\"; inherits: false; initial-value: .12;}@property --et-button-variant-opacity-active-delta{syntax: \"<number>\"; inherits: false; initial-value: .16;}@property --et-button-gap{syntax: \"<length>\"; inherits: false; initial-value: 8px;}@property --et-button-line-height{syntax: \"<number>\"; inherits: false; initial-value: 1.5;}@property --et-button-border-width{syntax: \"<length>\"; inherits: false; initial-value: 1px;}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: 0}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}.et-button-loader{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease}.et-button-loader .et-button-loader-spinner{--et-spinner-color: currentColor;--et-spinner-duration: .7s}}\n"]
3306
+ styles: ["@layer components{@property --et-button-border-radius{syntax: \"<length>\"; inherits: false; initial-value: 4px;}@property --et-button-padding{syntax: \"*\"; inherits: false; initial-value: 8px 16px;}@property --et-button-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-button-font-weight{syntax: \"<number>\"; inherits: false; initial-value: 500;}@property --et-button-cursor{syntax: \"*\"; inherits: false; initial-value: pointer;}@property --et-button-opacity-disabled{syntax: \"<number>\"; inherits: false; initial-value: .4;}@property --et-button-variant-opacity-hover-delta{syntax: \"<number>\"; inherits: false; initial-value: .08;}@property --et-button-variant-opacity-focus-delta{syntax: \"<number>\"; inherits: false; initial-value: .12;}@property --et-button-variant-opacity-active-delta{syntax: \"<number>\"; inherits: false; initial-value: .16;}@property --et-button-gap{syntax: \"<length>\"; inherits: false; initial-value: 8px;}@property --et-button-line-height{syntax: \"<number>\"; inherits: false; initial-value: 1.5;}@property --et-button-border-width{syntax: \"<length>\"; inherits: false; initial-value: 1px;}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: 0}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=outline],[data-variant=transparent]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(.et-button,.et-fab,.et-icon-button):where([data-variant=tonal]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent]){--et-theme-color-primary-opacity: .16}@media(hover:hover){:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):focus-visible{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-focus-delta))}:is(:is(.et-button,.et-icon-button)[data-pressed=true]:where([data-pressed-variant=tonal]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=transparent])):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-active-delta))}.et-button-loader{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease}.et-button-loader .et-button-loader-spinner{--et-spinner-color: currentColor;--et-spinner-duration: .7s}}\n"]
3307
3307
  }]
3308
3308
  }]
3309
3309
  });
@@ -4098,7 +4098,7 @@ var IconButtonComponent = class IconButtonComponent {
4098
4098
  }
4099
4099
  `,
4100
4100
  isInline: true,
4101
- styles: ["@layer components{@property --et-icon-button-size{syntax: \"<length>\"; inherits: true; initial-value: 39px;}@property --et-icon-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}.et-icon-button{display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--et-icon-button-size);height:var(--et-icon-button-size);background:var( --_et-icon-button-background, rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity)) );color:var(--et-theme-color-ink-solid);border:none;border-radius:var(--et-icon-button-border-radius, 9999px);padding:0;font-size:var(--et-button-font-size);cursor:var(--et-button-cursor);appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;flex-shrink:0}.et-icon-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-icon-button:where([data-size=xs]){--et-icon-button-size: 2.4rem;--et-icon-button-icon-size: 1.4rem}.et-icon-button:where([data-size=sm]){--et-icon-button-size: 3.1rem;--et-icon-button-icon-size: 1.8rem}.et-icon-button:where([data-size=md]){--et-icon-button-size: 3.9rem;--et-icon-button-icon-size: 2rem}.et-icon-button:where([data-size=lg]){--et-icon-button-size: 4.6rem;--et-icon-button-icon-size: 2.4rem}.et-icon-button:where([data-size=xl]){--et-icon-button-size: 5.7rem;--et-icon-button-icon-size: 2.8rem}.et-icon-button:where([disabled]),.et-icon-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);color:var(--et-theme-color-on-primary);box-shadow:var(--et-button-shadow, none)}@media(hover:hover){:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):hover{--et-theme-color-primary-opacity: 1;--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):focus-visible{--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-focus-delta))}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):active{--_et-icon-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 84%, var(--et-theme-color-on-primary-solid) )}.et-icon-button:where([data-variant=outline]){border:var(--et-button-border-width, .1rem) solid var(--et-theme-color-ink-solid)}.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){border:none}.et-icon-button .et-icon-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-icon-button .et-icon-button-icon .et-icon{width:var(--et-icon-button-icon-size);height:var(--et-icon-button-icon-size)}.et-icon-button[data-loading=true] .et-icon-button-icon{opacity:0}.et-icon-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
4101
+ styles: ["@layer components{@property --et-icon-button-size{syntax: \"<length>\"; inherits: true; initial-value: 39px;}@property --et-icon-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}.et-icon-button{display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--et-icon-button-size);height:var(--et-icon-button-size);background:var( --_et-icon-button-background, rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity)) );color:var(--et-theme-color-ink-solid);border:none;border-radius:var(--et-icon-button-border-radius, 9999px);padding:0;font-size:var(--et-button-font-size);cursor:var(--et-button-cursor);appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;flex-shrink:0}.et-icon-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-icon-button:where([data-size=xs]){--et-icon-button-size: 2.4rem;--et-icon-button-icon-size: 1.4rem}.et-icon-button:where([data-size=sm]){--et-icon-button-size: 3.1rem;--et-icon-button-icon-size: 1.8rem}.et-icon-button:where([data-size=md]){--et-icon-button-size: 3.9rem;--et-icon-button-icon-size: 2rem}.et-icon-button:where([data-size=lg]){--et-icon-button-size: 4.6rem;--et-icon-button-icon-size: 2.4rem}.et-icon-button:where([data-size=xl]){--et-icon-button-size: 5.7rem;--et-icon-button-icon-size: 2.8rem}.et-icon-button:where([disabled]),.et-icon-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);color:var(--et-theme-color-on-primary);box-shadow:var(--et-button-shadow, none)}@media(hover:hover){:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: 1;--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):focus-visible{--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-focus-delta))}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):not([disabled],[aria-disabled=true]):active{--_et-icon-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 96%, var(--et-theme-color-on-primary-solid) )}.et-icon-button:where([data-variant=outline]){border:var(--et-button-border-width, .1rem) solid var(--et-theme-color-ink-solid)}.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){border:none}.et-icon-button .et-icon-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-icon-button .et-icon-button-icon .et-icon{width:var(--et-icon-button-icon-size);height:var(--et-icon-button-icon-size)}.et-icon-button[data-loading=true] .et-icon-button-icon{opacity:0}.et-icon-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
4102
4102
  dependencies: [{
4103
4103
  kind: "component",
4104
4104
  type: SpinnerComponent,
@@ -4169,7 +4169,7 @@ i0.ɵɵngDeclareClassMetadata({
4169
4169
  "[attr.data-pressed-variant]": "pressedVariant()",
4170
4170
  "[attr.data-can-animate]": "canAnimate.state() || null"
4171
4171
  },
4172
- styles: ["@layer components{@property --et-icon-button-size{syntax: \"<length>\"; inherits: true; initial-value: 39px;}@property --et-icon-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}.et-icon-button{display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--et-icon-button-size);height:var(--et-icon-button-size);background:var( --_et-icon-button-background, rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity)) );color:var(--et-theme-color-ink-solid);border:none;border-radius:var(--et-icon-button-border-radius, 9999px);padding:0;font-size:var(--et-button-font-size);cursor:var(--et-button-cursor);appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;flex-shrink:0}.et-icon-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-icon-button:where([data-size=xs]){--et-icon-button-size: 2.4rem;--et-icon-button-icon-size: 1.4rem}.et-icon-button:where([data-size=sm]){--et-icon-button-size: 3.1rem;--et-icon-button-icon-size: 1.8rem}.et-icon-button:where([data-size=md]){--et-icon-button-size: 3.9rem;--et-icon-button-icon-size: 2rem}.et-icon-button:where([data-size=lg]){--et-icon-button-size: 4.6rem;--et-icon-button-icon-size: 2.4rem}.et-icon-button:where([data-size=xl]){--et-icon-button-size: 5.7rem;--et-icon-button-icon-size: 2.8rem}.et-icon-button:where([disabled]),.et-icon-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);color:var(--et-theme-color-on-primary);box-shadow:var(--et-button-shadow, none)}@media(hover:hover){:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):hover{--et-theme-color-primary-opacity: 1;--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):focus-visible{--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-focus-delta))}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):active{--_et-icon-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 84%, var(--et-theme-color-on-primary-solid) )}.et-icon-button:where([data-variant=outline]){border:var(--et-button-border-width, .1rem) solid var(--et-theme-color-ink-solid)}.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){border:none}.et-icon-button .et-icon-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-icon-button .et-icon-button-icon .et-icon{width:var(--et-icon-button-icon-size);height:var(--et-icon-button-icon-size)}.et-icon-button[data-loading=true] .et-icon-button-icon{opacity:0}.et-icon-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
4172
+ styles: ["@layer components{@property --et-icon-button-size{syntax: \"<length>\"; inherits: true; initial-value: 39px;}@property --et-icon-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}.et-icon-button{display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--et-icon-button-size);height:var(--et-icon-button-size);background:var( --_et-icon-button-background, rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity)) );color:var(--et-theme-color-ink-solid);border:none;border-radius:var(--et-icon-button-border-radius, 9999px);padding:0;font-size:var(--et-button-font-size);cursor:var(--et-button-cursor);appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;flex-shrink:0}.et-icon-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-icon-button:where([data-size=xs]){--et-icon-button-size: 2.4rem;--et-icon-button-icon-size: 1.4rem}.et-icon-button:where([data-size=sm]){--et-icon-button-size: 3.1rem;--et-icon-button-icon-size: 1.8rem}.et-icon-button:where([data-size=md]){--et-icon-button-size: 3.9rem;--et-icon-button-icon-size: 2rem}.et-icon-button:where([data-size=lg]){--et-icon-button-size: 4.6rem;--et-icon-button-icon-size: 2.4rem}.et-icon-button:where([data-size=xl]){--et-icon-button-size: 5.7rem;--et-icon-button-icon-size: 2.8rem}.et-icon-button:where([disabled]),.et-icon-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);color:var(--et-theme-color-on-primary);box-shadow:var(--et-button-shadow, none)}@media(hover:hover){:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: 1;--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):focus-visible{--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-focus-delta))}:is(.et-icon-button:where([data-variant=filled]):not([data-pressed=true]),.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled])):not([disabled],[aria-disabled=true]):active{--_et-icon-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 96%, var(--et-theme-color-on-primary-solid) )}.et-icon-button:where([data-variant=outline]){border:var(--et-button-border-width, .1rem) solid var(--et-theme-color-ink-solid)}.et-icon-button[data-pressed=true]:where([data-pressed-variant=filled]){border:none}.et-icon-button .et-icon-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-icon-button .et-icon-button-icon .et-icon{width:var(--et-icon-button-icon-size);height:var(--et-icon-button-icon-size)}.et-icon-button[data-loading=true] .et-icon-button-icon{opacity:0}.et-icon-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
4173
4173
  }]
4174
4174
  }],
4175
4175
  propDecorators: {
@@ -6780,6 +6780,10 @@ var ButtonComponent = class ButtonComponent {
6780
6780
  this.variant = input(BUTTON_VARIANTS.FILLED, ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
6781
6781
  this.size = input(BUTTON_SIZES.MD, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
6782
6782
  this.iconAlignment = input(BUTTON_ICON_ALIGNMENTS.START, ...ngDevMode ? [{ debugName: "iconAlignment" }] : /* istanbul ignore next */ []);
6783
+ this.stretchContents = input(false, {
6784
+ ...ngDevMode ? { debugName: "stretchContents" } : /* istanbul ignore next */ {},
6785
+ transform: booleanAttribute
6786
+ });
6783
6787
  this.canAnimate = createCanAnimateSignal();
6784
6788
  this.spinnerConfig = computed(() => BUTTON_SPINNER_CONFIG[this.size()], ...ngDevMode ? [{ debugName: "spinnerConfig" }] : /* istanbul ignore next */ []);
6785
6789
  this.pressedVariant = computed(() => this.buttonDir.pressed() ? PRESSED_VARIANT_MAP[this.variant()] : null, ...ngDevMode ? [{ debugName: "pressedVariant" }] : /* istanbul ignore next */ []);
@@ -6822,6 +6826,13 @@ var ButtonComponent = class ButtonComponent {
6822
6826
  isSignal: true,
6823
6827
  isRequired: false,
6824
6828
  transformFunction: null
6829
+ },
6830
+ stretchContents: {
6831
+ classPropertyName: "stretchContents",
6832
+ publicName: "stretchContents",
6833
+ isSignal: true,
6834
+ isRequired: false,
6835
+ transformFunction: null
6825
6836
  }
6826
6837
  },
6827
6838
  host: {
@@ -6829,6 +6840,7 @@ var ButtonComponent = class ButtonComponent {
6829
6840
  "attr.data-icon-alignment": "iconAlignment()",
6830
6841
  "attr.data-variant": "variant()",
6831
6842
  "attr.data-size": "size()",
6843
+ "attr.data-stretch-contents": "stretchContents() || null",
6832
6844
  "attr.data-pressed-variant": "pressedVariant()",
6833
6845
  "attr.data-can-animate": "canAnimate.state() || null"
6834
6846
  },
@@ -6900,7 +6912,7 @@ var ButtonComponent = class ButtonComponent {
6900
6912
  </ng-template>
6901
6913
  `,
6902
6914
  isInline: true,
6903
- styles: ["@layer components{.et-button{--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent;--_et-button-gap: var(--et-button-gap);display:inline-flex;position:relative;align-items:center;justify-content:center;gap:var(--et-button-gap);background:var(--_et-button-background);color:var(--_et-button-color);border-radius:var(--et-button-border-radius);padding:var(--et-button-padding);font-size:var(--et-button-font-size);font-weight:var(--et-button-font-weight);border:var(--et-button-border-width, .1rem) solid var(--_et-button-border-color);box-shadow:var(--et-button-shadow, 0 0 #0000);cursor:var(--et-button-cursor);text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:var(--et-button-line-height);white-space:nowrap}.et-button[data-can-animate]{transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-button:where([data-size=xs]){--et-button-padding: .2rem .8rem;--et-button-font-size: 1.2rem;--et-button-border-radius: .3rem;--et-button-gap: .4rem}.et-button:where([data-size=sm]){--et-button-padding: .4rem 1.2rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .5rem}.et-button:where([data-size=md]){--et-button-padding: .8rem 1.6rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .6rem}.et-button:where([data-size=lg]){--et-button-padding: 1rem 2rem;--et-button-font-size: 1.6rem;--et-button-border-radius: .6rem;--et-button-gap: .7rem}.et-button:where([data-size=xl]){--et-button-padding: 1.4rem 2.8rem;--et-button-font-size: 1.8rem;--et-button-border-radius: .8rem;--et-button-gap: .8rem}.et-button:where([disabled]),.et-button:where([aria-disabled=true]){cursor:not-allowed;pointer-events:none}.et-button:where([disabled],[aria-disabled=true]):where([data-variant=outline]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=tonal]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=transparent]),.et-button:where([disabled],[aria-disabled=true])[data-pressed=true]{opacity:var(--et-button-opacity-disabled)}.et-button:where([data-variant=outline]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=outline]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline])[data-loading=true]:not([disabled],[aria-disabled=true]){--_et-button-color: var(--et-theme-color-primary-solid);--_et-button-border-color: var(--et-theme-color-primary-solid)}.et-button:where([data-variant=tonal]),.et-button[data-pressed=true]:where([data-pressed-variant=tonal]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}.et-button:where([data-variant=transparent]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}@media(hover:hover){.et-button:where([data-variant=filled]):hover{--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}.et-button:where([data-variant=filled]):active{--_et-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 84%, var(--et-theme-color-on-primary-solid) )}.et-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=filled]):hover{--et-theme-color-primary-opacity: 1}}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):focus-visible{--et-theme-color-primary-opacity: 1}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):active{--et-theme-color-primary-opacity: 1}.et-button .et-button-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--et-button-icon-size, 1em);transition:opacity .12s ease}.et-button .et-button-icon:empty{display:none}.et-button .et-button-icon .et-icon{width:1em;height:1em}.et-button .et-button-contents{display:inline-flex;align-items:center;gap:var(--_et-button-gap);min-width:0;transition:opacity .12s ease}.et-button[data-loading=true] .et-button-icon,.et-button[data-loading=true] .et-button-contents{opacity:0}.et-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
6915
+ styles: ["@layer components{.et-button{--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent;--_et-button-gap: var(--et-button-gap);display:inline-flex;position:relative;align-items:center;justify-content:center;gap:var(--et-button-gap);background:var(--_et-button-background);color:var(--_et-button-color);border-radius:var(--et-button-border-radius);padding:var(--et-button-padding);font-size:var(--et-button-font-size);font-weight:var(--et-button-font-weight);border:var(--et-button-border-width, .1rem) solid var(--_et-button-border-color);box-shadow:var(--et-button-shadow, 0 0 #0000);cursor:var(--et-button-cursor);text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:var(--et-button-line-height);white-space:nowrap}.et-button[data-can-animate]{transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-button:where([data-size=xs]){--et-button-padding: .2rem .8rem;--et-button-font-size: 1.2rem;--et-button-border-radius: .3rem;--et-button-gap: .4rem}.et-button:where([data-size=sm]){--et-button-padding: .4rem 1.2rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .5rem}.et-button:where([data-size=md]){--et-button-padding: .8rem 1.6rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .6rem}.et-button:where([data-size=lg]){--et-button-padding: 1rem 2rem;--et-button-font-size: 1.6rem;--et-button-border-radius: .6rem;--et-button-gap: .7rem}.et-button:where([data-size=xl]){--et-button-padding: 1.4rem 2.8rem;--et-button-font-size: 1.8rem;--et-button-border-radius: .8rem;--et-button-gap: .8rem}.et-button:where([disabled]),.et-button:where([aria-disabled=true]){cursor:not-allowed;pointer-events:none}.et-button:where([disabled],[aria-disabled=true]):where([data-variant=outline]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=tonal]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=transparent]),.et-button:where([disabled],[aria-disabled=true])[data-pressed=true]{opacity:var(--et-button-opacity-disabled)}.et-button:where([data-variant=outline]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=outline]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline])[data-loading=true]:not([disabled],[aria-disabled=true]){--_et-button-color: var(--et-theme-color-primary-solid);--_et-button-border-color: var(--et-theme-color-primary-solid)}.et-button:where([data-variant=tonal]),.et-button[data-pressed=true]:where([data-pressed-variant=tonal]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}.et-button:where([data-variant=transparent]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}@media(hover:hover){.et-button:where([data-variant=filled]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}.et-button:where([data-variant=filled]):not([disabled],[aria-disabled=true]):active{--_et-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 96%, var(--et-theme-color-on-primary-solid) )}.et-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=filled]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: 1}}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):focus-visible{--et-theme-color-primary-opacity: 1}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: 1}.et-button .et-button-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--et-button-icon-size, 1em);transition:opacity .12s ease}.et-button .et-button-icon:empty{display:none}.et-button .et-button-icon .et-icon{width:1em;height:1em}.et-button .et-button-contents{display:inline-flex;align-items:center;gap:var(--_et-button-gap);min-width:0;transition:opacity .12s ease}.et-button:where([data-stretch-contents]) .et-button-contents{flex:1}.et-button[data-loading=true] .et-button-icon,.et-button[data-loading=true] .et-button-contents{opacity:0}.et-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
6904
6916
  dependencies: [{
6905
6917
  kind: "directive",
6906
6918
  type: NgTemplateOutlet,
@@ -6994,10 +7006,11 @@ i0.ɵɵngDeclareClassMetadata({
6994
7006
  "[attr.data-icon-alignment]": "iconAlignment()",
6995
7007
  "[attr.data-variant]": "variant()",
6996
7008
  "[attr.data-size]": "size()",
7009
+ "[attr.data-stretch-contents]": "stretchContents() || null",
6997
7010
  "[attr.data-pressed-variant]": "pressedVariant()",
6998
7011
  "[attr.data-can-animate]": "canAnimate.state() || null"
6999
7012
  },
7000
- styles: ["@layer components{.et-button{--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent;--_et-button-gap: var(--et-button-gap);display:inline-flex;position:relative;align-items:center;justify-content:center;gap:var(--et-button-gap);background:var(--_et-button-background);color:var(--_et-button-color);border-radius:var(--et-button-border-radius);padding:var(--et-button-padding);font-size:var(--et-button-font-size);font-weight:var(--et-button-font-weight);border:var(--et-button-border-width, .1rem) solid var(--_et-button-border-color);box-shadow:var(--et-button-shadow, 0 0 #0000);cursor:var(--et-button-cursor);text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:var(--et-button-line-height);white-space:nowrap}.et-button[data-can-animate]{transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-button:where([data-size=xs]){--et-button-padding: .2rem .8rem;--et-button-font-size: 1.2rem;--et-button-border-radius: .3rem;--et-button-gap: .4rem}.et-button:where([data-size=sm]){--et-button-padding: .4rem 1.2rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .5rem}.et-button:where([data-size=md]){--et-button-padding: .8rem 1.6rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .6rem}.et-button:where([data-size=lg]){--et-button-padding: 1rem 2rem;--et-button-font-size: 1.6rem;--et-button-border-radius: .6rem;--et-button-gap: .7rem}.et-button:where([data-size=xl]){--et-button-padding: 1.4rem 2.8rem;--et-button-font-size: 1.8rem;--et-button-border-radius: .8rem;--et-button-gap: .8rem}.et-button:where([disabled]),.et-button:where([aria-disabled=true]){cursor:not-allowed;pointer-events:none}.et-button:where([disabled],[aria-disabled=true]):where([data-variant=outline]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=tonal]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=transparent]),.et-button:where([disabled],[aria-disabled=true])[data-pressed=true]{opacity:var(--et-button-opacity-disabled)}.et-button:where([data-variant=outline]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=outline]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline])[data-loading=true]:not([disabled],[aria-disabled=true]){--_et-button-color: var(--et-theme-color-primary-solid);--_et-button-border-color: var(--et-theme-color-primary-solid)}.et-button:where([data-variant=tonal]),.et-button[data-pressed=true]:where([data-pressed-variant=tonal]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}.et-button:where([data-variant=transparent]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}@media(hover:hover){.et-button:where([data-variant=filled]):hover{--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}.et-button:where([data-variant=filled]):active{--_et-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 84%, var(--et-theme-color-on-primary-solid) )}.et-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=filled]):hover{--et-theme-color-primary-opacity: 1}}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):focus-visible{--et-theme-color-primary-opacity: 1}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):active{--et-theme-color-primary-opacity: 1}.et-button .et-button-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--et-button-icon-size, 1em);transition:opacity .12s ease}.et-button .et-button-icon:empty{display:none}.et-button .et-button-icon .et-icon{width:1em;height:1em}.et-button .et-button-contents{display:inline-flex;align-items:center;gap:var(--_et-button-gap);min-width:0;transition:opacity .12s ease}.et-button[data-loading=true] .et-button-icon,.et-button[data-loading=true] .et-button-contents{opacity:0}.et-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
7013
+ styles: ["@layer components{.et-button{--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent;--_et-button-gap: var(--et-button-gap);display:inline-flex;position:relative;align-items:center;justify-content:center;gap:var(--et-button-gap);background:var(--_et-button-background);color:var(--_et-button-color);border-radius:var(--et-button-border-radius);padding:var(--et-button-padding);font-size:var(--et-button-font-size);font-weight:var(--et-button-font-weight);border:var(--et-button-border-width, .1rem) solid var(--_et-button-border-color);box-shadow:var(--et-button-shadow, 0 0 #0000);cursor:var(--et-button-cursor);text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:var(--et-button-line-height);white-space:nowrap}.et-button[data-can-animate]{transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-button:where([data-size=xs]){--et-button-padding: .2rem .8rem;--et-button-font-size: 1.2rem;--et-button-border-radius: .3rem;--et-button-gap: .4rem}.et-button:where([data-size=sm]){--et-button-padding: .4rem 1.2rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .5rem}.et-button:where([data-size=md]){--et-button-padding: .8rem 1.6rem;--et-button-font-size: 1.4rem;--et-button-border-radius: .4rem;--et-button-gap: .6rem}.et-button:where([data-size=lg]){--et-button-padding: 1rem 2rem;--et-button-font-size: 1.6rem;--et-button-border-radius: .6rem;--et-button-gap: .7rem}.et-button:where([data-size=xl]){--et-button-padding: 1.4rem 2.8rem;--et-button-font-size: 1.8rem;--et-button-border-radius: .8rem;--et-button-gap: .8rem}.et-button:where([disabled]),.et-button:where([aria-disabled=true]){cursor:not-allowed;pointer-events:none}.et-button:where([disabled],[aria-disabled=true]):where([data-variant=outline]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=tonal]),.et-button:where([disabled],[aria-disabled=true]):where([data-variant=transparent]),.et-button:where([disabled],[aria-disabled=true])[data-pressed=true]{opacity:var(--et-button-opacity-disabled)}.et-button:where([data-variant=outline]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: var(--et-theme-color-ink-solid)}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=outline]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):focus-visible{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-focus-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: var(--et-button-variant-opacity-active-delta)}.et-button[data-pressed=true]:where([data-pressed-variant=outline])[data-loading=true]:not([disabled],[aria-disabled=true]){--_et-button-color: var(--et-theme-color-primary-solid);--_et-button-border-color: var(--et-theme-color-primary-solid)}.et-button:where([data-variant=tonal]),.et-button[data-pressed=true]:where([data-pressed-variant=tonal]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}.et-button:where([data-variant=transparent]){--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-ink-solid);--_et-button-border-color: transparent}@media(hover:hover){.et-button:where([data-variant=filled]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) )}}.et-button:where([data-variant=filled]):not([disabled],[aria-disabled=true]):active{--_et-button-background: color-mix( in srgb, var(--et-theme-color-primary-solid) 96%, var(--et-theme-color-on-primary-solid) )}.et-button[data-pressed=true]:where([data-pressed-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-button-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-button-color: var(--et-theme-color-on-primary);--_et-button-border-color: transparent}@media(hover:hover){.et-button[data-pressed=true]:where([data-pressed-variant=filled]):not([disabled],[aria-disabled=true]):hover{--et-theme-color-primary-opacity: 1}}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):focus-visible{--et-theme-color-primary-opacity: 1}.et-button[data-pressed=true]:where([data-pressed-variant=filled]):not([disabled],[aria-disabled=true]):active{--et-theme-color-primary-opacity: 1}.et-button .et-button-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--et-button-icon-size, 1em);transition:opacity .12s ease}.et-button .et-button-icon:empty{display:none}.et-button .et-button-icon .et-icon{width:1em;height:1em}.et-button .et-button-contents{display:inline-flex;align-items:center;gap:var(--_et-button-gap);min-width:0;transition:opacity .12s ease}.et-button:where([data-stretch-contents]) .et-button-contents{flex:1}.et-button[data-loading=true] .et-button-icon,.et-button[data-loading=true] .et-button-contents{opacity:0}.et-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
7001
7014
  }]
7002
7015
  }],
7003
7016
  propDecorators: {
@@ -7024,6 +7037,14 @@ i0.ɵɵngDeclareClassMetadata({
7024
7037
  alias: "iconAlignment",
7025
7038
  required: false
7026
7039
  }]
7040
+ }],
7041
+ stretchContents: [{
7042
+ type: i0.Input,
7043
+ args: [{
7044
+ isSignal: true,
7045
+ alias: "stretchContents",
7046
+ required: false
7047
+ }]
7027
7048
  }]
7028
7049
  }
7029
7050
  });
@@ -7100,7 +7121,8 @@ var BracketParticipantsComponent = class BracketParticipantsComponent {
7100
7121
  inputs: [
7101
7122
  "variant",
7102
7123
  "size",
7103
- "iconAlignment"
7124
+ "iconAlignment",
7125
+ "stretchContents"
7104
7126
  ]
7105
7127
  }],
7106
7128
  encapsulation: i0.ViewEncapsulation.None
@@ -10982,6 +11004,11 @@ const WINDOW_CONTROL_BUTTON_KINDS = {
10982
11004
  DEFAULT: "default",
10983
11005
  CLOSE: "close"
10984
11006
  };
11007
+ const WINDOW_CONTROL_BUTTON_SHAPES = {
11008
+ SQUARE: "square",
11009
+ ROUND: "round",
11010
+ CAPTION: "caption"
11011
+ };
10985
11012
  const WINDOW_CONTROL_BUTTON_SPINNER_CONFIG = {
10986
11013
  sm: {
10987
11014
  diameter: 12,
@@ -11001,6 +11028,7 @@ var WindowControlButtonComponent = class WindowControlButtonComponent {
11001
11028
  this.buttonDir = inject(ButtonDirective);
11002
11029
  this.size = input(WINDOW_CONTROL_BUTTON_SIZES.MD, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
11003
11030
  this.kind = input(WINDOW_CONTROL_BUTTON_KINDS.DEFAULT, ...ngDevMode ? [{ debugName: "kind" }] : /* istanbul ignore next */ []);
11031
+ this.shape = input(WINDOW_CONTROL_BUTTON_SHAPES.SQUARE, ...ngDevMode ? [{ debugName: "shape" }] : /* istanbul ignore next */ []);
11004
11032
  this.canAnimate = createCanAnimateSignal();
11005
11033
  this.spinnerConfig = computed(() => WINDOW_CONTROL_BUTTON_SPINNER_CONFIG[this.size()], ...ngDevMode ? [{ debugName: "spinnerConfig" }] : /* istanbul ignore next */ []);
11006
11034
  }
@@ -11035,12 +11063,20 @@ var WindowControlButtonComponent = class WindowControlButtonComponent {
11035
11063
  isSignal: true,
11036
11064
  isRequired: false,
11037
11065
  transformFunction: null
11066
+ },
11067
+ shape: {
11068
+ classPropertyName: "shape",
11069
+ publicName: "shape",
11070
+ isSignal: true,
11071
+ isRequired: false,
11072
+ transformFunction: null
11038
11073
  }
11039
11074
  },
11040
11075
  host: {
11041
11076
  properties: {
11042
11077
  "attr.data-kind": "kind()",
11043
11078
  "attr.data-size": "size()",
11079
+ "attr.data-shape": "shape()",
11044
11080
  "attr.data-can-animate": "canAnimate.state() || null"
11045
11081
  },
11046
11082
  classAttribute: "et-window-control-button"
@@ -11090,7 +11126,7 @@ var WindowControlButtonComponent = class WindowControlButtonComponent {
11090
11126
  }
11091
11127
  `,
11092
11128
  isInline: true,
11093
- styles: ["@layer components{@property --_et-window-control-button-size{syntax: \"<length>\"; inherits: false; initial-value: 32px;}@property --_et-window-control-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-window-control-button{--et-theme-color-primary-opacity: 0;--_et-window-control-button-fallback-background: transparent;--_et-window-control-button-fallback-color: rgba(255, 255, 255, .92);--_et-window-control-button-border-radius: 4px;display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--_et-window-control-button-size);height:var(--_et-window-control-button-size);flex-shrink:0;padding:0;border:none;border-radius:var(--_et-window-control-button-border-radius);background:var(--et-theme-color-primary, var(--_et-window-control-button-fallback-background));color:var(--et-theme-color-ink-solid, var(--_et-window-control-button-fallback-color));cursor:var(--et-button-cursor);font-size:var(--_et-window-control-button-icon-size);line-height:1;text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.et-window-control-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-window-control-button:where([data-size=sm]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.4rem}.et-window-control-button:where([data-size=md]){--_et-window-control-button-size: 3.2rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-size=lg]){--_et-window-control-button-size: 3.6rem;--_et-window-control-button-icon-size: 1.8rem}@media(hover:hover){.et-window-control-button:hover{--et-theme-color-primary-opacity: .14;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .14)}}.et-window-control-button:focus-visible{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}.et-window-control-button:active{--et-theme-color-primary-opacity: .22;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .22)}.et-window-control-button[data-pressed=true]{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}@media(hover:hover){.et-window-control-button[data-pressed=true]:hover{--et-theme-color-primary-opacity: .24;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .24)}}.et-window-control-button[data-pressed=true]:focus-visible{--et-theme-color-primary-opacity: .28;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .28)}.et-window-control-button[data-pressed=true]:active{--et-theme-color-primary-opacity: .32;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .32)}.et-window-control-button:where([data-kind=close]):focus-visible{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}@media(hover:hover){.et-window-control-button:where([data-kind=close]):hover{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}}.et-window-control-button:where([data-kind=close]):active{background:var(--et-window-control-button-close-background-active, rgba(196, 14, 29, .96));color:var(--et-window-control-button-close-color, #ffffff)}.et-window-control-button:where([disabled]),.et-window-control-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-window-control-button .et-window-control-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-window-control-button .et-window-control-button-icon:empty{display:none}.et-window-control-button .et-window-control-button-icon .et-icon{width:var(--_et-window-control-button-icon-size);height:var(--_et-window-control-button-icon-size)}.et-window-control-button[data-loading=true] .et-window-control-button-icon{opacity:0}.et-window-control-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
11129
+ styles: ["@layer components{@property --_et-window-control-button-size{syntax: \"<length>\"; inherits: false; initial-value: 32px;}@property --_et-window-control-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-window-control-button{--et-theme-color-primary-opacity: 0;--_et-window-control-button-fallback-background: transparent;--_et-window-control-button-fallback-color: rgba(255, 255, 255, .92);--_et-window-control-button-border-radius: 4px;display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--_et-window-control-button-size);height:var(--_et-window-control-button-size);flex-shrink:0;padding:0;border:none;border-radius:var(--_et-window-control-button-border-radius);background:var(--et-theme-color-primary, var(--_et-window-control-button-fallback-background));color:var(--et-theme-color-ink-solid, var(--_et-window-control-button-fallback-color));cursor:var(--et-button-cursor);font-size:var(--_et-window-control-button-icon-size);line-height:1;text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.et-window-control-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-window-control-button:where([data-size=sm]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.4rem}.et-window-control-button:where([data-size=md]){--_et-window-control-button-size: 3.2rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-size=lg]){--_et-window-control-button-size: 3.6rem;--_et-window-control-button-icon-size: 1.8rem}.et-window-control-button:where([data-shape=round]){--et-theme-color-primary-opacity: .1;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .1);--_et-window-control-button-border-radius: 50%}.et-window-control-button:where([data-shape=round][data-size=sm]){--_et-window-control-button-size: 2rem;--_et-window-control-button-icon-size: 1.2rem}.et-window-control-button:where([data-shape=round][data-size=md]){--_et-window-control-button-size: 2.4rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-shape=round][data-size=lg]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.8rem}@media(hover:hover){.et-window-control-button:hover{--et-theme-color-primary-opacity: .14;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .14)}}.et-window-control-button:focus-visible{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}.et-window-control-button:active{--et-theme-color-primary-opacity: .22;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .22)}.et-window-control-button[data-pressed=true]{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}@media(hover:hover){.et-window-control-button[data-pressed=true]:hover{--et-theme-color-primary-opacity: .24;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .24)}}.et-window-control-button[data-pressed=true]:focus-visible{--et-theme-color-primary-opacity: .28;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .28)}.et-window-control-button[data-pressed=true]:active{--et-theme-color-primary-opacity: .32;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .32)}@media(hover:hover){.et-window-control-button:where([data-shape=round]):hover{--et-theme-color-primary-opacity: .15;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .15)}}.et-window-control-button:where([data-shape=round]):focus-visible{--et-theme-color-primary-opacity: .15;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .15)}.et-window-control-button:where([data-shape=round]):active{--et-theme-color-primary-opacity: .3;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .3)}.et-window-control-button:where([data-shape=caption]){--_et-window-control-button-border-radius: 0;--_et-window-control-button-icon-size: 10px;width:46px;height:100%}@media(hover:hover){.et-window-control-button:where([data-shape=caption]):hover{--et-theme-color-primary-opacity: .06;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .06)}}.et-window-control-button:where([data-shape=caption]):focus-visible{--et-theme-color-primary-opacity: .06;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .06);outline-offset:-2px}.et-window-control-button:where([data-shape=caption]):active{--et-theme-color-primary-opacity: .04;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .04)}.et-window-control-button:where([data-kind=close]:not([data-shape=round])):focus-visible{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}@media(hover:hover){.et-window-control-button:where([data-kind=close]:not([data-shape=round])):hover{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}}.et-window-control-button:where([data-kind=close]:not([data-shape=round])):active{background:var(--et-window-control-button-close-background-active, rgba(196, 14, 29, .96));color:var(--et-window-control-button-close-color, #ffffff)}.et-window-control-button:where([disabled]),.et-window-control-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-window-control-button .et-window-control-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-window-control-button .et-window-control-button-icon:empty{display:none}.et-window-control-button .et-window-control-button-icon .et-icon{width:var(--_et-window-control-button-icon-size);height:var(--_et-window-control-button-icon-size)}.et-window-control-button[data-loading=true] .et-window-control-button-icon{opacity:0}.et-window-control-button[data-loading=true] .et-button-loader{opacity:1}}\n"],
11094
11130
  dependencies: [{
11095
11131
  kind: "component",
11096
11132
  type: SpinnerComponent,
@@ -11158,9 +11194,10 @@ i0.ɵɵngDeclareClassMetadata({
11158
11194
  class: "et-window-control-button",
11159
11195
  "[attr.data-kind]": "kind()",
11160
11196
  "[attr.data-size]": "size()",
11197
+ "[attr.data-shape]": "shape()",
11161
11198
  "[attr.data-can-animate]": "canAnimate.state() || null"
11162
11199
  },
11163
- styles: ["@layer components{@property --_et-window-control-button-size{syntax: \"<length>\"; inherits: false; initial-value: 32px;}@property --_et-window-control-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-window-control-button{--et-theme-color-primary-opacity: 0;--_et-window-control-button-fallback-background: transparent;--_et-window-control-button-fallback-color: rgba(255, 255, 255, .92);--_et-window-control-button-border-radius: 4px;display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--_et-window-control-button-size);height:var(--_et-window-control-button-size);flex-shrink:0;padding:0;border:none;border-radius:var(--_et-window-control-button-border-radius);background:var(--et-theme-color-primary, var(--_et-window-control-button-fallback-background));color:var(--et-theme-color-ink-solid, var(--_et-window-control-button-fallback-color));cursor:var(--et-button-cursor);font-size:var(--_et-window-control-button-icon-size);line-height:1;text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.et-window-control-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-window-control-button:where([data-size=sm]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.4rem}.et-window-control-button:where([data-size=md]){--_et-window-control-button-size: 3.2rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-size=lg]){--_et-window-control-button-size: 3.6rem;--_et-window-control-button-icon-size: 1.8rem}@media(hover:hover){.et-window-control-button:hover{--et-theme-color-primary-opacity: .14;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .14)}}.et-window-control-button:focus-visible{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}.et-window-control-button:active{--et-theme-color-primary-opacity: .22;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .22)}.et-window-control-button[data-pressed=true]{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}@media(hover:hover){.et-window-control-button[data-pressed=true]:hover{--et-theme-color-primary-opacity: .24;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .24)}}.et-window-control-button[data-pressed=true]:focus-visible{--et-theme-color-primary-opacity: .28;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .28)}.et-window-control-button[data-pressed=true]:active{--et-theme-color-primary-opacity: .32;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .32)}.et-window-control-button:where([data-kind=close]):focus-visible{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}@media(hover:hover){.et-window-control-button:where([data-kind=close]):hover{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}}.et-window-control-button:where([data-kind=close]):active{background:var(--et-window-control-button-close-background-active, rgba(196, 14, 29, .96));color:var(--et-window-control-button-close-color, #ffffff)}.et-window-control-button:where([disabled]),.et-window-control-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-window-control-button .et-window-control-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-window-control-button .et-window-control-button-icon:empty{display:none}.et-window-control-button .et-window-control-button-icon .et-icon{width:var(--_et-window-control-button-icon-size);height:var(--_et-window-control-button-icon-size)}.et-window-control-button[data-loading=true] .et-window-control-button-icon{opacity:0}.et-window-control-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
11200
+ styles: ["@layer components{@property --_et-window-control-button-size{syntax: \"<length>\"; inherits: false; initial-value: 32px;}@property --_et-window-control-button-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-window-control-button{--et-theme-color-primary-opacity: 0;--_et-window-control-button-fallback-background: transparent;--_et-window-control-button-fallback-color: rgba(255, 255, 255, .92);--_et-window-control-button-border-radius: 4px;display:inline-flex;position:relative;align-items:center;justify-content:center;width:var(--_et-window-control-button-size);height:var(--_et-window-control-button-size);flex-shrink:0;padding:0;border:none;border-radius:var(--_et-window-control-button-border-radius);background:var(--et-theme-color-primary, var(--_et-window-control-button-fallback-background));color:var(--et-theme-color-ink-solid, var(--_et-window-control-button-fallback-color));cursor:var(--et-button-cursor);font-size:var(--_et-window-control-button-icon-size);line-height:1;text-decoration:none;appearance:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.et-window-control-button[data-can-animate]{transition:background .12s ease,color .12s ease,box-shadow .12s ease,outline-color .12s ease,opacity .12s ease}.et-window-control-button:where([data-size=sm]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.4rem}.et-window-control-button:where([data-size=md]){--_et-window-control-button-size: 3.2rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-size=lg]){--_et-window-control-button-size: 3.6rem;--_et-window-control-button-icon-size: 1.8rem}.et-window-control-button:where([data-shape=round]){--et-theme-color-primary-opacity: .1;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .1);--_et-window-control-button-border-radius: 50%}.et-window-control-button:where([data-shape=round][data-size=sm]){--_et-window-control-button-size: 2rem;--_et-window-control-button-icon-size: 1.2rem}.et-window-control-button:where([data-shape=round][data-size=md]){--_et-window-control-button-size: 2.4rem;--_et-window-control-button-icon-size: 1.6rem}.et-window-control-button:where([data-shape=round][data-size=lg]){--_et-window-control-button-size: 2.8rem;--_et-window-control-button-icon-size: 1.8rem}@media(hover:hover){.et-window-control-button:hover{--et-theme-color-primary-opacity: .14;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .14)}}.et-window-control-button:focus-visible{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}.et-window-control-button:active{--et-theme-color-primary-opacity: .22;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .22)}.et-window-control-button[data-pressed=true]{--et-theme-color-primary-opacity: .18;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .18)}@media(hover:hover){.et-window-control-button[data-pressed=true]:hover{--et-theme-color-primary-opacity: .24;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .24)}}.et-window-control-button[data-pressed=true]:focus-visible{--et-theme-color-primary-opacity: .28;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .28)}.et-window-control-button[data-pressed=true]:active{--et-theme-color-primary-opacity: .32;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .32)}@media(hover:hover){.et-window-control-button:where([data-shape=round]):hover{--et-theme-color-primary-opacity: .15;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .15)}}.et-window-control-button:where([data-shape=round]):focus-visible{--et-theme-color-primary-opacity: .15;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .15)}.et-window-control-button:where([data-shape=round]):active{--et-theme-color-primary-opacity: .3;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .3)}.et-window-control-button:where([data-shape=caption]){--_et-window-control-button-border-radius: 0;--_et-window-control-button-icon-size: 10px;width:46px;height:100%}@media(hover:hover){.et-window-control-button:where([data-shape=caption]):hover{--et-theme-color-primary-opacity: .06;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .06)}}.et-window-control-button:where([data-shape=caption]):focus-visible{--et-theme-color-primary-opacity: .06;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .06);outline-offset:-2px}.et-window-control-button:where([data-shape=caption]):active{--et-theme-color-primary-opacity: .04;--_et-window-control-button-fallback-background: rgba(255, 255, 255, .04)}.et-window-control-button:where([data-kind=close]:not([data-shape=round])):focus-visible{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}@media(hover:hover){.et-window-control-button:where([data-kind=close]:not([data-shape=round])):hover{background:var(--et-window-control-button-close-background, rgba(232, 17, 35, .92));color:var(--et-window-control-button-close-color, #ffffff)}}.et-window-control-button:where([data-kind=close]:not([data-shape=round])):active{background:var(--et-window-control-button-close-background-active, rgba(196, 14, 29, .96));color:var(--et-window-control-button-close-color, #ffffff)}.et-window-control-button:where([disabled]),.et-window-control-button:where([aria-disabled=true]){opacity:var(--et-button-opacity-disabled);cursor:not-allowed;pointer-events:none}.et-window-control-button .et-window-control-button-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:opacity .12s ease}.et-window-control-button .et-window-control-button-icon:empty{display:none}.et-window-control-button .et-window-control-button-icon .et-icon{width:var(--_et-window-control-button-icon-size);height:var(--_et-window-control-button-icon-size)}.et-window-control-button[data-loading=true] .et-window-control-button-icon{opacity:0}.et-window-control-button[data-loading=true] .et-button-loader{opacity:1}}\n"]
11164
11201
  }]
11165
11202
  }],
11166
11203
  propDecorators: {
@@ -11179,6 +11216,14 @@ i0.ɵɵngDeclareClassMetadata({
11179
11216
  alias: "kind",
11180
11217
  required: false
11181
11218
  }]
11219
+ }],
11220
+ shape: [{
11221
+ type: i0.Input,
11222
+ args: [{
11223
+ isSignal: true,
11224
+ alias: "shape",
11225
+ required: false
11226
+ }]
11182
11227
  }]
11183
11228
  }
11184
11229
  });
@@ -12429,8 +12474,16 @@ const createQueryParamOverlayOpener = (definition, openerConfig) => {
12429
12474
  if (keepsOwnership || !replaceUrl && untracked(url) !== urlBefore) ownEntryUrl = untracked(url);
12430
12475
  });
12431
12476
  };
12477
+ const pendingNavigationDropsParam = () => {
12478
+ const navigation = router.currentNavigation();
12479
+ return !!navigation && !navigation.extractedUrl.queryParamMap.has(definition.queryParamKey);
12480
+ };
12432
12481
  const clearQueryParam = () => {
12433
12482
  if (untracked(queryParamValue) === null) return;
12483
+ if (pendingNavigationDropsParam()) {
12484
+ ownEntryUrl = null;
12485
+ return;
12486
+ }
12434
12487
  const stepBack = ownsTopEntry();
12435
12488
  ownEntryUrl = null;
12436
12489
  if (stepBack) location.back();
@@ -13205,7 +13258,8 @@ var AlertDialogComponent = class AlertDialogComponent {
13205
13258
  inputs: [
13206
13259
  "variant",
13207
13260
  "size",
13208
- "iconAlignment"
13261
+ "iconAlignment",
13262
+ "stretchContents"
13209
13263
  ]
13210
13264
  },
13211
13265
  {
@@ -13446,6 +13500,7 @@ const buildAnchoredRuntimePositionStrategy = (options = {}) => (origin) => origi
13446
13500
  fallbackPlacements: options.fallbackPlacements,
13447
13501
  offset: options.offset,
13448
13502
  arrowPadding: options.arrowPadding,
13503
+ arrowAnchor: typeof options.arrowAnchor === "function" ? options.arrowAnchor(origin) : options.arrowAnchor,
13449
13504
  viewportPadding: options.viewportPadding,
13450
13505
  shift: options.shift,
13451
13506
  autoResize: options.autoResize,
@@ -13609,7 +13664,7 @@ const injectAnchoredDialogStrategy = /* @__PURE__ */ toInjectFn(ANCHORED_DIALOG_
13609
13664
  const anchoredDialogOverlayStrategy = (options = {}) => {
13610
13665
  return () => {
13611
13666
  const strategyProvider = injectAnchoredDialogStrategy();
13612
- const { placement, fallbackPlacements, offset, arrowPadding, viewportPadding, shift, autoResize, minAvailableSpace, autoHide, autoCloseIfReferenceHidden, mirrorWidth, positionStrategy, ...breakpointConfig } = options;
13667
+ const { placement, fallbackPlacements, offset, arrowPadding, arrowAnchor, viewportPadding, shift, autoResize, minAvailableSpace, autoHide, autoCloseIfReferenceHidden, mirrorWidth, positionStrategy, ...breakpointConfig } = options;
13613
13668
  const config = {
13614
13669
  ...breakpointConfig,
13615
13670
  positionStrategy: positionStrategy ?? buildAnchoredRuntimePositionStrategy({
@@ -13617,6 +13672,7 @@ const anchoredDialogOverlayStrategy = (options = {}) => {
13617
13672
  fallbackPlacements: fallbackPlacements ?? DEFAULT_ANCHORED_DIALOG_POSITION.fallbackPlacements,
13618
13673
  offset: offset ?? DEFAULT_ANCHORED_DIALOG_POSITION.offset,
13619
13674
  arrowPadding: arrowPadding ?? DEFAULT_ANCHORED_DIALOG_POSITION.arrowPadding,
13675
+ arrowAnchor,
13620
13676
  viewportPadding,
13621
13677
  shift: shift ?? DEFAULT_ANCHORED_DIALOG_POSITION.shift,
13622
13678
  autoResize: autoResize ?? DEFAULT_ANCHORED_DIALOG_POSITION.autoResize,
@@ -21907,7 +21963,7 @@ var CalendarComponent = class CalendarComponent {
21907
21963
  }],
21908
21964
  ngImport: i0,
21909
21965
  template: "@if (headerTemplate(); as header) {\n <ng-container *ngTemplateOutlet=\"header.templateRef; context: { $implicit: calendar }\" />\n} @else {\n <div class=\"et-calendar-header\">\n <button\n [disabled]=\"!calendar.canGoPrev()\"\n [attr.aria-label]=\"resolvedPreviousLabel()\"\n (click)=\"calendar.previous()\"\n class=\"et-calendar-nav-button et-calendar-nav-button--previous\"\n et-icon-button\n size=\"sm\"\n type=\"button\"\n >\n <i etIcon=\"et-chevron\"></i>\n </button>\n\n <button\n [attr.aria-label]=\"resolvedZoomLabel()\"\n (click)=\"calendar.zoomOut()\"\n class=\"et-calendar-header-label\"\n type=\"button\"\n >\n <span class=\"et-calendar-header-label-text\" aria-live=\"polite\">\n @if (calendar.transitionParity()) {\n <ng-container *ngTemplateOutlet=\"headerValue\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"headerValue\" />\n }\n </span>\n\n <i class=\"et-calendar-header-label-icon\" etIcon=\"et-chevron\"></i>\n </button>\n\n <button\n [disabled]=\"!calendar.canGoNext()\"\n [attr.aria-label]=\"resolvedNextLabel()\"\n (click)=\"calendar.next()\"\n class=\"et-calendar-nav-button et-calendar-nav-button--next\"\n et-icon-button\n size=\"sm\"\n type=\"button\"\n >\n <i etIcon=\"et-chevron\"></i>\n </button>\n </div>\n}\n\n<div class=\"et-calendar-grid\" etCalendarGrid>\n @if (calendar.view() === 'month' && calendar.monthsShown() === 1) {\n <ng-container *ngTemplateOutlet=\"weekdayRow\" />\n }\n\n <div class=\"et-calendar-weeks-viewport\" role=\"presentation\">\n @if (calendar.transitionParity()) {\n <ng-container *ngTemplateOutlet=\"weeks\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"weeks\" />\n }\n </div>\n\n <!-- Declared inside the grid, not just outlet here: an [etCalendarCell]'s injected\n CalendarGridDirective resolves through this template's declaration view, which\n ngTemplateOutlet does not re-parent to wherever it renders. -->\n <ng-template #weeks>\n <div\n [attr.data-nav]=\"calendar.navigationDirection()\"\n class=\"et-calendar-weeks\"\n animate.leave=\"et-calendar-weeks--leave\"\n etCalendarInertOnLeave\n role=\"rowgroup\"\n >\n @switch (calendar.view()) {\n @case ('year') {\n @for (row of calendar.monthCells(); track $index) {\n <div class=\"et-calendar-coarse-row\" role=\"row\">\n @for (cell of row; track cell.date.getTime()) {\n <button [cell]=\"cell\" class=\"et-calendar-cell et-calendar-cell--coarse\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n </div>\n }\n }\n @case ('multiYear') {\n @for (row of calendar.yearCells(); track $index) {\n <div class=\"et-calendar-coarse-row\" role=\"row\">\n @for (cell of row; track cell.date.getTime()) {\n <button [cell]=\"cell\" class=\"et-calendar-cell et-calendar-cell--coarse\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n </div>\n }\n }\n @default {\n <div class=\"et-calendar-months\" role=\"presentation\">\n @for (page of calendar.monthPages(); track page.key) {\n <div class=\"et-calendar-month\" role=\"presentation\">\n @if (calendar.monthsShown() > 1) {\n <div class=\"et-calendar-month-label\">{{ page.label }}</div>\n\n <ng-container *ngTemplateOutlet=\"weekdayRow\" />\n }\n\n @for (week of page.weeks; track $index) {\n <div class=\"et-calendar-week\" role=\"row\">\n @if (weekNumbers()) {\n <span\n [attr.aria-label]=\"weekLabel() + ' ' + page.weekNumbers[$index]\"\n class=\"et-calendar-week-number\"\n role=\"rowheader\"\n >{{ page.weekNumbers[$index] }}</span\n >\n }\n\n @for (cell of week; track cell.date.getTime()) {\n @if (cell.outsideMonth && calendar.monthsShown() > 1) {\n <span class=\"et-calendar-cell et-calendar-cell--empty\" role=\"gridcell\"></span>\n } @else {\n <button [cell]=\"cell\" class=\"et-calendar-cell\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n </ng-template>\n</div>\n\n<ng-template #headerValue>\n <span\n [attr.data-nav]=\"calendar.navigationDirection()\"\n class=\"et-calendar-header-label-value\"\n animate.leave=\"et-calendar-header-label-value--leave\"\n etCalendarInertOnLeave\n >{{ calendar.headerLabel() }}</span\n >\n</ng-template>\n\n<ng-template #weekdayRow>\n <div class=\"et-calendar-weekdays\" role=\"row\">\n @if (weekNumbers()) {\n <span [attr.aria-label]=\"weekLabel()\" class=\"et-calendar-week-number-heading\" role=\"columnheader\"></span>\n }\n\n @for (weekday of calendar.weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-calendar-weekday\" role=\"columnheader\">{{ weekday.short }}</span>\n }\n </div>\n</ng-template>\n",
21910
- styles: ["@layer components{@property --et-calendar-cell-size{syntax: \"<length>\"; inherits: true; initial-value: 40px;}.et-calendar{display:inline-flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;--_et-calendar-week-column: 0px}.et-calendar .et-calendar-header{display:flex;align-items:center;gap:4px}.et-calendar .et-calendar-header-label{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;padding:4px 22px;border:none;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--et-surface-color-solid);cursor:pointer;transition:background-color .14s var(--ease-3, ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-calendar .et-calendar-header-label:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-header-label:active{background:color-mix(in srgb,var(--et-surface-interaction-solid) 22%,transparent)}.et-calendar .et-calendar-header-label:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-header-label-text{position:relative;display:inline-grid;grid-template-areas:\"label\";justify-items:center;white-space:nowrap}.et-calendar .et-calendar-header-label-value{grid-area:label}.et-calendar .et-calendar-header-label-value:where([data-nav=forward]){animation:et-calendar-label-in-forward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=backward]){animation:et-calendar-label-in-backward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-label-in-zoom .16s ease}.et-calendar .et-calendar-header-label-value--leave{position:absolute;inset-block:0;animation:et-calendar-label-out .14s ease forwards}.et-calendar .et-calendar-header-label-icon{position:absolute;inset-inline-end:6px;inset-block-start:50%;inline-size:12px;block-size:12px;rotate:180deg;translate:0 -50%;transition:rotate .2s var(--ease-3, ease-out);opacity:.7}.et-calendar:where([data-view=multiYear]) .et-calendar-header-label-icon{rotate:0deg}.et-calendar .et-calendar-nav-button--previous .et-icon{rotate:-90deg}.et-calendar .et-calendar-nav-button--next .et-icon{rotate:90deg}.et-calendar .et-calendar-grid{display:flex;flex-direction:column}.et-calendar .et-calendar-weeks-viewport{position:relative;display:grid;flex:1;grid-template-areas:\"weeks\";align-content:start;justify-items:center;min-inline-size:calc((var(--et-calendar-cell-size) * 7 + var(--_et-calendar-week-column)) * var(--_et-calendar-months, 1) + 16px * (var(--_et-calendar-months, 1) - 1))}.et-calendar .et-calendar-weeks{grid-area:weeks}.et-calendar .et-calendar-weekdays,.et-calendar .et-calendar-week{display:grid;grid-template-columns:repeat(7,var(--et-calendar-cell-size))}.et-calendar .et-calendar-months{display:flex;gap:16px}.et-calendar .et-calendar-month-label{padding-block-end:4px;text-align:center;font-size:13px;font-weight:600;color:var(--et-surface-color-solid)}.et-calendar .et-calendar-cell--empty{pointer-events:none}.et-calendar .et-calendar-weeks:where([data-nav=forward]){animation:et-calendar-weeks-in-forward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=backward]){animation:et-calendar-weeks-in-backward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-weeks-in-zoom .16s ease}.et-calendar .et-calendar-weeks--leave{animation:et-calendar-weeks-out .14s ease forwards;pointer-events:none}.et-calendar .et-calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:32px;font-size:12px;color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;block-size:var(--et-calendar-cell-size);padding:0;border:none;background:transparent;font:inherit;font-size:13px;color:var(--et-surface-color-solid);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-calendar .et-calendar-cell:before{content:\"\";position:absolute;inset-block:4px;inset-inline:0;display:none;background:light-dark(color-mix(in srgb,var(--et-theme-color-primary-solid) 32%,transparent),color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent))}.et-calendar .et-calendar-cell:where([data-band]):before{display:block}.et-calendar .et-calendar-cell:where([data-band=start]):before{inset-inline-start:50%}.et-calendar .et-calendar-cell:where([data-band=end]):before{inset-inline-end:50%}.et-calendar .et-calendar-cell .et-calendar-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:calc(var(--et-calendar-cell-size) - 6px);block-size:calc(var(--et-calendar-cell-size) - 6px);border-radius:999px;transition:background-color .15s ease,color .15s ease}@media(hover:hover){.et-calendar .et-calendar-cell:where(:not([data-disabled])):hover .et-calendar-cell-content{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-cell:focus-visible{outline:none}.et-calendar .et-calendar-cell:focus-visible .et-calendar-cell-content{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell:where([data-today]) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px var(--et-theme-color-ink-solid)}.et-calendar .et-calendar-cell:where([data-selected],[data-band=start],[data-band=end]):where(:not([data-disabled],[data-today])) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-selected]){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-selected]) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-selected]):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-disabled]){color:var(--et-surface-color-subtle-solid);cursor:default}.et-calendar .et-calendar-cell:where([data-disabled]) .et-calendar-cell-content{background:transparent;text-decoration:line-through}@keyframes et-calendar-weeks-in-forward{0%{opacity:0;transform:translate(14px)}}@keyframes et-calendar-weeks-in-backward{0%{opacity:0;transform:translate(-14px)}}@keyframes et-calendar-weeks-in-zoom{0%{opacity:0}}@keyframes et-calendar-weeks-out{to{opacity:0}}@keyframes et-calendar-label-in-forward{0%{opacity:0;transform:translate(6px)}}@keyframes et-calendar-label-in-backward{0%{opacity:0;transform:translate(-6px)}}@keyframes et-calendar-label-in-zoom{0%{opacity:0}}@keyframes et-calendar-label-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.et-calendar .et-calendar-weeks,.et-calendar .et-calendar-weeks--leave,.et-calendar .et-calendar-header-label-value,.et-calendar .et-calendar-header-label-value--leave{animation:none}.et-calendar .et-calendar-header-label-icon{transition:none}}}\n"],
21966
+ styles: ["@layer components{@property --et-calendar-cell-size{syntax: \"<length>\"; inherits: true; initial-value: 40px;}.et-calendar{display:inline-flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;--_et-calendar-week-column: 0px}.et-calendar .et-calendar-header{display:flex;align-items:center;gap:4px}.et-calendar .et-calendar-header-label{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;padding:4px 22px;border:none;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--et-surface-color-solid);cursor:pointer;transition:background-color .14s var(--ease-3, ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-calendar .et-calendar-header-label:not([disabled],[aria-disabled=true]):hover{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-header-label:not([disabled],[aria-disabled=true]):active{background:color-mix(in srgb,var(--et-surface-interaction-solid) 22%,transparent)}.et-calendar .et-calendar-header-label:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-header-label-text{position:relative;display:inline-grid;grid-template-areas:\"label\";justify-items:center;white-space:nowrap}.et-calendar .et-calendar-header-label-value{grid-area:label}.et-calendar .et-calendar-header-label-value:where([data-nav=forward]){animation:et-calendar-label-in-forward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=backward]){animation:et-calendar-label-in-backward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-label-in-zoom .16s ease}.et-calendar .et-calendar-header-label-value--leave{position:absolute;inset-block:0;animation:et-calendar-label-out .14s ease forwards}.et-calendar .et-calendar-header-label-icon{position:absolute;inset-inline-end:6px;inset-block-start:50%;inline-size:12px;block-size:12px;rotate:180deg;translate:0 -50%;transition:rotate .2s var(--ease-3, ease-out);opacity:.7}.et-calendar:where([data-view=multiYear]) .et-calendar-header-label-icon{rotate:0deg}.et-calendar .et-calendar-nav-button--previous .et-icon{rotate:-90deg}.et-calendar .et-calendar-nav-button--next .et-icon{rotate:90deg}.et-calendar .et-calendar-grid{display:flex;flex-direction:column}.et-calendar .et-calendar-weeks-viewport{position:relative;display:grid;flex:1;grid-template-areas:\"weeks\";align-content:start;justify-items:center;min-inline-size:calc((var(--et-calendar-cell-size) * 7 + var(--_et-calendar-week-column)) * var(--_et-calendar-months, 1) + 16px * (var(--_et-calendar-months, 1) - 1))}.et-calendar .et-calendar-weeks{grid-area:weeks}.et-calendar .et-calendar-weekdays,.et-calendar .et-calendar-week{display:grid;grid-template-columns:repeat(7,var(--et-calendar-cell-size))}.et-calendar .et-calendar-months{display:flex;gap:16px}.et-calendar .et-calendar-month-label{padding-block-end:4px;text-align:center;font-size:13px;font-weight:600;color:var(--et-surface-color-solid)}.et-calendar .et-calendar-cell--empty{pointer-events:none}.et-calendar .et-calendar-weeks:where([data-nav=forward]){animation:et-calendar-weeks-in-forward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=backward]){animation:et-calendar-weeks-in-backward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-weeks-in-zoom .16s ease}.et-calendar .et-calendar-weeks--leave{animation:et-calendar-weeks-out .14s ease forwards;pointer-events:none}.et-calendar .et-calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:32px;font-size:12px;color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;block-size:var(--et-calendar-cell-size);padding:0;border:none;background:transparent;font:inherit;font-size:13px;color:var(--et-surface-color-solid);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-calendar .et-calendar-cell:before{content:\"\";position:absolute;inset-block:4px;inset-inline:0;display:none;background:light-dark(color-mix(in srgb,var(--et-theme-color-primary-solid) 32%,transparent),color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent))}.et-calendar .et-calendar-cell:where([data-band]):before{display:block}.et-calendar .et-calendar-cell:where([data-band=start]):before{inset-inline-start:50%}.et-calendar .et-calendar-cell:where([data-band=end]):before{inset-inline-end:50%}.et-calendar .et-calendar-cell .et-calendar-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:calc(var(--et-calendar-cell-size) - 6px);block-size:calc(var(--et-calendar-cell-size) - 6px);border-radius:999px;transition:background-color .15s ease,color .15s ease}@media(hover:hover){.et-calendar .et-calendar-cell:where(:not([data-disabled])):hover .et-calendar-cell-content{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-cell:focus-visible{outline:none}.et-calendar .et-calendar-cell:focus-visible .et-calendar-cell-content{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell:where([data-today]) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px var(--et-theme-color-ink-solid)}.et-calendar .et-calendar-cell:where([data-selected],[data-band=start],[data-band=end]):where(:not([data-disabled],[data-today])) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-selected]){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-selected]) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-selected]):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-disabled]){color:var(--et-surface-color-subtle-solid);cursor:default}.et-calendar .et-calendar-cell:where([data-disabled]) .et-calendar-cell-content{background:transparent;text-decoration:line-through}@keyframes et-calendar-weeks-in-forward{0%{opacity:0;transform:translate(14px)}}@keyframes et-calendar-weeks-in-backward{0%{opacity:0;transform:translate(-14px)}}@keyframes et-calendar-weeks-in-zoom{0%{opacity:0}}@keyframes et-calendar-weeks-out{to{opacity:0}}@keyframes et-calendar-label-in-forward{0%{opacity:0;transform:translate(6px)}}@keyframes et-calendar-label-in-backward{0%{opacity:0;transform:translate(-6px)}}@keyframes et-calendar-label-in-zoom{0%{opacity:0}}@keyframes et-calendar-label-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.et-calendar .et-calendar-weeks,.et-calendar .et-calendar-weeks--leave,.et-calendar .et-calendar-header-label-value,.et-calendar .et-calendar-header-label-value--leave{animation:none}.et-calendar .et-calendar-header-label-icon{transition:none}}}\n"],
21911
21967
  dependencies: [
21912
21968
  {
21913
21969
  kind: "directive",
@@ -22016,7 +22072,7 @@ i0.ɵɵngDeclareClassMetadata({
22016
22072
  "[style.--_et-calendar-months]": "calendar.monthsShown()"
22017
22073
  },
22018
22074
  template: "@if (headerTemplate(); as header) {\n <ng-container *ngTemplateOutlet=\"header.templateRef; context: { $implicit: calendar }\" />\n} @else {\n <div class=\"et-calendar-header\">\n <button\n [disabled]=\"!calendar.canGoPrev()\"\n [attr.aria-label]=\"resolvedPreviousLabel()\"\n (click)=\"calendar.previous()\"\n class=\"et-calendar-nav-button et-calendar-nav-button--previous\"\n et-icon-button\n size=\"sm\"\n type=\"button\"\n >\n <i etIcon=\"et-chevron\"></i>\n </button>\n\n <button\n [attr.aria-label]=\"resolvedZoomLabel()\"\n (click)=\"calendar.zoomOut()\"\n class=\"et-calendar-header-label\"\n type=\"button\"\n >\n <span class=\"et-calendar-header-label-text\" aria-live=\"polite\">\n @if (calendar.transitionParity()) {\n <ng-container *ngTemplateOutlet=\"headerValue\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"headerValue\" />\n }\n </span>\n\n <i class=\"et-calendar-header-label-icon\" etIcon=\"et-chevron\"></i>\n </button>\n\n <button\n [disabled]=\"!calendar.canGoNext()\"\n [attr.aria-label]=\"resolvedNextLabel()\"\n (click)=\"calendar.next()\"\n class=\"et-calendar-nav-button et-calendar-nav-button--next\"\n et-icon-button\n size=\"sm\"\n type=\"button\"\n >\n <i etIcon=\"et-chevron\"></i>\n </button>\n </div>\n}\n\n<div class=\"et-calendar-grid\" etCalendarGrid>\n @if (calendar.view() === 'month' && calendar.monthsShown() === 1) {\n <ng-container *ngTemplateOutlet=\"weekdayRow\" />\n }\n\n <div class=\"et-calendar-weeks-viewport\" role=\"presentation\">\n @if (calendar.transitionParity()) {\n <ng-container *ngTemplateOutlet=\"weeks\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"weeks\" />\n }\n </div>\n\n <!-- Declared inside the grid, not just outlet here: an [etCalendarCell]'s injected\n CalendarGridDirective resolves through this template's declaration view, which\n ngTemplateOutlet does not re-parent to wherever it renders. -->\n <ng-template #weeks>\n <div\n [attr.data-nav]=\"calendar.navigationDirection()\"\n class=\"et-calendar-weeks\"\n animate.leave=\"et-calendar-weeks--leave\"\n etCalendarInertOnLeave\n role=\"rowgroup\"\n >\n @switch (calendar.view()) {\n @case ('year') {\n @for (row of calendar.monthCells(); track $index) {\n <div class=\"et-calendar-coarse-row\" role=\"row\">\n @for (cell of row; track cell.date.getTime()) {\n <button [cell]=\"cell\" class=\"et-calendar-cell et-calendar-cell--coarse\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n </div>\n }\n }\n @case ('multiYear') {\n @for (row of calendar.yearCells(); track $index) {\n <div class=\"et-calendar-coarse-row\" role=\"row\">\n @for (cell of row; track cell.date.getTime()) {\n <button [cell]=\"cell\" class=\"et-calendar-cell et-calendar-cell--coarse\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n </div>\n }\n }\n @default {\n <div class=\"et-calendar-months\" role=\"presentation\">\n @for (page of calendar.monthPages(); track page.key) {\n <div class=\"et-calendar-month\" role=\"presentation\">\n @if (calendar.monthsShown() > 1) {\n <div class=\"et-calendar-month-label\">{{ page.label }}</div>\n\n <ng-container *ngTemplateOutlet=\"weekdayRow\" />\n }\n\n @for (week of page.weeks; track $index) {\n <div class=\"et-calendar-week\" role=\"row\">\n @if (weekNumbers()) {\n <span\n [attr.aria-label]=\"weekLabel() + ' ' + page.weekNumbers[$index]\"\n class=\"et-calendar-week-number\"\n role=\"rowheader\"\n >{{ page.weekNumbers[$index] }}</span\n >\n }\n\n @for (cell of week; track cell.date.getTime()) {\n @if (cell.outsideMonth && calendar.monthsShown() > 1) {\n <span class=\"et-calendar-cell et-calendar-cell--empty\" role=\"gridcell\"></span>\n } @else {\n <button [cell]=\"cell\" class=\"et-calendar-cell\" etCalendarCell type=\"button\">\n <span class=\"et-calendar-cell-content\">{{ cell.label }}</span>\n </button>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n </ng-template>\n</div>\n\n<ng-template #headerValue>\n <span\n [attr.data-nav]=\"calendar.navigationDirection()\"\n class=\"et-calendar-header-label-value\"\n animate.leave=\"et-calendar-header-label-value--leave\"\n etCalendarInertOnLeave\n >{{ calendar.headerLabel() }}</span\n >\n</ng-template>\n\n<ng-template #weekdayRow>\n <div class=\"et-calendar-weekdays\" role=\"row\">\n @if (weekNumbers()) {\n <span [attr.aria-label]=\"weekLabel()\" class=\"et-calendar-week-number-heading\" role=\"columnheader\"></span>\n }\n\n @for (weekday of calendar.weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-calendar-weekday\" role=\"columnheader\">{{ weekday.short }}</span>\n }\n </div>\n</ng-template>\n",
22019
- styles: ["@layer components{@property --et-calendar-cell-size{syntax: \"<length>\"; inherits: true; initial-value: 40px;}.et-calendar{display:inline-flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;--_et-calendar-week-column: 0px}.et-calendar .et-calendar-header{display:flex;align-items:center;gap:4px}.et-calendar .et-calendar-header-label{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;padding:4px 22px;border:none;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--et-surface-color-solid);cursor:pointer;transition:background-color .14s var(--ease-3, ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-calendar .et-calendar-header-label:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-header-label:active{background:color-mix(in srgb,var(--et-surface-interaction-solid) 22%,transparent)}.et-calendar .et-calendar-header-label:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-header-label-text{position:relative;display:inline-grid;grid-template-areas:\"label\";justify-items:center;white-space:nowrap}.et-calendar .et-calendar-header-label-value{grid-area:label}.et-calendar .et-calendar-header-label-value:where([data-nav=forward]){animation:et-calendar-label-in-forward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=backward]){animation:et-calendar-label-in-backward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-label-in-zoom .16s ease}.et-calendar .et-calendar-header-label-value--leave{position:absolute;inset-block:0;animation:et-calendar-label-out .14s ease forwards}.et-calendar .et-calendar-header-label-icon{position:absolute;inset-inline-end:6px;inset-block-start:50%;inline-size:12px;block-size:12px;rotate:180deg;translate:0 -50%;transition:rotate .2s var(--ease-3, ease-out);opacity:.7}.et-calendar:where([data-view=multiYear]) .et-calendar-header-label-icon{rotate:0deg}.et-calendar .et-calendar-nav-button--previous .et-icon{rotate:-90deg}.et-calendar .et-calendar-nav-button--next .et-icon{rotate:90deg}.et-calendar .et-calendar-grid{display:flex;flex-direction:column}.et-calendar .et-calendar-weeks-viewport{position:relative;display:grid;flex:1;grid-template-areas:\"weeks\";align-content:start;justify-items:center;min-inline-size:calc((var(--et-calendar-cell-size) * 7 + var(--_et-calendar-week-column)) * var(--_et-calendar-months, 1) + 16px * (var(--_et-calendar-months, 1) - 1))}.et-calendar .et-calendar-weeks{grid-area:weeks}.et-calendar .et-calendar-weekdays,.et-calendar .et-calendar-week{display:grid;grid-template-columns:repeat(7,var(--et-calendar-cell-size))}.et-calendar .et-calendar-months{display:flex;gap:16px}.et-calendar .et-calendar-month-label{padding-block-end:4px;text-align:center;font-size:13px;font-weight:600;color:var(--et-surface-color-solid)}.et-calendar .et-calendar-cell--empty{pointer-events:none}.et-calendar .et-calendar-weeks:where([data-nav=forward]){animation:et-calendar-weeks-in-forward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=backward]){animation:et-calendar-weeks-in-backward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-weeks-in-zoom .16s ease}.et-calendar .et-calendar-weeks--leave{animation:et-calendar-weeks-out .14s ease forwards;pointer-events:none}.et-calendar .et-calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:32px;font-size:12px;color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;block-size:var(--et-calendar-cell-size);padding:0;border:none;background:transparent;font:inherit;font-size:13px;color:var(--et-surface-color-solid);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-calendar .et-calendar-cell:before{content:\"\";position:absolute;inset-block:4px;inset-inline:0;display:none;background:light-dark(color-mix(in srgb,var(--et-theme-color-primary-solid) 32%,transparent),color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent))}.et-calendar .et-calendar-cell:where([data-band]):before{display:block}.et-calendar .et-calendar-cell:where([data-band=start]):before{inset-inline-start:50%}.et-calendar .et-calendar-cell:where([data-band=end]):before{inset-inline-end:50%}.et-calendar .et-calendar-cell .et-calendar-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:calc(var(--et-calendar-cell-size) - 6px);block-size:calc(var(--et-calendar-cell-size) - 6px);border-radius:999px;transition:background-color .15s ease,color .15s ease}@media(hover:hover){.et-calendar .et-calendar-cell:where(:not([data-disabled])):hover .et-calendar-cell-content{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-cell:focus-visible{outline:none}.et-calendar .et-calendar-cell:focus-visible .et-calendar-cell-content{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell:where([data-today]) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px var(--et-theme-color-ink-solid)}.et-calendar .et-calendar-cell:where([data-selected],[data-band=start],[data-band=end]):where(:not([data-disabled],[data-today])) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-selected]){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-selected]) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-selected]):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-disabled]){color:var(--et-surface-color-subtle-solid);cursor:default}.et-calendar .et-calendar-cell:where([data-disabled]) .et-calendar-cell-content{background:transparent;text-decoration:line-through}@keyframes et-calendar-weeks-in-forward{0%{opacity:0;transform:translate(14px)}}@keyframes et-calendar-weeks-in-backward{0%{opacity:0;transform:translate(-14px)}}@keyframes et-calendar-weeks-in-zoom{0%{opacity:0}}@keyframes et-calendar-weeks-out{to{opacity:0}}@keyframes et-calendar-label-in-forward{0%{opacity:0;transform:translate(6px)}}@keyframes et-calendar-label-in-backward{0%{opacity:0;transform:translate(-6px)}}@keyframes et-calendar-label-in-zoom{0%{opacity:0}}@keyframes et-calendar-label-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.et-calendar .et-calendar-weeks,.et-calendar .et-calendar-weeks--leave,.et-calendar .et-calendar-header-label-value,.et-calendar .et-calendar-header-label-value--leave{animation:none}.et-calendar .et-calendar-header-label-icon{transition:none}}}\n"]
22075
+ styles: ["@layer components{@property --et-calendar-cell-size{syntax: \"<length>\"; inherits: true; initial-value: 40px;}.et-calendar{display:inline-flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;--_et-calendar-week-column: 0px}.et-calendar .et-calendar-header{display:flex;align-items:center;gap:4px}.et-calendar .et-calendar-header-label{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;padding:4px 22px;border:none;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--et-surface-color-solid);cursor:pointer;transition:background-color .14s var(--ease-3, ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-calendar .et-calendar-header-label:not([disabled],[aria-disabled=true]):hover{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-header-label:not([disabled],[aria-disabled=true]):active{background:color-mix(in srgb,var(--et-surface-interaction-solid) 22%,transparent)}.et-calendar .et-calendar-header-label:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-header-label-text{position:relative;display:inline-grid;grid-template-areas:\"label\";justify-items:center;white-space:nowrap}.et-calendar .et-calendar-header-label-value{grid-area:label}.et-calendar .et-calendar-header-label-value:where([data-nav=forward]){animation:et-calendar-label-in-forward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=backward]){animation:et-calendar-label-in-backward .2s ease}.et-calendar .et-calendar-header-label-value:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-label-in-zoom .16s ease}.et-calendar .et-calendar-header-label-value--leave{position:absolute;inset-block:0;animation:et-calendar-label-out .14s ease forwards}.et-calendar .et-calendar-header-label-icon{position:absolute;inset-inline-end:6px;inset-block-start:50%;inline-size:12px;block-size:12px;rotate:180deg;translate:0 -50%;transition:rotate .2s var(--ease-3, ease-out);opacity:.7}.et-calendar:where([data-view=multiYear]) .et-calendar-header-label-icon{rotate:0deg}.et-calendar .et-calendar-nav-button--previous .et-icon{rotate:-90deg}.et-calendar .et-calendar-nav-button--next .et-icon{rotate:90deg}.et-calendar .et-calendar-grid{display:flex;flex-direction:column}.et-calendar .et-calendar-weeks-viewport{position:relative;display:grid;flex:1;grid-template-areas:\"weeks\";align-content:start;justify-items:center;min-inline-size:calc((var(--et-calendar-cell-size) * 7 + var(--_et-calendar-week-column)) * var(--_et-calendar-months, 1) + 16px * (var(--_et-calendar-months, 1) - 1))}.et-calendar .et-calendar-weeks{grid-area:weeks}.et-calendar .et-calendar-weekdays,.et-calendar .et-calendar-week{display:grid;grid-template-columns:repeat(7,var(--et-calendar-cell-size))}.et-calendar .et-calendar-months{display:flex;gap:16px}.et-calendar .et-calendar-month-label{padding-block-end:4px;text-align:center;font-size:13px;font-weight:600;color:var(--et-surface-color-solid)}.et-calendar .et-calendar-cell--empty{pointer-events:none}.et-calendar .et-calendar-weeks:where([data-nav=forward]){animation:et-calendar-weeks-in-forward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=backward]){animation:et-calendar-weeks-in-backward .2s ease}.et-calendar .et-calendar-weeks:where([data-nav=zoomIn],[data-nav=zoomOut]){animation:et-calendar-weeks-in-zoom .16s ease}.et-calendar .et-calendar-weeks--leave{animation:et-calendar-weeks-out .14s ease forwards;pointer-events:none}.et-calendar .et-calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:32px;font-size:12px;color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;block-size:var(--et-calendar-cell-size);padding:0;border:none;background:transparent;font:inherit;font-size:13px;color:var(--et-surface-color-solid);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-calendar .et-calendar-cell:before{content:\"\";position:absolute;inset-block:4px;inset-inline:0;display:none;background:light-dark(color-mix(in srgb,var(--et-theme-color-primary-solid) 32%,transparent),color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent))}.et-calendar .et-calendar-cell:where([data-band]):before{display:block}.et-calendar .et-calendar-cell:where([data-band=start]):before{inset-inline-start:50%}.et-calendar .et-calendar-cell:where([data-band=end]):before{inset-inline-end:50%}.et-calendar .et-calendar-cell .et-calendar-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:calc(var(--et-calendar-cell-size) - 6px);block-size:calc(var(--et-calendar-cell-size) - 6px);border-radius:999px;transition:background-color .15s ease,color .15s ease}@media(hover:hover){.et-calendar .et-calendar-cell:where(:not([data-disabled])):hover .et-calendar-cell-content{background:color-mix(in srgb,var(--et-surface-interaction-solid) 12%,transparent)}}.et-calendar .et-calendar-cell:focus-visible{outline:none}.et-calendar .et-calendar-cell:focus-visible .et-calendar-cell-content{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-calendar .et-calendar-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-calendar .et-calendar-cell:where([data-today]) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px var(--et-theme-color-ink-solid)}.et-calendar .et-calendar-cell:where([data-selected],[data-band=start],[data-band=end]):where(:not([data-disabled],[data-today])) .et-calendar-cell-content{box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-band=start],[data-band=end]):where(:not([data-selected])):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-selected]){color:var(--et-theme-color-on-primary)}.et-calendar .et-calendar-cell:where([data-selected]) .et-calendar-cell-content{background:var(--et-theme-color-primary-solid);font-weight:600}@media(hover:hover){.et-calendar .et-calendar-cell:where([data-selected]):hover .et-calendar-cell-content{background:var(--et-theme-color-primary-solid)}}.et-calendar .et-calendar-cell:where([data-disabled]){color:var(--et-surface-color-subtle-solid);cursor:default}.et-calendar .et-calendar-cell:where([data-disabled]) .et-calendar-cell-content{background:transparent;text-decoration:line-through}@keyframes et-calendar-weeks-in-forward{0%{opacity:0;transform:translate(14px)}}@keyframes et-calendar-weeks-in-backward{0%{opacity:0;transform:translate(-14px)}}@keyframes et-calendar-weeks-in-zoom{0%{opacity:0}}@keyframes et-calendar-weeks-out{to{opacity:0}}@keyframes et-calendar-label-in-forward{0%{opacity:0;transform:translate(6px)}}@keyframes et-calendar-label-in-backward{0%{opacity:0;transform:translate(-6px)}}@keyframes et-calendar-label-in-zoom{0%{opacity:0}}@keyframes et-calendar-label-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.et-calendar .et-calendar-weeks,.et-calendar .et-calendar-weeks--leave,.et-calendar .et-calendar-header-label-value,.et-calendar .et-calendar-header-label-value--leave{animation:none}.et-calendar .et-calendar-header-label-icon{transition:none}}}\n"]
22020
22076
  }]
22021
22077
  }],
22022
22078
  ctorParameters: () => [],
@@ -27291,6 +27347,8 @@ i0.ɵɵngDeclareClassMetadata({
27291
27347
  }
27292
27348
  });
27293
27349
  const DEFAULT_TOOLTIP_DELAY = 300;
27350
+ const LONG_PRESS_DELAY = 500;
27351
+ const TOUCH_HIDE_DELAY = 1500;
27294
27352
  const createTooltipId = /* @__PURE__ */ createIdFactory("et-tooltip");
27295
27353
  const createTooltipDescriptionId = /* @__PURE__ */ createIdFactory("et-tooltip-description");
27296
27354
  var TooltipDirective = class TooltipDirective {
@@ -27302,6 +27360,7 @@ var TooltipDirective = class TooltipDirective {
27302
27360
  this.overlayManager = injectOverlayManager();
27303
27361
  this.focusVisibleTracker = injectFocusVisibleTracker();
27304
27362
  this.renderer = injectRenderer();
27363
+ this.hasTouchInput = injectHasTouchInput();
27305
27364
  this.content = input(null, {
27306
27365
  ...ngDevMode ? { debugName: "content" } : /* istanbul ignore next */ {},
27307
27366
  alias: "etTooltip"
@@ -27337,6 +27396,8 @@ var TooltipDirective = class TooltipDirective {
27337
27396
  const content = this.content();
27338
27397
  return content !== null && (typeof content !== "string" || content.trim() !== "");
27339
27398
  }, ...ngDevMode ? [{ debugName: "hasContent" }] : /* istanbul ignore next */ []);
27399
+ this.canShow = computed(() => this.hasContent() && !this.disabled(), ...ngDevMode ? [{ debugName: "canShow" }] : /* istanbul ignore next */ []);
27400
+ this.suppressNativeLongPress = computed(() => this.hasTouchInput() && this.canShow(), ...ngDevMode ? [{ debugName: "suppressNativeLongPress" }] : /* istanbul ignore next */ []);
27340
27401
  this.accessibleDescription = computed(() => {
27341
27402
  const ariaDescription = this.ariaDescription();
27342
27403
  if (ariaDescription) return ariaDescription;
@@ -27346,6 +27407,7 @@ var TooltipDirective = class TooltipDirective {
27346
27407
  mountFloatingPanelStyles();
27347
27408
  mountFloatingTipStyles();
27348
27409
  this.setupHoverBehavior();
27410
+ this.setupLongPressBehavior();
27349
27411
  this.setupFocusBehavior();
27350
27412
  effect(() => {
27351
27413
  if (!this.isBrowser) return;
@@ -27434,11 +27496,19 @@ var TooltipDirective = class TooltipDirective {
27434
27496
  if (!this.hasHover()) return;
27435
27497
  this.show();
27436
27498
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
27437
- leave$.pipe(tap(() => {
27499
+ leave$.pipe(filter((event) => event.pointerType !== "touch"), tap(() => {
27438
27500
  this.hasHover.set(false);
27439
27501
  if (!this.hasFocus()) this.hide();
27440
27502
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
27441
27503
  }
27504
+ setupLongPressBehavior() {
27505
+ const hostElement = this.elementRef.nativeElement;
27506
+ const isTouch = (event) => event.pointerType === "touch";
27507
+ const pressEnd$ = merge(fromEvent(hostElement, "pointerup"), fromEvent(hostElement, "pointercancel")).pipe(filter(isTouch), take(1));
27508
+ fromEvent(hostElement, "pointerdown").pipe(filter((event) => isTouch(event) && this.canShow()), switchMap(() => merge(merge(timer(LONG_PRESS_DELAY), fromEvent(hostElement, "contextmenu").pipe(tap((event) => event.preventDefault()))).pipe(takeUntil(pressEnd$), tap(() => this.show()), ignoreElements()), pressEnd$.pipe(switchMap(() => timer(TOUCH_HIDE_DELAY))))), tap(() => {
27509
+ if (!this.hasFocus() && !this.hasHover()) this.overlayRef()?.close();
27510
+ }), takeUntilDestroyed(this.destroyRef)).subscribe();
27511
+ }
27442
27512
  dismissOnOutsidePointer(overlayRef) {
27443
27513
  const hostElement = this.elementRef.nativeElement;
27444
27514
  fromEvent(this.document, "pointerdown", { capture: true }).pipe(takeUntil(overlayRef.afterClosed()), filter((event) => !(event.target instanceof Node) || !hostElement.contains(event.target)), filter((event) => !isOnHigherOverlayLayer(event.target, resolveOverlayLayer(hostElement))), tap(() => {
@@ -27448,9 +27518,17 @@ var TooltipDirective = class TooltipDirective {
27448
27518
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
27449
27519
  }
27450
27520
  dismissOnEscape(overlayRef) {
27451
- fromEvent(this.document, "keydown", { capture: true }).pipe(takeUntil(overlayRef.afterClosed()), filter((event) => event.key === "Escape" && !event.defaultPrevented), tap((event) => {
27452
- event.preventDefault();
27453
- this.hide();
27521
+ const root = this.document.documentElement;
27522
+ fromEvent(this.document, "keydown", { capture: true }).pipe(takeUntil(overlayRef.afterClosed()), filter((event) => event.key === "Escape" && !event.defaultPrevented), mergeMap((event) => {
27523
+ if (event.target === this.document) {
27524
+ event.preventDefault();
27525
+ this.hide();
27526
+ return EMPTY;
27527
+ }
27528
+ return merge(fromEvent(root, "keydown").pipe(take(1), filter((rootEvent) => rootEvent === event), tap((rootEvent) => rootEvent.preventDefault())), defer(() => {
27529
+ this.hide();
27530
+ return EMPTY;
27531
+ }));
27454
27532
  }), takeUntilDestroyed(this.destroyRef)).subscribe();
27455
27533
  }
27456
27534
  setupFocusBehavior() {
@@ -27592,6 +27670,11 @@ var TooltipDirective = class TooltipDirective {
27592
27670
  transformFunction: null
27593
27671
  }
27594
27672
  },
27673
+ host: { properties: {
27674
+ "style.-webkit-touch-callout": "suppressNativeLongPress() ? \"none\" : null",
27675
+ "style.-webkit-user-select": "suppressNativeLongPress() ? \"none\" : null",
27676
+ "style.user-select": "suppressNativeLongPress() ? \"none\" : null"
27677
+ } },
27595
27678
  exportAs: ["etTooltip"],
27596
27679
  ngImport: i0
27597
27680
  });
@@ -27606,7 +27689,12 @@ i0.ɵɵngDeclareClassMetadata({
27606
27689
  type: Directive,
27607
27690
  args: [{
27608
27691
  selector: "[etTooltip]",
27609
- exportAs: "etTooltip"
27692
+ exportAs: "etTooltip",
27693
+ host: {
27694
+ "[style.-webkit-touch-callout]": "suppressNativeLongPress() ? \"none\" : null",
27695
+ "[style.-webkit-user-select]": "suppressNativeLongPress() ? \"none\" : null",
27696
+ "[style.user-select]": "suppressNativeLongPress() ? \"none\" : null"
27697
+ }
27610
27698
  }]
27611
27699
  }],
27612
27700
  ctorParameters: () => [],
@@ -31843,7 +31931,7 @@ var ChipComponent = class ChipComponent {
31843
31931
  }],
31844
31932
  ngImport: i0,
31845
31933
  template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n",
31846
- styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip .et-chip-remove-button:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"],
31934
+ styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true],[data-readonly],[data-disabled]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly],[data-disabled]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip .et-chip-remove-button:not([disabled]):hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:not([disabled]):active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"],
31847
31935
  dependencies: [{
31848
31936
  kind: "directive",
31849
31937
  type: ChipRemoveDirective,
@@ -31884,7 +31972,7 @@ i0.ɵɵngDeclareClassMetadata({
31884
31972
  }],
31885
31973
  host: { class: "et-chip" },
31886
31974
  template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n",
31887
- styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip .et-chip-remove-button:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"]
31975
+ styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true],[data-readonly],[data-disabled]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly],[data-disabled]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip .et-chip-remove-button:not([disabled]):hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:not([disabled]):active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"]
31888
31976
  }]
31889
31977
  }]
31890
31978
  });
@@ -32776,7 +32864,7 @@ var KbdComponent = class KbdComponent {
32776
32864
  }
32777
32865
  `,
32778
32866
  isInline: true,
32779
- styles: ["@layer components{@property --et-kbd-gap{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-kbd-key-min-inline-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-kbd-key-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 5px;}@property --et-kbd-key-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-kbd-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-kbd-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 500;}.et-kbd{display:inline-flex;align-items:center;gap:var(--et-kbd-gap);vertical-align:middle}.et-kbd-key{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:var(--et-kbd-key-min-inline-size);padding-inline:var(--et-kbd-key-padding-inline);border:1px solid var(--et-surface-border-solid, rgb(255 255 255 / .1));border-radius:var(--et-kbd-key-border-radius);background:color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 8%,transparent);color:var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));font:inherit;font-size:var(--et-kbd-font-size);font-weight:var(--et-kbd-font-weight);line-height:1.5;white-space:nowrap}}\n"],
32867
+ styles: ["@layer components{@property --et-kbd-gap{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-kbd-key-min-inline-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-kbd-key-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 5px;}@property --et-kbd-key-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-kbd-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-kbd-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 500;}.et-kbd{display:inline-flex;align-items:center;gap:var(--et-kbd-gap);vertical-align:middle}.et-kbd-key{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:var(--et-kbd-key-min-inline-size);padding-inline:var(--et-kbd-key-padding-inline);border:1px solid var(--et-surface-border-solid, rgb(255 255 255 / .1));border-radius:var(--et-kbd-key-border-radius);background:color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 8%,transparent);color:var(--et-kbd-color, var(--et-surface-color-muted-solid, rgb(255 255 255 / .55)));font:inherit;font-size:var(--et-kbd-font-size);font-weight:var(--et-kbd-font-weight);line-height:1.5;white-space:nowrap}}\n"],
32780
32868
  encapsulation: i0.ViewEncapsulation.None
32781
32869
  });
32782
32870
  }
@@ -32798,7 +32886,7 @@ i0.ɵɵngDeclareClassMetadata({
32798
32886
  `,
32799
32887
  encapsulation: ViewEncapsulation.None,
32800
32888
  host: { class: "et-kbd" },
32801
- styles: ["@layer components{@property --et-kbd-gap{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-kbd-key-min-inline-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-kbd-key-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 5px;}@property --et-kbd-key-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-kbd-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-kbd-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 500;}.et-kbd{display:inline-flex;align-items:center;gap:var(--et-kbd-gap);vertical-align:middle}.et-kbd-key{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:var(--et-kbd-key-min-inline-size);padding-inline:var(--et-kbd-key-padding-inline);border:1px solid var(--et-surface-border-solid, rgb(255 255 255 / .1));border-radius:var(--et-kbd-key-border-radius);background:color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 8%,transparent);color:var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));font:inherit;font-size:var(--et-kbd-font-size);font-weight:var(--et-kbd-font-weight);line-height:1.5;white-space:nowrap}}\n"]
32889
+ styles: ["@layer components{@property --et-kbd-gap{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-kbd-key-min-inline-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-kbd-key-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 5px;}@property --et-kbd-key-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-kbd-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-kbd-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 500;}.et-kbd{display:inline-flex;align-items:center;gap:var(--et-kbd-gap);vertical-align:middle}.et-kbd-key{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:var(--et-kbd-key-min-inline-size);padding-inline:var(--et-kbd-key-padding-inline);border:1px solid var(--et-surface-border-solid, rgb(255 255 255 / .1));border-radius:var(--et-kbd-key-border-radius);background:color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 8%,transparent);color:var(--et-kbd-color, var(--et-surface-color-muted-solid, rgb(255 255 255 / .55)));font:inherit;font-size:var(--et-kbd-font-size);font-weight:var(--et-kbd-font-weight);line-height:1.5;white-space:nowrap}}\n"]
32802
32890
  }]
32803
32891
  }],
32804
32892
  ctorParameters: () => [],
@@ -45188,7 +45276,8 @@ var DateRangePresetsComponent = class DateRangePresetsComponent {
45188
45276
  inputs: [
45189
45277
  "variant",
45190
45278
  "size",
45191
- "iconAlignment"
45279
+ "iconAlignment",
45280
+ "stretchContents"
45192
45281
  ]
45193
45282
  }],
45194
45283
  encapsulation: i0.ViewEncapsulation.None
@@ -59386,7 +59475,8 @@ var RichTextEditorLinkEditorComponent = class RichTextEditorLinkEditorComponent
59386
59475
  inputs: [
59387
59476
  "variant",
59388
59477
  "size",
59389
- "iconAlignment"
59478
+ "iconAlignment",
59479
+ "stretchContents"
59390
59480
  ]
59391
59481
  },
59392
59482
  {
@@ -60462,7 +60552,8 @@ var RichTextEditorImageEditorComponent = class RichTextEditorImageEditorComponen
60462
60552
  inputs: [
60463
60553
  "variant",
60464
60554
  "size",
60465
- "iconAlignment"
60555
+ "iconAlignment",
60556
+ "stretchContents"
60466
60557
  ]
60467
60558
  },
60468
60559
  {
@@ -60676,7 +60767,8 @@ var RichTextEditorTokenPaletteComponent = class RichTextEditorTokenPaletteCompon
60676
60767
  inputs: [
60677
60768
  "variant",
60678
60769
  "size",
60679
- "iconAlignment"
60770
+ "iconAlignment",
60771
+ "stretchContents"
60680
60772
  ]
60681
60773
  }],
60682
60774
  encapsulation: i0.ViewEncapsulation.None
@@ -60850,6 +60942,7 @@ var MenuDirective = class MenuDirective {
60850
60942
  this.overlayRef = signal(null, ...ngDevMode ? [{ debugName: "overlayRef" }] : /* istanbul ignore next */ []);
60851
60943
  this.openSubmenu = signal(null, ...ngDevMode ? [{ debugName: "openSubmenu" }] : /* istanbul ignore next */ []);
60852
60944
  this.activeItem = signal(null, ...ngDevMode ? [{ debugName: "activeItem" }] : /* istanbul ignore next */ []);
60945
+ this.activeItemSource = signal("keyboard", ...ngDevMode ? [{ debugName: "activeItemSource" }] : /* istanbul ignore next */ []);
60853
60946
  this.holdsActiveHighlight = signal(false, ...ngDevMode ? [{ debugName: "holdsActiveHighlight" }] : /* istanbul ignore next */ []);
60854
60947
  this.anchorPoint = signal(null, ...ngDevMode ? [{ debugName: "anchorPoint" }] : /* istanbul ignore next */ []);
60855
60948
  this.items = signal([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
@@ -60979,6 +61072,7 @@ var MenuDirective = class MenuDirective {
60979
61072
  }
60980
61073
  setActiveItem(item, options) {
60981
61074
  this.activeItem.set(item);
61075
+ this.activeItemSource.set(options?.source ?? "keyboard");
60982
61076
  if (options?.focus !== false) item.focus();
60983
61077
  }
60984
61078
  handleKeydown(event) {
@@ -61064,7 +61158,10 @@ var MenuDirective = class MenuDirective {
61064
61158
  notifyItemPointerEnter(item) {
61065
61159
  if (!item.isDisabled()) {
61066
61160
  const searchFocused = this.registeredSearch()?.isFocused() ?? false;
61067
- this.setActiveItem(item, { focus: !searchFocused && this.isFocusInsideTree() });
61161
+ this.setActiveItem(item, {
61162
+ focus: !searchFocused && this.isFocusInsideTree(),
61163
+ source: "pointer"
61164
+ });
61068
61165
  }
61069
61166
  this.handleItemHover(item);
61070
61167
  }
@@ -61095,7 +61192,7 @@ var MenuDirective = class MenuDirective {
61095
61192
  else this.registeredPanel()?.focus();
61096
61193
  }
61097
61194
  holdFocusVisibleHighlights() {
61098
- if (this.activeItem()?.elementRef.nativeElement.matches(":focus-visible")) this.holdsActiveHighlight.set(true);
61195
+ if (this.activeItemSource() === "keyboard" && this.activeItem()?.elementRef.nativeElement.matches(":focus-visible")) this.holdsActiveHighlight.set(true);
61099
61196
  this.openSubmenu()?.holdFocusVisibleHighlights();
61100
61197
  }
61101
61198
  isFocusInsideTree() {
@@ -61831,6 +61928,7 @@ var MenuItemDirective = class MenuItemDirective {
61831
61928
  this.pointerInside = false;
61832
61929
  this.role = computed(() => this.roleOverride()?.() ?? "menuitem", ...ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []);
61833
61930
  this.isActive = computed(() => this.owner?.activeItem() === this, ...ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []);
61931
+ this.activeSource = computed(() => this.isActive() ? this.owner?.activeItemSource() ?? null : null, ...ngDevMode ? [{ debugName: "activeSource" }] : /* istanbul ignore next */ []);
61834
61932
  this.isHighlightHeld = computed(() => this.isActive() && !!this.owner?.holdsActiveHighlight(), ...ngDevMode ? [{ debugName: "isHighlightHeld" }] : /* istanbul ignore next */ []);
61835
61933
  this.isDisabled = computed(() => this.disabled() || (this.disabledOverride()?.() ?? false), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
61836
61934
  this.tabIndex = computed(() => {
@@ -61890,7 +61988,7 @@ var MenuItemDirective = class MenuItemDirective {
61890
61988
  event.preventDefault();
61891
61989
  }
61892
61990
  handlePointerMove(event) {
61893
- if (event.pointerType === "touch" || this.pointerInside) return;
61991
+ if (event.pointerType === "touch" || this.pointerInside && !this.keyboardTookOver()) return;
61894
61992
  this.pointerInside = true;
61895
61993
  this.owner?.notifyItemPointerEnter(this);
61896
61994
  }
@@ -61900,6 +61998,9 @@ var MenuItemDirective = class MenuItemDirective {
61900
61998
  handleFocus() {
61901
61999
  this.owner?.activeItem.set(this);
61902
62000
  }
62001
+ keyboardTookOver() {
62002
+ return this.owner?.activeItemSource() === "keyboard" && !this.isDisabled();
62003
+ }
61903
62004
  static {
61904
62005
  this.ɵfac = i0.ɵɵngDeclareFactory({
61905
62006
  minVersion: "12.0.0",
@@ -61948,6 +62049,7 @@ var MenuItemDirective = class MenuItemDirective {
61948
62049
  "attr.tabindex": "tabIndex()",
61949
62050
  "attr.aria-disabled": "isDisabled() || null",
61950
62051
  "attr.data-active": "isActive() || null",
62052
+ "attr.data-active-source": "activeSource()",
61951
62053
  "attr.data-highlight-held": "isHighlightHeld() || null"
61952
62054
  }
61953
62055
  },
@@ -61971,6 +62073,7 @@ i0.ɵɵngDeclareClassMetadata({
61971
62073
  "[attr.tabindex]": "tabIndex()",
61972
62074
  "[attr.aria-disabled]": "isDisabled() || null",
61973
62075
  "[attr.data-active]": "isActive() || null",
62076
+ "[attr.data-active-source]": "activeSource()",
61974
62077
  "[attr.data-highlight-held]": "isHighlightHeld() || null",
61975
62078
  "(click)": "handleClick($event)",
61976
62079
  "(keydown)": "handleKeydown($event)",
@@ -63994,7 +64097,7 @@ var MenuComponent = class MenuComponent {
63994
64097
  ],
63995
64098
  ngImport: i0,
63996
64099
  template: "<div #menuHeader class=\"et-menu-header\">\n <div class=\"et-menu-search-field\">\n <ng-content select=\"input[etMenuSearch]\" />\n <ng-container #menuSearchChrome />\n </div>\n\n @if (searchError(); as error) {\n <p [id]=\"searchErrorId\" [etProvideColor]=\"errorColorTheme()\" class=\"et-menu-search-error\" role=\"alert\">\n {{ error }}\n </p>\n }\n</div>\n\n<div class=\"et-menu-body-wrapper\">\n <div #menuBody class=\"et-menu-body\">\n <div #menuBodyContent class=\"et-menu-body-content\">\n <ng-content />\n </div>\n </div>\n\n <ng-container #menuScrollbarChrome />\n</div>\n",
63997
- styles: ["@layer components{@property --et-menu-min-width{syntax: \"<length>\"; inherits: false; initial-value: 180px;}@property --et-menu-max-height{syntax: \"<length-percentage>\"; inherits: false; initial-value: 40vh;}@property --et-menu-padding-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-padding-inline{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-item-height{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-menu-item-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-gap{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 6px;}@property --et-menu-item-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-menu-item-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-menu-item-submenu-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-menu-separator-margin-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-group-label-font-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --et-menu-scroll-fade-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --_et-menu-fade-start{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --_et-menu-fade-end{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@keyframes et-menu-scroll-fade-start{to{--_et-menu-fade-start: var(--et-menu-scroll-fade-size)}}@keyframes et-menu-scroll-fade-end{0%{--_et-menu-fade-end: var(--et-menu-scroll-fade-size)}to{--_et-menu-fade-end: 0px}}.et-overlay.et-overlay--menu{overflow:visible;background:transparent;box-shadow:none}.et-menu{--_et-menu-background: var(--et-surface-background-solid, rgb(32 32 32));--_et-menu-color: var(--et-surface-color-solid, rgb(244 244 245));--_et-menu-border: var(--et-surface-border-solid, rgb(255 255 255 / .1));--_et-menu-shadow: var(--et-anchored-panel-shadow, 0 10px 24px rgb(var(--et-shadow-color-rgb, 0 0 0) / .16));--_et-menu-radius: 10px;--_et-menu-item-active-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 12%, transparent );--_et-menu-item-pressed-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 20%, transparent );--_et-menu-muted-color: var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));--_et-menu-separator-color: var(--et-surface-border-solid, rgb(255 255 255 / .1));display:flex;flex-direction:column;min-inline-size:var(--et-menu-min-width);max-inline-size:min(320px,calc(100vw - 24px));max-block-size:min(var(--et-menu-max-height),var(--et-overlay-max-height, 100vh));border-radius:var(--_et-menu-radius);border:1px solid var(--_et-menu-border);background:var(--_et-menu-background);color:var(--_et-menu-color);font-family:var(--et-font-family, inherit);font-size:var(--et-menu-item-font-size);box-shadow:var(--_et-menu-shadow);outline:none}.et-menu.et-menu--resizing{overflow:clip}.et-menu.et-menu--resizing .et-menu-body{overflow:clip}.et-menu .et-menu-header{flex:none;padding:var(--et-menu-padding-block) var(--et-menu-padding-inline) 0;contain:inline-size}.et-menu .et-menu-header:not(:has(input[etmenusearch])){display:none}.et-menu .et-menu-body-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-block-size:0;margin-block:var(--et-menu-padding-block)}.et-menu .et-menu-body{flex:1;min-block-size:0;padding-inline:var(--et-menu-padding-inline);overflow-y:auto;overscroll-behavior:contain}@supports (animation-timeline: scroll()){.et-menu .et-menu-body{-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);animation:et-menu-scroll-fade-start linear both,et-menu-scroll-fade-end linear both;animation-timeline:scroll(self block),scroll(self block);animation-range:0 var(--et-menu-scroll-fade-size),calc(100% - var(--et-menu-scroll-fade-size)) 100%}}.et-menu .et-menu-group{display:block}.et-menu .et-menu-item{display:flex;align-items:center;gap:var(--et-menu-item-gap);inline-size:100%;min-block-size:var(--et-menu-item-height);padding-inline:var(--et-menu-item-padding-inline);border:none;border-radius:var(--et-menu-item-border-radius);background:transparent;color:inherit;font:inherit;text-align:start;text-decoration:none;cursor:pointer;outline:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease,opacity .12s ease}.et-menu .et-menu-item[data-active]:focus-visible{outline:2px solid var(--et-theme-color-ink-solid);outline-offset:-2px}.et-menu .et-menu-item[data-active]:where(:focus-visible),.et-menu .et-menu-item[data-highlight-held],.et-menu .et-menu-item[data-menu-open]{background:var(--_et-menu-item-active-background)}@media(hover:hover){.et-menu .et-menu-item[data-active]:where(:hover){background:var(--_et-menu-item-active-background)}}.et-menu .et-menu-item:active:not([aria-disabled=true]){background:var(--_et-menu-item-pressed-background)}.et-menu .et-menu-item[aria-disabled=true]{opacity:.4;cursor:default}.et-menu .et-menu-item[data-variant=destructive]{color:var(--et-theme-color-ink-solid, rgb(248 113 113))}.et-menu .et-menu-item .et-menu-item-content{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}\n"],
64100
+ styles: ["@layer components{@property --et-menu-min-width{syntax: \"<length>\"; inherits: false; initial-value: 180px;}@property --et-menu-max-height{syntax: \"<length-percentage>\"; inherits: false; initial-value: 40vh;}@property --et-menu-padding-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-padding-inline{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-item-height{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-menu-item-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-gap{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 6px;}@property --et-menu-item-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-menu-item-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-menu-item-submenu-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-menu-separator-margin-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-group-label-font-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --et-menu-scroll-fade-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --_et-menu-fade-start{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --_et-menu-fade-end{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@keyframes et-menu-scroll-fade-start{to{--_et-menu-fade-start: var(--et-menu-scroll-fade-size)}}@keyframes et-menu-scroll-fade-end{0%{--_et-menu-fade-end: var(--et-menu-scroll-fade-size)}to{--_et-menu-fade-end: 0px}}.et-overlay.et-overlay--menu{overflow:visible;background:transparent;box-shadow:none}.et-menu{--_et-menu-background: var(--et-surface-background-solid, rgb(32 32 32));--_et-menu-color: var(--et-surface-color-solid, rgb(244 244 245));--_et-menu-border: var(--et-surface-border-solid, rgb(255 255 255 / .1));--_et-menu-shadow: var(--et-anchored-panel-shadow, 0 10px 24px rgb(var(--et-shadow-color-rgb, 0 0 0) / .16));--_et-menu-radius: 10px;--_et-menu-item-active-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 12%, transparent );--_et-menu-item-pressed-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 20%, transparent );--_et-menu-muted-color: var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));--_et-menu-separator-color: var(--et-surface-border-solid, rgb(255 255 255 / .1));display:flex;flex-direction:column;min-inline-size:var(--et-menu-min-width);max-inline-size:min(320px,calc(100vw - 24px));max-block-size:min(var(--et-menu-max-height),var(--et-overlay-max-height, 100vh));border-radius:var(--_et-menu-radius);border:1px solid var(--_et-menu-border);background:var(--_et-menu-background);color:var(--_et-menu-color);font-family:var(--et-font-family, inherit);font-size:var(--et-menu-item-font-size);box-shadow:var(--_et-menu-shadow);outline:none}.et-menu.et-menu--resizing{overflow:clip}.et-menu.et-menu--resizing .et-menu-body{overflow:clip}.et-menu .et-menu-header{flex:none;padding:var(--et-menu-padding-block) var(--et-menu-padding-inline) 0;contain:inline-size}.et-menu .et-menu-header:not(:has(input[etmenusearch])){display:none}.et-menu .et-menu-body-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-block-size:0;margin-block:var(--et-menu-padding-block)}.et-menu .et-menu-body{flex:1;min-block-size:0;padding-inline:var(--et-menu-padding-inline);overflow-y:auto;overscroll-behavior:contain}@supports (animation-timeline: scroll()){.et-menu .et-menu-body{-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);animation:et-menu-scroll-fade-start linear both,et-menu-scroll-fade-end linear both;animation-timeline:scroll(self block),scroll(self block);animation-range:0 var(--et-menu-scroll-fade-size),calc(100% - var(--et-menu-scroll-fade-size)) 100%}}.et-menu .et-menu-group{display:block}.et-menu .et-menu-item{display:flex;align-items:center;gap:var(--et-menu-item-gap);inline-size:100%;min-block-size:var(--et-menu-item-height);padding-inline:var(--et-menu-item-padding-inline);border:none;border-radius:var(--et-menu-item-border-radius);background:transparent;color:inherit;font:inherit;text-align:start;text-decoration:none;cursor:pointer;outline:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease,opacity .12s ease}.et-menu .et-menu-item[data-active]:where([data-active-source=keyboard]):focus-visible{outline:2px solid var(--et-theme-color-ink-solid);outline-offset:-2px}.et-menu .et-menu-item[data-active]:where([data-active-source=keyboard]:focus-visible),.et-menu .et-menu-item[data-highlight-held],.et-menu .et-menu-item[data-menu-open]{background:var(--_et-menu-item-active-background)}@media(hover:hover){.et-menu .et-menu-item[data-active]:where(:hover){background:var(--_et-menu-item-active-background)}}.et-menu .et-menu-item:active:not([aria-disabled=true]){background:var(--_et-menu-item-pressed-background)}.et-menu .et-menu-item[aria-disabled=true]{opacity:.4;cursor:default}.et-menu .et-menu-item[data-variant=destructive]{color:var(--et-theme-color-ink-solid, rgb(248 113 113))}.et-menu .et-menu-item .et-menu-item-content{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}\n"],
63998
64101
  dependencies: [{
63999
64102
  kind: "directive",
64000
64103
  type: ProvideColorDirective,
@@ -64023,7 +64126,7 @@ i0.ɵɵngDeclareClassMetadata({
64023
64126
  ],
64024
64127
  host: { class: "et-menu" },
64025
64128
  template: "<div #menuHeader class=\"et-menu-header\">\n <div class=\"et-menu-search-field\">\n <ng-content select=\"input[etMenuSearch]\" />\n <ng-container #menuSearchChrome />\n </div>\n\n @if (searchError(); as error) {\n <p [id]=\"searchErrorId\" [etProvideColor]=\"errorColorTheme()\" class=\"et-menu-search-error\" role=\"alert\">\n {{ error }}\n </p>\n }\n</div>\n\n<div class=\"et-menu-body-wrapper\">\n <div #menuBody class=\"et-menu-body\">\n <div #menuBodyContent class=\"et-menu-body-content\">\n <ng-content />\n </div>\n </div>\n\n <ng-container #menuScrollbarChrome />\n</div>\n",
64026
- styles: ["@layer components{@property --et-menu-min-width{syntax: \"<length>\"; inherits: false; initial-value: 180px;}@property --et-menu-max-height{syntax: \"<length-percentage>\"; inherits: false; initial-value: 40vh;}@property --et-menu-padding-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-padding-inline{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-item-height{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-menu-item-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-gap{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 6px;}@property --et-menu-item-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-menu-item-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-menu-item-submenu-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-menu-separator-margin-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-group-label-font-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --et-menu-scroll-fade-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --_et-menu-fade-start{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --_et-menu-fade-end{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@keyframes et-menu-scroll-fade-start{to{--_et-menu-fade-start: var(--et-menu-scroll-fade-size)}}@keyframes et-menu-scroll-fade-end{0%{--_et-menu-fade-end: var(--et-menu-scroll-fade-size)}to{--_et-menu-fade-end: 0px}}.et-overlay.et-overlay--menu{overflow:visible;background:transparent;box-shadow:none}.et-menu{--_et-menu-background: var(--et-surface-background-solid, rgb(32 32 32));--_et-menu-color: var(--et-surface-color-solid, rgb(244 244 245));--_et-menu-border: var(--et-surface-border-solid, rgb(255 255 255 / .1));--_et-menu-shadow: var(--et-anchored-panel-shadow, 0 10px 24px rgb(var(--et-shadow-color-rgb, 0 0 0) / .16));--_et-menu-radius: 10px;--_et-menu-item-active-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 12%, transparent );--_et-menu-item-pressed-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 20%, transparent );--_et-menu-muted-color: var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));--_et-menu-separator-color: var(--et-surface-border-solid, rgb(255 255 255 / .1));display:flex;flex-direction:column;min-inline-size:var(--et-menu-min-width);max-inline-size:min(320px,calc(100vw - 24px));max-block-size:min(var(--et-menu-max-height),var(--et-overlay-max-height, 100vh));border-radius:var(--_et-menu-radius);border:1px solid var(--_et-menu-border);background:var(--_et-menu-background);color:var(--_et-menu-color);font-family:var(--et-font-family, inherit);font-size:var(--et-menu-item-font-size);box-shadow:var(--_et-menu-shadow);outline:none}.et-menu.et-menu--resizing{overflow:clip}.et-menu.et-menu--resizing .et-menu-body{overflow:clip}.et-menu .et-menu-header{flex:none;padding:var(--et-menu-padding-block) var(--et-menu-padding-inline) 0;contain:inline-size}.et-menu .et-menu-header:not(:has(input[etmenusearch])){display:none}.et-menu .et-menu-body-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-block-size:0;margin-block:var(--et-menu-padding-block)}.et-menu .et-menu-body{flex:1;min-block-size:0;padding-inline:var(--et-menu-padding-inline);overflow-y:auto;overscroll-behavior:contain}@supports (animation-timeline: scroll()){.et-menu .et-menu-body{-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);animation:et-menu-scroll-fade-start linear both,et-menu-scroll-fade-end linear both;animation-timeline:scroll(self block),scroll(self block);animation-range:0 var(--et-menu-scroll-fade-size),calc(100% - var(--et-menu-scroll-fade-size)) 100%}}.et-menu .et-menu-group{display:block}.et-menu .et-menu-item{display:flex;align-items:center;gap:var(--et-menu-item-gap);inline-size:100%;min-block-size:var(--et-menu-item-height);padding-inline:var(--et-menu-item-padding-inline);border:none;border-radius:var(--et-menu-item-border-radius);background:transparent;color:inherit;font:inherit;text-align:start;text-decoration:none;cursor:pointer;outline:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease,opacity .12s ease}.et-menu .et-menu-item[data-active]:focus-visible{outline:2px solid var(--et-theme-color-ink-solid);outline-offset:-2px}.et-menu .et-menu-item[data-active]:where(:focus-visible),.et-menu .et-menu-item[data-highlight-held],.et-menu .et-menu-item[data-menu-open]{background:var(--_et-menu-item-active-background)}@media(hover:hover){.et-menu .et-menu-item[data-active]:where(:hover){background:var(--_et-menu-item-active-background)}}.et-menu .et-menu-item:active:not([aria-disabled=true]){background:var(--_et-menu-item-pressed-background)}.et-menu .et-menu-item[aria-disabled=true]{opacity:.4;cursor:default}.et-menu .et-menu-item[data-variant=destructive]{color:var(--et-theme-color-ink-solid, rgb(248 113 113))}.et-menu .et-menu-item .et-menu-item-content{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}\n"]
64129
+ styles: ["@layer components{@property --et-menu-min-width{syntax: \"<length>\"; inherits: false; initial-value: 180px;}@property --et-menu-max-height{syntax: \"<length-percentage>\"; inherits: false; initial-value: 40vh;}@property --et-menu-padding-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-padding-inline{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-item-height{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-menu-item-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-gap{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-menu-item-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 6px;}@property --et-menu-item-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-menu-item-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-menu-item-submenu-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-menu-separator-margin-block{syntax: \"<length>\"; inherits: false; initial-value: 6px;}@property --et-menu-group-label-font-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --et-menu-scroll-fade-size{syntax: \"<length>\"; inherits: false; initial-value: 12px;}@property --_et-menu-fade-start{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --_et-menu-fade-end{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@keyframes et-menu-scroll-fade-start{to{--_et-menu-fade-start: var(--et-menu-scroll-fade-size)}}@keyframes et-menu-scroll-fade-end{0%{--_et-menu-fade-end: var(--et-menu-scroll-fade-size)}to{--_et-menu-fade-end: 0px}}.et-overlay.et-overlay--menu{overflow:visible;background:transparent;box-shadow:none}.et-menu{--_et-menu-background: var(--et-surface-background-solid, rgb(32 32 32));--_et-menu-color: var(--et-surface-color-solid, rgb(244 244 245));--_et-menu-border: var(--et-surface-border-solid, rgb(255 255 255 / .1));--_et-menu-shadow: var(--et-anchored-panel-shadow, 0 10px 24px rgb(var(--et-shadow-color-rgb, 0 0 0) / .16));--_et-menu-radius: 10px;--_et-menu-item-active-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 12%, transparent );--_et-menu-item-pressed-background: color-mix( in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 20%, transparent );--_et-menu-muted-color: var(--et-surface-color-muted-solid, rgb(255 255 255 / .55));--_et-menu-separator-color: var(--et-surface-border-solid, rgb(255 255 255 / .1));display:flex;flex-direction:column;min-inline-size:var(--et-menu-min-width);max-inline-size:min(320px,calc(100vw - 24px));max-block-size:min(var(--et-menu-max-height),var(--et-overlay-max-height, 100vh));border-radius:var(--_et-menu-radius);border:1px solid var(--_et-menu-border);background:var(--_et-menu-background);color:var(--_et-menu-color);font-family:var(--et-font-family, inherit);font-size:var(--et-menu-item-font-size);box-shadow:var(--_et-menu-shadow);outline:none}.et-menu.et-menu--resizing{overflow:clip}.et-menu.et-menu--resizing .et-menu-body{overflow:clip}.et-menu .et-menu-header{flex:none;padding:var(--et-menu-padding-block) var(--et-menu-padding-inline) 0;contain:inline-size}.et-menu .et-menu-header:not(:has(input[etmenusearch])){display:none}.et-menu .et-menu-body-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-block-size:0;margin-block:var(--et-menu-padding-block)}.et-menu .et-menu-body{flex:1;min-block-size:0;padding-inline:var(--et-menu-padding-inline);overflow-y:auto;overscroll-behavior:contain}@supports (animation-timeline: scroll()){.et-menu .et-menu-body{-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--_et-menu-fade-start),black calc(100% - var(--_et-menu-fade-end)),transparent 100%);animation:et-menu-scroll-fade-start linear both,et-menu-scroll-fade-end linear both;animation-timeline:scroll(self block),scroll(self block);animation-range:0 var(--et-menu-scroll-fade-size),calc(100% - var(--et-menu-scroll-fade-size)) 100%}}.et-menu .et-menu-group{display:block}.et-menu .et-menu-item{display:flex;align-items:center;gap:var(--et-menu-item-gap);inline-size:100%;min-block-size:var(--et-menu-item-height);padding-inline:var(--et-menu-item-padding-inline);border:none;border-radius:var(--et-menu-item-border-radius);background:transparent;color:inherit;font:inherit;text-align:start;text-decoration:none;cursor:pointer;outline:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease,opacity .12s ease}.et-menu .et-menu-item[data-active]:where([data-active-source=keyboard]):focus-visible{outline:2px solid var(--et-theme-color-ink-solid);outline-offset:-2px}.et-menu .et-menu-item[data-active]:where([data-active-source=keyboard]:focus-visible),.et-menu .et-menu-item[data-highlight-held],.et-menu .et-menu-item[data-menu-open]{background:var(--_et-menu-item-active-background)}@media(hover:hover){.et-menu .et-menu-item[data-active]:where(:hover){background:var(--_et-menu-item-active-background)}}.et-menu .et-menu-item:active:not([aria-disabled=true]){background:var(--_et-menu-item-pressed-background)}.et-menu .et-menu-item[aria-disabled=true]{opacity:.4;cursor:default}.et-menu .et-menu-item[data-variant=destructive]{color:var(--et-theme-color-ink-solid, rgb(248 113 113))}.et-menu .et-menu-item .et-menu-item-content{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}\n"]
64027
64130
  }]
64028
64131
  }],
64029
64132
  ctorParameters: () => [],
@@ -70065,6 +70168,7 @@ var SelectDirective = class SelectDirective extends FieldStateControlDirective {
70065
70168
  }, ...ngDevMode ? [{ debugName: "virtualizedItems" }] : /* istanbul ignore next */ []);
70066
70169
  this.pendingActiveScrollItem = null;
70067
70170
  this.anchorBoxAtPointerMove = null;
70171
+ this.openSource = "pointer";
70068
70172
  this.characterSeparators = computed(() => this.separators().filter((separator) => separator.length === 1), ...ngDevMode ? [{ debugName: "characterSeparators" }] : /* istanbul ignore next */ []);
70069
70173
  this.keySeparators = computed(() => this.separators().filter((separator) => separator.length > 1), ...ngDevMode ? [{ debugName: "keySeparators" }] : /* istanbul ignore next */ []);
70070
70174
  this.isFull = computed(() => {
@@ -70201,13 +70305,19 @@ var SelectDirective = class SelectDirective extends FieldStateControlDirective {
70201
70305
  const active = this.activeItem();
70202
70306
  if (active && navigable.includes(active)) return;
70203
70307
  const next = this.reconciledActiveItem(enabled, navigable);
70204
- if (next) this.setActiveItem(next, { scroll: !active });
70308
+ if (next) this.setActiveItem(next, {
70309
+ scroll: !active,
70310
+ source: this.openSource
70311
+ });
70205
70312
  else this.activeItem.set(null);
70206
70313
  });
70207
70314
  });
70208
70315
  toObservable(computed(() => this.formField?.controlFrameElement() ?? null)).pipe(switchMap((frame) => frame ? fromEvent(frame, "click") : EMPTY), tap((event) => this.handleFrameClick(event)), takeUntilDestroyed()).subscribe();
70209
70316
  toObservable(this.overlayRef).pipe(tap(() => this.anchorBoxAtPointerMove = null), switchMap((overlayRef) => overlayRef ? fromEvent(this.document, "pointermove") : EMPTY), tap((event) => {
70210
- if (event.pointerType === "mouse") this.anchorBoxAtPointerMove = this.readAnchorBox();
70317
+ if (event.pointerType === "mouse") {
70318
+ this.anchorBoxAtPointerMove = this.readAnchorBox();
70319
+ this.handleMousePointerMove(event);
70320
+ }
70211
70321
  }), takeUntilDestroyed()).subscribe();
70212
70322
  this.destroyRef.onDestroy(() => {
70213
70323
  this.typeahead.destroy();
@@ -70419,6 +70529,10 @@ var SelectDirective = class SelectDirective extends FieldStateControlDirective {
70419
70529
  if (committed && !this.multiple()) this.hide();
70420
70530
  return committed;
70421
70531
  }
70532
+ showFromKeyboard() {
70533
+ this.show();
70534
+ if (this.open()) this.openSource = "keyboard";
70535
+ }
70422
70536
  toggleMultiValue(item) {
70423
70537
  const itemValue = item.value();
70424
70538
  const current = this.value();
@@ -70545,12 +70659,12 @@ var SelectDirective = class SelectDirective extends FieldStateControlDirective {
70545
70659
  if (match) this.commitOptionWhileClosed(match);
70546
70660
  return;
70547
70661
  }
70548
- this.show();
70662
+ this.showFromKeyboard();
70549
70663
  return;
70550
70664
  case "ArrowDown":
70551
70665
  case "ArrowUp":
70552
70666
  event.preventDefault();
70553
- this.show();
70667
+ this.showFromKeyboard();
70554
70668
  return;
70555
70669
  default: {
70556
70670
  if (event.key.length !== 1 || searchFocused || this.multiple() || this.pickOnly()) return;
@@ -70702,11 +70816,21 @@ var SelectDirective = class SelectDirective extends FieldStateControlDirective {
70702
70816
  search?.handleOpened();
70703
70817
  if (this.activeItem()) return;
70704
70818
  const target = this.selectedItems().find((item) => !item.disabled()) ?? this.enabledItems()[0] ?? null;
70705
- if (target) this.setActiveItem(target);
70819
+ if (target) this.setActiveItem(target, { source: this.openSource });
70820
+ });
70821
+ }
70822
+ handleMousePointerMove(event) {
70823
+ if (this.activeItemSource() !== "keyboard" || !(event.target instanceof Node)) return;
70824
+ const target = event.target;
70825
+ const item = this.navigableItems().find((candidate) => candidate.element()?.contains(target));
70826
+ if (item) this.setActiveItem(item, {
70827
+ scroll: false,
70828
+ source: "pointer"
70706
70829
  });
70707
70830
  }
70708
70831
  handlePanelBeforeClosed() {
70709
70832
  this.pendingActiveScrollItem = null;
70833
+ this.openSource = "pointer";
70710
70834
  if (this.allowCustomValues() && this.commitCustomValueOnClose()) this.applyCustomValue(this.query());
70711
70835
  const search = this.registeredSearch();
70712
70836
  if (search && this.query()) search.clear();
@@ -78154,7 +78278,7 @@ var SwitchComponent = class SwitchComponent {
78154
78278
  }, { directive: i1$1.ColorInteractiveDirective }],
78155
78279
  ngImport: i0,
78156
78280
  template: "<div class=\"et-switch-track\">\n <div class=\"et-switch-thumb\"></div>\n</div>\n",
78157
- styles: ["@layer components{@property --et-switch-track-width{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-switch-track-height{syntax: \"<length>\"; inherits: true; initial-value: 22px;}@property --et-switch-thumb-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-switch-thumb-offset{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-switch-transition-duration{syntax: \"<time>\"; inherits: true; initial-value: .15s;}@property --et-switch-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .5;}et-switch{display:inline-flex;align-items:center;cursor:pointer;outline:none}et-switch[data-readonly]{cursor:default}et-switch[aria-disabled=true]{opacity:var(--et-switch-opacity-disabled);pointer-events:none;cursor:default}et-switch .et-switch-track{position:relative;width:var(--et-switch-track-width);height:var(--et-switch-track-height);border-radius:calc(var(--et-switch-track-height) / 2);background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent);box-shadow:inset 0 0 0 1px var(--et-surface-interaction-solid)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 30%,transparent);box-shadow:inset 0 0 0 1px var(--et-surface-interaction-hover-solid)}}:where(et-choice-field[data-error]) et-switch:not([aria-disabled=true]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-theme-color-primary-solid) 40%,transparent)}@media(hover:hover){:where(et-choice-field[data-error]) et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field[data-error]:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,light-dark(rgb(var(--et-color-primary-hover, var(--et-color-primary))),rgb(var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ))) 40%,transparent)}}et-switch:focus-visible .et-switch-track{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:2px}:where(et-choice-field[data-variant=card]) et-switch:focus-visible .et-switch-track{outline:none}et-switch .et-switch-thumb{position:absolute;top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);left:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);width:calc(var(--et-switch-thumb-size) - 4px);height:calc(var(--et-switch-thumb-size) - 4px);border-radius:calc(var(--et-switch-thumb-size) / 2);background-color:var(--et-surface-color-muted-solid, currentColor)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-surface-color-solid, currentColor)}}et-switch:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:var(--et-switch-thumb-size)}et-switch[aria-checked=true] .et-switch-track{background-color:var(--et-theme-color-primary-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}et-switch[aria-checked=true] .et-switch-thumb{top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size)) / 2);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - var(--et-switch-thumb-offset));width:var(--et-switch-thumb-size);height:var(--et-switch-thumb-size);background-color:var(--et-theme-color-on-primary-solid, white)}@media(hover:hover){et-switch[aria-checked=true]:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch[aria-checked=true]:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-theme-color-on-primary-solid, white)}}et-switch[aria-checked=true]:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:calc(var(--et-switch-thumb-size) + 3px);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - 3px - var(--et-switch-thumb-offset))}et-switch[data-indeterminate] .et-switch-track{background-color:transparent;box-shadow:none}et-switch[data-indeterminate] .et-switch-track:before{content:\"\";position:absolute;inset:0;border-radius:inherit;border:1px dashed var(--et-theme-color-ink-solid, currentColor)}et-switch[data-indeterminate] .et-switch-thumb{left:calc((var(--et-switch-track-width) - (var(--et-switch-thumb-size) - 4px)) / 2);background-color:var(--et-theme-color-ink-solid, currentColor)}et-switch[data-can-animate] .et-switch-track{transition:background-color var(--et-switch-transition-duration) ease,box-shadow var(--et-switch-transition-duration) ease}et-switch[data-can-animate] .et-switch-thumb{transition:top var(--et-switch-transition-duration) ease,left var(--et-switch-transition-duration) ease,width var(--et-switch-transition-duration) ease,height var(--et-switch-transition-duration) ease,background-color var(--et-switch-transition-duration) ease}@media(prefers-reduced-motion:reduce){et-switch{--et-switch-transition-duration: 1ms}}}\n"],
78281
+ styles: ["@layer components{@property --et-switch-track-width{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-switch-track-height{syntax: \"<length>\"; inherits: true; initial-value: 22px;}@property --et-switch-thumb-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-switch-thumb-offset{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-switch-transition-duration{syntax: \"<time>\"; inherits: true; initial-value: .15s;}@property --et-switch-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .5;}et-switch{display:inline-flex;align-items:center;cursor:pointer;outline:none}et-switch[data-readonly]{cursor:default}et-switch[aria-disabled=true]{opacity:var(--et-switch-opacity-disabled);pointer-events:none;cursor:default}et-switch .et-switch-track{position:relative;width:var(--et-switch-track-width);height:var(--et-switch-track-height);border-radius:calc(var(--et-switch-track-height) / 2);background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 38%,transparent)}:where(et-choice-field[data-error]) et-switch:not([aria-disabled=true]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-theme-color-primary-solid) 40%,transparent)}@media(hover:hover){:where(et-choice-field[data-error]) et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field[data-error]:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,light-dark(rgb(var(--et-color-primary-hover, var(--et-color-primary))),rgb(var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ))) 40%,transparent)}}et-switch:focus-visible .et-switch-track{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:2px}:where(et-choice-field[data-variant=card]) et-switch:focus-visible .et-switch-track{outline:none}et-switch .et-switch-thumb{position:absolute;top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);left:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);width:calc(var(--et-switch-thumb-size) - 4px);height:calc(var(--et-switch-thumb-size) - 4px);border-radius:calc(var(--et-switch-thumb-size) / 2);background-color:var(--et-surface-color-muted-solid, currentColor)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-surface-color-solid, currentColor)}}et-switch:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:var(--et-switch-thumb-size)}et-switch[aria-checked=true] .et-switch-track{background-color:var(--et-theme-color-primary-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}et-switch[aria-checked=true] .et-switch-thumb{top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size)) / 2);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - var(--et-switch-thumb-offset));width:var(--et-switch-thumb-size);height:var(--et-switch-thumb-size);background-color:var(--et-theme-color-on-primary-solid, white)}@media(hover:hover){et-switch[aria-checked=true]:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch[aria-checked=true]:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-theme-color-on-primary-solid, white)}}et-switch[aria-checked=true]:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:calc(var(--et-switch-thumb-size) + 3px);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - 3px - var(--et-switch-thumb-offset))}et-switch[data-indeterminate] .et-switch-track{background-color:transparent;box-shadow:none}et-switch[data-indeterminate] .et-switch-track:before{content:\"\";position:absolute;inset:0;border-radius:inherit;border:1px dashed var(--et-theme-color-ink-solid, currentColor)}et-switch[data-indeterminate] .et-switch-thumb{left:calc((var(--et-switch-track-width) - (var(--et-switch-thumb-size) - 4px)) / 2);background-color:var(--et-theme-color-ink-solid, currentColor)}et-switch[data-can-animate] .et-switch-track{transition:background-color var(--et-switch-transition-duration) ease,box-shadow var(--et-switch-transition-duration) ease}et-switch[data-can-animate] .et-switch-thumb{transition:top var(--et-switch-transition-duration) ease,left var(--et-switch-transition-duration) ease,width var(--et-switch-transition-duration) ease,height var(--et-switch-transition-duration) ease,background-color var(--et-switch-transition-duration) ease}@media(prefers-reduced-motion:reduce){et-switch{--et-switch-transition-duration: 1ms}}}\n"],
78158
78282
  encapsulation: i0.ViewEncapsulation.None
78159
78283
  });
78160
78284
  }
@@ -78196,7 +78320,7 @@ i0.ɵɵngDeclareClassMetadata({
78196
78320
  "[attr.data-can-animate]": "canAnimate.state() || null"
78197
78321
  },
78198
78322
  template: "<div class=\"et-switch-track\">\n <div class=\"et-switch-thumb\"></div>\n</div>\n",
78199
- styles: ["@layer components{@property --et-switch-track-width{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-switch-track-height{syntax: \"<length>\"; inherits: true; initial-value: 22px;}@property --et-switch-thumb-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-switch-thumb-offset{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-switch-transition-duration{syntax: \"<time>\"; inherits: true; initial-value: .15s;}@property --et-switch-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .5;}et-switch{display:inline-flex;align-items:center;cursor:pointer;outline:none}et-switch[data-readonly]{cursor:default}et-switch[aria-disabled=true]{opacity:var(--et-switch-opacity-disabled);pointer-events:none;cursor:default}et-switch .et-switch-track{position:relative;width:var(--et-switch-track-width);height:var(--et-switch-track-height);border-radius:calc(var(--et-switch-track-height) / 2);background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent);box-shadow:inset 0 0 0 1px var(--et-surface-interaction-solid)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 30%,transparent);box-shadow:inset 0 0 0 1px var(--et-surface-interaction-hover-solid)}}:where(et-choice-field[data-error]) et-switch:not([aria-disabled=true]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-theme-color-primary-solid) 40%,transparent)}@media(hover:hover){:where(et-choice-field[data-error]) et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field[data-error]:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,light-dark(rgb(var(--et-color-primary-hover, var(--et-color-primary))),rgb(var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ))) 40%,transparent)}}et-switch:focus-visible .et-switch-track{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:2px}:where(et-choice-field[data-variant=card]) et-switch:focus-visible .et-switch-track{outline:none}et-switch .et-switch-thumb{position:absolute;top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);left:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);width:calc(var(--et-switch-thumb-size) - 4px);height:calc(var(--et-switch-thumb-size) - 4px);border-radius:calc(var(--et-switch-thumb-size) / 2);background-color:var(--et-surface-color-muted-solid, currentColor)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-surface-color-solid, currentColor)}}et-switch:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:var(--et-switch-thumb-size)}et-switch[aria-checked=true] .et-switch-track{background-color:var(--et-theme-color-primary-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}et-switch[aria-checked=true] .et-switch-thumb{top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size)) / 2);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - var(--et-switch-thumb-offset));width:var(--et-switch-thumb-size);height:var(--et-switch-thumb-size);background-color:var(--et-theme-color-on-primary-solid, white)}@media(hover:hover){et-switch[aria-checked=true]:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch[aria-checked=true]:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-theme-color-on-primary-solid, white)}}et-switch[aria-checked=true]:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:calc(var(--et-switch-thumb-size) + 3px);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - 3px - var(--et-switch-thumb-offset))}et-switch[data-indeterminate] .et-switch-track{background-color:transparent;box-shadow:none}et-switch[data-indeterminate] .et-switch-track:before{content:\"\";position:absolute;inset:0;border-radius:inherit;border:1px dashed var(--et-theme-color-ink-solid, currentColor)}et-switch[data-indeterminate] .et-switch-thumb{left:calc((var(--et-switch-track-width) - (var(--et-switch-thumb-size) - 4px)) / 2);background-color:var(--et-theme-color-ink-solid, currentColor)}et-switch[data-can-animate] .et-switch-track{transition:background-color var(--et-switch-transition-duration) ease,box-shadow var(--et-switch-transition-duration) ease}et-switch[data-can-animate] .et-switch-thumb{transition:top var(--et-switch-transition-duration) ease,left var(--et-switch-transition-duration) ease,width var(--et-switch-transition-duration) ease,height var(--et-switch-transition-duration) ease,background-color var(--et-switch-transition-duration) ease}@media(prefers-reduced-motion:reduce){et-switch{--et-switch-transition-duration: 1ms}}}\n"]
78323
+ styles: ["@layer components{@property --et-switch-track-width{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-switch-track-height{syntax: \"<length>\"; inherits: true; initial-value: 22px;}@property --et-switch-thumb-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-switch-thumb-offset{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-switch-transition-duration{syntax: \"<time>\"; inherits: true; initial-value: .15s;}@property --et-switch-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .5;}et-switch{display:inline-flex;align-items:center;cursor:pointer;outline:none}et-switch[data-readonly]{cursor:default}et-switch[aria-disabled=true]{opacity:var(--et-switch-opacity-disabled);pointer-events:none;cursor:default}et-switch .et-switch-track{position:relative;width:var(--et-switch-track-width);height:var(--et-switch-track-height);border-radius:calc(var(--et-switch-track-height) / 2);background-color:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 38%,transparent)}:where(et-choice-field[data-error]) et-switch:not([aria-disabled=true]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,var(--et-theme-color-primary-solid) 40%,transparent)}@media(hover:hover){:where(et-choice-field[data-error]) et-switch:hover:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track,:where(et-choice-field[data-error]:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]):not([aria-checked=true]):not([data-indeterminate]) .et-switch-track{background-color:color-mix(in srgb,light-dark(rgb(var(--et-color-primary-hover, var(--et-color-primary))),rgb(var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ))) 40%,transparent)}}et-switch:focus-visible .et-switch-track{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:2px}:where(et-choice-field[data-variant=card]) et-switch:focus-visible .et-switch-track{outline:none}et-switch .et-switch-thumb{position:absolute;top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);left:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size) + 4px) / 2);width:calc(var(--et-switch-thumb-size) - 4px);height:calc(var(--et-switch-thumb-size) - 4px);border-radius:calc(var(--et-switch-thumb-size) / 2);background-color:var(--et-surface-color-muted-solid, currentColor)}@media(hover:hover){et-switch:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-surface-color-solid, currentColor)}}et-switch:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:var(--et-switch-thumb-size)}et-switch[aria-checked=true] .et-switch-track{background-color:var(--et-theme-color-primary-solid, currentColor);box-shadow:inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid),transparent)}et-switch[aria-checked=true] .et-switch-thumb{top:calc((var(--et-switch-track-height) - var(--et-switch-thumb-size)) / 2);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - var(--et-switch-thumb-offset));width:var(--et-switch-thumb-size);height:var(--et-switch-thumb-size);background-color:var(--et-theme-color-on-primary-solid, white)}@media(hover:hover){et-switch[aria-checked=true]:hover:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb,:where(et-choice-field:has(.et-choice-field-label-area:hover)) et-switch[aria-checked=true]:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{background-color:var(--et-theme-color-on-primary-solid, white)}}et-switch[aria-checked=true]:active:not([aria-disabled=true]):not([data-readonly]) .et-switch-thumb{width:calc(var(--et-switch-thumb-size) + 3px);left:calc(var(--et-switch-track-width) - var(--et-switch-thumb-size) - 3px - var(--et-switch-thumb-offset))}et-switch[data-indeterminate] .et-switch-track{background-color:transparent;box-shadow:none}et-switch[data-indeterminate] .et-switch-track:before{content:\"\";position:absolute;inset:0;border-radius:inherit;border:1px dashed var(--et-theme-color-ink-solid, currentColor)}et-switch[data-indeterminate] .et-switch-thumb{left:calc((var(--et-switch-track-width) - (var(--et-switch-thumb-size) - 4px)) / 2);background-color:var(--et-theme-color-ink-solid, currentColor)}et-switch[data-can-animate] .et-switch-track{transition:background-color var(--et-switch-transition-duration) ease,box-shadow var(--et-switch-transition-duration) ease}et-switch[data-can-animate] .et-switch-thumb{transition:top var(--et-switch-transition-duration) ease,left var(--et-switch-transition-duration) ease,width var(--et-switch-transition-duration) ease,height var(--et-switch-transition-duration) ease,background-color var(--et-switch-transition-duration) ease}@media(prefers-reduced-motion:reduce){et-switch{--et-switch-transition-duration: 1ms}}}\n"]
78200
78324
  }]
78201
78325
  }]
78202
78326
  });
@@ -83829,7 +83953,7 @@ var NotificationComponent = class NotificationComponent {
83829
83953
  ],
83830
83954
  ngImport: i0,
83831
83955
  template: "<div class=\"et-notification-content\">\n <div class=\"et-notification-header\">\n @if (statusIcon(); as icon) {\n <i [etIcon]=\"icon\" class=\"et-notification-icon\"></i>\n } @else if (notification.isLoading()) {\n <et-spinner class=\"et-notification-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n\n <span class=\"et-notification-title\">{{ notification.title() }}</span>\n\n <button\n [color]=\"controlsColor()\"\n [attr.aria-label]=\"dismissLabel()\"\n class=\"et-notification-dismiss-btn\"\n et-icon-button\n etNotificationDismiss\n size=\"xs\"\n type=\"button\"\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </div>\n\n @if (notification.message()) {\n <p class=\"et-notification-message\">{{ notification.message() }}</p>\n }\n\n @if (notification.content(); as content) {\n <div class=\"et-notification-custom-content\">\n <ng-container *ngComponentOutlet=\"content.component; inputs: content.inputs\" />\n </div>\n }\n\n @if (notification.progress() !== undefined) {\n <et-progress-bar [value]=\"notification.progress()\" class=\"et-notification-progress-bar\" />\n }\n\n @if (notification.action() || notification.secondaryAction()) {\n <div class=\"et-notification-footer\">\n @if (notification.action(); as action) {\n <button et-text-button etNotificationAction size=\"xs\" type=\"button\">{{ action.label }}</button>\n }\n\n @if (notification.secondaryAction(); as secondaryAction) {\n <button\n class=\"et-notification-secondary-action\"\n et-text-button\n etNotificationAction=\"secondary\"\n size=\"xs\"\n type=\"button\"\n >\n {{ secondaryAction.label }}\n </button>\n }\n </div>\n }\n</div>\n",
83832
- styles: ["@layer components{@property --et-notification-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-padding{syntax: \"*\"; inherits: true; initial-value: 12px 12px 12px 14px;}@property --et-notification-min-width{syntax: \"<length>\"; inherits: true; initial-value: 300px;}@property --et-notification-max-width{syntax: \"<length>\"; inherits: true; initial-value: 420px;}@property --et-notification-shadow{syntax: \"*\"; inherits: true; initial-value: 0 4px 16px rgb(var(--et-shadow-color-rgb, 0 0 0) / 10%),0 0 0 1px rgb(var(--et-shadow-color-rgb, 0 0 0) / 5%);}@property --et-notification-border-width{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-notification-line-height{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-notification-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-notification-title-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-notification-message-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-notification-message-line-height{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-notification-message-opacity{syntax: \"<number>\"; inherits: true; initial-value: .65;}@property --et-notification-progress-bar-height{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-notification-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-notification{display:block;pointer-events:all;opacity:var(--_et-notification-swipe-opacity, 1);background:var(--et-surface-background-solid, #fff);color:var(--et-surface-color-solid, #111);border-radius:var(--et-notification-border-radius);padding:var(--et-notification-padding);box-shadow:var(--et-notification-shadow);min-width:var(--et-notification-min-width);max-width:var(--et-notification-max-width);border-inline-start:var(--et-notification-border-width) solid var(--et-theme-color-primary-solid, #d1d5db);font-family:inherit;font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height);--_et-notification-slide-x: 1rem;--_et-notification-dir-sign: 1}.et-notification:dir(rtl){--_et-notification-dir-sign: -1}.et-notification.et-animation-enter-from{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification.et-animation-enter-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-to{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification[data-swiped-away].et-animation-leave-to{transform:translate(var(--_et-notification-swipe-exit-x, 0px))!important;opacity:0}.et-notification-stack[data-position=bottom-start] .et-notification,.et-notification-stack[data-position=top-start] .et-notification{--_et-notification-slide-x: -1rem}.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-leave-to{transform:translateY(1rem)}.et-notification-stack[data-position=top-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=top-center] .et-notification.et-animation-leave-to{transform:translateY(-1rem)}.et-notification-header{display:flex;align-items:center;justify-content:space-between;gap:var(--et-notification-gap)}.et-notification-spinner{flex-shrink:0;--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}.et-notification-icon{flex-shrink:0;width:var(--et-notification-icon-size);height:var(--et-notification-icon-size);color:var(--et-theme-color-primary-solid, currentColor)}.et-notification-title{flex:1;font-weight:var(--et-notification-title-font-weight);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height)}.et-notification-dismiss-btn{flex-shrink:0;opacity:.4;transition:opacity .12s ease}@media(hover:hover){.et-notification-dismiss-btn:hover{opacity:.8}}.et-notification-message{margin:.4rem 0 0;color:var(--et-surface-color-muted-solid, inherit);opacity:var(--et-notification-message-opacity);font-size:var(--et-notification-message-font-size);line-height:var(--et-notification-message-line-height)}.et-notification-custom-content{margin-top:var(--et-notification-gap)}.et-notification-progress-bar{margin-top:.8rem;color:var(--et-theme-color-primary-solid, currentColor);--et-progress-bar-height: var(--et-notification-progress-bar-height)}.et-notification-footer{display:flex;align-items:center;gap:1.2rem;margin-top:.8rem}.et-notification .et-notification-secondary-action{color:var(--et-surface-color-muted-solid, inherit)}@media(max-width:480px){.et-notification{min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.et-notification.et-animation-enter-from{transform:none}.et-notification.et-animation-enter-active,.et-notification.et-animation-leave-active{transition:opacity .2s ease}.et-notification.et-animation-leave-to{transform:none}}}\n"],
83956
+ styles: ["@layer components{@property --et-notification-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-padding{syntax: \"*\"; inherits: true; initial-value: 12px 12px 12px 14px;}@property --et-notification-min-width{syntax: \"<length>\"; inherits: true; initial-value: 300px;}@property --et-notification-max-width{syntax: \"<length>\"; inherits: true; initial-value: 420px;}@property --et-notification-shadow{syntax: \"*\"; inherits: true; initial-value: 0 4px 16px rgb(var(--et-shadow-color-rgb, 0 0 0) / 10%),0 0 0 1px rgb(var(--et-shadow-color-rgb, 0 0 0) / 5%);}@property --et-notification-border-width{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-notification-line-height{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-notification-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-notification-title-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-notification-message-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-notification-message-line-height{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-notification-message-opacity{syntax: \"<number>\"; inherits: true; initial-value: .65;}@property --et-notification-progress-bar-height{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-notification-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-notification{display:block;pointer-events:all;opacity:var(--_et-notification-swipe-opacity, 1);background:var(--et-surface-background-solid, #fff);color:var(--et-surface-color-solid, #111);border-radius:var(--et-notification-border-radius);padding:var(--et-notification-padding);box-shadow:var(--et-notification-shadow);min-width:var(--et-notification-min-width);max-width:var(--et-notification-max-width);border-inline-start:var(--et-notification-border-width) solid var(--et-theme-color-primary-solid, #d1d5db);font-family:var(--et-font-family, inherit);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height);--_et-notification-slide-x: 1rem;--_et-notification-dir-sign: 1}.et-notification:dir(rtl){--_et-notification-dir-sign: -1}.et-notification.et-animation-enter-from{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification.et-animation-enter-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-to{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification[data-swiped-away].et-animation-leave-to{transform:translate(var(--_et-notification-swipe-exit-x, 0px))!important;opacity:0}.et-notification-stack[data-position=bottom-start] .et-notification,.et-notification-stack[data-position=top-start] .et-notification{--_et-notification-slide-x: -1rem}.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-leave-to{transform:translateY(1rem)}.et-notification-stack[data-position=top-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=top-center] .et-notification.et-animation-leave-to{transform:translateY(-1rem)}.et-notification-header{display:flex;align-items:center;justify-content:space-between;gap:var(--et-notification-gap)}.et-notification-spinner{flex-shrink:0;--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}.et-notification-icon{flex-shrink:0;width:var(--et-notification-icon-size);height:var(--et-notification-icon-size);color:var(--et-theme-color-primary-solid, currentColor)}.et-notification-title{flex:1;font-weight:var(--et-notification-title-font-weight);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height)}.et-notification-dismiss-btn{flex-shrink:0;opacity:.75;transition:opacity .12s ease}@media(hover:hover){.et-notification-dismiss-btn:hover{opacity:1}}.et-notification-message{margin:.4rem 0 0;color:var(--et-surface-color-muted-solid, inherit);opacity:var(--et-notification-message-opacity);font-size:var(--et-notification-message-font-size);line-height:var(--et-notification-message-line-height)}.et-notification-custom-content{margin-top:var(--et-notification-gap)}.et-notification-progress-bar{margin-top:.8rem;color:var(--et-theme-color-primary-solid, currentColor);--et-progress-bar-height: var(--et-notification-progress-bar-height)}.et-notification-footer{display:flex;align-items:center;gap:1.2rem;margin-top:.8rem}.et-notification .et-notification-secondary-action{color:var(--et-surface-color-muted-solid, inherit)}@media(max-width:480px){.et-notification{min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.et-notification.et-animation-enter-from{transform:none}.et-notification.et-animation-enter-active,.et-notification.et-animation-leave-active{transition:opacity .2s ease}.et-notification.et-animation-leave-to{transform:none}}}\n"],
83833
83957
  dependencies: [
83834
83958
  {
83835
83959
  kind: "directive",
@@ -83949,7 +84073,7 @@ i0.ɵɵngDeclareClassMetadata({
83949
84073
  "(focusout)": "notification.ref().resumeTimer(\"focus\")"
83950
84074
  },
83951
84075
  template: "<div class=\"et-notification-content\">\n <div class=\"et-notification-header\">\n @if (statusIcon(); as icon) {\n <i [etIcon]=\"icon\" class=\"et-notification-icon\"></i>\n } @else if (notification.isLoading()) {\n <et-spinner class=\"et-notification-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n\n <span class=\"et-notification-title\">{{ notification.title() }}</span>\n\n <button\n [color]=\"controlsColor()\"\n [attr.aria-label]=\"dismissLabel()\"\n class=\"et-notification-dismiss-btn\"\n et-icon-button\n etNotificationDismiss\n size=\"xs\"\n type=\"button\"\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </div>\n\n @if (notification.message()) {\n <p class=\"et-notification-message\">{{ notification.message() }}</p>\n }\n\n @if (notification.content(); as content) {\n <div class=\"et-notification-custom-content\">\n <ng-container *ngComponentOutlet=\"content.component; inputs: content.inputs\" />\n </div>\n }\n\n @if (notification.progress() !== undefined) {\n <et-progress-bar [value]=\"notification.progress()\" class=\"et-notification-progress-bar\" />\n }\n\n @if (notification.action() || notification.secondaryAction()) {\n <div class=\"et-notification-footer\">\n @if (notification.action(); as action) {\n <button et-text-button etNotificationAction size=\"xs\" type=\"button\">{{ action.label }}</button>\n }\n\n @if (notification.secondaryAction(); as secondaryAction) {\n <button\n class=\"et-notification-secondary-action\"\n et-text-button\n etNotificationAction=\"secondary\"\n size=\"xs\"\n type=\"button\"\n >\n {{ secondaryAction.label }}\n </button>\n }\n </div>\n }\n</div>\n",
83952
- styles: ["@layer components{@property --et-notification-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-padding{syntax: \"*\"; inherits: true; initial-value: 12px 12px 12px 14px;}@property --et-notification-min-width{syntax: \"<length>\"; inherits: true; initial-value: 300px;}@property --et-notification-max-width{syntax: \"<length>\"; inherits: true; initial-value: 420px;}@property --et-notification-shadow{syntax: \"*\"; inherits: true; initial-value: 0 4px 16px rgb(var(--et-shadow-color-rgb, 0 0 0) / 10%),0 0 0 1px rgb(var(--et-shadow-color-rgb, 0 0 0) / 5%);}@property --et-notification-border-width{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-notification-line-height{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-notification-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-notification-title-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-notification-message-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-notification-message-line-height{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-notification-message-opacity{syntax: \"<number>\"; inherits: true; initial-value: .65;}@property --et-notification-progress-bar-height{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-notification-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-notification{display:block;pointer-events:all;opacity:var(--_et-notification-swipe-opacity, 1);background:var(--et-surface-background-solid, #fff);color:var(--et-surface-color-solid, #111);border-radius:var(--et-notification-border-radius);padding:var(--et-notification-padding);box-shadow:var(--et-notification-shadow);min-width:var(--et-notification-min-width);max-width:var(--et-notification-max-width);border-inline-start:var(--et-notification-border-width) solid var(--et-theme-color-primary-solid, #d1d5db);font-family:inherit;font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height);--_et-notification-slide-x: 1rem;--_et-notification-dir-sign: 1}.et-notification:dir(rtl){--_et-notification-dir-sign: -1}.et-notification.et-animation-enter-from{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification.et-animation-enter-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-to{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification[data-swiped-away].et-animation-leave-to{transform:translate(var(--_et-notification-swipe-exit-x, 0px))!important;opacity:0}.et-notification-stack[data-position=bottom-start] .et-notification,.et-notification-stack[data-position=top-start] .et-notification{--_et-notification-slide-x: -1rem}.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-leave-to{transform:translateY(1rem)}.et-notification-stack[data-position=top-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=top-center] .et-notification.et-animation-leave-to{transform:translateY(-1rem)}.et-notification-header{display:flex;align-items:center;justify-content:space-between;gap:var(--et-notification-gap)}.et-notification-spinner{flex-shrink:0;--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}.et-notification-icon{flex-shrink:0;width:var(--et-notification-icon-size);height:var(--et-notification-icon-size);color:var(--et-theme-color-primary-solid, currentColor)}.et-notification-title{flex:1;font-weight:var(--et-notification-title-font-weight);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height)}.et-notification-dismiss-btn{flex-shrink:0;opacity:.4;transition:opacity .12s ease}@media(hover:hover){.et-notification-dismiss-btn:hover{opacity:.8}}.et-notification-message{margin:.4rem 0 0;color:var(--et-surface-color-muted-solid, inherit);opacity:var(--et-notification-message-opacity);font-size:var(--et-notification-message-font-size);line-height:var(--et-notification-message-line-height)}.et-notification-custom-content{margin-top:var(--et-notification-gap)}.et-notification-progress-bar{margin-top:.8rem;color:var(--et-theme-color-primary-solid, currentColor);--et-progress-bar-height: var(--et-notification-progress-bar-height)}.et-notification-footer{display:flex;align-items:center;gap:1.2rem;margin-top:.8rem}.et-notification .et-notification-secondary-action{color:var(--et-surface-color-muted-solid, inherit)}@media(max-width:480px){.et-notification{min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.et-notification.et-animation-enter-from{transform:none}.et-notification.et-animation-enter-active,.et-notification.et-animation-leave-active{transition:opacity .2s ease}.et-notification.et-animation-leave-to{transform:none}}}\n"]
84076
+ styles: ["@layer components{@property --et-notification-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-padding{syntax: \"*\"; inherits: true; initial-value: 12px 12px 12px 14px;}@property --et-notification-min-width{syntax: \"<length>\"; inherits: true; initial-value: 300px;}@property --et-notification-max-width{syntax: \"<length>\"; inherits: true; initial-value: 420px;}@property --et-notification-shadow{syntax: \"*\"; inherits: true; initial-value: 0 4px 16px rgb(var(--et-shadow-color-rgb, 0 0 0) / 10%),0 0 0 1px rgb(var(--et-shadow-color-rgb, 0 0 0) / 5%);}@property --et-notification-border-width{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-notification-line-height{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-notification-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-notification-title-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-notification-message-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-notification-message-line-height{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-notification-message-opacity{syntax: \"<number>\"; inherits: true; initial-value: .65;}@property --et-notification-progress-bar-height{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-notification-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-notification{display:block;pointer-events:all;opacity:var(--_et-notification-swipe-opacity, 1);background:var(--et-surface-background-solid, #fff);color:var(--et-surface-color-solid, #111);border-radius:var(--et-notification-border-radius);padding:var(--et-notification-padding);box-shadow:var(--et-notification-shadow);min-width:var(--et-notification-min-width);max-width:var(--et-notification-max-width);border-inline-start:var(--et-notification-border-width) solid var(--et-theme-color-primary-solid, #d1d5db);font-family:var(--et-font-family, inherit);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height);--_et-notification-slide-x: 1rem;--_et-notification-dir-sign: 1}.et-notification:dir(rtl){--_et-notification-dir-sign: -1}.et-notification.et-animation-enter-from{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification.et-animation-enter-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-to{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification[data-swiped-away].et-animation-leave-to{transform:translate(var(--_et-notification-swipe-exit-x, 0px))!important;opacity:0}.et-notification-stack[data-position=bottom-start] .et-notification,.et-notification-stack[data-position=top-start] .et-notification{--_et-notification-slide-x: -1rem}.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-leave-to{transform:translateY(1rem)}.et-notification-stack[data-position=top-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=top-center] .et-notification.et-animation-leave-to{transform:translateY(-1rem)}.et-notification-header{display:flex;align-items:center;justify-content:space-between;gap:var(--et-notification-gap)}.et-notification-spinner{flex-shrink:0;--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}.et-notification-icon{flex-shrink:0;width:var(--et-notification-icon-size);height:var(--et-notification-icon-size);color:var(--et-theme-color-primary-solid, currentColor)}.et-notification-title{flex:1;font-weight:var(--et-notification-title-font-weight);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height)}.et-notification-dismiss-btn{flex-shrink:0;opacity:.75;transition:opacity .12s ease}@media(hover:hover){.et-notification-dismiss-btn:hover{opacity:1}}.et-notification-message{margin:.4rem 0 0;color:var(--et-surface-color-muted-solid, inherit);opacity:var(--et-notification-message-opacity);font-size:var(--et-notification-message-font-size);line-height:var(--et-notification-message-line-height)}.et-notification-custom-content{margin-top:var(--et-notification-gap)}.et-notification-progress-bar{margin-top:.8rem;color:var(--et-theme-color-primary-solid, currentColor);--et-progress-bar-height: var(--et-notification-progress-bar-height)}.et-notification-footer{display:flex;align-items:center;gap:1.2rem;margin-top:.8rem}.et-notification .et-notification-secondary-action{color:var(--et-surface-color-muted-solid, inherit)}@media(max-width:480px){.et-notification{min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.et-notification.et-animation-enter-from{transform:none}.et-notification.et-animation-enter-active,.et-notification.et-animation-leave-active{transition:opacity .2s ease}.et-notification.et-animation-leave-to{transform:none}}}\n"]
83953
84077
  }]
83954
84078
  }],
83955
84079
  ctorParameters: () => []
@@ -85153,7 +85277,8 @@ var PaginationComponent = class PaginationComponent {
85153
85277
  inputs: [
85154
85278
  "variant",
85155
85279
  "size",
85156
- "iconAlignment"
85280
+ "iconAlignment",
85281
+ "stretchContents"
85157
85282
  ]
85158
85283
  },
85159
85284
  {
@@ -85463,10 +85588,10 @@ var ProgressStepComponent = class ProgressStepComponent {
85463
85588
  this.semanticThemes = injectSemanticThemes();
85464
85589
  this.labels = injectProgressStepLabels();
85465
85590
  this.elementRef = inject(ElementRef);
85466
- this.state = input(PROGRESS_STEP_STATES.UPCOMING, ...ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []);
85591
+ this.stepState = input(PROGRESS_STEP_STATES.UPCOMING, ...ngDevMode ? [{ debugName: "stepState" }] : /* istanbul ignore next */ []);
85467
85592
  this.role = INTERACTIVE_HOSTS.has(this.elementRef.nativeElement.nodeName) ? null : "listitem";
85468
85593
  this.currentSource = signal(null, ...ngDevMode ? [{ debugName: "currentSource" }] : /* istanbul ignore next */ []);
85469
- this.resolvedState = computed(() => this.currentSource()?.() ? PROGRESS_STEP_STATES.CURRENT : this.state(), ...ngDevMode ? [{ debugName: "resolvedState" }] : /* istanbul ignore next */ []);
85594
+ this.resolvedState = computed(() => this.currentSource()?.() ? PROGRESS_STEP_STATES.CURRENT : this.stepState(), ...ngDevMode ? [{ debugName: "resolvedState" }] : /* istanbul ignore next */ []);
85470
85595
  this.markerIcon = computed(() => STATE_ICONS[this.resolvedState()] ?? null, ...ngDevMode ? [{ debugName: "markerIcon" }] : /* istanbul ignore next */ []);
85471
85596
  this.stateLabel = computed(() => {
85472
85597
  const state = this.resolvedState();
@@ -85504,9 +85629,9 @@ var ProgressStepComponent = class ProgressStepComponent {
85504
85629
  type: ProgressStepComponent,
85505
85630
  isStandalone: true,
85506
85631
  selector: "et-progress-step, [et-progress-step]",
85507
- inputs: { state: {
85508
- classPropertyName: "state",
85509
- publicName: "state",
85632
+ inputs: { stepState: {
85633
+ classPropertyName: "stepState",
85634
+ publicName: "stepState",
85510
85635
  isSignal: true,
85511
85636
  isRequired: false,
85512
85637
  transformFunction: null
@@ -85563,11 +85688,11 @@ i0.ɵɵngDeclareClassMetadata({
85563
85688
  }]
85564
85689
  }],
85565
85690
  ctorParameters: () => [],
85566
- propDecorators: { state: [{
85691
+ propDecorators: { stepState: [{
85567
85692
  type: i0.Input,
85568
85693
  args: [{
85569
85694
  isSignal: true,
85570
- alias: "state",
85695
+ alias: "stepState",
85571
85696
  required: false
85572
85697
  }]
85573
85698
  }] }
@@ -86078,7 +86203,8 @@ var QueryErrorComponent = class QueryErrorComponent {
86078
86203
  inputs: [
86079
86204
  "variant",
86080
86205
  "size",
86081
- "iconAlignment"
86206
+ "iconAlignment",
86207
+ "stretchContents"
86082
86208
  ]
86083
86209
  },
86084
86210
  {
@@ -89229,7 +89355,8 @@ var SchedulerEditSurfaceFooterComponent = class SchedulerEditSurfaceFooterCompon
89229
89355
  inputs: [
89230
89356
  "variant",
89231
89357
  "size",
89232
- "iconAlignment"
89358
+ "iconAlignment",
89359
+ "stretchContents"
89233
89360
  ]
89234
89361
  }, {
89235
89362
  kind: "directive",
@@ -90320,7 +90447,7 @@ var SchedulerMonthViewComponent = class SchedulerMonthViewComponent {
90320
90447
  ],
90321
90448
  hostDirectives: [{ directive: SchedulerMonthDirective }],
90322
90449
  ngImport: i0,
90323
- template: "<div class=\"et-scheduler-month-view-weekdays\" role=\"row\">\n @for (weekday of weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-scheduler-month-view-weekday\" role=\"columnheader\">{{\n weekday.short\n }}</span>\n }\n</div>\n\n<div #weeks (pointerdown)=\"startDraftRange($event, weeks)\" class=\"et-scheduler-month-view-weeks\" role=\"rowgroup\">\n <div #draftAnchor class=\"et-scheduler-month-view-draft-anchor\" aria-hidden=\"true\"></div>\n\n @for (week of month.weeks(); track $index) {\n <div #weekRow class=\"et-scheduler-month-view-week\" role=\"row\">\n @for (cell of week; track cell.date.getTime()) {\n <div\n #cell\n [attr.data-outside-month]=\"cell.outsideMonth ? '' : null\"\n [attr.data-today]=\"cell.today ? '' : null\"\n [attr.aria-current]=\"cell.today ? 'date' : null\"\n [attr.data-draft]=\"isDrafted(cell.date) ? '' : null\"\n [attr.data-drop-target]=\"isDropTarget(cell.date) ? '' : null\"\n [attr.tabindex]=\"isFocused(cell.date) ? 0 : -1\"\n (focus)=\"focusedDate.set(cell.date)\"\n class=\"et-scheduler-month-view-cell\"\n role=\"gridcell\"\n >\n <span class=\"et-scheduler-month-view-cell-date\" aria-hidden=\"true\">{{ cell.date.getDate() }}</span>\n <span class=\"et-visually-hidden et-scheduler-month-view-cell-label\">{{ dayLabel(cell.date) }}</span>\n\n <!-- pointerdown is stopped on everything interactive below so a press that starts on an\n appointment or the overflow trigger does not also draw a range across the grid -->\n <div class=\"et-scheduler-month-view-cell-appointments\">\n @for (node of cell.visible; track node.appointment.id) {\n <button\n #appointmentButton\n #cellItem\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(node.appointment) ? '' : null\"\n [attr.title]=\"node.appointment.title\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment, appointmentButton)\"\n (pointerdown)=\"startAppointmentDrag($event, { appointment: node.appointment, weeks })\"\n class=\"et-scheduler-appointment\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node }; injector: adornment.injector\"\n />\n }\n </button>\n }\n\n @if (cell.overflow.length > 0) {\n <div class=\"et-scheduler-month-view-overflow\" etMenu>\n <button\n #cellItem\n (pointerdown)=\"$event.stopPropagation()\"\n class=\"et-scheduler-month-view-overflow-trigger\"\n etMenuTrigger\n type=\"button\"\n tabindex=\"-1\"\n >\n {{ labels().moreAppointments(cell.overflow.length) }}\n </button>\n\n <ng-template etMenuSurface>\n <et-menu>\n @for (node of cell.overflow; track node.appointment.id) {\n <button\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment)\"\n et-menu-item\n type=\"button\"\n >\n {{ node.appointment.title }}\n </button>\n }\n </et-menu>\n </ng-template>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</div>\n",
90450
+ template: "<div class=\"et-scheduler-month-view-weekdays\" role=\"row\">\n @for (weekday of weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-scheduler-month-view-weekday\" role=\"columnheader\">{{\n weekday.short\n }}</span>\n }\n</div>\n\n<div #weeks (pointerdown)=\"startDraftRange($event, weeks)\" class=\"et-scheduler-month-view-weeks\" role=\"rowgroup\">\n <div #draftAnchor class=\"et-scheduler-month-view-draft-anchor\" aria-hidden=\"true\"></div>\n\n @for (week of month.weeks(); track $index) {\n <div #weekRow class=\"et-scheduler-month-view-week\" role=\"row\">\n @for (cell of week; track cell.date.getTime()) {\n <div\n #cell\n [attr.data-outside-month]=\"cell.outsideMonth ? '' : null\"\n [attr.data-today]=\"cell.today ? '' : null\"\n [attr.aria-current]=\"cell.today ? 'date' : null\"\n [attr.data-draft]=\"isDrafted(cell.date) ? '' : null\"\n [attr.data-drop-target]=\"isDropTarget(cell.date) ? '' : null\"\n [attr.tabindex]=\"isFocused(cell.date) ? 0 : -1\"\n (focus)=\"focusedDate.set(cell.date)\"\n class=\"et-scheduler-month-view-cell\"\n role=\"gridcell\"\n >\n <span class=\"et-scheduler-month-view-cell-date\" aria-hidden=\"true\">{{ cell.date.getDate() }}</span>\n <span class=\"et-visually-hidden et-scheduler-month-view-cell-label\">{{ dayLabel(cell.date) }}</span>\n\n <!-- pointerdown is stopped on everything interactive below so a press that starts on an\n appointment or the overflow trigger does not also draw a range across the grid -->\n <div class=\"et-scheduler-month-view-cell-appointments\">\n @for (node of cell.visible; track node.appointment.id) {\n <button\n #appointmentButton\n #cellItem\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(node.appointment) ? '' : null\"\n [attr.title]=\"node.appointment.title\"\n [attr.aria-label]=\"node.appointment.title\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment, appointmentButton)\"\n (pointerdown)=\"startAppointmentDrag($event, { appointment: node.appointment, weeks })\"\n class=\"et-scheduler-appointment\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node }; injector: adornment.injector\"\n />\n }\n </button>\n }\n\n @if (cell.overflow.length > 0) {\n <div class=\"et-scheduler-month-view-overflow\" etMenu>\n <button\n #cellItem\n (pointerdown)=\"$event.stopPropagation()\"\n class=\"et-scheduler-month-view-overflow-trigger\"\n etMenuTrigger\n type=\"button\"\n tabindex=\"-1\"\n >\n {{ labels().moreAppointments(cell.overflow.length) }}\n </button>\n\n <ng-template etMenuSurface>\n <et-menu>\n @for (node of cell.overflow; track node.appointment.id) {\n <button\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment)\"\n et-menu-item\n type=\"button\"\n >\n {{ node.appointment.title }}\n </button>\n }\n </et-menu>\n </ng-template>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</div>\n",
90324
90451
  styles: ["@layer components{@property --et-scheduler-month-view-cell-min-size{syntax: \"<length>\"; inherits: true; initial-value: 96px;}.et-scheduler-month-view{display:flex;flex-direction:column}.et-scheduler-month-view-weekdays,.et-scheduler-month-view-week{display:grid;grid-template-columns:repeat(7,1fr)}.et-scheduler-month-view-weekday{padding-block:6px;text-align:center;font-size:12px;font-weight:600;color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-weeks{position:relative;display:flex;flex-direction:column;flex:1;border-inline-start:1px solid var(--et-surface-border-solid);border-block-start:1px solid var(--et-surface-border-solid)}.et-scheduler-month-view-draft-anchor{position:absolute;pointer-events:none}.et-scheduler-month-view-week{flex:1;min-block-size:var(--et-scheduler-month-view-cell-min-size)}.et-scheduler-month-view-cell{display:flex;flex-direction:column;gap:2px;min-inline-size:0;padding:4px;overflow:hidden;border-inline-end:1px solid var(--et-surface-border-solid);border-block-end:1px solid var(--et-surface-border-solid);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.et-scheduler-month-view-cell:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:-2px}.et-scheduler-month-view-cell:where([data-draft],[data-drop-target]){background:color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent);box-shadow:inset 0 0 0 1px var(--et-theme-color-primary-solid)}.et-scheduler-month-view-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-cell:where([data-outside-month]) .et-scheduler-month-view-cell-date{color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-cell-date{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;inline-size:22px;block-size:22px;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--et-surface-color-solid)}.et-scheduler-month-view-cell:where([data-today]) .et-scheduler-month-view-cell-date{background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary);font-weight:600}.et-scheduler-month-view-cell-appointments{display:flex;flex-direction:column;min-block-size:0;min-inline-size:0;gap:2px;overflow:hidden}.et-scheduler-month-view-cell-appointments .et-scheduler-appointment{gap:4px;min-inline-size:0;padding:2px 4px}.et-scheduler-month-view-cell-appointments .et-scheduler-appointment .et-scheduler-appointment-dot,.et-scheduler-month-view-cell-appointments .et-scheduler-appointment .et-scheduler-appointment-location{display:none}.et-scheduler-month-view-overflow-trigger{padding:2px 6px;border:none;background:transparent;color:var(--et-surface-color-muted-solid);font:inherit;font-size:12px;font-weight:500;text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-scheduler-month-view-overflow-trigger:hover{color:var(--et-surface-color-solid)}}.et-scheduler-month-view-overflow-trigger:focus-visible{border-radius:4px;outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}}\n"],
90325
90452
  dependencies: [
90326
90453
  {
@@ -90414,7 +90541,7 @@ i0.ɵɵngDeclareClassMetadata({
90414
90541
  role: "grid",
90415
90542
  "(keydown)": "handleKeydown($event)"
90416
90543
  },
90417
- template: "<div class=\"et-scheduler-month-view-weekdays\" role=\"row\">\n @for (weekday of weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-scheduler-month-view-weekday\" role=\"columnheader\">{{\n weekday.short\n }}</span>\n }\n</div>\n\n<div #weeks (pointerdown)=\"startDraftRange($event, weeks)\" class=\"et-scheduler-month-view-weeks\" role=\"rowgroup\">\n <div #draftAnchor class=\"et-scheduler-month-view-draft-anchor\" aria-hidden=\"true\"></div>\n\n @for (week of month.weeks(); track $index) {\n <div #weekRow class=\"et-scheduler-month-view-week\" role=\"row\">\n @for (cell of week; track cell.date.getTime()) {\n <div\n #cell\n [attr.data-outside-month]=\"cell.outsideMonth ? '' : null\"\n [attr.data-today]=\"cell.today ? '' : null\"\n [attr.aria-current]=\"cell.today ? 'date' : null\"\n [attr.data-draft]=\"isDrafted(cell.date) ? '' : null\"\n [attr.data-drop-target]=\"isDropTarget(cell.date) ? '' : null\"\n [attr.tabindex]=\"isFocused(cell.date) ? 0 : -1\"\n (focus)=\"focusedDate.set(cell.date)\"\n class=\"et-scheduler-month-view-cell\"\n role=\"gridcell\"\n >\n <span class=\"et-scheduler-month-view-cell-date\" aria-hidden=\"true\">{{ cell.date.getDate() }}</span>\n <span class=\"et-visually-hidden et-scheduler-month-view-cell-label\">{{ dayLabel(cell.date) }}</span>\n\n <!-- pointerdown is stopped on everything interactive below so a press that starts on an\n appointment or the overflow trigger does not also draw a range across the grid -->\n <div class=\"et-scheduler-month-view-cell-appointments\">\n @for (node of cell.visible; track node.appointment.id) {\n <button\n #appointmentButton\n #cellItem\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(node.appointment) ? '' : null\"\n [attr.title]=\"node.appointment.title\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment, appointmentButton)\"\n (pointerdown)=\"startAppointmentDrag($event, { appointment: node.appointment, weeks })\"\n class=\"et-scheduler-appointment\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node }; injector: adornment.injector\"\n />\n }\n </button>\n }\n\n @if (cell.overflow.length > 0) {\n <div class=\"et-scheduler-month-view-overflow\" etMenu>\n <button\n #cellItem\n (pointerdown)=\"$event.stopPropagation()\"\n class=\"et-scheduler-month-view-overflow-trigger\"\n etMenuTrigger\n type=\"button\"\n tabindex=\"-1\"\n >\n {{ labels().moreAppointments(cell.overflow.length) }}\n </button>\n\n <ng-template etMenuSurface>\n <et-menu>\n @for (node of cell.overflow; track node.appointment.id) {\n <button\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment)\"\n et-menu-item\n type=\"button\"\n >\n {{ node.appointment.title }}\n </button>\n }\n </et-menu>\n </ng-template>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</div>\n",
90544
+ template: "<div class=\"et-scheduler-month-view-weekdays\" role=\"row\">\n @for (weekday of weekdays(); track weekday.long) {\n <span [attr.aria-label]=\"weekday.long\" class=\"et-scheduler-month-view-weekday\" role=\"columnheader\">{{\n weekday.short\n }}</span>\n }\n</div>\n\n<div #weeks (pointerdown)=\"startDraftRange($event, weeks)\" class=\"et-scheduler-month-view-weeks\" role=\"rowgroup\">\n <div #draftAnchor class=\"et-scheduler-month-view-draft-anchor\" aria-hidden=\"true\"></div>\n\n @for (week of month.weeks(); track $index) {\n <div #weekRow class=\"et-scheduler-month-view-week\" role=\"row\">\n @for (cell of week; track cell.date.getTime()) {\n <div\n #cell\n [attr.data-outside-month]=\"cell.outsideMonth ? '' : null\"\n [attr.data-today]=\"cell.today ? '' : null\"\n [attr.aria-current]=\"cell.today ? 'date' : null\"\n [attr.data-draft]=\"isDrafted(cell.date) ? '' : null\"\n [attr.data-drop-target]=\"isDropTarget(cell.date) ? '' : null\"\n [attr.tabindex]=\"isFocused(cell.date) ? 0 : -1\"\n (focus)=\"focusedDate.set(cell.date)\"\n class=\"et-scheduler-month-view-cell\"\n role=\"gridcell\"\n >\n <span class=\"et-scheduler-month-view-cell-date\" aria-hidden=\"true\">{{ cell.date.getDate() }}</span>\n <span class=\"et-visually-hidden et-scheduler-month-view-cell-label\">{{ dayLabel(cell.date) }}</span>\n\n <!-- pointerdown is stopped on everything interactive below so a press that starts on an\n appointment or the overflow trigger does not also draw a range across the grid -->\n <div class=\"et-scheduler-month-view-cell-appointments\">\n @for (node of cell.visible; track node.appointment.id) {\n <button\n #appointmentButton\n #cellItem\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(node.appointment) ? '' : null\"\n [attr.title]=\"node.appointment.title\"\n [attr.aria-label]=\"node.appointment.title\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment, appointmentButton)\"\n (pointerdown)=\"startAppointmentDrag($event, { appointment: node.appointment, weeks })\"\n class=\"et-scheduler-appointment\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node }; injector: adornment.injector\"\n />\n }\n </button>\n }\n\n @if (cell.overflow.length > 0) {\n <div class=\"et-scheduler-month-view-overflow\" etMenu>\n <button\n #cellItem\n (pointerdown)=\"$event.stopPropagation()\"\n class=\"et-scheduler-month-view-overflow-trigger\"\n etMenuTrigger\n type=\"button\"\n tabindex=\"-1\"\n >\n {{ labels().moreAppointments(cell.overflow.length) }}\n </button>\n\n <ng-template etMenuSurface>\n <et-menu>\n @for (node of cell.overflow; track node.appointment.id) {\n <button\n [attr.data-selected]=\"isSelected(node.appointment) ? '' : null\"\n [etProvideColor]=\"node.appointment.colorToken ?? null\"\n (click)=\"select(node.appointment)\"\n et-menu-item\n type=\"button\"\n >\n {{ node.appointment.title }}\n </button>\n }\n </et-menu>\n </ng-template>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n</div>\n",
90418
90545
  styles: ["@layer components{@property --et-scheduler-month-view-cell-min-size{syntax: \"<length>\"; inherits: true; initial-value: 96px;}.et-scheduler-month-view{display:flex;flex-direction:column}.et-scheduler-month-view-weekdays,.et-scheduler-month-view-week{display:grid;grid-template-columns:repeat(7,1fr)}.et-scheduler-month-view-weekday{padding-block:6px;text-align:center;font-size:12px;font-weight:600;color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-weeks{position:relative;display:flex;flex-direction:column;flex:1;border-inline-start:1px solid var(--et-surface-border-solid);border-block-start:1px solid var(--et-surface-border-solid)}.et-scheduler-month-view-draft-anchor{position:absolute;pointer-events:none}.et-scheduler-month-view-week{flex:1;min-block-size:var(--et-scheduler-month-view-cell-min-size)}.et-scheduler-month-view-cell{display:flex;flex-direction:column;gap:2px;min-inline-size:0;padding:4px;overflow:hidden;border-inline-end:1px solid var(--et-surface-border-solid);border-block-end:1px solid var(--et-surface-border-solid);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.et-scheduler-month-view-cell:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:-2px}.et-scheduler-month-view-cell:where([data-draft],[data-drop-target]){background:color-mix(in srgb,var(--et-theme-color-primary-solid) 12%,transparent);box-shadow:inset 0 0 0 1px var(--et-theme-color-primary-solid)}.et-scheduler-month-view-cell:where([data-outside-month]){color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-cell:where([data-outside-month]) .et-scheduler-month-view-cell-date{color:var(--et-surface-color-muted-solid)}.et-scheduler-month-view-cell-date{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;inline-size:22px;block-size:22px;border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--et-surface-color-solid)}.et-scheduler-month-view-cell:where([data-today]) .et-scheduler-month-view-cell-date{background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary);font-weight:600}.et-scheduler-month-view-cell-appointments{display:flex;flex-direction:column;min-block-size:0;min-inline-size:0;gap:2px;overflow:hidden}.et-scheduler-month-view-cell-appointments .et-scheduler-appointment{gap:4px;min-inline-size:0;padding:2px 4px}.et-scheduler-month-view-cell-appointments .et-scheduler-appointment .et-scheduler-appointment-dot,.et-scheduler-month-view-cell-appointments .et-scheduler-appointment .et-scheduler-appointment-location{display:none}.et-scheduler-month-view-overflow-trigger{padding:2px 6px;border:none;background:transparent;color:var(--et-surface-color-muted-solid);font:inherit;font-size:12px;font-weight:500;text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(hover:hover){.et-scheduler-month-view-overflow-trigger:hover{color:var(--et-surface-color-solid)}}.et-scheduler-month-view-overflow-trigger:focus-visible{border-radius:4px;outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}}\n"]
90419
90546
  }]
90420
90547
  }],
@@ -90912,7 +91039,7 @@ var SchedulerTimeGridViewComponent = class SchedulerTimeGridViewComponent {
90912
91039
  ],
90913
91040
  hostDirectives: [{ directive: SchedulerTimeGridDirective }],
90914
91041
  ngImport: i0,
90915
- template: "<div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-header\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (day of grid.days(); track day.date.getTime()) {\n <div [attr.data-today]=\"day.today ? '' : null\" class=\"et-scheduler-time-grid-header-day\" role=\"columnheader\">\n <span class=\"et-scheduler-time-grid-header-weekday\">{{ weekdayLabel(day.date) }}</span>\n <span class=\"et-scheduler-time-grid-header-date\">{{ day.date.getDate() }}</span>\n </div>\n }\n </div>\n</div>\n\n@if (grid.allDayRowCount() > 0) {\n <div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-all-day\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div\n #allDayLane\n [style.--_et-scheduler-time-grid-all-day-row-count]=\"grid.allDayRowCount()\"\n class=\"et-scheduler-time-grid-all-day-lane\"\n role=\"presentation\"\n >\n @for (cell of allDayCells(); track cell.date.getTime(); let dayIndex = $index) {\n <div\n #allDayCell\n [attr.aria-label]=\"cell.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, 0)\"\n (focus)=\"focusedSlot.set({ day: cell.date, row: 0 })\"\n class=\"et-scheduler-time-grid-all-day-cell\"\n role=\"gridcell\"\n >\n @for (entry of cell.entries; track entry.node.appointment.id) {\n <button\n #appointmentButton\n #allDayItem\n [style.--_et-scheduler-time-grid-all-day-offset]=\"entry.inlineOffset\"\n [style.--_et-scheduler-time-grid-all-day-size]=\"entry.inlineSize\"\n [style.--_et-scheduler-time-grid-all-day-row]=\"entry.row\"\n [attr.data-selected]=\"isSelected(entry.node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(entry.node.appointment) ? '' : null\"\n [attr.title]=\"entry.node.appointment.title\"\n [etProvideColor]=\"entry.node.appointment.colorToken ?? null\"\n (click)=\"select(entry.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAllDayDrag($event, { appointment: entry.node.appointment, mode: 'move', lane: allDayLane })\n \"\n class=\"et-scheduler-appointment et-scheduler-time-grid-all-day-entry\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node: entry.node }; injector: adornment.injector\"\n />\n }\n\n @if (canDragAppointments() && startsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-start',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-end',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n<div class=\"et-scheduler-time-grid-body-wrap\" role=\"presentation\">\n <div #timeGridBody class=\"et-scheduler-time-grid-row et-scheduler-time-grid-body\" role=\"rowgroup\">\n @for (hour of hours(); track hour.hour) {\n <div [attr.aria-owns]=\"hourRowOwns(hour.hour)\" class=\"et-scheduler-time-grid-hour-aria-row\" role=\"row\"></div>\n }\n\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\">\n @for (hour of hours(); track hour.hour) {\n <div #hourRow class=\"et-scheduler-time-grid-hour-row\">\n <span class=\"et-scheduler-time-grid-hour-label\">{{ hour.label }}</span>\n </div>\n }\n </div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (column of columns(); track column.day.date.getTime(); let dayIndex = $index) {\n @let day = column.day;\n <div\n #dayColumn\n [attr.data-today]=\"day.today ? '' : null\"\n (pointerdown)=\"startDraftRange($event, { element: dayColumn, day: day.date })\"\n class=\"et-scheduler-time-grid-day\"\n role=\"presentation\"\n >\n @for (segment of grid.nonBusinessTime()[dayIndex]; track segment.offset) {\n <div\n [style.--_et-scheduler-time-grid-block-offset]=\"segment.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"segment.span\"\n class=\"et-scheduler-time-grid-non-business\"\n role=\"presentation\"\n ></div>\n }\n\n @if (grid.currentTime(); as currentTime) {\n @if (currentTime.dayIndex === dayIndex) {\n <div\n [style.--_et-scheduler-time-grid-now-offset]=\"currentTime.offset\"\n class=\"et-scheduler-time-grid-now\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @if (grid.draftBlock(); as draft) {\n @if (draft.dayIndex === dayIndex) {\n <div\n #draftBlock\n [style.--_et-scheduler-time-grid-block-offset]=\"draft.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"draft.span\"\n [attr.data-committed]=\"draft.phase === 'committed' ? '' : null\"\n class=\"et-scheduler-time-grid-draft\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @for (slot of column.slots; track slot.hour) {\n <div\n #slotCell\n [id]=\"slotId(dayIndex, slot.hour)\"\n [attr.aria-label]=\"slot.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, slot.hour + 1)\"\n (focus)=\"focusedSlot.set({ day: day.date, row: slot.hour + 1 })\"\n class=\"et-scheduler-time-grid-hour-row et-scheduler-time-grid-slot\"\n role=\"gridcell\"\n >\n <!-- a block's own pointerdown moves it and stops there, so a press that starts on an\n appointment never reaches the column's drag-to-create underneath it -->\n @for (block of slot.blocks; track block.node.appointment.id) {\n <button\n #appointmentButton\n #slotItem\n [style.--_et-scheduler-time-grid-block-offset]=\"block.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"block.span\"\n [style.--_et-scheduler-time-grid-block-inline-offset]=\"block.inlineOffset\"\n [style.--_et-scheduler-time-grid-block-inline-size]=\"block.inlineSize\"\n [style.--_et-scheduler-time-grid-block-depth]=\"block.node.depth\"\n [attr.data-selected]=\"isSelected(block.node.appointment) ? '' : null\"\n [attr.data-nested]=\"block.node.depth > 0 ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(block.node.appointment) ? '' : null\"\n [attr.title]=\"block.node.appointment.title\"\n [etProvideColor]=\"block.node.appointment.colorToken ?? null\"\n (click)=\"select(block.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'move',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n adornment.component;\n inputs: { node: block.node };\n injector: adornment.injector\n \"\n />\n }\n\n @if (canDragAppointments() && startsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-start',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-end',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <et-scrollbar [for]=\"timeGridBody\" autoHide aria-hidden=\"true\" />\n</div>\n",
91042
+ template: "<div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-header\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (day of grid.days(); track day.date.getTime()) {\n <div [attr.data-today]=\"day.today ? '' : null\" class=\"et-scheduler-time-grid-header-day\" role=\"columnheader\">\n <span class=\"et-scheduler-time-grid-header-weekday\">{{ weekdayLabel(day.date) }}</span>\n <span class=\"et-scheduler-time-grid-header-date\">{{ day.date.getDate() }}</span>\n </div>\n }\n </div>\n</div>\n\n@if (grid.allDayRowCount() > 0) {\n <div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-all-day\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div\n #allDayLane\n [style.--_et-scheduler-time-grid-all-day-row-count]=\"grid.allDayRowCount()\"\n class=\"et-scheduler-time-grid-all-day-lane\"\n role=\"presentation\"\n >\n @for (cell of allDayCells(); track cell.date.getTime(); let dayIndex = $index) {\n <div\n #allDayCell\n [attr.aria-label]=\"cell.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, 0)\"\n (focus)=\"focusedSlot.set({ day: cell.date, row: 0 })\"\n class=\"et-scheduler-time-grid-all-day-cell\"\n role=\"gridcell\"\n >\n @for (entry of cell.entries; track entry.node.appointment.id) {\n <button\n #appointmentButton\n #allDayItem\n [style.--_et-scheduler-time-grid-all-day-offset]=\"entry.inlineOffset\"\n [style.--_et-scheduler-time-grid-all-day-size]=\"entry.inlineSize\"\n [style.--_et-scheduler-time-grid-all-day-row]=\"entry.row\"\n [attr.data-selected]=\"isSelected(entry.node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(entry.node.appointment) ? '' : null\"\n [attr.title]=\"entry.node.appointment.title\"\n [attr.aria-label]=\"entry.node.appointment.title\"\n [etProvideColor]=\"entry.node.appointment.colorToken ?? null\"\n (click)=\"select(entry.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAllDayDrag($event, { appointment: entry.node.appointment, mode: 'move', lane: allDayLane })\n \"\n class=\"et-scheduler-appointment et-scheduler-time-grid-all-day-entry\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node: entry.node }; injector: adornment.injector\"\n />\n }\n\n @if (canDragAppointments() && startsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-start',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-end',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n<div class=\"et-scheduler-time-grid-body-wrap\" role=\"presentation\">\n <div #timeGridBody class=\"et-scheduler-time-grid-row et-scheduler-time-grid-body\" role=\"rowgroup\">\n @for (hour of hours(); track hour.hour) {\n <div [attr.aria-owns]=\"hourRowOwns(hour.hour)\" class=\"et-scheduler-time-grid-hour-aria-row\" role=\"row\"></div>\n }\n\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\">\n @for (hour of hours(); track hour.hour) {\n <div #hourRow class=\"et-scheduler-time-grid-hour-row\">\n <span class=\"et-scheduler-time-grid-hour-label\">{{ hour.label }}</span>\n </div>\n }\n </div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (column of columns(); track column.day.date.getTime(); let dayIndex = $index) {\n @let day = column.day;\n <div\n #dayColumn\n [attr.data-today]=\"day.today ? '' : null\"\n (pointerdown)=\"startDraftRange($event, { element: dayColumn, day: day.date })\"\n class=\"et-scheduler-time-grid-day\"\n role=\"presentation\"\n >\n @for (segment of grid.nonBusinessTime()[dayIndex]; track segment.offset) {\n <div\n [style.--_et-scheduler-time-grid-block-offset]=\"segment.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"segment.span\"\n class=\"et-scheduler-time-grid-non-business\"\n role=\"presentation\"\n ></div>\n }\n\n @if (grid.currentTime(); as currentTime) {\n @if (currentTime.dayIndex === dayIndex) {\n <div\n [style.--_et-scheduler-time-grid-now-offset]=\"currentTime.offset\"\n class=\"et-scheduler-time-grid-now\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @if (grid.draftBlock(); as draft) {\n @if (draft.dayIndex === dayIndex) {\n <div\n #draftBlock\n [style.--_et-scheduler-time-grid-block-offset]=\"draft.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"draft.span\"\n [attr.data-committed]=\"draft.phase === 'committed' ? '' : null\"\n class=\"et-scheduler-time-grid-draft\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @for (slot of column.slots; track slot.hour) {\n <div\n #slotCell\n [id]=\"slotId(dayIndex, slot.hour)\"\n [attr.aria-label]=\"slot.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, slot.hour + 1)\"\n (focus)=\"focusedSlot.set({ day: day.date, row: slot.hour + 1 })\"\n class=\"et-scheduler-time-grid-hour-row et-scheduler-time-grid-slot\"\n role=\"gridcell\"\n >\n <!-- a block's own pointerdown moves it and stops there, so a press that starts on an\n appointment never reaches the column's drag-to-create underneath it -->\n @for (block of slot.blocks; track block.node.appointment.id) {\n <button\n #appointmentButton\n #slotItem\n [style.--_et-scheduler-time-grid-block-offset]=\"block.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"block.span\"\n [style.--_et-scheduler-time-grid-block-inline-offset]=\"block.inlineOffset\"\n [style.--_et-scheduler-time-grid-block-inline-size]=\"block.inlineSize\"\n [style.--_et-scheduler-time-grid-block-depth]=\"block.node.depth\"\n [attr.data-selected]=\"isSelected(block.node.appointment) ? '' : null\"\n [attr.data-nested]=\"block.node.depth > 0 ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(block.node.appointment) ? '' : null\"\n [attr.title]=\"block.node.appointment.title\"\n [attr.aria-label]=\"block.node.appointment.title\"\n [etProvideColor]=\"block.node.appointment.colorToken ?? null\"\n (click)=\"select(block.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'move',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n adornment.component;\n inputs: { node: block.node };\n injector: adornment.injector\n \"\n />\n }\n\n @if (canDragAppointments() && startsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-start',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-end',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <et-scrollbar [for]=\"timeGridBody\" autoHide aria-hidden=\"true\" />\n</div>\n",
90916
91043
  styles: ["@layer components{@property --et-scheduler-time-grid-hour-size{syntax: \"<length>\"; inherits: true; initial-value: 48px;}@property --et-scheduler-time-grid-gutter-size{syntax: \"<length>\"; inherits: true; initial-value: 56px;}@property --et-scheduler-time-grid-all-day-row-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-scheduler-time-grid-body-max-height{syntax: \"<length>\"; inherits: true; initial-value: 600px;}.et-scheduler-time-grid-view{display:flex;flex-direction:column}.et-scheduler-time-grid-row{display:flex}.et-scheduler-time-grid-hour-aria-row{display:contents}.et-scheduler-time-grid-body-wrap{position:relative;min-block-size:0}.et-scheduler-time-grid-body{--_et-scheduler-time-grid-hour-label-line-height: 14px;overflow-y:auto;padding-block-start:calc(var(--_et-scheduler-time-grid-hour-label-line-height) / 2);max-block-size:var(--et-scheduler-time-grid-body-max-height)}.et-scheduler-time-grid-gutter{flex-shrink:0;inline-size:var(--et-scheduler-time-grid-gutter-size)}.et-scheduler-time-grid-days{display:grid;flex:1;grid-auto-flow:column;grid-auto-columns:1fr}.et-scheduler-time-grid-header{padding-block-end:6px;border-block-end:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-header-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding-block:4px}.et-scheduler-time-grid-header-day:where([data-today]) .et-scheduler-time-grid-header-date{background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary)}.et-scheduler-time-grid-header-weekday{font-size:12px;font-weight:600;color:var(--et-surface-color-muted-solid)}.et-scheduler-time-grid-header-date{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;border-radius:999px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--et-surface-color-solid)}.et-scheduler-time-grid-all-day{padding-block:4px;border-block-end:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-all-day-lane{position:relative;display:grid;flex:1;grid-auto-flow:column;grid-auto-columns:1fr;min-block-size:calc(var(--_et-scheduler-time-grid-all-day-row-count, 0) * var(--et-scheduler-time-grid-all-day-row-size))}.et-scheduler-time-grid-all-day-entry{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-all-day-row, 0) * var(--et-scheduler-time-grid-all-day-row-size));inset-inline-start:calc(var(--_et-scheduler-time-grid-all-day-offset, 0) * 1%);inline-size:calc(var(--_et-scheduler-time-grid-all-day-size, 100) * 1% - 4px);block-size:calc(var(--et-scheduler-time-grid-all-day-row-size) - 2px)}.et-scheduler-time-grid-hour-row{box-sizing:border-box;block-size:var(--et-scheduler-time-grid-hour-size);border-block-end:1px solid var(--et-surface-border-solid)}:is(.et-scheduler-time-grid-slot,.et-scheduler-time-grid-all-day-cell):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:-2px}.et-scheduler-time-grid-body .et-scheduler-time-grid-gutter .et-scheduler-time-grid-hour-row{display:flex;align-items:flex-start;justify-content:flex-end;padding-inline-end:8px;border-block-end:none}.et-scheduler-time-grid-hour-label{inline-size:max-content;transform:translateY(-50%);font-size:11px;line-height:var(--_et-scheduler-time-grid-hour-label-line-height);font-variant-numeric:tabular-nums;color:var(--et-surface-color-muted-solid)}.et-scheduler-time-grid-body .et-scheduler-time-grid-days{border-inline-start:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-day{position:relative;border-inline-end:1px solid var(--et-surface-border-solid);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.et-scheduler-time-grid-day:where([data-today]){background:color-mix(in srgb,var(--et-theme-color-primary-solid) 6%,transparent)}.et-scheduler-time-grid-non-business{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline:0;block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);background:var( --et-scheduler-time-grid-non-business-background, color-mix(in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 6%, transparent) );pointer-events:none}.et-scheduler-time-grid-now{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-now-offset, 0) * 1%);inset-inline:0;block-size:0;border-block-start:2px solid var(--et-theme-color-primary-solid, rgb(94 234 212));pointer-events:none;z-index:1}.et-scheduler-time-grid-now:before{content:\"\";position:absolute;inset-block-start:-5px;inset-inline-start:-4px;inline-size:8px;block-size:8px;border-radius:999px;background:var(--et-theme-color-primary-solid, rgb(94 234 212))}.et-scheduler-time-grid-draft{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline:0 2px;block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);min-block-size:16px;border-radius:4px;border:1px dashed var(--et-theme-color-primary-solid);background:color-mix(in srgb,var(--et-theme-color-primary-solid) 10%,transparent);pointer-events:none}.et-scheduler-time-grid-draft:where([data-committed]){border-style:solid;background:color-mix(in srgb,var(--et-theme-color-primary-solid) 18%,transparent)}.et-scheduler-time-grid-block{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline-start:calc(var(--_et-scheduler-time-grid-block-inline-offset, 0) * 1%);block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);inline-size:calc(var(--_et-scheduler-time-grid-block-inline-size, 100) * 1% - 2px);min-block-size:16px;display:flex;align-items:flex-start;gap:6px;overflow:hidden;padding:2px 6px;padding-inline-start:calc(min(var(--_et-scheduler-time-grid-block-depth, 0),4)*6px + 6px);border:none;border-radius:4px;background:color-mix(in srgb,var(--et-theme-color-primary-solid) 14%,transparent);color:var(--et-theme-color-ink-solid);font:inherit;font-size:12px;text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-scheduler-time-grid-block .et-scheduler-appointment-dot{margin-block-start:4px}@media(hover:hover){.et-scheduler-time-grid-block:hover{background:color-mix(in srgb,var(--et-theme-color-primary-solid) 22%,transparent)}}.et-scheduler-time-grid-block:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-scheduler-time-grid-block:where([data-selected]){background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary)}}\n"],
90917
91044
  dependencies: [
90918
91045
  {
@@ -90966,7 +91093,7 @@ i0.ɵɵngDeclareClassMetadata({
90966
91093
  role: "grid",
90967
91094
  "(keydown)": "handleKeydown($event)"
90968
91095
  },
90969
- template: "<div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-header\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (day of grid.days(); track day.date.getTime()) {\n <div [attr.data-today]=\"day.today ? '' : null\" class=\"et-scheduler-time-grid-header-day\" role=\"columnheader\">\n <span class=\"et-scheduler-time-grid-header-weekday\">{{ weekdayLabel(day.date) }}</span>\n <span class=\"et-scheduler-time-grid-header-date\">{{ day.date.getDate() }}</span>\n </div>\n }\n </div>\n</div>\n\n@if (grid.allDayRowCount() > 0) {\n <div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-all-day\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div\n #allDayLane\n [style.--_et-scheduler-time-grid-all-day-row-count]=\"grid.allDayRowCount()\"\n class=\"et-scheduler-time-grid-all-day-lane\"\n role=\"presentation\"\n >\n @for (cell of allDayCells(); track cell.date.getTime(); let dayIndex = $index) {\n <div\n #allDayCell\n [attr.aria-label]=\"cell.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, 0)\"\n (focus)=\"focusedSlot.set({ day: cell.date, row: 0 })\"\n class=\"et-scheduler-time-grid-all-day-cell\"\n role=\"gridcell\"\n >\n @for (entry of cell.entries; track entry.node.appointment.id) {\n <button\n #appointmentButton\n #allDayItem\n [style.--_et-scheduler-time-grid-all-day-offset]=\"entry.inlineOffset\"\n [style.--_et-scheduler-time-grid-all-day-size]=\"entry.inlineSize\"\n [style.--_et-scheduler-time-grid-all-day-row]=\"entry.row\"\n [attr.data-selected]=\"isSelected(entry.node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(entry.node.appointment) ? '' : null\"\n [attr.title]=\"entry.node.appointment.title\"\n [etProvideColor]=\"entry.node.appointment.colorToken ?? null\"\n (click)=\"select(entry.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAllDayDrag($event, { appointment: entry.node.appointment, mode: 'move', lane: allDayLane })\n \"\n class=\"et-scheduler-appointment et-scheduler-time-grid-all-day-entry\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node: entry.node }; injector: adornment.injector\"\n />\n }\n\n @if (canDragAppointments() && startsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-start',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-end',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n<div class=\"et-scheduler-time-grid-body-wrap\" role=\"presentation\">\n <div #timeGridBody class=\"et-scheduler-time-grid-row et-scheduler-time-grid-body\" role=\"rowgroup\">\n @for (hour of hours(); track hour.hour) {\n <div [attr.aria-owns]=\"hourRowOwns(hour.hour)\" class=\"et-scheduler-time-grid-hour-aria-row\" role=\"row\"></div>\n }\n\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\">\n @for (hour of hours(); track hour.hour) {\n <div #hourRow class=\"et-scheduler-time-grid-hour-row\">\n <span class=\"et-scheduler-time-grid-hour-label\">{{ hour.label }}</span>\n </div>\n }\n </div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (column of columns(); track column.day.date.getTime(); let dayIndex = $index) {\n @let day = column.day;\n <div\n #dayColumn\n [attr.data-today]=\"day.today ? '' : null\"\n (pointerdown)=\"startDraftRange($event, { element: dayColumn, day: day.date })\"\n class=\"et-scheduler-time-grid-day\"\n role=\"presentation\"\n >\n @for (segment of grid.nonBusinessTime()[dayIndex]; track segment.offset) {\n <div\n [style.--_et-scheduler-time-grid-block-offset]=\"segment.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"segment.span\"\n class=\"et-scheduler-time-grid-non-business\"\n role=\"presentation\"\n ></div>\n }\n\n @if (grid.currentTime(); as currentTime) {\n @if (currentTime.dayIndex === dayIndex) {\n <div\n [style.--_et-scheduler-time-grid-now-offset]=\"currentTime.offset\"\n class=\"et-scheduler-time-grid-now\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @if (grid.draftBlock(); as draft) {\n @if (draft.dayIndex === dayIndex) {\n <div\n #draftBlock\n [style.--_et-scheduler-time-grid-block-offset]=\"draft.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"draft.span\"\n [attr.data-committed]=\"draft.phase === 'committed' ? '' : null\"\n class=\"et-scheduler-time-grid-draft\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @for (slot of column.slots; track slot.hour) {\n <div\n #slotCell\n [id]=\"slotId(dayIndex, slot.hour)\"\n [attr.aria-label]=\"slot.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, slot.hour + 1)\"\n (focus)=\"focusedSlot.set({ day: day.date, row: slot.hour + 1 })\"\n class=\"et-scheduler-time-grid-hour-row et-scheduler-time-grid-slot\"\n role=\"gridcell\"\n >\n <!-- a block's own pointerdown moves it and stops there, so a press that starts on an\n appointment never reaches the column's drag-to-create underneath it -->\n @for (block of slot.blocks; track block.node.appointment.id) {\n <button\n #appointmentButton\n #slotItem\n [style.--_et-scheduler-time-grid-block-offset]=\"block.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"block.span\"\n [style.--_et-scheduler-time-grid-block-inline-offset]=\"block.inlineOffset\"\n [style.--_et-scheduler-time-grid-block-inline-size]=\"block.inlineSize\"\n [style.--_et-scheduler-time-grid-block-depth]=\"block.node.depth\"\n [attr.data-selected]=\"isSelected(block.node.appointment) ? '' : null\"\n [attr.data-nested]=\"block.node.depth > 0 ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(block.node.appointment) ? '' : null\"\n [attr.title]=\"block.node.appointment.title\"\n [etProvideColor]=\"block.node.appointment.colorToken ?? null\"\n (click)=\"select(block.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'move',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n adornment.component;\n inputs: { node: block.node };\n injector: adornment.injector\n \"\n />\n }\n\n @if (canDragAppointments() && startsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-start',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-end',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <et-scrollbar [for]=\"timeGridBody\" autoHide aria-hidden=\"true\" />\n</div>\n",
91096
+ template: "<div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-header\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (day of grid.days(); track day.date.getTime()) {\n <div [attr.data-today]=\"day.today ? '' : null\" class=\"et-scheduler-time-grid-header-day\" role=\"columnheader\">\n <span class=\"et-scheduler-time-grid-header-weekday\">{{ weekdayLabel(day.date) }}</span>\n <span class=\"et-scheduler-time-grid-header-date\">{{ day.date.getDate() }}</span>\n </div>\n }\n </div>\n</div>\n\n@if (grid.allDayRowCount() > 0) {\n <div class=\"et-scheduler-time-grid-row et-scheduler-time-grid-all-day\" role=\"row\">\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\"></div>\n\n <div\n #allDayLane\n [style.--_et-scheduler-time-grid-all-day-row-count]=\"grid.allDayRowCount()\"\n class=\"et-scheduler-time-grid-all-day-lane\"\n role=\"presentation\"\n >\n @for (cell of allDayCells(); track cell.date.getTime(); let dayIndex = $index) {\n <div\n #allDayCell\n [attr.aria-label]=\"cell.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, 0)\"\n (focus)=\"focusedSlot.set({ day: cell.date, row: 0 })\"\n class=\"et-scheduler-time-grid-all-day-cell\"\n role=\"gridcell\"\n >\n @for (entry of cell.entries; track entry.node.appointment.id) {\n <button\n #appointmentButton\n #allDayItem\n [style.--_et-scheduler-time-grid-all-day-offset]=\"entry.inlineOffset\"\n [style.--_et-scheduler-time-grid-all-day-size]=\"entry.inlineSize\"\n [style.--_et-scheduler-time-grid-all-day-row]=\"entry.row\"\n [attr.data-selected]=\"isSelected(entry.node.appointment) ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(entry.node.appointment) ? '' : null\"\n [attr.title]=\"entry.node.appointment.title\"\n [attr.aria-label]=\"entry.node.appointment.title\"\n [etProvideColor]=\"entry.node.appointment.colorToken ?? null\"\n (click)=\"select(entry.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAllDayDrag($event, { appointment: entry.node.appointment, mode: 'move', lane: allDayLane })\n \"\n class=\"et-scheduler-appointment et-scheduler-time-grid-all-day-entry\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"adornment.component; inputs: { node: entry.node }; injector: adornment.injector\"\n />\n }\n\n @if (canDragAppointments() && startsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-start',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsInView(entry.node.appointment)) {\n <span\n (pointerdown)=\"\n startAllDayDrag($event, {\n appointment: entry.node.appointment,\n mode: 'resize-end',\n lane: allDayLane,\n })\n \"\n class=\"et-scheduler-time-grid-all-day-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n<div class=\"et-scheduler-time-grid-body-wrap\" role=\"presentation\">\n <div #timeGridBody class=\"et-scheduler-time-grid-row et-scheduler-time-grid-body\" role=\"rowgroup\">\n @for (hour of hours(); track hour.hour) {\n <div [attr.aria-owns]=\"hourRowOwns(hour.hour)\" class=\"et-scheduler-time-grid-hour-aria-row\" role=\"row\"></div>\n }\n\n <div class=\"et-scheduler-time-grid-gutter\" role=\"presentation\">\n @for (hour of hours(); track hour.hour) {\n <div #hourRow class=\"et-scheduler-time-grid-hour-row\">\n <span class=\"et-scheduler-time-grid-hour-label\">{{ hour.label }}</span>\n </div>\n }\n </div>\n\n <div class=\"et-scheduler-time-grid-days\" role=\"presentation\">\n @for (column of columns(); track column.day.date.getTime(); let dayIndex = $index) {\n @let day = column.day;\n <div\n #dayColumn\n [attr.data-today]=\"day.today ? '' : null\"\n (pointerdown)=\"startDraftRange($event, { element: dayColumn, day: day.date })\"\n class=\"et-scheduler-time-grid-day\"\n role=\"presentation\"\n >\n @for (segment of grid.nonBusinessTime()[dayIndex]; track segment.offset) {\n <div\n [style.--_et-scheduler-time-grid-block-offset]=\"segment.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"segment.span\"\n class=\"et-scheduler-time-grid-non-business\"\n role=\"presentation\"\n ></div>\n }\n\n @if (grid.currentTime(); as currentTime) {\n @if (currentTime.dayIndex === dayIndex) {\n <div\n [style.--_et-scheduler-time-grid-now-offset]=\"currentTime.offset\"\n class=\"et-scheduler-time-grid-now\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @if (grid.draftBlock(); as draft) {\n @if (draft.dayIndex === dayIndex) {\n <div\n #draftBlock\n [style.--_et-scheduler-time-grid-block-offset]=\"draft.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"draft.span\"\n [attr.data-committed]=\"draft.phase === 'committed' ? '' : null\"\n class=\"et-scheduler-time-grid-draft\"\n role=\"presentation\"\n ></div>\n }\n }\n\n @for (slot of column.slots; track slot.hour) {\n <div\n #slotCell\n [id]=\"slotId(dayIndex, slot.hour)\"\n [attr.aria-label]=\"slot.label\"\n [attr.tabindex]=\"cellTabIndex(dayIndex, slot.hour + 1)\"\n (focus)=\"focusedSlot.set({ day: day.date, row: slot.hour + 1 })\"\n class=\"et-scheduler-time-grid-hour-row et-scheduler-time-grid-slot\"\n role=\"gridcell\"\n >\n <!-- a block's own pointerdown moves it and stops there, so a press that starts on an\n appointment never reaches the column's drag-to-create underneath it -->\n @for (block of slot.blocks; track block.node.appointment.id) {\n <button\n #appointmentButton\n #slotItem\n [style.--_et-scheduler-time-grid-block-offset]=\"block.offset\"\n [style.--_et-scheduler-time-grid-block-span]=\"block.span\"\n [style.--_et-scheduler-time-grid-block-inline-offset]=\"block.inlineOffset\"\n [style.--_et-scheduler-time-grid-block-inline-size]=\"block.inlineSize\"\n [style.--_et-scheduler-time-grid-block-depth]=\"block.node.depth\"\n [attr.data-selected]=\"isSelected(block.node.appointment) ? '' : null\"\n [attr.data-nested]=\"block.node.depth > 0 ? '' : null\"\n [attr.data-draggable]=\"canDragAppointments() ? '' : null\"\n [attr.data-dragging]=\"isDragging(block.node.appointment) ? '' : null\"\n [attr.title]=\"block.node.appointment.title\"\n [attr.aria-label]=\"block.node.appointment.title\"\n [etProvideColor]=\"block.node.appointment.colorToken ?? null\"\n (click)=\"select(block.node.appointment, appointmentButton)\"\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'move',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block\"\n type=\"button\"\n tabindex=\"-1\"\n >\n @for (adornment of badgeAdornments(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n adornment.component;\n inputs: { node: block.node };\n injector: adornment.injector\n \"\n />\n }\n\n @if (canDragAppointments() && startsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-start',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"start\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (canDragAppointments() && endsOn(block.node.appointment, day.date)) {\n <span\n (pointerdown)=\"\n startAppointmentDrag($event, {\n appointment: block.node.appointment,\n mode: 'resize-end',\n column: { element: dayColumn, day: day.date },\n })\n \"\n class=\"et-scheduler-time-grid-block-resize\"\n data-edge=\"end\"\n aria-hidden=\"true\"\n ></span>\n }\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <et-scrollbar [for]=\"timeGridBody\" autoHide aria-hidden=\"true\" />\n</div>\n",
90970
91097
  styles: ["@layer components{@property --et-scheduler-time-grid-hour-size{syntax: \"<length>\"; inherits: true; initial-value: 48px;}@property --et-scheduler-time-grid-gutter-size{syntax: \"<length>\"; inherits: true; initial-value: 56px;}@property --et-scheduler-time-grid-all-day-row-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-scheduler-time-grid-body-max-height{syntax: \"<length>\"; inherits: true; initial-value: 600px;}.et-scheduler-time-grid-view{display:flex;flex-direction:column}.et-scheduler-time-grid-row{display:flex}.et-scheduler-time-grid-hour-aria-row{display:contents}.et-scheduler-time-grid-body-wrap{position:relative;min-block-size:0}.et-scheduler-time-grid-body{--_et-scheduler-time-grid-hour-label-line-height: 14px;overflow-y:auto;padding-block-start:calc(var(--_et-scheduler-time-grid-hour-label-line-height) / 2);max-block-size:var(--et-scheduler-time-grid-body-max-height)}.et-scheduler-time-grid-gutter{flex-shrink:0;inline-size:var(--et-scheduler-time-grid-gutter-size)}.et-scheduler-time-grid-days{display:grid;flex:1;grid-auto-flow:column;grid-auto-columns:1fr}.et-scheduler-time-grid-header{padding-block-end:6px;border-block-end:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-header-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding-block:4px}.et-scheduler-time-grid-header-day:where([data-today]) .et-scheduler-time-grid-header-date{background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary)}.et-scheduler-time-grid-header-weekday{font-size:12px;font-weight:600;color:var(--et-surface-color-muted-solid)}.et-scheduler-time-grid-header-date{display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;border-radius:999px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--et-surface-color-solid)}.et-scheduler-time-grid-all-day{padding-block:4px;border-block-end:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-all-day-lane{position:relative;display:grid;flex:1;grid-auto-flow:column;grid-auto-columns:1fr;min-block-size:calc(var(--_et-scheduler-time-grid-all-day-row-count, 0) * var(--et-scheduler-time-grid-all-day-row-size))}.et-scheduler-time-grid-all-day-entry{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-all-day-row, 0) * var(--et-scheduler-time-grid-all-day-row-size));inset-inline-start:calc(var(--_et-scheduler-time-grid-all-day-offset, 0) * 1%);inline-size:calc(var(--_et-scheduler-time-grid-all-day-size, 100) * 1% - 4px);block-size:calc(var(--et-scheduler-time-grid-all-day-row-size) - 2px)}.et-scheduler-time-grid-hour-row{box-sizing:border-box;block-size:var(--et-scheduler-time-grid-hour-size);border-block-end:1px solid var(--et-surface-border-solid)}:is(.et-scheduler-time-grid-slot,.et-scheduler-time-grid-all-day-cell):focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:-2px}.et-scheduler-time-grid-body .et-scheduler-time-grid-gutter .et-scheduler-time-grid-hour-row{display:flex;align-items:flex-start;justify-content:flex-end;padding-inline-end:8px;border-block-end:none}.et-scheduler-time-grid-hour-label{inline-size:max-content;transform:translateY(-50%);font-size:11px;line-height:var(--_et-scheduler-time-grid-hour-label-line-height);font-variant-numeric:tabular-nums;color:var(--et-surface-color-muted-solid)}.et-scheduler-time-grid-body .et-scheduler-time-grid-days{border-inline-start:1px solid var(--et-surface-border-solid)}.et-scheduler-time-grid-day{position:relative;border-inline-end:1px solid var(--et-surface-border-solid);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.et-scheduler-time-grid-day:where([data-today]){background:color-mix(in srgb,var(--et-theme-color-primary-solid) 6%,transparent)}.et-scheduler-time-grid-non-business{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline:0;block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);background:var( --et-scheduler-time-grid-non-business-background, color-mix(in srgb, var(--et-surface-interaction-solid, rgb(255 255 255)) 6%, transparent) );pointer-events:none}.et-scheduler-time-grid-now{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-now-offset, 0) * 1%);inset-inline:0;block-size:0;border-block-start:2px solid var(--et-theme-color-primary-solid, rgb(94 234 212));pointer-events:none;z-index:1}.et-scheduler-time-grid-now:before{content:\"\";position:absolute;inset-block-start:-5px;inset-inline-start:-4px;inline-size:8px;block-size:8px;border-radius:999px;background:var(--et-theme-color-primary-solid, rgb(94 234 212))}.et-scheduler-time-grid-draft{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline:0 2px;block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);min-block-size:16px;border-radius:4px;border:1px dashed var(--et-theme-color-primary-solid);background:color-mix(in srgb,var(--et-theme-color-primary-solid) 10%,transparent);pointer-events:none}.et-scheduler-time-grid-draft:where([data-committed]){border-style:solid;background:color-mix(in srgb,var(--et-theme-color-primary-solid) 18%,transparent)}.et-scheduler-time-grid-block{position:absolute;inset-block-start:calc(var(--_et-scheduler-time-grid-block-offset, 0) * 1%);inset-inline-start:calc(var(--_et-scheduler-time-grid-block-inline-offset, 0) * 1%);block-size:calc(var(--_et-scheduler-time-grid-block-span, 0) * 1%);inline-size:calc(var(--_et-scheduler-time-grid-block-inline-size, 100) * 1% - 2px);min-block-size:16px;display:flex;align-items:flex-start;gap:6px;overflow:hidden;padding:2px 6px;padding-inline-start:calc(min(var(--_et-scheduler-time-grid-block-depth, 0),4)*6px + 6px);border:none;border-radius:4px;background:color-mix(in srgb,var(--et-theme-color-primary-solid) 14%,transparent);color:var(--et-theme-color-ink-solid);font:inherit;font-size:12px;text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.et-scheduler-time-grid-block .et-scheduler-appointment-dot{margin-block-start:4px}@media(hover:hover){.et-scheduler-time-grid-block:hover{background:color-mix(in srgb,var(--et-theme-color-primary-solid) 22%,transparent)}}.et-scheduler-time-grid-block:focus-visible{outline:2px solid light-dark(var(--et-theme-color-ink-solid, currentColor),var(--et-theme-color-primary-solid, currentColor));outline-offset:1px}.et-scheduler-time-grid-block:where([data-selected]){background:var(--et-theme-color-primary-solid);color:var(--et-theme-color-on-primary)}}\n"]
90971
91098
  }]
90972
91099
  }],
@@ -91293,7 +91420,8 @@ var SchedulerComponent = class SchedulerComponent {
91293
91420
  inputs: [
91294
91421
  "variant",
91295
91422
  "size",
91296
- "iconAlignment"
91423
+ "iconAlignment",
91424
+ "stretchContents"
91297
91425
  ]
91298
91426
  },
91299
91427
  {
@@ -93049,7 +93177,8 @@ var StreamConsentComponent = class StreamConsentComponent {
93049
93177
  inputs: [
93050
93178
  "variant",
93051
93179
  "size",
93052
- "iconAlignment"
93180
+ "iconAlignment",
93181
+ "stretchContents"
93053
93182
  ]
93054
93183
  },
93055
93184
  {
@@ -93212,7 +93341,8 @@ var StreamPlayerErrorComponent = class StreamPlayerErrorComponent {
93212
93341
  inputs: [
93213
93342
  "variant",
93214
93343
  "size",
93215
- "iconAlignment"
93344
+ "iconAlignment",
93345
+ "stretchContents"
93216
93346
  ]
93217
93347
  }, {
93218
93348
  kind: "directive",
@@ -95863,7 +95993,11 @@ var StreamPipChromeComponent = class StreamPipChromeComponent {
95863
95993
  kind: "component",
95864
95994
  type: WindowControlButtonComponent,
95865
95995
  selector: "[et-window-control-button]",
95866
- inputs: ["size", "kind"]
95996
+ inputs: [
95997
+ "size",
95998
+ "kind",
95999
+ "shape"
96000
+ ]
95867
96001
  }
95868
96002
  ],
95869
96003
  encapsulation: i0.ViewEncapsulation.None
@@ -96018,7 +96152,8 @@ var PipSlotPlaceholderComponent = class PipSlotPlaceholderComponent {
96018
96152
  inputs: [
96019
96153
  "variant",
96020
96154
  "size",
96021
- "iconAlignment"
96155
+ "iconAlignment",
96156
+ "stretchContents"
96022
96157
  ]
96023
96158
  },
96024
96159
  {
@@ -103281,95 +103416,18 @@ i0.ɵɵngDeclareClassMetadata({
103281
103416
  }]
103282
103417
  }] }
103283
103418
  });
103284
- const injectHostTable = (feature) => {
103285
- const table = inject(TableComponent, { optional: true });
103286
- if (!table) throw new RuntimeError(TABLE_ERROR_CODES.FEATURE_OUTSIDE_TABLE, `[${feature}] must be used on an <et-table>.`);
103287
- return table;
103288
- };
103289
- const bodyCellFromEvent = (table, event) => {
103290
- const cells = table.bodyCellElements();
103291
- const path = event.composedPath();
103292
- const index = cells.findIndex((candidate) => path.includes(candidate));
103293
- const cell = index === -1 ? void 0 : cells[index];
103294
- if (!cell) return null;
103295
- const columns = untracked(() => table.visibleColumnsMeta()).length;
103296
- if (!columns) return null;
103297
- return {
103298
- cell,
103299
- position: {
103300
- row: table.renderedRowOffset() + Math.floor(index / columns),
103301
- column: index % columns
103302
- }
103303
- };
103304
- };
103305
- var TableCellErrorTooltipDirective = class TableCellErrorTooltipDirective {
103306
- constructor() {
103307
- this.table = injectHostTable("etTableCellErrorTooltip");
103308
- this.config = input({}, {
103309
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
103310
- alias: "etTableCellErrorTooltip",
103311
- transform: tableFeatureConfig
103312
- });
103313
- injectTableFeatureHost("etTableCellErrorTooltip").registerCellErrorMark({
103314
- component: TableCellErrorMarkComponent,
103315
- injector: inject(Injector),
103316
- enabled: computed(() => this.config().enabled ?? true)
103317
- });
103318
- }
103319
- static {
103320
- this.ɵfac = i0.ɵɵngDeclareFactory({
103321
- minVersion: "12.0.0",
103322
- version: "22.2.3",
103323
- ngImport: i0,
103324
- type: TableCellErrorTooltipDirective,
103325
- deps: [],
103326
- target: i0.ɵɵFactoryTarget.Directive
103327
- });
103328
- }
103329
- static {
103330
- this.ɵdir = i0.ɵɵngDeclareDirective({
103331
- minVersion: "17.1.0",
103332
- version: "22.2.3",
103333
- type: TableCellErrorTooltipDirective,
103334
- isStandalone: true,
103335
- selector: "[etTableCellErrorTooltip]",
103336
- inputs: { config: {
103337
- classPropertyName: "config",
103338
- publicName: "etTableCellErrorTooltip",
103339
- isSignal: true,
103340
- isRequired: false,
103341
- transformFunction: null
103342
- } },
103343
- exportAs: ["etTableCellErrorTooltip"],
103344
- ngImport: i0
103345
- });
103346
- }
103347
- };
103348
- i0.ɵɵngDeclareClassMetadata({
103349
- minVersion: "12.0.0",
103350
- version: "22.2.3",
103351
- ngImport: i0,
103352
- type: TableCellErrorTooltipDirective,
103353
- decorators: [{
103354
- type: Directive,
103355
- args: [{
103356
- selector: "[etTableCellErrorTooltip]",
103357
- exportAs: "etTableCellErrorTooltip"
103358
- }]
103359
- }],
103360
- ctorParameters: () => [],
103361
- propDecorators: { config: [{
103362
- type: i0.Input,
103363
- args: [{
103364
- isSignal: true,
103365
- alias: "etTableCellErrorTooltip",
103366
- required: false
103367
- }]
103368
- }] }
103369
- });
103419
+ const TABLE_CELL_ERROR_TOOLTIP_TOKEN = new InjectionToken("TABLE_CELL_ERROR_TOOLTIP_TOKEN");
103420
+ const TABLE_COLUMN_MENU_TOKEN = new InjectionToken("TABLE_COLUMN_MENU_TOKEN");
103421
+ const TABLE_FILTERS_TOKEN = new InjectionToken("TABLE_FILTERS_TOKEN");
103422
+ const TABLE_GROUP_HEADERS_TOKEN = new InjectionToken("TABLE_GROUP_HEADERS_TOKEN");
103423
+ const TABLE_REORDER_TOKEN = new InjectionToken("TABLE_REORDER_TOKEN");
103424
+ const TABLE_RESIZE_TOKEN = new InjectionToken("TABLE_RESIZE_TOKEN");
103425
+ const TABLE_ROW_EXPANSION_TOKEN = new InjectionToken("TABLE_ROW_EXPANSION_TOKEN");
103426
+ const TABLE_SELECTION_TOKEN = new InjectionToken("TABLE_SELECTION_TOKEN");
103427
+ const TABLE_SKELETON_TOKEN = new InjectionToken("TABLE_SKELETON_TOKEN");
103370
103428
  var TableCellErrorMarkComponent = class TableCellErrorMarkComponent {
103371
103429
  constructor() {
103372
- this.feature = inject(TableCellErrorTooltipDirective);
103430
+ this.feature = inject(TABLE_CELL_ERROR_TOOLTIP_TOKEN);
103373
103431
  this.message = input(null, ...ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []);
103374
103432
  }
103375
103433
  static {
@@ -103489,6 +103547,100 @@ i0.ɵɵngDeclareClassMetadata({
103489
103547
  }]
103490
103548
  }] }
103491
103549
  });
103550
+ const injectHostTable = (feature) => {
103551
+ const table = inject(TableComponent, { optional: true });
103552
+ if (!table) throw new RuntimeError(TABLE_ERROR_CODES.FEATURE_OUTSIDE_TABLE, `[${feature}] must be used on an <et-table>.`);
103553
+ return table;
103554
+ };
103555
+ const bodyCellFromEvent = (table, event) => {
103556
+ const cells = table.bodyCellElements();
103557
+ const path = event.composedPath();
103558
+ const index = cells.findIndex((candidate) => path.includes(candidate));
103559
+ const cell = index === -1 ? void 0 : cells[index];
103560
+ if (!cell) return null;
103561
+ const columns = untracked(() => table.visibleColumnsMeta()).length;
103562
+ if (!columns) return null;
103563
+ return {
103564
+ cell,
103565
+ position: {
103566
+ row: table.renderedRowOffset() + Math.floor(index / columns),
103567
+ column: index % columns
103568
+ }
103569
+ };
103570
+ };
103571
+ var TableCellErrorTooltipDirective = class TableCellErrorTooltipDirective {
103572
+ constructor() {
103573
+ this.table = injectHostTable("etTableCellErrorTooltip");
103574
+ this.config = input({}, {
103575
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
103576
+ alias: "etTableCellErrorTooltip",
103577
+ transform: tableFeatureConfig
103578
+ });
103579
+ injectTableFeatureHost("etTableCellErrorTooltip").registerCellErrorMark({
103580
+ component: TableCellErrorMarkComponent,
103581
+ injector: inject(Injector),
103582
+ enabled: computed(() => this.config().enabled ?? true)
103583
+ });
103584
+ }
103585
+ static {
103586
+ this.ɵfac = i0.ɵɵngDeclareFactory({
103587
+ minVersion: "12.0.0",
103588
+ version: "22.2.3",
103589
+ ngImport: i0,
103590
+ type: TableCellErrorTooltipDirective,
103591
+ deps: [],
103592
+ target: i0.ɵɵFactoryTarget.Directive
103593
+ });
103594
+ }
103595
+ static {
103596
+ this.ɵdir = i0.ɵɵngDeclareDirective({
103597
+ minVersion: "17.1.0",
103598
+ version: "22.2.3",
103599
+ type: TableCellErrorTooltipDirective,
103600
+ isStandalone: true,
103601
+ selector: "[etTableCellErrorTooltip]",
103602
+ inputs: { config: {
103603
+ classPropertyName: "config",
103604
+ publicName: "etTableCellErrorTooltip",
103605
+ isSignal: true,
103606
+ isRequired: false,
103607
+ transformFunction: null
103608
+ } },
103609
+ providers: [{
103610
+ provide: TABLE_CELL_ERROR_TOOLTIP_TOKEN,
103611
+ useExisting: TableCellErrorTooltipDirective
103612
+ }],
103613
+ exportAs: ["etTableCellErrorTooltip"],
103614
+ ngImport: i0
103615
+ });
103616
+ }
103617
+ };
103618
+ i0.ɵɵngDeclareClassMetadata({
103619
+ minVersion: "12.0.0",
103620
+ version: "22.2.3",
103621
+ ngImport: i0,
103622
+ type: TableCellErrorTooltipDirective,
103623
+ decorators: [{
103624
+ type: Directive,
103625
+ args: [{
103626
+ selector: "[etTableCellErrorTooltip]",
103627
+ exportAs: "etTableCellErrorTooltip",
103628
+ providers: [{
103629
+ provide: TABLE_CELL_ERROR_TOOLTIP_TOKEN,
103630
+ useExisting: TableCellErrorTooltipDirective
103631
+ }]
103632
+ }]
103633
+ }],
103634
+ ctorParameters: () => [],
103635
+ propDecorators: { config: [{
103636
+ type: i0.Input,
103637
+ args: [{
103638
+ isSignal: true,
103639
+ alias: "etTableCellErrorTooltip",
103640
+ required: false
103641
+ }]
103642
+ }] }
103643
+ });
103492
103644
  var TableColumnChooserComponent = class TableColumnChooserComponent {
103493
103645
  constructor() {
103494
103646
  this.table = input.required(...ngDevMode ? [{ debugName: "table" }] : /* istanbul ignore next */ []);
@@ -103613,7 +103765,8 @@ var TableColumnChooserComponent = class TableColumnChooserComponent {
103613
103765
  inputs: [
103614
103766
  "variant",
103615
103767
  "size",
103616
- "iconAlignment"
103768
+ "iconAlignment",
103769
+ "stretchContents"
103617
103770
  ]
103618
103771
  },
103619
103772
  {
@@ -103685,119 +103838,9 @@ i0.ɵɵngDeclareClassMetadata({
103685
103838
  }]
103686
103839
  }
103687
103840
  });
103688
- var TableColumnMenuDirective = class TableColumnMenuDirective {
103689
- constructor() {
103690
- this.table = injectTableFeatureHost("etTableColumnMenu");
103691
- this.config = input({}, {
103692
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
103693
- alias: "etTableColumnMenu",
103694
- transform: tableFeatureConfig
103695
- });
103696
- this.table.registerHeaderAdornment({
103697
- component: TableColumnMenuTriggerComponent,
103698
- injector: inject(Injector),
103699
- order: 5,
103700
- enabled: computed(() => this.config().enabled ?? true)
103701
- });
103702
- }
103703
- directionOf(column) {
103704
- return this.table.sortDirection(column.key);
103705
- }
103706
- sortAscending(column) {
103707
- this.table.setSort(column.key, "asc");
103708
- }
103709
- sortDescending(column) {
103710
- this.table.setSort(column.key, "desc");
103711
- }
103712
- clearSort(column) {
103713
- this.table.setSort(column.key, null);
103714
- }
103715
- canAutosize() {
103716
- return this.config().autosize ?? true;
103717
- }
103718
- autosize(column) {
103719
- this.table.autosizeColumns([column.key]);
103720
- }
103721
- autosizeAll() {
103722
- this.table.autosizeColumns(this.table.visibleColumnsMeta().map((column) => column.key));
103723
- }
103724
- canResetWidth(column) {
103725
- return (this.config().resetWidth ?? true) && this.table.hasColumnWidthOverride(column.key);
103726
- }
103727
- resetWidth(column) {
103728
- this.table.resetColumnWidth(column.key);
103729
- }
103730
- canHide() {
103731
- return (this.config().hideColumn ?? true) && this.table.visibleColumnsMeta().length > 1;
103732
- }
103733
- hide(column) {
103734
- this.table.setSort(column.key, null);
103735
- if (this.table.filterValuesFor(column.key).length) this.table.setFilterValues(column.key, []);
103736
- this.table.setColumnVisible(column.key, false);
103737
- }
103738
- canPin() {
103739
- return (this.config().pinColumn ?? true) && this.table.canPinColumns();
103740
- }
103741
- pinOf(column) {
103742
- return this.table.columnPin(column.key);
103743
- }
103744
- pin(column, side) {
103745
- this.table.pinColumn(column.key, side);
103746
- }
103747
- static {
103748
- this.ɵfac = i0.ɵɵngDeclareFactory({
103749
- minVersion: "12.0.0",
103750
- version: "22.2.3",
103751
- ngImport: i0,
103752
- type: TableColumnMenuDirective,
103753
- deps: [],
103754
- target: i0.ɵɵFactoryTarget.Directive
103755
- });
103756
- }
103757
- static {
103758
- this.ɵdir = i0.ɵɵngDeclareDirective({
103759
- minVersion: "17.1.0",
103760
- version: "22.2.3",
103761
- type: TableColumnMenuDirective,
103762
- isStandalone: true,
103763
- selector: "[etTableColumnMenu]",
103764
- inputs: { config: {
103765
- classPropertyName: "config",
103766
- publicName: "etTableColumnMenu",
103767
- isSignal: true,
103768
- isRequired: false,
103769
- transformFunction: null
103770
- } },
103771
- exportAs: ["etTableColumnMenu"],
103772
- ngImport: i0
103773
- });
103774
- }
103775
- };
103776
- i0.ɵɵngDeclareClassMetadata({
103777
- minVersion: "12.0.0",
103778
- version: "22.2.3",
103779
- ngImport: i0,
103780
- type: TableColumnMenuDirective,
103781
- decorators: [{
103782
- type: Directive,
103783
- args: [{
103784
- selector: "[etTableColumnMenu]",
103785
- exportAs: "etTableColumnMenu"
103786
- }]
103787
- }],
103788
- ctorParameters: () => [],
103789
- propDecorators: { config: [{
103790
- type: i0.Input,
103791
- args: [{
103792
- isSignal: true,
103793
- alias: "etTableColumnMenu",
103794
- required: false
103795
- }]
103796
- }] }
103797
- });
103798
103841
  var TableColumnMenuTriggerComponent = class TableColumnMenuTriggerComponent {
103799
103842
  constructor() {
103800
- this.menu = inject(TableColumnMenuDirective);
103843
+ this.menu = inject(TABLE_COLUMN_MENU_TOKEN);
103801
103844
  this.column = input.required(...ngDevMode ? [{ debugName: "column" }] : /* istanbul ignore next */ []);
103802
103845
  this.labels = this.menu.table.resolvedLabels;
103803
103846
  }
@@ -103936,6 +103979,124 @@ i0.ɵɵngDeclareClassMetadata({
103936
103979
  }]
103937
103980
  }] }
103938
103981
  });
103982
+ var TableColumnMenuDirective = class TableColumnMenuDirective {
103983
+ constructor() {
103984
+ this.table = injectTableFeatureHost("etTableColumnMenu");
103985
+ this.config = input({}, {
103986
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
103987
+ alias: "etTableColumnMenu",
103988
+ transform: tableFeatureConfig
103989
+ });
103990
+ this.table.registerHeaderAdornment({
103991
+ component: TableColumnMenuTriggerComponent,
103992
+ injector: inject(Injector),
103993
+ order: 5,
103994
+ enabled: computed(() => this.config().enabled ?? true)
103995
+ });
103996
+ }
103997
+ directionOf(column) {
103998
+ return this.table.sortDirection(column.key);
103999
+ }
104000
+ sortAscending(column) {
104001
+ this.table.setSort(column.key, "asc");
104002
+ }
104003
+ sortDescending(column) {
104004
+ this.table.setSort(column.key, "desc");
104005
+ }
104006
+ clearSort(column) {
104007
+ this.table.setSort(column.key, null);
104008
+ }
104009
+ canAutosize() {
104010
+ return this.config().autosize ?? true;
104011
+ }
104012
+ autosize(column) {
104013
+ this.table.autosizeColumns([column.key]);
104014
+ }
104015
+ autosizeAll() {
104016
+ this.table.autosizeColumns(this.table.visibleColumnsMeta().map((column) => column.key));
104017
+ }
104018
+ canResetWidth(column) {
104019
+ return (this.config().resetWidth ?? true) && this.table.hasColumnWidthOverride(column.key);
104020
+ }
104021
+ resetWidth(column) {
104022
+ this.table.resetColumnWidth(column.key);
104023
+ }
104024
+ canHide() {
104025
+ return (this.config().hideColumn ?? true) && this.table.visibleColumnsMeta().length > 1;
104026
+ }
104027
+ hide(column) {
104028
+ this.table.setSort(column.key, null);
104029
+ if (this.table.filterValuesFor(column.key).length) this.table.setFilterValues(column.key, []);
104030
+ this.table.setColumnVisible(column.key, false);
104031
+ }
104032
+ canPin() {
104033
+ return (this.config().pinColumn ?? true) && this.table.canPinColumns();
104034
+ }
104035
+ pinOf(column) {
104036
+ return this.table.columnPin(column.key);
104037
+ }
104038
+ pin(column, side) {
104039
+ this.table.pinColumn(column.key, side);
104040
+ }
104041
+ static {
104042
+ this.ɵfac = i0.ɵɵngDeclareFactory({
104043
+ minVersion: "12.0.0",
104044
+ version: "22.2.3",
104045
+ ngImport: i0,
104046
+ type: TableColumnMenuDirective,
104047
+ deps: [],
104048
+ target: i0.ɵɵFactoryTarget.Directive
104049
+ });
104050
+ }
104051
+ static {
104052
+ this.ɵdir = i0.ɵɵngDeclareDirective({
104053
+ minVersion: "17.1.0",
104054
+ version: "22.2.3",
104055
+ type: TableColumnMenuDirective,
104056
+ isStandalone: true,
104057
+ selector: "[etTableColumnMenu]",
104058
+ inputs: { config: {
104059
+ classPropertyName: "config",
104060
+ publicName: "etTableColumnMenu",
104061
+ isSignal: true,
104062
+ isRequired: false,
104063
+ transformFunction: null
104064
+ } },
104065
+ providers: [{
104066
+ provide: TABLE_COLUMN_MENU_TOKEN,
104067
+ useExisting: TableColumnMenuDirective
104068
+ }],
104069
+ exportAs: ["etTableColumnMenu"],
104070
+ ngImport: i0
104071
+ });
104072
+ }
104073
+ };
104074
+ i0.ɵɵngDeclareClassMetadata({
104075
+ minVersion: "12.0.0",
104076
+ version: "22.2.3",
104077
+ ngImport: i0,
104078
+ type: TableColumnMenuDirective,
104079
+ decorators: [{
104080
+ type: Directive,
104081
+ args: [{
104082
+ selector: "[etTableColumnMenu]",
104083
+ exportAs: "etTableColumnMenu",
104084
+ providers: [{
104085
+ provide: TABLE_COLUMN_MENU_TOKEN,
104086
+ useExisting: TableColumnMenuDirective
104087
+ }]
104088
+ }]
104089
+ }],
104090
+ ctorParameters: () => [],
104091
+ propDecorators: { config: [{
104092
+ type: i0.Input,
104093
+ args: [{
104094
+ isSignal: true,
104095
+ alias: "etTableColumnMenu",
104096
+ required: false
104097
+ }]
104098
+ }] }
104099
+ });
103939
104100
  const csvExportConfig = (value) => value === "" ? {} : value;
103940
104101
  var TableCsvExportDirective = class TableCsvExportDirective {
103941
104102
  constructor() {
@@ -104494,234 +104655,9 @@ i0.ɵɵngDeclareClassMetadata({
104494
104655
  }]
104495
104656
  }] }
104496
104657
  });
104497
- var TableRowDetailComponent = class TableRowDetailComponent {
104498
- constructor() {
104499
- this.expansion = inject(TableRowExpansionDirective);
104500
- this.table = injectTableFeatureHost("etTableRowExpansion");
104501
- this.row = input.required(...ngDevMode ? [{ debugName: "row" }] : /* istanbul ignore next */ []);
104502
- this.animated = computed(() => this.expansion.animates(this.row()), ...ngDevMode ? [{ debugName: "animated" }] : /* istanbul ignore next */ []);
104503
- this.dimensions = signalHostElementDimensions();
104504
- effect(() => {
104505
- const height = this.dimensions().offset?.height;
104506
- const row = this.row();
104507
- if (height !== void 0) untracked(() => this.table.setDetailRowHeight(row, height));
104508
- });
104509
- }
104510
- static {
104511
- this.ɵfac = i0.ɵɵngDeclareFactory({
104512
- minVersion: "12.0.0",
104513
- version: "22.2.3",
104514
- ngImport: i0,
104515
- type: TableRowDetailComponent,
104516
- deps: [],
104517
- target: i0.ɵɵFactoryTarget.Component
104518
- });
104519
- }
104520
- static {
104521
- this.ɵcmp = i0.ɵɵngDeclareComponent({
104522
- minVersion: "17.1.0",
104523
- version: "22.2.3",
104524
- type: TableRowDetailComponent,
104525
- isStandalone: true,
104526
- selector: "et-table-row-detail",
104527
- inputs: { row: {
104528
- classPropertyName: "row",
104529
- publicName: "row",
104530
- isSignal: true,
104531
- isRequired: true,
104532
- transformFunction: null
104533
- } },
104534
- host: {
104535
- attributes: { "role": "row" },
104536
- properties: {
104537
- "attr.aria-rowindex": "table.detailAriaRowIndex(row())",
104538
- "animate.enter": "animated() ? 'et-table-detail--enter' : ''",
104539
- "animate.leave": "animated() ? 'et-table-detail--leave' : ''"
104540
- },
104541
- classAttribute: "et-table-detail-row"
104542
- },
104543
- ngImport: i0,
104544
- template: `
104545
- <!-- The clip window the animating track squeezes to nothing, and the body that carries the padding.
104546
- Two elements on purpose - see table-detail-styles.component.css. -->
104547
- <div [attr.role]="table.cellRole()" class="et-table-detail-cell">
104548
- <div class="et-table-detail-body">
104549
- <ng-container *ngTemplateOutlet="table.detailTemplate(); context: { $implicit: row() }" />
104550
- </div>
104551
- </div>
104552
- `,
104553
- isInline: true,
104554
- dependencies: [{
104555
- kind: "directive",
104556
- type: NgTemplateOutlet,
104557
- selector: "[ngTemplateOutlet]",
104558
- inputs: [
104559
- "ngTemplateOutletContext",
104560
- "ngTemplateOutlet",
104561
- "ngTemplateOutletInjector"
104562
- ]
104563
- }],
104564
- encapsulation: i0.ViewEncapsulation.None
104565
- });
104566
- }
104567
- };
104568
- i0.ɵɵngDeclareClassMetadata({
104569
- minVersion: "12.0.0",
104570
- version: "22.2.3",
104571
- ngImport: i0,
104572
- type: TableRowDetailComponent,
104573
- decorators: [{
104574
- type: Component,
104575
- args: [{
104576
- selector: "et-table-row-detail",
104577
- template: `
104578
- <!-- The clip window the animating track squeezes to nothing, and the body that carries the padding.
104579
- Two elements on purpose - see table-detail-styles.component.css. -->
104580
- <div [attr.role]="table.cellRole()" class="et-table-detail-cell">
104581
- <div class="et-table-detail-body">
104582
- <ng-container *ngTemplateOutlet="table.detailTemplate(); context: { $implicit: row() }" />
104583
- </div>
104584
- </div>
104585
- `,
104586
- encapsulation: ViewEncapsulation.None,
104587
- imports: [NgTemplateOutlet],
104588
- host: {
104589
- class: "et-table-detail-row",
104590
- role: "row",
104591
- "[attr.aria-rowindex]": "table.detailAriaRowIndex(row())",
104592
- "[animate.enter]": "animated() ? 'et-table-detail--enter' : ''",
104593
- "[animate.leave]": "animated() ? 'et-table-detail--leave' : ''"
104594
- }
104595
- }]
104596
- }],
104597
- ctorParameters: () => [],
104598
- propDecorators: { row: [{
104599
- type: i0.Input,
104600
- args: [{
104601
- isSignal: true,
104602
- alias: "row",
104603
- required: true
104604
- }]
104605
- }] }
104606
- });
104607
- const DETAIL_ANIMATION_MS = 200;
104608
- var TableRowExpansionDirective = class TableRowExpansionDirective {
104609
- constructor() {
104610
- this.table = injectTableFeatureHost("etTableRowExpansion");
104611
- this.destroyRef = inject(DestroyRef);
104612
- this.config = input({}, {
104613
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
104614
- alias: "etTableRowExpansion",
104615
- transform: tableFeatureConfig
104616
- });
104617
- this.ownExpanded = signal(/* @__PURE__ */ new Set(), ...ngDevMode ? [{ debugName: "ownExpanded" }] : /* istanbul ignore next */ []);
104618
- this.expanded = computed(() => this.config().expanded ?? this.ownExpanded, ...ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []);
104619
- this.userToggledKey = signal(null, ...ngDevMode ? [{ debugName: "userToggledKey" }] : /* istanbul ignore next */ []);
104620
- const injector = inject(Injector);
104621
- this.table.registerLeadColumn({
104622
- key: "et-table-expander",
104623
- width: "var(--et-table-expander-width, 32px)",
104624
- order: 100,
104625
- cellClass: "et-table-expander-cell",
104626
- bodyComponent: TableExpanderCellComponent,
104627
- injector,
104628
- enabled: computed(() => this.config().enabled ?? true)
104629
- });
104630
- this.table.registerRowDetail({
104631
- component: TableRowDetailComponent,
104632
- isOpen: (row) => this.canExpand(row) && this.isExpanded(row),
104633
- injector,
104634
- enabled: computed(() => this.config().enabled ?? true)
104635
- });
104636
- this.table.registerStateSlice({
104637
- key: "expansion",
104638
- read: () => {
104639
- if (!this.table.hasRowKey()) return void 0;
104640
- const keys = [...this.expanded()()];
104641
- return keys.length ? keys : void 0;
104642
- },
104643
- write: (value) => {
104644
- if (this.table.hasRowKey() && Array.isArray(value)) this.expanded().set(new Set(value.filter((key) => typeof key === "string" || typeof key === "number")));
104645
- }
104646
- });
104647
- injectStyleManager().mount(TableDetailStylesComponent);
104648
- }
104649
- isExpanded(row) {
104650
- return this.expanded()().has(this.table.rowIdentity(row));
104651
- }
104652
- canExpand(row) {
104653
- return this.config().expandableRow?.(row) ?? true;
104654
- }
104655
- animates(row) {
104656
- return this.userToggledKey() === this.table.rowIdentity(row);
104657
- }
104658
- toggle(row) {
104659
- const key = this.table.rowIdentity(row);
104660
- const next = new Set(this.expanded()());
104661
- if (next.has(key)) next.delete(key);
104662
- else next.add(key);
104663
- this.markUserToggled(key);
104664
- this.expanded().set(next);
104665
- }
104666
- markUserToggled(key) {
104667
- this.userToggledKey.set(key);
104668
- this.userToggleReset?.unsubscribe();
104669
- this.userToggleReset = timer(DETAIL_ANIMATION_MS).pipe(tap(() => this.userToggledKey.set(null)), takeUntilDestroyed(this.destroyRef)).subscribe();
104670
- }
104671
- static {
104672
- this.ɵfac = i0.ɵɵngDeclareFactory({
104673
- minVersion: "12.0.0",
104674
- version: "22.2.3",
104675
- ngImport: i0,
104676
- type: TableRowExpansionDirective,
104677
- deps: [],
104678
- target: i0.ɵɵFactoryTarget.Directive
104679
- });
104680
- }
104681
- static {
104682
- this.ɵdir = i0.ɵɵngDeclareDirective({
104683
- minVersion: "17.1.0",
104684
- version: "22.2.3",
104685
- type: TableRowExpansionDirective,
104686
- isStandalone: true,
104687
- selector: "[etTableRowExpansion]",
104688
- inputs: { config: {
104689
- classPropertyName: "config",
104690
- publicName: "etTableRowExpansion",
104691
- isSignal: true,
104692
- isRequired: false,
104693
- transformFunction: null
104694
- } },
104695
- exportAs: ["etTableRowExpansion"],
104696
- ngImport: i0
104697
- });
104698
- }
104699
- };
104700
- i0.ɵɵngDeclareClassMetadata({
104701
- minVersion: "12.0.0",
104702
- version: "22.2.3",
104703
- ngImport: i0,
104704
- type: TableRowExpansionDirective,
104705
- decorators: [{
104706
- type: Directive,
104707
- args: [{
104708
- selector: "[etTableRowExpansion]",
104709
- exportAs: "etTableRowExpansion"
104710
- }]
104711
- }],
104712
- ctorParameters: () => [],
104713
- propDecorators: { config: [{
104714
- type: i0.Input,
104715
- args: [{
104716
- isSignal: true,
104717
- alias: "etTableRowExpansion",
104718
- required: false
104719
- }]
104720
- }] }
104721
- });
104722
104658
  var TableExpanderCellComponent = class TableExpanderCellComponent {
104723
104659
  constructor() {
104724
- this.expansion = inject(TableRowExpansionDirective);
104660
+ this.expansion = inject(TABLE_ROW_EXPANSION_TOKEN);
104725
104661
  this.table = injectTableFeatureHost("etTableRowExpansion");
104726
104662
  this.row = input.required(...ngDevMode ? [{ debugName: "row" }] : /* istanbul ignore next */ []);
104727
104663
  this.canExpand = computed(() => this.expansion.canExpand(this.row()), ...ngDevMode ? [{ debugName: "canExpand" }] : /* istanbul ignore next */ []);
@@ -104820,124 +104756,9 @@ i0.ɵɵngDeclareClassMetadata({
104820
104756
  }]
104821
104757
  }] }
104822
104758
  });
104823
- var TableFiltersDirective = class TableFiltersDirective {
104824
- constructor() {
104825
- this.table = injectTableFeatureHost("etTableFilters");
104826
- this.config = input({}, {
104827
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
104828
- alias: "etTableFilters",
104829
- transform: tableFeatureConfig
104830
- });
104831
- this.searchQueries = signal({}, ...ngDevMode ? [{ debugName: "searchQueries" }] : /* istanbul ignore next */ []);
104832
- this.table.registerHeaderAdornment({
104833
- component: TableFilterTriggerComponent,
104834
- injector: inject(Injector),
104835
- order: 0,
104836
- columnFlag: "filterable",
104837
- enabled: computed(() => this.config().enabled ?? true)
104838
- });
104839
- }
104840
- isFiltered(key) {
104841
- return this.table.filterValuesFor(key).length > 0;
104842
- }
104843
- hasSearch(column) {
104844
- return column.filterSearch === true || this.providerOf(column) !== null;
104845
- }
104846
- searchQuery(key) {
104847
- return this.searchQueries()[key] ?? "";
104848
- }
104849
- setSearchQuery(column, query) {
104850
- this.searchQueries.update((current) => ({
104851
- ...current,
104852
- [column.key]: query
104853
- }));
104854
- this.providerOf(column)?.setQuery?.(query);
104855
- }
104856
- optionsFor(column) {
104857
- const provider = this.providerOf(column);
104858
- if (provider) return provider.options();
104859
- const options = column.filterOptions ?? [];
104860
- if (!column.filterSearch) return options;
104861
- const query = this.searchQuery(column.key).trim().toLowerCase();
104862
- return query ? options.filter((option) => option.label.toLowerCase().includes(query)) : options;
104863
- }
104864
- loading(column) {
104865
- return this.providerOf(column)?.loading?.() ?? false;
104866
- }
104867
- hasMore(column) {
104868
- return this.providerOf(column)?.hasMore?.() ?? false;
104869
- }
104870
- loadMore(column) {
104871
- this.providerOf(column)?.loadMore?.();
104872
- }
104873
- singleValueFor(key) {
104874
- return this.table.filterValuesFor(key)[0] ?? null;
104875
- }
104876
- toggleSingleValue(key, value) {
104877
- const current = this.singleValueFor(key);
104878
- this.table.setFilterValues(key, value === null || value === void 0 || value === current ? [] : [value]);
104879
- }
104880
- asArray(value) {
104881
- return Array.isArray(value) ? value : value === null || value === void 0 ? [] : [value];
104882
- }
104883
- providerOf(column) {
104884
- const options = column.filterOptions;
104885
- return options && !Array.isArray(options) ? options : null;
104886
- }
104887
- static {
104888
- this.ɵfac = i0.ɵɵngDeclareFactory({
104889
- minVersion: "12.0.0",
104890
- version: "22.2.3",
104891
- ngImport: i0,
104892
- type: TableFiltersDirective,
104893
- deps: [],
104894
- target: i0.ɵɵFactoryTarget.Directive
104895
- });
104896
- }
104897
- static {
104898
- this.ɵdir = i0.ɵɵngDeclareDirective({
104899
- minVersion: "17.1.0",
104900
- version: "22.2.3",
104901
- type: TableFiltersDirective,
104902
- isStandalone: true,
104903
- selector: "[etTableFilters]",
104904
- inputs: { config: {
104905
- classPropertyName: "config",
104906
- publicName: "etTableFilters",
104907
- isSignal: true,
104908
- isRequired: false,
104909
- transformFunction: null
104910
- } },
104911
- exportAs: ["etTableFilters"],
104912
- ngImport: i0
104913
- });
104914
- }
104915
- };
104916
- i0.ɵɵngDeclareClassMetadata({
104917
- minVersion: "12.0.0",
104918
- version: "22.2.3",
104919
- ngImport: i0,
104920
- type: TableFiltersDirective,
104921
- decorators: [{
104922
- type: Directive,
104923
- args: [{
104924
- selector: "[etTableFilters]",
104925
- exportAs: "etTableFilters"
104926
- }]
104927
- }],
104928
- ctorParameters: () => [],
104929
- propDecorators: { config: [{
104930
- type: i0.Input,
104931
- args: [{
104932
- isSignal: true,
104933
- alias: "etTableFilters",
104934
- required: false
104935
- }]
104936
- }] }
104937
- });
104938
104759
  var TableFilterTriggerComponent = class TableFilterTriggerComponent {
104939
104760
  constructor() {
104940
- this.filters = inject(TableFiltersDirective);
104761
+ this.filters = inject(TABLE_FILTERS_TOKEN);
104941
104762
  this.column = input.required(...ngDevMode ? [{ debugName: "column" }] : /* istanbul ignore next */ []);
104942
104763
  this.labels = this.filters.table.resolvedLabels;
104943
104764
  this.selection = computed(() => this.column().filterSelection ?? "multiple", ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
@@ -105127,94 +104948,9 @@ i0.ɵɵngDeclareClassMetadata({
105127
104948
  }]
105128
104949
  }] }
105129
104950
  });
105130
- var TableGroupHeadersDirective = class TableGroupHeadersDirective {
105131
- constructor() {
105132
- this.table = injectTableFeatureHost("etTableGroupHeaders");
105133
- this.config = input({}, {
105134
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
105135
- alias: "etTableGroupHeaders",
105136
- transform: tableFeatureConfig
105137
- });
105138
- this.rowHeight = signal(null, ...ngDevMode ? [{ debugName: "rowHeight" }] : /* istanbul ignore next */ []);
105139
- this.enabled = computed(() => this.config().enabled ?? true, ...ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []);
105140
- this.groupRowHeight = computed(() => this.enabled() ? this.rowHeight()?.() ?? 0 : 0, ...ngDevMode ? [{ debugName: "groupRowHeight" }] : /* istanbul ignore next */ []);
105141
- this.headerGroups = computed(() => {
105142
- const runs = [];
105143
- for (const column of this.table.visibleColumnsMeta()) {
105144
- const label = column.group ?? null;
105145
- const last = runs[runs.length - 1];
105146
- if (last && label !== null && last.label === label) last.span += 1;
105147
- else runs.push({
105148
- key: column.key,
105149
- label,
105150
- span: 1
105151
- });
105152
- }
105153
- return runs;
105154
- }, ...ngDevMode ? [{ debugName: "headerGroups" }] : /* istanbul ignore next */ []);
105155
- this.hasGroups = computed(() => this.table.visibleColumnsMeta().some((column) => !!column.group), ...ngDevMode ? [{ debugName: "hasGroups" }] : /* istanbul ignore next */ []);
105156
- this.table.registerHeaderRow({
105157
- component: TableGroupHeaderRowComponent,
105158
- injector: inject(Injector),
105159
- enabled: this.enabled
105160
- });
105161
- }
105162
- static {
105163
- this.ɵfac = i0.ɵɵngDeclareFactory({
105164
- minVersion: "12.0.0",
105165
- version: "22.2.3",
105166
- ngImport: i0,
105167
- type: TableGroupHeadersDirective,
105168
- deps: [],
105169
- target: i0.ɵɵFactoryTarget.Directive
105170
- });
105171
- }
105172
- static {
105173
- this.ɵdir = i0.ɵɵngDeclareDirective({
105174
- minVersion: "17.1.0",
105175
- version: "22.2.3",
105176
- type: TableGroupHeadersDirective,
105177
- isStandalone: true,
105178
- selector: "[etTableGroupHeaders]",
105179
- inputs: { config: {
105180
- classPropertyName: "config",
105181
- publicName: "etTableGroupHeaders",
105182
- isSignal: true,
105183
- isRequired: false,
105184
- transformFunction: null
105185
- } },
105186
- host: { properties: { "style.--_et-table-group-h": "groupRowHeight() + \"px\"" } },
105187
- exportAs: ["etTableGroupHeaders"],
105188
- ngImport: i0
105189
- });
105190
- }
105191
- };
105192
- i0.ɵɵngDeclareClassMetadata({
105193
- minVersion: "12.0.0",
105194
- version: "22.2.3",
105195
- ngImport: i0,
105196
- type: TableGroupHeadersDirective,
105197
- decorators: [{
105198
- type: Directive,
105199
- args: [{
105200
- selector: "[etTableGroupHeaders]",
105201
- exportAs: "etTableGroupHeaders",
105202
- host: { "[style.--_et-table-group-h]": "groupRowHeight() + \"px\"" }
105203
- }]
105204
- }],
105205
- ctorParameters: () => [],
105206
- propDecorators: { config: [{
105207
- type: i0.Input,
105208
- args: [{
105209
- isSignal: true,
105210
- alias: "etTableGroupHeaders",
105211
- required: false
105212
- }]
105213
- }] }
105214
- });
105215
104951
  var TableGroupHeaderRowComponent = class TableGroupHeaderRowComponent {
105216
104952
  constructor() {
105217
- this.feature = inject(TableGroupHeadersDirective);
104953
+ this.feature = inject(TABLE_GROUP_HEADERS_TOKEN);
105218
104954
  this.table = injectTableFeatureHost("etTableGroupHeaders");
105219
104955
  this.groupCells = viewChildren("groupCell", ...ngDevMode ? [{ debugName: "groupCells" }] : /* istanbul ignore next */ []);
105220
104956
  this.groupCellDimensions = signalElementDimensions(computed(() => this.groupCells()[0] ?? null));
@@ -105334,6 +105070,99 @@ i0.ɵɵngDeclareClassMetadata({
105334
105070
  args: ["groupCell", { isSignal: true }]
105335
105071
  }] }
105336
105072
  });
105073
+ var TableGroupHeadersDirective = class TableGroupHeadersDirective {
105074
+ constructor() {
105075
+ this.table = injectTableFeatureHost("etTableGroupHeaders");
105076
+ this.config = input({}, {
105077
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
105078
+ alias: "etTableGroupHeaders",
105079
+ transform: tableFeatureConfig
105080
+ });
105081
+ this.rowHeight = signal(null, ...ngDevMode ? [{ debugName: "rowHeight" }] : /* istanbul ignore next */ []);
105082
+ this.enabled = computed(() => this.config().enabled ?? true, ...ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []);
105083
+ this.groupRowHeight = computed(() => this.enabled() ? this.rowHeight()?.() ?? 0 : 0, ...ngDevMode ? [{ debugName: "groupRowHeight" }] : /* istanbul ignore next */ []);
105084
+ this.headerGroups = computed(() => {
105085
+ const runs = [];
105086
+ for (const column of this.table.visibleColumnsMeta()) {
105087
+ const label = column.group ?? null;
105088
+ const last = runs[runs.length - 1];
105089
+ if (last && label !== null && last.label === label) last.span += 1;
105090
+ else runs.push({
105091
+ key: column.key,
105092
+ label,
105093
+ span: 1
105094
+ });
105095
+ }
105096
+ return runs;
105097
+ }, ...ngDevMode ? [{ debugName: "headerGroups" }] : /* istanbul ignore next */ []);
105098
+ this.hasGroups = computed(() => this.table.visibleColumnsMeta().some((column) => !!column.group), ...ngDevMode ? [{ debugName: "hasGroups" }] : /* istanbul ignore next */ []);
105099
+ this.table.registerHeaderRow({
105100
+ component: TableGroupHeaderRowComponent,
105101
+ injector: inject(Injector),
105102
+ enabled: this.enabled
105103
+ });
105104
+ }
105105
+ static {
105106
+ this.ɵfac = i0.ɵɵngDeclareFactory({
105107
+ minVersion: "12.0.0",
105108
+ version: "22.2.3",
105109
+ ngImport: i0,
105110
+ type: TableGroupHeadersDirective,
105111
+ deps: [],
105112
+ target: i0.ɵɵFactoryTarget.Directive
105113
+ });
105114
+ }
105115
+ static {
105116
+ this.ɵdir = i0.ɵɵngDeclareDirective({
105117
+ minVersion: "17.1.0",
105118
+ version: "22.2.3",
105119
+ type: TableGroupHeadersDirective,
105120
+ isStandalone: true,
105121
+ selector: "[etTableGroupHeaders]",
105122
+ inputs: { config: {
105123
+ classPropertyName: "config",
105124
+ publicName: "etTableGroupHeaders",
105125
+ isSignal: true,
105126
+ isRequired: false,
105127
+ transformFunction: null
105128
+ } },
105129
+ host: { properties: { "style.--_et-table-group-h": "groupRowHeight() + \"px\"" } },
105130
+ providers: [{
105131
+ provide: TABLE_GROUP_HEADERS_TOKEN,
105132
+ useExisting: TableGroupHeadersDirective
105133
+ }],
105134
+ exportAs: ["etTableGroupHeaders"],
105135
+ ngImport: i0
105136
+ });
105137
+ }
105138
+ };
105139
+ i0.ɵɵngDeclareClassMetadata({
105140
+ minVersion: "12.0.0",
105141
+ version: "22.2.3",
105142
+ ngImport: i0,
105143
+ type: TableGroupHeadersDirective,
105144
+ decorators: [{
105145
+ type: Directive,
105146
+ args: [{
105147
+ selector: "[etTableGroupHeaders]",
105148
+ exportAs: "etTableGroupHeaders",
105149
+ providers: [{
105150
+ provide: TABLE_GROUP_HEADERS_TOKEN,
105151
+ useExisting: TableGroupHeadersDirective
105152
+ }],
105153
+ host: { "[style.--_et-table-group-h]": "groupRowHeight() + \"px\"" }
105154
+ }]
105155
+ }],
105156
+ ctorParameters: () => [],
105157
+ propDecorators: { config: [{
105158
+ type: i0.Input,
105159
+ args: [{
105160
+ isSignal: true,
105161
+ alias: "etTableGroupHeaders",
105162
+ required: false
105163
+ }]
105164
+ }] }
105165
+ });
105337
105166
  var TableInlineEditStylesComponent = class TableInlineEditStylesComponent {
105338
105167
  static {
105339
105168
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -105766,6 +105595,191 @@ i0.ɵɵngDeclareClassMetadata({
105766
105595
  }]
105767
105596
  }] }
105768
105597
  });
105598
+ var TableFiltersDirective = class TableFiltersDirective {
105599
+ constructor() {
105600
+ this.table = injectTableFeatureHost("etTableFilters");
105601
+ this.config = input({}, {
105602
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
105603
+ alias: "etTableFilters",
105604
+ transform: tableFeatureConfig
105605
+ });
105606
+ this.searchQueries = signal({}, ...ngDevMode ? [{ debugName: "searchQueries" }] : /* istanbul ignore next */ []);
105607
+ this.table.registerHeaderAdornment({
105608
+ component: TableFilterTriggerComponent,
105609
+ injector: inject(Injector),
105610
+ order: 0,
105611
+ columnFlag: "filterable",
105612
+ enabled: computed(() => this.config().enabled ?? true)
105613
+ });
105614
+ }
105615
+ isFiltered(key) {
105616
+ return this.table.filterValuesFor(key).length > 0;
105617
+ }
105618
+ hasSearch(column) {
105619
+ return column.filterSearch === true || this.providerOf(column) !== null;
105620
+ }
105621
+ searchQuery(key) {
105622
+ return this.searchQueries()[key] ?? "";
105623
+ }
105624
+ setSearchQuery(column, query) {
105625
+ this.searchQueries.update((current) => ({
105626
+ ...current,
105627
+ [column.key]: query
105628
+ }));
105629
+ this.providerOf(column)?.setQuery?.(query);
105630
+ }
105631
+ optionsFor(column) {
105632
+ const provider = this.providerOf(column);
105633
+ if (provider) return provider.options();
105634
+ const options = column.filterOptions ?? [];
105635
+ if (!column.filterSearch) return options;
105636
+ const query = this.searchQuery(column.key).trim().toLowerCase();
105637
+ return query ? options.filter((option) => option.label.toLowerCase().includes(query)) : options;
105638
+ }
105639
+ loading(column) {
105640
+ return this.providerOf(column)?.loading?.() ?? false;
105641
+ }
105642
+ hasMore(column) {
105643
+ return this.providerOf(column)?.hasMore?.() ?? false;
105644
+ }
105645
+ loadMore(column) {
105646
+ this.providerOf(column)?.loadMore?.();
105647
+ }
105648
+ singleValueFor(key) {
105649
+ return this.table.filterValuesFor(key)[0] ?? null;
105650
+ }
105651
+ toggleSingleValue(key, value) {
105652
+ const current = this.singleValueFor(key);
105653
+ this.table.setFilterValues(key, value === null || value === void 0 || value === current ? [] : [value]);
105654
+ }
105655
+ asArray(value) {
105656
+ return Array.isArray(value) ? value : value === null || value === void 0 ? [] : [value];
105657
+ }
105658
+ providerOf(column) {
105659
+ const options = column.filterOptions;
105660
+ return options && !Array.isArray(options) ? options : null;
105661
+ }
105662
+ static {
105663
+ this.ɵfac = i0.ɵɵngDeclareFactory({
105664
+ minVersion: "12.0.0",
105665
+ version: "22.2.3",
105666
+ ngImport: i0,
105667
+ type: TableFiltersDirective,
105668
+ deps: [],
105669
+ target: i0.ɵɵFactoryTarget.Directive
105670
+ });
105671
+ }
105672
+ static {
105673
+ this.ɵdir = i0.ɵɵngDeclareDirective({
105674
+ minVersion: "17.1.0",
105675
+ version: "22.2.3",
105676
+ type: TableFiltersDirective,
105677
+ isStandalone: true,
105678
+ selector: "[etTableFilters]",
105679
+ inputs: { config: {
105680
+ classPropertyName: "config",
105681
+ publicName: "etTableFilters",
105682
+ isSignal: true,
105683
+ isRequired: false,
105684
+ transformFunction: null
105685
+ } },
105686
+ providers: [{
105687
+ provide: TABLE_FILTERS_TOKEN,
105688
+ useExisting: TableFiltersDirective
105689
+ }],
105690
+ exportAs: ["etTableFilters"],
105691
+ ngImport: i0
105692
+ });
105693
+ }
105694
+ };
105695
+ i0.ɵɵngDeclareClassMetadata({
105696
+ minVersion: "12.0.0",
105697
+ version: "22.2.3",
105698
+ ngImport: i0,
105699
+ type: TableFiltersDirective,
105700
+ decorators: [{
105701
+ type: Directive,
105702
+ args: [{
105703
+ selector: "[etTableFilters]",
105704
+ exportAs: "etTableFilters",
105705
+ providers: [{
105706
+ provide: TABLE_FILTERS_TOKEN,
105707
+ useExisting: TableFiltersDirective
105708
+ }]
105709
+ }]
105710
+ }],
105711
+ ctorParameters: () => [],
105712
+ propDecorators: { config: [{
105713
+ type: i0.Input,
105714
+ args: [{
105715
+ isSignal: true,
105716
+ alias: "etTableFilters",
105717
+ required: false
105718
+ }]
105719
+ }] }
105720
+ });
105721
+ var TableReorderOverlayComponent = class TableReorderOverlayComponent {
105722
+ constructor() {
105723
+ this.reorder = inject(TABLE_REORDER_TOKEN);
105724
+ }
105725
+ static {
105726
+ this.ɵfac = i0.ɵɵngDeclareFactory({
105727
+ minVersion: "12.0.0",
105728
+ version: "22.2.3",
105729
+ ngImport: i0,
105730
+ type: TableReorderOverlayComponent,
105731
+ deps: [],
105732
+ target: i0.ɵɵFactoryTarget.Component
105733
+ });
105734
+ }
105735
+ static {
105736
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
105737
+ minVersion: "17.0.0",
105738
+ version: "22.2.3",
105739
+ type: TableReorderOverlayComponent,
105740
+ isStandalone: true,
105741
+ selector: "et-table-reorder-overlay",
105742
+ ngImport: i0,
105743
+ template: `
105744
+ @if (reorder.dragging(); as drag) {
105745
+ <!-- Floating copy of the dragged header; the table's own markup stays put until drop. -->
105746
+ @if (reorder.pointer(); as position) {
105747
+ <div [style.left.px]="position.x" [style.top.px]="position.y" class="et-table-drag-ghost" aria-hidden="true">
105748
+ {{ drag.header }}
105749
+ </div>
105750
+ }
105751
+ }
105752
+ `,
105753
+ isInline: true,
105754
+ styles: ["@layer components{.et-table-host--reorderable .et-table-header-cell:not(.et-table-sticky-start,.et-table-sticky-end,.et-table-select-cell,.et-table-expander-cell){cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.et-table-header-cell:where(.et-table-header-cell--dragging){cursor:grabbing;opacity:.4}.et-table-drag-ghost{position:fixed;z-index:10;transform:translate(12px,8px);max-inline-size:256px;padding:var(--et-table-cell-padding-block) var(--et-table-cell-padding-inline);overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:var(--et-surface-color-solid, CanvasText);background:var(--et-surface-background-solid, Canvas);border:1px solid var(--et-surface-border-solid, rgb(128 128 128 / .3));border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--et-surface-interaction-solid, black) 18%,transparent);pointer-events:none}}\n"],
105755
+ encapsulation: i0.ViewEncapsulation.None
105756
+ });
105757
+ }
105758
+ };
105759
+ i0.ɵɵngDeclareClassMetadata({
105760
+ minVersion: "12.0.0",
105761
+ version: "22.2.3",
105762
+ ngImport: i0,
105763
+ type: TableReorderOverlayComponent,
105764
+ decorators: [{
105765
+ type: Component,
105766
+ args: [{
105767
+ selector: "et-table-reorder-overlay",
105768
+ template: `
105769
+ @if (reorder.dragging(); as drag) {
105770
+ <!-- Floating copy of the dragged header; the table's own markup stays put until drop. -->
105771
+ @if (reorder.pointer(); as position) {
105772
+ <div [style.left.px]="position.x" [style.top.px]="position.y" class="et-table-drag-ghost" aria-hidden="true">
105773
+ {{ drag.header }}
105774
+ </div>
105775
+ }
105776
+ }
105777
+ `,
105778
+ encapsulation: ViewEncapsulation.None,
105779
+ styles: ["@layer components{.et-table-host--reorderable .et-table-header-cell:not(.et-table-sticky-start,.et-table-sticky-end,.et-table-select-cell,.et-table-expander-cell){cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.et-table-header-cell:where(.et-table-header-cell--dragging){cursor:grabbing;opacity:.4}.et-table-drag-ghost{position:fixed;z-index:10;transform:translate(12px,8px);max-inline-size:256px;padding:var(--et-table-cell-padding-block) var(--et-table-cell-padding-inline);overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:var(--et-surface-color-solid, CanvasText);background:var(--et-surface-background-solid, Canvas);border:1px solid var(--et-surface-border-solid, rgb(128 128 128 / .3));border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--et-surface-interaction-solid, black) 18%,transparent);pointer-events:none}}\n"]
105780
+ }]
105781
+ }]
105782
+ });
105769
105783
  const INTERACTIVE = "button, a[href], input, select, textarea, [role=\"button\"], [contenteditable=\"true\"]";
105770
105784
  const isOwnSortHeader = (target, cell) => target.parentElement === cell && target.classList.contains("et-table-header-label--sortable");
105771
105785
  const startsOnControl = (path, cell) => {
@@ -106105,6 +106119,10 @@ var TableReorderDirective = class TableReorderDirective {
106105
106119
  isRequired: false,
106106
106120
  transformFunction: null
106107
106121
  } },
106122
+ providers: [{
106123
+ provide: TABLE_REORDER_TOKEN,
106124
+ useExisting: TableReorderDirective
106125
+ }],
106108
106126
  exportAs: ["etTableReorder"],
106109
106127
  ngImport: i0
106110
106128
  });
@@ -106119,7 +106137,11 @@ i0.ɵɵngDeclareClassMetadata({
106119
106137
  type: Directive,
106120
106138
  args: [{
106121
106139
  selector: "[etTableReorder]",
106122
- exportAs: "etTableReorder"
106140
+ exportAs: "etTableReorder",
106141
+ providers: [{
106142
+ provide: TABLE_REORDER_TOKEN,
106143
+ useExisting: TableReorderDirective
106144
+ }]
106123
106145
  }]
106124
106146
  }],
106125
106147
  ctorParameters: () => [],
@@ -106132,40 +106154,73 @@ i0.ɵɵngDeclareClassMetadata({
106132
106154
  }]
106133
106155
  }] }
106134
106156
  });
106135
- var TableReorderOverlayComponent = class TableReorderOverlayComponent {
106157
+ var TableRowDetailComponent = class TableRowDetailComponent {
106136
106158
  constructor() {
106137
- this.reorder = inject(TableReorderDirective);
106159
+ this.expansion = inject(TABLE_ROW_EXPANSION_TOKEN);
106160
+ this.table = injectTableFeatureHost("etTableRowExpansion");
106161
+ this.row = input.required(...ngDevMode ? [{ debugName: "row" }] : /* istanbul ignore next */ []);
106162
+ this.animated = computed(() => this.expansion.animates(this.row()), ...ngDevMode ? [{ debugName: "animated" }] : /* istanbul ignore next */ []);
106163
+ this.dimensions = signalHostElementDimensions();
106164
+ effect(() => {
106165
+ const height = this.dimensions().offset?.height;
106166
+ const row = this.row();
106167
+ if (height !== void 0) untracked(() => this.table.setDetailRowHeight(row, height));
106168
+ });
106138
106169
  }
106139
106170
  static {
106140
106171
  this.ɵfac = i0.ɵɵngDeclareFactory({
106141
106172
  minVersion: "12.0.0",
106142
106173
  version: "22.2.3",
106143
106174
  ngImport: i0,
106144
- type: TableReorderOverlayComponent,
106175
+ type: TableRowDetailComponent,
106145
106176
  deps: [],
106146
106177
  target: i0.ɵɵFactoryTarget.Component
106147
106178
  });
106148
106179
  }
106149
106180
  static {
106150
106181
  this.ɵcmp = i0.ɵɵngDeclareComponent({
106151
- minVersion: "17.0.0",
106182
+ minVersion: "17.1.0",
106152
106183
  version: "22.2.3",
106153
- type: TableReorderOverlayComponent,
106184
+ type: TableRowDetailComponent,
106154
106185
  isStandalone: true,
106155
- selector: "et-table-reorder-overlay",
106186
+ selector: "et-table-row-detail",
106187
+ inputs: { row: {
106188
+ classPropertyName: "row",
106189
+ publicName: "row",
106190
+ isSignal: true,
106191
+ isRequired: true,
106192
+ transformFunction: null
106193
+ } },
106194
+ host: {
106195
+ attributes: { "role": "row" },
106196
+ properties: {
106197
+ "attr.aria-rowindex": "table.detailAriaRowIndex(row())",
106198
+ "animate.enter": "animated() ? 'et-table-detail--enter' : ''",
106199
+ "animate.leave": "animated() ? 'et-table-detail--leave' : ''"
106200
+ },
106201
+ classAttribute: "et-table-detail-row"
106202
+ },
106156
106203
  ngImport: i0,
106157
106204
  template: `
106158
- @if (reorder.dragging(); as drag) {
106159
- <!-- Floating copy of the dragged header; the table's own markup stays put until drop. -->
106160
- @if (reorder.pointer(); as position) {
106161
- <div [style.left.px]="position.x" [style.top.px]="position.y" class="et-table-drag-ghost" aria-hidden="true">
106162
- {{ drag.header }}
106163
- </div>
106164
- }
106165
- }
106205
+ <!-- The clip window the animating track squeezes to nothing, and the body that carries the padding.
106206
+ Two elements on purpose - see table-detail-styles.component.css. -->
106207
+ <div [attr.role]="table.cellRole()" class="et-table-detail-cell">
106208
+ <div class="et-table-detail-body">
106209
+ <ng-container *ngTemplateOutlet="table.detailTemplate(); context: { $implicit: row() }" />
106210
+ </div>
106211
+ </div>
106166
106212
  `,
106167
106213
  isInline: true,
106168
- styles: ["@layer components{.et-table-host--reorderable .et-table-header-cell:not(.et-table-sticky-start,.et-table-sticky-end,.et-table-select-cell,.et-table-expander-cell){cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.et-table-header-cell:where(.et-table-header-cell--dragging){cursor:grabbing;opacity:.4}.et-table-drag-ghost{position:fixed;z-index:10;transform:translate(12px,8px);max-inline-size:256px;padding:var(--et-table-cell-padding-block) var(--et-table-cell-padding-inline);overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:var(--et-surface-color-solid, CanvasText);background:var(--et-surface-background-solid, Canvas);border:1px solid var(--et-surface-border-solid, rgb(128 128 128 / .3));border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--et-surface-interaction-solid, black) 18%,transparent);pointer-events:none}}\n"],
106214
+ dependencies: [{
106215
+ kind: "directive",
106216
+ type: NgTemplateOutlet,
106217
+ selector: "[ngTemplateOutlet]",
106218
+ inputs: [
106219
+ "ngTemplateOutletContext",
106220
+ "ngTemplateOutlet",
106221
+ "ngTemplateOutletInjector"
106222
+ ]
106223
+ }],
106169
106224
  encapsulation: i0.ViewEncapsulation.None
106170
106225
  });
106171
106226
  }
@@ -106174,60 +106229,111 @@ i0.ɵɵngDeclareClassMetadata({
106174
106229
  minVersion: "12.0.0",
106175
106230
  version: "22.2.3",
106176
106231
  ngImport: i0,
106177
- type: TableReorderOverlayComponent,
106232
+ type: TableRowDetailComponent,
106178
106233
  decorators: [{
106179
106234
  type: Component,
106180
106235
  args: [{
106181
- selector: "et-table-reorder-overlay",
106236
+ selector: "et-table-row-detail",
106182
106237
  template: `
106183
- @if (reorder.dragging(); as drag) {
106184
- <!-- Floating copy of the dragged header; the table's own markup stays put until drop. -->
106185
- @if (reorder.pointer(); as position) {
106186
- <div [style.left.px]="position.x" [style.top.px]="position.y" class="et-table-drag-ghost" aria-hidden="true">
106187
- {{ drag.header }}
106188
- </div>
106189
- }
106190
- }
106238
+ <!-- The clip window the animating track squeezes to nothing, and the body that carries the padding.
106239
+ Two elements on purpose - see table-detail-styles.component.css. -->
106240
+ <div [attr.role]="table.cellRole()" class="et-table-detail-cell">
106241
+ <div class="et-table-detail-body">
106242
+ <ng-container *ngTemplateOutlet="table.detailTemplate(); context: { $implicit: row() }" />
106243
+ </div>
106244
+ </div>
106191
106245
  `,
106192
106246
  encapsulation: ViewEncapsulation.None,
106193
- styles: ["@layer components{.et-table-host--reorderable .et-table-header-cell:not(.et-table-sticky-start,.et-table-sticky-end,.et-table-select-cell,.et-table-expander-cell){cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.et-table-header-cell:where(.et-table-header-cell--dragging){cursor:grabbing;opacity:.4}.et-table-drag-ghost{position:fixed;z-index:10;transform:translate(12px,8px);max-inline-size:256px;padding:var(--et-table-cell-padding-block) var(--et-table-cell-padding-inline);overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:var(--et-surface-color-solid, CanvasText);background:var(--et-surface-background-solid, Canvas);border:1px solid var(--et-surface-border-solid, rgb(128 128 128 / .3));border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--et-surface-interaction-solid, black) 18%,transparent);pointer-events:none}}\n"]
106247
+ imports: [NgTemplateOutlet],
106248
+ host: {
106249
+ class: "et-table-detail-row",
106250
+ role: "row",
106251
+ "[attr.aria-rowindex]": "table.detailAriaRowIndex(row())",
106252
+ "[animate.enter]": "animated() ? 'et-table-detail--enter' : ''",
106253
+ "[animate.leave]": "animated() ? 'et-table-detail--leave' : ''"
106254
+ }
106194
106255
  }]
106195
- }]
106256
+ }],
106257
+ ctorParameters: () => [],
106258
+ propDecorators: { row: [{
106259
+ type: i0.Input,
106260
+ args: [{
106261
+ isSignal: true,
106262
+ alias: "row",
106263
+ required: true
106264
+ }]
106265
+ }] }
106196
106266
  });
106197
- const opensElsewhere = (event) => event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey;
106198
- var TableRowRouterLinkDirective = class TableRowRouterLinkDirective {
106267
+ const DETAIL_ANIMATION_MS = 200;
106268
+ var TableRowExpansionDirective = class TableRowExpansionDirective {
106199
106269
  constructor() {
106200
- this.table = injectTableFeatureHost("etTableRowRouterLink");
106201
- this.router = inject(Router);
106202
- this.route = inject(ActivatedRoute, { optional: true });
106270
+ this.table = injectTableFeatureHost("etTableRowExpansion");
106271
+ this.destroyRef = inject(DestroyRef);
106203
106272
  this.config = input({}, {
106204
106273
  ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
106205
- alias: "etTableRowRouterLink",
106274
+ alias: "etTableRowExpansion",
106206
106275
  transform: tableFeatureConfig
106207
106276
  });
106208
- this.table.registerRowNavigation({
106209
- href: (commands) => this.href(commands),
106210
- navigate: (commands, event) => this.navigate(commands, event),
106277
+ this.ownExpanded = signal(/* @__PURE__ */ new Set(), ...ngDevMode ? [{ debugName: "ownExpanded" }] : /* istanbul ignore next */ []);
106278
+ this.expanded = computed(() => this.config().expanded ?? this.ownExpanded, ...ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []);
106279
+ this.userToggledKey = signal(null, ...ngDevMode ? [{ debugName: "userToggledKey" }] : /* istanbul ignore next */ []);
106280
+ const injector = inject(Injector);
106281
+ this.table.registerLeadColumn({
106282
+ key: "et-table-expander",
106283
+ width: "var(--et-table-expander-width, 32px)",
106284
+ order: 100,
106285
+ cellClass: "et-table-expander-cell",
106286
+ bodyComponent: TableExpanderCellComponent,
106287
+ injector,
106288
+ enabled: computed(() => this.config().enabled ?? true)
106289
+ });
106290
+ this.table.registerRowDetail({
106291
+ component: TableRowDetailComponent,
106292
+ isOpen: (row) => this.canExpand(row) && this.isExpanded(row),
106293
+ injector,
106211
106294
  enabled: computed(() => this.config().enabled ?? true)
106212
106295
  });
106296
+ this.table.registerStateSlice({
106297
+ key: "expansion",
106298
+ read: () => {
106299
+ if (!this.table.hasRowKey()) return void 0;
106300
+ const keys = [...this.expanded()()];
106301
+ return keys.length ? keys : void 0;
106302
+ },
106303
+ write: (value) => {
106304
+ if (this.table.hasRowKey() && Array.isArray(value)) this.expanded().set(new Set(value.filter((key) => typeof key === "string" || typeof key === "number")));
106305
+ }
106306
+ });
106307
+ injectStyleManager().mount(TableDetailStylesComponent);
106213
106308
  }
106214
- href(commands) {
106215
- return this.router.serializeUrl(this.urlTree(commands));
106309
+ isExpanded(row) {
106310
+ return this.expanded()().has(this.table.rowIdentity(row));
106216
106311
  }
106217
- navigate(commands, event) {
106218
- if (opensElsewhere(event)) return false;
106219
- this.router.navigateByUrl(this.urlTree(commands));
106220
- return true;
106312
+ canExpand(row) {
106313
+ return this.config().expandableRow?.(row) ?? true;
106221
106314
  }
106222
- urlTree(commands) {
106223
- return this.router.createUrlTree([...commands], { relativeTo: this.route });
106315
+ animates(row) {
106316
+ return this.userToggledKey() === this.table.rowIdentity(row);
106317
+ }
106318
+ toggle(row) {
106319
+ const key = this.table.rowIdentity(row);
106320
+ const next = new Set(this.expanded()());
106321
+ if (next.has(key)) next.delete(key);
106322
+ else next.add(key);
106323
+ this.markUserToggled(key);
106324
+ this.expanded().set(next);
106325
+ }
106326
+ markUserToggled(key) {
106327
+ this.userToggledKey.set(key);
106328
+ this.userToggleReset?.unsubscribe();
106329
+ this.userToggleReset = timer(DETAIL_ANIMATION_MS).pipe(tap(() => this.userToggledKey.set(null)), takeUntilDestroyed(this.destroyRef)).subscribe();
106224
106330
  }
106225
106331
  static {
106226
106332
  this.ɵfac = i0.ɵɵngDeclareFactory({
106227
106333
  minVersion: "12.0.0",
106228
106334
  version: "22.2.3",
106229
106335
  ngImport: i0,
106230
- type: TableRowRouterLinkDirective,
106336
+ type: TableRowExpansionDirective,
106231
106337
  deps: [],
106232
106338
  target: i0.ɵɵFactoryTarget.Directive
106233
106339
  });
@@ -106236,17 +106342,21 @@ var TableRowRouterLinkDirective = class TableRowRouterLinkDirective {
106236
106342
  this.ɵdir = i0.ɵɵngDeclareDirective({
106237
106343
  minVersion: "17.1.0",
106238
106344
  version: "22.2.3",
106239
- type: TableRowRouterLinkDirective,
106345
+ type: TableRowExpansionDirective,
106240
106346
  isStandalone: true,
106241
- selector: "[etTableRowRouterLink]",
106347
+ selector: "[etTableRowExpansion]",
106242
106348
  inputs: { config: {
106243
106349
  classPropertyName: "config",
106244
- publicName: "etTableRowRouterLink",
106350
+ publicName: "etTableRowExpansion",
106245
106351
  isSignal: true,
106246
106352
  isRequired: false,
106247
106353
  transformFunction: null
106248
106354
  } },
106249
- exportAs: ["etTableRowRouterLink"],
106355
+ providers: [{
106356
+ provide: TABLE_ROW_EXPANSION_TOKEN,
106357
+ useExisting: TableRowExpansionDirective
106358
+ }],
106359
+ exportAs: ["etTableRowExpansion"],
106250
106360
  ngImport: i0
106251
106361
  });
106252
106362
  }
@@ -106255,12 +106365,16 @@ i0.ɵɵngDeclareClassMetadata({
106255
106365
  minVersion: "12.0.0",
106256
106366
  version: "22.2.3",
106257
106367
  ngImport: i0,
106258
- type: TableRowRouterLinkDirective,
106368
+ type: TableRowExpansionDirective,
106259
106369
  decorators: [{
106260
106370
  type: Directive,
106261
106371
  args: [{
106262
- selector: "[etTableRowRouterLink]",
106263
- exportAs: "etTableRowRouterLink"
106372
+ selector: "[etTableRowExpansion]",
106373
+ exportAs: "etTableRowExpansion",
106374
+ providers: [{
106375
+ provide: TABLE_ROW_EXPANSION_TOKEN,
106376
+ useExisting: TableRowExpansionDirective
106377
+ }]
106264
106378
  }]
106265
106379
  }],
106266
106380
  ctorParameters: () => [],
@@ -106268,95 +106382,45 @@ i0.ɵɵngDeclareClassMetadata({
106268
106382
  type: i0.Input,
106269
106383
  args: [{
106270
106384
  isSignal: true,
106271
- alias: "etTableRowRouterLink",
106385
+ alias: "etTableRowExpansion",
106272
106386
  required: false
106273
106387
  }]
106274
106388
  }] }
106275
106389
  });
106276
- const KEYBOARD_STEP = 10;
106277
- const KEYBOARD_LARGE_STEP = 50;
106278
- const keyboardTarget = (key, { now, step, min, max }) => {
106279
- switch (key) {
106280
- case "ArrowRight": return now + step;
106281
- case "ArrowLeft": return now - step;
106282
- case "Home": return min;
106283
- case "End": return Number.isFinite(max) ? max : null;
106284
- default: return null;
106285
- }
106286
- };
106287
- var TableResizeDirective = class TableResizeDirective {
106390
+ const opensElsewhere = (event) => event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey;
106391
+ var TableRowRouterLinkDirective = class TableRowRouterLinkDirective {
106288
106392
  constructor() {
106289
- this.table = injectTableFeatureHost("etTableResize");
106290
- this.elementRef = inject(ElementRef);
106393
+ this.table = injectTableFeatureHost("etTableRowRouterLink");
106394
+ this.router = inject(Router);
106395
+ this.route = inject(ActivatedRoute, { optional: true });
106291
106396
  this.config = input({}, {
106292
106397
  ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
106293
- alias: "etTableResize",
106398
+ alias: "etTableRowRouterLink",
106294
106399
  transform: tableFeatureConfig
106295
106400
  });
106296
- this.resizing = signal(null, ...ngDevMode ? [{ debugName: "resizing" }] : /* istanbul ignore next */ []);
106297
- this.table.registerHeaderAdornment({
106298
- component: TableResizeGripComponent,
106299
- injector: inject(Injector),
106300
- order: 10,
106301
- enabled: computed(() => (this.config().enabled ?? true) && this.table.visibleColumnsMeta().length > 1)
106302
- });
106303
- }
106304
- start(column) {
106305
- this.resizing.set({
106306
- key: column.key,
106307
- startWidth: this.table.renderedColumnWidth(column.key),
106308
- hadOverride: this.table.hasColumnWidthOverride(column.key),
106309
- inlineSign: this.inlineSign()
106401
+ this.table.registerRowNavigation({
106402
+ href: (commands) => this.href(commands),
106403
+ navigate: (commands, event) => this.navigate(commands, event),
106404
+ enabled: computed(() => this.config().enabled ?? true)
106310
106405
  });
106311
106406
  }
106312
- widthOf(column) {
106313
- const { min, max } = this.table.columnWidthBounds(column.key);
106314
- return {
106315
- now: this.table.columnWidths()[column.key] ?? Math.round(this.table.renderedColumnWidth(column.key)),
106316
- min,
106317
- max
106318
- };
106407
+ href(commands) {
106408
+ return this.router.serializeUrl(this.urlTree(commands));
106319
106409
  }
106320
- resizeByKey(column, event) {
106321
- const { now, min, max } = this.widthOf(column);
106322
- const step = (event.shiftKey ? KEYBOARD_LARGE_STEP : KEYBOARD_STEP) * this.inlineSign();
106323
- const target = keyboardTarget(event.key, {
106324
- now,
106325
- step,
106326
- min,
106327
- max
106328
- });
106329
- if (target === null) return false;
106330
- this.table.setColumnWidth(column.key, target);
106410
+ navigate(commands, event) {
106411
+ if (opensElsewhere(event)) return false;
106412
+ this.router.navigateByUrl(this.urlTree(commands));
106331
106413
  return true;
106332
106414
  }
106333
- update(event) {
106334
- const resizing = this.resizing();
106335
- if (!resizing) return;
106336
- this.table.setColumnWidth(resizing.key, Math.round(resizing.startWidth + resizing.inlineSign * event.totalDx));
106337
- }
106338
- end() {
106339
- this.resizing.set(null);
106340
- }
106341
- cancel() {
106342
- const resizing = this.resizing();
106343
- if (!resizing) return;
106344
- if (resizing.hadOverride) this.table.setColumnWidth(resizing.key, resizing.startWidth);
106345
- else this.table.resetColumnWidth(resizing.key);
106346
- this.resizing.set(null);
106347
- }
106348
- reset(column) {
106349
- this.table.resetColumnWidth(column.key);
106350
- }
106351
- inlineSign() {
106352
- return getComputedStyle(this.elementRef.nativeElement).direction === "rtl" ? -1 : 1;
106415
+ urlTree(commands) {
106416
+ return this.router.createUrlTree([...commands], { relativeTo: this.route });
106353
106417
  }
106354
106418
  static {
106355
106419
  this.ɵfac = i0.ɵɵngDeclareFactory({
106356
106420
  minVersion: "12.0.0",
106357
106421
  version: "22.2.3",
106358
106422
  ngImport: i0,
106359
- type: TableResizeDirective,
106423
+ type: TableRowRouterLinkDirective,
106360
106424
  deps: [],
106361
106425
  target: i0.ɵɵFactoryTarget.Directive
106362
106426
  });
@@ -106365,17 +106429,17 @@ var TableResizeDirective = class TableResizeDirective {
106365
106429
  this.ɵdir = i0.ɵɵngDeclareDirective({
106366
106430
  minVersion: "17.1.0",
106367
106431
  version: "22.2.3",
106368
- type: TableResizeDirective,
106432
+ type: TableRowRouterLinkDirective,
106369
106433
  isStandalone: true,
106370
- selector: "[etTableResize]",
106434
+ selector: "[etTableRowRouterLink]",
106371
106435
  inputs: { config: {
106372
106436
  classPropertyName: "config",
106373
- publicName: "etTableResize",
106437
+ publicName: "etTableRowRouterLink",
106374
106438
  isSignal: true,
106375
106439
  isRequired: false,
106376
106440
  transformFunction: null
106377
106441
  } },
106378
- exportAs: ["etTableResize"],
106442
+ exportAs: ["etTableRowRouterLink"],
106379
106443
  ngImport: i0
106380
106444
  });
106381
106445
  }
@@ -106384,12 +106448,12 @@ i0.ɵɵngDeclareClassMetadata({
106384
106448
  minVersion: "12.0.0",
106385
106449
  version: "22.2.3",
106386
106450
  ngImport: i0,
106387
- type: TableResizeDirective,
106451
+ type: TableRowRouterLinkDirective,
106388
106452
  decorators: [{
106389
106453
  type: Directive,
106390
106454
  args: [{
106391
- selector: "[etTableResize]",
106392
- exportAs: "etTableResize"
106455
+ selector: "[etTableRowRouterLink]",
106456
+ exportAs: "etTableRowRouterLink"
106393
106457
  }]
106394
106458
  }],
106395
106459
  ctorParameters: () => [],
@@ -106397,14 +106461,14 @@ i0.ɵɵngDeclareClassMetadata({
106397
106461
  type: i0.Input,
106398
106462
  args: [{
106399
106463
  isSignal: true,
106400
- alias: "etTableResize",
106464
+ alias: "etTableRowRouterLink",
106401
106465
  required: false
106402
106466
  }]
106403
106467
  }] }
106404
106468
  });
106405
106469
  var TableResizeGripComponent = class TableResizeGripComponent {
106406
106470
  constructor() {
106407
- this.resize = inject(TableResizeDirective);
106471
+ this.resize = inject(TABLE_RESIZE_TOKEN);
106408
106472
  this.injector = inject(Injector);
106409
106473
  this.column = input.required(...ngDevMode ? [{ debugName: "column" }] : /* istanbul ignore next */ []);
106410
106474
  this.labels = this.resize.table.resolvedLabels;
@@ -106539,89 +106603,90 @@ i0.ɵɵngDeclareClassMetadata({
106539
106603
  }]
106540
106604
  }] }
106541
106605
  });
106542
- var TableSelectionDirective = class TableSelectionDirective {
106606
+ const KEYBOARD_STEP = 10;
106607
+ const KEYBOARD_LARGE_STEP = 50;
106608
+ const keyboardTarget = (key, { now, step, min, max }) => {
106609
+ switch (key) {
106610
+ case "ArrowRight": return now + step;
106611
+ case "ArrowLeft": return now - step;
106612
+ case "Home": return min;
106613
+ case "End": return Number.isFinite(max) ? max : null;
106614
+ default: return null;
106615
+ }
106616
+ };
106617
+ var TableResizeDirective = class TableResizeDirective {
106543
106618
  constructor() {
106544
- this.table = injectTableFeatureHost("etTableSelection");
106619
+ this.table = injectTableFeatureHost("etTableResize");
106620
+ this.elementRef = inject(ElementRef);
106545
106621
  this.config = input({}, {
106546
106622
  ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
106547
- alias: "etTableSelection",
106623
+ alias: "etTableResize",
106548
106624
  transform: tableFeatureConfig
106549
106625
  });
106550
- this.ownSelection = signal(/* @__PURE__ */ new Set(), ...ngDevMode ? [{ debugName: "ownSelection" }] : /* istanbul ignore next */ []);
106551
- this.selection = computed(() => this.config().selection ?? this.ownSelection, ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
106552
- this.selectAllLabel = computed(() => this.table.resolvedLabels().selectAllRows, ...ngDevMode ? [{ debugName: "selectAllLabel" }] : /* istanbul ignore next */ []);
106553
- this.rowLabel = computed(() => this.table.resolvedLabels().selectRow, ...ngDevMode ? [{ debugName: "rowLabel" }] : /* istanbul ignore next */ []);
106554
- this.selectableRows = computed(() => {
106555
- const gate = this.config().selectableRow;
106556
- return gate ? this.rows().filter((row) => gate(row)) : this.rows();
106557
- }, ...ngDevMode ? [{ debugName: "selectableRows" }] : /* istanbul ignore next */ []);
106558
- this.selectedRows = computed(() => this.rows().filter((row) => this.isSelected(row)), ...ngDevMode ? [{ debugName: "selectedRows" }] : /* istanbul ignore next */ []);
106559
- this.isAllSelected = computed(() => {
106560
- const rows = this.selectableRows();
106561
- return rows.length > 0 && rows.every((row) => this.isSelected(row));
106562
- }, ...ngDevMode ? [{ debugName: "isAllSelected" }] : /* istanbul ignore next */ []);
106563
- this.isPartiallySelected = computed(() => {
106564
- const rows = this.selectableRows();
106565
- const selected = rows.filter((row) => this.isSelected(row)).length;
106566
- return selected > 0 && selected < rows.length;
106567
- }, ...ngDevMode ? [{ debugName: "isPartiallySelected" }] : /* istanbul ignore next */ []);
106568
- this.table.registerLeadColumn({
106569
- key: "et-table-selection",
106570
- width: "var(--et-table-select-width, 44px)",
106571
- side: computed(() => this.config().side ?? "start"),
106572
- order: 0,
106573
- cellClass: "et-table-select-cell",
106574
- headerComponent: TableSelectAllCellComponent,
106575
- bodyComponent: TableSelectCellComponent,
106626
+ this.resizing = signal(null, ...ngDevMode ? [{ debugName: "resizing" }] : /* istanbul ignore next */ []);
106627
+ this.table.registerHeaderAdornment({
106628
+ component: TableResizeGripComponent,
106576
106629
  injector: inject(Injector),
106577
- rowClass: (row) => this.isSelected(row) ? "et-table-row--selected" : null,
106578
- enabled: computed(() => this.config().enabled ?? true)
106630
+ order: 10,
106631
+ enabled: computed(() => (this.config().enabled ?? true) && this.table.visibleColumnsMeta().length > 1)
106579
106632
  });
106580
- this.table.registerStateSlice({
106581
- key: "selection",
106582
- read: () => {
106583
- if (!this.table.hasRowKey()) return void 0;
106584
- const keys = [...this.selection()()];
106585
- return keys.length ? keys : void 0;
106586
- },
106587
- write: (value) => {
106588
- if (this.table.hasRowKey() && Array.isArray(value)) this.selection().set(new Set(value.filter((key) => typeof key === "string" || typeof key === "number")));
106589
- }
106633
+ }
106634
+ start(column) {
106635
+ this.resizing.set({
106636
+ key: column.key,
106637
+ startWidth: this.table.renderedColumnWidth(column.key),
106638
+ hadOverride: this.table.hasColumnWidthOverride(column.key),
106639
+ inlineSign: this.inlineSign()
106590
106640
  });
106591
106641
  }
106592
- isSelected(row) {
106593
- return this.selection()().has(this.table.rowIdentity(row));
106642
+ widthOf(column) {
106643
+ const { min, max } = this.table.columnWidthBounds(column.key);
106644
+ return {
106645
+ now: this.table.columnWidths()[column.key] ?? Math.round(this.table.renderedColumnWidth(column.key)),
106646
+ min,
106647
+ max
106648
+ };
106594
106649
  }
106595
- setSelected(row, selected) {
106596
- const key = this.table.rowIdentity(row);
106597
- const next = new Set(this.selection()());
106598
- if (selected) next.add(key);
106599
- else next.delete(key);
106600
- this.selection().set(next);
106650
+ resizeByKey(column, event) {
106651
+ const { now, min, max } = this.widthOf(column);
106652
+ const step = (event.shiftKey ? KEYBOARD_LARGE_STEP : KEYBOARD_STEP) * this.inlineSign();
106653
+ const target = keyboardTarget(event.key, {
106654
+ now,
106655
+ step,
106656
+ min,
106657
+ max
106658
+ });
106659
+ if (target === null) return false;
106660
+ this.table.setColumnWidth(column.key, target);
106661
+ return true;
106601
106662
  }
106602
- toggleAll() {
106603
- const rows = this.selectableRows();
106604
- const next = new Set(this.selection()());
106605
- const clearing = this.isAllSelected();
106606
- for (const row of rows) {
106607
- const key = this.table.rowIdentity(row);
106608
- if (clearing) next.delete(key);
106609
- else next.add(key);
106610
- }
106611
- this.selection().set(next);
106663
+ update(event) {
106664
+ const resizing = this.resizing();
106665
+ if (!resizing) return;
106666
+ this.table.setColumnWidth(resizing.key, Math.round(resizing.startWidth + resizing.inlineSign * event.totalDx));
106612
106667
  }
106613
- canSelect(row) {
106614
- return this.config().selectableRow?.(row) ?? true;
106668
+ end() {
106669
+ this.resizing.set(null);
106615
106670
  }
106616
- rows() {
106617
- return this.table.rows();
106671
+ cancel() {
106672
+ const resizing = this.resizing();
106673
+ if (!resizing) return;
106674
+ if (resizing.hadOverride) this.table.setColumnWidth(resizing.key, resizing.startWidth);
106675
+ else this.table.resetColumnWidth(resizing.key);
106676
+ this.resizing.set(null);
106677
+ }
106678
+ reset(column) {
106679
+ this.table.resetColumnWidth(column.key);
106680
+ }
106681
+ inlineSign() {
106682
+ return getComputedStyle(this.elementRef.nativeElement).direction === "rtl" ? -1 : 1;
106618
106683
  }
106619
106684
  static {
106620
106685
  this.ɵfac = i0.ɵɵngDeclareFactory({
106621
106686
  minVersion: "12.0.0",
106622
106687
  version: "22.2.3",
106623
106688
  ngImport: i0,
106624
- type: TableSelectionDirective,
106689
+ type: TableResizeDirective,
106625
106690
  deps: [],
106626
106691
  target: i0.ɵɵFactoryTarget.Directive
106627
106692
  });
@@ -106630,17 +106695,21 @@ var TableSelectionDirective = class TableSelectionDirective {
106630
106695
  this.ɵdir = i0.ɵɵngDeclareDirective({
106631
106696
  minVersion: "17.1.0",
106632
106697
  version: "22.2.3",
106633
- type: TableSelectionDirective,
106698
+ type: TableResizeDirective,
106634
106699
  isStandalone: true,
106635
- selector: "[etTableSelection]",
106700
+ selector: "[etTableResize]",
106636
106701
  inputs: { config: {
106637
106702
  classPropertyName: "config",
106638
- publicName: "etTableSelection",
106703
+ publicName: "etTableResize",
106639
106704
  isSignal: true,
106640
106705
  isRequired: false,
106641
106706
  transformFunction: null
106642
106707
  } },
106643
- exportAs: ["etTableSelection"],
106708
+ providers: [{
106709
+ provide: TABLE_RESIZE_TOKEN,
106710
+ useExisting: TableResizeDirective
106711
+ }],
106712
+ exportAs: ["etTableResize"],
106644
106713
  ngImport: i0
106645
106714
  });
106646
106715
  }
@@ -106649,12 +106718,16 @@ i0.ɵɵngDeclareClassMetadata({
106649
106718
  minVersion: "12.0.0",
106650
106719
  version: "22.2.3",
106651
106720
  ngImport: i0,
106652
- type: TableSelectionDirective,
106721
+ type: TableResizeDirective,
106653
106722
  decorators: [{
106654
106723
  type: Directive,
106655
106724
  args: [{
106656
- selector: "[etTableSelection]",
106657
- exportAs: "etTableSelection"
106725
+ selector: "[etTableResize]",
106726
+ exportAs: "etTableResize",
106727
+ providers: [{
106728
+ provide: TABLE_RESIZE_TOKEN,
106729
+ useExisting: TableResizeDirective
106730
+ }]
106658
106731
  }]
106659
106732
  }],
106660
106733
  ctorParameters: () => [],
@@ -106662,14 +106735,14 @@ i0.ɵɵngDeclareClassMetadata({
106662
106735
  type: i0.Input,
106663
106736
  args: [{
106664
106737
  isSignal: true,
106665
- alias: "etTableSelection",
106738
+ alias: "etTableResize",
106666
106739
  required: false
106667
106740
  }]
106668
106741
  }] }
106669
106742
  });
106670
106743
  var TableSelectAllCellComponent = class TableSelectAllCellComponent {
106671
106744
  constructor() {
106672
- this.selection = inject(TableSelectionDirective);
106745
+ this.selection = inject(TABLE_SELECTION_TOKEN);
106673
106746
  }
106674
106747
  static {
106675
106748
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -106733,7 +106806,7 @@ i0.ɵɵngDeclareClassMetadata({
106733
106806
  });
106734
106807
  var TableSelectCellComponent = class TableSelectCellComponent {
106735
106808
  constructor() {
106736
- this.selection = inject(TableSelectionDirective);
106809
+ this.selection = inject(TABLE_SELECTION_TOKEN);
106737
106810
  this.row = input.required(...ngDevMode ? [{ debugName: "row" }] : /* istanbul ignore next */ []);
106738
106811
  }
106739
106812
  static {
@@ -107070,83 +107143,6 @@ i0.ɵɵngDeclareClassMetadata({
107070
107143
  }]
107071
107144
  }] }
107072
107145
  });
107073
- var TableSkeletonDirective = class TableSkeletonDirective {
107074
- constructor() {
107075
- this.table = injectTableFeatureHost("etTableSkeleton");
107076
- this.config = input({}, {
107077
- ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
107078
- alias: "etTableSkeleton",
107079
- transform: tableFeatureConfig
107080
- });
107081
- this.measuredRowHeight = signal(null, ...ngDevMode ? [{ debugName: "measuredRowHeight" }] : /* istanbul ignore next */ []);
107082
- const enabled = computed(() => this.config().enabled ?? true, ...ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []);
107083
- this.table.registerBodyPlaceholder({
107084
- component: TableSkeletonRowsComponent,
107085
- injector: inject(Injector),
107086
- enabled
107087
- });
107088
- this.table.registerCellPlaceholder({
107089
- component: SkeletonItemComponent,
107090
- enabled
107091
- });
107092
- afterEveryRender({ read: () => {
107093
- const cell = this.table.firstBodyCellElement();
107094
- if (!cell) return;
107095
- const height = Math.round(cell.getBoundingClientRect().height);
107096
- if (height > 0 && height !== untracked(this.measuredRowHeight)) this.measuredRowHeight.set(height);
107097
- } });
107098
- }
107099
- static {
107100
- this.ɵfac = i0.ɵɵngDeclareFactory({
107101
- minVersion: "12.0.0",
107102
- version: "22.2.3",
107103
- ngImport: i0,
107104
- type: TableSkeletonDirective,
107105
- deps: [],
107106
- target: i0.ɵɵFactoryTarget.Directive
107107
- });
107108
- }
107109
- static {
107110
- this.ɵdir = i0.ɵɵngDeclareDirective({
107111
- minVersion: "17.1.0",
107112
- version: "22.2.3",
107113
- type: TableSkeletonDirective,
107114
- isStandalone: true,
107115
- selector: "[etTableSkeleton]",
107116
- inputs: { config: {
107117
- classPropertyName: "config",
107118
- publicName: "etTableSkeleton",
107119
- isSignal: true,
107120
- isRequired: false,
107121
- transformFunction: null
107122
- } },
107123
- exportAs: ["etTableSkeleton"],
107124
- ngImport: i0
107125
- });
107126
- }
107127
- };
107128
- i0.ɵɵngDeclareClassMetadata({
107129
- minVersion: "12.0.0",
107130
- version: "22.2.3",
107131
- ngImport: i0,
107132
- type: TableSkeletonDirective,
107133
- decorators: [{
107134
- type: Directive,
107135
- args: [{
107136
- selector: "[etTableSkeleton]",
107137
- exportAs: "etTableSkeleton"
107138
- }]
107139
- }],
107140
- ctorParameters: () => [],
107141
- propDecorators: { config: [{
107142
- type: i0.Input,
107143
- args: [{
107144
- isSignal: true,
107145
- alias: "etTableSkeleton",
107146
- required: false
107147
- }]
107148
- }] }
107149
- });
107150
107146
  const PLACEHOLDER_WIDTHS = [
107151
107147
  72,
107152
107148
  45,
@@ -107157,7 +107153,7 @@ const PLACEHOLDER_WIDTHS = [
107157
107153
  ];
107158
107154
  var TableSkeletonRowsComponent = class TableSkeletonRowsComponent {
107159
107155
  constructor() {
107160
- this.feature = inject(TableSkeletonDirective);
107156
+ this.feature = inject(TABLE_SKELETON_TOKEN);
107161
107157
  this.table = injectTableFeatureHost("etTableSkeleton");
107162
107158
  this.rows = computed(() => {
107163
107159
  const columns = this.table.visibleColumnsMeta();
@@ -107326,6 +107322,227 @@ i0.ɵɵngDeclareClassMetadata({
107326
107322
  }]
107327
107323
  }]
107328
107324
  });
107325
+ var TableSkeletonDirective = class TableSkeletonDirective {
107326
+ constructor() {
107327
+ this.table = injectTableFeatureHost("etTableSkeleton");
107328
+ this.config = input({}, {
107329
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
107330
+ alias: "etTableSkeleton",
107331
+ transform: tableFeatureConfig
107332
+ });
107333
+ this.measuredRowHeight = signal(null, ...ngDevMode ? [{ debugName: "measuredRowHeight" }] : /* istanbul ignore next */ []);
107334
+ const enabled = computed(() => this.config().enabled ?? true, ...ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []);
107335
+ this.table.registerBodyPlaceholder({
107336
+ component: TableSkeletonRowsComponent,
107337
+ injector: inject(Injector),
107338
+ enabled
107339
+ });
107340
+ this.table.registerCellPlaceholder({
107341
+ component: SkeletonItemComponent,
107342
+ enabled
107343
+ });
107344
+ afterEveryRender({ read: () => {
107345
+ const cell = this.table.firstBodyCellElement();
107346
+ if (!cell) return;
107347
+ const height = Math.round(cell.getBoundingClientRect().height);
107348
+ if (height > 0 && height !== untracked(this.measuredRowHeight)) this.measuredRowHeight.set(height);
107349
+ } });
107350
+ }
107351
+ static {
107352
+ this.ɵfac = i0.ɵɵngDeclareFactory({
107353
+ minVersion: "12.0.0",
107354
+ version: "22.2.3",
107355
+ ngImport: i0,
107356
+ type: TableSkeletonDirective,
107357
+ deps: [],
107358
+ target: i0.ɵɵFactoryTarget.Directive
107359
+ });
107360
+ }
107361
+ static {
107362
+ this.ɵdir = i0.ɵɵngDeclareDirective({
107363
+ minVersion: "17.1.0",
107364
+ version: "22.2.3",
107365
+ type: TableSkeletonDirective,
107366
+ isStandalone: true,
107367
+ selector: "[etTableSkeleton]",
107368
+ inputs: { config: {
107369
+ classPropertyName: "config",
107370
+ publicName: "etTableSkeleton",
107371
+ isSignal: true,
107372
+ isRequired: false,
107373
+ transformFunction: null
107374
+ } },
107375
+ providers: [{
107376
+ provide: TABLE_SKELETON_TOKEN,
107377
+ useExisting: TableSkeletonDirective
107378
+ }],
107379
+ exportAs: ["etTableSkeleton"],
107380
+ ngImport: i0
107381
+ });
107382
+ }
107383
+ };
107384
+ i0.ɵɵngDeclareClassMetadata({
107385
+ minVersion: "12.0.0",
107386
+ version: "22.2.3",
107387
+ ngImport: i0,
107388
+ type: TableSkeletonDirective,
107389
+ decorators: [{
107390
+ type: Directive,
107391
+ args: [{
107392
+ selector: "[etTableSkeleton]",
107393
+ exportAs: "etTableSkeleton",
107394
+ providers: [{
107395
+ provide: TABLE_SKELETON_TOKEN,
107396
+ useExisting: TableSkeletonDirective
107397
+ }]
107398
+ }]
107399
+ }],
107400
+ ctorParameters: () => [],
107401
+ propDecorators: { config: [{
107402
+ type: i0.Input,
107403
+ args: [{
107404
+ isSignal: true,
107405
+ alias: "etTableSkeleton",
107406
+ required: false
107407
+ }]
107408
+ }] }
107409
+ });
107410
+ var TableSelectionDirective = class TableSelectionDirective {
107411
+ constructor() {
107412
+ this.table = injectTableFeatureHost("etTableSelection");
107413
+ this.config = input({}, {
107414
+ ...ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {},
107415
+ alias: "etTableSelection",
107416
+ transform: tableFeatureConfig
107417
+ });
107418
+ this.ownSelection = signal(/* @__PURE__ */ new Set(), ...ngDevMode ? [{ debugName: "ownSelection" }] : /* istanbul ignore next */ []);
107419
+ this.selection = computed(() => this.config().selection ?? this.ownSelection, ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
107420
+ this.selectAllLabel = computed(() => this.table.resolvedLabels().selectAllRows, ...ngDevMode ? [{ debugName: "selectAllLabel" }] : /* istanbul ignore next */ []);
107421
+ this.rowLabel = computed(() => this.table.resolvedLabels().selectRow, ...ngDevMode ? [{ debugName: "rowLabel" }] : /* istanbul ignore next */ []);
107422
+ this.selectableRows = computed(() => {
107423
+ const gate = this.config().selectableRow;
107424
+ return gate ? this.rows().filter((row) => gate(row)) : this.rows();
107425
+ }, ...ngDevMode ? [{ debugName: "selectableRows" }] : /* istanbul ignore next */ []);
107426
+ this.selectedRows = computed(() => this.rows().filter((row) => this.isSelected(row)), ...ngDevMode ? [{ debugName: "selectedRows" }] : /* istanbul ignore next */ []);
107427
+ this.isAllSelected = computed(() => {
107428
+ const rows = this.selectableRows();
107429
+ return rows.length > 0 && rows.every((row) => this.isSelected(row));
107430
+ }, ...ngDevMode ? [{ debugName: "isAllSelected" }] : /* istanbul ignore next */ []);
107431
+ this.isPartiallySelected = computed(() => {
107432
+ const rows = this.selectableRows();
107433
+ const selected = rows.filter((row) => this.isSelected(row)).length;
107434
+ return selected > 0 && selected < rows.length;
107435
+ }, ...ngDevMode ? [{ debugName: "isPartiallySelected" }] : /* istanbul ignore next */ []);
107436
+ this.table.registerLeadColumn({
107437
+ key: "et-table-selection",
107438
+ width: "var(--et-table-select-width, 44px)",
107439
+ side: computed(() => this.config().side ?? "start"),
107440
+ order: 0,
107441
+ cellClass: "et-table-select-cell",
107442
+ headerComponent: TableSelectAllCellComponent,
107443
+ bodyComponent: TableSelectCellComponent,
107444
+ injector: inject(Injector),
107445
+ rowClass: (row) => this.isSelected(row) ? "et-table-row--selected" : null,
107446
+ enabled: computed(() => this.config().enabled ?? true)
107447
+ });
107448
+ this.table.registerStateSlice({
107449
+ key: "selection",
107450
+ read: () => {
107451
+ if (!this.table.hasRowKey()) return void 0;
107452
+ const keys = [...this.selection()()];
107453
+ return keys.length ? keys : void 0;
107454
+ },
107455
+ write: (value) => {
107456
+ if (this.table.hasRowKey() && Array.isArray(value)) this.selection().set(new Set(value.filter((key) => typeof key === "string" || typeof key === "number")));
107457
+ }
107458
+ });
107459
+ }
107460
+ isSelected(row) {
107461
+ return this.selection()().has(this.table.rowIdentity(row));
107462
+ }
107463
+ setSelected(row, selected) {
107464
+ const key = this.table.rowIdentity(row);
107465
+ const next = new Set(this.selection()());
107466
+ if (selected) next.add(key);
107467
+ else next.delete(key);
107468
+ this.selection().set(next);
107469
+ }
107470
+ toggleAll() {
107471
+ const rows = this.selectableRows();
107472
+ const next = new Set(this.selection()());
107473
+ const clearing = this.isAllSelected();
107474
+ for (const row of rows) {
107475
+ const key = this.table.rowIdentity(row);
107476
+ if (clearing) next.delete(key);
107477
+ else next.add(key);
107478
+ }
107479
+ this.selection().set(next);
107480
+ }
107481
+ canSelect(row) {
107482
+ return this.config().selectableRow?.(row) ?? true;
107483
+ }
107484
+ rows() {
107485
+ return this.table.rows();
107486
+ }
107487
+ static {
107488
+ this.ɵfac = i0.ɵɵngDeclareFactory({
107489
+ minVersion: "12.0.0",
107490
+ version: "22.2.3",
107491
+ ngImport: i0,
107492
+ type: TableSelectionDirective,
107493
+ deps: [],
107494
+ target: i0.ɵɵFactoryTarget.Directive
107495
+ });
107496
+ }
107497
+ static {
107498
+ this.ɵdir = i0.ɵɵngDeclareDirective({
107499
+ minVersion: "17.1.0",
107500
+ version: "22.2.3",
107501
+ type: TableSelectionDirective,
107502
+ isStandalone: true,
107503
+ selector: "[etTableSelection]",
107504
+ inputs: { config: {
107505
+ classPropertyName: "config",
107506
+ publicName: "etTableSelection",
107507
+ isSignal: true,
107508
+ isRequired: false,
107509
+ transformFunction: null
107510
+ } },
107511
+ providers: [{
107512
+ provide: TABLE_SELECTION_TOKEN,
107513
+ useExisting: TableSelectionDirective
107514
+ }],
107515
+ exportAs: ["etTableSelection"],
107516
+ ngImport: i0
107517
+ });
107518
+ }
107519
+ };
107520
+ i0.ɵɵngDeclareClassMetadata({
107521
+ minVersion: "12.0.0",
107522
+ version: "22.2.3",
107523
+ ngImport: i0,
107524
+ type: TableSelectionDirective,
107525
+ decorators: [{
107526
+ type: Directive,
107527
+ args: [{
107528
+ selector: "[etTableSelection]",
107529
+ exportAs: "etTableSelection",
107530
+ providers: [{
107531
+ provide: TABLE_SELECTION_TOKEN,
107532
+ useExisting: TableSelectionDirective
107533
+ }]
107534
+ }]
107535
+ }],
107536
+ ctorParameters: () => [],
107537
+ propDecorators: { config: [{
107538
+ type: i0.Input,
107539
+ args: [{
107540
+ isSignal: true,
107541
+ alias: "etTableSelection",
107542
+ required: false
107543
+ }]
107544
+ }] }
107545
+ });
107329
107546
  var TableVirtualScrollStylesComponent = class TableVirtualScrollStylesComponent {
107330
107547
  static {
107331
107548
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -110844,7 +111061,7 @@ const provideUnsavedChangesAlertDialog = () => provideUnsavedChangesConfirm(() =
110844
111061
  });
110845
111062
  };
110846
111063
  });
110847
- const COMPONENTS_VERSION = "1.0.0-next.79";
110848
- export { ACCESSIBLE_NAME_INPUTS, ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALERT_DIALOG_LABELS, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_LABELS, AVATAR_SHAPES, AVATAR_SIZES, AccessibleNameControlDirective, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DEFAULT_CARDS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_PARTICIPANTS_IMPORTS, BRACKET_PICK_CARD_IMPORTS, BRACKET_PICK_CARD_NOTE_TONE, BRACKET_ROUNDS_LIST_IMPORTS, BRACKET_ROUND_HEADER_ALIGN, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SKELETON_IMPORTS, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BarChartComponent, BarChartDirective, BarChartPlotDirective, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketParticipantsComponent, BracketPickCardComponent, BracketRoundsListComponent, BracketRuntimeError, BracketSkeletonComponent, BracketSkeletonContinueComponent, BracketSkeletonFinalMatchComponent, BracketSkeletonMatchComponent, BracketSkeletonRoundHeaderComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonColorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHART_ERROR_CODES, CHART_IMPORTS, CHART_LABELS, CHART_PLOT_HOST, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHIP_REMOVE_FOCUS_FALLBACK, CHIP_REMOVE_TAB_STOP, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_ERROR_CODES, COLOR_INPUT_IMPORTS, COLOR_INPUT_LABELS, COLOR_INPUT_TOKEN, COLOR_NOTATIONS, COLOR_NOTATION_ORDER, COMMAND_PALETTE_ERROR_CODES, COMMAND_PALETTE_IMPORTS, COMMAND_PALETTE_LABELS, COMMAND_PALETTE_OVERLAY, COMMAND_PALETTE_REGISTRY, COMMAND_PALETTE_TOKEN, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, COPY_BUTTON_LABELS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, ChartPlotDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ColorPickerAreaDirective, ColorPickerChannelDirective, ColorPickerPanelComponent, ColorPickerSurfaceDirective, ColorPickerTriggerDirective, CommandPaletteComponent, CommandPaletteDirective, CommandPaletteItemComponent, CommandPaletteSearchDirective, CommandPaletteShortcutDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_FORMAT, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DATE_TIME_RANGE_INPUT_ERROR_CODES, DATE_TIME_RANGE_INPUT_IMPORTS, DEFAULT_ALERT_DIALOG_LABELS, DEFAULT_AVATAR_LABELS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHART_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_COLOR_INPUT_LABELS, DEFAULT_COMMAND_PALETTE_LABELS, DEFAULT_COPY_BUTTON_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_DROPZONE_MAX_PREVIEW_FILE_SIZE, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_DEFAULTS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_KBD_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PROGRESS_STEP_LABELS, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STAT_TILE_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DEFAULT_TREE_LABELS, DEFAULT_UNSAVED_CHANGES_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DESCRIPTION_LIST_VARIANTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DateTimeRangeInputComponent, DateTimeRangeInputDirective, DateTimeRangeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYEDROPPER_ICON, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, FIELD_WARNINGS, FIELD_WARNING_KIND, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FORM_IMPORTS, FORM_WARNING_MESSAGE_RESOLVER, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormDirective, FormErrorComponent, FormFieldBarrierDirective, FormFieldComponent, FormFieldDirective, FormWarningComponent, GERMAN_ALERT_DIALOG_LABELS, GERMAN_AVATAR_LABELS, GERMAN_BANNER_LABELS, GERMAN_BRACKET_LABELS, GERMAN_BREADCRUMB_LABELS, GERMAN_CALENDAR_LABELS, GERMAN_CAROUSEL_LABELS, GERMAN_CASCADER_LABELS, GERMAN_CHART_LABELS, GERMAN_CHIP_LABELS, GERMAN_COLOR_INPUT_LABELS, GERMAN_COMMAND_PALETTE_LABELS, GERMAN_COPY_BUTTON_LABELS, GERMAN_DATE_TIME_LABELS, GERMAN_DROPZONE_LABELS, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_FORM_FIELD_LABELS, GERMAN_GRID_LABELS, GERMAN_INPUT_LABELS, GERMAN_KBD_LABELS, GERMAN_LOADER_LABELS, GERMAN_MATCH_LABELS, GERMAN_NOTIFICATION_LABELS, GERMAN_PAGINATION_LABELS, GERMAN_PHONE_INPUT_LABELS, GERMAN_PROGRESS_STEP_LABELS, GERMAN_QUERY_ERROR_LABELS, GERMAN_RICH_TEXT_EDITOR_LABELS, GERMAN_SCHEDULER_LABELS, GERMAN_SELECT_LABELS, GERMAN_SLIDER_LABELS, GERMAN_STANDINGS_LABELS, GERMAN_STAT_TILE_LABELS, GERMAN_STREAM_LABELS, GERMAN_TABLE_LABELS, GERMAN_TIME_PICKER_LABELS, GERMAN_TREE_LABELS, GERMAN_UNSAVED_CHANGES_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INHERIT_COLOR, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KBD_IMPORTS, KBD_LABELS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINE_CHART_ERROR_CODES, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_IMPORTS, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, LineChartComponent, LineChartDirective, LineChartSliceDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SEARCH_IMPORTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuItemSubmenuIconComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STACK_OVERLAY_LAYER, NOTIFICATION_STATUS, NO_STREAM_PLAYER_CAPABILITIES, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, NavTabLinkStylesComponent, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, NotificationSwipeToDismissDirective, NumberInputComponent, NumberInputDirective, OTP_INPUT_IMPORTS, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HAS_BACKDROP, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_NAV_TAB_IMPORTS, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OtpInputComponent, OtpInputDirective, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayNavTabLinkComponent, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PAGE_SIZE_SELECT_IMPORTS, PAGINATION_IMPORTS, PAGINATION_LABELS, PAGINATION_SIZES, PARAGRAPH_ICON, PASSWORD_INPUT_IMPORTS, PAUSE_ICON, PENCIL_ICON, PHONE_COUNTRIES, PHONE_INPUT_ERROR_CODES, PHONE_INPUT_IMPORTS, PHONE_INPUT_LABELS, PICTURE_IMPORTS, PICTURE_STATES, PIE_CHART_ERROR_CODES, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLAY_ICON, PLUS_ICON, PROGRESS_STEPS_IMPORTS, PROGRESS_STEPS_ORIENTATIONS, PROGRESS_STEP_LABELS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PagedQueryTriggerDirective, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PieChartComponent, PieChartDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepRouterActiveDirective, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryButtonDirective, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_ERROR_CODES, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, RichTextViewerComponent, SANKEY_CHART_ERROR_CODES, SCHEDULER_EDIT_SURFACE_IMPORTS, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SCROLLBAR_ERROR_CODES, SCROLLBAR_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_CARD_CONTROL_POSITIONS, SELECTION_LIST_ERROR_CODES, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STANDINGS_PICK_IMPORTS, STAR_ICON, STAT_TILE_IMPORTS, STAT_TILE_LABELS, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_DEFAULT_COMPONENTS, STREAM_ERROR_CODES, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SankeyChartComponent, SankeyChartDirective, SankeyChartMarkDirective, SchedulerActionAddAppointmentDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerAppointmentDragDirective, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditAddSubAppointmentItemComponent, SchedulerEditColorComponent, SchedulerEditDeleteItemComponent, SchedulerEditDescriptionComponent, SchedulerEditLocationComponent, SchedulerEditSurfaceActionsComponent, SchedulerEditSurfaceBreadcrumbComponent, SchedulerEditSurfaceChildrenComponent, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditSurfaceFieldsComponent, SchedulerEditSurfaceFooterComponent, SchedulerEditSurfaceHeaderComponent, SchedulerEditTimeRangeComponent, SchedulerEditTitleComponent, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, ScrollbarComponent, ScrollbarDirective, ScrollbarThumbDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectAllOptionComponent, SelectAllOptionDirective, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StandingsPickComponent, StandingsPickDirective, StandingsPickMarkDirective, StatTileComponent, StatTileSparklineComponent, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_DRAG_SCROLL_IMPORTS, TABLE_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_GROUP_HEADERS_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_PAGE_STICKY_HEADER_IMPORTS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_IMPORTS, TABLE_ROW_ROUTER_LINK_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_SKELETON_IMPORTS, TABLE_STATE_PERSISTENCE_IMPORTS, TABLE_STICKY_COLUMNS_IMPORTS, TABLE_VIRTUAL_SCROLL_IMPORTS, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_IMPORTS, TAB_PANEL_TOKEN, TAB_SIZES, TAG_INPUT_ERROR_CODES, TAG_INPUT_IMPORTS, TEXTAREA_IMPORTS, TEXTAREA_RESIZE_MODES, TEXT_ALIGNS, TEXT_FIELD_CONTROL_INPUTS, THUMBTACK_ICON, TIKTOK_PLAYER_TOKEN, TIMELINE_IMPORTS, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TIME_RANGE_INPUT_ERROR_CODES, TIME_RANGE_INPUT_IMPORTS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LABELS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCardSurfaceDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableDragScrollDirective, TableDragScrollStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TablePageStickyHeaderDirective, TablePageStickyHeaderStylesComponent, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowBoxStylesComponent, TableRowDetailComponent, TableRowExpansionDirective, TableRowRouterLinkDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableStickyColumnsStylesComponent, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerComponent, TimePickerDirective, TimePickerRingDirective, TimePickerRingHandleDirective, TimeRangeInputComponent, TimeRangeInputDirective, TimeRangeInputFieldDirective, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNSAVED_CHANGES_LABELS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WCAG_CONTRAST_RATIOS, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, alertDialogLabelsForLocale, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, avatarLabelsForLocale, bannerLabelsForLocale, bottomSheetOverlayStrategy, bracketFitsWidth, bracketLabelsForLocale, bracketNaturalWidth, bracketSlot, breadcrumbLabelsForLocale, buildAnchoredRuntimePositionStrategy, calendarLabelsForLocale, canHaveChildren, canonicalKbdKey, carouselLabelsForLocale, cascaderFromQuery, cascaderLabelsForLocale, centeredOverlayStrategy, chartLabelsForLocale, chipLabelsForLocale, clearLeavingSupportStateOnExit, colorContrast, colorInputLabelsForLocale, commandPaletteLabelsForLocale, copyButtonLabelsForLocale, countDescendants, createAlertDialogOpener, createAnchoredPanelController, createBracket, createCardMask, createCommandPaletteOpener, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlaySingleSlot, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createPlaceholderBracketSource, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createSchedulerRegistry, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableRowsState, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, dateBounds, dateRangeBounds, dateRangeOrder, dateTimeBounds, dateTimeLabelsForLocale, dateTimeRangeBounds, dateTimeRangeOrder, defaultCompareWith, defaultDropzoneRejectionMessage, defaultSankeyChartLinkKeyHint, defineOverlay, defineQueryParamOverlay, describeBracketSlot, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, dropzoneLabelsForLocale, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, filterValues, findNextRelevantHtmlElement, focusFirstInvalidField, formFieldLabelsForLocale, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFromEthleteRounds, getClosestOverlay, getColorContrastRatio, getOriginCoordinatesAndDimensions, gridLabelsForLocale, hexColor, hitsInteractiveElement, iconRegistryKey, injectAlertDialogLabels, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectAvatarLabels, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChartLabels, injectChipLabels, injectColorInputLabels, injectCommandPalette, injectCommandPaletteLabels, injectCommandPaletteRegistry, injectCopyButtonLabels, injectDateFormat, injectDateLocale, injectDateLocaleSignal, injectDateTimeFormat, injectDateTimeLabels, injectDateTimeZone, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldDefaults, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectKbdLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectProgressStepLabels, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurface, injectSchedulerEditSurfaceOpener, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStatTileLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamPlayerSlot, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, injectTreeLabels, injectUnsavedChangesLabels, inputLabelsForLocale, isBracketSlotPredictable, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isRestorableTableState, isTargetInsideOverlayTree, isTouchEvent, kbdKeyLabel, kbdKeyName, kbdLabelsForLocale, lastDaysPreset, lastMonthPreset, lastWeekPreset, leftSheetOverlayStrategy, legacyQueryErrorSource, loaderLabelsForLocale, mapGridLayout, matchCountryByDialCode, matchLabelsForLocale, matchParticipantDisplayName, matchedDialPrefix, matchesKbdChord, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mergeTableCsvExportOptions, migrateBracketPicks, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, missingStreamSourceError, mountNavTabLinkStyles, nextDaysPreset, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, notificationLabelsForLocale, numberInputStepMultiplierFrom, overlayResult, paginate, paginationLabelsForLocale, parseKbdKeys, phoneCountryFlag, phoneCountryName, phoneInputLabelsForLocale, progressStepLabelsForLocale, provideAlertDialogLabels, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideAvatarLabels, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChartLabels, provideChipLabels, provideColorInputLabels, provideCommandPaletteLabels, provideCommandPaletteRegistry, provideCopyButtonLabels, provideDateFormat, provideDateLocale, provideDateTimeFormat, provideDateTimeLabels, provideDateTimeZone, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldDefaults, provideFormFieldLabels, provideFormSupport, provideFormWarningMessageResolver, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideKbdLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideProgressStepLabels, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTool, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerEditSurface, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStatTileLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPip, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, provideTreeLabels, provideUnsavedChangesAlertDialog, provideUnsavedChangesLabels, queryButtonSourceFromV2Query, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, quickFilterRows, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerCommands, registerSingleton, rejectionMessage, requiredLanguages, resolveBracketLayout, resolveBracketSlot, resolveClosestOverlay, resolveFilterOverlaySubmitButton, resolveNormalizedMatchSideState, resolveNotificationStatusIcon, resolveOverlayHasBackdrop, resolveTableCsvRows, rgbColor, richTextEditorLabelsForLocale, richTextEditorToolLabel, rightSheetOverlayStrategy, schedulerFeatureConfig, schedulerLabelsForLocale, selectLabelsForLocale, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, singleEliminationBracketLayout, sliderLabelsForLocale, sortRows, standingRankSides, standingsLabelsForLocale, startOfCalendarUnit, statTileLabelsForLocale, streamLabelsForLocale, stripTrunkZero, supportPresentationIncludesState, swapStandingRank, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableLabelsForLocale, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, thisMonthPreset, thisWeekPreset, thisYearPreset, timeBounds, timePickerLabelsForLocale, timeRangeBounds, timeRangeOrder, toFieldWarnings, toGridPosition, toNotificationContent, toPictureDimension, todayPreset, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, treeLabelsForLocale, unsavedChangesLabelsForLocale, validateBracketSource, warn, wireFormSupport, withPictureBaseUrl, yesterdayPreset };
111064
+ const COMPONENTS_VERSION = "1.0.0-next.81";
111065
+ export { ACCESSIBLE_NAME_INPUTS, ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALERT_DIALOG_LABELS, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_LABELS, AVATAR_SHAPES, AVATAR_SIZES, AccessibleNameControlDirective, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DEFAULT_CARDS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_PARTICIPANTS_IMPORTS, BRACKET_PICK_CARD_IMPORTS, BRACKET_PICK_CARD_NOTE_TONE, BRACKET_ROUNDS_LIST_IMPORTS, BRACKET_ROUND_HEADER_ALIGN, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SKELETON_IMPORTS, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BarChartComponent, BarChartDirective, BarChartPlotDirective, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketParticipantsComponent, BracketPickCardComponent, BracketRoundsListComponent, BracketRuntimeError, BracketSkeletonComponent, BracketSkeletonContinueComponent, BracketSkeletonFinalMatchComponent, BracketSkeletonMatchComponent, BracketSkeletonRoundHeaderComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonColorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHART_ERROR_CODES, CHART_IMPORTS, CHART_LABELS, CHART_PLOT_HOST, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHIP_REMOVE_FOCUS_FALLBACK, CHIP_REMOVE_TAB_STOP, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_ERROR_CODES, COLOR_INPUT_IMPORTS, COLOR_INPUT_LABELS, COLOR_INPUT_TOKEN, COLOR_NOTATIONS, COLOR_NOTATION_ORDER, COMMAND_PALETTE_ERROR_CODES, COMMAND_PALETTE_IMPORTS, COMMAND_PALETTE_LABELS, COMMAND_PALETTE_OVERLAY, COMMAND_PALETTE_REGISTRY, COMMAND_PALETTE_TOKEN, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, COPY_BUTTON_LABELS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, ChartPlotDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ColorPickerAreaDirective, ColorPickerChannelDirective, ColorPickerPanelComponent, ColorPickerSurfaceDirective, ColorPickerTriggerDirective, CommandPaletteComponent, CommandPaletteDirective, CommandPaletteItemComponent, CommandPaletteSearchDirective, CommandPaletteShortcutDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_FORMAT, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DATE_TIME_RANGE_INPUT_ERROR_CODES, DATE_TIME_RANGE_INPUT_IMPORTS, DEFAULT_ALERT_DIALOG_LABELS, DEFAULT_AVATAR_LABELS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHART_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_COLOR_INPUT_LABELS, DEFAULT_COMMAND_PALETTE_LABELS, DEFAULT_COPY_BUTTON_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_DROPZONE_MAX_PREVIEW_FILE_SIZE, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_DEFAULTS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_KBD_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PROGRESS_STEP_LABELS, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STAT_TILE_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DEFAULT_TREE_LABELS, DEFAULT_UNSAVED_CHANGES_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DESCRIPTION_LIST_VARIANTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DateTimeRangeInputComponent, DateTimeRangeInputDirective, DateTimeRangeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYEDROPPER_ICON, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, FIELD_WARNINGS, FIELD_WARNING_KIND, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FORM_IMPORTS, FORM_WARNING_MESSAGE_RESOLVER, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormDirective, FormErrorComponent, FormFieldBarrierDirective, FormFieldComponent, FormFieldDirective, FormWarningComponent, GERMAN_ALERT_DIALOG_LABELS, GERMAN_AVATAR_LABELS, GERMAN_BANNER_LABELS, GERMAN_BRACKET_LABELS, GERMAN_BREADCRUMB_LABELS, GERMAN_CALENDAR_LABELS, GERMAN_CAROUSEL_LABELS, GERMAN_CASCADER_LABELS, GERMAN_CHART_LABELS, GERMAN_CHIP_LABELS, GERMAN_COLOR_INPUT_LABELS, GERMAN_COMMAND_PALETTE_LABELS, GERMAN_COPY_BUTTON_LABELS, GERMAN_DATE_TIME_LABELS, GERMAN_DROPZONE_LABELS, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_FORM_FIELD_LABELS, GERMAN_GRID_LABELS, GERMAN_INPUT_LABELS, GERMAN_KBD_LABELS, GERMAN_LOADER_LABELS, GERMAN_MATCH_LABELS, GERMAN_NOTIFICATION_LABELS, GERMAN_PAGINATION_LABELS, GERMAN_PHONE_INPUT_LABELS, GERMAN_PROGRESS_STEP_LABELS, GERMAN_QUERY_ERROR_LABELS, GERMAN_RICH_TEXT_EDITOR_LABELS, GERMAN_SCHEDULER_LABELS, GERMAN_SELECT_LABELS, GERMAN_SLIDER_LABELS, GERMAN_STANDINGS_LABELS, GERMAN_STAT_TILE_LABELS, GERMAN_STREAM_LABELS, GERMAN_TABLE_LABELS, GERMAN_TIME_PICKER_LABELS, GERMAN_TREE_LABELS, GERMAN_UNSAVED_CHANGES_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INHERIT_COLOR, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KBD_IMPORTS, KBD_LABELS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINE_CHART_ERROR_CODES, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_IMPORTS, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, LineChartComponent, LineChartDirective, LineChartSliceDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SEARCH_IMPORTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuItemSubmenuIconComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STACK_OVERLAY_LAYER, NOTIFICATION_STATUS, NO_STREAM_PLAYER_CAPABILITIES, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, NavTabLinkStylesComponent, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, NotificationSwipeToDismissDirective, NumberInputComponent, NumberInputDirective, OTP_INPUT_IMPORTS, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HAS_BACKDROP, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_NAV_TAB_IMPORTS, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OtpInputComponent, OtpInputDirective, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayNavTabLinkComponent, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PAGE_SIZE_SELECT_IMPORTS, PAGINATION_IMPORTS, PAGINATION_LABELS, PAGINATION_SIZES, PARAGRAPH_ICON, PASSWORD_INPUT_IMPORTS, PAUSE_ICON, PENCIL_ICON, PHONE_COUNTRIES, PHONE_INPUT_ERROR_CODES, PHONE_INPUT_IMPORTS, PHONE_INPUT_LABELS, PICTURE_IMPORTS, PICTURE_STATES, PIE_CHART_ERROR_CODES, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLAY_ICON, PLUS_ICON, PROGRESS_STEPS_IMPORTS, PROGRESS_STEPS_ORIENTATIONS, PROGRESS_STEP_LABELS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PagedQueryTriggerDirective, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PieChartComponent, PieChartDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepRouterActiveDirective, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryButtonDirective, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_ERROR_CODES, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, RichTextViewerComponent, SANKEY_CHART_ERROR_CODES, SCHEDULER_EDIT_SURFACE_IMPORTS, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SCROLLBAR_ERROR_CODES, SCROLLBAR_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_CARD_CONTROL_POSITIONS, SELECTION_LIST_ERROR_CODES, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STANDINGS_PICK_IMPORTS, STAR_ICON, STAT_TILE_IMPORTS, STAT_TILE_LABELS, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_DEFAULT_COMPONENTS, STREAM_ERROR_CODES, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SankeyChartComponent, SankeyChartDirective, SankeyChartMarkDirective, SchedulerActionAddAppointmentDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerAppointmentDragDirective, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditAddSubAppointmentItemComponent, SchedulerEditColorComponent, SchedulerEditDeleteItemComponent, SchedulerEditDescriptionComponent, SchedulerEditLocationComponent, SchedulerEditSurfaceActionsComponent, SchedulerEditSurfaceBreadcrumbComponent, SchedulerEditSurfaceChildrenComponent, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditSurfaceFieldsComponent, SchedulerEditSurfaceFooterComponent, SchedulerEditSurfaceHeaderComponent, SchedulerEditTimeRangeComponent, SchedulerEditTitleComponent, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, ScrollbarComponent, ScrollbarDirective, ScrollbarThumbDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectAllOptionComponent, SelectAllOptionDirective, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StandingsPickComponent, StandingsPickDirective, StandingsPickMarkDirective, StatTileComponent, StatTileSparklineComponent, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_DRAG_SCROLL_IMPORTS, TABLE_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_GROUP_HEADERS_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_PAGE_STICKY_HEADER_IMPORTS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_IMPORTS, TABLE_ROW_ROUTER_LINK_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_SKELETON_IMPORTS, TABLE_STATE_PERSISTENCE_IMPORTS, TABLE_STICKY_COLUMNS_IMPORTS, TABLE_VIRTUAL_SCROLL_IMPORTS, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_IMPORTS, TAB_PANEL_TOKEN, TAB_SIZES, TAG_INPUT_ERROR_CODES, TAG_INPUT_IMPORTS, TEXTAREA_IMPORTS, TEXTAREA_RESIZE_MODES, TEXT_ALIGNS, TEXT_FIELD_CONTROL_INPUTS, THUMBTACK_ICON, TIKTOK_PLAYER_TOKEN, TIMELINE_IMPORTS, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TIME_RANGE_INPUT_ERROR_CODES, TIME_RANGE_INPUT_IMPORTS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LABELS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCardSurfaceDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableDragScrollDirective, TableDragScrollStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TablePageStickyHeaderDirective, TablePageStickyHeaderStylesComponent, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowBoxStylesComponent, TableRowDetailComponent, TableRowExpansionDirective, TableRowRouterLinkDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableStickyColumnsStylesComponent, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerComponent, TimePickerDirective, TimePickerRingDirective, TimePickerRingHandleDirective, TimeRangeInputComponent, TimeRangeInputDirective, TimeRangeInputFieldDirective, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNSAVED_CHANGES_LABELS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WCAG_CONTRAST_RATIOS, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SHAPES, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, alertDialogLabelsForLocale, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, avatarLabelsForLocale, bannerLabelsForLocale, bottomSheetOverlayStrategy, bracketFitsWidth, bracketLabelsForLocale, bracketNaturalWidth, bracketSlot, breadcrumbLabelsForLocale, buildAnchoredRuntimePositionStrategy, calendarLabelsForLocale, canHaveChildren, canonicalKbdKey, carouselLabelsForLocale, cascaderFromQuery, cascaderLabelsForLocale, centeredOverlayStrategy, chartLabelsForLocale, chipLabelsForLocale, clearLeavingSupportStateOnExit, colorContrast, colorInputLabelsForLocale, commandPaletteLabelsForLocale, copyButtonLabelsForLocale, countDescendants, createAlertDialogOpener, createAnchoredPanelController, createBracket, createCardMask, createCommandPaletteOpener, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlaySingleSlot, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createPlaceholderBracketSource, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createSchedulerRegistry, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableRowsState, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, dateBounds, dateRangeBounds, dateRangeOrder, dateTimeBounds, dateTimeLabelsForLocale, dateTimeRangeBounds, dateTimeRangeOrder, defaultCompareWith, defaultDropzoneRejectionMessage, defaultSankeyChartLinkKeyHint, defineOverlay, defineQueryParamOverlay, describeBracketSlot, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, dropzoneLabelsForLocale, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, filterValues, findNextRelevantHtmlElement, focusFirstInvalidField, formFieldLabelsForLocale, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFromEthleteRounds, getClosestOverlay, getColorContrastRatio, getOriginCoordinatesAndDimensions, gridLabelsForLocale, hexColor, hitsInteractiveElement, iconRegistryKey, injectAlertDialogLabels, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectAvatarLabels, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChartLabels, injectChipLabels, injectColorInputLabels, injectCommandPalette, injectCommandPaletteLabels, injectCommandPaletteRegistry, injectCopyButtonLabels, injectDateFormat, injectDateLocale, injectDateLocaleSignal, injectDateTimeFormat, injectDateTimeLabels, injectDateTimeZone, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldDefaults, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectKbdLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectProgressStepLabels, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurface, injectSchedulerEditSurfaceOpener, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStatTileLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamPlayerSlot, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, injectTreeLabels, injectUnsavedChangesLabels, inputLabelsForLocale, isBracketSlotPredictable, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isRestorableTableState, isTargetInsideOverlayTree, isTouchEvent, kbdKeyLabel, kbdKeyName, kbdLabelsForLocale, lastDaysPreset, lastMonthPreset, lastWeekPreset, leftSheetOverlayStrategy, legacyQueryErrorSource, loaderLabelsForLocale, mapGridLayout, matchCountryByDialCode, matchLabelsForLocale, matchParticipantDisplayName, matchedDialPrefix, matchesKbdChord, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mergeTableCsvExportOptions, migrateBracketPicks, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, missingStreamSourceError, mountNavTabLinkStyles, nextDaysPreset, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, notificationLabelsForLocale, numberInputStepMultiplierFrom, overlayResult, paginate, paginationLabelsForLocale, parseKbdKeys, phoneCountryFlag, phoneCountryName, phoneInputLabelsForLocale, progressStepLabelsForLocale, provideAlertDialogLabels, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideAvatarLabels, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChartLabels, provideChipLabels, provideColorInputLabels, provideCommandPaletteLabels, provideCommandPaletteRegistry, provideCopyButtonLabels, provideDateFormat, provideDateLocale, provideDateTimeFormat, provideDateTimeLabels, provideDateTimeZone, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldDefaults, provideFormFieldLabels, provideFormSupport, provideFormWarningMessageResolver, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideKbdLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideProgressStepLabels, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTool, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerEditSurface, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStatTileLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPip, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, provideTreeLabels, provideUnsavedChangesAlertDialog, provideUnsavedChangesLabels, queryButtonSourceFromV2Query, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, quickFilterRows, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerCommands, registerSingleton, rejectionMessage, requiredLanguages, resolveBracketLayout, resolveBracketSlot, resolveClosestOverlay, resolveFilterOverlaySubmitButton, resolveNormalizedMatchSideState, resolveNotificationStatusIcon, resolveOverlayHasBackdrop, resolveTableCsvRows, rgbColor, richTextEditorLabelsForLocale, richTextEditorToolLabel, rightSheetOverlayStrategy, schedulerFeatureConfig, schedulerLabelsForLocale, selectLabelsForLocale, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, singleEliminationBracketLayout, sliderLabelsForLocale, sortRows, standingRankSides, standingsLabelsForLocale, startOfCalendarUnit, statTileLabelsForLocale, streamLabelsForLocale, stripTrunkZero, supportPresentationIncludesState, swapStandingRank, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableLabelsForLocale, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, thisMonthPreset, thisWeekPreset, thisYearPreset, timeBounds, timePickerLabelsForLocale, timeRangeBounds, timeRangeOrder, toFieldWarnings, toGridPosition, toNotificationContent, toPictureDimension, todayPreset, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, treeLabelsForLocale, unsavedChangesLabelsForLocale, validateBracketSource, warn, wireFormSupport, withPictureBaseUrl, yesterdayPreset };
110849
111066
 
110850
111067
  //# sourceMappingURL=ethlete-components.mjs.map