@cloudscape-design/components-themeable 3.0.63 → 3.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/internal/scss/property-filter/styles.scss +6 -11
- package/lib/internal/template/form-field/interfaces.d.ts +12 -0
- package/lib/internal/template/form-field/interfaces.d.ts.map +1 -1
- package/lib/internal/template/form-field/interfaces.js.map +1 -1
- package/lib/internal/template/form-field/internal.d.ts +3 -2
- package/lib/internal/template/form-field/internal.d.ts.map +1 -1
- package/lib/internal/template/form-field/internal.js +6 -6
- package/lib/internal/template/form-field/internal.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +14 -0
- package/lib/internal/template/internal/components/autosuggest-input/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/autosuggest-input/index.js +5 -6
- package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
- package/lib/internal/template/internal/components/dropdown/index.d.ts +1 -1
- package/lib/internal/template/internal/components/dropdown/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/dropdown/index.js +5 -5
- package/lib/internal/template/internal/components/dropdown/index.js.map +1 -1
- package/lib/internal/template/internal/components/dropdown/interfaces.d.ts +0 -4
- package/lib/internal/template/internal/components/dropdown/interfaces.d.ts.map +1 -1
- package/lib/internal/template/internal/components/dropdown/interfaces.js.map +1 -1
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/property-filter/property-filter-autosuggest.d.ts.map +1 -1
- package/lib/internal/template/property-filter/property-filter-autosuggest.js +1 -1
- package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
- package/lib/internal/template/property-filter/styles.css.js +24 -25
- package/lib/internal/template/property-filter/styles.scoped.css +27 -32
- package/lib/internal/template/property-filter/styles.selectors.js +24 -25
- package/lib/internal/template/property-filter/token-editor.js +1 -1
- package/lib/internal/template/property-filter/token-editor.js.map +1 -1
- package/lib/internal/template/tag-editor/index.d.ts.map +1 -1
- package/lib/internal/template/tag-editor/index.js +1 -1
- package/lib/internal/template/tag-editor/index.js.map +1 -1
- package/lib/internal/template/tag-editor/interfaces.d.ts +1 -0
- package/lib/internal/template/tag-editor/interfaces.d.ts.map +1 -1
- package/lib/internal/template/tag-editor/interfaces.js.map +1 -1
- package/lib/internal/template/test-utils/dom/form-field/index.js +1 -1
- package/lib/internal/template/test-utils/dom/form-field/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/form-field/index.js +1 -1
- package/lib/internal/template/test-utils/selectors/form-field/index.js.map +1 -1
- package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { NonCancelableEventHandler } from '../../events';\nimport React from 'react';\n\nexport type OptionsFilteringType = 'none' | 'auto' | 'manual';\nexport interface OptionsLoadItemsDetail {\n filteringText: string;\n firstPage: boolean;\n samePage: boolean;\n}\n\nexport interface BaseDropdownHostProps extends ExpandToViewport {\n /**\n * If you have more than 500 options, enable this flag to apply a performance optimization\n * that makes the filtering experience smoother. We don't recommend enabling the feature if you\n * have less than 500 options, because the improvements to performance are offset by a\n * visible scrolling lag.\n *\n * When you set this flag to `true`, it removes options that are not currently in view from the DOM.\n * If your test accesses such options, you need to first scroll the options container\n * to the correct offset, before performing any operations on them. Use the element returned\n * by the `findOptionsContainer` test utility for this.\n */\n virtualScroll?: boolean;\n\n /**\n * Use this event to implement the asynchronous behavior for the component.\n *\n * The event is called in the following situations:\n * * The user scrolls to the end of the list of options, if `statusType` is set to `pending`.\n * * The user clicks on the recovery button in the error state.\n * * The user types inside the input field.\n * * The user focuses the input field.\n *\n * The detail object contains the following properties:\n * * `filteringText` - The value that you need to use to fetch options.\n * * `firstPage` - Indicates that you should fetch the first page of options that match the `filteringText`.\n * * `samePage` - Indicates that you should fetch the same page that you have previously fetched (for example, when the user clicks on the recovery button).\n **/\n onLoadItems?: NonCancelableEventHandler<OptionsLoadItemsDetail>;\n}\n\nexport interface DropdownProps extends ExpandToViewport {\n /**\n * Trigger element.\n */\n trigger: React.ReactNode;\n /**\n * \"Sticky\" header of the dropdown content\n */\n header?: React.ReactNode;\n /**\n * Footer slot fixed at the bottom of the dropdown\n */\n footer?: React.ReactNode;\n /**\n * Dropdown content elements.\n */\n children?: React.ReactNode;\n /**\n * Updating content key triggers dropdown position re-evaluation.\n */\n contentKey?: string;\n /**\n * Open state of the dropdown.\n */\n open?: boolean;\n /**\n * Called when a user clicks outside of the dropdown content, when it is open.\n */\n onDropdownClose?: NonCancelableEventHandler<null>;\n /**\n * Called when a mouse button is pressed inside the dropdown content.\n */\n onMouseDown?: React.MouseEventHandler;\n /**\n * Dropdown id\n */\n dropdownId?: string;\n /**\n * Stretches dropdown to occupy entire width.\n */\n stretchWidth?: boolean;\n /**\n * Stretches dropdown to occupy entire height.\n */\n stretchHeight?: boolean;\n\n /**\n * Stretches the trigger to the height of the dropdown container.\n */\n stretchTriggerHeight?: boolean;\n\n /**\n * Whether the dropdown content should be at least as wide as the trigger.\n *\n * @defaultValue true\n */\n stretchToTriggerWidth?: boolean;\n\n /**\n * Determines that the dropdown should preferably be aligned to the center of the trigger\n * instead of dropping left or right.\n */\n preferCenter?: boolean;\n\n /**\n * Indicates if this dropdown lies within a parent dropdown and positions itself relative to it (as a fly out).\n */\n interior?: boolean;\n /**\n * Sets the min width of the dropdown (in px)\n */\n minWidth?: number;\n /**\n * Whether
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { NonCancelableEventHandler } from '../../events';\nimport React from 'react';\n\nexport type OptionsFilteringType = 'none' | 'auto' | 'manual';\nexport interface OptionsLoadItemsDetail {\n filteringText: string;\n firstPage: boolean;\n samePage: boolean;\n}\n\nexport interface BaseDropdownHostProps extends ExpandToViewport {\n /**\n * If you have more than 500 options, enable this flag to apply a performance optimization\n * that makes the filtering experience smoother. We don't recommend enabling the feature if you\n * have less than 500 options, because the improvements to performance are offset by a\n * visible scrolling lag.\n *\n * When you set this flag to `true`, it removes options that are not currently in view from the DOM.\n * If your test accesses such options, you need to first scroll the options container\n * to the correct offset, before performing any operations on them. Use the element returned\n * by the `findOptionsContainer` test utility for this.\n */\n virtualScroll?: boolean;\n\n /**\n * Use this event to implement the asynchronous behavior for the component.\n *\n * The event is called in the following situations:\n * * The user scrolls to the end of the list of options, if `statusType` is set to `pending`.\n * * The user clicks on the recovery button in the error state.\n * * The user types inside the input field.\n * * The user focuses the input field.\n *\n * The detail object contains the following properties:\n * * `filteringText` - The value that you need to use to fetch options.\n * * `firstPage` - Indicates that you should fetch the first page of options that match the `filteringText`.\n * * `samePage` - Indicates that you should fetch the same page that you have previously fetched (for example, when the user clicks on the recovery button).\n **/\n onLoadItems?: NonCancelableEventHandler<OptionsLoadItemsDetail>;\n}\n\nexport interface DropdownProps extends ExpandToViewport {\n /**\n * Trigger element.\n */\n trigger: React.ReactNode;\n /**\n * \"Sticky\" header of the dropdown content\n */\n header?: React.ReactNode;\n /**\n * Footer slot fixed at the bottom of the dropdown\n */\n footer?: React.ReactNode;\n /**\n * Dropdown content elements.\n */\n children?: React.ReactNode;\n /**\n * Updating content key triggers dropdown position re-evaluation.\n */\n contentKey?: string;\n /**\n * Open state of the dropdown.\n */\n open?: boolean;\n /**\n * Called when a user clicks outside of the dropdown content, when it is open.\n */\n onDropdownClose?: NonCancelableEventHandler<null>;\n /**\n * Called when a mouse button is pressed inside the dropdown content.\n */\n onMouseDown?: React.MouseEventHandler;\n /**\n * Dropdown id\n */\n dropdownId?: string;\n /**\n * Stretches dropdown to occupy entire width.\n */\n stretchWidth?: boolean;\n /**\n * Stretches dropdown to occupy entire height.\n */\n stretchHeight?: boolean;\n\n /**\n * Stretches the trigger to the height of the dropdown container.\n */\n stretchTriggerHeight?: boolean;\n\n /**\n * Whether the dropdown content should be at least as wide as the trigger.\n *\n * @defaultValue true\n */\n stretchToTriggerWidth?: boolean;\n\n /**\n * Determines that the dropdown should preferably be aligned to the center of the trigger\n * instead of dropping left or right.\n */\n preferCenter?: boolean;\n\n /**\n * Indicates if this dropdown lies within a parent dropdown and positions itself relative to it (as a fly out).\n */\n interior?: boolean;\n /**\n * Sets the min width of the dropdown (in px)\n */\n minWidth?: number;\n /**\n * Whether the dropdown will have a scrollbar or not\n */\n scrollable?: boolean;\n /**\n * Whether the dropdown will have a focus trap including trigger, header, content and footer.\n */\n trapFocus?: boolean;\n}\n\nexport interface ExpandToViewport {\n /**\n * Enabling this property will allow the dropdown to extend beyond its parent by using fixed positioning and\n * [React Portals](https://reactjs.org/docs/portals.html).\n * If you want the dropdown to ignore the `overflow` CSS property of its parents,\n * such as in a split view layout, enable this property.\n * However, use discretion. If you don't need to, we recommend you don't enable this property because fixed positioning results\n * in a slight, visible lag when scrolling complex pages.\n */\n expandToViewport?: boolean;\n}\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;AAMjG,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB,EAAE,0BAA0B;IAClG,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,
|
|
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;AAMjG,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB,EAAE,0BAA0B;IAClG,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,4GAwJ9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -86,7 +86,7 @@ var PropertyFilterAutosuggest = React.forwardRef(function (props, ref) {
|
|
|
86
86
|
var highlightedOptionId = autosuggestItemsState.highlightedOption ? generateUniqueId() : undefined;
|
|
87
87
|
var isEmpty = !value && !autosuggestItemsState.items.length;
|
|
88
88
|
var dropdownStatus = useDropdownStatus(__assign(__assign({}, props), { isEmpty: isEmpty, onRecoveryClick: handleRecoveryClick }));
|
|
89
|
-
return (React.createElement(AutosuggestInput, __assign({ ref: mergedRef }, rest, { className: clsx(autosuggestStyles.root, styles.input), value: value, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown, controlId: controlId, placeholder: placeholder, disabled: disabled, ariaLabel: ariaLabel, expandToViewport: expandToViewport, ariaControls: listId, ariaActivedescendant: highlightedOptionId, dropdownExpanded: autosuggestItemsState.items.length > 1, dropdownContent: 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 }), dropdownFooter: dropdownStatus.isSticky ? (React.createElement(DropdownFooter, { content: dropdownStatus.content, hasItems: autosuggestItemsState.items.length >= 1 })) : null, dropdownWidth: DROPDOWN_WIDTH, onCloseDropdown: handleCloseDropdown, onDelayedInput: handleDelayedInput, onPressArrowDown: handlePressArrowDown, onPressArrowUp: handlePressArrowUp, onPressEnter: handlePressEnter })));
|
|
89
|
+
return (React.createElement(AutosuggestInput, __assign({ ref: mergedRef }, rest, { className: clsx(autosuggestStyles.root, styles.input), value: value, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown, controlId: controlId, placeholder: placeholder, disabled: disabled, ariaLabel: ariaLabel, expandToViewport: expandToViewport, ariaControls: listId, ariaActivedescendant: highlightedOptionId, dropdownExpanded: autosuggestItemsState.items.length > 1 || dropdownStatus.content !== null, dropdownContent: autosuggestItemsState.items.length > 0 ? (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 })) : null, dropdownFooter: dropdownStatus.isSticky ? (React.createElement(DropdownFooter, { content: dropdownStatus.content, hasItems: autosuggestItemsState.items.length >= 1 })) : null, dropdownWidth: DROPDOWN_WIDTH, onCloseDropdown: handleCloseDropdown, onDelayedInput: handleDelayedInput, onPressArrowDown: handlePressArrowDown, onPressArrowUp: handlePressArrowUp, onPressEnter: handlePressEnter })));
|
|
90
90
|
});
|
|
91
91
|
export default PropertyFilterAutosuggest;
|
|
92
92
|
//# sourceMappingURL=property-filter-autosuggest.js.map
|
|
@@ -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';\n\nconst DROPDOWN_WIDTH = 300;\n\nexport interface PropertyFilterAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {\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 filterText,\n onOptionClick,\n hideEnteredTextOption,\n ...rest\n } = props;\n const highlightText = filterText === undefined ? value : filterText;\n\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 };\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 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}\n dropdownContent={\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 dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n dropdownWidth={DROPDOWN_WIDTH}\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, 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';\n\nconst DROPDOWN_WIDTH = 300;\n\nexport interface PropertyFilterAutosuggestProps extends AutosuggestProps, InternalBaseComponentProps {\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 filterText,\n onOptionClick,\n hideEnteredTextOption,\n ...rest\n } = props;\n const highlightText = filterText === undefined ? value : filterText;\n\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 };\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 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}\n dropdownContent={\n autosuggestItemsState.items.length > 0 ? (\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 ) : null\n }\n dropdownFooter={\n dropdownStatus.isSticky ? (\n <DropdownFooter content={dropdownStatus.content} hasItems={autosuggestItemsState.items.length >= 1} />\n ) : null\n }\n dropdownWidth={DROPDOWN_WIDTH}\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,30 +1,29 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"search-field": "awsui_search-
|
|
6
|
-
"input-wrapper": "awsui_input-
|
|
7
|
-
"add-token": "awsui_add-
|
|
8
|
-
"tokens": "
|
|
9
|
-
"token-operator": "awsui_token-
|
|
10
|
-
"token-editor": "awsui_token-
|
|
11
|
-
"token-editor-form": "awsui_token-editor-
|
|
12
|
-
"token-editor-field-property": "awsui_token-editor-field-
|
|
13
|
-
"token-editor-field-operator": "awsui_token-editor-field-
|
|
14
|
-
"token-editor-field-value": "awsui_token-editor-field-
|
|
15
|
-
"token-editor-actions": "awsui_token-editor-
|
|
16
|
-
"token-editor-
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"results
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"token-
|
|
25
|
-
"remove-all": "awsui_remove-
|
|
26
|
-
"token-label": "awsui_token-
|
|
27
|
-
"join-operation": "awsui_join-
|
|
28
|
-
"token-editor-submit": "awsui_token-editor-submit_1wzqe_dj586_203"
|
|
4
|
+
"root": "awsui_root_1wzqe_nfnzo_93",
|
|
5
|
+
"search-field": "awsui_search-field_1wzqe_nfnzo_104",
|
|
6
|
+
"input-wrapper": "awsui_input-wrapper_1wzqe_nfnzo_110",
|
|
7
|
+
"add-token": "awsui_add-token_1wzqe_nfnzo_114",
|
|
8
|
+
"tokens": "awsui_tokens_1wzqe_nfnzo_121",
|
|
9
|
+
"token-operator": "awsui_token-operator_1wzqe_nfnzo_125",
|
|
10
|
+
"token-editor": "awsui_token-editor_1wzqe_nfnzo_129",
|
|
11
|
+
"token-editor-form": "awsui_token-editor-form_1wzqe_nfnzo_132",
|
|
12
|
+
"token-editor-field-property": "awsui_token-editor-field-property_1wzqe_nfnzo_135",
|
|
13
|
+
"token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_nfnzo_138",
|
|
14
|
+
"token-editor-field-value": "awsui_token-editor-field-value_1wzqe_nfnzo_141",
|
|
15
|
+
"token-editor-actions": "awsui_token-editor-actions_1wzqe_nfnzo_144",
|
|
16
|
+
"token-editor-cancel": "awsui_token-editor-cancel_1wzqe_nfnzo_153",
|
|
17
|
+
"token-editor-submit": "awsui_token-editor-submit_1wzqe_nfnzo_156",
|
|
18
|
+
"custom-control": "awsui_custom-control_1wzqe_nfnzo_160",
|
|
19
|
+
"input": "awsui_input_1wzqe_nfnzo_110",
|
|
20
|
+
"results": "awsui_results_1wzqe_nfnzo_168",
|
|
21
|
+
"results-visible": "awsui_results-visible_1wzqe_nfnzo_174",
|
|
22
|
+
"separator": "awsui_separator_1wzqe_nfnzo_178",
|
|
23
|
+
"toggle-collapsed": "awsui_toggle-collapsed_1wzqe_nfnzo_185",
|
|
24
|
+
"token-trigger": "awsui_token-trigger_1wzqe_nfnzo_190",
|
|
25
|
+
"remove-all": "awsui_remove-all_1wzqe_nfnzo_196",
|
|
26
|
+
"token-label": "awsui_token-label_1wzqe_nfnzo_197",
|
|
27
|
+
"join-operation": "awsui_join-operation_1wzqe_nfnzo_198"
|
|
29
28
|
};
|
|
30
29
|
|
|
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
.
|
|
93
|
+
.awsui_root_1wzqe_nfnzo_93:not(#\9) {
|
|
94
94
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
95
95
|
border-collapse: separate;
|
|
96
96
|
border-spacing: 0;
|
|
@@ -127,50 +127,47 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
127
127
|
font-family: var(--font-family-base-mylvzb, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
.awsui_search-
|
|
130
|
+
.awsui_search-field_1wzqe_nfnzo_104:not(#\9) {
|
|
131
131
|
display: flex;
|
|
132
132
|
align-items: center;
|
|
133
133
|
max-width: calc(688px - 2 * var(--space-l-4vl6xu, 20px));
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
.awsui_input-
|
|
136
|
+
.awsui_input-wrapper_1wzqe_nfnzo_110:not(#\9) {
|
|
137
137
|
flex-grow: 1;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
.awsui_add-
|
|
140
|
+
.awsui_add-token_1wzqe_nfnzo_114:not(#\9) {
|
|
141
141
|
border-left: 1px solid var(--color-border-divider-default-k96bks, #eaeded);
|
|
142
142
|
box-sizing: border-box;
|
|
143
143
|
margin-left: var(--space-m-17eucw, 16px);
|
|
144
144
|
padding-left: var(--space-m-17eucw, 16px);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
.
|
|
147
|
+
.awsui_tokens_1wzqe_nfnzo_121:not(#\9) {
|
|
148
148
|
margin-top: var(--space-xs-rsr2qu, 8px);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
.awsui_token-
|
|
151
|
+
.awsui_token-operator_1wzqe_nfnzo_125:not(#\9) {
|
|
152
152
|
font-weight: bold;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
.awsui_token-
|
|
155
|
+
.awsui_token-editor_1wzqe_nfnzo_129:not(#\9) {
|
|
156
156
|
margin: var(--space-xxs-ynfts5, 4px);
|
|
157
|
-
display: flex;
|
|
158
|
-
flex-direction: column;
|
|
159
|
-
justify-content: space-between;
|
|
160
157
|
}
|
|
161
|
-
.awsui_token-editor-
|
|
158
|
+
.awsui_token-editor-form_1wzqe_nfnzo_132:not(#\9) {
|
|
162
159
|
margin-bottom: var(--space-scaled-l-t03y3z, 20px);
|
|
163
160
|
}
|
|
164
|
-
.awsui_token-editor-field-
|
|
161
|
+
.awsui_token-editor-field-property_1wzqe_nfnzo_135:not(#\9) {
|
|
165
162
|
/* used in test-utils */
|
|
166
163
|
}
|
|
167
|
-
.awsui_token-editor-field-
|
|
164
|
+
.awsui_token-editor-field-operator_1wzqe_nfnzo_138:not(#\9) {
|
|
168
165
|
margin-top: var(--space-scaled-l-t03y3z, 20px);
|
|
169
166
|
}
|
|
170
|
-
.awsui_token-editor-field-
|
|
167
|
+
.awsui_token-editor-field-value_1wzqe_nfnzo_141:not(#\9) {
|
|
171
168
|
margin-top: var(--space-scaled-l-t03y3z, 20px);
|
|
172
169
|
}
|
|
173
|
-
.awsui_token-editor-
|
|
170
|
+
.awsui_token-editor-actions_1wzqe_nfnzo_144:not(#\9) {
|
|
174
171
|
display: flex;
|
|
175
172
|
justify-content: flex-end;
|
|
176
173
|
padding-top: var(--space-s-hv8c1d, 12px);
|
|
@@ -179,53 +176,51 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
179
176
|
margin-left: calc(-1 * var(--space-m-17eucw, 16px) + -1 * var(--space-xxs-ynfts5, 4px));
|
|
180
177
|
margin-right: calc(-1 * var(--space-m-17eucw, 16px) + -1 * var(--space-xxs-ynfts5, 4px));
|
|
181
178
|
}
|
|
182
|
-
.awsui_token-editor-
|
|
183
|
-
margin-
|
|
179
|
+
.awsui_token-editor-cancel_1wzqe_nfnzo_153:not(#\9) {
|
|
180
|
+
margin-right: var(--space-xs-rsr2qu, 8px);
|
|
181
|
+
}
|
|
182
|
+
.awsui_token-editor-submit_1wzqe_nfnzo_156:not(#\9) {
|
|
183
|
+
/* used in test-utils */
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
.awsui_custom-
|
|
186
|
+
.awsui_custom-control_1wzqe_nfnzo_160:not(#\9) {
|
|
187
187
|
margin-right: var(--space-s-hv8c1d, 12px);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
.
|
|
190
|
+
.awsui_input_1wzqe_nfnzo_110:not(#\9) {
|
|
191
191
|
flex: 1;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
.
|
|
194
|
+
.awsui_results_1wzqe_nfnzo_168:not(#\9) {
|
|
195
195
|
color: var(--color-text-form-label-i9s99a, #16191f);
|
|
196
196
|
display: inline-block;
|
|
197
197
|
box-sizing: border-box;
|
|
198
198
|
white-space: nowrap;
|
|
199
199
|
}
|
|
200
|
-
.awsui_results-
|
|
200
|
+
.awsui_results-visible_1wzqe_nfnzo_174:not(#\9) {
|
|
201
201
|
padding-left: var(--space-s-hv8c1d, 12px);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
.
|
|
204
|
+
.awsui_separator_1wzqe_nfnzo_178:not(#\9) {
|
|
205
205
|
margin: 0px var(--space-scaled-m-pv0fmt, 16px);
|
|
206
206
|
height: 100%;
|
|
207
207
|
width: var(--border-divider-section-width-5a4cv1, 1px);
|
|
208
208
|
background-color: var(--color-border-divider-default-k96bks, #eaeded);
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
-
.awsui_toggle-
|
|
211
|
+
.awsui_toggle-collapsed_1wzqe_nfnzo_185:not(#\9) {
|
|
212
212
|
margin-top: calc(-1 * var(--space-scaled-xxs-95dhkm, 4px));
|
|
213
213
|
margin-left: var(--space-xs-rsr2qu, 8px);
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
.awsui_token-
|
|
216
|
+
.awsui_token-trigger_1wzqe_nfnzo_190:not(#\9) {
|
|
217
217
|
min-width: 0;
|
|
218
218
|
-ms-word-break: break-all;
|
|
219
219
|
word-break: break-word;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
.awsui_remove-all_1wzqe_dj586_200:not(#\9),
|
|
227
|
-
.awsui_token-label_1wzqe_dj586_201:not(#\9),
|
|
228
|
-
.awsui_join-operation_1wzqe_dj586_202:not(#\9),
|
|
229
|
-
.awsui_token-editor-submit_1wzqe_dj586_203:not(#\9) {
|
|
222
|
+
.awsui_remove-all_1wzqe_nfnzo_196:not(#\9),
|
|
223
|
+
.awsui_token-label_1wzqe_nfnzo_197:not(#\9),
|
|
224
|
+
.awsui_join-operation_1wzqe_nfnzo_198:not(#\9) {
|
|
230
225
|
/* used in test-utils */
|
|
231
226
|
}
|
|
@@ -2,30 +2,29 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"search-field": "awsui_search-
|
|
7
|
-
"input-wrapper": "awsui_input-
|
|
8
|
-
"add-token": "awsui_add-
|
|
9
|
-
"tokens": "
|
|
10
|
-
"token-operator": "awsui_token-
|
|
11
|
-
"token-editor": "awsui_token-
|
|
12
|
-
"token-editor-form": "awsui_token-editor-
|
|
13
|
-
"token-editor-field-property": "awsui_token-editor-field-
|
|
14
|
-
"token-editor-field-operator": "awsui_token-editor-field-
|
|
15
|
-
"token-editor-field-value": "awsui_token-editor-field-
|
|
16
|
-
"token-editor-actions": "awsui_token-editor-
|
|
17
|
-
"token-editor-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"results
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"token-
|
|
26
|
-
"remove-all": "awsui_remove-
|
|
27
|
-
"token-label": "awsui_token-
|
|
28
|
-
"join-operation": "awsui_join-
|
|
29
|
-
"token-editor-submit": "awsui_token-editor-submit_1wzqe_dj586_203"
|
|
5
|
+
"root": "awsui_root_1wzqe_nfnzo_93",
|
|
6
|
+
"search-field": "awsui_search-field_1wzqe_nfnzo_104",
|
|
7
|
+
"input-wrapper": "awsui_input-wrapper_1wzqe_nfnzo_110",
|
|
8
|
+
"add-token": "awsui_add-token_1wzqe_nfnzo_114",
|
|
9
|
+
"tokens": "awsui_tokens_1wzqe_nfnzo_121",
|
|
10
|
+
"token-operator": "awsui_token-operator_1wzqe_nfnzo_125",
|
|
11
|
+
"token-editor": "awsui_token-editor_1wzqe_nfnzo_129",
|
|
12
|
+
"token-editor-form": "awsui_token-editor-form_1wzqe_nfnzo_132",
|
|
13
|
+
"token-editor-field-property": "awsui_token-editor-field-property_1wzqe_nfnzo_135",
|
|
14
|
+
"token-editor-field-operator": "awsui_token-editor-field-operator_1wzqe_nfnzo_138",
|
|
15
|
+
"token-editor-field-value": "awsui_token-editor-field-value_1wzqe_nfnzo_141",
|
|
16
|
+
"token-editor-actions": "awsui_token-editor-actions_1wzqe_nfnzo_144",
|
|
17
|
+
"token-editor-cancel": "awsui_token-editor-cancel_1wzqe_nfnzo_153",
|
|
18
|
+
"token-editor-submit": "awsui_token-editor-submit_1wzqe_nfnzo_156",
|
|
19
|
+
"custom-control": "awsui_custom-control_1wzqe_nfnzo_160",
|
|
20
|
+
"input": "awsui_input_1wzqe_nfnzo_110",
|
|
21
|
+
"results": "awsui_results_1wzqe_nfnzo_168",
|
|
22
|
+
"results-visible": "awsui_results-visible_1wzqe_nfnzo_174",
|
|
23
|
+
"separator": "awsui_separator_1wzqe_nfnzo_178",
|
|
24
|
+
"toggle-collapsed": "awsui_toggle-collapsed_1wzqe_nfnzo_185",
|
|
25
|
+
"token-trigger": "awsui_token-trigger_1wzqe_nfnzo_190",
|
|
26
|
+
"remove-all": "awsui_remove-all_1wzqe_nfnzo_196",
|
|
27
|
+
"token-label": "awsui_token-label_1wzqe_nfnzo_197",
|
|
28
|
+
"join-operation": "awsui_join-operation_1wzqe_nfnzo_198"
|
|
30
29
|
};
|
|
31
30
|
|
|
@@ -81,7 +81,7 @@ export function TokenEditor(_a) {
|
|
|
81
81
|
var operator = temporaryToken.operator && allowedOperators.indexOf(temporaryToken.operator) !== -1
|
|
82
82
|
? temporaryToken.operator
|
|
83
83
|
: allowedOperators[0];
|
|
84
|
-
setTemporaryToken(__assign(__assign({}, temporaryToken), { propertyKey: newPropertyKey, operator: operator }));
|
|
84
|
+
setTemporaryToken(__assign(__assign({}, temporaryToken), { propertyKey: newPropertyKey, operator: operator, value: '' }));
|
|
85
85
|
};
|
|
86
86
|
var operator = temporaryToken.operator;
|
|
87
87
|
var onChangeOperator = function (newOperator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-editor.js","sourceRoot":"","sources":["../../../src/property-filter/token-editor.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 React, { useState, useRef } from 'react';\n\nimport { SelectProps } from '../select/interfaces';\nimport InternalSelect from '../select/internal';\nimport InternalAutosuggest from '../autosuggest/internal';\nimport InternalPopover, { InternalPopoverRef } from '../popover/internal';\nimport { InternalButton } from '../button/internal';\n\nimport {\n ComparisonOperator,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n LoadItemsDetail,\n Token,\n} from './interfaces';\nimport styles from './styles.css.js';\nimport { useLoadItems } from './use-load-items';\nimport {\n getAllowedOperators,\n getPropertyOptions,\n getPropertyByKey,\n operatorToDescription,\n getPropertySuggestions,\n} from './controller';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { DropdownStatusProps } from '../internal/components/dropdown-status/interfaces';\nimport InternalFormField from '../form-field/internal';\n\nconst freeTextOperators: ComparisonOperator[] = [':', '!:'];\n\ninterface PropertyInputProps {\n asyncProps: null | DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disableFreeTextFiltering?: boolean;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangePropertyKey: (propertyKey: undefined | string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n propertyKey: undefined | string;\n}\n\nfunction PropertyInput({\n propertyKey,\n onChangePropertyKey,\n asyncProps,\n filteringProperties,\n onLoadItems,\n customGroupsText,\n i18nStrings,\n disableFreeTextFiltering,\n}: PropertyInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const propertySelectHandlers = useLoadItems(onLoadItems);\n const asyncPropertySelectProps = asyncProps ? { ...asyncProps, ...propertySelectHandlers } : {};\n const propertyOptions: (SelectProps.Option | SelectProps.OptionGroup)[] = getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n ({ propertyLabel, key }) => ({\n value: key,\n label: propertyLabel,\n dontCloseOnSelect: true,\n })\n );\n const allPropertiesOption = {\n label: i18nStrings.allPropertiesLabel,\n value: undefined,\n };\n if (!disableFreeTextFiltering) {\n propertyOptions.unshift(allPropertiesOption);\n }\n return (\n <InternalSelect\n options={propertyOptions}\n selectedOption={\n property\n ? {\n value: propertyKey ?? undefined,\n label: property.propertyLabel,\n }\n : allPropertiesOption\n }\n onChange={e => onChangePropertyKey(e.detail.selectedOption.value)}\n {...asyncPropertySelectProps}\n />\n );\n}\n\ninterface OperatorInputProps {\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeOperator: (operator: ComparisonOperator) => void;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n}\n\nfunction OperatorInput({\n propertyKey,\n operator,\n onChangeOperator,\n filteringProperties,\n i18nStrings,\n}: OperatorInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const freeTextOperators: ComparisonOperator[] = [':', '!:'];\n const operatorOptions = (property ? getAllowedOperators(property) : freeTextOperators).map(operator => ({\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }));\n return (\n <InternalSelect\n options={operatorOptions}\n triggerVariant=\"option\"\n selectedOption={\n operator\n ? {\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }\n : null\n }\n onChange={e => onChangeOperator(e.detail.selectedOption.value as ComparisonOperator)}\n />\n );\n}\n\ninterface ValueInputProps {\n asyncProps: DropdownStatusProps;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeValue: (value: string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n value: undefined | string;\n}\n\nfunction ValueInput({\n propertyKey,\n operator,\n value,\n onChangeValue,\n asyncProps,\n filteringProperties,\n filteringOptions,\n onLoadItems,\n i18nStrings,\n}: ValueInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const valueOptions = property ? getPropertyOptions(property, filteringOptions).map(({ value }) => ({ value })) : [];\n const valueAutosuggestHandlers = useLoadItems(onLoadItems, '', property);\n const asyncValueAutosuggesProps = propertyKey\n ? { ...valueAutosuggestHandlers, ...asyncProps }\n : { empty: asyncProps.empty };\n return (\n <InternalAutosuggest\n enteredTextLabel={i18nStrings.enteredTextLabel}\n value={value ?? ''}\n onChange={e => onChangeValue(e.detail.value)}\n disabled={!operator}\n options={valueOptions}\n {...asyncValueAutosuggesProps}\n virtualScroll={true}\n />\n );\n}\n\ninterface TokenEditorProps {\n asyncProperties?: boolean;\n asyncProps: DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disabled?: boolean;\n disableFreeTextFiltering?: boolean;\n expandToViewport?: boolean;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n setToken: (newToken: Token) => void;\n token: Token;\n triggerComponent?: React.ReactNode;\n}\n\nexport function TokenEditor({\n asyncProperties,\n asyncProps,\n customGroupsText,\n disableFreeTextFiltering,\n expandToViewport,\n filteringOptions,\n filteringProperties,\n i18nStrings,\n onLoadItems,\n setToken,\n token,\n triggerComponent,\n}: TokenEditorProps) {\n const [temporaryToken, setTemporaryToken] = useState<Token>(token);\n const popoverRef = useRef<InternalPopoverRef>(null);\n const closePopover = () => {\n popoverRef.current && popoverRef.current.dismissPopover();\n };\n\n const propertyKey = temporaryToken.propertyKey;\n const onChangePropertyKey = (newPropertyKey: undefined | string) => {\n const filteringProperty = filteringProperties.reduce<FilteringProperty | undefined>(\n (acc, property) => (property.key === newPropertyKey ? property : acc),\n undefined\n );\n const allowedOperators = filteringProperty ? getAllowedOperators(filteringProperty) : freeTextOperators;\n const operator =\n temporaryToken.operator && allowedOperators.indexOf(temporaryToken.operator) !== -1\n ? temporaryToken.operator\n : allowedOperators[0];\n setTemporaryToken({ ...temporaryToken, propertyKey: newPropertyKey, operator });\n };\n\n const operator = temporaryToken.operator;\n const onChangeOperator = (newOperator: ComparisonOperator) => {\n setTemporaryToken({ ...temporaryToken, operator: newOperator });\n };\n\n const value = temporaryToken.value;\n const onChangeValue = (newValue: string) => {\n setTemporaryToken({ ...temporaryToken, value: newValue });\n };\n\n return (\n <InternalPopover\n ref={popoverRef}\n className={styles['token-label']}\n triggerType=\"text\"\n header={i18nStrings.editTokenHeader}\n size=\"large\"\n position=\"right\"\n dismissAriaLabel={i18nStrings.dismissAriaLabel}\n __onOpen={() => setTemporaryToken(token)}\n renderWithPortal={expandToViewport}\n content={\n <div className={styles['token-editor']}>\n <div className={styles['token-editor-form']}>\n <InternalFormField label={i18nStrings.propertyText} className={styles['token-editor-field-property']}>\n <PropertyInput\n propertyKey={propertyKey}\n onChangePropertyKey={onChangePropertyKey}\n asyncProps={asyncProperties ? asyncProps : null}\n filteringProperties={filteringProperties}\n onLoadItems={onLoadItems}\n customGroupsText={customGroupsText}\n i18nStrings={i18nStrings}\n disableFreeTextFiltering={disableFreeTextFiltering}\n />\n </InternalFormField>\n\n <InternalFormField label={i18nStrings.operatorText} className={styles['token-editor-field-operator']}>\n <OperatorInput\n propertyKey={propertyKey}\n operator={operator}\n onChangeOperator={onChangeOperator}\n filteringProperties={filteringProperties}\n i18nStrings={i18nStrings}\n />\n </InternalFormField>\n\n <InternalFormField label={i18nStrings.valueText} className={styles['token-editor-field-value']}>\n <ValueInput\n propertyKey={propertyKey}\n operator={operator}\n value={value}\n onChangeValue={onChangeValue}\n asyncProps={asyncProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n />\n </InternalFormField>\n </div>\n\n <div className={styles['token-editor-actions']}>\n <InternalButton variant=\"link\" className={styles['token-editor-cancel']} onClick={closePopover}>\n {i18nStrings.cancelActionText}\n </InternalButton>\n <InternalButton\n className={styles['token-editor-submit']}\n onClick={() => {\n setToken(temporaryToken);\n closePopover();\n }}\n >\n {i18nStrings.applyActionText}\n </InternalButton>\n </div>\n </div>\n }\n >\n {triggerComponent}\n </InternalPopover>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"token-editor.js","sourceRoot":"","sources":["../../../src/property-filter/token-editor.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 React, { useState, useRef } from 'react';\n\nimport { SelectProps } from '../select/interfaces';\nimport InternalSelect from '../select/internal';\nimport InternalAutosuggest from '../autosuggest/internal';\nimport InternalPopover, { InternalPopoverRef } from '../popover/internal';\nimport { InternalButton } from '../button/internal';\n\nimport {\n ComparisonOperator,\n FilteringOption,\n FilteringProperty,\n GroupText,\n I18nStrings,\n LoadItemsDetail,\n Token,\n} from './interfaces';\nimport styles from './styles.css.js';\nimport { useLoadItems } from './use-load-items';\nimport {\n getAllowedOperators,\n getPropertyOptions,\n getPropertyByKey,\n operatorToDescription,\n getPropertySuggestions,\n} from './controller';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { DropdownStatusProps } from '../internal/components/dropdown-status/interfaces';\nimport InternalFormField from '../form-field/internal';\n\nconst freeTextOperators: ComparisonOperator[] = [':', '!:'];\n\ninterface PropertyInputProps {\n asyncProps: null | DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disableFreeTextFiltering?: boolean;\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangePropertyKey: (propertyKey: undefined | string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n propertyKey: undefined | string;\n}\n\nfunction PropertyInput({\n propertyKey,\n onChangePropertyKey,\n asyncProps,\n filteringProperties,\n onLoadItems,\n customGroupsText,\n i18nStrings,\n disableFreeTextFiltering,\n}: PropertyInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const propertySelectHandlers = useLoadItems(onLoadItems);\n const asyncPropertySelectProps = asyncProps ? { ...asyncProps, ...propertySelectHandlers } : {};\n const propertyOptions: (SelectProps.Option | SelectProps.OptionGroup)[] = getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n ({ propertyLabel, key }) => ({\n value: key,\n label: propertyLabel,\n dontCloseOnSelect: true,\n })\n );\n const allPropertiesOption = {\n label: i18nStrings.allPropertiesLabel,\n value: undefined,\n };\n if (!disableFreeTextFiltering) {\n propertyOptions.unshift(allPropertiesOption);\n }\n return (\n <InternalSelect\n options={propertyOptions}\n selectedOption={\n property\n ? {\n value: propertyKey ?? undefined,\n label: property.propertyLabel,\n }\n : allPropertiesOption\n }\n onChange={e => onChangePropertyKey(e.detail.selectedOption.value)}\n {...asyncPropertySelectProps}\n />\n );\n}\n\ninterface OperatorInputProps {\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeOperator: (operator: ComparisonOperator) => void;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n}\n\nfunction OperatorInput({\n propertyKey,\n operator,\n onChangeOperator,\n filteringProperties,\n i18nStrings,\n}: OperatorInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const freeTextOperators: ComparisonOperator[] = [':', '!:'];\n const operatorOptions = (property ? getAllowedOperators(property) : freeTextOperators).map(operator => ({\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }));\n return (\n <InternalSelect\n options={operatorOptions}\n triggerVariant=\"option\"\n selectedOption={\n operator\n ? {\n value: operator,\n label: operator,\n description: operatorToDescription(operator, i18nStrings),\n }\n : null\n }\n onChange={e => onChangeOperator(e.detail.selectedOption.value as ComparisonOperator)}\n />\n );\n}\n\ninterface ValueInputProps {\n asyncProps: DropdownStatusProps;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onChangeValue: (value: string) => void;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n operator: undefined | ComparisonOperator;\n propertyKey: undefined | string;\n value: undefined | string;\n}\n\nfunction ValueInput({\n propertyKey,\n operator,\n value,\n onChangeValue,\n asyncProps,\n filteringProperties,\n filteringOptions,\n onLoadItems,\n i18nStrings,\n}: ValueInputProps) {\n const property = propertyKey !== undefined ? getPropertyByKey(filteringProperties, propertyKey) : undefined;\n const valueOptions = property ? getPropertyOptions(property, filteringOptions).map(({ value }) => ({ value })) : [];\n const valueAutosuggestHandlers = useLoadItems(onLoadItems, '', property);\n const asyncValueAutosuggesProps = propertyKey\n ? { ...valueAutosuggestHandlers, ...asyncProps }\n : { empty: asyncProps.empty };\n return (\n <InternalAutosuggest\n enteredTextLabel={i18nStrings.enteredTextLabel}\n value={value ?? ''}\n onChange={e => onChangeValue(e.detail.value)}\n disabled={!operator}\n options={valueOptions}\n {...asyncValueAutosuggesProps}\n virtualScroll={true}\n />\n );\n}\n\ninterface TokenEditorProps {\n asyncProperties?: boolean;\n asyncProps: DropdownStatusProps;\n customGroupsText: readonly GroupText[];\n disabled?: boolean;\n disableFreeTextFiltering?: boolean;\n expandToViewport?: boolean;\n filteringOptions: readonly FilteringOption[];\n filteringProperties: readonly FilteringProperty[];\n i18nStrings: I18nStrings;\n onLoadItems?: NonCancelableEventHandler<LoadItemsDetail>;\n setToken: (newToken: Token) => void;\n token: Token;\n triggerComponent?: React.ReactNode;\n}\n\nexport function TokenEditor({\n asyncProperties,\n asyncProps,\n customGroupsText,\n disableFreeTextFiltering,\n expandToViewport,\n filteringOptions,\n filteringProperties,\n i18nStrings,\n onLoadItems,\n setToken,\n token,\n triggerComponent,\n}: TokenEditorProps) {\n const [temporaryToken, setTemporaryToken] = useState<Token>(token);\n const popoverRef = useRef<InternalPopoverRef>(null);\n const closePopover = () => {\n popoverRef.current && popoverRef.current.dismissPopover();\n };\n\n const propertyKey = temporaryToken.propertyKey;\n const onChangePropertyKey = (newPropertyKey: undefined | string) => {\n const filteringProperty = filteringProperties.reduce<FilteringProperty | undefined>(\n (acc, property) => (property.key === newPropertyKey ? property : acc),\n undefined\n );\n const allowedOperators = filteringProperty ? getAllowedOperators(filteringProperty) : freeTextOperators;\n const operator =\n temporaryToken.operator && allowedOperators.indexOf(temporaryToken.operator) !== -1\n ? temporaryToken.operator\n : allowedOperators[0];\n setTemporaryToken({ ...temporaryToken, propertyKey: newPropertyKey, operator, value: '' });\n };\n\n const operator = temporaryToken.operator;\n const onChangeOperator = (newOperator: ComparisonOperator) => {\n setTemporaryToken({ ...temporaryToken, operator: newOperator });\n };\n\n const value = temporaryToken.value;\n const onChangeValue = (newValue: string) => {\n setTemporaryToken({ ...temporaryToken, value: newValue });\n };\n\n return (\n <InternalPopover\n ref={popoverRef}\n className={styles['token-label']}\n triggerType=\"text\"\n header={i18nStrings.editTokenHeader}\n size=\"large\"\n position=\"right\"\n dismissAriaLabel={i18nStrings.dismissAriaLabel}\n __onOpen={() => setTemporaryToken(token)}\n renderWithPortal={expandToViewport}\n content={\n <div className={styles['token-editor']}>\n <div className={styles['token-editor-form']}>\n <InternalFormField label={i18nStrings.propertyText} className={styles['token-editor-field-property']}>\n <PropertyInput\n propertyKey={propertyKey}\n onChangePropertyKey={onChangePropertyKey}\n asyncProps={asyncProperties ? asyncProps : null}\n filteringProperties={filteringProperties}\n onLoadItems={onLoadItems}\n customGroupsText={customGroupsText}\n i18nStrings={i18nStrings}\n disableFreeTextFiltering={disableFreeTextFiltering}\n />\n </InternalFormField>\n\n <InternalFormField label={i18nStrings.operatorText} className={styles['token-editor-field-operator']}>\n <OperatorInput\n propertyKey={propertyKey}\n operator={operator}\n onChangeOperator={onChangeOperator}\n filteringProperties={filteringProperties}\n i18nStrings={i18nStrings}\n />\n </InternalFormField>\n\n <InternalFormField label={i18nStrings.valueText} className={styles['token-editor-field-value']}>\n <ValueInput\n propertyKey={propertyKey}\n operator={operator}\n value={value}\n onChangeValue={onChangeValue}\n asyncProps={asyncProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n />\n </InternalFormField>\n </div>\n\n <div className={styles['token-editor-actions']}>\n <InternalButton variant=\"link\" className={styles['token-editor-cancel']} onClick={closePopover}>\n {i18nStrings.cancelActionText}\n </InternalButton>\n <InternalButton\n className={styles['token-editor-submit']}\n onClick={() => {\n setToken(temporaryToken);\n closePopover();\n }}\n >\n {i18nStrings.applyActionText}\n </InternalButton>\n </div>\n </div>\n }\n >\n {triggerComponent}\n </InternalPopover>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAgBlG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAS1B,QAAA,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAgBlG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAS1B,QAAA,MAAM,SAAS,2FAkPd,CAAC;AAGF,eAAe,SAAS,CAAC"}
|
|
@@ -146,7 +146,7 @@ var TagEditor = React.forwardRef(function (_a, ref) {
|
|
|
146
146
|
React.createElement(InternalStatusIndicator, { className: styles.loading, type: "loading" }, i18nStrings.loading)));
|
|
147
147
|
}
|
|
148
148
|
var baseProps = getBaseProps(restProps);
|
|
149
|
-
return (React.createElement(InternalAttributeEditor, __assign({}, baseProps, baseComponentProps, { ref: attributeEditorRef, className: clsx(styles.root, baseProps.className), items: internalTags, isItemRemovable: isItemRemovable, onAddButtonClick: onAddButtonClick, onRemoveButtonClick: onRemoveButtonClick, addButtonText: i18nStrings.addButton, removeButtonText: i18nStrings.removeButton, disableAddButton: remainingTags <= 0, empty: i18nStrings.emptyTags, additionalInfo: React.createElement("div", { "aria-live": "polite" }, remainingTags < 0 ? (React.createElement(FormFieldError,
|
|
149
|
+
return (React.createElement(InternalAttributeEditor, __assign({}, baseProps, baseComponentProps, { ref: attributeEditorRef, className: clsx(styles.root, baseProps.className), items: internalTags, isItemRemovable: isItemRemovable, onAddButtonClick: onAddButtonClick, onRemoveButtonClick: onRemoveButtonClick, addButtonText: i18nStrings.addButton, removeButtonText: i18nStrings.removeButton, disableAddButton: remainingTags <= 0, empty: i18nStrings.emptyTags, additionalInfo: React.createElement("div", { "aria-live": "polite" }, remainingTags < 0 ? (React.createElement(FormFieldError, { errorIconAriaLabel: i18nStrings.errorIconAriaLabel }, (_b = i18nStrings.tagLimitExceeded(tagLimit)) !== null && _b !== void 0 ? _b : '')) : remainingTags === 0 ? ((_c = i18nStrings.tagLimitReached(tagLimit)) !== null && _c !== void 0 ? _c : '') : (i18nStrings.tagLimit(remainingTags, tagLimit))), definition: definition })));
|
|
150
150
|
});
|
|
151
151
|
applyDisplayName(TagEditor, 'TagEditor');
|
|
152
152
|
export default TagEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/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 React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport { useStableEventHandler } from '../internal/hooks/use-stable-event-handler';\n\nimport { InputProps } from '../input/interfaces';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\n\nimport { TagControl, UndoButton } from './internal';\nimport { TagEditorProps } from './interfaces';\nimport { validate, ValidationError } from './validation';\nimport { findIndex, useMemoizedArray } from './utils';\n\nimport styles from './styles.css.js';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { TagEditorProps };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = findIndex(internalTags, ({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableEventHandler(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n keyInputRefs.current[detail.itemIndex]?.focus();\n }\n }\n );\n\n const onKeyChange = useStableEventHandler((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableEventHandler((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableEventHandler((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableEventHandler((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18nStrings.keyHeader,\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18nStrings.keyPlaceholder}\n errorText={i18nStrings.keysSuggestionError}\n loadingText={i18nStrings.keysSuggestionLoading}\n suggestionText={i18nStrings.keySuggestion}\n tooManySuggestionText={i18nStrings.tooManyKeysSuggestion}\n enteredTextLabel={i18nStrings.enteredKeyLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <>\n {i18nStrings.valueHeader} - <i>{i18nStrings.optional}</i>\n </>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18nStrings.undoPrompt}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18nStrings.undoButton}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18nStrings.valuePlaceholder}\n errorText={i18nStrings.valuesSuggestionError}\n loadingText={i18nStrings.valuesSuggestionLoading}\n suggestionText={i18nStrings.valueSuggestion}\n tooManySuggestionText={i18nStrings.tooManyValuesSuggestion}\n enteredTextLabel={i18nStrings.enteredValueLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n {i18nStrings.loading}\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18nStrings.addButton}\n removeButtonText={i18nStrings.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18nStrings.emptyTags}\n additionalInfo={\n <div aria-live=\"polite\">\n {remainingTags < 0 ? (\n <FormFieldError>{i18nStrings.tagLimitExceeded(tagLimit) ?? ''}</FormFieldError>\n ) : remainingTags === 0 ? (\n i18nStrings.tagLimitReached(tagLimit) ?? ''\n ) : (\n i18nStrings.tagLimit(remainingTags, tagLimit)\n )}\n </div>\n }\n definition={definition}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAA4B,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAKnF,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAmB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AASpE,IAAM,eAAe,GAAG,UAAC,EAAoB;QAAlB,GAAG,SAAA;IAAoB,OAAA,CAAC,GAAG,CAAC,gBAAgB;AAArB,CAAqB,CAAC;AAExE,IAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,UACE,EAUiB,EACjB,GAAkC;;IAVhC,IAAA,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EACT,WAAW,iBAAA,EACX,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,uBAAuB,6BAAA,EACvB,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,QAAQ,cAAA,EACL,SAAS,cATd,qHAUC,CADa;IAId,IAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEzD,IAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,GAAG,CAAC,gBAAgB,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC;IAElF,IAAM,kBAAkB,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAClE,IAAM,YAAY,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACvE,IAAM,cAAc,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACzE,IAAM,cAAc,GAAG,MAAM,CAA2C,EAAE,CAAC,CAAC;IAE5E,IAAM,oBAAoB,GAAG,MAAM,CAA2B,EAAE,CAAC,CAAC;IAClE,IAAM,gBAAgB,GAAG,MAAM,CAAY,EAAE,CAAC,CAAC;IAC/C,IAAM,aAAa,GAAG,MAAM,EAAc,CAAC;IAE3C,eAAe,CAAC;;QACd,MAAA,aAAa,CAAC,OAAO,0CAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAM,MAAM,GAAG,QAAQ,CACrB,IAAI,EACJ,gBAAgB,CAAC,OAAO,EACxB,WAAW,EACX,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;IAEF,IAAM,YAAY,GAAG,gBAAgB,CACnC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,CAAC,EAAE,GAAG,KAAA,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAA3B,CAA2B,CAAC,EACjD,UAAC,IAAI,EAAE,IAAI;;QACT,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,OAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAAA,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,OAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAA,CAAC;IACjH,CAAC,CACF,CAAC;IAEF,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,CAAC;QACL,KAAK;;YACH,IAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,UAAC,EAAS;oBAAP,KAAK,WAAA;gBAAO,OAAA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA;YAA1B,CAA0B,CAAC,CAAC;YACtF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACrB,IAAM,QAAQ,GAAG,CAAA,MAAA,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,0CAAE,GAAG,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBACrF,MAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,0CAAE,KAAK,EAAE,CAAC;aACvC;QACH,CAAC;KACF,CAAC,EARI,CAQJ,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,IAAM,eAAe,GAAG,WAAW,CACjC,UAAC,OAA0C;QACzC,sBAAsB,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,QAAQ,CACd,OAAO,EACP,gBAAgB,CAAC,OAAO,EACxB,WAAW,EACX,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,EAAL,CAAK,CAAC;SACvB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,WAAW,EAAE,uBAAuB,CAAC,CACjD,CAAC;IAEF,IAAM,gBAAgB,GAAG;QACvB,eAAe,iCAAK,IAAI,UAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAE,CAAC;QACpE,aAAa,CAAC,OAAO,GAAG;;YACtB,MAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,KAAK,EAAE,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,mBAAmB,GAAG,qBAAqB,CAC/C,UAAC,EAAkF;;YAAhF,MAAM,YAAA;QACP,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;QACjD,eAAe,+CACV,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,SAC/B,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAE,gBAAgB,EAAE,IAAI,IAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SACzE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,QACnC,CAAC;QACH,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,OAAO,GAAG;;gBACtB,MAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,EAAE,CAAC;YACpD,CAAC,CAAC;SACH;aAAM;YACL,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrD,MAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,EAAE,CAAC;SACjD;IACH,CAAC,CACF,CAAC;IAEF,IAAM,WAAW,GAAG,qBAAqB,CAAC,UAAC,KAAa,EAAE,GAAW;QACnE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrC,eAAe,+CAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,gCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,GAAG,EAAE,KAAK,cAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,QAAE,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,IAAM,SAAS,GAAG,qBAAqB,CAAC,UAAC,GAAW;QAClD,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrC,qDAAqD;QACrD,eAAe,mBAAK,IAAI,QAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,qBAAqB,CAAC,UAAC,KAAa,EAAE,GAAW;QACrE,eAAe,+CAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,gCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,KAAK,OAAA,cAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,QAAE,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,qBAAqB,CAAC,UAAC,GAAW;QACtD,eAAe,+CAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,gCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,gBAAgB,EAAE,KAAK,cAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,QAAE,CAAC;QAC5G,aAAa,CAAC,OAAO,GAAG;;YACtB,MAAA,kBAAkB,CAAC,OAAO,0CAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAM,UAAU,GAAG,OAAO,CACxB,cAAM,OAAA;QACJ;YACE,KAAK,EAAE,WAAW,CAAC,SAAS;YAC5B,OAAO,EAAE,UAAC,EAAoB,EAAE,GAAW;oBAA/B,GAAG,SAAA;gBAAiC,OAAA,CAC9C,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,CAAC,GAAG,EACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,KAAK,EAAE,GAAG,EACV,cAAc,EAAE,EAAE,EAClB,WAAW,EAAE,WAAW,CAAC,cAAc,EACvC,SAAS,EAAE,WAAW,CAAC,mBAAmB,EAC1C,WAAW,EAAE,WAAW,CAAC,qBAAqB,EAC9C,cAAc,EAAE,WAAW,CAAC,aAAa,EACzC,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,EACxD,gBAAgB,EAAE,WAAW,CAAC,eAAe,EAC7C,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,oBAAoB,EACvC,GAAG,EAAE,UAAA,GAAG;wBACN,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBAClC,CAAC,GACD,CACH;YArB+C,CAqB/C;YACD,SAAS,EAAE,UAAC,EAAsB;oBAApB,KAAK,WAAA;gBAAoB,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG;YAAV,CAAU;SAClD;QACD;YACE,KAAK,EAAE,CACL;gBACG,WAAW,CAAC,WAAW;;gBAAI,+BAAI,WAAW,CAAC,QAAQ,CAAK,CACxD,CACJ;YACD,OAAO,EAAE,UAAC,EAAoB,EAAE,GAAW;;oBAA/B,GAAG,SAAA;gBACb,OAAA,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACrB,6BAAK,IAAI,EAAC,OAAO;oBACf,oBAAC,WAAW,IAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;wBAChC,WAAW,CAAC,UAAU;wBAAE,GAAG;wBAC5B,oBAAC,UAAU,IACT,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,GAAG,CAAC,EAAlB,CAAkB,EACjC,GAAG,EAAE,UAAA,IAAI;gCACP,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BACrC,CAAC,IAEA,WAAW,CAAC,UAAU,CACZ,CACD,CACV,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,GAAG,EACV,cAAc,EAAE,MAAA,GAAG,CAAC,sBAAsB,mCAAI,EAAE,EAChD,WAAW,EAAE,WAAW,CAAC,gBAAgB,EACzC,SAAS,EAAE,WAAW,CAAC,qBAAqB,EAC5C,WAAW,EAAE,WAAW,CAAC,uBAAuB,EAChD,cAAc,EAAE,WAAW,CAAC,eAAe,EAC3C,qBAAqB,EAAE,WAAW,CAAC,uBAAuB,EAC1D,gBAAgB,EAAE,WAAW,CAAC,iBAAiB,EAC/C,YAAY,EAAE,GAAG,CAAC,GAAG,EACrB,SAAS,EAAE,aAAa,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAA7B,CAA6B,CAAC,EACpE,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,UAAA,GAAG;wBACN,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACpC,CAAC,GACD,CACH,CAAA;aAAA;YACH,SAAS,EAAE,UAAC,EAAsB;oBAApB,KAAK,WAAA;gBAAoB,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK;YAAZ,CAAY;SACpD;KACF,EAvEK,CAuEL,EACD,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAChG,CAAC;IAEF,IAAI,OAAO,EAAE;QACX,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,iBAAiB;YACpE,oBAAC,uBAAuB,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAC,SAAS,IAC/D,WAAW,CAAC,OAAO,CACI,CACtB,CACP,CAAC;KACH;IAED,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,CACL,oBAAC,uBAAuB,eAClB,SAAS,EACT,kBAAkB,IACtB,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACjD,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,WAAW,CAAC,SAAS,EACpC,gBAAgB,EAAE,WAAW,CAAC,YAAY,EAC1C,gBAAgB,EAAE,aAAa,IAAI,CAAC,EACpC,KAAK,EAAE,WAAW,CAAC,SAAS,EAC5B,cAAc,EACZ,0CAAe,QAAQ,IACpB,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,oBAAC,cAAc,IAAC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,IAC/D,MAAA,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAC9B,CAClB,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CACxB,MAAA,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAC5C,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAC9C,CACG,EAER,UAAU,EAAE,UAAU,IACtB,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport { useStableEventHandler } from '../internal/hooks/use-stable-event-handler';\n\nimport { InputProps } from '../input/interfaces';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\n\nimport { TagControl, UndoButton } from './internal';\nimport { TagEditorProps } from './interfaces';\nimport { validate, ValidationError } from './validation';\nimport { findIndex, useMemoizedArray } from './utils';\n\nimport styles from './styles.css.js';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { TagEditorProps };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = findIndex(internalTags, ({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableEventHandler(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n keyInputRefs.current[detail.itemIndex]?.focus();\n }\n }\n );\n\n const onKeyChange = useStableEventHandler((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableEventHandler((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableEventHandler((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableEventHandler((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18nStrings.keyHeader,\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18nStrings.keyPlaceholder}\n errorText={i18nStrings.keysSuggestionError}\n loadingText={i18nStrings.keysSuggestionLoading}\n suggestionText={i18nStrings.keySuggestion}\n tooManySuggestionText={i18nStrings.tooManyKeysSuggestion}\n enteredTextLabel={i18nStrings.enteredKeyLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <>\n {i18nStrings.valueHeader} - <i>{i18nStrings.optional}</i>\n </>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18nStrings.undoPrompt}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18nStrings.undoButton}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18nStrings.valuePlaceholder}\n errorText={i18nStrings.valuesSuggestionError}\n loadingText={i18nStrings.valuesSuggestionLoading}\n suggestionText={i18nStrings.valueSuggestion}\n tooManySuggestionText={i18nStrings.tooManyValuesSuggestion}\n enteredTextLabel={i18nStrings.enteredValueLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n {i18nStrings.loading}\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18nStrings.addButton}\n removeButtonText={i18nStrings.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18nStrings.emptyTags}\n additionalInfo={\n <div aria-live=\"polite\">\n {remainingTags < 0 ? (\n <FormFieldError errorIconAriaLabel={i18nStrings.errorIconAriaLabel}>\n {i18nStrings.tagLimitExceeded(tagLimit) ?? ''}\n </FormFieldError>\n ) : remainingTags === 0 ? (\n i18nStrings.tagLimitReached(tagLimit) ?? ''\n ) : (\n i18nStrings.tagLimit(remainingTags, tagLimit)\n )}\n </div>\n }\n definition={definition}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
|
|
@@ -92,6 +92,7 @@ export declare namespace TagEditorProps {
|
|
|
92
92
|
tooManyKeysSuggestion: string;
|
|
93
93
|
tooManyValuesSuggestion: string;
|
|
94
94
|
emptyTags: string;
|
|
95
|
+
errorIconAriaLabel: string;
|
|
95
96
|
keysSuggestionLoading: string;
|
|
96
97
|
keysSuggestionError: string;
|
|
97
98
|
valuesSuggestionError: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tag-editor/interfaces.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tag-editor/interfaces.tsx"],"names":[],"mappings":"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"}
|