@ds-mo/ui 8.1.0 → 8.2.1

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/README.md +1 -1
  2. package/dist/.build-stamp +1 -1
  3. package/dist/agent.json +501 -47
  4. package/dist/angular/ds-field.d.ts +1 -1
  5. package/dist/angular/ds-field.js +3 -3
  6. package/dist/angular/ds-input.d.ts +1 -1
  7. package/dist/angular/ds-input.js +3 -3
  8. package/dist/angular/ds-panel-nav.d.ts +1 -1
  9. package/dist/angular/ds-panel-nav.js +3 -3
  10. package/dist/angular/ds-radio.d.ts +18 -0
  11. package/dist/angular/{ds-radio-group.js → ds-radio.js} +12 -12
  12. package/dist/angular/ds-slider.d.ts +12 -3
  13. package/dist/angular/ds-slider.js +8 -4
  14. package/dist/angular/index.d.ts +1 -1
  15. package/dist/angular/index.js +1 -1
  16. package/dist/angular/proxies.d.ts +1 -1
  17. package/dist/angular/proxies.js +1 -1
  18. package/dist/angular/radio-value-accessor.d.ts +1 -1
  19. package/dist/angular/radio-value-accessor.js +2 -2
  20. package/dist/components/ds-app-shell.js +1 -1
  21. package/dist/components/ds-badge.js +1 -1
  22. package/dist/components/ds-banner.js +1 -1
  23. package/dist/components/ds-bar-nav.js +1 -1
  24. package/dist/components/ds-bar-nav.js.map +1 -1
  25. package/dist/components/ds-button-filled.js +1 -1
  26. package/dist/components/ds-button-unfilled.js +1 -1
  27. package/dist/components/ds-card-data-viz-donut.js +1 -1
  28. package/dist/components/ds-card-data-viz-donut.js.map +1 -1
  29. package/dist/components/ds-card-setting.js +1 -1
  30. package/dist/components/ds-card.js +1 -1
  31. package/dist/components/ds-chart-bar.js +1 -1
  32. package/dist/components/ds-chart-bar.js.map +1 -1
  33. package/dist/components/ds-chart-donut.js +1 -1
  34. package/dist/components/ds-chart-donut.js.map +1 -1
  35. package/dist/components/ds-chart-legend.js +1 -1
  36. package/dist/components/ds-chart-line.js +1 -1
  37. package/dist/components/ds-chart-line.js.map +1 -1
  38. package/dist/components/ds-checkbox.js +1 -1
  39. package/dist/components/ds-chip.js +1 -1
  40. package/dist/components/ds-divider.js +1 -1
  41. package/dist/components/ds-empty-state.js +1 -1
  42. package/dist/components/ds-field.js +1 -1
  43. package/dist/components/ds-field.js.map +1 -1
  44. package/dist/components/ds-icon.js +1 -1
  45. package/dist/components/ds-input.js +1 -1
  46. package/dist/components/ds-input.js.map +1 -1
  47. package/dist/components/ds-loader.js +1 -1
  48. package/dist/components/ds-menu.js +1 -1
  49. package/dist/components/ds-modal.js +1 -1
  50. package/dist/components/ds-modal.js.map +1 -1
  51. package/dist/components/ds-pagination.js +1 -1
  52. package/dist/components/ds-panel-nav.js +1 -1
  53. package/dist/components/ds-panel-nav.js.map +1 -1
  54. package/dist/components/ds-panel-sub-nav.js +1 -1
  55. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  56. package/dist/components/ds-panel-tools.js +1 -1
  57. package/dist/components/{ds-radio-group.d.ts → ds-radio.d.ts} +4 -4
  58. package/dist/components/ds-radio.js +2 -0
  59. package/dist/components/ds-radio.js.map +1 -0
  60. package/dist/components/ds-select-multi.js +1 -1
  61. package/dist/components/ds-select-multi.js.map +1 -1
  62. package/dist/components/ds-select.js +1 -1
  63. package/dist/components/ds-select.js.map +1 -1
  64. package/dist/components/ds-shell-gradient-picker.js +1 -1
  65. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  66. package/dist/components/ds-skeleton.js +1 -1
  67. package/dist/components/ds-slider.js +1 -1
  68. package/dist/components/ds-slider.js.map +1 -1
  69. package/dist/components/ds-switch.js +1 -1
  70. package/dist/components/ds-tab-group.js +1 -1
  71. package/dist/components/ds-tab-group.js.map +1 -1
  72. package/dist/components/ds-table.js +1 -1
  73. package/dist/components/ds-tag.js +1 -1
  74. package/dist/components/ds-text.js +1 -1
  75. package/dist/components/ds-tooltip-data-viz.js +1 -1
  76. package/dist/components/ds-tooltip.js +1 -1
  77. package/dist/components/{p-CTmsQjsE.js → p-BU_gxTiw.js} +2 -2
  78. package/dist/components/p-BU_gxTiw.js.map +1 -0
  79. package/dist/components/{p-Ckiwpsgw.js → p-BjhTeU17.js} +2 -2
  80. package/dist/components/{p-Du9UUSJ5.js → p-C91iXoXj.js} +2 -2
  81. package/dist/components/{p-WdtWRvVr.js → p-CDu_LfhF.js} +2 -2
  82. package/dist/components/{p-_zP4v-Al.js → p-CSyIAX11.js} +2 -2
  83. package/dist/components/p-CSyIAX11.js.map +1 -0
  84. package/dist/components/{p-BMbadvZo.js → p-Cj4vIqqx.js} +2 -2
  85. package/dist/components/{p-BMbadvZo.js.map → p-Cj4vIqqx.js.map} +1 -1
  86. package/dist/components/{p-wxw8arTd.js → p-Cpr3K41-.js} +1 -1
  87. package/dist/components/{p-wxw8arTd.js.map → p-Cpr3K41-.js.map} +1 -1
  88. package/dist/components/{p-CwaC4wLu.js → p-CqsgiNwB.js} +2 -2
  89. package/dist/components/p-CqsgiNwB.js.map +1 -0
  90. package/dist/components/{p-JsVSx7ZR.js → p-DHJZDpNk.js} +2 -2
  91. package/dist/components/{p-DDBLO7bY.js → p-DKVDYHxb.js} +2 -2
  92. package/dist/components/p-DRqbwDzo.js +2 -0
  93. package/dist/components/p-DRqbwDzo.js.map +1 -0
  94. package/dist/components/{p-B2FhhQba.js → p-KeMecQN9.js} +2 -2
  95. package/dist/components/p-NwPqPArp.js +2 -0
  96. package/dist/components/p-NwPqPArp.js.map +1 -0
  97. package/dist/components/{p-COzps7J4.js → p-PP5602IN.js} +2 -2
  98. package/dist/components/p-PP5602IN.js.map +1 -0
  99. package/dist/components/p-VKIsOVza.js +2 -0
  100. package/dist/components/p-VKIsOVza.js.map +1 -0
  101. package/dist/components/p-kGSowBA8.js +2 -0
  102. package/dist/components/{p-auwU64d8.js.map → p-kGSowBA8.js.map} +1 -1
  103. package/dist/docs/components.json +1391 -166
  104. package/dist/lib/components/Text/text-types.d.ts +1 -1
  105. package/dist/react/components.d.ts +1 -1
  106. package/dist/react/components.js +1 -1
  107. package/dist/react/ds-radio.d.ts +12 -0
  108. package/dist/react/ds-radio.js +12 -0
  109. package/dist/react/ds-slider.d.ts +4 -3
  110. package/dist/react/ds-slider.js +4 -1
  111. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -1
  112. package/dist/types/components/Field/Field.d.ts +37 -2
  113. package/dist/types/components/Icon/Icon.d.ts +6 -1
  114. package/dist/types/components/Input/Input.d.ts +26 -0
  115. package/dist/types/components/Loader/Loader.d.ts +6 -1
  116. package/dist/types/components/Menu/Menu.d.ts +6 -0
  117. package/dist/types/components/Modal/Modal.d.ts +5 -0
  118. package/dist/types/components/PanelNav/PanelNav.d.ts +9 -0
  119. package/dist/types/components/{RadioGroup/RadioGroup.d.ts → Radio/Radio.d.ts} +18 -2
  120. package/dist/types/components/Radio/index.d.ts +2 -0
  121. package/dist/types/components/Slider/Slider.d.ts +101 -7
  122. package/dist/types/components/Switch/Switch.d.ts +4 -0
  123. package/dist/types/components/TabGroup/TabGroup.d.ts +1 -0
  124. package/dist/types/components/Text/Text.d.ts +6 -0
  125. package/dist/types/components/Text/text-types.d.ts +1 -1
  126. package/dist/types/components.d.ts +431 -46
  127. package/package.json +9 -4
  128. package/dist/angular/ds-radio-group.d.ts +0 -15
  129. package/dist/components/ds-radio-group.js +0 -2
  130. package/dist/components/ds-radio-group.js.map +0 -1
  131. package/dist/components/p-BEmVLLnN.js +0 -2
  132. package/dist/components/p-BEmVLLnN.js.map +0 -1
  133. package/dist/components/p-BcB-zkOx.js +0 -2
  134. package/dist/components/p-BcB-zkOx.js.map +0 -1
  135. package/dist/components/p-COzps7J4.js.map +0 -1
  136. package/dist/components/p-CTmsQjsE.js.map +0 -1
  137. package/dist/components/p-CwaC4wLu.js.map +0 -1
  138. package/dist/components/p-_zP4v-Al.js.map +0 -1
  139. package/dist/components/p-auwU64d8.js +0 -2
  140. package/dist/components/p-f0a1l4Uc.js +0 -2
  141. package/dist/components/p-f0a1l4Uc.js.map +0 -1
  142. package/dist/react/ds-radio-group.d.ts +0 -12
  143. package/dist/react/ds-radio-group.js +0 -12
  144. package/dist/types/components/RadioGroup/index.d.ts +0 -2
  145. /package/dist/components/{p-Ckiwpsgw.js.map → p-BjhTeU17.js.map} +0 -0
  146. /package/dist/components/{p-Du9UUSJ5.js.map → p-C91iXoXj.js.map} +0 -0
  147. /package/dist/components/{p-WdtWRvVr.js.map → p-CDu_LfhF.js.map} +0 -0
  148. /package/dist/components/{p-JsVSx7ZR.js.map → p-DHJZDpNk.js.map} +0 -0
  149. /package/dist/components/{p-DDBLO7bY.js.map → p-DKVDYHxb.js.map} +0 -0
  150. /package/dist/components/{p-B2FhhQba.js.map → p-KeMecQN9.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  export type TextVariant = 'text-display-medium' | 'text-display-small' | 'text-title-large' | 'text-title-medium' | 'text-title-small' | 'text-body-large' | 'text-body-medium' | 'text-body-small' | 'text-caption';
2
- export type TextColorToken = 'primary' | 'secondary' | 'tertiary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'on-strong' | 'on-bold' | 'inherit';
2
+ export type TextColorToken = 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'on-strong' | 'on-bold' | 'inherit';
3
3
  export type TextColor = TextColorToken | `var(--${string})`;
4
4
  export type TextDecoration = 'none' | 'underline' | 'dotted-underline';
5
5
  export type TextAlign = 'left' | 'center' | 'right';
@@ -29,7 +29,7 @@ export { DsPagination } from "./ds-pagination.js";
29
29
  export { DsPanelNav } from "./ds-panel-nav.js";
30
30
  export { DsPanelSubNav } from "./ds-panel-sub-nav.js";
31
31
  export { DsPanelTools } from "./ds-panel-tools.js";
32
- export { DsRadioGroup } from "./ds-radio-group.js";
32
+ export { DsRadio } from "./ds-radio.js";
33
33
  export { DsSelectMulti } from "./ds-select-multi.js";
34
34
  export { DsSelect } from "./ds-select.js";
35
35
  export { DsShellGradientPicker } from "./ds-shell-gradient-picker.js";
@@ -30,7 +30,7 @@ export { DsPagination } from "./ds-pagination.js";
30
30
  export { DsPanelNav } from "./ds-panel-nav.js";
31
31
  export { DsPanelSubNav } from "./ds-panel-sub-nav.js";
32
32
  export { DsPanelTools } from "./ds-panel-tools.js";
33
- export { DsRadioGroup } from "./ds-radio-group.js";
33
+ export { DsRadio } from "./ds-radio.js";
34
34
  export { DsSelectMulti } from "./ds-select-multi.js";
35
35
  export { DsSelect } from "./ds-select.js";
36
36
  export { DsShellGradientPicker } from "./ds-shell-gradient-picker.js";
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
6
+ import { type DsRadioCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsRadio as DsRadioElement } from "@ds-mo/ui/dist/components/ds-radio.js";
9
+ export type DsRadioEvents = {
10
+ onDsChange: EventName<DsRadioCustomEvent<string>>;
11
+ };
12
+ export declare const DsRadio: StencilReactComponent<DsRadioElement, DsRadioEvents, Components.DsRadio>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from '@stencil/react-output-target/runtime';
3
+ import React from 'react';
4
+ import { DsRadio as DsRadioElement, defineCustomElement as defineDsRadio } from "@ds-mo/ui/dist/components/ds-radio.js";
5
+ export const DsRadio = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-radio',
7
+ elementClass: DsRadioElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsChange: 'dsChange' },
11
+ defineCustomElement: defineDsRadio
12
+ });
@@ -3,10 +3,11 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
6
- import { type DsSliderCustomEvent } from "@ds-mo/ui";
6
+ import { type DsSliderCustomEvent, type SliderValue } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsSlider as DsSliderElement } from "@ds-mo/ui/dist/components/ds-slider.js";
9
9
  export type DsSliderEvents = {
10
- onDsChange: EventName<DsSliderCustomEvent<number>>;
10
+ onDsChange: EventName<DsSliderCustomEvent<SliderValue>>;
11
+ onDsCommit: EventName<DsSliderCustomEvent<SliderValue>>;
11
12
  };
12
- export declare const DsSlider: StencilReactComponent<DsSliderElement, DsSliderEvents, Components.DsSlider, 'label'>;
13
+ export declare const DsSlider: StencilReactComponent<DsSliderElement, DsSliderEvents, Components.DsSlider>;
@@ -7,6 +7,9 @@ export const DsSlider = /*@__PURE__*/ createComponent({
7
7
  elementClass: DsSliderElement,
8
8
  // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
9
  react: React,
10
- events: { onDsChange: 'dsChange' },
10
+ events: {
11
+ onDsChange: 'dsChange',
12
+ onDsCommit: 'dsCommit'
13
+ },
11
14
  defineCustomElement: defineDsSlider
12
15
  });
@@ -4,6 +4,7 @@ export type ButtonUnfilledBackground = 'faint' | 'medium' | 'bold' | 'strong' |
4
4
  export type ButtonUnfilledVariant = 'icon' | 'label' | 'icon-label';
5
5
  export type ButtonUnfilledSize = 'md' | 'sm' | 'xs';
6
6
  export type ButtonUnfilledWidth = ControlWidth;
7
+ export type ButtonUnfilledPopup = 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
7
8
  export declare class ButtonUnfilled {
8
9
  el: HTMLElement;
9
10
  /**
@@ -45,7 +46,7 @@ export declare class ButtonUnfilled {
45
46
  ariaLabel: string | null;
46
47
  controls: string | undefined;
47
48
  expanded: boolean | undefined;
48
- haspopup: string | undefined;
49
+ haspopup: ButtonUnfilledPopup | undefined;
49
50
  pressed: boolean | undefined;
50
51
  /**
51
52
  * Native `tabindex` for roving keyboard groups in shell chrome.
@@ -1,8 +1,43 @@
1
1
  export declare class Field {
2
+ el: HTMLElement;
3
+ /** Persistent visible label for the single slotted control. */
2
4
  label: string;
3
- /** ID forwarded to the slotted control via the label's `for` attribute. Auto-generated if omitted. */
5
+ /** Explicit ID for the slotted control; generated when omitted. */
4
6
  fieldId: string | undefined;
5
- private resolvedId;
7
+ /** Optional guidance associated with the slotted control. */
8
+ description: string | undefined;
9
+ /** Invalid visual and accessible state forwarded to supported ds controls. */
10
+ error: boolean;
11
+ /** Visible error associated with the slotted control while error is true. */
12
+ errorMessage: string | undefined;
13
+ private focused;
14
+ private filled;
15
+ private dirty;
16
+ private touched;
17
+ private controlDisabled;
18
+ private controlRequired;
19
+ private readonly generatedId;
20
+ private controlContainer?;
21
+ private control?;
22
+ private initialValue;
23
+ private authoredAria;
24
+ componentDidLoad(): void;
25
+ componentDidRender(): void;
26
+ onFieldContractChange(): void;
27
+ private get controlId();
28
+ private get labelId();
29
+ private get descriptionId();
30
+ private get errorId();
31
+ private get renderedDescription();
32
+ private get renderedError();
33
+ private readValue;
34
+ private updateControlAttribute;
35
+ private findControl;
36
+ private syncControl;
37
+ private handleLabelClick;
38
+ private handleFocusIn;
39
+ private handleFocusOut;
40
+ private handleValueChange;
6
41
  render(): any;
7
42
  }
8
43
  //# sourceMappingURL=Field.d.ts.map
@@ -7,7 +7,12 @@ export declare class Icon {
7
7
  name: string;
8
8
  /** Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. */
9
9
  size: IconSize;
10
- /** Semantic foreground color token, or a raw CSS var reference. */
10
+ /**
11
+ * Semantic foreground color token, or a raw CSS var reference. `tertiary`
12
+ * and the still-fainter `quaternary` are restricted to icons inside genuinely
13
+ * inactive/disabled UI or to purely decorative icons; informative icons must
14
+ * retain sufficient contrast.
15
+ */
11
16
  color: IconColor;
12
17
  /** Accessible label. Sets `role="img"` and `aria-label`. Omit for decorative icons. */
13
18
  label: string | undefined;
@@ -1,5 +1,8 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type ControlWidth } from '../../utils';
2
3
  export type InputType = 'text' | 'email' | 'tel' | 'url' | 'search' | 'password';
4
+ export type InputSize = 'md' | 'sm' | 'xs';
5
+ export type InputWidth = ControlWidth;
3
6
  export declare class Input {
4
7
  el: HTMLElement;
5
8
  internals: ElementInternals;
@@ -7,12 +10,29 @@ export declare class Input {
7
10
  private errorId;
8
11
  value: string;
9
12
  name: string | undefined;
13
+ form: string | undefined;
10
14
  disabled: boolean;
15
+ /** Keeps the value focusable and submittable while preventing edits. */
16
+ readOnly: boolean;
11
17
  required: boolean;
12
18
  requiredMessage: string;
13
19
  clearLabel: string;
14
20
  placeholder: string | undefined;
15
21
  type: InputType;
22
+ /** Native browser autofill hint. */
23
+ autoComplete: string | undefined;
24
+ /** Preferred virtual keyboard without changing the value semantics. */
25
+ inputMode: string;
26
+ /** Preferred virtual-keyboard action label. */
27
+ enterKeyHint: string;
28
+ /** Control density. */
29
+ size: InputSize;
30
+ /** Width fit — fill the parent (default) or hug the available content. */
31
+ width: InputWidth;
32
+ /** Show the standard inset border. */
33
+ hasBorder: boolean;
34
+ /** Optional leading icon name. */
35
+ icon: string | undefined;
16
36
  isInactive: boolean;
17
37
  autoFocus: boolean;
18
38
  error: boolean;
@@ -26,13 +46,19 @@ export declare class Input {
26
46
  dsClear: EventEmitter<void>;
27
47
  private initialValue;
28
48
  private formDisabled;
49
+ private hasSuffix;
50
+ private focused;
51
+ private touched;
29
52
  componentWillLoad(): void;
53
+ componentDidRender(): void;
30
54
  syncFormValue(): void;
31
55
  formDisabledCallback(disabled: boolean): void;
32
56
  formResetCallback(): void;
33
57
  formStateRestoreCallback(state: string | File | FormData | null): void;
34
58
  setFocus(): Promise<void>;
35
59
  private handleInput;
60
+ private handleFocus;
61
+ private handleBlur;
36
62
  private handleClear;
37
63
  render(): any;
38
64
  }
@@ -4,7 +4,12 @@ export type LoaderColor = IconColor;
4
4
  export declare class Loader {
5
5
  /** Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. */
6
6
  size: LoaderSize;
7
- /** Semantic foreground color token, or a raw CSS var reference. Same tokens as `ds-icon`. */
7
+ /**
8
+ * Semantic foreground color token, or a raw CSS var reference. Same tokens
9
+ * as `ds-icon`. Do not use `tertiary` or `quaternary` for a standalone or
10
+ * informative Loader; inherit a readable color from the owning busy control
11
+ * or region.
12
+ */
8
13
  color: LoaderColor;
9
14
  /**
10
15
  * Accessible label for standalone usage. Wraps the spinner in a live region
@@ -52,8 +52,14 @@ export declare class Menu {
52
52
  private get closeAnimationMs();
53
53
  private finishClose;
54
54
  private get resolvedAnchor();
55
+ private get anchorFocusTarget();
56
+ private focusAnchor;
57
+ private moveFocusAfterTab;
58
+ private compositeTabLeavesPopup;
55
59
  private get activeSections();
56
60
  private get flatItems();
61
+ /** Rich preference content is a non-modal dialog, not an ARIA action menu. */
62
+ private get hasCompositeSections();
57
63
  private cancelPositionRetry;
58
64
  /** Retry until anchor + popup exist — do not reveal at 0,0 on a failed first pass. */
59
65
  private schedulePositionUpdate;
@@ -16,6 +16,7 @@ export declare class Modal {
16
16
  private escapeHandler;
17
17
  private tabHandler;
18
18
  private closeTimer;
19
+ private inertedElements;
19
20
  componentDidLoad(): void;
20
21
  disconnectedCallback(): void;
21
22
  onOpenChange(isOpen: boolean): void;
@@ -25,6 +26,10 @@ export declare class Modal {
25
26
  private teardownListeners;
26
27
  private close;
27
28
  private handleBackdropMouseDown;
29
+ private get isTopModal();
30
+ /** Inert every sibling branch outside the modal without assuming it is a body child. */
31
+ private activateModal;
32
+ private deactivateModal;
28
33
  private get resolvedWidth();
29
34
  private get closeAnimationMs();
30
35
  private finishClose;
@@ -39,6 +39,8 @@ export declare class PanelNav {
39
39
  settingsNavigationLabel: string;
40
40
  expandNavigationLabel: string;
41
41
  collapseNavigationLabel: string;
42
+ /** Localized name for the body when overflow makes it a keyboard-scrollable region. */
43
+ navigationItemsLabel: string;
42
44
  /** Emitted when a nav item is clicked. Detail = the item's `id`. */
43
45
  dsNavSelect: EventEmitter<string>;
44
46
  /** Emitted when the collapse toggle is clicked. Detail = new collapsed state. */
@@ -57,9 +59,12 @@ export declare class PanelNav {
57
59
  private rovingIndex;
58
60
  private viewportNarrow;
59
61
  private urlDerivedActiveId;
62
+ private bodyScrollable;
60
63
  private transitionCompletionHandler?;
61
64
  private transitionFallbackTimer;
62
65
  private resizeObserver?;
66
+ private scrollRegionObserver?;
67
+ private bodyEl?;
63
68
  private isDragging;
64
69
  private dragStartX;
65
70
  private didSnap;
@@ -82,12 +87,16 @@ export declare class PanelNav {
82
87
  onNavStyleChange(newVal: NavChromeStyle): void;
83
88
  componentWillLoad(): void;
84
89
  componentDidLoad(): void;
90
+ componentDidRender(): void;
85
91
  disconnectedCallback(): void;
86
92
  private startCollapseAnimation;
87
93
  private finishCollapseAnimation;
88
94
  private clearCollapseAnimationCompletion;
89
95
  private connectResizeObserver;
90
96
  private disconnectResizeObserver;
97
+ private connectScrollRegionObserver;
98
+ private disconnectScrollRegionObserver;
99
+ private updateBodyScrollable;
91
100
  /** Derive active ID from the current URL by matching item `href` values.
92
101
  * Uses longest segment-boundary prefix match. */
93
102
  private syncActiveFromUrl;
@@ -4,19 +4,35 @@ export interface RadioOption {
4
4
  value: string;
5
5
  isInactive?: boolean;
6
6
  }
7
- export declare class RadioGroup {
7
+ export type RadioSize = 'md' | 'sm' | 'xs';
8
+ export declare class Radio {
8
9
  el: HTMLElement;
9
10
  internals: ElementInternals;
11
+ /** Visible choices in this one-of-many set. */
10
12
  options: RadioOption[];
13
+ /** Selected option value. */
11
14
  value: string;
15
+ /** Visual and placement density for every option. */
16
+ size: RadioSize;
17
+ /** Native form field name. */
12
18
  name: string | undefined;
19
+ /** Associates the radio set with a form by id when rendered outside that form. */
20
+ form: string | undefined;
21
+ /** Native disabled state for the complete set. */
13
22
  disabled: boolean;
23
+ /** Require one option to be selected for form validity. */
14
24
  required: boolean;
25
+ /** Validation message used when a required set has no selection. */
15
26
  requiredMessage: string;
27
+ /** Layout direction for the option set. */
16
28
  direction: 'vertical' | 'horizontal';
29
+ /** Design-system inactive state for the complete set. */
17
30
  isInactive: boolean;
31
+ /** Accessible name when visible group labeling is unavailable. */
18
32
  ariaLabel: string | null;
33
+ /** Id reference for a visible group label. */
19
34
  ariaLabelledby: string | undefined;
35
+ /** Emitted after user selection with the selected option value. */
20
36
  dsChange: EventEmitter<string>;
21
37
  private initialValue;
22
38
  private formDisabled;
@@ -30,4 +46,4 @@ export declare class RadioGroup {
30
46
  private selectItem;
31
47
  render(): any;
32
48
  }
33
- //# sourceMappingURL=RadioGroup.d.ts.map
49
+ //# sourceMappingURL=Radio.d.ts.map
@@ -0,0 +1,2 @@
1
+ export type { RadioOption, RadioSize } from './Radio';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1,18 +1,112 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type SliderValue = number | number[];
3
+ export type SliderSize = 'md' | 'sm' | 'xs';
4
+ export type SliderOrientation = 'horizontal' | 'vertical';
5
+ export type SliderThumbAlignment = 'edge' | 'center';
2
6
  export declare class Slider {
3
- private generatedId;
4
- value: number;
7
+ el: HTMLElement;
8
+ internals: ElementInternals;
9
+ /** Current value. Assign a two-number array through the JavaScript property for a range slider. */
10
+ value: SliderValue;
5
11
  min: number;
6
12
  max: number;
7
13
  step: number;
8
- label: string;
14
+ /** Minimum number of steps kept between two range thumbs. */
15
+ minStepsBetweenValues: number;
16
+ /** Visible field label. Supply aria-label when the label is intentionally hidden. */
17
+ label: string | undefined;
18
+ /** Show the formatted current value beside the visible label. */
19
+ showValue: boolean;
20
+ size: SliderSize;
21
+ orientation: SliderOrientation;
22
+ /** Keep the complete thumb inside the rail bounds, or center it on the endpoints. */
23
+ thumbAlignment: SliderThumbAlignment;
24
+ name: string | undefined;
25
+ form: string | undefined;
26
+ disabled: boolean;
27
+ /** Keep the value focusable and submittable while preventing changes. */
28
+ readOnly: boolean;
9
29
  isInactive: boolean;
30
+ /** Direct accessible name for a single-thumb slider without a visible label. */
31
+ ariaLabel: string | null;
32
+ /** Id references for a visible single-thumb slider label. */
33
+ ariaLabelledby: string | undefined;
34
+ /** Id references for supporting guidance or error text. */
35
+ ariaDescribedby: string | undefined;
36
+ /** Accessible label for the lower thumb in a range slider. */
37
+ startLabel: string;
38
+ /** Accessible label for the upper thumb in a range slider. */
39
+ endLabel: string;
40
+ /** Human-readable value text for a single slider or both range thumbs. */
10
41
  valueText: string | undefined;
11
- /** Associates with an external <label>. Defaults to an auto-generated ID. */
42
+ /** Per-thumb human-readable value text for a range slider. Assign through the JavaScript property. */
43
+ valueTexts: string[];
44
+ /** Locale used by Intl.NumberFormat for the visible value. */
45
+ locale: string | undefined;
46
+ /** Intl.NumberFormat options. Assign objects through the JavaScript property. */
47
+ formatOptions: Intl.NumberFormatOptions | undefined;
48
+ valuePrefix: string;
49
+ valueSuffix: string;
50
+ rangeSeparator: string;
51
+ /** Id applied to the first native range input. */
12
52
  inputId: string | undefined;
13
- dsChange: EventEmitter<number>;
14
- private handleInput;
15
- private get pct();
53
+ /** Emitted continuously while the value changes. */
54
+ dsChange: EventEmitter<SliderValue>;
55
+ /** Emitted when a pointer or keyboard value change is committed. */
56
+ dsCommit: EventEmitter<SliderValue>;
57
+ private formDisabled;
58
+ private dragging;
59
+ private focused;
60
+ private touched;
61
+ private activeThumbIndex;
62
+ private externalLabelledby;
63
+ private readonly generatedId;
64
+ private readonly labelId;
65
+ private initialValue;
66
+ private lastCommittedValue;
67
+ private pointerId;
68
+ private pointerStartValue;
69
+ private controlEl;
70
+ componentWillLoad(): void;
71
+ componentDidLoad(): void;
72
+ syncFormValue(): void;
73
+ formDisabledCallback(disabled: boolean): void;
74
+ formResetCallback(): void;
75
+ formStateRestoreCallback(state: string | File | FormData | null): void;
76
+ setFocus(index?: number): Promise<void>;
77
+ private get isDisabled();
78
+ private get isRange();
79
+ private get safeStep();
80
+ private get safeMin();
81
+ private get safeMax();
82
+ private get minimumGap();
83
+ private get resolvedValues();
84
+ private get publicValue();
85
+ private cloneValue;
86
+ private valuesEqual;
87
+ private decimalPlaces;
88
+ private snap;
89
+ private percent;
90
+ private allowedMin;
91
+ private allowedMax;
92
+ private setValueAt;
93
+ private commitIfChanged;
94
+ private syncNativeLabels;
95
+ private formattedValue;
96
+ private ariaValueText;
97
+ private handleNativeInput;
98
+ private handleNativeChange;
99
+ private handleKeyDown;
100
+ private handleFocus;
101
+ private handleBlur;
102
+ private handleHostClick;
103
+ private pointerPercent;
104
+ private valueFromPointer;
105
+ private closestThumbIndex;
106
+ private handlePointerDown;
107
+ private handlePointerMove;
108
+ private endPointerInteraction;
109
+ private renderThumb;
16
110
  render(): any;
17
111
  }
18
112
  //# sourceMappingURL=Slider.d.ts.map
@@ -26,6 +26,8 @@ export declare class Switch {
26
26
  dsChange: EventEmitter<boolean>;
27
27
  private initialChecked;
28
28
  private formDisabled;
29
+ private focused;
30
+ private touched;
29
31
  componentWillLoad(): void;
30
32
  componentDidLoad(): void;
31
33
  syncFormValue(): void;
@@ -35,6 +37,8 @@ export declare class Switch {
35
37
  private syncNativeLabels;
36
38
  private handleClick;
37
39
  private handleKeyDown;
40
+ private handleFocus;
41
+ private handleBlur;
38
42
  render(): any;
39
43
  }
40
44
  //# sourceMappingURL=Switch.d.ts.map
@@ -10,6 +10,7 @@ export declare class TabGroup {
10
10
  ariaLabelledby: string | undefined;
11
11
  dsChange: EventEmitter<string>;
12
12
  private get selectableTabs();
13
+ private get focusableTabId();
13
14
  private selectTab;
14
15
  private focusTab;
15
16
  /** Keep focus on the selected tab when value changes externally (e.g. BarNav menu). */
@@ -8,6 +8,12 @@ export declare class Text {
8
8
  * `true`: display bold, title/caption semibold, body medium.
9
9
  */
10
10
  emphasis: boolean;
11
+ /**
12
+ * Semantic foreground color token or CSS variable. `tertiary` and the
13
+ * still-fainter `quaternary` are restricted to genuinely inactive/disabled
14
+ * UI content or purely decorative content; prefer the owning control's
15
+ * inactive state whenever one exists.
16
+ */
11
17
  color: TextColor;
12
18
  /** Link underline or dotted hidden-interaction affordance; does not add semantics. */
13
19
  decoration: TextDecoration | undefined;
@@ -1,5 +1,5 @@
1
1
  export type TextVariant = 'text-display-medium' | 'text-display-small' | 'text-title-large' | 'text-title-medium' | 'text-title-small' | 'text-body-large' | 'text-body-medium' | 'text-body-small' | 'text-caption';
2
- export type TextColorToken = 'primary' | 'secondary' | 'tertiary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'on-strong' | 'on-bold' | 'inherit';
2
+ export type TextColorToken = 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'on-strong' | 'on-bold' | 'inherit';
3
3
  export type TextColor = TextColorToken | `var(--${string})`;
4
4
  export type TextDecoration = 'none' | 'underline' | 'dotted-underline';
5
5
  export type TextAlign = 'left' | 'center' | 'right';