@hashicorp/design-system-components 4.20.1 → 4.20.2-rc-20250620102721

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.
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import Component from '@glimmer/component';
6
6
  import type { WithBoundArgs } from '@glint/template';
7
- import type Owner from '@ember/owner';
8
7
  import type { HdsModalSizes, HdsModalColors } from './types.ts';
9
8
  import HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';
10
9
  import HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';
@@ -39,8 +38,6 @@ export default class HdsModal extends Component<HdsModalSignature> {
39
38
  private _element;
40
39
  private _body;
41
40
  private _bodyInitialOverflowValue;
42
- private _clickHandler;
43
- constructor(owner: Owner, args: HdsModalSignature['Args']);
44
41
  get isDismissDisabled(): boolean;
45
42
  get size(): HdsModalSizes;
46
43
  get color(): HdsModalColors;
@@ -53,6 +53,7 @@ export { default as HdsBreadcrumb } from './components/hds/breadcrumb/index.ts';
53
53
  export { default as HdsBreadcrumbItem } from './components/hds/breadcrumb/item.ts';
54
54
  export { default as HdsBreadcrumbTruncation } from './components/hds/breadcrumb/truncation.ts';
55
55
  export { default as HdsButton } from './components/hds/button/index.ts';
56
+ export * from './components/hds/button/types.ts';
56
57
  export { default as HdsButtonSet } from './components/hds/button-set/index.ts';
57
58
  export { default as HdsCardContainer } from './components/hds/card/container.ts';
58
59
  export * from './components/hds/card/types.ts';
@@ -221,8 +222,10 @@ export { default as HdsAppFrameModals } from './components/hds/app-frame/parts/m
221
222
  export { default as HdsAppFrameSidebar } from './components/hds/app-frame/parts/sidebar.ts';
222
223
  export { default as HdsLayoutFlex } from './components/hds/layout/flex/index.ts';
223
224
  export { default as HdsLayoutFlexItem } from './components/hds/layout/flex/item.ts';
225
+ export * from './components/hds/layout/flex/types.ts';
224
226
  export { default as HdsLayoutGrid } from './components/hds/layout/grid/index.ts';
225
227
  export { default as HdsLayoutGridItem } from './components/hds/layout/grid/item.ts';
228
+ export { HdsLayoutGridAlignValues, HdsLayoutGridGapValues, type HdsLayoutGridAligns, type HdsLayoutGridGaps, } from './components/hds/layout/grid/types.ts';
226
229
  export { default as HdsDialogPrimitiveBody } from './components/hds/dialog-primitive/body.ts';
227
230
  export { default as HdsDialogPrimitiveDescription } from './components/hds/dialog-primitive/description.ts';
228
231
  export { default as HdsDialogPrimitiveFooter } from './components/hds/dialog-primitive/footer.ts';
@@ -4,7 +4,6 @@ import { action } from '@ember/object';
4
4
  import { assert } from '@ember/debug';
5
5
  import { getElementId } from '../../../utils/hds-get-element-id.js';
6
6
  import { buildWaiter } from '@ember/test-waiters';
7
- import { registerDestructor } from '@ember/destroyable';
8
7
  import '../dialog-primitive/header.js';
9
8
  import '../dialog-primitive/body.js';
10
9
  import '../dialog-primitive/footer.js';
@@ -13,7 +12,7 @@ import { precompileTemplate } from '@ember/template-compilation';
13
12
  import { g, i, n } from 'decorator-transforms/runtime';
14
13
  import { setComponentTemplate } from '@ember/component';
15
14
 
16
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::DialogPrimitive::Wrapper\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroyNode}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap isActive=this._isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss)}}\n>\n <:header>\n {{yield\n (hash\n Header=(component\n \"hds/dialog-primitive/header\"\n id=this.id\n onDismiss=this.onDismiss\n contextualClassPrefix=\"hds-modal\"\n titleTag=\"h1\"\n )\n )\n }}\n </:header>\n <:body>\n {{yield (hash Body=(component \"hds/dialog-primitive/body\" contextualClass=\"hds-modal__body\"))}}\n </:body>\n <:footer>\n {{yield\n (hash\n Footer=(component \"hds/dialog-primitive/footer\" onDismiss=this.onDismiss contextualClass=\"hds-modal__footer\")\n )\n }}\n </:footer>\n</Hds::DialogPrimitive::Wrapper>\n\n{{#if this._isOpen}}\n <Hds::DialogPrimitive::Overlay @contextualClass=\"hds-modal__overlay\" />\n{{/if}}");
15
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::DialogPrimitive::Wrapper\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroyNode}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap isActive=this._isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\n>\n <:header>\n {{yield\n (hash\n Header=(component\n \"hds/dialog-primitive/header\"\n id=this.id\n onDismiss=this.onDismiss\n contextualClassPrefix=\"hds-modal\"\n titleTag=\"h1\"\n )\n )\n }}\n </:header>\n <:body>\n {{yield (hash Body=(component \"hds/dialog-primitive/body\" contextualClass=\"hds-modal__body\"))}}\n </:body>\n <:footer>\n {{yield\n (hash\n Footer=(component \"hds/dialog-primitive/footer\" onDismiss=this.onDismiss contextualClass=\"hds-modal__footer\")\n )\n }}\n </:footer>\n</Hds::DialogPrimitive::Wrapper>\n\n{{#if this._isOpen}}\n <Hds::DialogPrimitive::Overlay @contextualClass=\"hds-modal__overlay\" />\n{{/if}}");
17
16
 
18
17
  /**
19
18
  * Copyright (c) HashiCorp, Inc.
@@ -35,13 +34,6 @@ class HdsModal extends Component {
35
34
  _element;
36
35
  _body;
37
36
  _bodyInitialOverflowValue = '';
38
- _clickHandler;
39
- constructor(owner, args) {
40
- super(owner, args);
41
- registerDestructor(this, () => {
42
- document.removeEventListener('click', this._clickHandler, true);
43
- });
44
- }
45
37
  get isDismissDisabled() {
46
38
  return this.args.isDismissDisabled ?? false;
47
39
  }
@@ -88,26 +80,6 @@ class HdsModal extends Component {
88
80
  }
89
81
  } else {
90
82
  this._isOpen = false;
91
-
92
- // Reset page `overflow` property
93
- if (this._body) {
94
- this._body.style.removeProperty('overflow');
95
- if (this._bodyInitialOverflowValue === '') {
96
- if (this._body.style.length === 0) {
97
- this._body.removeAttribute('style');
98
- }
99
- } else {
100
- this._body.style.setProperty('overflow', this._bodyInitialOverflowValue);
101
- }
102
- }
103
-
104
- // Return focus to a specific element (if provided)
105
- if (this.args.returnFocusTo) {
106
- const initiator = document.getElementById(this.args.returnFocusTo);
107
- if (initiator) {
108
- initiator.focus();
109
- }
110
- }
111
83
  }
112
84
  }
113
85
  static {
@@ -130,18 +102,6 @@ class HdsModal extends Component {
130
102
  if (!this._element.open) {
131
103
  this.open();
132
104
  }
133
- this._clickHandler = event => {
134
- // check if the click is outside the modal and the modal is open
135
- if (!this._element.contains(event.target) && this._isOpen) {
136
- if (!this.isDismissDisabled) {
137
- void this.onDismiss();
138
- }
139
- }
140
- };
141
- document.addEventListener('click', this._clickHandler, {
142
- capture: true,
143
- passive: false
144
- });
145
105
  }
146
106
  static {
147
107
  n(this.prototype, "didInsert", [action]);
@@ -175,6 +135,7 @@ class HdsModal extends Component {
175
135
  async onDismiss() {
176
136
  // allow ember test helpers to be aware of when the `close` event fires
177
137
  // when using `click` or other helpers from '@ember/test-helpers'
138
+ // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)
178
139
  if (this._element.open) {
179
140
  const token = waiter.beginAsync();
180
141
  const listener = () => {
@@ -186,6 +147,26 @@ class HdsModal extends Component {
186
147
 
187
148
  // Make modal dialog invisible using the native `close` method
188
149
  this._element.close();
150
+
151
+ // Reset page `overflow` property
152
+ if (this._body) {
153
+ this._body.style.removeProperty('overflow');
154
+ if (this._bodyInitialOverflowValue === '') {
155
+ if (this._body.style.length === 0) {
156
+ this._body.removeAttribute('style');
157
+ }
158
+ } else {
159
+ this._body.style.setProperty('overflow', this._bodyInitialOverflowValue);
160
+ }
161
+ }
162
+
163
+ // Return focus to a specific element (if provided)
164
+ if (this.args.returnFocusTo) {
165
+ const initiator = document.getElementById(this.args.returnFocusTo);
166
+ if (initiator) {
167
+ initiator.focus();
168
+ }
169
+ }
189
170
  }
190
171
  static {
191
172
  n(this.prototype, "onDismiss", [action]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/hds/modal/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\nimport { registerDestructor } from '@ember/destroyable';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type Owner from '@ember/owner';\nimport type { HdsModalSizes, HdsModalColors } from './types.ts';\n\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport { HdsModalSizeValues, HdsModalColorValues } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:modal');\n\nexport const DEFAULT_SIZE = HdsModalSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsModalColorValues.Neutral;\n\nexport const SIZES: string[] = Object.values(HdsModalSizeValues);\nexport const COLORS: string[] = Object.values(HdsModalColorValues);\n\nexport interface HdsModalSignature {\n Args: {\n isDismissDisabled?: boolean;\n size?: HdsModalSizes;\n color?: HdsModalColors;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsModal extends Component<HdsModalSignature> {\n @tracked private _isOpen = false;\n private _element!: HTMLDialogElement;\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n private _clickHandler!: (event: MouseEvent) => void;\n\n constructor(owner: Owner, args: HdsModalSignature['Args']) {\n super(owner, args);\n\n registerDestructor(this, (): void => {\n document.removeEventListener('click', this._clickHandler, true);\n });\n }\n\n get isDismissDisabled(): boolean {\n return this.args.isDismissDisabled ?? false;\n }\n\n get size(): HdsModalSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Modal\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get color(): HdsModalColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Modal\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get id(): string {\n return getElementId(this);\n }\n\n get classNames(): string {\n const classes = ['hds-modal'];\n\n // add a class based on the @size argument\n classes.push(`hds-modal--size-${this.size}`);\n\n // add a class based on the @color argument\n classes.push(`hds-modal--color-${this.color}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event): void {\n if (\n !this.isDismissDisabled &&\n this.args.onClose &&\n typeof this.args.onClose === 'function'\n ) {\n this.args.onClose(event);\n }\n\n // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed\n if (this.isDismissDisabled) {\n // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail\n // so we add this safeguard condition that checks for the `<dialog>` to have a parent\n if (this._element.parentElement) {\n // As there is no way to `preventDefault` on `close` events, we call the `showModal` function\n // preserving the state of the modal dialog\n this._element.showModal();\n }\n } else {\n this._isOpen = false;\n\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this._element = element;\n this._body = document.body;\n\n if (this._body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this._element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the modal dialog is not already open\n if (!this._element.open) {\n this.open();\n }\n\n this._clickHandler = (event: MouseEvent) => {\n // check if the click is outside the modal and the modal is open\n if (!this._element.contains(event.target as Node) && this._isOpen) {\n if (!this.isDismissDisabled) {\n void this.onDismiss();\n }\n }\n };\n\n document.addEventListener('click', this._clickHandler, {\n capture: true,\n passive: false,\n });\n }\n\n @action\n willDestroyNode(): void {\n if (this._element) {\n this._element.removeEventListener(\n 'close',\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make modal dialog visible using the native `showModal` method\n this._element.showModal();\n this._isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this._body) this._body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n // eslint-disable-next-line @typescript-eslint/require-await\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n if (this._element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this._element.removeEventListener('close', listener);\n };\n this._element.addEventListener('close', listener);\n }\n\n // Make modal dialog invisible using the native `close` method\n this._element.close();\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsModalSizeValues","Medium","DEFAULT_COLOR","HdsModalColorValues","Neutral","SIZES","Object","values","COLORS","HdsModal","Component","g","prototype","tracked","i","void 0","_element","_body","_bodyInitialOverflowValue","_clickHandler","constructor","owner","args","registerDestructor","document","removeEventListener","isDismissDisabled","size","assert","join","includes","color","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","onClose","parentElement","showModal","_isOpen","style","removeProperty","length","removeAttribute","setProperty","returnFocusTo","initiator","getElementById","focus","n","action","didInsert","element","body","getPropertyValue","addEventListener","open","contains","target","onDismiss","capture","passive","willDestroyNode","onOpen","token","beginAsync","listener","endAsync","close","setComponentTemplate","TEMPLATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/modal/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type { HdsModalSizes, HdsModalColors } from './types.ts';\n\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport { HdsModalSizeValues, HdsModalColorValues } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:modal');\n\nexport const DEFAULT_SIZE = HdsModalSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsModalColorValues.Neutral;\n\nexport const SIZES: string[] = Object.values(HdsModalSizeValues);\nexport const COLORS: string[] = Object.values(HdsModalColorValues);\n\nexport interface HdsModalSignature {\n Args: {\n isDismissDisabled?: boolean;\n size?: HdsModalSizes;\n color?: HdsModalColors;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsModal extends Component<HdsModalSignature> {\n @tracked private _isOpen = false;\n private _element!: HTMLDialogElement;\n private _body!: HTMLElement;\n private _bodyInitialOverflowValue = '';\n\n get isDismissDisabled(): boolean {\n return this.args.isDismissDisabled ?? false;\n }\n\n get size(): HdsModalSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Modal\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get color(): HdsModalColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Modal\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get id(): string {\n return getElementId(this);\n }\n\n get classNames(): string {\n const classes = ['hds-modal'];\n\n // add a class based on the @size argument\n classes.push(`hds-modal--size-${this.size}`);\n\n // add a class based on the @color argument\n classes.push(`hds-modal--color-${this.color}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event): void {\n if (\n !this.isDismissDisabled &&\n this.args.onClose &&\n typeof this.args.onClose === 'function'\n ) {\n this.args.onClose(event);\n }\n\n // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed\n if (this.isDismissDisabled) {\n // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail\n // so we add this safeguard condition that checks for the `<dialog>` to have a parent\n if (this._element.parentElement) {\n // As there is no way to `preventDefault` on `close` events, we call the `showModal` function\n // preserving the state of the modal dialog\n this._element.showModal();\n }\n } else {\n this._isOpen = false;\n }\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this._element = element;\n this._body = document.body;\n\n if (this._body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this._bodyInitialOverflowValue =\n this._body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this._element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the modal dialog is not already open\n if (!this._element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode(): void {\n if (this._element) {\n this._element.removeEventListener(\n 'close',\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make modal dialog visible using the native `showModal` method\n this._element.showModal();\n this._isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this._body) this._body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n // eslint-disable-next-line @typescript-eslint/require-await\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this._element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this._element.removeEventListener('close', listener);\n };\n this._element.addEventListener('close', listener);\n }\n\n // Make modal dialog invisible using the native `close` method\n this._element.close();\n\n // Reset page `overflow` property\n if (this._body) {\n this._body.style.removeProperty('overflow');\n if (this._bodyInitialOverflowValue === '') {\n if (this._body.style.length === 0) {\n this._body.removeAttribute('style');\n }\n } else {\n this._body.style.setProperty(\n 'overflow',\n this._bodyInitialOverflowValue\n );\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsModalSizeValues","Medium","DEFAULT_COLOR","HdsModalColorValues","Neutral","SIZES","Object","values","COLORS","HdsModal","Component","g","prototype","tracked","i","void 0","_element","_body","_bodyInitialOverflowValue","isDismissDisabled","args","size","assert","join","includes","color","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","onClose","parentElement","showModal","_isOpen","n","action","didInsert","element","document","body","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","returnFocusTo","initiator","getElementById","focus","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -49,6 +49,7 @@ export { default as HdsBreadcrumb } from './components/hds/breadcrumb/index.js';
49
49
  export { default as HdsBreadcrumbItem } from './components/hds/breadcrumb/item.js';
50
50
  export { default as HdsBreadcrumbTruncation } from './components/hds/breadcrumb/truncation.js';
51
51
  export { default as HdsButton } from './components/hds/button/index.js';
52
+ export { HdsButtonColorValues, HdsButtonIconPositionValues, HdsButtonSizeValues } from './components/hds/button/types.js';
52
53
  export { default as HdsButtonSet } from './components/hds/button-set/index.js';
53
54
  export { default as HdsCardContainer } from './components/hds/card/container.js';
54
55
  export { HdsCardBackgroundValues, HdsCardLevelValues, HdsCardOverflowValues, HdsCardTagValues } from './components/hds/card/types.js';
@@ -216,8 +217,10 @@ export { default as HdsAppFrameModals } from './components/hds/app-frame/parts/m
216
217
  export { default as HdsAppFrameSidebar } from './components/hds/app-frame/parts/sidebar.js';
217
218
  export { default as HdsLayoutFlex } from './components/hds/layout/flex/index.js';
218
219
  export { default as HdsLayoutFlexItem } from './components/hds/layout/flex/item.js';
220
+ export { HdsLayoutFlexAlignValues, HdsLayoutFlexDirectionValues, HdsLayoutFlexGapValues, HdsLayoutFlexJustifyValues } from './components/hds/layout/flex/types.js';
219
221
  export { default as HdsLayoutGrid } from './components/hds/layout/grid/index.js';
220
222
  export { default as HdsLayoutGridItem } from './components/hds/layout/grid/item.js';
223
+ export { HdsLayoutGridAlignValues, HdsLayoutGridGapValues } from './components/hds/layout/grid/types.js';
221
224
  export { default as HdsDialogPrimitiveBody } from './components/hds/dialog-primitive/body.js';
222
225
  export { default as HdsDialogPrimitiveDescription } from './components/hds/dialog-primitive/description.js';
223
226
  export { default as HdsDialogPrimitiveFooter } from './components/hds/dialog-primitive/footer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashicorp/design-system-components",
3
- "version": "4.20.1",
3
+ "version": "4.20.2-rc-20250620102721",
4
4
  "description": "Helios Design System Components",
5
5
  "keywords": [
6
6
  "hashicorp",
@@ -32,25 +32,25 @@
32
32
  "@ember/render-modifiers": "^2.1.0",
33
33
  "@ember/string": "^3.1.1",
34
34
  "@ember/test-waiters": "^3.1.0",
35
- "@embroider/addon-shim": "^1.9.0",
36
- "@embroider/macros": "^1.16.12",
35
+ "@embroider/addon-shim": "^1.10.0",
36
+ "@embroider/macros": "^1.18.0",
37
37
  "@embroider/util": "^1.13.2",
38
38
  "@floating-ui/dom": "^1.6.12",
39
39
  "@hashicorp/design-system-tokens": "^2.3.0",
40
- "@hashicorp/flight-icons": "^3.11.0",
40
+ "@hashicorp/flight-icons": "3.11.1-rc-20250620102721",
41
41
  "@lezer/highlight": "^1.2.1",
42
- "@nullvoxpopuli/ember-composable-helpers": "^5.2.9",
42
+ "@nullvoxpopuli/ember-composable-helpers": "^5.2.10",
43
43
  "clipboard-polyfill": "^4.1.1",
44
44
  "codemirror-lang-hcl": "^0.0.0-beta.2",
45
45
  "decorator-transforms": "^2.3.0",
46
46
  "ember-a11y-refocus": "^4.1.4",
47
47
  "ember-cli-sass": "^11.0.1",
48
- "ember-concurrency": "^4.0.2",
48
+ "ember-concurrency": "^4.0.4",
49
49
  "ember-element-helper": "^0.8.6",
50
50
  "ember-focus-trap": "^1.1.1",
51
51
  "ember-get-config": "^2.1.1",
52
- "ember-modifier": "^4.2.0",
53
- "ember-power-select": "^8.6.2",
52
+ "ember-modifier": "^4.2.2",
53
+ "ember-power-select": "^8.7.1",
54
54
  "ember-stargate": "^0.5.0",
55
55
  "ember-style-modifier": "^4.4.0",
56
56
  "ember-truth-helpers": "^4.0.3",
@@ -79,8 +79,8 @@
79
79
  "@types/prismjs": "^1.26.5",
80
80
  "babel-plugin-ember-template-compilation": "^2.4.1",
81
81
  "concurrently": "^9.1.2",
82
- "ember-basic-dropdown": "^8.4.0",
83
- "ember-source": "^5.12.0",
82
+ "ember-basic-dropdown": "^8.6.1",
83
+ "ember-source": "^6.4.0",
84
84
  "ember-template-lint": "^7.0.2",
85
85
  "ember-template-lint-plugin-prettier": "^5.0.0",
86
86
  "eslint": "^9.23.0",