@hashicorp/design-system-components 5.1.0-rc-20251106155636 → 5.1.0-rc-20251125203828

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 (73) hide show
  1. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -0
  2. package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -0
  3. package/declarations/components/hds/filter-bar/{filters-dropdown.d.ts → dropdown.d.ts} +7 -5
  4. package/declarations/components/hds/filter-bar/filter-group/checkbox.d.ts +22 -0
  5. package/declarations/components/hds/filter-bar/filter-group/date.d.ts +47 -0
  6. package/declarations/components/hds/filter-bar/filter-group/generic.d.ts +24 -0
  7. package/declarations/components/hds/filter-bar/filter-group/index.d.ts +51 -0
  8. package/declarations/components/hds/filter-bar/filter-group/numerical.d.ts +45 -0
  9. package/declarations/components/hds/filter-bar/filter-group/radio.d.ts +22 -0
  10. package/declarations/components/hds/filter-bar/index.d.ts +11 -3
  11. package/declarations/components/hds/filter-bar/tabs/tab.d.ts +1 -0
  12. package/declarations/components/hds/filter-bar/types.d.ts +47 -12
  13. package/declarations/components/hds/form/text-input/field.d.ts +1 -1
  14. package/declarations/components.d.ts +7 -5
  15. package/declarations/template-registry.d.ts +19 -13
  16. package/dist/_app_/components/hds/filter-bar/{checkbox.js → dropdown.js} +1 -1
  17. package/dist/_app_/components/hds/filter-bar/filter-group/checkbox.js +1 -0
  18. package/dist/_app_/components/hds/filter-bar/{filters-dropdown.js → filter-group/date.js} +1 -1
  19. package/dist/_app_/components/hds/filter-bar/{range.js → filter-group/generic.js} +1 -1
  20. package/dist/_app_/components/hds/filter-bar/filter-group/numerical.js +1 -0
  21. package/dist/_app_/components/hds/filter-bar/{radio.js → filter-group/radio.js} +1 -1
  22. package/dist/_app_/components/hds/filter-bar/filter-group.js +1 -1
  23. package/dist/components/hds/advanced-table/index.js +1 -1
  24. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  25. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  26. package/dist/components/hds/filter-bar/{filters-dropdown.js → dropdown.js} +25 -30
  27. package/dist/components/hds/filter-bar/dropdown.js.map +1 -0
  28. package/dist/components/hds/filter-bar/{checkbox.js → filter-group/checkbox.js} +9 -8
  29. package/dist/components/hds/filter-bar/filter-group/checkbox.js.map +1 -0
  30. package/dist/components/hds/filter-bar/filter-group/date.js +164 -0
  31. package/dist/components/hds/filter-bar/filter-group/date.js.map +1 -0
  32. package/dist/components/hds/filter-bar/filter-group/generic.js +43 -0
  33. package/dist/components/hds/filter-bar/filter-group/generic.js.map +1 -0
  34. package/dist/components/hds/filter-bar/{filter-group.js → filter-group/index.js} +67 -13
  35. package/dist/components/hds/filter-bar/filter-group/index.js.map +1 -0
  36. package/dist/components/hds/filter-bar/filter-group/numerical.js +163 -0
  37. package/dist/components/hds/filter-bar/filter-group/numerical.js.map +1 -0
  38. package/dist/components/hds/filter-bar/{radio.js → filter-group/radio.js} +9 -8
  39. package/dist/components/hds/filter-bar/filter-group/radio.js.map +1 -0
  40. package/dist/components/hds/filter-bar/index.js +96 -18
  41. package/dist/components/hds/filter-bar/index.js.map +1 -1
  42. package/dist/components/hds/filter-bar/tabs/index.js +0 -1
  43. package/dist/components/hds/filter-bar/tabs/index.js.map +1 -1
  44. package/dist/components/hds/filter-bar/tabs/tab.js +1 -2
  45. package/dist/components/hds/filter-bar/tabs/tab.js.map +1 -1
  46. package/dist/components/hds/filter-bar/types.js +20 -9
  47. package/dist/components/hds/filter-bar/types.js.map +1 -1
  48. package/dist/components.js +8 -6
  49. package/dist/components.js.map +1 -1
  50. package/dist/helpers/hds-link-to-query.js +0 -1
  51. package/dist/helpers/hds-link-to-query.js.map +1 -1
  52. package/dist/styles/@hashicorp/design-system-components.css +190 -1621
  53. package/dist/styles/components/app-header.scss +6 -9
  54. package/dist/styles/components/filter-bar.scss +95 -86
  55. package/dist/styles/components/side-nav/header.scss +4 -12
  56. package/dist/styles/mixins/_interactive-dark-theme.scss +7 -4
  57. package/package.json +7 -5
  58. package/translations/hds/components/filter-bar/date/en-us.yaml +18 -0
  59. package/translations/hds/components/filter-bar/en-us.yaml +6 -0
  60. package/translations/hds/components/filter-bar/filter-group/en-us.yaml +1 -0
  61. package/translations/hds/components/filter-bar/filter-group/numerical/en-us.yaml +15 -0
  62. package/translations/hds/components/filter-bar/filters-dropdown/en-us.yaml +1 -1
  63. package/declarations/components/hds/filter-bar/checkbox.d.ts +0 -21
  64. package/declarations/components/hds/filter-bar/filter-group.d.ts +0 -46
  65. package/declarations/components/hds/filter-bar/radio.d.ts +0 -21
  66. package/declarations/components/hds/filter-bar/range.d.ts +0 -33
  67. package/dist/components/hds/filter-bar/checkbox.js.map +0 -1
  68. package/dist/components/hds/filter-bar/filter-group.js.map +0 -1
  69. package/dist/components/hds/filter-bar/filters-dropdown.js.map +0 -1
  70. package/dist/components/hds/filter-bar/radio.js.map +0 -1
  71. package/dist/components/hds/filter-bar/range.js +0 -88
  72. package/dist/components/hds/filter-bar/range.js.map +0 -1
  73. package/translations/hds/components/filter-bar/range/en-us.yaml +0 -3
@@ -9,6 +9,7 @@ export interface HdsDropdownListItemCheckboxSignature {
9
9
  Args: HdsFormCheckboxBaseSignature['Args'] & {
10
10
  count?: string | number;
11
11
  icon?: HdsIconSignature['Args']['name'];
12
+ id?: string;
12
13
  };
13
14
  Blocks: {
14
15
  default: [];
@@ -9,6 +9,7 @@ export interface HdsDropdownListItemRadioSignature {
9
9
  Args: HdsFormRadioBaseSignature['Args'] & {
10
10
  count?: string | number;
11
11
  icon?: HdsIconSignature['Args']['name'];
12
+ id?: string;
12
13
  };
13
14
  Blocks: {
14
15
  default: [];
@@ -5,12 +5,13 @@
5
5
  import Component from '@glimmer/component';
6
6
  import type Owner from '@ember/owner';
7
7
  import type { WithBoundArgs } from '@glint/template';
8
- import HdsFilterBarFilterGroup from './filter-group.ts';
8
+ import HdsFilterBarFilterGroup from './filter-group/index.ts';
9
9
  import type { HdsFilterBarFilters, HdsFilterBarFilter } from './types.ts';
10
10
  import type { HdsDropdownSignature } from '../dropdown/index.ts';
11
- export interface HdsFilterBarFiltersDropdownSignature {
11
+ export interface HdsFilterBarDropdownSignature {
12
12
  Args: HdsDropdownSignature['Args'] & {
13
13
  filters: HdsFilterBarFilters;
14
+ isLiveFilter: boolean;
14
15
  onFilter?: (filters: HdsFilterBarFilters) => void;
15
16
  };
16
17
  Blocks: {
@@ -22,15 +23,16 @@ export interface HdsFilterBarFiltersDropdownSignature {
22
23
  };
23
24
  Element: HTMLDivElement;
24
25
  }
25
- export default class HdsFilterBarFiltersDropdown extends Component<HdsDropdownSignature & HdsFilterBarFiltersDropdownSignature> {
26
+ export default class HdsFilterBarDropdown extends Component<HdsDropdownSignature & HdsFilterBarDropdownSignature> {
26
27
  internalFilters: HdsFilterBarFilters;
27
- constructor(owner: Owner, args: HdsFilterBarFiltersDropdownSignature['Args']);
28
+ constructor(owner: Owner, args: HdsFilterBarDropdownSignature['Args']);
28
29
  private _syncFilters;
30
+ get isLiveFilter(): boolean;
29
31
  onFilter(key: string, keyFilter?: HdsFilterBarFilter): void;
30
32
  onApply(closeDropdown?: () => void): void;
31
33
  onClear(closeDropdown?: () => void): void;
32
- get numFilters(): number;
33
34
  get classNames(): string;
34
35
  private _updateFilter;
36
+ private _applyFilters;
35
37
  private _onClose;
36
38
  }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type { HdsFilterBarFilter } from '../types.ts';
7
+ export interface HdsFilterBarFilterGroupCheckboxSignature {
8
+ Args: {
9
+ value?: string;
10
+ label?: string;
11
+ keyFilter: HdsFilterBarFilter | undefined;
12
+ onChange?: (event: Event, label?: string) => void;
13
+ };
14
+ Blocks: {
15
+ default: [];
16
+ };
17
+ Element: HTMLDivElement;
18
+ }
19
+ export default class HdsFilterBarFilterGroupCheckbox extends Component<HdsFilterBarFilterGroupCheckboxSignature> {
20
+ onChange(event: Event): void;
21
+ get isChecked(): boolean;
22
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type Owner from '@ember/owner';
7
+ import type HdsIntlService from '../../../../services/hds-intl';
8
+ import type { HdsFormTextInputTypes } from '../../form/text-input/types.ts';
9
+ import type { HdsFilterBarFilter, HdsFilterBarDateFilterSelector, HdsFilterBarDateFilterValue } from '../types.ts';
10
+ export declare const DATE_SELECTORS: HdsFilterBarDateFilterSelector[];
11
+ export declare const DATE_SELECTORS_TEXT: Record<HdsFilterBarDateFilterSelector, string>;
12
+ export declare const DATE_SELECTORS_INPUT_TEXT: Record<HdsFilterBarDateFilterSelector, string>;
13
+ export interface HdsFilterBarFilterGroupDateSignature {
14
+ Args: {
15
+ keyFilter: HdsFilterBarFilter | undefined;
16
+ type?: 'date' | 'time' | 'datetime';
17
+ onChange?: (selector?: HdsFilterBarDateFilterSelector, value?: HdsFilterBarDateFilterValue) => void;
18
+ };
19
+ Blocks: {
20
+ default: [];
21
+ };
22
+ Element: HTMLDivElement;
23
+ }
24
+ export default class HdsFilterBarFilterGroupDate extends Component<HdsFilterBarFilterGroupDateSignature> {
25
+ hdsIntl: HdsIntlService;
26
+ private _selector;
27
+ private _value;
28
+ private _betweenValueStart;
29
+ private _betweenValueEnd;
30
+ private _selectorValues;
31
+ private _selectorInputId;
32
+ private _valueInputId;
33
+ private _betweenValueStartInputId;
34
+ private _betweenValueEndInputId;
35
+ constructor(owner: Owner, args: HdsFilterBarFilterGroupDateSignature['Args']);
36
+ get type(): 'date' | 'time' | 'datetime';
37
+ get inputType(): HdsFormTextInputTypes;
38
+ get selectorLabelText(): string;
39
+ onSelectorChange(event: Event): void;
40
+ onValueChange(event: Event): void;
41
+ onBetweenValueStartChange(event: Event): void;
42
+ onBetweenValueEndChange(event: Event): void;
43
+ onClear(): void;
44
+ private _onChange;
45
+ private _selectorText;
46
+ private _resetInputValues;
47
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type { HdsFilterBarFilter, HdsFilterBarGenericFilter } from '../types.ts';
7
+ export interface HdsFilterBarFilterGroupGenericSignature {
8
+ Args: {
9
+ keyFilter: HdsFilterBarFilter | undefined;
10
+ onChange?: (filter?: HdsFilterBarGenericFilter) => void;
11
+ };
12
+ Blocks: {
13
+ default: [
14
+ {
15
+ updateFilter: (filter: HdsFilterBarGenericFilter) => void;
16
+ }
17
+ ];
18
+ };
19
+ Element: HTMLDivElement;
20
+ }
21
+ export default class HdsFilterBarFilterGroupGeneric extends Component<HdsFilterBarFilterGroupGenericSignature> {
22
+ updateFilter(filter: HdsFilterBarGenericFilter): void;
23
+ onClear(): void;
24
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type { WithBoundArgs } from '@glint/template';
7
+ import HdsFilterBarTabsTab from '../tabs/tab.ts';
8
+ import HdsFilterBarTabsPanel from '../tabs/panel.ts';
9
+ import type { HdsTabsPanelSignature } from '../../tabs/panel.ts';
10
+ import HdsFilterBarFilterGroupGeneric from './generic.ts';
11
+ import HdsFilterBarFilterGroupCheckbox from './checkbox.ts';
12
+ import HdsFilterBarFilterGroupRadio from './radio.ts';
13
+ import type { HdsFilterBarFilter, HdsFilterBarFilters, HdsFilterBarFilterType, HdsFilterBarData, HdsFilterBarGenericFilter, HdsFilterBarNumericalFilterSelector, HdsFilterBarNumericalFilterValue, HdsFilterBarDateFilterSelector, HdsFilterBarDateFilterValue } from '../types.ts';
14
+ export interface HdsFilterBarFilterGroupSignature {
15
+ Args: {
16
+ tab?: WithBoundArgs<typeof HdsFilterBarTabsTab, never>;
17
+ panel?: WithBoundArgs<typeof HdsFilterBarTabsPanel, never>;
18
+ key: string;
19
+ text: string;
20
+ type?: HdsFilterBarFilterType;
21
+ filters: HdsFilterBarFilters;
22
+ searchEnabled?: boolean;
23
+ onChange: (key: string, keyFilter?: HdsFilterBarFilter) => void;
24
+ };
25
+ Blocks: {
26
+ default: [
27
+ {
28
+ Generic?: WithBoundArgs<typeof HdsFilterBarFilterGroupGeneric, 'keyFilter'>;
29
+ Checkbox?: WithBoundArgs<typeof HdsFilterBarFilterGroupCheckbox, 'keyFilter' | 'onChange'>;
30
+ Radio?: WithBoundArgs<typeof HdsFilterBarFilterGroupRadio, 'keyFilter' | 'onChange'>;
31
+ }
32
+ ];
33
+ };
34
+ Element: HdsTabsPanelSignature['Element'];
35
+ }
36
+ export default class HdsFilterBarFilterGroup extends Component<HdsFilterBarFilterGroupSignature> {
37
+ internalFilters: HdsFilterBarData | undefined;
38
+ private _panelElement;
39
+ private _setUpFilterPanel;
40
+ get type(): HdsFilterBarFilterType;
41
+ get keyFilter(): HdsFilterBarFilter | undefined;
42
+ get numFilters(): number;
43
+ onSelectionChange(event: Event, label?: string): void;
44
+ onNumericalChange(selector?: HdsFilterBarNumericalFilterSelector, value?: HdsFilterBarNumericalFilterValue): void;
45
+ onDateChange(selector?: HdsFilterBarDateFilterSelector, value?: HdsFilterBarDateFilterValue): void;
46
+ onGenericChange(filter?: HdsFilterBarGenericFilter): void;
47
+ onClear(): void;
48
+ get formattedFilters(): HdsFilterBarFilter | undefined;
49
+ get classNames(): string;
50
+ private onSearch;
51
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type Owner from '@ember/owner';
7
+ import type HdsIntlService from '../../../../services/hds-intl';
8
+ import type { HdsFilterBarFilter, HdsFilterBarNumericalFilterSelector, HdsFilterBarNumericalFilterValue } from '../types.ts';
9
+ export declare const NUMERICAL_SELECTORS: HdsFilterBarNumericalFilterSelector[];
10
+ export declare const NUMERICAL_SELECTORS_TEXT: Record<HdsFilterBarNumericalFilterSelector, string>;
11
+ export declare const NUMERICAL_SELECTORS_INPUT_TEXT: Record<HdsFilterBarNumericalFilterSelector, string>;
12
+ export interface HdsFilterBarFilterGroupNumericalSignature {
13
+ Args: {
14
+ keyFilter: HdsFilterBarFilter | undefined;
15
+ onChange?: (selector?: HdsFilterBarNumericalFilterSelector, value?: HdsFilterBarNumericalFilterValue) => void;
16
+ };
17
+ Blocks: {
18
+ default: [];
19
+ };
20
+ Element: HTMLDivElement;
21
+ }
22
+ export default class HdsFilterBarFilterGroupNumerical extends Component<HdsFilterBarFilterGroupNumericalSignature> {
23
+ hdsIntl: HdsIntlService;
24
+ private _selector;
25
+ private _value;
26
+ private _betweenValueStart;
27
+ private _betweenValueEnd;
28
+ private _selectorValues;
29
+ private _selectorInputId;
30
+ private _valueInputId;
31
+ private _betweenValueStartInputId;
32
+ private _betweenValueEndInputId;
33
+ constructor(owner: Owner, args: HdsFilterBarFilterGroupNumericalSignature['Args']);
34
+ get stringValue(): string | undefined;
35
+ get stringBetweenValueStart(): string | undefined;
36
+ get stringBetweenValueEnd(): string | undefined;
37
+ onSelectorChange(event: Event): void;
38
+ onValueChange(event: Event): void;
39
+ onBetweenValueStartChange(event: Event): void;
40
+ onBetweenValueEndChange(event: Event): void;
41
+ onClear(): void;
42
+ private _onChange;
43
+ private _selectorText;
44
+ private _resetInputValues;
45
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import Component from '@glimmer/component';
6
+ import type { HdsFilterBarFilter } from '../types.ts';
7
+ export interface HdsFilterBarFilterGroupRadioSignature {
8
+ Args: {
9
+ value?: string;
10
+ label?: string;
11
+ keyFilter: HdsFilterBarFilter | undefined;
12
+ onChange?: (event: Event, label?: string) => void;
13
+ };
14
+ Blocks: {
15
+ default: [];
16
+ };
17
+ Element: HTMLDivElement;
18
+ }
19
+ export default class HdsFilterBarFilterGroupRadio extends Component<HdsFilterBarFilterGroupRadioSignature> {
20
+ onChange(event: Event): void;
21
+ get isChecked(): boolean;
22
+ }
@@ -4,12 +4,15 @@
4
4
  */
5
5
  import Component from '@glimmer/component';
6
6
  import type { WithBoundArgs } from '@glint/template';
7
+ import type HdsIntlService from '../../../services/hds-intl';
7
8
  import type { HdsFilterBarFilters } from './types.ts';
8
9
  import HdsDropdown from '../dropdown/index.ts';
9
- import HdsFilterBarFiltersDropdown from './filters-dropdown.ts';
10
+ import HdsYield from '../yield/index.ts';
11
+ import HdsFilterBarDropdown from './dropdown.ts';
10
12
  export interface HdsFilterBarSignature {
11
13
  Args: {
12
14
  filters: HdsFilterBarFilters;
15
+ isLiveFilter?: boolean;
13
16
  hasSearch?: boolean;
14
17
  onFilter?: (filters: HdsFilterBarFilters) => void;
15
18
  };
@@ -17,13 +20,15 @@ export interface HdsFilterBarSignature {
17
20
  default?: [
18
21
  {
19
22
  ActionsDropdown?: WithBoundArgs<typeof HdsDropdown, never>;
20
- FiltersDropdown?: WithBoundArgs<typeof HdsFilterBarFiltersDropdown, 'filters' | 'onFilter'>;
23
+ ActionsGeneric?: WithBoundArgs<typeof HdsYield, never>;
24
+ Dropdown?: WithBoundArgs<typeof HdsFilterBarDropdown, 'filters' | 'isLiveFilter' | 'onFilter'>;
21
25
  }
22
26
  ];
23
27
  };
24
28
  Element: HTMLDivElement;
25
29
  }
26
30
  export default class HdsFilterBar extends Component<HdsFilterBarSignature> {
31
+ hdsIntl: HdsIntlService;
27
32
  _isExpanded: boolean;
28
33
  get searchValue(): string;
29
34
  onFilter(filters: HdsFilterBarFilters): void;
@@ -36,5 +41,8 @@ export default class HdsFilterBar extends Component<HdsFilterBarSignature> {
36
41
  private _filterText;
37
42
  private _filterArrayData;
38
43
  private _filterKeyText;
39
- private _rangeFilterText;
44
+ private _numericalFilterText;
45
+ private _dateFilterText;
46
+ private _dateDisplayText;
47
+ private _genericFilterText;
40
48
  }
@@ -8,6 +8,7 @@ export interface HdsFilterBarTabsTabSignature {
8
8
  selectedTabIndex?: number;
9
9
  tabIds?: string[];
10
10
  panelIds?: string[];
11
+ numFilters?: number;
11
12
  didInsertNode?: () => void;
12
13
  willDestroyNode?: (element: HTMLButtonElement) => void;
13
14
  onClick?: (event: MouseEvent, nodeIndex: number) => void;
@@ -5,19 +5,33 @@
5
5
  export declare enum HdsFilterBarFilterTypeValues {
6
6
  multiSelect = "multi-select",
7
7
  singleSelect = "single-select",
8
- range = "range",
8
+ numerical = "numerical",
9
+ date = "date",
10
+ time = "time",
11
+ datetime = "datetime",
9
12
  generic = "generic",
10
13
  search = "search"
11
14
  }
12
15
  export type HdsFilterBarFilterType = `${HdsFilterBarFilterTypeValues}`;
13
16
  export interface HdsFilterBarGenericFilterData {
14
17
  value: unknown;
18
+ label?: string;
15
19
  }
16
- export interface HdsFilterBarRangeFilterData {
17
- selector: HdsFilterBarRangeFilterSelector;
18
- value: number;
20
+ export interface HdsFilterBarNumericalFilterData {
21
+ selector: HdsFilterBarNumericalFilterSelector;
22
+ value: HdsFilterBarNumericalFilterValue;
23
+ }
24
+ export interface HdsFilterBarDateFilterData {
25
+ selector: HdsFilterBarDateFilterSelector;
26
+ value: HdsFilterBarDateFilterValue;
27
+ }
28
+ export type HdsFilterBarData = HdsFilterBarGenericFilterData[] | HdsFilterBarGenericFilterData | HdsFilterBarNumericalFilterData | HdsFilterBarDateFilterData;
29
+ export interface HdsFilterBarGenericFilter {
30
+ type: 'generic';
31
+ text?: string;
32
+ dismissTagText?: string;
33
+ data: HdsFilterBarGenericFilterData | HdsFilterBarGenericFilterData[];
19
34
  }
20
- export type HdsFilterBarData = HdsFilterBarGenericFilterData[] | HdsFilterBarGenericFilterData | HdsFilterBarRangeFilterData;
21
35
  export interface HdsFilterBarSingleSelectFilter {
22
36
  type: 'single-select';
23
37
  text?: string;
@@ -28,25 +42,46 @@ export interface HdsFilterBarMultiSelectFilter {
28
42
  text?: string;
29
43
  data: HdsFilterBarGenericFilterData[];
30
44
  }
31
- export interface HdsFilterBarRangeFilter {
32
- type: 'range';
45
+ export interface HdsFilterBarNumericalFilter {
46
+ type: 'numerical';
33
47
  text?: string;
34
- data: HdsFilterBarRangeFilterData;
48
+ data: HdsFilterBarNumericalFilterData;
49
+ }
50
+ export interface HdsFilterBarDateFilter {
51
+ type: 'date' | 'time' | 'datetime';
52
+ text?: string;
53
+ data: HdsFilterBarDateFilterData;
35
54
  }
36
55
  export interface HdsFilterBarSearchFilter {
37
56
  type: 'search';
38
57
  text?: string;
39
58
  data: HdsFilterBarGenericFilterData;
40
59
  }
41
- export type HdsFilterBarFilter = HdsFilterBarSingleSelectFilter | HdsFilterBarMultiSelectFilter | HdsFilterBarRangeFilter | HdsFilterBarSearchFilter;
60
+ export type HdsFilterBarFilter = HdsFilterBarSingleSelectFilter | HdsFilterBarMultiSelectFilter | HdsFilterBarNumericalFilter | HdsFilterBarDateFilter | HdsFilterBarSearchFilter | HdsFilterBarGenericFilter;
42
61
  export interface HdsFilterBarFilters {
43
62
  [name: string]: HdsFilterBarFilter;
44
63
  }
45
- export declare enum HdsFilterBarRangeFilterSelectorValues {
64
+ export declare enum HdsFilterBarNumericalFilterSelectorValues {
46
65
  lessThan = "less-than",
47
66
  lessThanOrEqualTo = "less-than-or-equal-to",
48
67
  equalTo = "equal-to",
49
68
  greaterThanOrEqualTo = "greater-than-or-equal-to",
50
- greaterThan = "greater-than"
69
+ greaterThan = "greater-than",
70
+ between = "between"
71
+ }
72
+ export type HdsFilterBarNumericalFilterSelector = `${HdsFilterBarNumericalFilterSelectorValues}`;
73
+ export declare enum HdsFilterBarDateFilterSelectorValues {
74
+ before = "before",
75
+ exactly = "exactly",
76
+ after = "after",
77
+ between = "between"
51
78
  }
52
- export type HdsFilterBarRangeFilterSelector = `${HdsFilterBarRangeFilterSelectorValues}`;
79
+ export type HdsFilterBarDateFilterSelector = `${HdsFilterBarDateFilterSelectorValues}`;
80
+ export type HdsFilterBarNumericalFilterValue = number | {
81
+ start?: number;
82
+ end?: number;
83
+ };
84
+ export type HdsFilterBarDateFilterValue = string | {
85
+ start?: string;
86
+ end?: string;
87
+ };
@@ -31,7 +31,7 @@ export interface HdsFormTextInputFieldSignature {
31
31
  }
32
32
  export default class HdsFormTextInputField extends Component<HdsFormTextInputFieldSignature> {
33
33
  private _isPasswordMasked;
34
- type: "search" | "time" | "text" | "month" | "week" | "email" | "tel" | "password" | "url" | "date" | "datetime-local";
34
+ type: "search" | "time" | "text" | "month" | "week" | "date" | "email" | "tel" | "password" | "url" | "datetime-local";
35
35
  constructor(owner: Owner, args: HdsFormTextInputFieldSignature['Args']);
36
36
  get hasVisibilityToggle(): boolean;
37
37
  get showVisibilityToggle(): boolean;
@@ -88,11 +88,13 @@ export * from './components/hds/dropdown/list-item/types.ts';
88
88
  export * from './components/hds/dropdown/toggle/types.ts';
89
89
  export * from './components/hds/dropdown/types.ts';
90
90
  export { default as HdsFilterBar } from './components/hds/filter-bar/index.ts';
91
- export { default as HdsFilterBarCheckbox } from './components/hds/filter-bar/checkbox.ts';
92
- export { default as HdsFilterBarFiltersDropdown } from './components/hds/filter-bar/filters-dropdown.ts';
93
- export { default as HdsFilterBarFilterGroup } from './components/hds/filter-bar/filter-group.ts';
94
- export { default as HdsFilterBarRadio } from './components/hds/filter-bar/radio.ts';
95
- export { default as HdsFilterBarRange } from './components/hds/filter-bar/range.ts';
91
+ export { default as HdsFilterBarDropdown } from './components/hds/filter-bar/dropdown.ts';
92
+ export { default as HdsFilterBarFilterGroup } from './components/hds/filter-bar/filter-group/index.ts';
93
+ export { default as HdsFilterBarFilterGroupCheckbox } from './components/hds/filter-bar/filter-group/checkbox.ts';
94
+ export { default as HdsFilterBarFilterGroupDate } from './components/hds/filter-bar/filter-group/date.ts';
95
+ export { default as HdsFilterBarFilterGroupGeneric } from './components/hds/filter-bar/filter-group/generic.ts';
96
+ export { default as HdsFilterBarFilterGroupRadio } from './components/hds/filter-bar/filter-group/radio.ts';
97
+ export { default as HdsFilterBarFilterGroupNumerical } from './components/hds/filter-bar/filter-group/numerical.ts';
96
98
  export { default as HdsFilterBarTabs } from './components/hds/filter-bar/tabs/index.ts';
97
99
  export { default as HdsFilterBarTabsPanel } from './components/hds/filter-bar/tabs/panel.ts';
98
100
  export { default as HdsFilterBarTabsTab } from './components/hds/filter-bar/tabs/tab.ts';
@@ -94,11 +94,13 @@ import type HdsDropdownToggleButtonComponent from './components/hds/dropdown/tog
94
94
  import type HdsDropdownToggleChevronComponent from './components/hds/dropdown/toggle/chevron';
95
95
  import type HdsDropdownToggleIconComponent from './components/hds/dropdown/toggle/icon';
96
96
  import type HdsFilterBarComponent from './components/hds/filter-bar';
97
- import type HdsFilterBarCheckboxComponent from './components/hds/filter-bar/checkbox';
98
- import type HdsFilterBarRadioComponent from './components/hds/filter-bar/radio';
99
- import type HdsFilterBarFiltersDropdownComponent from './components/hds/filter-bar/filters-dropdown';
100
- import type HdsFilterBarFilterGroupComponent from './components/hds/filter-bar/filter-group';
101
- import type HdsFilterBarRangeComponent from './components/hds/filter-bar/range';
97
+ import type HdsFilterBarDropdownComponent from './components/hds/filter-bar/dropdown';
98
+ import type HdsFilterBarFilterGroupComponent from './components/hds/filter-bar/filter-group/index.ts';
99
+ import type HdsFilterBarFilterGroupCheckboxComponent from './components/hds/filter-bar/filter-group/checkbox';
100
+ import type HdsFilterBarFilterGroupDateComponent from './components/hds/filter-bar/filter-group/date';
101
+ import type HdsFilterBarFilterGroupGenericComponent from './components/hds/filter-bar/filter-group/generic';
102
+ import type HdsFilterBarFilterGroupRadioComponent from './components/hds/filter-bar/filter-group/radio';
103
+ import type HdsFilterBarFilterGroupNumericalComponent from './components/hds/filter-bar/filter-group/numerical';
102
104
  import type HdsFilterBarTabsComponent from './components/hds/filter-bar/tabs';
103
105
  import type HdsFilterBarTabsPanelComponent from './components/hds/filter-bar/tabs/panel';
104
106
  import type HdsFilterBarTabsTabComponent from './components/hds/filter-bar/tabs/tab';
@@ -435,16 +437,20 @@ export default interface HdsComponentsRegistry {
435
437
  'hds/dropdown/toggle/icon': typeof HdsDropdownToggleIconComponent;
436
438
  'Hds::FilterBar': typeof HdsFilterBarComponent;
437
439
  'hds/filter-bar': typeof HdsFilterBarComponent;
438
- 'Hds::FilterBar::Checkbox': typeof HdsFilterBarCheckboxComponent;
439
- 'hds/filter-bar/checkbox': typeof HdsFilterBarCheckboxComponent;
440
- 'Hds::FilterBar::Radio': typeof HdsFilterBarRadioComponent;
441
- 'hds/filter-bar/radio': typeof HdsFilterBarRadioComponent;
442
- 'Hds::FilterBar::FiltersDropdown': typeof HdsFilterBarFiltersDropdownComponent;
443
- 'hds/filter-bar/filters-dropdown': typeof HdsFilterBarFiltersDropdownComponent;
440
+ 'Hds::FilterBar::Dropdown': typeof HdsFilterBarDropdownComponent;
441
+ 'hds/filter-bar/dropdown': typeof HdsFilterBarDropdownComponent;
444
442
  'Hds::FilterBar::FilterGroup': typeof HdsFilterBarFilterGroupComponent;
445
443
  'hds/filter-bar/filter-group': typeof HdsFilterBarFilterGroupComponent;
446
- 'Hds::FilterBar::Range': typeof HdsFilterBarRangeComponent;
447
- 'hds/filter-bar/range': typeof HdsFilterBarRangeComponent;
444
+ 'Hds::FilterBar::FilterGroup::Checkbox': typeof HdsFilterBarFilterGroupCheckboxComponent;
445
+ 'hds/filter-bar/filter-group/checkbox': typeof HdsFilterBarFilterGroupCheckboxComponent;
446
+ 'Hds::FilterBar::FilterGroup::Date': typeof HdsFilterBarFilterGroupDateComponent;
447
+ 'hds/filter-bar/filter-group/date': typeof HdsFilterBarFilterGroupDateComponent;
448
+ 'Hds::FilterBar::FilterGroup::Generic': typeof HdsFilterBarFilterGroupGenericComponent;
449
+ 'hds/filter-bar/filter-group/generic': typeof HdsFilterBarFilterGroupGenericComponent;
450
+ 'Hds::FilterBar::FilterGroup::Radio': typeof HdsFilterBarFilterGroupRadioComponent;
451
+ 'hds/filter-bar/filter-group/radio': typeof HdsFilterBarFilterGroupRadioComponent;
452
+ 'Hds::FilterBar::FilterGroup::Numerical': typeof HdsFilterBarFilterGroupNumericalComponent;
453
+ 'hds/filter-bar/filter-group/numerical': typeof HdsFilterBarFilterGroupNumericalComponent;
448
454
  'Hds::FilterBar::Tabs': typeof HdsFilterBarTabsComponent;
449
455
  'hds/filter-bar/tabs': typeof HdsFilterBarTabsComponent;
450
456
  'Hds::FilterBar::Tabs::Panel': typeof HdsFilterBarTabsPanelComponent;
@@ -1 +1 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/checkbox";
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/dropdown";
@@ -0,0 +1 @@
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/checkbox";
@@ -1 +1 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filters-dropdown";
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/date";
@@ -1 +1 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/range";
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/generic";
@@ -0,0 +1 @@
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/numerical";
@@ -1 +1 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/radio";
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/radio";
@@ -1 +1 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group";
1
+ export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/index";
@@ -11,7 +11,7 @@ import { precompileTemplate } from '@ember/template-compilation';
11
11
  import { g, i, n } from 'decorator-transforms/runtime';
12
12
  import { setComponentTemplate } from '@ember/component';
13
13
 
14
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n{{#if (has-block \"actions\")}}\n <div class=\"hds-advanced-table__actions\">\n {{yield (hash FilterBar=(component \"hds/filter-bar\")) to=\"actions\"}}\n </div>\n{{/if}}\n<div\n class=\"hds-advanced-table__container\n {{(if this.isStickyHeaderPinned \'hds-advanced-table__container--header-is-pinned\')}}\"\n {{did-update this.setupTableModelData @columns @model @sortBy @sortOrder}}\n {{did-update this.updateTableModelColumnOrder @columnOrder}}\n ...attributes\n>\n {{! Caption }}\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n {{this.reorderedMessageText}}\n </div>\n\n {{! Grid }}\n <div\n class={{this.classNames}}\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style\n grid-template-columns=this.gridTemplateColumns\n --hds-advanced-table-sticky-column-offset=this.stickyColumnOffset\n max-height=@maxHeight\n }}\n {{this._registerGridElement}}\n {{this._setUpScrollWrapper}}\n >\n {{! Header }}\n <div\n class={{this.theadClassNames}}\n role=\"rowgroup\"\n {{this._setUpThead}}\n {{on \"dragleave\" (fn (mut this._tableModel.reorderHoveredColumn) null)}}\n >\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this._tableModel.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this._tableModel.sortBy @selectableColumnKey) this._tableModel.sortOrder}}\n @isSelectable={{this.isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n @hasStickyColumn={{this.hasStickyFirstColumn}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n >\n {{#each this._tableModel.orderedColumns as |column|}}\n {{#if column.isSortable}}\n <Hds::AdvancedTable::ThSort\n @column={{column}}\n @sortOrder={{if (eq column.key this._tableModel.sortBy) this._tableModel.sortOrder}}\n @onClickSort={{if column.key (fn this._tableModel.setSortBy column.key)}}\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasResizableColumns={{@hasResizableColumns}}\n @hasSelectableRows={{this.isSelectable}}\n @isStickyColumn={{this._isStickyColumn column}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n @tableHeight={{this._tableHeight}}\n @onColumnResize={{@onColumnResize}}\n @onPinFirstColumn={{this._onPinFirstColumn}}\n @onReorderDragEnd={{fn (mut this._tableModel.reorderDraggedColumn) null}}\n @onReorderDragStart={{fn (mut this._tableModel.reorderDraggedColumn)}}\n @onReorderDrop={{this._tableModel.moveColumnToDropTarget}}\n {{this._registerThElement column}}\n >\n {{column.label}}\n </Hds::AdvancedTable::ThSort>\n {{else}}\n <Hds::AdvancedTable::Th\n @align={{column.align}}\n @column={{column}}\n @hasExpandAllButton={{this._tableModel.hasRowsWithChildren}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasResizableColumns={{@hasResizableColumns}}\n @hasSelectableRows={{this.isSelectable}}\n @isExpanded={{this._tableModel.expandState}}\n @isExpandable={{column.isExpandable}}\n @isStickyColumn={{this._isStickyColumn column}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n @tableHeight={{this._tableHeight}}\n @tooltip={{column.tooltip}}\n @onClickToggle={{this._tableModel.toggleAll}}\n @onColumnResize={{@onColumnResize}}\n @onPinFirstColumn={{this._onPinFirstColumn}}\n @onReorderDragEnd={{fn (mut this._tableModel.reorderDraggedColumn) null}}\n @onReorderDragStart={{fn (mut this._tableModel.reorderDraggedColumn)}}\n @onReorderDrop={{this._tableModel.moveColumnToDropTarget}}\n {{this._registerThElement column}}\n >\n {{column.label}}\n </Hds::AdvancedTable::Th>\n {{/if}}\n {{/each}}\n </Hds::AdvancedTable::Tr>\n\n {{#if this.showScrollIndicatorTop}}\n <div class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-top\" />\n {{/if}}\n </div>\n\n {{! Body }}\n {{#unless this.isEmpty}}\n <div class=\"hds-advanced-table__tbody\" role=\"rowgroup\">\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each this._tableModel.sortedRows key=this.identityKey as |record index|}}\n {{#if this._tableModel.hasRowsWithChildren}}\n <Hds::AdvancedTable::ExpandableTrGroup\n @record={{record}}\n @rowIndex={{index}}\n @onClickToggle={{record.onClickToggle}}\n as |T|\n >\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n isLastRow=(eq this._tableModel.lastVisibleRow.id T.data.id)\n isParentRow=T.isExpandable\n depth=T.depth\n displayRow=T.shouldDisplayChildRows\n data=T.data\n )\n Th=(component\n \"hds/advanced-table/th\"\n depth=T.depth\n isExpandable=T.isExpandable\n isExpanded=T.isExpanded\n newLabel=T.id\n parentId=T.parentId\n scope=\"row\"\n onClickToggle=T.onClickToggle\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=T.data\n isOpen=T.isExpanded\n rowIndex=T.rowIndex\n )\n to=\"body\"\n }}\n </Hds::AdvancedTable::ExpandableTrGroup>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n selectionScope=\"row\"\n isLastRow=(eq this._tableModel.lastVisibleRow.id record.id)\n isSelectable=this.isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n hasStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n data=record\n )\n Th=(component\n \"hds/advanced-table/th\"\n scope=\"row\"\n isStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/if}}\n {{/each}}\n </div>\n {{/unless}}\n </div>\n\n {{#if this.showScrollIndicatorLeft}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-left\"\n {{style height=this.scrollIndicatorDimensions.height left=this.scrollIndicatorDimensions.left}}\n />\n {{/if}}\n\n {{#if this.showScrollIndicatorRight}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-right\"\n {{style height=this.scrollIndicatorDimensions.height right=this.scrollIndicatorDimensions.right}}\n />\n {{/if}}\n\n {{#unless this.isEmpty}}\n {{#if this.showScrollIndicatorBottom}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-bottom\"\n {{style bottom=this.scrollIndicatorDimensions.bottom width=this.scrollIndicatorDimensions.width}}\n />\n {{/if}}\n {{/unless}}\n\n {{#if this.isEmpty}}\n <div class=\"hds-advanced-table__empty-state\">\n <div class=\"hds-advanced-table__empty-state__content\">\n {{#if (has-block \"emptyState\")}}\n {{yield to=\"emptyState\"}}\n {{else}}\n <Hds::Layout::Flex @direction=\"column\" @gap=\"8\">\n <Hds::Text::Display @tag=\"h3\" @size=\"300\">{{hds-t\n \"hds.components.advanced-table.empty-state.title\"\n default=\"No data available\"\n }}</Hds::Text::Display>\n <Hds::Text::Body>\n {{hds-t\n \"hds.components.advanced-table.empty-state.description\"\n default=\"There is currently no data to display in the table.\"\n }}\n </Hds::Text::Body>\n </Hds::Layout::Flex>\n {{/if}}\n </div>\n </div>\n {{/if}}\n</div>");
14
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-advanced-table__actions-container-wrapper\">\n {{#if (has-block \"actions\")}}\n <div class=\"hds-advanced-table__actions\">\n {{yield (hash FilterBar=(component \"hds/filter-bar\")) to=\"actions\"}}\n </div>\n {{/if}}\n <div\n class=\"hds-advanced-table__container\n {{(if this.isStickyHeaderPinned \'hds-advanced-table__container--header-is-pinned\')}}\"\n {{did-update this.setupTableModelData @columns @model @sortBy @sortOrder}}\n {{did-update this.updateTableModelColumnOrder @columnOrder}}\n ...attributes\n >\n {{! Caption }}\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n {{this.reorderedMessageText}}\n </div>\n\n {{! Grid }}\n <div\n class={{this.classNames}}\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style\n grid-template-columns=this.gridTemplateColumns\n --hds-advanced-table-sticky-column-offset=this.stickyColumnOffset\n max-height=@maxHeight\n }}\n {{this._registerGridElement}}\n {{this._setUpScrollWrapper}}\n >\n {{! Header }}\n <div\n class={{this.theadClassNames}}\n role=\"rowgroup\"\n {{this._setUpThead}}\n {{on \"dragleave\" (fn (mut this._tableModel.reorderHoveredColumn) null)}}\n >\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this._tableModel.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this._tableModel.sortBy @selectableColumnKey) this._tableModel.sortOrder}}\n @isSelectable={{this.isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n @hasStickyColumn={{this.hasStickyFirstColumn}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n >\n {{#each this._tableModel.orderedColumns as |column|}}\n {{#if column.isSortable}}\n <Hds::AdvancedTable::ThSort\n @column={{column}}\n @sortOrder={{if (eq column.key this._tableModel.sortBy) this._tableModel.sortOrder}}\n @onClickSort={{if column.key (fn this._tableModel.setSortBy column.key)}}\n @align={{column.align}}\n @tooltip={{column.tooltip}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasResizableColumns={{@hasResizableColumns}}\n @hasSelectableRows={{this.isSelectable}}\n @isStickyColumn={{this._isStickyColumn column}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n @tableHeight={{this._tableHeight}}\n @onColumnResize={{@onColumnResize}}\n @onPinFirstColumn={{this._onPinFirstColumn}}\n @onReorderDragEnd={{fn (mut this._tableModel.reorderDraggedColumn) null}}\n @onReorderDragStart={{fn (mut this._tableModel.reorderDraggedColumn)}}\n @onReorderDrop={{this._tableModel.moveColumnToDropTarget}}\n {{this._registerThElement column}}\n >\n {{column.label}}\n </Hds::AdvancedTable::ThSort>\n {{else}}\n <Hds::AdvancedTable::Th\n @align={{column.align}}\n @column={{column}}\n @hasExpandAllButton={{this._tableModel.hasRowsWithChildren}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasResizableColumns={{@hasResizableColumns}}\n @hasSelectableRows={{this.isSelectable}}\n @isExpanded={{this._tableModel.expandState}}\n @isExpandable={{column.isExpandable}}\n @isStickyColumn={{this._isStickyColumn column}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n @tableHeight={{this._tableHeight}}\n @tooltip={{column.tooltip}}\n @onClickToggle={{this._tableModel.toggleAll}}\n @onColumnResize={{@onColumnResize}}\n @onPinFirstColumn={{this._onPinFirstColumn}}\n @onReorderDragEnd={{fn (mut this._tableModel.reorderDraggedColumn) null}}\n @onReorderDragStart={{fn (mut this._tableModel.reorderDraggedColumn)}}\n @onReorderDrop={{this._tableModel.moveColumnToDropTarget}}\n {{this._registerThElement column}}\n >\n {{column.label}}\n </Hds::AdvancedTable::Th>\n {{/if}}\n {{/each}}\n </Hds::AdvancedTable::Tr>\n\n {{#if this.showScrollIndicatorTop}}\n <div class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-top\" />\n {{/if}}\n </div>\n\n {{! Body }}\n {{#unless this.isEmpty}}\n <div class=\"hds-advanced-table__tbody\" role=\"rowgroup\">\n {{! ----------------------------------------------------------------------------------------\n IMPORTANT: we loop on the `model` array and for each record\n we yield the Tr/Td/Th elements _and_ the record itself as `data`\n this means the consumer will *have to* use the `data` key to access it in their template\n -------------------------------------------------------------------------------------------- }}\n {{#each this._tableModel.sortedRows key=this.identityKey as |record index|}}\n {{#if this._tableModel.hasRowsWithChildren}}\n <Hds::AdvancedTable::ExpandableTrGroup\n @record={{record}}\n @rowIndex={{index}}\n @onClickToggle={{record.onClickToggle}}\n as |T|\n >\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n isLastRow=(eq this._tableModel.lastVisibleRow.id T.data.id)\n isParentRow=T.isExpandable\n depth=T.depth\n displayRow=T.shouldDisplayChildRows\n data=T.data\n )\n Th=(component\n \"hds/advanced-table/th\"\n depth=T.depth\n isExpandable=T.isExpandable\n isExpanded=T.isExpanded\n newLabel=T.id\n parentId=T.parentId\n scope=\"row\"\n onClickToggle=T.onClickToggle\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=T.data\n isOpen=T.isExpanded\n rowIndex=T.rowIndex\n )\n to=\"body\"\n }}\n </Hds::AdvancedTable::ExpandableTrGroup>\n {{else}}\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n selectionScope=\"row\"\n isLastRow=(eq this._tableModel.lastVisibleRow.id record.id)\n isSelectable=this.isSelectable\n onSelectionChange=this.onSelectionRowChange\n didInsert=this.didInsertRowCheckbox\n willDestroy=this.willDestroyRowCheckbox\n selectionAriaLabelSuffix=@selectionAriaLabelSuffix\n hasStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n data=record\n )\n Th=(component\n \"hds/advanced-table/th\"\n scope=\"row\"\n isStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=record\n rowIndex=index\n )\n to=\"body\"\n }}\n {{/if}}\n {{/each}}\n </div>\n {{/unless}}\n </div>\n\n {{#if this.showScrollIndicatorLeft}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-left\"\n {{style height=this.scrollIndicatorDimensions.height left=this.scrollIndicatorDimensions.left}}\n />\n {{/if}}\n\n {{#if this.showScrollIndicatorRight}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-right\"\n {{style height=this.scrollIndicatorDimensions.height right=this.scrollIndicatorDimensions.right}}\n />\n {{/if}}\n\n {{#unless this.isEmpty}}\n {{#if this.showScrollIndicatorBottom}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-bottom\"\n {{style bottom=this.scrollIndicatorDimensions.bottom width=this.scrollIndicatorDimensions.width}}\n />\n {{/if}}\n {{/unless}}\n\n {{#if this.isEmpty}}\n <div class=\"hds-advanced-table__empty-state\">\n <div class=\"hds-advanced-table__empty-state__content\">\n {{#if (has-block \"emptyState\")}}\n {{yield to=\"emptyState\"}}\n {{else}}\n <Hds::Layout::Flex @direction=\"column\" @gap=\"8\">\n <Hds::Text::Display @tag=\"h3\" @size=\"300\">{{hds-t\n \"hds.components.advanced-table.empty-state.title\"\n default=\"No data available\"\n }}</Hds::Text::Display>\n <Hds::Text::Body>\n {{hds-t\n \"hds.components.advanced-table.empty-state.description\"\n default=\"There is currently no data to display in the table.\"\n }}\n </Hds::Text::Body>\n </Hds::Layout::Flex>\n {{/if}}\n </div>\n </div>\n {{/if}}\n </div>\n</div>");
15
15
 
16
16
  /**
17
17
  * Copyright (c) HashiCorp, Inc.
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../../../src/components/hds/dropdown/list-item/checkbox.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { getElementId } from '../../../../utils/hds-get-element-id.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsFormCheckboxBaseSignature } from '../../form/checkbox/base.ts';\n\nexport interface HdsDropdownListItemCheckboxSignature {\n Args: HdsFormCheckboxBaseSignature['Args'] & {\n count?: string | number;\n icon?: HdsIconSignature['Args']['name'];\n };\n Blocks: {\n default: [];\n };\n Element: HdsFormCheckboxBaseSignature['Element'];\n}\n\nexport default class HdsDropdownListItemCheckbox extends Component<HdsDropdownListItemCheckboxSignature> {\n /**\n * Determines the unique ID to assign to the checkbox control\n */\n get id(): string {\n return getElementId(this);\n }\n}\n"],"names":["HdsDropdownListItemCheckbox","Component","id","getElementId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAkBe,MAAMA,2BAA2B,SAASC,SAAS,CAAuC;AACvG;AACF;AACA;EACE,IAAIC,EAAEA,GAAW;IACf,OAAOC,YAAY,CAAC,IAAI,CAAC;AAC3B,EAAA;AACF;AAACC,oBAAA,CAAAC,QAAA,EAPoBL,2BAA2B,CAAA;;;;"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../../../src/components/hds/dropdown/list-item/checkbox.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { getElementId } from '../../../../utils/hds-get-element-id.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsFormCheckboxBaseSignature } from '../../form/checkbox/base.ts';\n\nexport interface HdsDropdownListItemCheckboxSignature {\n Args: HdsFormCheckboxBaseSignature['Args'] & {\n count?: string | number;\n icon?: HdsIconSignature['Args']['name'];\n id?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HdsFormCheckboxBaseSignature['Element'];\n}\n\nexport default class HdsDropdownListItemCheckbox extends Component<HdsDropdownListItemCheckboxSignature> {\n /**\n * Determines the unique ID to assign to the checkbox control\n */\n get id(): string {\n return getElementId(this);\n }\n}\n"],"names":["HdsDropdownListItemCheckbox","Component","id","getElementId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAmBe,MAAMA,2BAA2B,SAASC,SAAS,CAAuC;AACvG;AACF;AACA;EACE,IAAIC,EAAEA,GAAW;IACf,OAAOC,YAAY,CAAC,IAAI,CAAC;AAC3B,EAAA;AACF;AAACC,oBAAA,CAAAC,QAAA,EAPoBL,2BAA2B,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../../../../src/components/hds/dropdown/list-item/radio.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { getElementId } from '../../../../utils/hds-get-element-id.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsFormRadioBaseSignature } from '../../form/radio/base.ts';\n\nexport interface HdsDropdownListItemRadioSignature {\n Args: HdsFormRadioBaseSignature['Args'] & {\n count?: string | number;\n icon?: HdsIconSignature['Args']['name'];\n };\n Blocks: {\n default: [];\n };\n Element: HdsFormRadioBaseSignature['Element'];\n}\n\nexport default class HdsDropdownListItemRadio extends Component<HdsDropdownListItemRadioSignature> {\n /**\n * Determines the unique ID to assign to the radio control\n */\n get id(): string {\n return getElementId(this);\n }\n}\n"],"names":["HdsDropdownListItemRadio","Component","id","getElementId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAkBe,MAAMA,wBAAwB,SAASC,SAAS,CAAoC;AACjG;AACF;AACA;EACE,IAAIC,EAAEA,GAAW;IACf,OAAOC,YAAY,CAAC,IAAI,CAAC;AAC3B,EAAA;AACF;AAACC,oBAAA,CAAAC,QAAA,EAPoBL,wBAAwB,CAAA;;;;"}
1
+ {"version":3,"file":"radio.js","sources":["../../../../../src/components/hds/dropdown/list-item/radio.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { getElementId } from '../../../../utils/hds-get-element-id.ts';\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsFormRadioBaseSignature } from '../../form/radio/base.ts';\n\nexport interface HdsDropdownListItemRadioSignature {\n Args: HdsFormRadioBaseSignature['Args'] & {\n count?: string | number;\n icon?: HdsIconSignature['Args']['name'];\n id?: string;\n };\n Blocks: {\n default: [];\n };\n Element: HdsFormRadioBaseSignature['Element'];\n}\n\nexport default class HdsDropdownListItemRadio extends Component<HdsDropdownListItemRadioSignature> {\n /**\n * Determines the unique ID to assign to the radio control\n */\n get id(): string {\n return getElementId(this);\n }\n}\n"],"names":["HdsDropdownListItemRadio","Component","id","getElementId","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;;AAmBe,MAAMA,wBAAwB,SAASC,SAAS,CAAoC;AACjG;AACF;AACA;EACE,IAAIC,EAAEA,GAAW;IACf,OAAOC,YAAY,CAAC,IAAI,CAAC;AAC3B,EAAA;AACF;AAACC,oBAAA,CAAAC,QAAA,EAPoBL,wBAAwB,CAAA;;;;"}