@cloudscape-design/components 3.0.87 → 3.0.89

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 (71) hide show
  1. package/checkbox/internal.d.ts +0 -1
  2. package/checkbox/internal.d.ts.map +1 -1
  3. package/checkbox/internal.js +9 -11
  4. package/checkbox/internal.js.map +1 -1
  5. package/date-picker/index.js +1 -1
  6. package/date-picker/index.js.map +1 -1
  7. package/date-picker/styles.css.js +7 -6
  8. package/date-picker/styles.scoped.css +14 -7
  9. package/date-picker/styles.selectors.js +7 -6
  10. package/date-range-picker/dropdown.js +1 -1
  11. package/date-range-picker/dropdown.js.map +1 -1
  12. package/date-range-picker/styles.css.js +37 -36
  13. package/date-range-picker/styles.scoped.css +48 -44
  14. package/date-range-picker/styles.selectors.js +37 -36
  15. package/header/styles.css.js +40 -40
  16. package/header/styles.scoped.css +45 -43
  17. package/header/styles.selectors.js +40 -40
  18. package/hotspot/index.d.ts.map +1 -1
  19. package/hotspot/index.js +2 -2
  20. package/hotspot/index.js.map +1 -1
  21. package/internal/components/abstract-switch/index.d.ts +2 -2
  22. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  23. package/internal/components/abstract-switch/index.js +2 -9
  24. package/internal/components/abstract-switch/index.js.map +1 -1
  25. package/internal/components/abstract-switch/styles.css.js +12 -12
  26. package/internal/components/abstract-switch/styles.scoped.css +20 -19
  27. package/internal/components/abstract-switch/styles.selectors.js +12 -12
  28. package/internal/components/focus-lock/index.d.ts +2 -1
  29. package/internal/components/focus-lock/index.d.ts.map +1 -1
  30. package/internal/components/focus-lock/index.js +2 -2
  31. package/internal/components/focus-lock/index.js.map +1 -1
  32. package/internal/components/screenreader-only/index.js +1 -1
  33. package/internal/components/screenreader-only/index.js.map +1 -1
  34. package/internal/environment.js +1 -1
  35. package/package.json +1 -1
  36. package/property-filter/controller.d.ts +4 -7
  37. package/property-filter/controller.d.ts.map +1 -1
  38. package/property-filter/controller.js +3 -2
  39. package/property-filter/controller.js.map +1 -1
  40. package/property-filter/filter-options.d.ts +3 -0
  41. package/property-filter/filter-options.d.ts.map +1 -0
  42. package/property-filter/filter-options.js +31 -0
  43. package/property-filter/filter-options.js.map +1 -0
  44. package/property-filter/index.d.ts.map +1 -1
  45. package/property-filter/index.js +0 -5
  46. package/property-filter/index.js.map +1 -1
  47. package/property-filter/property-filter-autosuggest.d.ts.map +1 -1
  48. package/property-filter/property-filter-autosuggest.js +9 -7
  49. package/property-filter/property-filter-autosuggest.js.map +1 -1
  50. package/property-filter/styles.css.js +33 -32
  51. package/property-filter/styles.scoped.css +38 -34
  52. package/property-filter/styles.selectors.js +33 -32
  53. package/radio-group/radio-button.d.ts +3 -3
  54. package/radio-group/radio-button.d.ts.map +1 -1
  55. package/radio-group/radio-button.js +18 -6
  56. package/radio-group/radio-button.js.map +1 -1
  57. package/select/parts/trigger.d.ts.map +1 -1
  58. package/select/parts/trigger.js +8 -2
  59. package/select/parts/trigger.js.map +1 -1
  60. package/table/selection-control/index.js +1 -1
  61. package/table/selection-control/index.js.map +1 -1
  62. package/tiles/internal.d.ts.map +1 -1
  63. package/tiles/internal.js +2 -9
  64. package/tiles/internal.js.map +1 -1
  65. package/tiles/tile.d.ts +12 -0
  66. package/tiles/tile.d.ts.map +1 -0
  67. package/tiles/tile.js +27 -0
  68. package/tiles/tile.js.map +1 -0
  69. package/toggle/internal.d.ts.map +1 -1
  70. package/toggle/internal.js +7 -1
  71. package/toggle/internal.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/property-filter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ComparisonOperator,\n ExtendedOperatorForm,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n JoinOperation,\n ParsedText,\n Query,\n Token,\n} from './interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { matchFilteringProperty, matchOperator, matchOperatorPrefix, trimFirstSpace, trimStart } from './utils';\nimport { AutosuggestInputRef } from '../internal/components/autosuggest-input';\n\nexport const getQueryActions = (\n query: Query,\n onChange: NonCancelableEventHandler<Query>,\n inputRef: React.RefObject<AutosuggestInputRef>\n) => {\n const { tokens, operation } = query;\n const fireOnChange = (tokens: readonly Token[], operation: JoinOperation) =>\n fireNonCancelableEvent(onChange, { tokens, operation });\n const setToken = (index: number, newToken: Token) => {\n const newTokens = [...tokens];\n if (newTokens && index < newTokens.length) {\n newTokens[index] = newToken;\n }\n fireOnChange(newTokens, operation);\n };\n const removeToken = (index: number) => {\n const newTokens = tokens.filter((_, i) => i !== index);\n fireOnChange(newTokens, operation);\n inputRef.current?.focus({ preventDropdown: true });\n };\n const removeAllTokens = () => {\n fireOnChange([], operation);\n inputRef.current?.focus({ preventDropdown: true });\n };\n const addToken = (newToken: Token) => {\n const newTokens = [...tokens];\n newTokens.push(newToken);\n fireOnChange(newTokens, operation);\n };\n const setOperation = (newOperation: JoinOperation) => {\n fireOnChange(tokens, newOperation);\n };\n return {\n setToken,\n removeToken,\n removeAllTokens,\n addToken,\n setOperation,\n };\n};\n\nexport const getAllowedOperators = (property: FilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n const operatorOrder = ['=', '!=', ':', '!:', '>=', '<=', '<', '>'] as const;\n const operatorSet = new Set([\n defaultOperator ?? '=',\n ...operators.map(op => (typeof op === 'string' ? op : op.operator)),\n ]);\n return operatorOrder.filter(op => operatorSet.has(op));\n};\n\n/*\n * parses the value of the filtering input to figure out the current step of entering the token:\n * - \"property\": means that a filter on a particular column is being added, with operator already finalized\n * - \"operator\": means that a filter on a particular column is being added, with operator not yet finalized\n * - \"free-text\": means that a \"free text\" token is being added\n */\nexport const parseText = (\n filteringText: string,\n filteringProperties: readonly FilteringProperty[] = [],\n disableFreeTextFiltering: boolean\n): ParsedText => {\n const negatedGlobalQuery = /^(!:|!)(.*)/.exec(filteringText);\n if (!disableFreeTextFiltering && negatedGlobalQuery) {\n return {\n step: 'free-text',\n operator: '!:',\n value: negatedGlobalQuery[2],\n };\n }\n\n const property = matchFilteringProperty(filteringProperties, filteringText);\n if (!property) {\n return {\n step: 'free-text',\n value: filteringText,\n };\n }\n\n const allowedOps = getAllowedOperators(property);\n const textWithoutProperty = filteringText.substring(property.propertyLabel.length);\n const operator = matchOperator(allowedOps, trimStart(textWithoutProperty));\n if (operator) {\n const operatorLastIndex = textWithoutProperty.indexOf(operator) + operator.length;\n const textWithoutPropertyAndOperator = textWithoutProperty.slice(operatorLastIndex);\n return {\n step: 'property',\n property,\n operator,\n // We need to remove the first leading space in case the user presses space\n // after the operator, for example: Owner: admin, will result in value of ` admin`\n // and we need to remove the first space, if the user added any more spaces only the\n // first one will be removed.\n value: trimFirstSpace(textWithoutPropertyAndOperator),\n };\n }\n\n const operatorPrefix = matchOperatorPrefix(allowedOps, trimStart(textWithoutProperty));\n if (operatorPrefix !== null) {\n return { step: 'operator', property, operatorPrefix };\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n};\n\nexport const getPropertyOptions = (\n filteringProperty: FilteringProperty,\n filteringOptions: readonly FilteringOption[]\n) => {\n return filteringOptions.filter(option => option.propertyKey === filteringProperty.key);\n};\n\ninterface OptionGroup<T> {\n label: string;\n options: T[];\n}\n\ninterface ExtendedAutosuggestOption extends AutosuggestProps.Option {\n tokenValue: string;\n}\n\nexport const getAllValueSuggestions = (\n filteringOptions: readonly FilteringOption[],\n filteringProperties: readonly FilteringProperty[],\n operator: ComparisonOperator | undefined = '=',\n i18nStrings: I18nStrings,\n customGroupsText: readonly GroupText[]\n) => {\n const defaultGroup: OptionGroup<ExtendedAutosuggestOption> = {\n label: i18nStrings.groupValuesText,\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<ExtendedAutosuggestOption> } = {};\n filteringOptions.forEach(filteringOption => {\n const property = getPropertyByKey(filteringProperties, filteringOption.propertyKey);\n // given option refers to a non-existent filtering property\n if (!property) {\n return;\n }\n // this option's filtering property does not support current operator\n if (getAllowedOperators(property).indexOf(operator) === -1) {\n return;\n }\n if (property.group && !customGroups[property.group]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === property.group ? customGroup.values : acc),\n ''\n );\n customGroups[property.group] = {\n label,\n options: [],\n };\n }\n const propertyGroup = property.group ? customGroups[property.group] : defaultGroup;\n propertyGroup.options.push({\n tokenValue: property.propertyLabel + (operator || '=') + filteringOption.value,\n label: filteringOption.value,\n __labelPrefix: property.propertyLabel + ' ' + (operator || '='),\n });\n });\n return [defaultGroup, ...Object.keys(customGroups).map(group => customGroups[group])];\n};\n\nexport const getPropertyByKey = (filteringProperties: readonly FilteringProperty[], key: string) => {\n const propertyMap = filteringProperties.reduce<{ [K: string]: FilteringProperty }>((acc, property) => {\n acc[property.key] = property;\n return acc;\n }, {});\n return propertyMap[key] as FilteringProperty | undefined;\n};\n\nexport function getExtendedOperator(\n filteringProperties: readonly FilteringProperty[],\n property: string,\n operator: ComparisonOperator\n) {\n const matchedProperty = getPropertyByKey(filteringProperties, property);\n for (const matchedOperator of matchedProperty?.operators || []) {\n if (typeof matchedOperator === 'object' && matchedOperator.operator === operator) {\n return matchedOperator;\n }\n }\n return null;\n}\n\nexport function createPropertiesCompatibilityMap(\n filteringProperties: readonly FilteringProperty[]\n): (propertyA: string, propertyB: string) => boolean {\n const lookup: {\n [propertyKey: string]: { operator: string; form: ExtendedOperatorForm<any> | undefined }[];\n } = {};\n\n for (const property of filteringProperties) {\n lookup[property.key] = (property.operators || [])\n .map(operator =>\n typeof operator === 'object'\n ? { operator: operator.operator, form: operator.form }\n : { operator, form: undefined }\n )\n .sort((a, b) => a.operator.localeCompare(b.operator));\n }\n\n return (propertyA: string, propertyB: string) => {\n if (lookup[propertyA].length !== lookup[propertyB].length) {\n return false;\n }\n for (let i = 0; i < lookup[propertyA].length; i++) {\n if (lookup[propertyA][i].operator !== lookup[propertyB][i].operator) {\n return false;\n }\n if (lookup[propertyA][i].form !== lookup[propertyB][i].form) {\n return false;\n }\n }\n return true;\n };\n}\n\nconst filteringPropertyToAutosuggestOption = (filteringProperty: FilteringProperty) => ({\n value: filteringProperty.propertyLabel,\n keepOpenOnSelect: true,\n});\n\nexport function getPropertySuggestions<T>(\n filteringProperties: readonly FilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStrings,\n filteringPropertyToOption: (filteringProperty: FilteringProperty) => T\n) {\n const defaultGroup: OptionGroup<T> = {\n label: i18nStrings.groupPropertiesText,\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<T> } = {};\n\n filteringProperties.forEach(filteringProperty => {\n const { group } = filteringProperty;\n let optionsGroup = defaultGroup;\n if (group) {\n if (!customGroups[group]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === group ? customGroup.properties : acc),\n ''\n );\n customGroups[group] = { options: [], label };\n }\n optionsGroup = customGroups[group];\n }\n optionsGroup.options.push(filteringPropertyToOption(filteringProperty));\n });\n const defaultGroupArray = defaultGroup.options.length ? [defaultGroup] : [];\n const customGroupsArray = Object.keys(customGroups).map(groupKey => customGroups[groupKey]);\n return [...defaultGroupArray, ...customGroupsArray];\n}\n\nexport const getAutosuggestOptions = (\n parsedText: ParsedText,\n filteringOptions: readonly FilteringOption[],\n filteringProperties: readonly FilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStrings\n) => {\n switch (parsedText.step) {\n case 'property': {\n const { propertyLabel, groupValuesLabel } = parsedText.property;\n const options = getPropertyOptions(parsedText.property, filteringOptions);\n return {\n filterText: parsedText.value,\n options: [\n {\n options: options.map(({ value }) => ({\n tokenValue: propertyLabel + parsedText.operator + value,\n label: value,\n __labelPrefix: propertyLabel + ' ' + parsedText.operator,\n })),\n label: groupValuesLabel,\n },\n ],\n };\n }\n case 'operator': {\n return {\n filterText: parsedText.property.propertyLabel + ' ' + parsedText.operatorPrefix,\n options: [\n ...getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n ),\n {\n options: getAllowedOperators(parsedText.property).map(value => ({\n value: parsedText.property.propertyLabel + ' ' + value + ' ',\n label: parsedText.property.propertyLabel + ' ' + value,\n description: operatorToDescription(value, i18nStrings),\n keepOpenOnSelect: true,\n })),\n label: i18nStrings.operatorsText,\n },\n ],\n };\n }\n case 'free-text': {\n const needsValueSuggestions = !!parsedText.value;\n const needsPropertySuggestions = !(parsedText.step === 'free-text' && parsedText.operator === '!:');\n return {\n filterText: parsedText.value,\n options: [\n ...(needsPropertySuggestions\n ? getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n )\n : []),\n ...(needsValueSuggestions\n ? getAllValueSuggestions(\n filteringOptions,\n filteringProperties,\n parsedText.operator,\n i18nStrings,\n customGroupsText\n )\n : []),\n ],\n };\n }\n }\n};\n\nexport const operatorToDescription = (operator: ComparisonOperator, i18nStrings: I18nStrings) => {\n const mapping: { [K in ComparisonOperator]: string } = {\n ['<']: i18nStrings.operatorLessText,\n ['<=']: i18nStrings.operatorLessOrEqualText,\n ['>']: i18nStrings.operatorGreaterText,\n ['>=']: i18nStrings.operatorGreaterOrEqualText,\n [':']: i18nStrings.operatorContainsText,\n ['!:']: i18nStrings.operatorDoesNotContainText,\n ['=']: i18nStrings.operatorEqualsText,\n ['!=']: i18nStrings.operatorDoesNotEqualText,\n };\n return mapping[operator];\n};\n"]}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/property-filter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ComparisonOperator,\n ExtendedOperatorForm,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n JoinOperation,\n ParsedText,\n Query,\n Token,\n} from './interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { matchFilteringProperty, matchOperator, matchOperatorPrefix, trimFirstSpace, trimStart } from './utils';\nimport { AutosuggestInputRef } from '../internal/components/autosuggest-input';\n\nexport const getQueryActions = (\n query: Query,\n onChange: NonCancelableEventHandler<Query>,\n inputRef: React.RefObject<AutosuggestInputRef>\n) => {\n const { tokens, operation } = query;\n const fireOnChange = (tokens: readonly Token[], operation: JoinOperation) =>\n fireNonCancelableEvent(onChange, { tokens, operation });\n const setToken = (index: number, newToken: Token) => {\n const newTokens = [...tokens];\n if (newTokens && index < newTokens.length) {\n newTokens[index] = newToken;\n }\n fireOnChange(newTokens, operation);\n };\n const removeToken = (index: number) => {\n const newTokens = tokens.filter((_, i) => i !== index);\n fireOnChange(newTokens, operation);\n inputRef.current?.focus({ preventDropdown: true });\n };\n const removeAllTokens = () => {\n fireOnChange([], operation);\n inputRef.current?.focus({ preventDropdown: true });\n };\n const addToken = (newToken: Token) => {\n const newTokens = [...tokens];\n newTokens.push(newToken);\n fireOnChange(newTokens, operation);\n };\n const setOperation = (newOperation: JoinOperation) => {\n fireOnChange(tokens, newOperation);\n };\n return {\n setToken,\n removeToken,\n removeAllTokens,\n addToken,\n setOperation,\n };\n};\n\nexport const getAllowedOperators = (property: FilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n const operatorOrder = ['=', '!=', ':', '!:', '>=', '<=', '<', '>'] as const;\n const operatorSet = new Set([\n defaultOperator ?? '=',\n ...operators.map(op => (typeof op === 'string' ? op : op.operator)),\n ]);\n return operatorOrder.filter(op => operatorSet.has(op));\n};\n\n/*\n * parses the value of the filtering input to figure out the current step of entering the token:\n * - \"property\": means that a filter on a particular column is being added, with operator already finalized\n * - \"operator\": means that a filter on a particular column is being added, with operator not yet finalized\n * - \"free-text\": means that a \"free text\" token is being added\n */\nexport const parseText = (\n filteringText: string,\n filteringProperties: readonly FilteringProperty[] = [],\n disableFreeTextFiltering: boolean\n): ParsedText => {\n const negatedGlobalQuery = /^(!:|!)(.*)/.exec(filteringText);\n if (!disableFreeTextFiltering && negatedGlobalQuery) {\n return {\n step: 'free-text',\n operator: '!:',\n value: negatedGlobalQuery[2],\n };\n }\n\n const property = matchFilteringProperty(filteringProperties, filteringText);\n if (!property) {\n return {\n step: 'free-text',\n value: filteringText,\n };\n }\n\n const allowedOps = getAllowedOperators(property);\n const textWithoutProperty = filteringText.substring(property.propertyLabel.length);\n const operator = matchOperator(allowedOps, trimStart(textWithoutProperty));\n if (operator) {\n const operatorLastIndex = textWithoutProperty.indexOf(operator) + operator.length;\n const textWithoutPropertyAndOperator = textWithoutProperty.slice(operatorLastIndex);\n return {\n step: 'property',\n property,\n operator,\n // We need to remove the first leading space in case the user presses space\n // after the operator, for example: Owner: admin, will result in value of ` admin`\n // and we need to remove the first space, if the user added any more spaces only the\n // first one will be removed.\n value: trimFirstSpace(textWithoutPropertyAndOperator),\n };\n }\n\n const operatorPrefix = matchOperatorPrefix(allowedOps, trimStart(textWithoutProperty));\n if (operatorPrefix !== null) {\n return { step: 'operator', property, operatorPrefix };\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n};\n\nexport const getPropertyOptions = (\n filteringProperty: FilteringProperty,\n filteringOptions: readonly FilteringOption[]\n) => {\n return filteringOptions.filter(option => option.propertyKey === filteringProperty.key);\n};\n\ninterface OptionGroup<T> {\n label: string;\n options: T[];\n}\n\nexport const getAllValueSuggestions = (\n filteringOptions: readonly FilteringOption[],\n filteringProperties: readonly FilteringProperty[],\n operator: ComparisonOperator | undefined = '=',\n i18nStrings: I18nStrings,\n customGroupsText: readonly GroupText[]\n) => {\n const defaultGroup: OptionGroup<AutosuggestProps.Option> = {\n label: i18nStrings.groupValuesText,\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<AutosuggestProps.Option> } = {};\n filteringOptions.forEach(filteringOption => {\n const property = getPropertyByKey(filteringProperties, filteringOption.propertyKey);\n // given option refers to a non-existent filtering property\n if (!property) {\n return;\n }\n // this option's filtering property does not support current operator\n if (getAllowedOperators(property).indexOf(operator) === -1) {\n return;\n }\n if (property.group && !customGroups[property.group]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === property.group ? customGroup.values : acc),\n ''\n );\n customGroups[property.group] = {\n label,\n options: [],\n };\n }\n const propertyGroup = property.group ? customGroups[property.group] : defaultGroup;\n propertyGroup.options.push({\n value: property.propertyLabel + ' ' + (operator || '=') + ' ' + filteringOption.value,\n label: filteringOption.value,\n __labelPrefix: property.propertyLabel + ' ' + (operator || '='),\n });\n });\n return [defaultGroup, ...Object.keys(customGroups).map(group => customGroups[group])];\n};\n\nexport const getPropertyByKey = (filteringProperties: readonly FilteringProperty[], key: string) => {\n const propertyMap = filteringProperties.reduce<{ [K: string]: FilteringProperty }>((acc, property) => {\n acc[property.key] = property;\n return acc;\n }, {});\n return propertyMap[key] as FilteringProperty | undefined;\n};\n\nexport function getExtendedOperator(\n filteringProperties: readonly FilteringProperty[],\n property: string,\n operator: ComparisonOperator\n) {\n const matchedProperty = getPropertyByKey(filteringProperties, property);\n for (const matchedOperator of matchedProperty?.operators || []) {\n if (typeof matchedOperator === 'object' && matchedOperator.operator === operator) {\n return matchedOperator;\n }\n }\n return null;\n}\n\nexport function createPropertiesCompatibilityMap(\n filteringProperties: readonly FilteringProperty[]\n): (propertyA: string, propertyB: string) => boolean {\n const lookup: {\n [propertyKey: string]: { operator: string; form: ExtendedOperatorForm<any> | undefined }[];\n } = {};\n\n for (const property of filteringProperties) {\n lookup[property.key] = (property.operators || [])\n .map(operator =>\n typeof operator === 'object'\n ? { operator: operator.operator, form: operator.form }\n : { operator, form: undefined }\n )\n .sort((a, b) => a.operator.localeCompare(b.operator));\n }\n\n return (propertyA: string, propertyB: string) => {\n if (lookup[propertyA].length !== lookup[propertyB].length) {\n return false;\n }\n for (let i = 0; i < lookup[propertyA].length; i++) {\n if (lookup[propertyA][i].operator !== lookup[propertyB][i].operator) {\n return false;\n }\n if (lookup[propertyA][i].form !== lookup[propertyB][i].form) {\n return false;\n }\n }\n return true;\n };\n}\n\nconst filteringPropertyToAutosuggestOption = (filteringProperty: FilteringProperty) => ({\n value: filteringProperty.propertyLabel,\n label: filteringProperty.propertyLabel,\n keepOpenOnSelect: true,\n});\n\nexport function getPropertySuggestions<T>(\n filteringProperties: readonly FilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStrings,\n filteringPropertyToOption: (filteringProperty: FilteringProperty) => T\n) {\n const defaultGroup: OptionGroup<T> = {\n label: i18nStrings.groupPropertiesText,\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<T> } = {};\n\n filteringProperties.forEach(filteringProperty => {\n const { group } = filteringProperty;\n let optionsGroup = defaultGroup;\n if (group) {\n if (!customGroups[group]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === group ? customGroup.properties : acc),\n ''\n );\n customGroups[group] = { options: [], label };\n }\n optionsGroup = customGroups[group];\n }\n optionsGroup.options.push(filteringPropertyToOption(filteringProperty));\n });\n const defaultGroupArray = defaultGroup.options.length ? [defaultGroup] : [];\n const customGroupsArray = Object.keys(customGroups).map(groupKey => customGroups[groupKey]);\n return [...defaultGroupArray, ...customGroupsArray];\n}\n\nexport const getAutosuggestOptions = (\n parsedText: ParsedText,\n filteringOptions: readonly FilteringOption[],\n filteringProperties: readonly FilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStrings\n) => {\n switch (parsedText.step) {\n case 'property': {\n const { propertyLabel, groupValuesLabel } = parsedText.property;\n const options = getPropertyOptions(parsedText.property, filteringOptions);\n return {\n filterText: parsedText.value,\n options: [\n {\n options: options.map(({ value }) => ({\n value: propertyLabel + ' ' + parsedText.operator + ' ' + value,\n label: value,\n __labelPrefix: propertyLabel + ' ' + parsedText.operator,\n })),\n label: groupValuesLabel,\n },\n ],\n };\n }\n case 'operator': {\n return {\n filterText: parsedText.property.propertyLabel + ' ' + parsedText.operatorPrefix,\n options: [\n ...getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n ),\n {\n options: getAllowedOperators(parsedText.property).map(value => ({\n value: parsedText.property.propertyLabel + ' ' + value + ' ',\n label: parsedText.property.propertyLabel + ' ' + value,\n description: operatorToDescription(value, i18nStrings),\n keepOpenOnSelect: true,\n })),\n label: i18nStrings.operatorsText,\n },\n ],\n };\n }\n case 'free-text': {\n const needsValueSuggestions = !!parsedText.value;\n const needsPropertySuggestions = !(parsedText.step === 'free-text' && parsedText.operator === '!:');\n return {\n filterText: parsedText.value,\n options: [\n ...(needsPropertySuggestions\n ? getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n )\n : []),\n ...(needsValueSuggestions\n ? getAllValueSuggestions(\n filteringOptions,\n filteringProperties,\n parsedText.operator,\n i18nStrings,\n customGroupsText\n )\n : []),\n ],\n };\n }\n }\n};\n\nexport const operatorToDescription = (operator: ComparisonOperator, i18nStrings: I18nStrings) => {\n const mapping: { [K in ComparisonOperator]: string } = {\n ['<']: i18nStrings.operatorLessText,\n ['<=']: i18nStrings.operatorLessOrEqualText,\n ['>']: i18nStrings.operatorGreaterText,\n ['>=']: i18nStrings.operatorGreaterOrEqualText,\n [':']: i18nStrings.operatorContainsText,\n ['!:']: i18nStrings.operatorDoesNotContainText,\n ['=']: i18nStrings.operatorEqualsText,\n ['!=']: i18nStrings.operatorDoesNotEqualText,\n };\n return mapping[operator];\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { AutosuggestProps } from '../autosuggest/interfaces';
2
+ export declare function filterOptions(options: readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[], searchText?: string): readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[];
3
+ //# sourceMappingURL=filter-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-options.d.ts","sourceRoot":"","sources":["../../../src/property-filter/filter-options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAC5E,UAAU,SAAK,GACd,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAiBrE"}
@@ -0,0 +1,31 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __assign } from "tslib";
4
+ export function filterOptions(options, searchText) {
5
+ if (searchText === void 0) { searchText = ''; }
6
+ if (!searchText) {
7
+ return options;
8
+ }
9
+ var filtered = [];
10
+ for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {
11
+ var option = options_1[_i];
12
+ if (isGroup(option)) {
13
+ var childOptions = filterOptions(option.options, searchText);
14
+ if (childOptions.length > 0) {
15
+ filtered.push(__assign(__assign({}, option), { options: childOptions }));
16
+ }
17
+ }
18
+ else if (matchSingleOption(option, searchText)) {
19
+ filtered.push(option);
20
+ }
21
+ }
22
+ return filtered;
23
+ }
24
+ function isGroup(optionOrGroup) {
25
+ return 'options' in optionOrGroup;
26
+ }
27
+ function matchSingleOption(option, searchText) {
28
+ var _a;
29
+ return ((_a = option.label) !== null && _a !== void 0 ? _a : '').toLowerCase().indexOf(searchText.toLowerCase()) !== -1;
30
+ }
31
+ //# sourceMappingURL=filter-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-options.js","sourceRoot":"","sources":["../../../src/property-filter/filter-options.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAKtC,MAAM,UAAU,aAAa,CAC3B,OAA4E,EAC5E,UAAe;IAAf,2BAAA,EAAA,eAAe;IAEf,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,OAAO,CAAC;KAChB;IAED,IAAM,QAAQ,GAA+D,EAAE,CAAC;IAChF,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;QAAzB,IAAM,MAAM,gBAAA;QACf,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,IAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,QAAQ,CAAC,IAAI,uBAAM,MAAM,KAAE,OAAO,EAAE,YAAY,IAAG,CAAC;aACrD;SACF;aAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAChD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,aAAsC;IACrD,OAAO,SAAS,IAAI,aAAa,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAwB,EAAE,UAAkB;;IACrE,OAAO,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { OptionDefinition } from '../internal/components/option/interfaces';\n\nexport function filterOptions(\n options: readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[],\n searchText = ''\n): readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] {\n if (!searchText) {\n return options;\n }\n\n const filtered: (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] = [];\n for (const option of options) {\n if (isGroup(option)) {\n const childOptions = filterOptions(option.options, searchText);\n if (childOptions.length > 0) {\n filtered.push({ ...option, options: childOptions });\n }\n } else if (matchSingleOption(option, searchText)) {\n filtered.push(option);\n }\n }\n return filtered;\n}\n\nfunction isGroup(optionOrGroup: AutosuggestProps.Option): optionOrGroup is AutosuggestProps.OptionGroup {\n return 'options' in optionOrGroup;\n}\n\nfunction matchSingleOption(option: OptionDefinition, searchText: string): boolean {\n return (option.label ?? '').toLowerCase().indexOf(searchText.toLowerCase()) !== -1;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAW9E,OAAO,EAAE,mBAAmB,EAAiE,MAAM,cAAc,CAAC;AAgBlH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAsRnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAW9E,OAAO,EAAE,mBAAmB,EAAiE,MAAM,cAAc,CAAC;AAgBlH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAkRnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
@@ -104,11 +104,6 @@ var PropertyFilter = React.forwardRef(function (_a, ref) {
104
104
  }, 0);
105
105
  var option = event.detail;
106
106
  var value = option.value || '';
107
- if ('tokenValue' in option) {
108
- createToken(option.tokenValue);
109
- return;
110
- }
111
- // create a token from the 'use' option
112
107
  if (!('keepOpenOnSelect' in option)) {
113
108
  createToken(value);
114
109
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef, useState, useMemo, useImperativeHandle } from 'react';\n\nimport InternalSpaceBetween from '../space-between/internal';\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyCode } from '../internal/keycode';\nimport SelectToggle from '../token-group/toggle';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id/index';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { PropertyFilterProps, ParsedText, Ref, FilteringProperty, ComparisonOperator, Token } from './interfaces';\nimport { TokenButton } from './token';\nimport {\n getQueryActions,\n parseText,\n getAutosuggestOptions,\n getAllowedOperators,\n getExtendedOperator,\n} from './controller';\nimport { useLoadItems } from './use-load-items';\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport PropertyFilterAutosuggest, { PropertyFilterAutosuggestProps } from './property-filter-autosuggest';\nimport { PropertyEditor } from './property-editor';\nimport { AutosuggestInputRef } from '../internal/components/autosuggest-input';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n disabled,\n i18nStrings,\n countText,\n query,\n hideOperations,\n onChange,\n filteringProperties,\n filteringOptions = [],\n customGroupsText = [],\n disableFreeTextFiltering = false,\n onLoadItems,\n virtualScroll,\n customControl,\n filteringEmpty,\n filteringLoadingText,\n filteringFinishedText,\n filteringErrorText,\n filteringRecoveryText,\n filteringStatusType,\n asyncProperties,\n tokenLimit,\n expandToViewport,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('PropertyFilter');\n const inputRef = useRef<AutosuggestInputRef>(null);\n const baseProps = getBaseProps(rest);\n useImperativeHandle(ref, () => ({ focus: () => inputRef.current?.focus() }), []);\n const { tokens, operation } = query;\n const showResults = tokens?.length && !disabled;\n const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(\n query,\n onChange,\n inputRef\n );\n const [filteringText, setFilteringText] = useState<string>('');\n const parsedText = parseText(filteringText, filteringProperties, disableFreeTextFiltering);\n const autosuggestOptions = getAutosuggestOptions(\n parsedText,\n filteringOptions,\n filteringProperties,\n customGroupsText,\n i18nStrings\n );\n\n const createToken = (currentText: string) => {\n const parsedText = parseText(currentText, filteringProperties, disableFreeTextFiltering);\n let newToken: Token;\n switch (parsedText.step) {\n case 'property': {\n newToken = {\n propertyKey: parsedText.property.key,\n operator: parsedText.operator,\n value: parsedText.value,\n };\n break;\n }\n case 'free-text': {\n newToken = {\n operator: parsedText.operator || ':',\n value: parsedText.value,\n };\n break;\n }\n case 'operator': {\n newToken = {\n operator: ':',\n value: currentText,\n };\n break;\n }\n }\n if (disableFreeTextFiltering && !('propertyKey' in newToken)) {\n return;\n }\n addToken(newToken);\n setFilteringText('');\n };\n const ignoreKeyDown = useRef<boolean>(false);\n const handleKeyDown: PropertyFilterAutosuggestProps['onKeyDown'] = event => {\n if (filteringText && !ignoreKeyDown.current && event.detail.keyCode === KeyCode.enter) {\n createToken(filteringText);\n }\n };\n const getLoadMoreDetail = (parsedText: ParsedText, filteringText: string) => {\n const loadMoreDetail: {\n filteringProperty: FilteringProperty | undefined;\n filteringText: string;\n filteringOperator: ComparisonOperator | undefined;\n } = {\n filteringProperty: undefined,\n filteringText,\n filteringOperator: undefined,\n };\n if (parsedText.step === 'property') {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringText = parsedText.value;\n loadMoreDetail.filteringOperator = parsedText.operator;\n }\n return loadMoreDetail;\n };\n const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);\n const inputLoadItemsHandlers = useLoadItems(\n onLoadItems,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringProperty,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringOperator\n );\n const asyncProps = {\n empty: filteringEmpty,\n loadingText: filteringLoadingText,\n finishedText: filteringFinishedText,\n errorText: filteringErrorText,\n recoveryText: filteringRecoveryText,\n statusType: filteringStatusType,\n };\n const asyncAutosuggestProps =\n !!filteringText.length || asyncProperties\n ? {\n ...inputLoadItemsHandlers,\n ...asyncProps,\n }\n : {};\n const handleSelected: PropertyFilterAutosuggestProps['onOptionClick'] = event => {\n // The ignoreKeyDown flag makes sure `createToken` routine runs only once. Autosuggest's `onKeyDown` fires,\n // when an item is selected from the list using \"enter\" key.\n ignoreKeyDown.current = true;\n setTimeout(() => {\n ignoreKeyDown.current = false;\n }, 0);\n const { detail: option } = event;\n const value = option.value || '';\n if ('tokenValue' in option) {\n createToken((option as { tokenValue: string }).tokenValue);\n return;\n }\n // create a token from the 'use' option\n if (!('keepOpenOnSelect' in option)) {\n createToken(value);\n return;\n }\n\n // stop dropdown from closing\n event.preventDefault();\n\n const parsedText = parseText(value, filteringProperties, disableFreeTextFiltering);\n const loadMoreDetail = getLoadMoreDetail(parsedText, value);\n\n // Insert operator automatically if only one operator is defined for the given property.\n if (parsedText.step === 'operator') {\n const operators = getAllowedOperators(parsedText.property);\n if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringOperator = operators[0];\n loadMoreDetail.filteringText = '';\n setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');\n }\n }\n\n fireNonCancelableEvent(onLoadItems, { ...loadMoreDetail, firstPage: true, samePage: false });\n };\n const [tokensExpanded, setTokensExpanded] = useState(false);\n const toggleExpandedTokens = () => setTokensExpanded(!tokensExpanded);\n const hasHiddenOptions = tokenLimit !== undefined && tokens.length > tokenLimit;\n const slicedTokens = hasHiddenOptions && !tokensExpanded ? tokens.slice(0, tokenLimit) : tokens;\n const controlId = useMemo(() => generateUniqueId(), []);\n\n const operatorForm =\n parsedText.step === 'property' &&\n getExtendedOperator(filteringProperties, parsedText.property.key, parsedText.operator)?.form;\n\n return (\n <span {...baseProps} className={clsx(baseProps.className, styles.root)} ref={__internalRootRef}>\n <div className={styles['search-field']}>\n {customControl && <div className={styles['custom-control']}>{customControl}</div>}\n <PropertyFilterAutosuggest\n ref={inputRef}\n virtualScroll={virtualScroll}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n ariaLabel={i18nStrings.filteringAriaLabel}\n placeholder={i18nStrings.filteringPlaceholder}\n value={filteringText}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n {...autosuggestOptions}\n onChange={event => setFilteringText(event.detail.value)}\n empty={filteringEmpty}\n {...asyncAutosuggestProps}\n expandToViewport={expandToViewport}\n onOptionClick={handleSelected}\n customForm={\n operatorForm && (\n <PropertyEditor\n property={parsedText.property}\n operator={parsedText.operator}\n filter={parsedText.value}\n operatorForm={operatorForm}\n i18nStrings={i18nStrings}\n onCancel={() => {\n setFilteringText('');\n inputRef.current?.close();\n inputRef.current?.focus({ preventDropdown: true });\n }}\n onSubmit={token => {\n addToken(token);\n setFilteringText('');\n inputRef.current?.focus({ preventDropdown: true });\n inputRef.current?.close();\n }}\n />\n )\n }\n hideEnteredTextOption={disableFreeTextFiltering && parsedText.step !== 'property'}\n />\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={clsx(styles.results, showResults && styles['results-visible'])}\n >\n {showResults ? countText : ''}\n </span>\n </div>\n {tokens && tokens.length > 0 && (\n <div className={styles.tokens}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\" id={controlId}>\n {slicedTokens.map((token, index) => (\n <TokenButton\n token={token}\n first={index === 0}\n operation={operation}\n key={index}\n removeToken={() => removeToken(index)}\n setToken={(newToken: Token) => setToken(index, newToken)}\n setOperation={setOperation}\n filteringOptions={filteringOptions}\n filteringProperties={filteringProperties}\n asyncProps={asyncProps}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n asyncProperties={asyncProperties}\n hideOperations={hideOperations}\n customGroupsText={customGroupsText}\n disableFreeTextFiltering={disableFreeTextFiltering}\n disabled={disabled}\n expandToViewport={expandToViewport}\n />\n ))}\n {hasHiddenOptions && (\n <div className={styles['toggle-collapsed']}>\n <SelectToggle\n controlId={controlId}\n allHidden={tokenLimit === 0}\n expanded={tokensExpanded}\n numberOfHiddenOptions={tokens.length - slicedTokens.length}\n i18nStrings={{\n limitShowFewer: i18nStrings.tokenLimitShowFewer,\n limitShowMore: i18nStrings.tokenLimitShowMore,\n }}\n onClick={toggleExpandedTokens}\n />\n </div>\n )}\n <div className={styles.separator} />\n <InternalButton onClick={removeAllTokens} className={styles['remove-all']} disabled={disabled}>\n {i18nStrings.clearFiltersText}\n </InternalButton>\n </InternalSpaceBetween>\n </div>\n )}\n </span>\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef, useState, useMemo, useImperativeHandle } from 'react';\n\nimport InternalSpaceBetween from '../space-between/internal';\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyCode } from '../internal/keycode';\nimport SelectToggle from '../token-group/toggle';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id/index';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { PropertyFilterProps, ParsedText, Ref, FilteringProperty, ComparisonOperator, Token } from './interfaces';\nimport { TokenButton } from './token';\nimport {\n getQueryActions,\n parseText,\n getAutosuggestOptions,\n getAllowedOperators,\n getExtendedOperator,\n} from './controller';\nimport { useLoadItems } from './use-load-items';\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport PropertyFilterAutosuggest, { PropertyFilterAutosuggestProps } from './property-filter-autosuggest';\nimport { PropertyEditor } from './property-editor';\nimport { AutosuggestInputRef } from '../internal/components/autosuggest-input';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n disabled,\n i18nStrings,\n countText,\n query,\n hideOperations,\n onChange,\n filteringProperties,\n filteringOptions = [],\n customGroupsText = [],\n disableFreeTextFiltering = false,\n onLoadItems,\n virtualScroll,\n customControl,\n filteringEmpty,\n filteringLoadingText,\n filteringFinishedText,\n filteringErrorText,\n filteringRecoveryText,\n filteringStatusType,\n asyncProperties,\n tokenLimit,\n expandToViewport,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('PropertyFilter');\n const inputRef = useRef<AutosuggestInputRef>(null);\n const baseProps = getBaseProps(rest);\n useImperativeHandle(ref, () => ({ focus: () => inputRef.current?.focus() }), []);\n const { tokens, operation } = query;\n const showResults = tokens?.length && !disabled;\n const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(\n query,\n onChange,\n inputRef\n );\n const [filteringText, setFilteringText] = useState<string>('');\n const parsedText = parseText(filteringText, filteringProperties, disableFreeTextFiltering);\n const autosuggestOptions = getAutosuggestOptions(\n parsedText,\n filteringOptions,\n filteringProperties,\n customGroupsText,\n i18nStrings\n );\n\n const createToken = (currentText: string) => {\n const parsedText = parseText(currentText, filteringProperties, disableFreeTextFiltering);\n let newToken: Token;\n switch (parsedText.step) {\n case 'property': {\n newToken = {\n propertyKey: parsedText.property.key,\n operator: parsedText.operator,\n value: parsedText.value,\n };\n break;\n }\n case 'free-text': {\n newToken = {\n operator: parsedText.operator || ':',\n value: parsedText.value,\n };\n break;\n }\n case 'operator': {\n newToken = {\n operator: ':',\n value: currentText,\n };\n break;\n }\n }\n if (disableFreeTextFiltering && !('propertyKey' in newToken)) {\n return;\n }\n addToken(newToken);\n setFilteringText('');\n };\n const ignoreKeyDown = useRef<boolean>(false);\n const handleKeyDown: PropertyFilterAutosuggestProps['onKeyDown'] = event => {\n if (filteringText && !ignoreKeyDown.current && event.detail.keyCode === KeyCode.enter) {\n createToken(filteringText);\n }\n };\n const getLoadMoreDetail = (parsedText: ParsedText, filteringText: string) => {\n const loadMoreDetail: {\n filteringProperty: FilteringProperty | undefined;\n filteringText: string;\n filteringOperator: ComparisonOperator | undefined;\n } = {\n filteringProperty: undefined,\n filteringText,\n filteringOperator: undefined,\n };\n if (parsedText.step === 'property') {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringText = parsedText.value;\n loadMoreDetail.filteringOperator = parsedText.operator;\n }\n return loadMoreDetail;\n };\n const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);\n const inputLoadItemsHandlers = useLoadItems(\n onLoadItems,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringProperty,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringOperator\n );\n const asyncProps = {\n empty: filteringEmpty,\n loadingText: filteringLoadingText,\n finishedText: filteringFinishedText,\n errorText: filteringErrorText,\n recoveryText: filteringRecoveryText,\n statusType: filteringStatusType,\n };\n const asyncAutosuggestProps =\n !!filteringText.length || asyncProperties\n ? {\n ...inputLoadItemsHandlers,\n ...asyncProps,\n }\n : {};\n const handleSelected: PropertyFilterAutosuggestProps['onOptionClick'] = event => {\n // The ignoreKeyDown flag makes sure `createToken` routine runs only once. Autosuggest's `onKeyDown` fires,\n // when an item is selected from the list using \"enter\" key.\n ignoreKeyDown.current = true;\n setTimeout(() => {\n ignoreKeyDown.current = false;\n }, 0);\n const { detail: option } = event;\n const value = option.value || '';\n\n if (!('keepOpenOnSelect' in option)) {\n createToken(value);\n return;\n }\n\n // stop dropdown from closing\n event.preventDefault();\n\n const parsedText = parseText(value, filteringProperties, disableFreeTextFiltering);\n const loadMoreDetail = getLoadMoreDetail(parsedText, value);\n\n // Insert operator automatically if only one operator is defined for the given property.\n if (parsedText.step === 'operator') {\n const operators = getAllowedOperators(parsedText.property);\n if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringOperator = operators[0];\n loadMoreDetail.filteringText = '';\n setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');\n }\n }\n\n fireNonCancelableEvent(onLoadItems, { ...loadMoreDetail, firstPage: true, samePage: false });\n };\n const [tokensExpanded, setTokensExpanded] = useState(false);\n const toggleExpandedTokens = () => setTokensExpanded(!tokensExpanded);\n const hasHiddenOptions = tokenLimit !== undefined && tokens.length > tokenLimit;\n const slicedTokens = hasHiddenOptions && !tokensExpanded ? tokens.slice(0, tokenLimit) : tokens;\n const controlId = useMemo(() => generateUniqueId(), []);\n\n const operatorForm =\n parsedText.step === 'property' &&\n getExtendedOperator(filteringProperties, parsedText.property.key, parsedText.operator)?.form;\n\n return (\n <span {...baseProps} className={clsx(baseProps.className, styles.root)} ref={__internalRootRef}>\n <div className={styles['search-field']}>\n {customControl && <div className={styles['custom-control']}>{customControl}</div>}\n <PropertyFilterAutosuggest\n ref={inputRef}\n virtualScroll={virtualScroll}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n ariaLabel={i18nStrings.filteringAriaLabel}\n placeholder={i18nStrings.filteringPlaceholder}\n value={filteringText}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n {...autosuggestOptions}\n onChange={event => setFilteringText(event.detail.value)}\n empty={filteringEmpty}\n {...asyncAutosuggestProps}\n expandToViewport={expandToViewport}\n onOptionClick={handleSelected}\n customForm={\n operatorForm && (\n <PropertyEditor\n property={parsedText.property}\n operator={parsedText.operator}\n filter={parsedText.value}\n operatorForm={operatorForm}\n i18nStrings={i18nStrings}\n onCancel={() => {\n setFilteringText('');\n inputRef.current?.close();\n inputRef.current?.focus({ preventDropdown: true });\n }}\n onSubmit={token => {\n addToken(token);\n setFilteringText('');\n inputRef.current?.focus({ preventDropdown: true });\n inputRef.current?.close();\n }}\n />\n )\n }\n hideEnteredTextOption={disableFreeTextFiltering && parsedText.step !== 'property'}\n />\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={clsx(styles.results, showResults && styles['results-visible'])}\n >\n {showResults ? countText : ''}\n </span>\n </div>\n {tokens && tokens.length > 0 && (\n <div className={styles.tokens}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\" id={controlId}>\n {slicedTokens.map((token, index) => (\n <TokenButton\n token={token}\n first={index === 0}\n operation={operation}\n key={index}\n removeToken={() => removeToken(index)}\n setToken={(newToken: Token) => setToken(index, newToken)}\n setOperation={setOperation}\n filteringOptions={filteringOptions}\n filteringProperties={filteringProperties}\n asyncProps={asyncProps}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n asyncProperties={asyncProperties}\n hideOperations={hideOperations}\n customGroupsText={customGroupsText}\n disableFreeTextFiltering={disableFreeTextFiltering}\n disabled={disabled}\n expandToViewport={expandToViewport}\n />\n ))}\n {hasHiddenOptions && (\n <div className={styles['toggle-collapsed']}>\n <SelectToggle\n controlId={controlId}\n allHidden={tokenLimit === 0}\n expanded={tokensExpanded}\n numberOfHiddenOptions={tokens.length - slicedTokens.length}\n i18nStrings={{\n limitShowFewer: i18nStrings.tokenLimitShowFewer,\n limitShowMore: i18nStrings.tokenLimitShowMore,\n }}\n onClick={toggleExpandedTokens}\n />\n </div>\n )}\n <div className={styles.separator} />\n <InternalButton onClick={removeAllTokens} className={styles['remove-all']} disabled={disabled}>\n {i18nStrings.clearFiltersText}\n </InternalButton>\n </InternalSpaceBetween>\n </div>\n )}\n </span>\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"property-filter-autosuggest.d.ts","sourceRoot":"","sources":["../../../src/property-filter/property-filter-autosuggest.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAmB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAM9E,OAAO,EAEL,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAyB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAQjG,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB,EAAE,0BAA0B;IAClG,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,QAAA,MAAM,yBAAyB,4GAoK9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"property-filter-autosuggest.d.ts","sourceRoot":"","sources":["../../../src/property-filter/property-filter-autosuggest.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAM9E,OAAO,EAEL,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAyB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AASjG,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB,EAAE,0BAA0B;IAClG,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,QAAA,MAAM,yBAAyB,4GAwK9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { __assign, __rest } from "tslib";
4
- import React, { useRef } from 'react';
4
+ import React, { useMemo, useRef } from 'react';
5
5
  import { useAutosuggestItems } from '../autosuggest/options-controller';
6
6
  import { useDropdownStatus } from '../internal/components/dropdown-status';
7
7
  import DropdownFooter from '../internal/components/dropdown-footer';
@@ -16,20 +16,22 @@ import AutosuggestInput from '../internal/components/autosuggest-input';
16
16
  import { useMergeRefs } from '../internal/hooks/use-merge-refs';
17
17
  import clsx from 'clsx';
18
18
  import { getFirstFocusable } from '../internal/components/focus-lock/utils';
19
+ import { filterOptions } from './filter-options';
19
20
  var DROPDOWN_WIDTH_OPTIONS_LIST = 300;
20
21
  var DROPDOWN_WIDTH_CUSTOM_FORM = 200;
21
22
  var PropertyFilterAutosuggest = React.forwardRef(function (props, ref) {
22
23
  var _a;
23
- var value = props.value, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, onLoadItems = props.onLoadItems, options = props.options, _b = props.filteringType, filteringType = _b === void 0 ? 'auto' : _b, _c = props.statusType, statusType = _c === void 0 ? 'finished' : _c, placeholder = props.placeholder, disabled = props.disabled, ariaLabel = props.ariaLabel, enteredTextLabel = props.enteredTextLabel, onKeyDown = props.onKeyDown, virtualScroll = props.virtualScroll, expandToViewport = props.expandToViewport, customForm = props.customForm, filterText = props.filterText, onOptionClick = props.onOptionClick, hideEnteredTextOption = props.hideEnteredTextOption, rest = __rest(props, ["value", "onChange", "onFocus", "onBlur", "onLoadItems", "options", "filteringType", "statusType", "placeholder", "disabled", "ariaLabel", "enteredTextLabel", "onKeyDown", "virtualScroll", "expandToViewport", "customForm", "filterText", "onOptionClick", "hideEnteredTextOption"]);
24
+ var value = props.value, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, onLoadItems = props.onLoadItems, options = props.options, _b = props.statusType, statusType = _b === void 0 ? 'finished' : _b, placeholder = props.placeholder, disabled = props.disabled, ariaLabel = props.ariaLabel, enteredTextLabel = props.enteredTextLabel, onKeyDown = props.onKeyDown, virtualScroll = props.virtualScroll, expandToViewport = props.expandToViewport, customForm = props.customForm, filterText = props.filterText, onOptionClick = props.onOptionClick, hideEnteredTextOption = props.hideEnteredTextOption, rest = __rest(props, ["value", "onChange", "onFocus", "onBlur", "onLoadItems", "options", "statusType", "placeholder", "disabled", "ariaLabel", "enteredTextLabel", "onKeyDown", "virtualScroll", "expandToViewport", "customForm", "filterText", "onOptionClick", "hideEnteredTextOption"]);
24
25
  var highlightText = filterText === undefined ? value : filterText;
25
26
  var customFormRef = useRef(null);
26
27
  var autosuggestInputRef = useRef(null);
27
28
  var mergedRef = useMergeRefs(autosuggestInputRef, ref);
28
- var _d = useAutosuggestItems({
29
- options: options || [],
29
+ var filteredOptions = useMemo(function () { return filterOptions(options || [], highlightText); }, [options, highlightText]);
30
+ var _c = useAutosuggestItems({
31
+ options: filteredOptions,
30
32
  filterValue: value,
31
33
  filterText: highlightText,
32
- filteringType: filteringType,
34
+ filteringType: 'manual',
33
35
  hideEnteredTextLabel: hideEnteredTextOption,
34
36
  onSelectItem: function (option) {
35
37
  var _a;
@@ -43,7 +45,7 @@ var PropertyFilterAutosuggest = React.forwardRef(function (props, ref) {
43
45
  autosuggestItemsHandlers.resetHighlightWithKeyboard();
44
46
  }
45
47
  }
46
- }), autosuggestItemsState = _d[0], autosuggestItemsHandlers = _d[1];
48
+ }), autosuggestItemsState = _c[0], autosuggestItemsHandlers = _c[1];
47
49
  var autosuggestLoadMoreHandlers = useAutosuggestLoadMore({
48
50
  options: options,
49
51
  statusType: statusType,
@@ -95,7 +97,7 @@ var PropertyFilterAutosuggest = React.forwardRef(function (props, ref) {
95
97
  var dropdownStatus = useDropdownStatus(__assign(__assign({}, props), { isEmpty: isEmpty, onRecoveryClick: handleRecoveryClick }));
96
98
  var content = null;
97
99
  if (customForm) {
98
- content = React.createElement("div", { ref: customFormRef }, customForm);
100
+ content = (React.createElement("div", { ref: customFormRef, className: styles['custom-content-wrapper'] }, customForm));
99
101
  }
100
102
  else if (autosuggestItemsState.items.length > 0) {
101
103
  content = (React.createElement(AutosuggestOptionsList, { autosuggestItemsState: autosuggestItemsState, autosuggestItemsHandlers: autosuggestItemsHandlers, highlightedOptionId: highlightedOptionId, highlightText: highlightText, listId: listId, controlId: controlId, enteredTextLabel: enteredTextLabel, handleLoadMore: autosuggestLoadMoreHandlers.fireLoadMoreOnScroll, hasDropdownStatus: dropdownStatus.content !== null, virtualScroll: virtualScroll, listBottom: !dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null }));
@@ -1 +1 @@
1
- {"version":3,"file":"property-filter-autosuggest.js","sourceRoot":"","sources":["../../../src/property-filter/property-filter-autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { Ref, useRef } from 'react';\n\nimport { useAutosuggestItems } from '../autosuggest/options-controller';\nimport { AutosuggestItem, AutosuggestProps } from '../autosuggest/interfaces';\n\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport DropdownFooter from '../internal/components/dropdown-footer';\n\nimport { generateUniqueId, useUniqueId } from '../internal/hooks/use-unique-id';\nimport {\n fireNonCancelableEvent,\n CancelableEventHandler,\n NonCancelableCustomEvent,\n BaseKeyDetail,\n} from '../internal/events';\nimport { BaseChangeDetail } from '../input/interfaces';\nimport autosuggestStyles from '../autosuggest/styles.css.js';\nimport styles from './styles.css.js';\nimport { fireCancelableEvent } from '../internal/events/index';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport AutosuggestOptionsList from '../autosuggest/options-list';\nimport { useAutosuggestLoadMore } from '../autosuggest/load-more-controller';\nimport { OptionsLoadItemsDetail } from '../internal/components/dropdown/interfaces';\nimport AutosuggestInput, { AutosuggestInputRef } from '../internal/components/autosuggest-input';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport clsx from 'clsx';\nimport { getFirstFocusable } from '../internal/components/focus-lock/utils';\n\nconst DROPDOWN_WIDTH_OPTIONS_LIST = 300;\nconst DROPDOWN_WIDTH_CUSTOM_FORM = 200;\n\nexport interface PropertyFilterAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {\n customForm?: React.ReactNode;\n filterText?: string;\n onOptionClick?: CancelableEventHandler<AutosuggestProps.Option>;\n hideEnteredTextOption?: boolean;\n}\n\nconst PropertyFilterAutosuggest = React.forwardRef(\n (props: PropertyFilterAutosuggestProps, ref: Ref<AutosuggestInputRef>) => {\n const {\n value,\n onChange,\n onFocus,\n onBlur,\n onLoadItems,\n options,\n filteringType = 'auto',\n statusType = 'finished',\n placeholder,\n disabled,\n ariaLabel,\n enteredTextLabel,\n onKeyDown,\n virtualScroll,\n expandToViewport,\n customForm,\n filterText,\n onOptionClick,\n hideEnteredTextOption,\n ...rest\n } = props;\n const highlightText = filterText === undefined ? value : filterText;\n\n const customFormRef = useRef<HTMLDivElement>(null);\n const autosuggestInputRef = useRef<AutosuggestInputRef>(null);\n const mergedRef = useMergeRefs(autosuggestInputRef, ref);\n\n const [autosuggestItemsState, autosuggestItemsHandlers] = useAutosuggestItems({\n options: options || [],\n filterValue: value,\n filterText: highlightText,\n filteringType,\n hideEnteredTextLabel: hideEnteredTextOption,\n onSelectItem: (option: AutosuggestItem) => {\n const value = option.value || '';\n fireNonCancelableEvent(onChange, { value });\n const selectedCancelled = fireCancelableEvent(onOptionClick, option);\n if (!selectedCancelled) {\n autosuggestInputRef.current?.close();\n } else {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n }\n },\n });\n\n const autosuggestLoadMoreHandlers = useAutosuggestLoadMore({\n options,\n statusType,\n onLoadItems: (detail: OptionsLoadItemsDetail) => fireNonCancelableEvent(onLoadItems, detail),\n });\n\n const handleChange = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n fireNonCancelableEvent(onChange, event.detail);\n };\n\n const handleDelayedInput = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputChange(event.detail.value);\n };\n\n const handleFocus = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputFocus();\n fireCancelableEvent(onFocus, null);\n };\n\n const handleBlur = () => {\n fireCancelableEvent(onBlur, null);\n };\n\n const handleKeyDown = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyDown, e.detail);\n };\n\n const handlePressArrowDown = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(1);\n if (customFormRef.current) {\n getFirstFocusable(customFormRef.current)?.focus();\n }\n };\n\n const handlePressArrowUp = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(-1);\n };\n\n const handlePressEnter = () => {\n return autosuggestItemsHandlers.selectHighlightedOptionWithKeyboard();\n };\n\n const handleCloseDropdown = () => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n };\n\n const handleRecoveryClick = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnRecoveryClick();\n autosuggestInputRef.current?.focus();\n };\n\n const selfControlId = useUniqueId('input');\n const controlId = rest.controlId ?? selfControlId;\n const listId = useUniqueId('list');\n const highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;\n\n const isEmpty = !value && !autosuggestItemsState.items.length;\n const dropdownStatus = useDropdownStatus({ ...props, isEmpty, onRecoveryClick: handleRecoveryClick });\n\n let content = null;\n if (customForm) {\n content = <div ref={customFormRef}>{customForm}</div>;\n } else if (autosuggestItemsState.items.length > 0) {\n content = (\n <AutosuggestOptionsList\n autosuggestItemsState={autosuggestItemsState}\n autosuggestItemsHandlers={autosuggestItemsHandlers}\n highlightedOptionId={highlightedOptionId}\n highlightText={highlightText}\n listId={listId}\n controlId={controlId}\n enteredTextLabel={enteredTextLabel}\n handleLoadMore={autosuggestLoadMoreHandlers.fireLoadMoreOnScroll}\n hasDropdownStatus={dropdownStatus.content !== null}\n virtualScroll={virtualScroll}\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n />\n );\n }\n\n return (\n <AutosuggestInput\n ref={mergedRef}\n {...rest}\n className={clsx(autosuggestStyles.root, styles.input)}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n controlId={controlId}\n placeholder={placeholder}\n disabled={disabled}\n ariaLabel={ariaLabel}\n expandToViewport={expandToViewport}\n ariaControls={listId}\n ariaActivedescendant={highlightedOptionId}\n dropdownExpanded={autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null || !!customForm}\n dropdownContentKey={customForm ? 'custom' : 'options'}\n dropdownContent={content}\n dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n dropdownWidth={customForm ? DROPDOWN_WIDTH_CUSTOM_FORM : DROPDOWN_WIDTH_OPTIONS_LIST}\n dropdownContentFocusable={!!customForm}\n onCloseDropdown={handleCloseDropdown}\n onDelayedInput={handleDelayedInput}\n onPressArrowDown={handlePressArrowDown}\n onPressArrowUp={handlePressArrowUp}\n onPressEnter={handlePressEnter}\n />\n );\n }\n);\n\nexport default PropertyFilterAutosuggest;\n"]}
1
+ {"version":3,"file":"property-filter-autosuggest.js","sourceRoot":"","sources":["../../../src/property-filter/property-filter-autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { Ref, useMemo, useRef } from 'react';\n\nimport { useAutosuggestItems } from '../autosuggest/options-controller';\nimport { AutosuggestItem, AutosuggestProps } from '../autosuggest/interfaces';\n\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport DropdownFooter from '../internal/components/dropdown-footer';\n\nimport { generateUniqueId, useUniqueId } from '../internal/hooks/use-unique-id';\nimport {\n fireNonCancelableEvent,\n CancelableEventHandler,\n NonCancelableCustomEvent,\n BaseKeyDetail,\n} from '../internal/events';\nimport { BaseChangeDetail } from '../input/interfaces';\nimport autosuggestStyles from '../autosuggest/styles.css.js';\nimport styles from './styles.css.js';\nimport { fireCancelableEvent } from '../internal/events/index';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport AutosuggestOptionsList from '../autosuggest/options-list';\nimport { useAutosuggestLoadMore } from '../autosuggest/load-more-controller';\nimport { OptionsLoadItemsDetail } from '../internal/components/dropdown/interfaces';\nimport AutosuggestInput, { AutosuggestInputRef } from '../internal/components/autosuggest-input';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport clsx from 'clsx';\nimport { getFirstFocusable } from '../internal/components/focus-lock/utils';\nimport { filterOptions } from './filter-options';\n\nconst DROPDOWN_WIDTH_OPTIONS_LIST = 300;\nconst DROPDOWN_WIDTH_CUSTOM_FORM = 200;\n\nexport interface PropertyFilterAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {\n customForm?: React.ReactNode;\n filterText?: string;\n onOptionClick?: CancelableEventHandler<AutosuggestProps.Option>;\n hideEnteredTextOption?: boolean;\n}\n\nconst PropertyFilterAutosuggest = React.forwardRef(\n (props: PropertyFilterAutosuggestProps, ref: Ref<AutosuggestInputRef>) => {\n const {\n value,\n onChange,\n onFocus,\n onBlur,\n onLoadItems,\n options,\n statusType = 'finished',\n placeholder,\n disabled,\n ariaLabel,\n enteredTextLabel,\n onKeyDown,\n virtualScroll,\n expandToViewport,\n customForm,\n filterText,\n onOptionClick,\n hideEnteredTextOption,\n ...rest\n } = props;\n const highlightText = filterText === undefined ? value : filterText;\n\n const customFormRef = useRef<HTMLDivElement>(null);\n const autosuggestInputRef = useRef<AutosuggestInputRef>(null);\n const mergedRef = useMergeRefs(autosuggestInputRef, ref);\n\n const filteredOptions = useMemo(() => filterOptions(options || [], highlightText), [options, highlightText]);\n const [autosuggestItemsState, autosuggestItemsHandlers] = useAutosuggestItems({\n options: filteredOptions,\n filterValue: value,\n filterText: highlightText,\n filteringType: 'manual',\n hideEnteredTextLabel: hideEnteredTextOption,\n onSelectItem: (option: AutosuggestItem) => {\n const value = option.value || '';\n fireNonCancelableEvent(onChange, { value });\n const selectedCancelled = fireCancelableEvent(onOptionClick, option);\n if (!selectedCancelled) {\n autosuggestInputRef.current?.close();\n } else {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n }\n },\n });\n\n const autosuggestLoadMoreHandlers = useAutosuggestLoadMore({\n options,\n statusType,\n onLoadItems: (detail: OptionsLoadItemsDetail) => fireNonCancelableEvent(onLoadItems, detail),\n });\n\n const handleChange = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n fireNonCancelableEvent(onChange, event.detail);\n };\n\n const handleDelayedInput = (event: NonCancelableCustomEvent<BaseChangeDetail>) => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputChange(event.detail.value);\n };\n\n const handleFocus = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnInputFocus();\n fireCancelableEvent(onFocus, null);\n };\n\n const handleBlur = () => {\n fireCancelableEvent(onBlur, null);\n };\n\n const handleKeyDown = (e: CustomEvent<BaseKeyDetail>) => {\n fireCancelableEvent(onKeyDown, e.detail);\n };\n\n const handlePressArrowDown = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(1);\n if (customFormRef.current) {\n getFirstFocusable(customFormRef.current)?.focus();\n }\n };\n\n const handlePressArrowUp = () => {\n autosuggestItemsHandlers.moveHighlightWithKeyboard(-1);\n };\n\n const handlePressEnter = () => {\n return autosuggestItemsHandlers.selectHighlightedOptionWithKeyboard();\n };\n\n const handleCloseDropdown = () => {\n autosuggestItemsHandlers.resetHighlightWithKeyboard();\n };\n\n const handleRecoveryClick = () => {\n autosuggestLoadMoreHandlers.fireLoadMoreOnRecoveryClick();\n autosuggestInputRef.current?.focus();\n };\n\n const selfControlId = useUniqueId('input');\n const controlId = rest.controlId ?? selfControlId;\n const listId = useUniqueId('list');\n const highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;\n\n const isEmpty = !value && !autosuggestItemsState.items.length;\n const dropdownStatus = useDropdownStatus({ ...props, isEmpty, onRecoveryClick: handleRecoveryClick });\n\n let content = null;\n if (customForm) {\n content = (\n <div ref={customFormRef} className={styles['custom-content-wrapper']}>\n {customForm}\n </div>\n );\n } else if (autosuggestItemsState.items.length > 0) {\n content = (\n <AutosuggestOptionsList\n autosuggestItemsState={autosuggestItemsState}\n autosuggestItemsHandlers={autosuggestItemsHandlers}\n highlightedOptionId={highlightedOptionId}\n highlightText={highlightText}\n listId={listId}\n controlId={controlId}\n enteredTextLabel={enteredTextLabel}\n handleLoadMore={autosuggestLoadMoreHandlers.fireLoadMoreOnScroll}\n hasDropdownStatus={dropdownStatus.content !== null}\n virtualScroll={virtualScroll}\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n />\n );\n }\n\n return (\n <AutosuggestInput\n ref={mergedRef}\n {...rest}\n className={clsx(autosuggestStyles.root, styles.input)}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n controlId={controlId}\n placeholder={placeholder}\n disabled={disabled}\n ariaLabel={ariaLabel}\n expandToViewport={expandToViewport}\n ariaControls={listId}\n ariaActivedescendant={highlightedOptionId}\n dropdownExpanded={autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null || !!customForm}\n dropdownContentKey={customForm ? 'custom' : 'options'}\n dropdownContent={content}\n dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n dropdownWidth={customForm ? DROPDOWN_WIDTH_CUSTOM_FORM : DROPDOWN_WIDTH_OPTIONS_LIST}\n dropdownContentFocusable={!!customForm}\n onCloseDropdown={handleCloseDropdown}\n onDelayedInput={handleDelayedInput}\n onPressArrowDown={handlePressArrowDown}\n onPressArrowUp={handlePressArrowUp}\n onPressEnter={handlePressEnter}\n />\n );\n }\n);\n\nexport default PropertyFilterAutosuggest;\n"]}
@@ -1,37 +1,38 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1wzqe_b1qbn_93",
5
- "search-field": "awsui_search-field_1wzqe_b1qbn_104",
6
- "input-wrapper": "awsui_input-wrapper_1wzqe_b1qbn_110",
7
- "add-token": "awsui_add-token_1wzqe_b1qbn_114",
8
- "tokens": "awsui_tokens_1wzqe_b1qbn_121",
9
- "token-operator": "awsui_token-operator_1wzqe_b1qbn_125",
10
- "property-editor": "awsui_property-editor_1wzqe_b1qbn_129",
11
- "token-editor": "awsui_token-editor_1wzqe_b1qbn_130",
12
- "property-editor-form": "awsui_property-editor-form_1wzqe_b1qbn_134",
13
- "token-editor-form": "awsui_token-editor-form_1wzqe_b1qbn_135",
14
- "property-editor-field-property": "awsui_property-editor-field-property_1wzqe_b1qbn_138",
15
- "token-editor-field-property": "awsui_token-editor-field-property_1wzqe_b1qbn_139",
16
- "property-editor-field-operator": "awsui_property-editor-field-operator_1wzqe_b1qbn_142",
17
- "token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_b1qbn_143",
18
- "property-editor-field-value": "awsui_property-editor-field-value_1wzqe_b1qbn_146",
19
- "token-editor-field-value": "awsui_token-editor-field-value_1wzqe_b1qbn_147",
20
- "property-editor-cancel": "awsui_property-editor-cancel_1wzqe_b1qbn_150",
21
- "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_b1qbn_151",
22
- "property-editor-submit": "awsui_property-editor-submit_1wzqe_b1qbn_154",
23
- "token-editor-submit": "awsui_token-editor-submit_1wzqe_b1qbn_155",
24
- "property-editor-actions": "awsui_property-editor-actions_1wzqe_b1qbn_158",
25
- "token-editor-actions": "awsui_token-editor-actions_1wzqe_b1qbn_159",
26
- "custom-control": "awsui_custom-control_1wzqe_b1qbn_177",
27
- "input": "awsui_input_1wzqe_b1qbn_110",
28
- "results": "awsui_results_1wzqe_b1qbn_185",
29
- "results-visible": "awsui_results-visible_1wzqe_b1qbn_191",
30
- "separator": "awsui_separator_1wzqe_b1qbn_195",
31
- "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_b1qbn_202",
32
- "token-trigger": "awsui_token-trigger_1wzqe_b1qbn_207",
33
- "remove-all": "awsui_remove-all_1wzqe_b1qbn_213",
34
- "token-label": "awsui_token-label_1wzqe_b1qbn_214",
35
- "join-operation": "awsui_join-operation_1wzqe_b1qbn_215"
4
+ "root": "awsui_root_1wzqe_13cnv_93",
5
+ "search-field": "awsui_search-field_1wzqe_13cnv_104",
6
+ "input-wrapper": "awsui_input-wrapper_1wzqe_13cnv_110",
7
+ "add-token": "awsui_add-token_1wzqe_13cnv_114",
8
+ "tokens": "awsui_tokens_1wzqe_13cnv_121",
9
+ "token-operator": "awsui_token-operator_1wzqe_13cnv_125",
10
+ "property-editor": "awsui_property-editor_1wzqe_13cnv_129",
11
+ "token-editor": "awsui_token-editor_1wzqe_13cnv_130",
12
+ "property-editor-form": "awsui_property-editor-form_1wzqe_13cnv_134",
13
+ "token-editor-form": "awsui_token-editor-form_1wzqe_13cnv_135",
14
+ "property-editor-field-property": "awsui_property-editor-field-property_1wzqe_13cnv_138",
15
+ "token-editor-field-property": "awsui_token-editor-field-property_1wzqe_13cnv_139",
16
+ "property-editor-field-operator": "awsui_property-editor-field-operator_1wzqe_13cnv_142",
17
+ "token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_13cnv_143",
18
+ "property-editor-field-value": "awsui_property-editor-field-value_1wzqe_13cnv_146",
19
+ "token-editor-field-value": "awsui_token-editor-field-value_1wzqe_13cnv_147",
20
+ "property-editor-cancel": "awsui_property-editor-cancel_1wzqe_13cnv_150",
21
+ "token-editor-cancel": "awsui_token-editor-cancel_1wzqe_13cnv_151",
22
+ "property-editor-submit": "awsui_property-editor-submit_1wzqe_13cnv_154",
23
+ "token-editor-submit": "awsui_token-editor-submit_1wzqe_13cnv_155",
24
+ "property-editor-actions": "awsui_property-editor-actions_1wzqe_13cnv_158",
25
+ "token-editor-actions": "awsui_token-editor-actions_1wzqe_13cnv_159",
26
+ "custom-content-wrapper": "awsui_custom-content-wrapper_1wzqe_13cnv_177",
27
+ "custom-control": "awsui_custom-control_1wzqe_13cnv_181",
28
+ "input": "awsui_input_1wzqe_13cnv_110",
29
+ "results": "awsui_results_1wzqe_13cnv_189",
30
+ "results-visible": "awsui_results-visible_1wzqe_13cnv_195",
31
+ "separator": "awsui_separator_1wzqe_13cnv_199",
32
+ "toggle-collapsed": "awsui_toggle-collapsed_1wzqe_13cnv_206",
33
+ "token-trigger": "awsui_token-trigger_1wzqe_13cnv_211",
34
+ "remove-all": "awsui_remove-all_1wzqe_13cnv_217",
35
+ "token-label": "awsui_token-label_1wzqe_13cnv_218",
36
+ "join-operation": "awsui_join-operation_1wzqe_13cnv_219"
36
37
  };
37
38