@tedi-design-system/angular 8.1.0-rc.4 → 8.1.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tedi-design-system/angular",
3
- "version": "8.1.0-rc.4",
3
+ "version": "8.1.0-rc.6",
4
4
  "type": "module",
5
5
  "main": "community.mjs",
6
6
  "module": "fesm2022/tedi-design-system-angular.mjs",
@@ -19,6 +19,10 @@
19
19
  "types": "./community/index.d.ts",
20
20
  "default": "./fesm2022/tedi-design-system-angular-community.mjs"
21
21
  },
22
+ "./community/text-editor": {
23
+ "types": "./community/text-editor/index.d.ts",
24
+ "default": "./fesm2022/tedi-design-system-angular-community-text-editor.mjs"
25
+ },
22
26
  "./tedi": {
23
27
  "types": "./tedi/index.d.ts",
24
28
  "default": "./fesm2022/tedi-design-system-angular-tedi.mjs"
@@ -29,7 +33,17 @@
29
33
  "@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0",
30
34
  "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
31
35
  "@angular/forms": "^20.0.0 || ^21.0.0 || ^22.0.0",
32
- "@angular/platform-browser": "^20.0.0 || ^21.0.0 || ^22.0.0"
36
+ "@angular/platform-browser": "^20.0.0 || ^21.0.0 || ^22.0.0",
37
+ "ngx-quill": "^28.0.2",
38
+ "quill": "^2.0.3"
39
+ },
40
+ "peerDependenciesMeta": {
41
+ "ngx-quill": {
42
+ "optional": true
43
+ },
44
+ "quill": {
45
+ "optional": true
46
+ }
33
47
  },
34
48
  "dependencies": {
35
49
  "@tanstack/angular-table": "^8.21.4",
package/tedi/index.d.ts CHANGED
@@ -1548,6 +1548,125 @@ declare const translationsMap: {
1548
1548
  en: string;
1549
1549
  ru: string;
1550
1550
  };
1551
+ "text-editor.bold": {
1552
+ description: string;
1553
+ components: string[];
1554
+ et: string;
1555
+ en: string;
1556
+ ru: string;
1557
+ };
1558
+ "text-editor.italic": {
1559
+ description: string;
1560
+ components: string[];
1561
+ et: string;
1562
+ en: string;
1563
+ ru: string;
1564
+ };
1565
+ "text-editor.underline": {
1566
+ description: string;
1567
+ components: string[];
1568
+ et: string;
1569
+ en: string;
1570
+ ru: string;
1571
+ };
1572
+ "text-editor.strike": {
1573
+ description: string;
1574
+ components: string[];
1575
+ et: string;
1576
+ en: string;
1577
+ ru: string;
1578
+ };
1579
+ "text-editor.align.left": {
1580
+ description: string;
1581
+ components: string[];
1582
+ et: string;
1583
+ en: string;
1584
+ ru: string;
1585
+ };
1586
+ "text-editor.align.center": {
1587
+ description: string;
1588
+ components: string[];
1589
+ et: string;
1590
+ en: string;
1591
+ ru: string;
1592
+ };
1593
+ "text-editor.align.right": {
1594
+ description: string;
1595
+ components: string[];
1596
+ et: string;
1597
+ en: string;
1598
+ ru: string;
1599
+ };
1600
+ "text-editor.align.justify": {
1601
+ description: string;
1602
+ components: string[];
1603
+ et: string;
1604
+ en: string;
1605
+ ru: string;
1606
+ };
1607
+ "text-editor.list.bullet": {
1608
+ description: string;
1609
+ components: string[];
1610
+ et: string;
1611
+ en: string;
1612
+ ru: string;
1613
+ };
1614
+ "text-editor.list.ordered": {
1615
+ description: string;
1616
+ components: string[];
1617
+ et: string;
1618
+ en: string;
1619
+ ru: string;
1620
+ };
1621
+ "text-editor.indent.increase": {
1622
+ description: string;
1623
+ components: string[];
1624
+ et: string;
1625
+ en: string;
1626
+ ru: string;
1627
+ };
1628
+ "text-editor.indent.decrease": {
1629
+ description: string;
1630
+ components: string[];
1631
+ et: string;
1632
+ en: string;
1633
+ ru: string;
1634
+ };
1635
+ "text-editor.color": {
1636
+ description: string;
1637
+ components: string[];
1638
+ et: string;
1639
+ en: string;
1640
+ ru: string;
1641
+ };
1642
+ "text-editor.background": {
1643
+ description: string;
1644
+ components: string[];
1645
+ et: string;
1646
+ en: string;
1647
+ ru: string;
1648
+ };
1649
+ "text-editor.link": {
1650
+ description: string;
1651
+ components: string[];
1652
+ et: string;
1653
+ en: string;
1654
+ ru: string;
1655
+ };
1656
+ "text-editor.blockquote": {
1657
+ description: string;
1658
+ components: string[];
1659
+ et: string;
1660
+ en: string;
1661
+ ru: string;
1662
+ };
1663
+ "text-editor.clean": {
1664
+ description: string;
1665
+ components: string[];
1666
+ et: string;
1667
+ en: string;
1668
+ ru: string;
1669
+ };
1551
1670
  "time-picker.hours": {
1552
1671
  description: string;
1553
1672
  components: string[];
@@ -3711,7 +3830,7 @@ declare class PaginationComponent {
3711
3830
  protected readonly statusText: _angular_core.Signal<string>;
3712
3831
  constructor();
3713
3832
  protected handlePageChange(nextPage: number | null): void;
3714
- protected handlePageSizeChange(value: number | null): void;
3833
+ protected handlePageSizeChange(value: unknown): void;
3715
3834
  protected openMobilePicker(): void;
3716
3835
  protected openPageSizePicker(): void;
3717
3836
  private openPickerModal;
@@ -5834,6 +5953,12 @@ interface FormFieldControl<T = unknown> {
5834
5953
  dirty?: Signal<boolean>;
5835
5954
  required?: Signal<boolean>;
5836
5955
  maxLength?: Signal<number | undefined>;
5956
+ /**
5957
+ * Number of characters `tedi-form-field`'s counter should report. Implemented
5958
+ * by controls whose value is not the text the user sees — a rich text editor
5959
+ * holding markup, say. Falls back to the length of `value`.
5960
+ */
5961
+ characterCount?: Signal<number>;
5837
5962
  /**
5838
5963
  * Clears the value. Implemented by controls that can be cleared, and called
5839
5964
  * by `tedi-form-field`'s clear button.
@@ -6904,6 +7029,12 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
6904
7029
  * When undefined, the entire object is used as the value.
6905
7030
  */
6906
7031
  bindValue: _angular_core.InputSignal<string | undefined>;
7032
+ /**
7033
+ * Selected value, for use without a form directive. An array in multi-select
7034
+ * mode, the bare value otherwise. Unlike `[ngModel]` it applies on the first
7035
+ * render rather than a frame later. Do not combine with a form directive.
7036
+ */
7037
+ value: _angular_core.InputSignal<unknown>;
6907
7038
  /**
6908
7039
  * Whether multiple items can be selected.
6909
7040
  * @default false
@@ -7067,6 +7198,7 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
7067
7198
  /** `aria-label` is only used when no labelledby reference is available. */
7068
7199
  resolvedAriaLabel: _angular_core.Signal<string | null>;
7069
7200
  isOpen: _angular_core.WritableSignal<boolean>;
7201
+ /** `allowMultiple` untracked, so flipping the mode cannot wipe the selection. */
7070
7202
  selectedValues: _angular_core.WritableSignal<unknown[]>;
7071
7203
  disabled: _angular_core.WritableSignal<boolean>;
7072
7204
  dropdownWidth: _angular_core.WritableSignal<number | null>;
@@ -7220,12 +7352,13 @@ declare class SelectComponent<T = unknown> implements AfterContentChecked, After
7220
7352
  private toggleGroupSelection;
7221
7353
  onChange: (value: unknown) => void;
7222
7354
  onTouched: () => void;
7355
+ private toSelection;
7223
7356
  writeValue(value: unknown): void;
7224
7357
  registerOnChange(fn: (value: unknown) => void): void;
7225
7358
  registerOnTouched(fn: () => void): void;
7226
7359
  setDisabledState(isDisabled: boolean): void;
7227
7360
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
7228
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "tedi-select", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "dropdownWidthRef": { "alias": "dropdownWidthRef"; "required": false; "isSignal": true; }; "dropdownAlign": { "alias": "dropdownAlign"; "required": false; "isSignal": true; }; "feedbackText": { "alias": "feedbackText"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "selectableGroups": { "alias": "selectableGroups"; "required": false; "isSignal": true; }; "isTagRemovable": { "alias": "isTagRemovable"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "tagEllipsis": { "alias": "tagEllipsis"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledKey": { "alias": "disabledKey"; "required": false; "isSignal": true; }; "noOptionsMessage": { "alias": "noOptionsMessage"; "required": false; "isSignal": true; }; "maxDropdownHeight": { "alias": "maxDropdownHeight"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "dropdownType": { "alias": "dropdownType"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualItemSize": { "alias": "virtualItemSize"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "clearSearchOnSelect": { "alias": "clearSearchOnSelect"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "searchChange": "searchChange"; "opened": "opened"; "closed": "closed"; "cleared": "cleared"; }, ["optionTemplate", "valueTemplate", "tooltipTemplate"], never, true, never>;
7361
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "tedi-select", never, { "inputId": { "alias": "inputId"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "dropdownWidthRef": { "alias": "dropdownWidthRef"; "required": false; "isSignal": true; }; "dropdownAlign": { "alias": "dropdownAlign"; "required": false; "isSignal": true; }; "feedbackText": { "alias": "feedbackText"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "allowMultiple": { "alias": "allowMultiple"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "selectableGroups": { "alias": "selectableGroups"; "required": false; "isSignal": true; }; "isTagRemovable": { "alias": "isTagRemovable"; "required": false; "isSignal": true; }; "multiRow": { "alias": "multiRow"; "required": false; "isSignal": true; }; "tagEllipsis": { "alias": "tagEllipsis"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "disabledKey": { "alias": "disabledKey"; "required": false; "isSignal": true; }; "noOptionsMessage": { "alias": "noOptionsMessage"; "required": false; "isSignal": true; }; "maxDropdownHeight": { "alias": "maxDropdownHeight"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "dropdownType": { "alias": "dropdownType"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualItemSize": { "alias": "virtualItemSize"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "clearSearchOnSelect": { "alias": "clearSearchOnSelect"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "searchChange": "searchChange"; "opened": "opened"; "closed": "closed"; "cleared": "cleared"; }, ["optionTemplate", "valueTemplate", "tooltipTemplate"], never, true, never>;
7229
7362
  }
7230
7363
 
7231
7364
  type SliderHideLabel = boolean | "keep-space";
@@ -7429,6 +7562,27 @@ declare class FormFieldExtraDirective {
7429
7562
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormFieldExtraDirective, "[tediFormFieldExtra]", never, {}, {}, never, never, true, never>;
7430
7563
  }
7431
7564
 
7565
+ interface DerivedControlState {
7566
+ invalid: Signal<boolean>;
7567
+ touched: Signal<boolean>;
7568
+ dirty: Signal<boolean>;
7569
+ /** Whether the bound control carries `Validators.required`. */
7570
+ required: Signal<boolean>;
7571
+ /**
7572
+ * Call from `ngOnInit`: a control that is its own `NG_VALUE_ACCESSOR` cannot
7573
+ * inject `NgControl` in the constructor, because the accessor is what
7574
+ * `NgControl` depends on.
7575
+ */
7576
+ connect(): void;
7577
+ }
7578
+ declare function deriveControlState(): DerivedControlState;
7579
+
7580
+ interface ControlDescribedBy {
7581
+ attribute: Signal<string | null>;
7582
+ set(ids: string[]): void;
7583
+ }
7584
+ declare function controlDescribedBy(): ControlDescribedBy;
7585
+
7432
7586
  /**
7433
7587
  * Shared behavior for the prefix/suffix addon directives: reads the group's
7434
7588
  * disabled state and detects whether the addon holds plain text (so the
@@ -7509,11 +7663,6 @@ declare class InputGroupComponent implements InputGroupContext {
7509
7663
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputGroupComponent, "tedi-input-group", never, { "addons": { "alias": "addons"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, {}, ["prefix", "suffix"], ["label[tedi-label], tedi-label-row", "[tediInputGroupPrefix]", "tedi-form-field, tedi-select", "[tediInputGroupSuffix]", "tedi-feedback-text"], true, never>;
7510
7664
  }
7511
7665
 
7512
- interface ControlDescribedBy {
7513
- attribute: Signal<string | null>;
7514
- set(ids: string[]): void;
7515
- }
7516
-
7517
7666
  declare class TextFieldComponent implements OnInit, ControlValueAccessor, FormFieldControl {
7518
7667
  private el;
7519
7668
  private readonly fieldContext;
@@ -7547,7 +7696,7 @@ declare class TextFieldComponent implements OnInit, ControlValueAccessor, FormFi
7547
7696
  readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
7548
7697
  readonly disabled: _angular_core.Signal<boolean>;
7549
7698
  private readonly derived;
7550
- readonly describedBy: ControlDescribedBy;
7699
+ readonly describedBy: _tedi_design_system_angular_tedi.ControlDescribedBy;
7551
7700
  readonly touched: _angular_core.Signal<boolean>;
7552
7701
  readonly dirty: _angular_core.Signal<boolean>;
7553
7702
  readonly invalid: _angular_core.Signal<boolean>;
@@ -7655,7 +7804,7 @@ declare class TextareaComponent implements OnInit, ControlValueAccessor, FormFie
7655
7804
  readonly maxHeightStyle: _angular_core.Signal<string>;
7656
7805
  readonly disabled: _angular_core.Signal<boolean>;
7657
7806
  private readonly derived;
7658
- readonly describedBy: ControlDescribedBy;
7807
+ readonly describedBy: _tedi_design_system_angular_tedi.ControlDescribedBy;
7659
7808
  readonly touched: _angular_core.Signal<boolean>;
7660
7809
  readonly dirty: _angular_core.Signal<boolean>;
7661
7810
  readonly invalid: _angular_core.Signal<boolean>;
@@ -7800,9 +7949,18 @@ interface ModalConfig<D = unknown> {
7800
7949
  fullscreen?: ModalFullscreen;
7801
7950
  /** Max-width cap (e.g. '75%', '60vw'). Overrides the default 95vw limit. */
7802
7951
  maxWidth?: string;
7803
- /** ARIA label for the dialog. */
7952
+ /**
7953
+ * Accessible name for the dialog. Set this only when the modal has no
7954
+ * visible heading, or when the heading is not the name you want announced:
7955
+ * a modal whose content renders a heading inside `<tedi-modal-header>` is
7956
+ * labelled by that heading automatically.
7957
+ */
7804
7958
  ariaLabel?: string;
7805
- /** ID of the element that labels the dialog. */
7959
+ /**
7960
+ * Id of the element that labels the dialog, for a label that lives outside
7961
+ * `<tedi-modal-header>`. Ignored when `ariaLabel` is set, and takes
7962
+ * precedence over the automatic heading lookup.
7963
+ */
7806
7964
  ariaLabelledBy?: string;
7807
7965
  }
7808
7966
  /** Injection token for data passed to a modal opened via ModalService. */
@@ -9680,9 +9838,21 @@ declare class ModalComponent implements AfterViewInit, OnDestroy {
9680
9838
  readonly position: _angular_core.InputSignal<ModalPosition>;
9681
9839
  /** @deprecated Whether clicking the backdrop closes the modal. Only used in standalone mode. */
9682
9840
  readonly closeOnBackdropClick: _angular_core.InputSignal<boolean>;
9841
+ /**
9842
+ * Accessible name for the dialog. Only needed when the modal has no heading
9843
+ * in `<tedi-modal-header>`, or that heading is not the name to announce.
9844
+ * Standalone mode only; service mode uses `ModalConfig.ariaLabel`.
9845
+ */
9846
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
9847
+ /**
9848
+ * Id of an element labelling the dialog, for a label outside
9849
+ * `<tedi-modal-header>`. Ignored when `ariaLabel` is set.
9850
+ */
9851
+ readonly ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
9683
9852
  private readonly document;
9684
9853
  private readonly host;
9685
9854
  private readonly platformId;
9855
+ private readonly idGenerator;
9686
9856
  /**
9687
9857
  * When a ModalRef is available, this component is inside a CDK Dialog
9688
9858
  * and should act as a layout-only wrapper.
@@ -9693,17 +9863,29 @@ declare class ModalComponent implements AfterViewInit, OnDestroy {
9693
9863
  private readonly isPresetWidth;
9694
9864
  /** Custom width for non-preset widths (legacy mode only). */
9695
9865
  readonly customWidth: Signal<ModalWidth | null>;
9866
+ /** Re-resolved on every open, since the heading is projected content. */
9867
+ private readonly headingLabelId;
9868
+ /** @internal */
9869
+ protected readonly dialogAriaLabel: Signal<string | null>;
9870
+ /** @internal `aria-label` wins, so it is never paired with a labelledby. */
9871
+ protected readonly dialogAriaLabelledBy: Signal<string | null>;
9696
9872
  readonly classes: Signal<string>;
9697
9873
  constructor();
9698
9874
  ngAfterViewInit(): void;
9699
9875
  ngOnDestroy(): void;
9700
9876
  private onOpen;
9877
+ /**
9878
+ * A DOM query rather than a `contentChild`, because the header injects this
9879
+ * component (importing it back would close a cycle) and the heading is
9880
+ * double-projected, out of reach of any query here.
9881
+ */
9882
+ private resolveHeadingLabel;
9701
9883
  private onClose;
9702
9884
  /** @internal */
9703
9885
  onBackdropClick(): void;
9704
9886
  private handleKeydown;
9705
9887
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
9706
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "tedi-modal", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["tedi-modal-header", "tedi-modal-content", "tedi-modal-footer"], true, never>;
9888
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "tedi-modal", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["tedi-modal-header", "tedi-modal-content", "tedi-modal-footer"], true, never>;
9707
9889
  }
9708
9890
 
9709
9891
  /**
@@ -9728,6 +9910,8 @@ declare class ModalRef<R = unknown> {
9728
9910
  declare class ModalService {
9729
9911
  private readonly dialog;
9730
9912
  private readonly overlay;
9913
+ private readonly injector;
9914
+ private readonly idGenerator;
9731
9915
  /**
9732
9916
  * Open a modal dialog with the given component as content.
9733
9917
  *
@@ -9749,6 +9933,16 @@ declare class ModalService {
9749
9933
  open<R = unknown, D = unknown>(component: ComponentType<unknown>, config?: ModalConfig<D>): ModalRef<R>;
9750
9934
  /** Close all open modals. */
9751
9935
  closeAll(): void;
9936
+ /**
9937
+ * Names the dialog from the heading in its `<tedi-modal-header>` when the
9938
+ * caller passed no label of their own. Deferred, because `Dialog.open`
9939
+ * returns before the content renders and the heading does not exist yet.
9940
+ *
9941
+ * Written onto the container rather than passed as
9942
+ * `DialogConfig.ariaLabelledBy`, which would commit to an id before knowing
9943
+ * whether a heading exists and leave a dangling reference when none does.
9944
+ */
9945
+ private labelFromHeading;
9752
9946
  private buildPanelClasses;
9753
9947
  private setupDialogBehavior;
9754
9948
  private buildPositionStrategy;
@@ -10129,6 +10323,6 @@ declare function isValidTime(time: string | null | undefined): boolean;
10129
10323
  */
10130
10324
  declare function normalizeTime(input: string): string | null;
10131
10325
 
10132
- export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreadcrumbItemDirective, BreadcrumbSeparatorDirective, BreadcrumbsComponent, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, COUNTER_TAG_WIDTH, CalendarComponent, CardButtonComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardIconComponent, CardRowComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DateFieldComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, FormFieldExtraDirective, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HeaderTopComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, InfoTooltipComponent, InputGroupComponent, InputGroupPrefixDirective, InputGroupSuffixDirective, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LabelRowComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SearchComponent, SelectComponent, SelectOptionTemplateDirective, SelectTooltipTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SliderComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FIELD_CONTEXT, TEDI_FORM_FIELD_CONTROL, TEDI_INPUT_GROUP, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, TextareaComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, TruncateComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, cookieSignal, createTablePersistence, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination };
10133
- export type { AccordionInputs, AlertRole, AlertSize, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, BreadcrumbsInputs, BreadcrumbsVariant, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CalendarView, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CardRowDirection, CardRowInputs, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, DateAfter, DateBefore, DateFieldMode, DateInterval, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DateRange, DayOfWeek, DropdownApi, DropdownContentApi, DropdownItemValueLayout, DropdownItemValueType, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FieldContext, FilterOption, FilterSize, FilterVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLanguageLabelPosition, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HeaderTopAlignment, HeaderTopInputs, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputGroupContext, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, LabelVisuallyHidden, Language, LinkInputs, LinkSize, LinkVariant, Matcher, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, PopoverWidthPreset, ProgressBarAnnounce, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SearchButton, SearchSize, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SliderHideLabel, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableControlColumnOrder, TableExpandTrigger, TableFilterModalData, TableFilterOptions, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TabsOverflowMode, TagEllipsis, TagOverflowOptions, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, TextareaSize, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize, VirtualRow };
10326
+ export { AVAILABLE_LANGUAGES, AccordionComponent, AccordionItemComponent, AccordionItemContentComponent, AccordionItemHeaderComponent, AlertComponent, AttachmentActionsComponent, AttachmentComponent, BREAKPOINTS, BaseButtonDirective, BreadcrumbItemDirective, BreadcrumbSeparatorDirective, BreadcrumbsComponent, BreakpointService, ButtonComponent, ButtonGroupButtonDirective, ButtonGroupComponent, COUNTER_TAG_WIDTH, CalendarComponent, CardButtonComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardIconComponent, CardRowComponent, CarouselComponent, CarouselContentComponent, CarouselFooterComponent, CarouselHeaderComponent, CarouselIndicatorsComponent, CarouselNavigationComponent, CarouselSlideDirective, CheckboxCardComponent, CheckboxCardGroupComponent, CheckboxComponent, CheckboxGroupComponent, ClosingButtonComponent, ColComponent, CollapseButtonComponent, CollapseComponent, DROPDOWN_API, DROPDOWN_CONTENT_API, DateFieldComponent, DatePickerComponent, DropdownComponent, DropdownContentComponent, DropdownItemComponent, DropdownItemValueComponent, DropdownItemValueLabelComponent, DropdownItemValueMetaComponent, DropdownTriggerDirective, EllipsisComponent, EmptyStateComponent, FeedbackTextComponent, FilterComponent, FilterContentDirective, FilterGroupComponent, FilterPrependDirective, FooterBodyComponent, FooterBottomComponent, FooterComponent, FooterSectionComponent, FooterSideComponent, FormFieldComponent, FormFieldExtraDirective, HeaderActionsComponent, HeaderBottomComponent, HeaderComponent, HeaderContentComponent, HeaderLanguageComponent, HeaderLoginComponent, HeaderLogoComponent, HeaderLogoDarkDirective, HeaderLogoutComponent, HeaderMobileButtonComponent, HeaderProfileComponent, HeaderRoleComponent, HeaderRoleContentDirective, HeaderRoleNoResultsDirective, HeaderRoleTitleDirective, HeaderSearchComponent, HeaderTopComponent, HideAtDirective, HorizontalPushHandler, HorizontalStepperComponent, HorizontalStepperItemComponent, IconComponent, InfoButtonComponent, InfoTooltipComponent, InputGroupComponent, InputGroupPrefixDirective, InputGroupSuffixDirective, LANGUAGE_COOKIE_NAME, LANGUAGE_FALLBACK_VALUE, LabelComponent, LabelRowComponent, LinkComponent, ListComponent, MODAL_DATA, MODAL_SIZE, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalRef, ModalService, NumberFieldComponent, PaginationComponent, PopoverComponent, PopoverContentComponent, PopoverTriggerDirective, ProgressBarComponent, RadioCardComponent, RadioCardGroupComponent, RadioComponent, RadioGroupComponent, RowComponent, ScrollFadeComponent, SearchComponent, SelectComponent, SelectOptionTemplateDirective, SelectTooltipTemplateDirective, SelectValueTemplateDirective, SeparatorComponent, ShowAtDirective, SideNavComponent, SideNavDropdownComponent, SideNavDropdownGroupComponent, SideNavDropdownItemComponent, SideNavGroupTitleComponent, SideNavItemComponent, SideNavOverlayComponent, SideNavToggleComponent, SliderComponent, SpecialOptionControls, SpinnerComponent, StatusBadgeComponent, StatusIndicatorComponent, TAG_GAP, TEDI_FIELD_CONTEXT, TEDI_FORM_FIELD_CONTROL, TEDI_INPUT_GROUP, TEDI_TABLE_CONTEXT, TEDI_THEME_DEFAULT_TOKEN, TEDI_TRANSLATION_DEFAULT_TOKEN, THEME_CLASS_PREFIX, THEME_COOKIE_NAME, THEME_FALLBACK_VALUE, TOAST_DEFAULT_DURATION, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagComponent, TediPaginationResultsDirective, TediTableColumnsMenuComponent, TediTableComponent, TediTableHeaderButtonComponent, TediTableToolbarComponent, TediTranslationPipe, TediTranslationService, TextComponent, TextFieldComponent, TextGroupComponent, TextGroupLabelComponent, TextGroupValueComponent, TextareaComponent, ThemeService, TimeFieldComponent, TimePickerComponent, TimelineComponent, TimelineDescriptionComponent, TimelineItemComponent, TimelineTimingsBottomDirective, TimelineTitleComponent, ToastComponent, ToastService, ToggleComponent, TooltipComponent, TooltipContentComponent, TooltipTriggerComponent, TruncateComponent, VerticalSpacingDirective, VerticalSpacingItemDirective, addDays, addMonths, addYears, breakpointInput, buildMonthGrid, calculateArrowOffset, calculateVisibleTagCount, computeGroupSpans, controlDescribedBy, cookieSignal, createTablePersistence, deriveControlState, endOfMonth, formatDate, formatLocaleDate, formatLocaleDateHint, formatLocaleDateLong, formatMonthYear, generateUUID, getCardBorderPlacementColor, getDaysInMonth, getFirstDayOfWeek, getFocusableElements, getISOWeek, getMonthNames, getPaddingCssVariables, getPlacementFromPositionChange, getWeekdayNames, groupRowSpan, injectTediTableContext, isAfterDay, isBeforeDay, isDateInRange, isSameDay, isSameMonth, isSameYear, isValidTime, matchAny, matchDate, normalizeTime, parseDate, parseLocaleDate, provideTedi, resolveCardBorderRadius, startOfMonth, startOfWeek, toConnectedPositions, toggleDateInArray, usePagination };
10327
+ export type { AccordionInputs, AlertRole, AlertSize, AlertTitleType, AlertType, AlertVariant, AlignItems, AlignSelf, ArrowOffset, ArrowType, AttachmentDirection, BreadcrumbsInputs, BreadcrumbsVariant, Breakpoint, BreakpointFlag, BreakpointInput, BreakpointInputs, BreakpointInputsWithoutSignals, BreakpointObject, BulletColor, ButtonGroupDropdownLabelMode, ButtonSize, ButtonVariant, CalendarView, CardBackground, CardBorderPlacement, CardBorderRadius, CardBorderType, CardContentInputs, CardIconSize, CardIconType, CardInputs, CardPadding, CardPaddingNumber, CardResolvedCorners, CardRowDirection, CardRowInputs, CarouselIndicatorsVariant, CheckboxCardVariant, CheckboxGroupDirection, CheckboxSize, ClosingButtonIconSize, ClosingButtonSize, ColInputs, ColWidth, CollapseButtonArrowType, CollapseButtonSize, CollapseSize, Cols, ColumnReorderPhase, CompareWithFn, ComponentInputs, ControlDescribedBy, DateAfter, DateBefore, DateFieldMode, DateInterval, DatePickerDay, DatePickerInputSize, DatePickerInputState, DatePickerMatcher, DatePickerSelectorMode, DatePickerView, DateRange, DayOfWeek, DerivedControlState, DropdownApi, DropdownContentApi, DropdownItemValueLayout, DropdownItemValueType, DropdownPosition, DropdownRole, DropdownTriggerAriaHasPopup, EllipsisPosition, EmptyStateSize, EmptyStateType, FeedbackTextPosition, FeedbackTextType, FieldContext, FilterOption, FilterSize, FilterVariant, FooterSidePlacement, FooterSidePosition, FormFieldControl, FormFieldIcon, Gap, GroupByFn, HeaderContentAlignment, HeaderLanguage, HeaderLanguageLabelPosition, HeaderLoginInputs, HeaderLoginSize, HeaderLogoutInputs, HeaderLogoutSize, HeaderProfileInputs, HeaderProfileSize, HeaderSearchMobileLabels, HeaderSearchMobileVariant, HeaderTopAlignment, HeaderTopInputs, HorizontalStepperBackground, IconBackgroundColor, IconColor, IconSize, IconType, IconVariant, InputGroupContext, InputSize, InputState, JustifyItems, JustifySelf, LabelColor, LabelSize, LabelVisuallyHidden, Language, LinkInputs, LinkSize, LinkVariant, Matcher, ModalConfig, ModalFullscreen, ModalPosition, ModalScrollBehavior, ModalSize, ModalWidth, ModalWidthPreset, NumberFieldSize, OverlayPosition, OverlaySide, PaginationBackground, PaginationDividerPosition, PaginationItem, PaginationItemType, PaginationLabels, PaginationVisibility, PopoverPosition, PopoverWidth, PopoverWidthPreset, ProgressBarAnnounce, ProgressBarInputs, ProgressBarLabelPosition, ProgressBarSize, ProgressBarValuePosition, RadioCardVariant, RadioGroupDirection, RadioSize, Representative, RepresentativeIcon, RowInputs, ScrollFadePosition, ScrollFadeScrollbar, ScrollFadeSize, SearchButton, SearchSize, SelectInputSize, SelectOption, SelectOptionContext, SelectOptionGroup, SelectValueContext, SeparatorAxis, SeparatorColor, SeparatorDotSize, SeparatorSpacing, SeparatorSpacingValue, SeparatorThickness, SeparatorVariant, SideNavItemSize, SliderHideLabel, SpinnerColor, SpinnerSize, StatusBadgeColor, StatusBadgeSize, StatusBadgeStatus, StatusBadgeVariant, StatusIndicatorPosition, StatusIndicatorSize, StatusIndicatorType, TEDITheme, TableColumnMeta, TableControlColumn, TableControlColumnOrder, TableExpandTrigger, TableFilterModalData, TableFilterOptions, TablePaginationOptions, TablePersistOptions, TablePersistenceController, TableSelectionMode, TableSize, TableState, TableStatePatch, TabsOverflowMode, TagEllipsis, TagOverflowOptions, TagType, TediColumnDef, TediConfig, TediTableContextValue, TediTableFilterContext, TextColor, TextGroupInputs, TextGroupType, TextModifiers, TextareaSize, Theme, TimeFieldFullscreen, TimeFieldModal, TimeFieldPickerTrigger, TimeFieldPickerVariant, TimeFieldUseNativePicker, TimePickerVariant, TimelineCardPadding, TimelineVariant, ToastConfig, ToastPosition, ToastRole, ToastType, ToggleSize, ToggleType, ToggleVariant, TooltipOpenWith, TooltipPosition, TooltipWidth, UsePaginationArgs, VerticalSpacingSize, VirtualRow };
10134
10328
  //# sourceMappingURL=index.d.ts.map