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

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 (53) hide show
  1. package/declarations/components/hds/filter-bar/{filter-group/checkbox.d.ts → checkbox.d.ts} +4 -5
  2. package/declarations/components/hds/filter-bar/{filter-group/date.d.ts → date.d.ts} +6 -6
  3. package/declarations/components/hds/filter-bar/{filter-group/index.d.ts → filter-group.d.ts} +12 -12
  4. package/declarations/components/hds/filter-bar/{dropdown.d.ts → filters-dropdown.d.ts} +4 -4
  5. package/declarations/components/hds/filter-bar/{filter-group/generic.d.ts → generic.d.ts} +3 -3
  6. package/declarations/components/hds/filter-bar/index.d.ts +3 -3
  7. package/declarations/components/hds/filter-bar/{filter-group/radio.d.ts → radio.d.ts} +4 -5
  8. package/declarations/components/hds/filter-bar/{filter-group/numerical.d.ts → range.d.ts} +9 -9
  9. package/declarations/components/hds/filter-bar/types.d.ts +12 -13
  10. package/declarations/components.d.ts +7 -7
  11. package/declarations/template-registry.d.ts +19 -19
  12. package/dist/_app_/components/hds/filter-bar/{dropdown.js → checkbox.js} +1 -1
  13. package/dist/_app_/components/hds/filter-bar/{filter-group/date.js → date.js} +1 -1
  14. package/dist/_app_/components/hds/filter-bar/filter-group.js +1 -1
  15. package/dist/_app_/components/hds/filter-bar/filters-dropdown.js +1 -0
  16. package/dist/_app_/components/hds/filter-bar/{filter-group/generic.js → generic.js} +1 -1
  17. package/dist/_app_/components/hds/filter-bar/{filter-group/radio.js → radio.js} +1 -1
  18. package/dist/_app_/components/hds/filter-bar/range.js +1 -0
  19. package/dist/components/hds/advanced-table/index.js +1 -1
  20. package/dist/components/hds/filter-bar/{filter-group/checkbox.js → checkbox.js} +6 -7
  21. package/dist/components/hds/filter-bar/checkbox.js.map +1 -0
  22. package/dist/components/hds/filter-bar/{filter-group/date.js → date.js} +5 -5
  23. package/dist/components/hds/filter-bar/date.js.map +1 -0
  24. package/dist/components/hds/filter-bar/{filter-group/index.js → filter-group.js} +11 -12
  25. package/dist/components/hds/filter-bar/filter-group.js.map +1 -0
  26. package/dist/components/hds/filter-bar/{dropdown.js → filters-dropdown.js} +7 -7
  27. package/dist/components/hds/filter-bar/filters-dropdown.js.map +1 -0
  28. package/dist/components/hds/filter-bar/{filter-group/generic.js → generic.js} +4 -4
  29. package/dist/components/hds/filter-bar/generic.js.map +1 -0
  30. package/dist/components/hds/filter-bar/index.js +18 -21
  31. package/dist/components/hds/filter-bar/index.js.map +1 -1
  32. package/dist/components/hds/filter-bar/{filter-group/radio.js → radio.js} +6 -7
  33. package/dist/components/hds/filter-bar/radio.js.map +1 -0
  34. package/dist/components/hds/filter-bar/range.js +163 -0
  35. package/dist/components/hds/filter-bar/range.js.map +1 -0
  36. package/dist/components/hds/filter-bar/types.js +10 -10
  37. package/dist/components/hds/filter-bar/types.js.map +1 -1
  38. package/dist/components.js +8 -8
  39. package/dist/styles/@hashicorp/design-system-components.css +77 -62
  40. package/dist/styles/components/filter-bar.scss +90 -74
  41. package/package.json +7 -7
  42. package/translations/hds/components/filter-bar/en-us.yaml +1 -1
  43. package/dist/_app_/components/hds/filter-bar/filter-group/checkbox.js +0 -1
  44. package/dist/_app_/components/hds/filter-bar/filter-group/numerical.js +0 -1
  45. package/dist/components/hds/filter-bar/dropdown.js.map +0 -1
  46. package/dist/components/hds/filter-bar/filter-group/checkbox.js.map +0 -1
  47. package/dist/components/hds/filter-bar/filter-group/date.js.map +0 -1
  48. package/dist/components/hds/filter-bar/filter-group/generic.js.map +0 -1
  49. package/dist/components/hds/filter-bar/filter-group/index.js.map +0 -1
  50. package/dist/components/hds/filter-bar/filter-group/numerical.js +0 -163
  51. package/dist/components/hds/filter-bar/filter-group/numerical.js.map +0 -1
  52. package/dist/components/hds/filter-bar/filter-group/radio.js.map +0 -1
  53. /package/translations/hds/components/filter-bar/{filter-group/numerical → range}/en-us.yaml +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashicorp/design-system-components",
3
- "version": "5.1.0-rc-20251125203828",
3
+ "version": "5.1.0-rc-20251202110410",
4
4
  "description": "Helios Design System Components",
5
5
  "keywords": [
6
6
  "hashicorp",
@@ -219,14 +219,14 @@
219
219
  "./components/hds/dropdown/toggle/button.js": "./dist/_app_/components/hds/dropdown/toggle/button.js",
220
220
  "./components/hds/dropdown/toggle/chevron.js": "./dist/_app_/components/hds/dropdown/toggle/chevron.js",
221
221
  "./components/hds/dropdown/toggle/icon.js": "./dist/_app_/components/hds/dropdown/toggle/icon.js",
222
- "./components/hds/filter-bar/dropdown.js": "./dist/_app_/components/hds/filter-bar/dropdown.js",
223
- "./components/hds/filter-bar/filter-group/checkbox.js": "./dist/_app_/components/hds/filter-bar/filter-group/checkbox.js",
224
- "./components/hds/filter-bar/filter-group/date.js": "./dist/_app_/components/hds/filter-bar/filter-group/date.js",
225
- "./components/hds/filter-bar/filter-group/generic.js": "./dist/_app_/components/hds/filter-bar/filter-group/generic.js",
222
+ "./components/hds/filter-bar/checkbox.js": "./dist/_app_/components/hds/filter-bar/checkbox.js",
223
+ "./components/hds/filter-bar/date.js": "./dist/_app_/components/hds/filter-bar/date.js",
226
224
  "./components/hds/filter-bar/filter-group.js": "./dist/_app_/components/hds/filter-bar/filter-group.js",
227
- "./components/hds/filter-bar/filter-group/numerical.js": "./dist/_app_/components/hds/filter-bar/filter-group/numerical.js",
228
- "./components/hds/filter-bar/filter-group/radio.js": "./dist/_app_/components/hds/filter-bar/filter-group/radio.js",
225
+ "./components/hds/filter-bar/filters-dropdown.js": "./dist/_app_/components/hds/filter-bar/filters-dropdown.js",
226
+ "./components/hds/filter-bar/generic.js": "./dist/_app_/components/hds/filter-bar/generic.js",
229
227
  "./components/hds/filter-bar.js": "./dist/_app_/components/hds/filter-bar.js",
228
+ "./components/hds/filter-bar/radio.js": "./dist/_app_/components/hds/filter-bar/radio.js",
229
+ "./components/hds/filter-bar/range.js": "./dist/_app_/components/hds/filter-bar/range.js",
230
230
  "./components/hds/filter-bar/tabs.js": "./dist/_app_/components/hds/filter-bar/tabs.js",
231
231
  "./components/hds/filter-bar/tabs/panel.js": "./dist/_app_/components/hds/filter-bar/tabs/panel.js",
232
232
  "./components/hds/filter-bar/tabs/tab.js": "./dist/_app_/components/hds/filter-bar/tabs/tab.js",
@@ -2,7 +2,7 @@ search:
2
2
  aria-label: Search filters
3
3
  placeholder: Search
4
4
  filter-text:
5
- numerical-filter:
5
+ range-filter:
6
6
  separator: and
7
7
  date-filter:
8
8
  separator: and
@@ -1 +0,0 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/checkbox";
@@ -1 +0,0 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/filter-bar/filter-group/numerical";
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../../../src/components/hds/filter-bar/dropdown.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport HdsFilterBarFilterGroup from './filter-group/index.ts';\nimport type { HdsFilterBarFilters, HdsFilterBarFilter } from './types.ts';\n\nimport type { HdsDropdownSignature } from '../dropdown/index.ts';\n\nexport interface HdsFilterBarDropdownSignature {\n Args: HdsDropdownSignature['Args'] & {\n filters: HdsFilterBarFilters;\n isLiveFilter: boolean;\n onFilter?: (filters: HdsFilterBarFilters) => void;\n };\n Blocks: {\n default: [\n {\n FilterGroup?: WithBoundArgs<\n typeof HdsFilterBarFilterGroup,\n 'tab' | 'panel' | 'filters' | 'onChange'\n >;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarDropdown extends Component<\n HdsDropdownSignature & HdsFilterBarDropdownSignature\n> {\n @tracked internalFilters: HdsFilterBarFilters = {};\n\n constructor(owner: Owner, args: HdsFilterBarDropdownSignature['Args']) {\n super(owner, args);\n\n const { filters } = this.args;\n\n if (filters) {\n this.internalFilters = { ...filters };\n }\n }\n\n private _syncFilters = modifier(\n (_element, [_filters]: [HdsFilterBarFilters | undefined]) => {\n if (_filters) {\n this.internalFilters = _filters;\n }\n }\n );\n\n get isLiveFilter(): boolean {\n return this.args.isLiveFilter || false;\n }\n\n @action\n onFilter(key: string, keyFilter?: HdsFilterBarFilter): void {\n this.internalFilters = this._updateFilter(key, keyFilter);\n\n if (this.isLiveFilter) {\n this._applyFilters();\n }\n }\n\n @action\n onApply(closeDropdown?: () => void): void {\n this._applyFilters(closeDropdown);\n }\n\n @action\n onClear(closeDropdown?: () => void): void {\n const { onFilter } = this.args;\n this.internalFilters = {};\n\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n }\n\n get classNames(): string {\n const classes = ['hds-filter-bar__dropdown'];\n\n return classes.join(' ');\n }\n\n private _updateFilter(\n key: string,\n keyFilter?: HdsFilterBarFilter\n ): HdsFilterBarFilters {\n const newFilters = {} as HdsFilterBarFilters;\n\n Object.keys(this.internalFilters).forEach((k) => {\n newFilters[k] = JSON.parse(\n JSON.stringify(this.internalFilters[k])\n ) as HdsFilterBarFilter;\n });\n if (\n keyFilter === undefined ||\n (Array.isArray(keyFilter) && keyFilter.length === 0)\n ) {\n delete newFilters[key];\n } else {\n Object.assign(newFilters, { [key]: keyFilter });\n }\n\n return { ...newFilters };\n }\n\n private _applyFilters = (closeDropdown?: () => void): void => {\n const { onFilter } = this.args;\n if (onFilter && typeof onFilter === 'function') {\n onFilter(this.internalFilters);\n }\n\n if (closeDropdown && typeof closeDropdown === 'function') {\n closeDropdown();\n }\n };\n\n private _onClose = (): void => {\n const { filters } = this.args;\n if (filters) {\n this.internalFilters = { ...filters };\n } else {\n this.internalFilters = {};\n }\n };\n}\n"],"names":["HdsFilterBarDropdown","Component","g","prototype","tracked","i","void 0","constructor","owner","args","filters","internalFilters","_syncFilters","modifier","_element","_filters","isLiveFilter","onFilter","key","keyFilter","_updateFilter","_applyFilters","n","action","onApply","closeDropdown","onClear","classNames","classes","join","newFilters","Object","keys","forEach","k","JSON","parse","stringify","undefined","Array","isArray","length","assign","_onClose","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/checkbox.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nimport type { HdsFilterBarFilter } from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupCheckboxSignature {\n Args: {\n value?: string;\n label?: string;\n keyFilter: HdsFilterBarFilter | undefined;\n onChange?: (event: Event, label?: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarFilterGroupCheckbox extends Component<HdsFilterBarFilterGroupCheckboxSignature> {\n @action\n onChange(event: Event): void {\n const { onChange, label } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(event, label);\n }\n }\n\n get isChecked(): boolean {\n const { keyFilter, value } = this.args;\n if (keyFilter && Array.isArray(keyFilter.data)) {\n return keyFilter.data.some((filter) => filter.value === value);\n }\n return false;\n }\n}\n"],"names":["HdsFilterBarFilterGroupCheckbox","Component","onChange","event","label","args","n","prototype","action","isChecked","keyFilter","value","Array","isArray","data","some","filter","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAoBe,MAAMA,+BAA+B,SAASC,SAAS,CAA2C;EAE/GC,QAAQA,CAACC,KAAY,EAAQ;IAC3B,MAAM;MAAED,QAAQ;AAAEE,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACrC,IAAA,IAAIH,QAAQ,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;AAC9CA,MAAAA,QAAQ,CAACC,KAAK,EAAEC,KAAK,CAAC;AACxB,IAAA;AACF,EAAA;AAAC,EAAA;IAAAE,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CANAC,MAAM,CAAA,CAAA;AAAA;EAQP,IAAIC,SAASA,GAAY;IACvB,MAAM;MAAEC,SAAS;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACN,IAAI;IACtC,IAAIK,SAAS,IAAIE,KAAK,CAACC,OAAO,CAACH,SAAS,CAACI,IAAI,CAAC,EAAE;AAC9C,MAAA,OAAOJ,SAAS,CAACI,IAAI,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACL,KAAK,KAAKA,KAAK,CAAC;AAChE,IAAA;AACA,IAAA,OAAO,KAAK;AACd,EAAA;AACF;AAACM,oBAAA,CAAAC,QAAA,EAhBoBlB,+BAA+B,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/date.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport type Owner from '@ember/owner';\nimport { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\n\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type { HdsFormTextInputTypes } from '../../form/text-input/types.ts';\n\nimport type {\n HdsFilterBarFilter,\n HdsFilterBarDateFilterSelector,\n HdsFilterBarDateFilterValue,\n} from '../types.ts';\nimport { HdsFilterBarDateFilterSelectorValues } from '../types.ts';\n\nexport const DATE_SELECTORS: HdsFilterBarDateFilterSelector[] = Object.values(\n HdsFilterBarDateFilterSelectorValues\n);\n\nexport const DATE_SELECTORS_TEXT: Record<\n HdsFilterBarDateFilterSelector,\n string\n> = {\n [HdsFilterBarDateFilterSelectorValues.before]: 'before',\n [HdsFilterBarDateFilterSelectorValues.exactly]: 'exactly',\n [HdsFilterBarDateFilterSelectorValues.after]: 'after',\n [HdsFilterBarDateFilterSelectorValues.between]: 'between',\n};\n\nexport const DATE_SELECTORS_INPUT_TEXT: Record<\n HdsFilterBarDateFilterSelector,\n string\n> = {\n [HdsFilterBarDateFilterSelectorValues.before]: 'Before',\n [HdsFilterBarDateFilterSelectorValues.exactly]: 'Exactly',\n [HdsFilterBarDateFilterSelectorValues.after]: 'After',\n [HdsFilterBarDateFilterSelectorValues.between]: 'Between',\n};\n\nexport interface HdsFilterBarFilterGroupDateSignature {\n Args: {\n keyFilter: HdsFilterBarFilter | undefined;\n type?: 'date' | 'time' | 'datetime';\n onChange?: (\n selector?: HdsFilterBarDateFilterSelector,\n value?: HdsFilterBarDateFilterValue\n ) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarFilterGroupDate extends Component<HdsFilterBarFilterGroupDateSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked private _selector: HdsFilterBarDateFilterSelector | undefined;\n @tracked private _value: string | undefined;\n @tracked private _betweenValueStart: string | undefined;\n @tracked private _betweenValueEnd: string | undefined;\n\n private _selectorValues = DATE_SELECTORS;\n private _selectorInputId = 'selector-input-' + guidFor(this);\n private _valueInputId = 'value-input-' + guidFor(this);\n private _betweenValueStartInputId =\n 'between-value-start-input-' + guidFor(this);\n private _betweenValueEndInputId = 'between-value-end-input-' + guidFor(this);\n\n constructor(\n owner: Owner,\n args: HdsFilterBarFilterGroupDateSignature['Args']\n ) {\n super(owner, args);\n\n const { keyFilter } = this.args;\n if (\n keyFilter &&\n (keyFilter.type === 'date' ||\n keyFilter.type === 'time' ||\n keyFilter.type === 'datetime')\n ) {\n const data = keyFilter.data;\n this._selector = data.selector;\n if (data.selector === 'between') {\n if (\n data.value &&\n typeof data.value === 'object' &&\n 'start' in data.value &&\n 'end' in data.value\n ) {\n this._betweenValueStart = data.value.start;\n this._betweenValueEnd = data.value.end;\n }\n } else {\n this._value = data.value as string;\n }\n }\n }\n\n get type(): 'date' | 'time' | 'datetime' {\n return this.args.type || 'date';\n }\n\n get inputType(): HdsFormTextInputTypes {\n if (this.type === 'datetime') {\n return 'datetime-local';\n }\n return this.type;\n }\n\n get selectorLabelText(): string {\n return this.hdsIntl.t(`hds.components.filter-bar.date.${this.type}.label`, {\n default: 'Date is',\n });\n }\n\n @action\n onSelectorChange(event: Event): void {\n const select = event.target as HTMLSelectElement;\n this._selector = select.value as HdsFilterBarDateFilterSelector;\n if (this._selector === 'between') {\n this._value = undefined;\n } else {\n this._betweenValueStart = undefined;\n this._betweenValueEnd = undefined;\n }\n this._onChange();\n }\n\n @action\n onValueChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._value = input.value;\n this._onChange();\n }\n\n @action\n onBetweenValueStartChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._betweenValueStart = input.value;\n this._onChange();\n }\n\n @action\n onBetweenValueEndChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._betweenValueEnd = input.value;\n this._onChange();\n }\n\n @action\n onClear(): void {\n this._resetInputValues();\n this._onChange();\n }\n\n private _onChange(): void {\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n if (\n this._selector === 'between' &&\n this._betweenValueStart !== undefined &&\n this._betweenValueEnd !== undefined\n ) {\n onChange(this._selector, {\n start: this._betweenValueStart,\n end: this._betweenValueEnd,\n });\n } else {\n onChange(this._selector, this._value);\n }\n }\n }\n\n private _selectorText = (\n selector: HdsFilterBarDateFilterSelector\n ): string => {\n return this.hdsIntl.t(\n `hds.components.filter-bar.date.selector-input.${selector}`,\n {\n default: DATE_SELECTORS_INPUT_TEXT[selector],\n }\n );\n };\n\n private _resetInputValues = (): void => {\n this._selector = undefined;\n this._value = undefined;\n this._betweenValueStart = undefined;\n this._betweenValueEnd = undefined;\n };\n}\n"],"names":["DATE_SELECTORS","Object","values","HdsFilterBarDateFilterSelectorValues","DATE_SELECTORS_TEXT","before","exactly","after","between","DATE_SELECTORS_INPUT_TEXT","HdsFilterBarFilterGroupDate","Component","g","prototype","service","i","void 0","tracked","_selectorValues","_selectorInputId","guidFor","_valueInputId","_betweenValueStartInputId","_betweenValueEndInputId","constructor","owner","args","keyFilter","type","data","_selector","selector","value","_betweenValueStart","start","_betweenValueEnd","end","_value","inputType","selectorLabelText","hdsIntl","t","default","onSelectorChange","event","select","target","undefined","_onChange","n","action","onValueChange","input","onBetweenValueStartChange","onBetweenValueEndChange","onClear","_resetInputValues","onChange","_selectorText","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/generic.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nimport type {\n HdsFilterBarFilter,\n HdsFilterBarGenericFilter,\n} from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupGenericSignature {\n Args: {\n keyFilter: HdsFilterBarFilter | undefined;\n onChange?: (filter?: HdsFilterBarGenericFilter) => void;\n };\n Blocks: {\n default: [\n {\n updateFilter: (filter: HdsFilterBarGenericFilter) => void;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarFilterGroupGeneric extends Component<HdsFilterBarFilterGroupGenericSignature> {\n @action\n updateFilter(filter: HdsFilterBarGenericFilter): void {\n console.log('Update filter action triggered', filter);\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(filter);\n }\n }\n\n @action\n onClear(): void {\n console.log('Clear action triggered');\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange();\n }\n }\n}\n"],"names":["HdsFilterBarFilterGroupGeneric","Component","updateFilter","filter","console","log","onChange","args","n","prototype","action","onClear","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAyBe,MAAMA,8BAA8B,SAASC,SAAS,CAA0C;EAE7GC,YAAYA,CAACC,MAAiC,EAAQ;AACpDC,IAAAA,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEF,MAAM,CAAC;IACrD,MAAM;AAAEG,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAC9B,IAAA,IAAID,QAAQ,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;MAC9CA,QAAQ,CAACH,MAAM,CAAC;AAClB,IAAA;AACF,EAAA;AAAC,EAAA;IAAAK,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,cAAA,EAAA,CAPAC,MAAM,CAAA,CAAA;AAAA;AAUPC,EAAAA,OAAOA,GAAS;AACdP,IAAAA,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACrC,MAAM;AAAEC,MAAAA;KAAU,GAAG,IAAI,CAACC,IAAI;AAC9B,IAAA,IAAID,QAAQ,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;AAC9CA,MAAAA,QAAQ,EAAE;AACZ,IAAA;AACF,EAAA;AAAC,EAAA;IAAAE,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,SAAA,EAAA,CAPAC,MAAM,CAAA,CAAA;AAAA;AAQT;AAACE,oBAAA,CAAAC,QAAA,EAlBoBb,8BAA8B,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { modifier } from 'ember-modifier';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport HdsFilterBarTabsTab from '../tabs/tab.ts';\nimport HdsFilterBarTabsPanel from '../tabs/panel.ts';\nimport type { HdsTabsPanelSignature } from '../../tabs/panel.ts';\n\nimport HdsFilterBarFilterGroupGeneric from './generic.ts';\nimport HdsFilterBarFilterGroupCheckbox from './checkbox.ts';\nimport HdsFilterBarFilterGroupRadio from './radio.ts';\n\nimport type {\n HdsFilterBarFilter,\n HdsFilterBarFilters,\n HdsFilterBarFilterType,\n HdsFilterBarData,\n HdsFilterBarGenericFilter,\n HdsFilterBarGenericFilterData,\n HdsFilterBarNumericalFilterData,\n HdsFilterBarNumericalFilterSelector,\n HdsFilterBarNumericalFilterValue,\n HdsFilterBarDateFilterData,\n HdsFilterBarDateFilterSelector,\n HdsFilterBarDateFilterValue,\n} from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupSignature {\n Args: {\n tab?: WithBoundArgs<typeof HdsFilterBarTabsTab, never>;\n panel?: WithBoundArgs<typeof HdsFilterBarTabsPanel, never>;\n key: string;\n text: string;\n type?: HdsFilterBarFilterType;\n filters: HdsFilterBarFilters;\n searchEnabled?: boolean;\n onChange: (key: string, keyFilter?: HdsFilterBarFilter) => void;\n };\n Blocks: {\n default: [\n {\n Generic?: WithBoundArgs<\n typeof HdsFilterBarFilterGroupGeneric,\n 'keyFilter'\n >;\n Checkbox?: WithBoundArgs<\n typeof HdsFilterBarFilterGroupCheckbox,\n 'keyFilter' | 'onChange'\n >;\n Radio?: WithBoundArgs<\n typeof HdsFilterBarFilterGroupRadio,\n 'keyFilter' | 'onChange'\n >;\n },\n ];\n };\n Element: HdsTabsPanelSignature['Element'];\n}\n\nexport default class HdsFilterBarFilterGroup extends Component<HdsFilterBarFilterGroupSignature> {\n @tracked internalFilters: HdsFilterBarData | undefined = [];\n\n private _panelElement!: HdsTabsPanelSignature['Element'];\n\n private _setUpFilterPanel = modifier(\n (element: HdsTabsPanelSignature['Element']) => {\n this._panelElement = element;\n\n if (this.keyFilter) {\n this.internalFilters = JSON.parse(\n JSON.stringify(this.keyFilter.data)\n ) as HdsFilterBarData;\n }\n }\n );\n\n get type(): HdsFilterBarFilterType {\n const { type } = this.args;\n\n if (!type) {\n return 'multi-select';\n }\n return type;\n }\n\n get keyFilter(): HdsFilterBarFilter | undefined {\n const { filters, key } = this.args;\n\n if (!filters) {\n return undefined;\n }\n return filters[key];\n }\n\n get numFilters(): number {\n const { filters, key } = this.args;\n if (filters && key in filters) {\n const keyFilters = filters[key]?.data;\n if (Array.isArray(keyFilters)) {\n return keyFilters.length;\n } else if (keyFilters) {\n return 1;\n }\n }\n return 0;\n }\n\n @action\n onSelectionChange(event: Event, label?: string): void {\n const addFilter = (value: unknown): void => {\n const newFilter = {\n value: value,\n label: label,\n } as HdsFilterBarGenericFilterData;\n if (this.type === 'single-select') {\n this.internalFilters = newFilter;\n } else {\n if (Array.isArray(this.internalFilters)) {\n this.internalFilters.push(newFilter);\n } else {\n this.internalFilters = [newFilter];\n }\n }\n };\n\n const removeFilter = (value: string): void => {\n if (this.type === 'single-select') {\n this.internalFilters = undefined;\n } else {\n if (Array.isArray(this.internalFilters)) {\n const newFilter = [] as HdsFilterBarGenericFilterData[];\n this.internalFilters.forEach((filter) => {\n if (filter.value != value) {\n newFilter.push(filter);\n }\n });\n this.internalFilters = newFilter;\n } else {\n this.internalFilters = [];\n }\n }\n };\n\n const input = event.target as HTMLInputElement;\n\n if (input.checked) {\n addFilter(input.value);\n } else {\n removeFilter(input.value);\n }\n\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(this.args.key, this.formattedFilters);\n }\n }\n\n @action\n onNumericalChange(\n selector?: HdsFilterBarNumericalFilterSelector,\n value?: HdsFilterBarNumericalFilterValue\n ): void {\n const addFilter = (): HdsFilterBarData => {\n const newFilter = {\n selector: selector,\n value: value,\n } as HdsFilterBarNumericalFilterData;\n return newFilter;\n };\n\n if (selector && value) {\n this.internalFilters = addFilter();\n } else {\n this.internalFilters = undefined;\n }\n\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(this.args.key, this.formattedFilters);\n }\n }\n\n @action\n onDateChange(\n selector?: HdsFilterBarDateFilterSelector,\n value?: HdsFilterBarDateFilterValue\n ): void {\n const addFilter = (): HdsFilterBarData => {\n const newFilter = {\n selector: selector,\n value: value,\n } as HdsFilterBarDateFilterData;\n return newFilter;\n };\n\n if (selector && value) {\n this.internalFilters = addFilter();\n } else {\n this.internalFilters = undefined;\n }\n\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(this.args.key, this.formattedFilters);\n }\n }\n\n @action\n onGenericChange(filter?: HdsFilterBarGenericFilter): void {\n if (filter) {\n this.internalFilters = filter.data;\n filter.text = this.args.text;\n } else {\n this.internalFilters = undefined;\n }\n\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(this.args.key, filter);\n }\n }\n\n @action\n onClear(): void {\n this.internalFilters = undefined;\n\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(this.args.key, this.formattedFilters);\n }\n }\n\n get formattedFilters(): HdsFilterBarFilter | undefined {\n if (\n this.internalFilters === undefined ||\n (Array.isArray(this.internalFilters) && this.internalFilters.length === 0)\n ) {\n return undefined;\n }\n return {\n type: this.type,\n text: this.args.text,\n data: this.internalFilters,\n } as HdsFilterBarFilter;\n }\n\n get classNames(): string {\n const classes = ['hds-filter-bar__filter-group'];\n\n classes.push(`hds-filter-bar__dropdown--type-${this.type}`);\n\n return classes.join(' ');\n }\n\n private onSearch = (event: Event) => {\n const listItems = this._panelElement.querySelectorAll(\n '.hds-filter-bar__filter-group__selection-option'\n );\n const input = event.target as HTMLInputElement;\n listItems.forEach((item) => {\n if (item.textContent) {\n const text = item.textContent.toLowerCase();\n const searchText = input.value.toLowerCase();\n if (text.includes(searchText)) {\n item.classList.remove(\n 'hds-filter-bar__filter-group__selection-option--hidden'\n );\n } else {\n item.classList.add(\n 'hds-filter-bar__filter-group__selection-option--hidden'\n );\n }\n }\n });\n };\n}\n"],"names":["HdsFilterBarFilterGroup","Component","g","prototype","tracked","i","void 0","_panelElement","_setUpFilterPanel","modifier","element","keyFilter","internalFilters","JSON","parse","stringify","data","type","args","filters","key","undefined","numFilters","keyFilters","Array","isArray","length","onSelectionChange","event","label","addFilter","value","newFilter","push","removeFilter","forEach","filter","input","target","checked","onChange","formattedFilters","n","action","onNumericalChange","selector","onDateChange","onGenericChange","text","onClear","classNames","classes","join","onSearch","listItems","querySelectorAll","item","textContent","toLowerCase","searchText","includes","classList","remove","add","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1,163 +0,0 @@
1
- import Component from '@glimmer/component';
2
- import { action } from '@ember/object';
3
- import { tracked } from '@glimmer/tracking';
4
- import { guidFor } from '@ember/object/internals';
5
- import { service } from '@ember/service';
6
- import { HdsFilterBarNumericalFilterSelectorValues } from '../types.js';
7
- import { precompileTemplate } from '@ember/template-compilation';
8
- import { g, i, n } from 'decorator-transforms/runtime';
9
- import { setComponentTemplate } from '@ember/component';
10
-
11
- var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class=\"hds-filter-bar__filter-group__numerical\">\n <Hds::Layout::Flex class=\"hds-filter-bar__filter-group__fields\" @direction=\"column\" @gap=\"16\">\n <Hds::Form::Select::Field\n @id={{this._selectorInputId}}\n class=\"hds-filter-bar__filter-group__field\"\n {{on \"change\" this.onSelectorChange}}\n as |F|\n >\n <F.Label>\n {{hds-t \"hds.components.filter-bar.filter-group.numerical.label\" default=\"Number is\"}}\n </F.Label>\n <F.Options>\n <option value=\"\">{{hds-t\n \"hds.components.filter-bar.filter-group.numerical.selector-input.default-value\"\n default=\"Pick a selector\"\n }}</option>\n {{#each this._selectorValues as |selectorValue|}}\n <option value={{selectorValue}} selected={{eq selectorValue this._selector}}>{{this._selectorText\n selectorValue\n }}</option>\n {{/each}}\n </F.Options>\n </Hds::Form::Select::Field>\n {{#if (eq this._selector \"between\")}}\n <Hds::Layout::Flex @gap=\"8\">\n <Hds::Form::TextInput::Base\n @id={{this._betweenValueStartInputId}}\n @type=\"text\"\n @value={{this.stringBetweenValueStart}}\n placeholder={{hds-t \"hds.components.filter-bar.between-value-inputs.start-placeholder\" default=\"Start\"}}\n class=\"hds-filter-bar__filter-group__field\"\n {{on \"change\" this.onBetweenValueStartChange}}\n />\n <Hds::Form::TextInput::Base\n @id={{this._betweenValueEndInputId}}\n @type=\"text\"\n @value={{this.stringBetweenValueEnd}}\n placeholder={{hds-t \"hds.components.filter-bar.between-value-inputs.end-placeholder\" default=\"End\"}}\n class=\"hds-filter-bar__filter-group__field\"\n {{on \"change\" this.onBetweenValueEndChange}}\n />\n </Hds::Layout::Flex>\n {{else}}\n <Hds::Form::TextInput::Base\n @id={{this._valueInputId}}\n @type=\"text\"\n @value={{this.stringValue}}\n placeholder={{hds-t\n \"hds.components.filter-bar.filter-group.numerical.value-input.placeholder\"\n default=\"Enter a value\"\n }}\n class=\"hds-filter-bar__filter-group__field\"\n {{on \"change\" this.onValueChange}}\n />\n {{/if}}\n </Hds::Layout::Flex>\n <div class=\"hds-filter-bar__filter-group__clear\">\n <Hds::Button\n @text={{hds-t \"hds.components.filter-bar.filter-group.numerical.clear\" default=\"Clear filter\"}}\n @color=\"tertiary\"\n @icon=\"rotate-ccw\"\n @isInline={{true}}\n {{on \"click\" this.onClear}}\n />\n </div>\n</div>");
12
-
13
- /**
14
- * Copyright (c) HashiCorp, Inc.
15
- * SPDX-License-Identifier: MPL-2.0
16
- */
17
-
18
- const NUMERICAL_SELECTORS = Object.values(HdsFilterBarNumericalFilterSelectorValues);
19
- const NUMERICAL_SELECTORS_TEXT = {
20
- [HdsFilterBarNumericalFilterSelectorValues.lessThan]: '<',
21
- [HdsFilterBarNumericalFilterSelectorValues.lessThanOrEqualTo]: '≤',
22
- [HdsFilterBarNumericalFilterSelectorValues.equalTo]: '=',
23
- [HdsFilterBarNumericalFilterSelectorValues.greaterThanOrEqualTo]: '≥',
24
- [HdsFilterBarNumericalFilterSelectorValues.greaterThan]: '>',
25
- [HdsFilterBarNumericalFilterSelectorValues.between]: 'between'
26
- };
27
- const NUMERICAL_SELECTORS_INPUT_TEXT = {
28
- [HdsFilterBarNumericalFilterSelectorValues.lessThan]: 'Less than (<)',
29
- [HdsFilterBarNumericalFilterSelectorValues.lessThanOrEqualTo]: 'Less than or equal to (≤)',
30
- [HdsFilterBarNumericalFilterSelectorValues.equalTo]: 'Equal to (=)',
31
- [HdsFilterBarNumericalFilterSelectorValues.greaterThanOrEqualTo]: 'Greater than or equal to (≥)',
32
- [HdsFilterBarNumericalFilterSelectorValues.greaterThan]: 'Greater than (>)',
33
- [HdsFilterBarNumericalFilterSelectorValues.between]: 'Between'
34
- };
35
- class HdsFilterBarFilterGroupNumerical extends Component {
36
- static {
37
- g(this.prototype, "hdsIntl", [service]);
38
- }
39
- #hdsIntl = (i(this, "hdsIntl"), void 0);
40
- static {
41
- g(this.prototype, "_selector", [tracked]);
42
- }
43
- #_selector = (i(this, "_selector"), void 0);
44
- static {
45
- g(this.prototype, "_value", [tracked]);
46
- }
47
- #_value = (i(this, "_value"), void 0);
48
- static {
49
- g(this.prototype, "_betweenValueStart", [tracked]);
50
- }
51
- #_betweenValueStart = (i(this, "_betweenValueStart"), void 0);
52
- static {
53
- g(this.prototype, "_betweenValueEnd", [tracked]);
54
- }
55
- #_betweenValueEnd = (i(this, "_betweenValueEnd"), void 0);
56
- _selectorValues = NUMERICAL_SELECTORS;
57
- _selectorInputId = 'selector-input-' + guidFor(this);
58
- _valueInputId = 'value-input-' + guidFor(this);
59
- _betweenValueStartInputId = 'between-value-start-input-' + guidFor(this);
60
- _betweenValueEndInputId = 'between-value-end-input-' + guidFor(this);
61
- constructor(owner, args) {
62
- super(owner, args);
63
- const {
64
- keyFilter
65
- } = this.args;
66
- if (keyFilter && keyFilter.type === 'numerical') {
67
- const data = keyFilter.data;
68
- this._selector = data?.selector;
69
- if (data.selector === 'between') {
70
- if (data.value && typeof data.value === 'object') {
71
- this._betweenValueStart = Number(data.value.start);
72
- this._betweenValueEnd = Number(data.value.end);
73
- }
74
- } else {
75
- this._value = Number(data.value);
76
- }
77
- }
78
- }
79
- get stringValue() {
80
- return this._value !== undefined ? this._value.toString() : undefined;
81
- }
82
- get stringBetweenValueStart() {
83
- return this._betweenValueStart !== undefined ? this._betweenValueStart.toString() : undefined;
84
- }
85
- get stringBetweenValueEnd() {
86
- return this._betweenValueEnd !== undefined ? this._betweenValueEnd.toString() : undefined;
87
- }
88
- onSelectorChange(event) {
89
- const select = event.target;
90
- this._selector = select.value;
91
- if (this._selector === 'between') {
92
- this._value = undefined;
93
- } else {
94
- this._betweenValueStart = undefined;
95
- this._betweenValueEnd = undefined;
96
- }
97
- this._onChange();
98
- }
99
- static {
100
- n(this.prototype, "onSelectorChange", [action]);
101
- }
102
- onValueChange(event) {
103
- const input = event.target;
104
- this._value = parseFloat(input.value);
105
- this._onChange();
106
- }
107
- static {
108
- n(this.prototype, "onValueChange", [action]);
109
- }
110
- onBetweenValueStartChange(event) {
111
- const input = event.target;
112
- this._betweenValueStart = parseFloat(input.value);
113
- this._onChange();
114
- }
115
- static {
116
- n(this.prototype, "onBetweenValueStartChange", [action]);
117
- }
118
- onBetweenValueEndChange(event) {
119
- const input = event.target;
120
- this._betweenValueEnd = parseFloat(input.value);
121
- this._onChange();
122
- }
123
- static {
124
- n(this.prototype, "onBetweenValueEndChange", [action]);
125
- }
126
- onClear() {
127
- this._resetInputValues();
128
- this._onChange();
129
- }
130
- static {
131
- n(this.prototype, "onClear", [action]);
132
- }
133
- _onChange() {
134
- const {
135
- onChange
136
- } = this.args;
137
- if (onChange && typeof onChange === 'function') {
138
- if (this._selector === 'between' && this._betweenValueStart !== undefined && this._betweenValueEnd !== undefined) {
139
- onChange(this._selector, {
140
- start: this._betweenValueStart,
141
- end: this._betweenValueEnd
142
- });
143
- } else {
144
- onChange(this._selector, this._value);
145
- }
146
- }
147
- }
148
- _selectorText = selector => {
149
- return this.hdsIntl.t(`hds.components.filter-bar.filter-group.numerical.selector-input.${selector}`, {
150
- default: NUMERICAL_SELECTORS_INPUT_TEXT[selector]
151
- });
152
- };
153
- _resetInputValues = () => {
154
- this._selector = undefined;
155
- this._value = undefined;
156
- this._betweenValueStart = undefined;
157
- this._betweenValueEnd = undefined;
158
- };
159
- }
160
- setComponentTemplate(TEMPLATE, HdsFilterBarFilterGroupNumerical);
161
-
162
- export { NUMERICAL_SELECTORS, NUMERICAL_SELECTORS_INPUT_TEXT, NUMERICAL_SELECTORS_TEXT, HdsFilterBarFilterGroupNumerical as default };
163
- //# sourceMappingURL=numerical.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numerical.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/numerical.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport type Owner from '@ember/owner';\nimport { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\n\nimport type HdsIntlService from '../../../../services/hds-intl';\nimport type {\n HdsFilterBarFilter,\n HdsFilterBarNumericalFilterSelector,\n HdsFilterBarNumericalFilterValue,\n} from '../types.ts';\nimport { HdsFilterBarNumericalFilterSelectorValues } from '../types.ts';\n\nexport const NUMERICAL_SELECTORS: HdsFilterBarNumericalFilterSelector[] =\n Object.values(HdsFilterBarNumericalFilterSelectorValues);\n\nexport const NUMERICAL_SELECTORS_TEXT: Record<\n HdsFilterBarNumericalFilterSelector,\n string\n> = {\n [HdsFilterBarNumericalFilterSelectorValues.lessThan]: '<',\n [HdsFilterBarNumericalFilterSelectorValues.lessThanOrEqualTo]: '≤',\n [HdsFilterBarNumericalFilterSelectorValues.equalTo]: '=',\n [HdsFilterBarNumericalFilterSelectorValues.greaterThanOrEqualTo]: '≥',\n [HdsFilterBarNumericalFilterSelectorValues.greaterThan]: '>',\n [HdsFilterBarNumericalFilterSelectorValues.between]: 'between',\n};\n\nexport const NUMERICAL_SELECTORS_INPUT_TEXT: Record<\n HdsFilterBarNumericalFilterSelector,\n string\n> = {\n [HdsFilterBarNumericalFilterSelectorValues.lessThan]: 'Less than (<)',\n [HdsFilterBarNumericalFilterSelectorValues.lessThanOrEqualTo]:\n 'Less than or equal to (≤)',\n [HdsFilterBarNumericalFilterSelectorValues.equalTo]: 'Equal to (=)',\n [HdsFilterBarNumericalFilterSelectorValues.greaterThanOrEqualTo]:\n 'Greater than or equal to (≥)',\n [HdsFilterBarNumericalFilterSelectorValues.greaterThan]: 'Greater than (>)',\n [HdsFilterBarNumericalFilterSelectorValues.between]: 'Between',\n};\n\nexport interface HdsFilterBarFilterGroupNumericalSignature {\n Args: {\n keyFilter: HdsFilterBarFilter | undefined;\n onChange?: (\n selector?: HdsFilterBarNumericalFilterSelector,\n value?: HdsFilterBarNumericalFilterValue\n ) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarFilterGroupNumerical extends Component<HdsFilterBarFilterGroupNumericalSignature> {\n @service hdsIntl!: HdsIntlService;\n\n @tracked private _selector: HdsFilterBarNumericalFilterSelector | undefined;\n @tracked private _value: number | undefined;\n @tracked private _betweenValueStart: number | undefined;\n @tracked private _betweenValueEnd: number | undefined;\n\n private _selectorValues = NUMERICAL_SELECTORS;\n private _selectorInputId = 'selector-input-' + guidFor(this);\n private _valueInputId = 'value-input-' + guidFor(this);\n private _betweenValueStartInputId =\n 'between-value-start-input-' + guidFor(this);\n private _betweenValueEndInputId = 'between-value-end-input-' + guidFor(this);\n\n constructor(\n owner: Owner,\n args: HdsFilterBarFilterGroupNumericalSignature['Args']\n ) {\n super(owner, args);\n\n const { keyFilter } = this.args;\n if (keyFilter && keyFilter.type === 'numerical') {\n const data = keyFilter.data;\n this._selector = data?.selector;\n if (data.selector === 'between') {\n if (data.value && typeof data.value === 'object') {\n this._betweenValueStart = Number(data.value.start);\n this._betweenValueEnd = Number(data.value.end);\n }\n } else {\n this._value = Number(data.value);\n }\n }\n }\n\n get stringValue(): string | undefined {\n return this._value !== undefined ? this._value.toString() : undefined;\n }\n\n get stringBetweenValueStart(): string | undefined {\n return this._betweenValueStart !== undefined\n ? this._betweenValueStart.toString()\n : undefined;\n }\n\n get stringBetweenValueEnd(): string | undefined {\n return this._betweenValueEnd !== undefined\n ? this._betweenValueEnd.toString()\n : undefined;\n }\n\n @action\n onSelectorChange(event: Event): void {\n const select = event.target as HTMLSelectElement;\n this._selector = select.value as HdsFilterBarNumericalFilterSelector;\n if (this._selector === 'between') {\n this._value = undefined;\n } else {\n this._betweenValueStart = undefined;\n this._betweenValueEnd = undefined;\n }\n this._onChange();\n }\n\n @action\n onValueChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._value = parseFloat(input.value);\n this._onChange();\n }\n\n @action\n onBetweenValueStartChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._betweenValueStart = parseFloat(input.value);\n this._onChange();\n }\n\n @action\n onBetweenValueEndChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._betweenValueEnd = parseFloat(input.value);\n this._onChange();\n }\n\n @action\n onClear(): void {\n this._resetInputValues();\n this._onChange();\n }\n\n private _onChange(): void {\n const { onChange } = this.args;\n if (onChange && typeof onChange === 'function') {\n if (\n this._selector === 'between' &&\n this._betweenValueStart !== undefined &&\n this._betweenValueEnd !== undefined\n ) {\n onChange(this._selector, {\n start: this._betweenValueStart,\n end: this._betweenValueEnd,\n });\n } else {\n onChange(this._selector, this._value);\n }\n }\n }\n\n private _selectorText = (\n selector: HdsFilterBarNumericalFilterSelector\n ): string => {\n return this.hdsIntl.t(\n `hds.components.filter-bar.filter-group.numerical.selector-input.${selector}`,\n {\n default: NUMERICAL_SELECTORS_INPUT_TEXT[selector],\n }\n );\n };\n\n private _resetInputValues = (): void => {\n this._selector = undefined;\n this._value = undefined;\n this._betweenValueStart = undefined;\n this._betweenValueEnd = undefined;\n };\n}\n"],"names":["NUMERICAL_SELECTORS","Object","values","HdsFilterBarNumericalFilterSelectorValues","NUMERICAL_SELECTORS_TEXT","lessThan","lessThanOrEqualTo","equalTo","greaterThanOrEqualTo","greaterThan","between","NUMERICAL_SELECTORS_INPUT_TEXT","HdsFilterBarFilterGroupNumerical","Component","g","prototype","service","i","void 0","tracked","_selectorValues","_selectorInputId","guidFor","_valueInputId","_betweenValueStartInputId","_betweenValueEndInputId","constructor","owner","args","keyFilter","type","data","_selector","selector","value","_betweenValueStart","Number","start","_betweenValueEnd","end","_value","stringValue","undefined","toString","stringBetweenValueStart","stringBetweenValueEnd","onSelectorChange","event","select","target","_onChange","n","action","onValueChange","input","parseFloat","onBetweenValueStartChange","onBetweenValueEndChange","onClear","_resetInputValues","onChange","_selectorText","hdsIntl","t","default","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio.js","sources":["../../../../../src/components/hds/filter-bar/filter-group/radio.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nimport type { HdsFilterBarFilter } from '../types.ts';\n\nexport interface HdsFilterBarFilterGroupRadioSignature {\n Args: {\n value?: string;\n label?: string;\n keyFilter: HdsFilterBarFilter | undefined;\n onChange?: (event: Event, label?: string) => void;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsFilterBarFilterGroupRadio extends Component<HdsFilterBarFilterGroupRadioSignature> {\n @action\n onChange(event: Event): void {\n const { onChange, label } = this.args;\n if (onChange && typeof onChange === 'function') {\n onChange(event, label);\n }\n }\n\n get isChecked(): boolean {\n const { keyFilter, value } = this.args;\n if (\n keyFilter &&\n keyFilter.type === 'single-select' &&\n value &&\n 'value' in keyFilter.data\n ) {\n return keyFilter.data.value === value;\n }\n return false;\n }\n}\n"],"names":["HdsFilterBarFilterGroupRadio","Component","onChange","event","label","args","n","prototype","action","isChecked","keyFilter","value","type","data","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAoBe,MAAMA,4BAA4B,SAASC,SAAS,CAAwC;EAEzGC,QAAQA,CAACC,KAAY,EAAQ;IAC3B,MAAM;MAAED,QAAQ;AAAEE,MAAAA;KAAO,GAAG,IAAI,CAACC,IAAI;AACrC,IAAA,IAAIH,QAAQ,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;AAC9CA,MAAAA,QAAQ,CAACC,KAAK,EAAEC,KAAK,CAAC;AACxB,IAAA;AACF,EAAA;AAAC,EAAA;IAAAE,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,UAAA,EAAA,CANAC,MAAM,CAAA,CAAA;AAAA;EAQP,IAAIC,SAASA,GAAY;IACvB,MAAM;MAAEC,SAAS;AAAEC,MAAAA;KAAO,GAAG,IAAI,CAACN,IAAI;AACtC,IAAA,IACEK,SAAS,IACTA,SAAS,CAACE,IAAI,KAAK,eAAe,IAClCD,KAAK,IACL,OAAO,IAAID,SAAS,CAACG,IAAI,EACzB;AACA,MAAA,OAAOH,SAAS,CAACG,IAAI,CAACF,KAAK,KAAKA,KAAK;AACvC,IAAA;AACA,IAAA,OAAO,KAAK;AACd,EAAA;AACF;AAACG,oBAAA,CAAAC,QAAA,EArBoBf,4BAA4B,CAAA;;;;"}