@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.
- package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -0
- package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -0
- package/declarations/components/hds/filter-bar/{filters-dropdown.d.ts → dropdown.d.ts} +7 -5
- package/declarations/components/hds/filter-bar/filter-group/checkbox.d.ts +22 -0
- package/declarations/components/hds/filter-bar/filter-group/date.d.ts +47 -0
- package/declarations/components/hds/filter-bar/filter-group/generic.d.ts +24 -0
- package/declarations/components/hds/filter-bar/filter-group/index.d.ts +51 -0
- package/declarations/components/hds/filter-bar/filter-group/numerical.d.ts +45 -0
- package/declarations/components/hds/filter-bar/filter-group/radio.d.ts +22 -0
- package/declarations/components/hds/filter-bar/index.d.ts +11 -3
- package/declarations/components/hds/filter-bar/tabs/tab.d.ts +1 -0
- package/declarations/components/hds/filter-bar/types.d.ts +47 -12
- package/declarations/components/hds/form/text-input/field.d.ts +1 -1
- package/declarations/components.d.ts +7 -5
- package/declarations/template-registry.d.ts +19 -13
- package/dist/_app_/components/hds/filter-bar/{checkbox.js → dropdown.js} +1 -1
- package/dist/_app_/components/hds/filter-bar/filter-group/checkbox.js +1 -0
- package/dist/_app_/components/hds/filter-bar/{filters-dropdown.js → filter-group/date.js} +1 -1
- package/dist/_app_/components/hds/filter-bar/{range.js → filter-group/generic.js} +1 -1
- package/dist/_app_/components/hds/filter-bar/filter-group/numerical.js +1 -0
- package/dist/_app_/components/hds/filter-bar/{radio.js → filter-group/radio.js} +1 -1
- package/dist/_app_/components/hds/filter-bar/filter-group.js +1 -1
- package/dist/components/hds/advanced-table/index.js +1 -1
- package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
- package/dist/components/hds/filter-bar/{filters-dropdown.js → dropdown.js} +25 -30
- package/dist/components/hds/filter-bar/dropdown.js.map +1 -0
- package/dist/components/hds/filter-bar/{checkbox.js → filter-group/checkbox.js} +9 -8
- package/dist/components/hds/filter-bar/filter-group/checkbox.js.map +1 -0
- package/dist/components/hds/filter-bar/filter-group/date.js +164 -0
- package/dist/components/hds/filter-bar/filter-group/date.js.map +1 -0
- package/dist/components/hds/filter-bar/filter-group/generic.js +43 -0
- package/dist/components/hds/filter-bar/filter-group/generic.js.map +1 -0
- package/dist/components/hds/filter-bar/{filter-group.js → filter-group/index.js} +67 -13
- package/dist/components/hds/filter-bar/filter-group/index.js.map +1 -0
- package/dist/components/hds/filter-bar/filter-group/numerical.js +163 -0
- package/dist/components/hds/filter-bar/filter-group/numerical.js.map +1 -0
- package/dist/components/hds/filter-bar/{radio.js → filter-group/radio.js} +9 -8
- package/dist/components/hds/filter-bar/filter-group/radio.js.map +1 -0
- package/dist/components/hds/filter-bar/index.js +96 -18
- package/dist/components/hds/filter-bar/index.js.map +1 -1
- package/dist/components/hds/filter-bar/tabs/index.js +0 -1
- package/dist/components/hds/filter-bar/tabs/index.js.map +1 -1
- package/dist/components/hds/filter-bar/tabs/tab.js +1 -2
- package/dist/components/hds/filter-bar/tabs/tab.js.map +1 -1
- package/dist/components/hds/filter-bar/types.js +20 -9
- package/dist/components/hds/filter-bar/types.js.map +1 -1
- package/dist/components.js +8 -6
- package/dist/components.js.map +1 -1
- package/dist/helpers/hds-link-to-query.js +0 -1
- package/dist/helpers/hds-link-to-query.js.map +1 -1
- package/dist/styles/@hashicorp/design-system-components.css +190 -1621
- package/dist/styles/components/app-header.scss +6 -9
- package/dist/styles/components/filter-bar.scss +95 -86
- package/dist/styles/components/side-nav/header.scss +4 -12
- package/dist/styles/mixins/_interactive-dark-theme.scss +7 -4
- package/package.json +7 -5
- package/translations/hds/components/filter-bar/date/en-us.yaml +18 -0
- package/translations/hds/components/filter-bar/en-us.yaml +6 -0
- package/translations/hds/components/filter-bar/filter-group/en-us.yaml +1 -0
- package/translations/hds/components/filter-bar/filter-group/numerical/en-us.yaml +15 -0
- package/translations/hds/components/filter-bar/filters-dropdown/en-us.yaml +1 -1
- package/declarations/components/hds/filter-bar/checkbox.d.ts +0 -21
- package/declarations/components/hds/filter-bar/filter-group.d.ts +0 -46
- package/declarations/components/hds/filter-bar/radio.d.ts +0 -21
- package/declarations/components/hds/filter-bar/range.d.ts +0 -33
- package/dist/components/hds/filter-bar/checkbox.js.map +0 -1
- package/dist/components/hds/filter-bar/filter-group.js.map +0 -1
- package/dist/components/hds/filter-bar/filters-dropdown.js.map +0 -1
- package/dist/components/hds/filter-bar/radio.js.map +0 -1
- package/dist/components/hds/filter-bar/range.js +0 -88
- package/dist/components/hds/filter-bar/range.js.map +0 -1
- package/translations/hds/components/filter-bar/range/en-us.yaml +0 -3
|
@@ -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
|
|
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
|
|
26
|
+
export default class HdsFilterBarDropdown extends Component<HdsDropdownSignature & HdsFilterBarDropdownSignature> {
|
|
26
27
|
internalFilters: HdsFilterBarFilters;
|
|
27
|
-
constructor(owner: Owner, 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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
17
|
-
selector:
|
|
18
|
-
value:
|
|
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
|
|
32
|
-
type: '
|
|
45
|
+
export interface HdsFilterBarNumericalFilter {
|
|
46
|
+
type: 'numerical';
|
|
33
47
|
text?: string;
|
|
34
|
-
data:
|
|
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 |
|
|
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
|
|
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
|
|
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" | "
|
|
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
|
|
92
|
-
export { default as
|
|
93
|
-
export { default as
|
|
94
|
-
export { default as
|
|
95
|
-
export { default as
|
|
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
|
|
98
|
-
import type
|
|
99
|
-
import type
|
|
100
|
-
import type
|
|
101
|
-
import type
|
|
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::
|
|
439
|
-
'hds/filter-bar/
|
|
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::
|
|
447
|
-
'hds/filter-bar/
|
|
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/
|
|
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/
|
|
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/
|
|
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;;
|
|
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;;
|
|
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;;;;"}
|