@momentum-design/components 0.117.3 → 0.118.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/browser/index.js +562 -487
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/components/announcementdialog/announcementdialog.component.d.ts +87 -0
  4. package/dist/components/announcementdialog/announcementdialog.component.js +131 -0
  5. package/dist/components/announcementdialog/announcementdialog.constants.d.ts +6 -0
  6. package/dist/components/announcementdialog/announcementdialog.constants.js +7 -0
  7. package/dist/components/announcementdialog/announcementdialog.styles.d.ts +2 -0
  8. package/dist/components/announcementdialog/announcementdialog.styles.js +52 -0
  9. package/dist/components/announcementdialog/announcementdialog.types.d.ts +6 -0
  10. package/dist/components/announcementdialog/announcementdialog.types.js +1 -0
  11. package/dist/components/announcementdialog/index.d.ts +9 -0
  12. package/dist/components/announcementdialog/index.js +6 -0
  13. package/dist/components/checkbox/checkbox.component.d.ts +5 -0
  14. package/dist/components/checkbox/checkbox.component.js +5 -0
  15. package/dist/components/combobox/combobox.component.d.ts +4 -0
  16. package/dist/components/combobox/combobox.component.js +4 -0
  17. package/dist/components/dialog/dialog.component.d.ts +14 -1
  18. package/dist/components/dialog/dialog.component.js +43 -27
  19. package/dist/components/dialog/dialog.styles.js +2 -0
  20. package/dist/components/dialog/dialog.types.d.ts +1 -1
  21. package/dist/components/formfieldgroup/formfieldgroup.component.d.ts +4 -0
  22. package/dist/components/formfieldgroup/formfieldgroup.component.js +4 -0
  23. package/dist/components/formfieldwrapper/formfieldwrapper.component.d.ts +10 -6
  24. package/dist/components/formfieldwrapper/formfieldwrapper.component.js +37 -23
  25. package/dist/components/formfieldwrapper/formfieldwrapper.constants.d.ts +1 -0
  26. package/dist/components/formfieldwrapper/formfieldwrapper.constants.js +1 -0
  27. package/dist/components/input/input.component.d.ts +9 -0
  28. package/dist/components/input/input.component.js +9 -0
  29. package/dist/components/popover/popover.constants.d.ts +1 -1
  30. package/dist/components/popover/popover.constants.js +1 -1
  31. package/dist/custom-elements.json +2438 -284
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.js +2 -1
  34. package/dist/react/announcementdialog/index.d.ts +75 -0
  35. package/dist/react/announcementdialog/index.js +82 -0
  36. package/dist/react/checkbox/index.d.ts +5 -0
  37. package/dist/react/checkbox/index.js +5 -0
  38. package/dist/react/combobox/index.d.ts +4 -0
  39. package/dist/react/combobox/index.js +4 -0
  40. package/dist/react/dialog/index.d.ts +1 -0
  41. package/dist/react/dialog/index.js +1 -0
  42. package/dist/react/formfieldgroup/index.d.ts +4 -0
  43. package/dist/react/formfieldgroup/index.js +4 -0
  44. package/dist/react/formfieldwrapper/index.d.ts +4 -1
  45. package/dist/react/formfieldwrapper/index.js +4 -1
  46. package/dist/react/index.d.ts +2 -1
  47. package/dist/react/index.js +2 -1
  48. package/dist/react/input/index.d.ts +9 -0
  49. package/dist/react/input/index.js +9 -0
  50. package/package.json +1 -1
@@ -0,0 +1,87 @@
1
+ import { CSSResult } from 'lit';
2
+ import Dialog from '../dialog/dialog.component';
3
+ import type { IllustrationNames } from '../illustration/illustration.types';
4
+ import type { AnnouncementDialogSize } from './announcementdialog.types';
5
+ /**
6
+ * AnnouncementDialog component is a modal dialog that can be used to display announcements, extending the existing Dialog component.
7
+ * It can be used to create custom dialogs where a illustration, content and footer actions are provided by the consumer.
8
+ * The dialog is available in 4 sizes: medium, large, xlarge and fullscreen. It may also receive custom styling/sizing.
9
+ * The dialog interrupts the user and will block interaction with the rest of the application until it is closed.
10
+ *
11
+ * The dialog can be controlled solely through the `visible` property, no trigger element is required.
12
+ * If a `triggerId` is provided, the dialog will manage focus with that element, otherwise it will
13
+ * remember the previously focused element before the dialog was opened.
14
+ *
15
+ * The dialog is a controlled component, meaning it does not have its own state management for visibility.
16
+ * Use the `visible` property to control the visibility of the dialog.
17
+ * Use the `onClose` event to handle the close action of the dialog (fired when Close button is clicked
18
+ * or Escape is pressed).
19
+ *
20
+ * **Accessibility notes for consuming (have to be explicitly set when you consume the component)**
21
+ *
22
+ * - The dialog should have an aria-label or aria-labelledby attribute to provide a label for screen readers.
23
+ * - Use aria-labelledby to reference the ID of the element that labels the dialog when there is no visible title.
24
+ *
25
+ * **Note: Programmatic show/hide requires the ? prefix on the visible attribute**
26
+ * - Use `?visible=true/false` as an attribute instead of `visible=true/false`
27
+ * - Reference docs for more info: https://lit.dev/docs/templates/expressions/#boolean-attribute-expressions
28
+ *
29
+ * @dependency mdc-button
30
+ * @dependency mdc-illustration
31
+ * @dependency mdc-text
32
+ *
33
+ * @tagname mdc-announcementdialog
34
+ *
35
+ * @event shown - (React: onShown) Dispatched when the dialog is shown
36
+ * @event hidden - (React: onHidden) Dispatched when the dialog is hidden
37
+ * @event created - (React: onCreated) Dispatched when the dialog is created (added to the DOM)
38
+ * @event destroyed - (React: onDestroyed) Dispatched when the dialog is destroyed (removed from the DOM)
39
+ * @event close - (React: onClose) Dispatched when the Close Button is clicked or Escape key is pressed
40
+ * (this does not hide the dialog)
41
+ *
42
+ * @cssproperty --mdc-announcementdialog-illustration-background-color - background color of the illustration section
43
+ * @cssproperty --mdc-dialog-primary-background-color - primary background color of the dialog
44
+ * @cssproperty --mdc-dialog-border-color - border color of the dialog
45
+ * @cssproperty --mdc-dialog-header-text-color - text color of the header/title of the dialog
46
+ * @cssproperty --mdc-dialog-description-text-color - text color of the below header description of the dialog
47
+ * @cssproperty --mdc-dialog-elevation-3 - elevation of the dialog
48
+ * @cssproperty --mdc-dialog-width - width of the dialog
49
+ * @cssproperty --mdc-dialog-height - height of the dialog
50
+ *
51
+ * @csspart body - The main body container that holds the illustration and content sections
52
+ * @csspart illustration-container - The container for the illustration section
53
+ * @csspart content-container - The container for the content section
54
+ * @csspart header-text - The header text
55
+ *
56
+ * @slot header-prefix - Slot for the dialog header content. This can be used to pass custom header content.
57
+ * @slot dialog-body - Slot for the dialog body content
58
+ * @slot illustration-container - Slot for the illustration container section
59
+ * @slot content-container - Slot for the content (header, description, etc) section
60
+ * @slot description-container - Slot for the description in the content (below header) - pass in Text, Links etc as needed.
61
+ * @slot footer-link - This slot is for passing `mdc-link` component within the footer section.
62
+ * @slot footer-button-secondary - This slot is for passing secondary variant of `mdc-button` component
63
+ * within the footer section.
64
+ * @slot footer-button-primary - This slot is for passing primary variant of
65
+ * `mdc-button` component within the footer section.
66
+ * @slot footer - This slot is for passing custom footer content. Only use this if really needed,
67
+ * using the footer-link and footer-button slots is preferred
68
+ */
69
+ declare class AnnouncementDialog extends Dialog {
70
+ /**
71
+ * The illustration to display in the announcement dialog.
72
+ * This can be an image URL, icon name, or any other illustration identifier.
73
+ *
74
+ * Make sure to choose the right illustration respective the size (the filename includes the size information, i.e. threetwozero = 320px)
75
+ */
76
+ illustration?: IllustrationNames;
77
+ /**
78
+ * The size of the announcement dialog, can be 'medium' (656px width), 'large' (992px width), 'xlarge' (90% width) or 'fullscreen' (100% width).
79
+ * @default medium
80
+ */
81
+ size: AnnouncementDialogSize;
82
+ connectedCallback(): void;
83
+ protected renderHeader(): import("lit-html").TemplateResult<1>;
84
+ protected renderBody(): import("lit-html").TemplateResult<1>;
85
+ static styles: Array<CSSResult>;
86
+ }
87
+ export default AnnouncementDialog;
@@ -0,0 +1,131 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { html, nothing } from 'lit';
11
+ import { ifDefined } from 'lit/directives/if-defined.js';
12
+ import { property } from 'lit/decorators.js';
13
+ import { TYPE, VALID_TEXT_TAGS } from '../text/text.constants';
14
+ import Dialog from '../dialog/dialog.component';
15
+ import { DIALOG_VARIANT } from '../dialog/dialog.constants';
16
+ import styles from './announcementdialog.styles';
17
+ import { DEFAULTS } from './announcementdialog.constants';
18
+ /**
19
+ * AnnouncementDialog component is a modal dialog that can be used to display announcements, extending the existing Dialog component.
20
+ * It can be used to create custom dialogs where a illustration, content and footer actions are provided by the consumer.
21
+ * The dialog is available in 4 sizes: medium, large, xlarge and fullscreen. It may also receive custom styling/sizing.
22
+ * The dialog interrupts the user and will block interaction with the rest of the application until it is closed.
23
+ *
24
+ * The dialog can be controlled solely through the `visible` property, no trigger element is required.
25
+ * If a `triggerId` is provided, the dialog will manage focus with that element, otherwise it will
26
+ * remember the previously focused element before the dialog was opened.
27
+ *
28
+ * The dialog is a controlled component, meaning it does not have its own state management for visibility.
29
+ * Use the `visible` property to control the visibility of the dialog.
30
+ * Use the `onClose` event to handle the close action of the dialog (fired when Close button is clicked
31
+ * or Escape is pressed).
32
+ *
33
+ * **Accessibility notes for consuming (have to be explicitly set when you consume the component)**
34
+ *
35
+ * - The dialog should have an aria-label or aria-labelledby attribute to provide a label for screen readers.
36
+ * - Use aria-labelledby to reference the ID of the element that labels the dialog when there is no visible title.
37
+ *
38
+ * **Note: Programmatic show/hide requires the ? prefix on the visible attribute**
39
+ * - Use `?visible=true/false` as an attribute instead of `visible=true/false`
40
+ * - Reference docs for more info: https://lit.dev/docs/templates/expressions/#boolean-attribute-expressions
41
+ *
42
+ * @dependency mdc-button
43
+ * @dependency mdc-illustration
44
+ * @dependency mdc-text
45
+ *
46
+ * @tagname mdc-announcementdialog
47
+ *
48
+ * @event shown - (React: onShown) Dispatched when the dialog is shown
49
+ * @event hidden - (React: onHidden) Dispatched when the dialog is hidden
50
+ * @event created - (React: onCreated) Dispatched when the dialog is created (added to the DOM)
51
+ * @event destroyed - (React: onDestroyed) Dispatched when the dialog is destroyed (removed from the DOM)
52
+ * @event close - (React: onClose) Dispatched when the Close Button is clicked or Escape key is pressed
53
+ * (this does not hide the dialog)
54
+ *
55
+ * @cssproperty --mdc-announcementdialog-illustration-background-color - background color of the illustration section
56
+ * @cssproperty --mdc-dialog-primary-background-color - primary background color of the dialog
57
+ * @cssproperty --mdc-dialog-border-color - border color of the dialog
58
+ * @cssproperty --mdc-dialog-header-text-color - text color of the header/title of the dialog
59
+ * @cssproperty --mdc-dialog-description-text-color - text color of the below header description of the dialog
60
+ * @cssproperty --mdc-dialog-elevation-3 - elevation of the dialog
61
+ * @cssproperty --mdc-dialog-width - width of the dialog
62
+ * @cssproperty --mdc-dialog-height - height of the dialog
63
+ *
64
+ * @csspart body - The main body container that holds the illustration and content sections
65
+ * @csspart illustration-container - The container for the illustration section
66
+ * @csspart content-container - The container for the content section
67
+ * @csspart header-text - The header text
68
+ *
69
+ * @slot header-prefix - Slot for the dialog header content. This can be used to pass custom header content.
70
+ * @slot dialog-body - Slot for the dialog body content
71
+ * @slot illustration-container - Slot for the illustration container section
72
+ * @slot content-container - Slot for the content (header, description, etc) section
73
+ * @slot description-container - Slot for the description in the content (below header) - pass in Text, Links etc as needed.
74
+ * @slot footer-link - This slot is for passing `mdc-link` component within the footer section.
75
+ * @slot footer-button-secondary - This slot is for passing secondary variant of `mdc-button` component
76
+ * within the footer section.
77
+ * @slot footer-button-primary - This slot is for passing primary variant of
78
+ * `mdc-button` component within the footer section.
79
+ * @slot footer - This slot is for passing custom footer content. Only use this if really needed,
80
+ * using the footer-link and footer-button slots is preferred
81
+ */
82
+ class AnnouncementDialog extends Dialog {
83
+ constructor() {
84
+ super(...arguments);
85
+ /**
86
+ * The size of the announcement dialog, can be 'medium' (656px width), 'large' (992px width), 'xlarge' (90% width) or 'fullscreen' (100% width).
87
+ * @default medium
88
+ */
89
+ this.size = DEFAULTS.SIZE;
90
+ }
91
+ connectedCallback() {
92
+ super.connectedCallback();
93
+ this.variant = DIALOG_VARIANT.DEFAULT;
94
+ }
95
+ renderHeader() {
96
+ return html `${nothing}`;
97
+ }
98
+ renderBody() {
99
+ return html `
100
+ <div part="body">
101
+ <div part="illustration-container">
102
+ <slot name="illustration-container">
103
+ <mdc-illustration name="${ifDefined(this.illustration)}"></mdc-illustration>
104
+ </slot>
105
+ </div>
106
+ <div part="content-container">
107
+ <slot name="content-container">
108
+ <mdc-text
109
+ part="header-text"
110
+ tagname="${VALID_TEXT_TAGS[this.headerTagName.toUpperCase()]}"
111
+ type="${TYPE.HEADING_MIDSIZE_MEDIUM}"
112
+ >
113
+ ${this.headerText}
114
+ </mdc-text>
115
+ <slot name="description-container"> </slot>
116
+ </slot>
117
+ </div>
118
+ </div>
119
+ `;
120
+ }
121
+ }
122
+ AnnouncementDialog.styles = [...Dialog.styles, ...styles];
123
+ __decorate([
124
+ property({ type: String, reflect: true }),
125
+ __metadata("design:type", String)
126
+ ], AnnouncementDialog.prototype, "illustration", void 0);
127
+ __decorate([
128
+ property({ type: String, reflect: true }),
129
+ __metadata("design:type", String)
130
+ ], AnnouncementDialog.prototype, "size", void 0);
131
+ export default AnnouncementDialog;
@@ -0,0 +1,6 @@
1
+ declare const TAG_NAME: "mdc-announcementdialog";
2
+ declare const ANNOUNCEMENT_DIALOG_SIZE: readonly ["medium", "large", "xlarge", "fullscreen"];
3
+ declare const DEFAULTS: {
4
+ readonly SIZE: "medium";
5
+ };
6
+ export { TAG_NAME, DEFAULTS, ANNOUNCEMENT_DIALOG_SIZE };
@@ -0,0 +1,7 @@
1
+ import utils from '../../utils/tag-name';
2
+ const TAG_NAME = utils.constructTagName('announcementdialog');
3
+ const ANNOUNCEMENT_DIALOG_SIZE = ['medium', 'large', 'xlarge', 'fullscreen'];
4
+ const DEFAULTS = {
5
+ SIZE: 'medium',
6
+ };
7
+ export { TAG_NAME, DEFAULTS, ANNOUNCEMENT_DIALOG_SIZE };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult[];
2
+ export default _default;
@@ -0,0 +1,52 @@
1
+ import { css } from 'lit';
2
+ const styles = css `
3
+ :host {
4
+ --mdc-announcementdialog-illustration-background-color: var(--mds-color-theme-background-solid-secondary-normal);
5
+
6
+ background-image: linear-gradient(
7
+ var(--mdc-announcementdialog-illustration-background-color) 0%,
8
+ var(--mdc-announcementdialog-illustration-background-color) 100%
9
+ );
10
+ background-size: 50% 100%;
11
+ background-position: left;
12
+ background-repeat: no-repeat;
13
+ max-height: 100vh;
14
+ }
15
+ :host(:dir(rtl)) {
16
+ background-position: right;
17
+ }
18
+ :host::part(body) {
19
+ margin-top: 2rem;
20
+ display: grid;
21
+ grid-template-columns: repeat(auto-fit, minmax(0px, 1fr));
22
+ }
23
+ :host::part(illustration-container) {
24
+ width: auto;
25
+ }
26
+
27
+ :host mdc-illustration {
28
+ width: auto;
29
+ margin-inline-start: 1rem;
30
+ margin-inline-end: 2rem;
31
+ }
32
+ :host::part(content-container) {
33
+ color: var(--mdc-dialog-description-text-color);
34
+ width: auto;
35
+ margin-inline-start: 2rem;
36
+ margin-inline-end: 1rem;
37
+ }
38
+
39
+ @media (max-width: 27rem) {
40
+ :host {
41
+ background-size: 0% 100%;
42
+ }
43
+ :host::part(illustration-container) {
44
+ display: none;
45
+ }
46
+ :host::part(content-container) {
47
+ margin-inline-start: 0;
48
+ margin-inline-end: 0;
49
+ }
50
+ }
51
+ `;
52
+ export default [styles];
@@ -0,0 +1,6 @@
1
+ import type { Events as DialogEvents } from '../dialog/dialog.types';
2
+ import { ANNOUNCEMENT_DIALOG_SIZE } from './announcementdialog.constants';
3
+ type AnnouncementDialogSize = (typeof ANNOUNCEMENT_DIALOG_SIZE)[number];
4
+ interface Events extends DialogEvents {
5
+ }
6
+ export type { Events, AnnouncementDialogSize };
@@ -0,0 +1,9 @@
1
+ import Announcementdialog from './announcementdialog.component';
2
+ import '../illustration';
3
+ import '../text';
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ ['mdc-announcementdialog']: Announcementdialog;
7
+ }
8
+ }
9
+ export default Announcementdialog;
@@ -0,0 +1,6 @@
1
+ import Announcementdialog from './announcementdialog.component';
2
+ import { TAG_NAME } from './announcementdialog.constants';
3
+ import '../illustration';
4
+ import '../text';
5
+ Announcementdialog.register(TAG_NAME);
6
+ export default Announcementdialog;
@@ -26,6 +26,11 @@ declare const Checkbox_base: import("../../utils/mixins/index.types").Constructo
26
26
  * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.
27
27
  * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.
28
28
  * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a selected checkbox when disabled.
29
+ *
30
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
31
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
32
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
33
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
29
34
  */
30
35
  declare class Checkbox extends Checkbox_base implements AssociatedFormControl {
31
36
  /**
@@ -41,6 +41,11 @@ import styles from './checkbox.styles';
41
41
  * @cssproperty --mdc-checkbox-checked-pressed-icon-color - Background color for a selected checkbox when pressed.
42
42
  * @cssproperty --mdc-checkbox-pressed-icon-color - Background color for a selected checkbox when pressed.
43
43
  * @cssproperty --mdc-checkbox-disabled-checked-icon-color - Background color for a selected checkbox when disabled.
44
+ *
45
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
46
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
47
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
48
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
44
49
  */
45
50
  class Checkbox extends AutoFocusOnMountMixin(FormInternalsMixin(DataAriaLabelMixin(FormfieldWrapper))) {
46
51
  constructor() {
@@ -36,6 +36,10 @@ declare const Combobox_base: import("../../utils/mixins/index.types").Constructo
36
36
  * @tagname mdc-combobox
37
37
  *
38
38
  * @slot default - This is a default/unnamed slot for Selectlistbox including options and/or option group.
39
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
40
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
41
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
42
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
39
43
  *
40
44
  * @event click - (React: onClick) This event is dispatched when the combobox is clicked.
41
45
  * @event change - (React: onChange) This event is dispatched when the combobox is changed.
@@ -62,6 +62,10 @@ import styles from './combobox.styles';
62
62
  * @tagname mdc-combobox
63
63
  *
64
64
  * @slot default - This is a default/unnamed slot for Selectlistbox including options and/or option group.
65
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
66
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
67
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
68
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
65
69
  *
66
70
  * @event click - (React: onClick) This event is dispatched when the combobox is clicked.
67
71
  * @event change - (React: onChange) This event is dispatched when the combobox is changed.
@@ -1,4 +1,4 @@
1
- import { CSSResult, PropertyValues } from 'lit';
1
+ import { CSSResult, PropertyValues, nothing } from 'lit';
2
2
  import { Component } from '../../models';
3
3
  import type { DialogRole, DialogSize, DialogVariant } from './dialog.types';
4
4
  declare const Dialog_base: import("../../utils/mixins/index.types").Constructor<Component & import("../../utils/mixins/BackdropMixin").BackdropMixinInterface> & import("../../utils/mixins/index.types").Constructor<Component & import("../../utils/mixins/PreventScrollMixin").PreventScrollMixinInterface> & import("../../utils/mixins/index.types").Constructor<Component & import("../../utils/mixins/FocusTrapMixin").FocusTrapClassInterface> & import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/FooterMixin").FooterMixinInterface> & typeof Component;
@@ -46,6 +46,7 @@ declare const Dialog_base: import("../../utils/mixins/index.types").Constructor<
46
46
  * @cssproperty --mdc-dialog-description-text-color - text color of the below header description of the dialog
47
47
  * @cssproperty --mdc-dialog-elevation-3 - elevation of the dialog
48
48
  * @cssproperty --mdc-dialog-width - width of the dialog
49
+ * @cssproperty --mdc-dialog-height - height of the dialog
49
50
  *
50
51
  * @slot header-prefix - Slot for the dialog header content. This can be used to pass custom header content.
51
52
  * @slot dialog-body - Slot for the dialog body content
@@ -217,6 +218,18 @@ declare class Dialog extends Dialog_base {
217
218
  * @internal
218
219
  */
219
220
  private focusBackToTrigger;
221
+ /**
222
+ * Abstracting the renderHeader to allow for overrides of
223
+ * extending components
224
+ * @internal
225
+ */
226
+ protected renderHeader(): import("lit-html").TemplateResult<1> | typeof nothing;
227
+ /**
228
+ * Abstracting the renderBody to allow for overrides of
229
+ * extending components
230
+ * @internal
231
+ */
232
+ protected renderBody(): import("lit-html").TemplateResult<1>;
220
233
  render(): import("lit-html").TemplateResult<1>;
221
234
  static styles: Array<CSSResult>;
222
235
  }
@@ -64,6 +64,7 @@ import styles from './dialog.styles';
64
64
  * @cssproperty --mdc-dialog-description-text-color - text color of the below header description of the dialog
65
65
  * @cssproperty --mdc-dialog-elevation-3 - elevation of the dialog
66
66
  * @cssproperty --mdc-dialog-width - width of the dialog
67
+ * @cssproperty --mdc-dialog-height - height of the dialog
67
68
  *
68
69
  * @slot header-prefix - Slot for the dialog header content. This can be used to pass custom header content.
69
70
  * @slot dialog-body - Slot for the dialog body content
@@ -359,31 +360,49 @@ class Dialog extends BackdropMixin(PreventScrollMixin(FocusTrapMixin(FooterMixin
359
360
  this.lastActiveElement.focus();
360
361
  }
361
362
  }
362
- render() {
363
- return html `
364
- ${this.headerText
363
+ /**
364
+ * Abstracting the renderHeader to allow for overrides of
365
+ * extending components
366
+ * @internal
367
+ */
368
+ renderHeader() {
369
+ return this.headerText
365
370
  ? html ` <div part="header-section">
366
- <div part="header">
367
- <slot name="header-prefix"></slot>
368
- <mdc-text
369
- part="header-text"
370
- tagname="${VALID_TEXT_TAGS[this.headerTagName.toUpperCase()]}"
371
- type="${TYPE.BODY_LARGE_BOLD}"
372
- >
373
- ${this.headerText}
374
- </mdc-text>
375
- </div>
376
- ${this.descriptionText
371
+ <div part="header">
372
+ <slot name="header-prefix"></slot>
373
+ <mdc-text
374
+ part="header-text"
375
+ tagname="${VALID_TEXT_TAGS[this.headerTagName.toUpperCase()]}"
376
+ type="${TYPE.BODY_LARGE_BOLD}"
377
+ >
378
+ ${this.headerText}
379
+ </mdc-text>
380
+ </div>
381
+ ${this.descriptionText
377
382
  ? html `<mdc-text
378
- part="description-text"
379
- tagname="${VALID_TEXT_TAGS[this.descriptionTagName.toUpperCase()]}"
380
- type="${TYPE.BODY_MIDSIZE_REGULAR}"
381
- >
382
- ${this.descriptionText}
383
- </mdc-text>`
383
+ part="description-text"
384
+ tagname="${VALID_TEXT_TAGS[this.descriptionTagName.toUpperCase()]}"
385
+ type="${TYPE.BODY_MIDSIZE_REGULAR}"
386
+ >
387
+ ${this.descriptionText}
388
+ </mdc-text>`
384
389
  : nothing}
385
- </div>`
386
- : nothing}
390
+ </div>`
391
+ : nothing;
392
+ }
393
+ /**
394
+ * Abstracting the renderBody to allow for overrides of
395
+ * extending components
396
+ * @internal
397
+ */
398
+ renderBody() {
399
+ return html ` <div part="body">
400
+ <slot name="dialog-body"></slot>
401
+ </div>`;
402
+ }
403
+ render() {
404
+ return html `
405
+ ${this.renderHeader()}
387
406
  <mdc-button
388
407
  part="dialog-close-btn"
389
408
  prefix-icon="${DEFAULTS.CANCEL_ICON}"
@@ -392,10 +411,7 @@ class Dialog extends BackdropMixin(PreventScrollMixin(FocusTrapMixin(FooterMixin
392
411
  aria-label="${ifDefined(this.closeButtonAriaLabel) || ''}"
393
412
  @click="${this.closeDialog}"
394
413
  ></mdc-button>
395
- <div part="body">
396
- <slot name="dialog-body"></slot>
397
- </div>
398
- ${this.renderFooter()}
414
+ ${this.renderBody()} ${this.renderFooter()}
399
415
  `;
400
416
  }
401
417
  }
@@ -418,7 +434,7 @@ __decorate([
418
434
  ], Dialog.prototype, "zIndex", void 0);
419
435
  __decorate([
420
436
  property({ type: String, reflect: true }),
421
- __metadata("design:type", Object)
437
+ __metadata("design:type", String)
422
438
  ], Dialog.prototype, "size", void 0);
423
439
  __decorate([
424
440
  property({ type: String, reflect: true }),
@@ -7,6 +7,7 @@ const styles = css `
7
7
  --mdc-dialog-description-text-color: var(--mds-color-theme-text-secondary-normal);
8
8
  --mdc-dialog-elevation-3: var(--mds-elevation-3);
9
9
  --mdc-dialog-width: 27rem; /* Default to small */
10
+ --mdc-dialog-height: auto;
10
11
  --mdc-dialog-padding: 1.5rem;
11
12
 
12
13
  background-color: var(--mdc-dialog-primary-background-color);
@@ -60,6 +61,7 @@ const styles = css `
60
61
 
61
62
  :host {
62
63
  width: var(--mdc-dialog-width);
64
+ height: var(--mdc-dialog-height);
63
65
  max-width: 100%;
64
66
  }
65
67
 
@@ -2,7 +2,7 @@ import type { TypedCustomEvent, ValueOf } from '../../utils/types';
2
2
  import type Dialog from './dialog.component';
3
3
  import { DIALOG_ROLE, DIALOG_SIZE, DIALOG_VARIANT } from './dialog.constants';
4
4
  type DialogRole = (typeof DIALOG_ROLE)[number];
5
- type DialogSize = ValueOf<typeof DIALOG_SIZE>;
5
+ type DialogSize = (typeof DIALOG_SIZE)[number];
6
6
  type DialogVariant = ValueOf<typeof DIALOG_VARIANT>;
7
7
  interface Events {
8
8
  onShownEvent: TypedCustomEvent<Dialog, {
@@ -25,6 +25,10 @@ declare const FormfieldGroup_base: import("../../utils/mixins/index.types").Cons
25
25
  * @dependency mdc-toggletip
26
26
  *
27
27
  * @slot default - This is a default slot for checkbox or toggle components.
28
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
29
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
30
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
31
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
28
32
  */
29
33
  declare class FormfieldGroup extends FormfieldGroup_base {
30
34
  /**
@@ -29,6 +29,10 @@ import styles from './formfieldgroup.styles';
29
29
  * @dependency mdc-toggletip
30
30
  *
31
31
  * @slot default - This is a default slot for checkbox or toggle components.
32
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
33
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
34
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
35
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
32
36
  */
33
37
  class FormfieldGroup extends DataAriaLabelMixin(FormfieldWrapper) {
34
38
  constructor() {
@@ -1,6 +1,6 @@
1
1
  import { CSSResult, nothing } from 'lit';
2
2
  import { Component } from '../../models';
3
- import type { PopoverPlacement } from '../popover/popover.types';
3
+ import type { PopoverPlacement, PopoverStrategy } from '../popover/popover.types';
4
4
  import type { ValidationType } from './formfieldwrapper.types';
5
5
  declare const FormfieldWrapper_base: import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/DisabledMixin").DisabledMixinInterface> & typeof Component;
6
6
  /**
@@ -15,14 +15,17 @@ declare const FormfieldWrapper_base: import("../../utils/mixins/index.types").Co
15
15
  * @dependency mdc-button
16
16
  * @dependency mdc-toggletip
17
17
  *
18
- *
18
+ * @slot label - Slot for the label element. If not provided, the `label` property will be used to render the label.
19
+ * @slot toggletip - Slot for the toggletip info icon button. If not provided, the `toggletip-text` property will be used to render the info icon button and toggletip.
20
+ * @slot help-icon - Slot for the helper/validation icon. If not provided, the icon will be rendered based on the `helpTextType` property.
21
+ * @slot help-text - Slot for the helper/validation text. If not provided, the `helpText` property will be used to render the helper/validation text.
19
22
  */
20
23
  declare class FormfieldWrapper extends FormfieldWrapper_base {
21
24
  /**
22
- * Indicates the unique identifier for the native input element.
23
- * Required for acccessibility.
24
- * @internal
25
- */
25
+ * Indicates the unique identifier for the native input element.
26
+ * Required for acccessibility.
27
+ * @internal
28
+ */
26
29
  protected inputId: string;
27
30
  /**
28
31
  * The label of the input field. It is linked to the input field using the `for` attribute.
@@ -52,6 +55,7 @@ declare class FormfieldWrapper extends FormfieldWrapper_base {
52
55
  * @default 'top'
53
56
  */
54
57
  toggletipPlacement: PopoverPlacement;
58
+ toggletipStrategy: PopoverStrategy;
55
59
  /**
56
60
  * Aria label for the info icon that is displayed next to the label when `toggletipText` is set.
57
61
  * This is used for accessibility purposes to provide a description of the icon.