@momentum-ui/web-components 3.0.0-beta.1 → 3.0.0-beta.11

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 (150) hide show
  1. package/dist/1013.js +1 -1
  2. package/dist/109.js +3 -3
  3. package/dist/1323.js +2 -2
  4. package/dist/1625.js +1 -1
  5. package/dist/2186.js +1 -1
  6. package/dist/2547.js +25 -25
  7. package/dist/2555.js +29 -10
  8. package/dist/2669.js +1 -1
  9. package/dist/3192.js +4 -4
  10. package/dist/3739.js +1 -1
  11. package/dist/4363.js +1 -1
  12. package/dist/4659.js +1 -1
  13. package/dist/6273.js +27 -19
  14. package/dist/6283.js +1 -1
  15. package/dist/6408.js +29 -17
  16. package/dist/679.js +1 -1
  17. package/dist/6798.js +3 -3
  18. package/dist/6865.js +1 -1
  19. package/dist/7292.js +1 -1
  20. package/dist/750.js +1 -0
  21. package/dist/7833.js +1 -1
  22. package/dist/8028.js +1 -1
  23. package/dist/8161.js +1 -1
  24. package/dist/836.js +1 -1
  25. package/dist/9409.js +1 -1
  26. package/dist/comp/md-accordion-item-entry.js +1 -1
  27. package/dist/comp/md-accordion-item.js +1 -1
  28. package/dist/comp/md-activity-button-entry.js +1 -1
  29. package/dist/comp/md-activity-button.js +1 -1
  30. package/dist/comp/md-advance-list-entry.js +19 -19
  31. package/dist/comp/md-alert-banner-entry.js +1 -1
  32. package/dist/comp/md-alert-banner.js +1 -1
  33. package/dist/comp/md-alert-entry.js +45 -39
  34. package/dist/comp/md-alert.js +1 -1
  35. package/dist/comp/md-audio-player-entry.js +1 -1
  36. package/dist/comp/md-audio-player.js +1 -1
  37. package/dist/comp/md-avatar-entry.js +3 -3
  38. package/dist/comp/md-avatar.js +1 -1
  39. package/dist/comp/md-button-entry.js +3 -3
  40. package/dist/comp/md-button.js +1 -1
  41. package/dist/comp/md-card-ai-entry.js +1 -1
  42. package/dist/comp/md-card-ai.js +1 -1
  43. package/dist/comp/md-card-entry.js +3 -3
  44. package/dist/comp/md-card-v2-entry.js +1 -1
  45. package/dist/comp/md-card-v2.js +1 -1
  46. package/dist/comp/md-card.js +1 -1
  47. package/dist/comp/md-chat-message-entry.js +18 -13
  48. package/dist/comp/md-chat-message.js +1 -1
  49. package/dist/comp/md-checkbox-entry.js +1 -1
  50. package/dist/comp/md-checkbox.js +1 -1
  51. package/dist/comp/md-chip-entry.js +9 -9
  52. package/dist/comp/md-coachmark-entry.js +1 -1
  53. package/dist/comp/md-coachmark-popover-entry.js +1 -1
  54. package/dist/comp/md-coachmark-popover.js +1 -1
  55. package/dist/comp/md-coachmark.js +1 -1
  56. package/dist/comp/md-combobox-entry.js +26 -26
  57. package/dist/comp/md-combobox.js +1 -1
  58. package/dist/comp/md-country-code-picker-entry.js +1 -1
  59. package/dist/comp/md-country-code-picker.js +1 -1
  60. package/dist/comp/md-date-range-picker-entry.js +1 -1
  61. package/dist/comp/md-date-range-picker.js +1 -1
  62. package/dist/comp/md-date-time-picker-entry.js +1 -1
  63. package/dist/comp/md-date-time-picker.js +1 -1
  64. package/dist/comp/md-datepicker-calendar-entry.js +33 -14
  65. package/dist/comp/md-datepicker-calendar.js +1 -1
  66. package/dist/comp/md-datepicker-day-entry.js +1 -1
  67. package/dist/comp/md-datepicker-day.js +1 -1
  68. package/dist/comp/md-datepicker-entry.js +27 -19
  69. package/dist/comp/md-datepicker-month-entry.js +1 -1
  70. package/dist/comp/md-datepicker-month.js +1 -1
  71. package/dist/comp/md-datepicker-week-entry.js +1 -1
  72. package/dist/comp/md-datepicker-week.js +1 -1
  73. package/dist/comp/md-datepicker.js +1 -1
  74. package/dist/comp/md-dropdown-entry.js +2 -2
  75. package/dist/comp/md-dropdown.js +1 -1
  76. package/dist/comp/md-editable-field-entry.js +5 -6
  77. package/dist/comp/md-editable-field.js +1 -1
  78. package/dist/comp/md-favorite-entry.js +1 -1
  79. package/dist/comp/md-favorite.js +1 -1
  80. package/dist/comp/md-floating-minimize-entry.js +6 -4
  81. package/dist/comp/md-floating-minimize.js +1 -1
  82. package/dist/comp/md-floating-modal-entry.js +12 -7
  83. package/dist/comp/md-floating-modal.js +1 -1
  84. package/dist/comp/md-grabber-entry.js +1 -1
  85. package/dist/comp/md-grabber.js +1 -1
  86. package/dist/comp/md-help-text-entry.js +3 -3
  87. package/dist/comp/md-help-text.js +1 -1
  88. package/dist/comp/md-icon-entry.js +1 -1
  89. package/dist/comp/md-icon.js +1 -1
  90. package/dist/comp/md-inpu.js +1 -1
  91. package/dist/comp/md-input-entry.js +17 -5
  92. package/dist/comp/md-input-file.js +1 -1
  93. package/dist/comp/md-input.js +1 -1
  94. package/dist/comp/md-link-entry.js +36 -36
  95. package/dist/comp/md-list-entry.js +1 -1
  96. package/dist/comp/md-list-item-entry.js +3 -3
  97. package/dist/comp/md-meeting-alert-entry.js +1 -1
  98. package/dist/comp/md-meeting-alert.js +1 -1
  99. package/dist/comp/md-menu-overlay-entry.js +2 -2
  100. package/dist/comp/md-modal-entry.js +1 -1
  101. package/dist/comp/md-modal.js +1 -1
  102. package/dist/comp/md-pagination-entry.js +1 -1
  103. package/dist/comp/md-pagination.js +1 -1
  104. package/dist/comp/md-phone-input-entry.js +1 -1
  105. package/dist/comp/md-phone-input.js +1 -1
  106. package/dist/comp/md-popover-entry.js +1 -1
  107. package/dist/comp/md-popover.js +1 -1
  108. package/dist/comp/md-presence-entry.js +1 -1
  109. package/dist/comp/md-presence.js +1 -1
  110. package/dist/comp/md-radio-entry.js +11 -4
  111. package/dist/comp/md-radio.js +1 -1
  112. package/dist/comp/md-table-advanced-entry.js +1 -1
  113. package/dist/comp/md-table-advanced.js +1 -1
  114. package/dist/comp/md-table-entry.js +1 -1
  115. package/dist/comp/md-table.js +1 -1
  116. package/dist/comp/md-tabs-entry.js +1 -2
  117. package/dist/comp/md-tabs.js +1 -1
  118. package/dist/comp/md-task-item-entry.js +1 -2
  119. package/dist/comp/md-task-item.js +1 -1
  120. package/dist/comp/md-timepicker-entry.js +1 -1
  121. package/dist/comp/md-timepicker.js +1 -1
  122. package/dist/comp/md-tooltip-entry.js +1 -1
  123. package/dist/index-entry.js +403 -301
  124. package/dist/index.js +1 -1
  125. package/dist/types/components/avatar/Avatar.constants.d.ts +1 -1
  126. package/dist/types/components/button/Button.d.ts +6 -1
  127. package/dist/types/components/chat-message/ChatMessage.d.ts +1 -0
  128. package/dist/types/components/chip/Chip.d.ts +3 -5
  129. package/dist/types/components/combobox/ComboBox.d.ts +1 -1
  130. package/dist/types/components/datepicker/DatePicker.d.ts +4 -0
  131. package/dist/types/components/datepicker/datepicker-calendar/DatePickerCalendar.d.ts +10 -1
  132. package/dist/types/components/dropdown/Dropdown.d.ts +14 -2
  133. package/dist/types/components/form/FormArray.d.ts +6 -1
  134. package/dist/types/components/form/FormControl.d.ts +3 -0
  135. package/dist/types/components/form/index.d.ts +1 -0
  136. package/dist/types/components/form/validators.array.d.ts +12 -0
  137. package/dist/types/components/form/validators.d.ts +1 -0
  138. package/dist/types/components/input/Input.d.ts +6 -2
  139. package/dist/types/components/link/Link.d.ts +7 -0
  140. package/dist/types/components/list/ListItem.d.ts +1 -1
  141. package/dist/types/components/list-v2/list-item-v2.d.ts +67 -0
  142. package/dist/types/components/list-v2/list-v2.d.ts +56 -0
  143. package/dist/types/components/menu-overlay/MenuOverlay.d.ts +1 -0
  144. package/dist/types/components/radio/Radio.d.ts +5 -0
  145. package/dist/types/components/slider/Slider.d.ts +11 -0
  146. package/dist/types/components/tooltip/Tooltip.d.ts +3 -0
  147. package/dist/types/index.d.ts +3 -1
  148. package/dist/types/utils/keyboard.d.ts +1 -0
  149. package/package.json +2 -2
  150. package/dist/6633.js +0 -1
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- require("./6633"),require("./7103"),require("./4765"),require("./1873"),require("./1890"),require("./4313"),require("./510"),require("./6283"),require("./5087"),require("./6865"),require("./8889"),require("./8210"),require("./5630"),require("./3135"),require("./1013"),require("./3739"),require("./7819"),require("./2848"),require("./4363"),require("./2243"),require("./7919"),require("./7292"),require("./6188"),require("./15"),require("./8345"),require("./9270"),require("./8923"),require("./4548"),require("./2669"),require("./1729"),require("./9164"),require("./9480"),require("./1625"),require("./836"),require("./3625"),require("./2056"),require("./4889"),require("./9409"),require("./9654"),require("./4659"),require("./5838"),require("./6765"),require("./1626"),require("./3852"),require("./8161"),require("./6273"),require("./8391"),require("./679"),require("./8033"),require("./1564"),require("./4462"),require("./4744"),require("./8576"),require("./1092"),require("./8171"),require("./2201"),require("./2186"),require("./9425"),require("./8588"),require("./3212"),require("./622"),require("./5809"),require("./9455"),require("./759"),require("./2093"),require("./8148"),require("./5799"),require("./9312"),require("./2714"),require("./9238"),require("./7833"),require("./2924"),require("./5524"),require("./674"),require("./2314"),module.exports=require("./index-entry");
1
+ require("./750"),require("./7103"),require("./4765"),require("./1873"),require("./1890"),require("./4313"),require("./510"),require("./5087"),require("./6865"),require("./8889"),require("./8210"),require("./5630"),require("./3135"),require("./1013"),require("./3739"),require("./7819"),require("./2848"),require("./4363"),require("./2243"),require("./7919"),require("./7292"),require("./6188"),require("./15"),require("./8345"),require("./9270"),require("./8923"),require("./4548"),require("./2669"),require("./1729"),require("./9164"),require("./9480"),require("./1625"),require("./836"),require("./3625"),require("./2056"),require("./9409"),require("./4889"),require("./9654"),require("./4659"),require("./5838"),require("./6765"),require("./1626"),require("./3852"),require("./8161"),require("./6273"),require("./8391"),require("./679"),require("./8033"),require("./1564"),require("./4462"),require("./4744"),require("./8576"),require("./1092"),require("./2186"),require("./8171"),require("./2201"),require("./9425"),require("./8588"),require("./3212"),require("./622"),require("./5809"),require("./9455"),require("./759"),require("./2093"),require("./8148"),require("./5799"),require("./9312"),require("./7833"),require("./2714"),require("./9238"),require("./2924"),require("./5524"),require("./674"),require("./2314"),module.exports=require("./index-entry");
@@ -1,6 +1,6 @@
1
1
  declare const AvatarState: readonly ["active", "rest"];
2
2
  declare const AvatarStyle: readonly ["default", "table"];
3
- declare const AvatarChannelType: readonly ["channel-chat", "channel-chat-outbound", "channel-sms-inbound", "channel-sms-outbound", "channel-email-inbound", "channel-email-outbound", "channel-call", "channel-call-inbound", "channel-social", "channel-callback", "channel-headset", "channel-campaign", "channel-emoji", "channel-webex", "channel-fb-messenger", "channel-facebook", "channel-apple-chat", "channel-line", "channel-twitter-x", "channel-viber", "channel-whats-app", "channel-monitoring", "channel-we-chat", "channel-spam", "channel-custom"];
3
+ declare const AvatarChannelType: readonly ["channel-chat", "channel-chat-outbound", "channel-sms-inbound", "channel-sms-outbound", "channel-email-inbound", "channel-email-outbound", "channel-call", "channel-call-inbound", "channel-social", "channel-callback", "channel-callback-v2", "channel-headset", "channel-campaign", "channel-emoji", "channel-webex", "channel-fb-messenger", "channel-facebook", "channel-apple-chat", "channel-line", "channel-twitter-x", "channel-viber", "channel-whats-app", "channel-monitoring", "channel-we-chat", "channel-spam", "channel-custom"];
4
4
  declare const AvatarType: readonly ["bot", "group", "self", "typing", ""];
5
5
  declare const AvatarSize: number[];
6
6
  export { AvatarChannelType, AvatarSize, AvatarState, AvatarStyle, AvatarType };
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
  import "@/components/spinner/Spinner";
9
- import { LitElement, nothing } from "lit";
9
+ import { LitElement, nothing, PropertyValues } from "lit";
10
10
  export declare const buttonSize: readonly ["20", "24", "28", "32", "36", "40", "44", "52", "56", "72", "68", "84", "size-none", 20, 24, 28, 32, 36, 40, 44, 52, 56, 68, 72, 68, 84];
11
11
  export declare const buttonTag: readonly ["button", "input", "a"];
12
12
  export declare const buttonType: readonly ["button", "reset", "submit"];
@@ -100,7 +100,12 @@ export declare namespace Button {
100
100
  ariaDescribedBy?: string;
101
101
  clickFunction?: () => void;
102
102
  isPlaceholderText?: boolean;
103
+ autofocus: boolean;
103
104
  button: HTMLButtonElement;
105
+ protected firstUpdated(changedProperties: PropertyValues): void;
106
+ manageAutoFocus(element?: HTMLElement): void;
107
+ focus(): void;
108
+ blur(): void;
104
109
  renderWidth: () => string | typeof nothing;
105
110
  renderMaxWidth: () => string | typeof nothing;
106
111
  getStyles: () => import("lit").TemplateResult<1> | undefined;
@@ -9,6 +9,7 @@ export declare namespace ChatMessage {
9
9
  label: string;
10
10
  status: string;
11
11
  clickableTimestamp: boolean;
12
+ isSelected: boolean;
12
13
  selfLabel?: string;
13
14
  self: boolean;
14
15
  avatarColor?: string;
@@ -40,11 +40,9 @@ export declare namespace Chip {
40
40
  private renderedText;
41
41
  connectedCallback(): void;
42
42
  updated(changedProperties: PropertyValues): void;
43
- MAX_LENGTH: number;
44
- PRE_TRUNC_CHARS: number;
45
- POST_TRUNC_CHARS: number;
46
- DOT_COUNT: number;
47
- truncStringPortion(str: string, firstCharCount?: number, endCharCount?: number, dotCount?: number): void;
43
+ getTextWidth(text: string, font?: string): number;
44
+ MAXWIDTH: number;
45
+ truncStringPortion(text: string): void;
48
46
  protected selectionChange: (newState: boolean) => void;
49
47
  handleClear: (chipId: string) => void;
50
48
  handleSelect: () => void;
@@ -208,7 +208,7 @@ export declare namespace ComboBox {
208
208
  renderWithoutVirtualScroll(): unknown;
209
209
  highlightingSearchedText(option: OptionMember | string): TemplateResult<1>[];
210
210
  addStyle(): import("lit-html/development/directive").DirectiveResult<typeof import("lit/directives/style-map.js").StyleMapDirective>;
211
- readonly renderItem: (option: OptionMember | string, index: number) => TemplateResult;
211
+ renderItem(option: OptionMember | string, index: number): TemplateResult;
212
212
  inputTitle(): string;
213
213
  helpTextTemplate(): typeof nothing | TemplateResult<1>;
214
214
  messagesTemplate(): typeof nothing | TemplateResult<1>;
@@ -53,9 +53,13 @@ export declare namespace DatePicker {
53
53
  usePopover: boolean;
54
54
  triggerID: string;
55
55
  animationFrame: boolean;
56
+ isDatePickerMonthLoading: boolean;
57
+ isDatePickerMonthError: boolean;
58
+ errorMessages: Record<string, string>;
56
59
  selectedDate: DateTime;
57
60
  focusedDate: DateTime;
58
61
  filterDate: Function | undefined;
62
+ onRetry: (() => void) | undefined;
59
63
  maxDateData: DateTime | undefined;
60
64
  minDateData: DateTime | undefined;
61
65
  private popoverController;
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import "@/components/datepicker/datepicker-month/DatePickerMonth";
9
9
  import "@/components/icon/Icon";
10
+ import "@/components/spinner/Spinner";
10
11
  import { LitElement, PropertyValues, TemplateResult } from "lit";
11
12
  import { DateTime } from "luxon";
12
13
  import { DatePickerProps, DayFilters } from "../../../utils/dateUtils";
@@ -15,8 +16,12 @@ export declare namespace DatePickerCalendar {
15
16
  monthFormat: string;
16
17
  filterParams: DayFilters | undefined;
17
18
  handleMonthChange: Function | undefined;
19
+ onRetry: (() => void) | undefined;
18
20
  datePickerProps: DatePickerProps | undefined;
21
+ errorMessages: Record<string, string>;
19
22
  shortDay: boolean;
23
+ isDatePickerMonthLoading: boolean;
24
+ isDatePickerMonthError: boolean;
20
25
  viewAnchorDate: DateTime;
21
26
  private localeMonth;
22
27
  connectedCallback(): void;
@@ -24,12 +29,16 @@ export declare namespace DatePickerCalendar {
24
29
  setDate: (date: DateTime, cb?: Function) => void;
25
30
  increaseMonth: (event: MouseEvent) => void;
26
31
  decreaseMonth: (event: MouseEvent) => void;
32
+ handleRetryClick: () => void;
27
33
  renderMonthName: () => TemplateResult<1>;
28
34
  renderPreviousMonthButton: () => TemplateResult<1>;
29
35
  renderNextMonthButton: () => TemplateResult<1>;
30
36
  private getWeekDayName;
31
37
  header: () => TemplateResult[];
32
- renderMonth: () => TemplateResult<1>;
38
+ private renderLoader;
39
+ private renderDateError;
40
+ private renderMonthContent;
41
+ private renderMonth;
33
42
  static get styles(): import("lit").CSSResult[];
34
43
  render(): TemplateResult<1>;
35
44
  }
@@ -8,10 +8,10 @@
8
8
  import "@/components/icon/Icon";
9
9
  import { LitElement, nothing, PropertyValues } from "lit";
10
10
  export declare namespace Dropdown {
11
- type OptionMember = {
11
+ export type OptionMember = {
12
12
  [key: string]: string;
13
13
  };
14
- type Option = string | OptionMember;
14
+ export type Option = string | OptionMember;
15
15
  type RenderOptionMember = {
16
16
  key: string;
17
17
  value: string;
@@ -151,4 +151,16 @@ declare global {
151
151
  interface HTMLElementTagNameMap {
152
152
  "md-dropdown": Dropdown.ELEMENT;
153
153
  }
154
+ interface HTMLElementEventMap {
155
+ "dropdown-focus-in": CustomEvent<undefined>;
156
+ "dropdown-focus-out": CustomEvent<undefined>;
157
+ "dropdown-selected": CustomEvent<{
158
+ option: Dropdown.Option;
159
+ }>;
160
+ "dropdown-input": CustomEvent<{
161
+ value: string;
162
+ }>;
163
+ "combobox-on-expand": CustomEvent<undefined>;
164
+ "remove-all-selected": CustomEvent<undefined>;
165
+ }
154
166
  }
@@ -1,10 +1,15 @@
1
1
  import { AbstractControl } from "./Form.types";
2
2
  import { ObservableControl } from "./ObservableControl";
3
+ export type ArrayValidatorFn<ItemType> = (arr: FormArray<ItemType>) => void;
3
4
  export declare class FormArray<ItemType> extends ObservableControl<ItemType[]> implements AbstractControl<ItemType[]> {
4
5
  private readonly controls;
5
- constructor(controls: AbstractControl<ItemType>[]);
6
+ private readonly arrayValidators;
7
+ private inArrayValidation;
8
+ constructor(controls: AbstractControl<ItemType>[], arrayValidators?: ReadonlyArray<ArrayValidatorFn<ItemType>>);
6
9
  at(index: number): AbstractControl<ItemType>;
10
+ private runArrayValidators;
7
11
  push(control: AbstractControl<ItemType>): void;
12
+ private childChanged;
8
13
  removeAt(index: number): void;
9
14
  get value(): ItemType[];
10
15
  get valid(): boolean;
@@ -6,11 +6,14 @@ export declare class FormControl<ValueType> extends ObservableControl<ValueType>
6
6
  private validationErrors;
7
7
  private touched;
8
8
  private readonly validators;
9
+ private groupErrors;
9
10
  constructor(initialValue: ValueType, validators?: ValidatorFn<ValueType>[]);
10
11
  get value(): ValueType;
11
12
  markAsTouched(): void;
12
13
  get valid(): boolean;
13
14
  get errors(): ValidationError[];
15
+ addGroupError(error: ValidationError): void;
16
+ clearGroupErrorsByType(type: string): void;
14
17
  setValue(value: ValueType): void;
15
18
  validate(): void;
16
19
  }
@@ -3,3 +3,4 @@ export { FormArray } from "./FormArray";
3
3
  export { FormControl } from "./FormControl";
4
4
  export { FormGroup } from "./FormGroup";
5
5
  export { Validators } from "./validators";
6
+ export { ArrayValidators } from "./validators.array";
@@ -0,0 +1,12 @@
1
+ import { FormArray } from "./FormArray";
2
+ import { FormGroup } from "./FormGroup";
3
+ import { FormControl } from "./FormControl";
4
+ /**
5
+ * Array-level validator to ensure values are strictly increasing.
6
+ * - Checks each control selected from the FormArray
7
+ * - Adds a groupError to the first offending control
8
+ */
9
+ export declare function strictIncreasingOnly<FormValues extends Record<string, unknown>>(select: (row: FormGroup<FormValues>) => FormControl<number>): (arr: FormArray<FormValues>) => void;
10
+ export declare const ArrayValidators: {
11
+ strictIncreasingOnly: typeof strictIncreasingOnly;
12
+ };
@@ -3,4 +3,5 @@ export declare const Validators: {
3
3
  required: <FieldValue>() => ValidatorFn<FieldValue>;
4
4
  minLength: (min: number) => ValidatorFn<string>;
5
5
  maxLength: (max: number) => ValidatorFn<string>;
6
+ nonNegative: () => ValidatorFn<number>;
6
7
  };
@@ -20,7 +20,7 @@ export declare const iconPosition: string[];
20
20
  export declare const nestedLevel: number[];
21
21
  export declare const ariaInvalidType: string[];
22
22
  export declare namespace Input {
23
- export type Type = "text" | "number" | "password" | "email" | "tel" | "checkbox";
23
+ export type Type = "text" | "number" | "password" | "email" | "tel" | "checkbox" | "search";
24
24
  export type MessageType = "error" | "success" | "warning" | "priority";
25
25
  export type Message = {
26
26
  type: MessageType;
@@ -33,6 +33,7 @@ export declare namespace Input {
33
33
  export type InputType = typeof inputSize;
34
34
  export type shape = typeof inputShape;
35
35
  export type AriaInvalidType = (typeof ariaInvalidType)[number];
36
+ export type Autocomplete = "on" | "off";
36
37
  export class MessageController {
37
38
  determineMessageType(array: Input.Message[]): MessageType;
38
39
  filterMessagesByType(array: Input.Message[], value: string): string[];
@@ -80,7 +81,7 @@ export declare namespace Input {
80
81
  helpText: string;
81
82
  hideMessage: boolean;
82
83
  htmlId: string;
83
- role: string;
84
+ ariaRole: string | undefined;
84
85
  messageArr: Input.Message[];
85
86
  min: number | undefined;
86
87
  max: number | undefined;
@@ -103,9 +104,11 @@ export declare namespace Input {
103
104
  newMomentum: boolean;
104
105
  control?: FormControl<unknown>;
105
106
  disableUserTextInput: boolean;
107
+ autocomplete?: Autocomplete;
106
108
  showDropdown: boolean;
107
109
  dropdownExpanded: boolean;
108
110
  dropdownAriaLabel: string;
111
+ maxSuggestedLength: number | undefined;
109
112
  input: HTMLInputElement;
110
113
  private isEditing;
111
114
  private readonly inputSectionRightSlot;
@@ -162,6 +165,7 @@ export declare namespace Input {
162
165
  private get inputRightTemplateClassMap();
163
166
  inputRightTemplate(): import("lit").TemplateResult<1> | undefined;
164
167
  private get comboBoxButtonTemplate();
168
+ private characterCountLabelTemplate;
165
169
  secondaryLabelTemplate(): typeof nothing | import("lit").TemplateResult<1>;
166
170
  helpTextTemplate(): typeof nothing | import("lit").TemplateResult<1>;
167
171
  messagesTemplate(): typeof nothing | import("lit").TemplateResult<1>;
@@ -32,7 +32,14 @@ export declare namespace Link {
32
32
  private _tabIndex;
33
33
  get tabIndex(): number;
34
34
  set tabIndex(newValue: number);
35
+ autofocus: boolean;
36
+ linkRef: HTMLElement;
35
37
  static get styles(): import("lit").CSSResult[];
38
+ firstUpdated(): void;
39
+ focus(): void;
40
+ blur(): void;
41
+ private get linkClassNamesInfo();
42
+ private get linkElement();
36
43
  render(): import("lit").TemplateResult<1>;
37
44
  }
38
45
  }
@@ -2,7 +2,7 @@ import { LitElement } from "lit";
2
2
  export declare namespace ListItem {
3
3
  const ELEMENT_base: typeof LitElement & import("../../mixins/FocusMixin").AnyConstructor<import("../../mixins/FocusMixin").FocusClass>;
4
4
  export class ELEMENT extends ELEMENT_base {
5
- role: "listitem" | "option";
5
+ role: "listitem" | "option" | "menuitem";
6
6
  tabIndex: number;
7
7
  shape: "pill" | "rounded";
8
8
  private _disabled;
@@ -0,0 +1,67 @@
1
+ import "@/components/button/Button";
2
+ import "@/components/icon/Icon";
3
+ import { LitElement } from "lit";
4
+ export declare namespace ListItemV2 {
5
+ type Variant = "full-width" | "inset-pill" | "inset-rectangle";
6
+ /**
7
+ * @fires list-item-click
8
+ * @fires list-item-expanded
9
+ */
10
+ class ELEMENT extends LitElement {
11
+ /**
12
+ * The primary label of the list item.
13
+ * This appears on the leading side of the list item.
14
+ */
15
+ label?: string;
16
+ /**
17
+ * Secondary label of the list item.
18
+ * This appears on the trailing side of the list item, under the primary label
19
+ */
20
+ secondaryLabel?: string;
21
+ /**
22
+ * Tertiary label of the list item.
23
+ * This appears on the leading side of the list item, under the secondary label.
24
+ */
25
+ tertiaryLabel?: string;
26
+ /**
27
+ * Make the list item expandable.
28
+ * This will allow the content inside the "panel" slot to be collapsible.
29
+ * It will render an expand button before the leading controls
30
+ */
31
+ expandable: boolean;
32
+ /**
33
+ * Whether the list item is expanded.
34
+ * @default false
35
+ */
36
+ expanded: boolean;
37
+ disabled: boolean;
38
+ /**
39
+ * The visual style variant of the list item. This can be a pill, rectangle or a full-width
40
+ */
41
+ variant: Variant;
42
+ /**
43
+ * The ARIA label for the expand button. Only use if `expandable` is true.
44
+ */
45
+ expandLabel: string;
46
+ header: HTMLElement;
47
+ render(): import("lit").TemplateResult<1>;
48
+ private renderExpandButton;
49
+ private renderLeadingControls;
50
+ private renderTrailingControls;
51
+ private stopArrowKeyEventPropagation;
52
+ private isExpandCollapseKey;
53
+ protected stopEventPropagation(event: Event): void;
54
+ private setExpanded;
55
+ private _handleExpand;
56
+ private _handleListItemClick;
57
+ private _handleArrowKeyExpand;
58
+ connectedCallback(): void;
59
+ disconnectedCallback(): void;
60
+ static get styles(): import("lit").CSSResult;
61
+ }
62
+ }
63
+ declare global {
64
+ interface HTMLElementTagNameMap {
65
+ "md-list-item-v2": ListItemV2.ELEMENT;
66
+ }
67
+ }
@@ -0,0 +1,56 @@
1
+ import { LitElement } from "lit";
2
+ export declare namespace ListV2 {
3
+ type Gap = "none" | "sm" | "md" | "lg";
4
+ type Orientation = "vertical" | "horizontal";
5
+ class ELEMENT extends LitElement {
6
+ /**
7
+ * The gap between list items.
8
+ */
9
+ gap: Gap;
10
+ orientation: Orientation;
11
+ assignedNodes: NodeList;
12
+ connectedCallback(): void;
13
+ render(): import("lit").TemplateResult<1>;
14
+ private get listItems();
15
+ private handleMouseClick;
16
+ /**
17
+ * Calculates a new index based on the pressed keyboard key.
18
+ * Supports navigation keys for moving focus within a list.
19
+ * @param key - The key that was pressed.
20
+ * @param currentIndex - The current index of the focused list item.
21
+ * @param wrappedDivsCount - The total number of list items.
22
+ * @returns The new index to focus on, or undefined if the key is not supported.
23
+ */
24
+ private getNewIndexBasedOnKey;
25
+ /**
26
+ * Handles the keydown event on the list element.
27
+ * If the key is 'ArrowUp' or 'ArrowDown', it focuses to the previous or next list item
28
+ * and sets the active tabindex of the list item.
29
+ * Prevents the default event behavior.
30
+ * @param event - The keyboard event.
31
+ */
32
+ private handleKeyDown;
33
+ /**
34
+ * Returns the index of the given target in the listItems array.
35
+ * If the target is not a list item, but a child element of a list item,
36
+ * it returns the index of the parent list item.
37
+ * @param target - The target element to find the index of.
38
+ * @returns The index of the target element in the listItems array.
39
+ */
40
+ private getCurrentIndex;
41
+ /**
42
+ * Resets all list items tabindex to -1 and sets the tabindex of the
43
+ * element at the given index to 0, effectively setting the active
44
+ * element. This is used when navigating the list via keyboard.
45
+ *
46
+ * @param newIndex - The index of the new active element in the list.
47
+ */
48
+ private resetTabIndexAndSetActiveTabIndex;
49
+ static get styles(): import("lit").CSSResult;
50
+ }
51
+ }
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ "md-list-v2": ListV2.ELEMENT;
55
+ }
56
+ }
@@ -42,6 +42,7 @@ export declare namespace MenuOverlay {
42
42
  trigger?: NodeListOf<HTMLElement>;
43
43
  private popperInstance;
44
44
  private triggerElement;
45
+ private _componentAddedAriaExpanded;
45
46
  static get styles(): import("lit").CSSResult[];
46
47
  private updateCSSProperties;
47
48
  updateActiveMenuOverlayOpened: (event: Event) => void;
@@ -6,12 +6,15 @@
6
6
  *
7
7
  */
8
8
  import { LitElement } from "lit";
9
+ import { nothing } from "lit-html";
9
10
  export declare namespace Radio {
10
11
  const ELEMENT_base: typeof LitElement & import("../../mixins/FocusMixin").AnyConstructor<import("../../mixins/FocusMixin").FocusClass>;
11
12
  export class ELEMENT extends ELEMENT_base {
12
13
  tabIndex: number;
13
14
  label: string;
14
15
  value: string;
16
+ message: string;
17
+ hideMessage: boolean;
15
18
  ariaLabel: string;
16
19
  autofocus: boolean;
17
20
  private _disabled;
@@ -20,6 +23,8 @@ export declare namespace Radio {
20
23
  checked: boolean;
21
24
  private get inputAriaLabel();
22
25
  static get styles(): import("lit").CSSResult[];
26
+ private get helpTextClassMap();
27
+ messagesTemplate(): import("lit").TemplateResult<1> | typeof nothing;
23
28
  render(): import("lit").TemplateResult<1>;
24
29
  }
25
30
  export {};
@@ -1,5 +1,12 @@
1
1
  import { LitElement, PropertyValues } from "lit";
2
2
  export declare namespace Slider {
3
+ export interface SliderChangeEventDetail {
4
+ value: number;
5
+ }
6
+ export interface SliderChangingEventDetail {
7
+ oldValue: number;
8
+ newValue: number;
9
+ }
3
10
  const ELEMENT_base: typeof LitElement & import("../../mixins/FocusMixin").AnyConstructor<import("../../mixins/FocusMixin").FocusClass>;
4
11
  export class ELEMENT extends ELEMENT_base {
5
12
  private _disabled;
@@ -45,4 +52,8 @@ declare global {
45
52
  interface HTMLElementTagNameMap {
46
53
  "md-slider": Slider.ELEMENT;
47
54
  }
55
+ interface HTMLElementEventMap {
56
+ "slider-change": CustomEvent<Slider.SliderChangeEventDetail>;
57
+ "slider-changing": CustomEvent<Slider.SliderChangingEventDetail>;
58
+ }
48
59
  }
@@ -30,6 +30,9 @@ export declare namespace Tooltip {
30
30
  private slotContent;
31
31
  private readonly _keyDownListener;
32
32
  private readonly _wheelListener;
33
+ private hasMessage;
34
+ private hasSlotContent;
35
+ private get hasTooltipContent();
33
36
  connectedCallback(): void;
34
37
  disconnectedCallback(): void;
35
38
  protected handleResize(contentRect: DOMRect): void;
@@ -47,7 +47,7 @@ export { Favorite } from "./components/favorite/Favorite";
47
47
  export { FloatingButtonActionGroup, FloatingButtonBar, FloatingButtonBarAction } from "./components/floating-button-bar/FloatingButtonBar";
48
48
  export { FloatingMinimizedModal } from "./components/floating-modal/FloatingMinimizedModal";
49
49
  export { FloatingModal } from "./components/floating-modal/FloatingModal";
50
- export { AbstractControl, FormArray, FormControl, FormGroup, ValidationError, Validators } from "./components/form";
50
+ export { AbstractControl, FormArray, FormControl, FormGroup, ValidationError, Validators, ArrayValidators } from "./components/form";
51
51
  export { Form } from "./components/form/Form";
52
52
  export { Grabber } from "./components/grabber/Grabber";
53
53
  export { HelpText } from "./components/help-text/HelpText";
@@ -56,6 +56,8 @@ export { InputFile } from "./components/input-file/InputFile";
56
56
  export { Input } from "./components/input/Input";
57
57
  export { Label } from "./components/label/Label";
58
58
  export { Link } from "./components/link/Link";
59
+ export { ListItemV2 } from "./components/list-v2/list-item-v2";
60
+ export { ListV2 } from "./components/list-v2/list-v2";
59
61
  export { List } from "./components/list/List";
60
62
  export { ListItem } from "./components/list/ListItem";
61
63
  export { Loading } from "./components/loading/Loading";
@@ -1 +1,2 @@
1
1
  export declare function isActionKey(keyCode: string): boolean;
2
+ export declare function isNavigationKey(keyCode: string): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momentum-ui/web-components",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-beta.11",
4
4
  "author": "Yana Harris",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/momentum-design/momentum-ui.git",
@@ -14,7 +14,7 @@
14
14
  "@interactjs/interact": "1.10.3",
15
15
  "@interactjs/modifiers": "1.10.3",
16
16
  "@interactjs/utils": "1.10.3",
17
- "@momentum-design/icons": "0.34.0",
17
+ "@momentum-design/icons": "0.37.2",
18
18
  "@popperjs/core": "^2.11.8",
19
19
  "country-codes-list": "1.6.8",
20
20
  "country-flags-svg": "1.1.4",