@codecademy/gamut
73.5.073.5.1-alpha.7af239.0
dist/Form/SelectDropdown/SelectDropdown.js~
dist/Form/SelectDropdown/SelectDropdown.jsModified+17−9
Index: package/dist/Form/SelectDropdown/SelectDropdown.js
===================================================================
--- package/dist/Form/SelectDropdown/SelectDropdown.js
+++ package/dist/Form/SelectDropdown/SelectDropdown.js
@@ -2,11 +2,11 @@
import { screenReaderOnly } from '@codecademy/gamut-styles';
import { useTheme } from '@emotion/react';
import { useId, useMemo, useRef, useState } from 'react';
import * as React from 'react';
-import { onFocus } from './core/accessibility';
import { getDefaultComponents } from './core/constants';
import { getMemoizedStyles } from './core/styles';
+import { DEFAULT_SELECT_DROPDOWN_TRANSLATIONS } from './core/translations';
import { resolveNoOptionsMessage } from './core/utils';
import { formatGroupLabel, formatOptionLabel, SelectDropdownContext, TypedReactSelect } from './elements';
import { useNoOptionsAnnouncement } from './hooks/useNoOptionsAnnouncement';
import { useSelectHandlers } from './hooks/useSelectHandlers';
@@ -15,9 +15,9 @@
/** Announces the custom `validationMessage` menu text - see `useNoOptionsAnnouncement`. */
const NoOptionsLiveRegion = /*#__PURE__*/_styled("div", {
target: "e2dtq0m0",
label: "NoOptionsLiveRegion"
-})(screenReaderOnly, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Gb3JtL1NlbGVjdERyb3Bkb3duL1NlbGVjdERyb3Bkb3duLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QjRCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9Gb3JtL1NlbGVjdERyb3Bkb3duL1NlbGVjdERyb3Bkb3duLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjcmVlblJlYWRlck9ubHkgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0eWxlc0NvbmZpZyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmltcG9ydCB7IG9uRm9jdXMgfSBmcm9tICcuL2NvcmUvYWNjZXNzaWJpbGl0eSc7XG5pbXBvcnQgeyBnZXREZWZhdWx0Q29tcG9uZW50cyB9IGZyb20gJy4vY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TWVtb2l6ZWRTdHlsZXMgfSBmcm9tICcuL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IHJlc29sdmVOb09wdGlvbnNNZXNzYWdlIH0gZnJvbSAnLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIGZvcm1hdEdyb3VwTGFiZWwsXG4gIGZvcm1hdE9wdGlvbkxhYmVsLFxuICBTZWxlY3REcm9wZG93bkNvbnRleHQsXG4gIFR5cGVkUmVhY3RTZWxlY3QsXG59IGZyb20gJy4vZWxlbWVudHMnO1xuaW1wb3J0IHsgdXNlTm9PcHRpb25zQW5ub3VuY2VtZW50IH0gZnJvbSAnLi9ob29rcy91c2VOb09wdGlvbnNBbm5vdW5jZW1lbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0SGFuZGxlcnMgfSBmcm9tICcuL2hvb2tzL3VzZVNlbGVjdEhhbmRsZXJzJztcbmltcG9ydCB7IHVzZVNlbGVjdE9wdGlvbnMgfSBmcm9tICcuL2hvb2tzL3VzZVNlbGVjdE9wdGlvbnMnO1xuaW1wb3J0IHsgT3B0aW9uU3RyaWN0LCBTZWxlY3REcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKiBBbm5vdW5jZXMgdGhlIGN1c3RvbSBgdmFsaWRhdGlvbk1lc3NhZ2VgIG1lbnUgdGV4dCAtIHNlZSBgdXNlTm9PcHRpb25zQW5ub3VuY2VtZW50YC4gKi9cbmNvbnN0IE5vT3B0aW9uc0xpdmVSZWdpb24gPSBzdHlsZWQuZGl2KHNjcmVlblJlYWRlck9ubHkpO1xuXG4vKipcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gc2VsZWN0IGNvbXBvbmVudCBidWlsdCBvbiB0b3Agb2YgcmVhY3Qtc2VsZWN0LlxuICpcbiAqIFN1cHBvcnRzIGJvdGggc2luZ2xlIGFuZCBtdWx0aS1zZWxlY3QgbW9kZXMgd2l0aCBjdXN0b21pemFibGUgb3B0aW9ucyBpbmNsdWRpbmdcbiAqIGljb25zLCBzdWJ0aXRsZXMsIHJpZ2h0IGxhYmVscywgYW5kIGFiYnJldmlhdGlvbnMuIFRoZSBjb21wb25lbnQgcHJvdmlkZXNcbiAqIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCByZXNwb25zaXZlIHN0eWxpbmcuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQmFzaWMgc2luZ2xlIHNlbGVjdFxuICogPFNlbGVjdERyb3Bkb3duXG4gKiAgIG5hbWU9XCJjb3VudHJ5XCJcbiAqICAgb3B0aW9ucz17W1xuICogICAgIHsgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJywgdmFsdWU6ICd1cycgfSxcbiAqICAgICB7IGxhYmVsOiAnQ2FuYWRhJywgdmFsdWU6ICdjYScgfVxuICogICBdfVxuICogICBvbkNoYW5nZT17KG9wdGlvbikgPT4gY29uc29sZS5sb2cob3B0aW9uKX1cbiAqIC8+XG4gKlxuICogLy8gTXVsdGktc2VsZWN0IHdpdGggaWNvbnNcbiAqIDxTZWxlY3REcm9wZG93blxuICogICBuYW1lPVwic2tpbGxzXCJcbiAqICAgbXVsdGlwbGVcbiAqICAgb3B0aW9ucz17W1xuICogICAgIHsgbGFiZWw6ICdSZWFjdCcsIHZhbHVlOiAncmVhY3QnLCBpY29uOiBSZWFjdEljb24gfSxcbiAqICAgICB7IGxhYmVsOiAnVHlwZVNjcmlwdCcsIHZhbHVlOiAndHMnLCBpY29uOiBUeXBlU2NyaXB0SWNvbiB9XG4gKiAgIF19XG4gKiAgIG9uQ2hhbmdlPXsob3B0aW9ucykgPT4gY29uc29sZS5sb2cob3B0aW9ucyl9XG4gKiAvPlxuICpcbiAqIC8vIEdyb3VwZWQgb3B0aW9ucyB3aXRoIGV4dGVuZGVkIGZlYXR1cmVzXG4gKiA8U2VsZWN0RHJvcGRvd25cbiAqICAgbmFtZT1cImNhdGVnb3J5XCJcbiAqICAgcGxhY2Vob2xkZXI9XCJEZWZhdWx0IHBsYWNlaG9sZGVyIHRleHRcIlxuICogICBvcHRpb25zPXtbXG4gKiAgICAge1xuICogICAgICAgbGFiZWw6ICdGcm9udGVuZCcsXG4gKiAgICAgICBvcHRpb25zOiBbXG4gKiAgICAgICAgIHsgbGFiZWw6ICdSZWFjdCcsIHZhbHVlOiAncmVhY3QnLCBzdWJ0aXRsZTogJ1VJIExpYnJhcnknIH0sXG4gKiAgICAgICAgIHsgbGFiZWw6ICdWdWUnLCB2YWx1ZTogJ3Z1ZScsIHN1YnRpdGxlOiAnUHJvZ3Jlc3NpdmUgRnJhbWV3b3JrJyB9XG4gKiAgICAgICBdXG4gKiAgICAgfVxuICogICBdfVxuICogLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgU2VsZWN0RHJvcGRvd246IFJlYWN0LkZDPFNlbGVjdERyb3Bkb3duUHJvcHM+ID0gKHtcbiAgY3JlYXRlT3B0aW9uUG9zaXRpb24sXG4gIGRpc2FibGVkLFxuICBkcm9wZG93bldpZHRoLFxuICBlcnJvcixcbiAgZm9ybWF0Q3JlYXRlTGFiZWwgPSAoaW5wdXRWYWx1ZTogc3RyaW5nKSA9PiBgQWRkIFwiJHtpbnB1dFZhbHVlfVwiYCxcbiAgaWQsXG4gIGlucHV0UHJvcHMsXG4gIGlucHV0V2lkdGgsXG4gIGlzQ3JlYXRhYmxlID0gZmFsc2UsXG4gIGlzU2VhcmNoYWJsZTogaXNTZWFyY2hhYmxlUHJvcCA9IGZhbHNlLFxuICBpc1ZhbGlkTmV3T3B0aW9uLFxuICBtZW51QWxpZ25tZW50ID0gJ2xlZnQnLFxuICBtdWx0aXBsZSxcbiAgbmFtZSxcbiAgb25DaGFuZ2UsXG4gIG9uQ3JlYXRlT3B0aW9uLFxuICBvbklucHV0Q2hhbmdlLFxuICBvbk1lbnVDbG9zZSxcbiAgb3B0aW9ucyxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IGFuIG9wdGlvbicsXG4gIHNob3duT3B0aW9uc0xpbWl0ID0gNixcbiAgc2l6ZSxcbiAgdmFsaWRhdGlvbk1lc3NhZ2UsXG4gIHZhbHVlLFxuICB6SW5kZXgsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgLy8gaXNTZWFyY2hhYmxlIGlzIGZvcmNlZCB0cnVlIHdoZW4gaXNDcmVhdGFibGUgaXMgdHJ1ZSAoQ3JlYXRhYmxlU2VsZWN0IHJlcXVpcmVzIGEgdGV4dCBpbnB1dClcbiAgY29uc3QgaXNTZWFyY2hhYmxlID0gaXNDcmVhdGFibGUgfHwgaXNTZWFyY2hhYmxlUHJvcDtcbiAgY29uc3QgcmF3SW5wdXRJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IGlucHV0SWQgPSBuYW1lID8/IGAke2lkID8/IHJhd0lucHV0SWR9LXNlbGVjdC1kcm9wZG93bi0ke3Jhd0lucHV0SWR9YDtcblxuICBjb25zdCByZW1vdmVBbGxCdXR0b25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBzZWxlY3RJbnB1dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgW2N1cnJlbnRGb2N1c2VkVmFsdWUsIHNldEN1cnJlbnRGb2N1c2VkVmFsdWVdID0gdXNlU3RhdGUodW5kZWZpbmVkKTtcblxuICBjb25zdCB7IHNlbGVjdE9wdGlvbnMsIHBhcnNlZFZhbHVlIH0gPSB1c2VTZWxlY3RPcHRpb25zKHtcbiAgICBvcHRpb25zLFxuICAgIGlkLFxuICAgIHNpemUsXG4gICAgdmFsdWU6IHZhbHVlIGFzIHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICB9KTtcblxuICBjb25zdCBub09wdGlvbnNNZXNzYWdlID0gcmVzb2x2ZU5vT3B0aW9uc01lc3NhZ2UodmFsaWRhdGlvbk1lc3NhZ2UpO1xuICBjb25zdCB7IG5vT3B0aW9uc01lc3NhZ2VDb21wb25lbnQsIGFubm91bmNlbWVudCwgY2xlYXJBbm5vdW5jZW1lbnQgfSA9XG4gICAgdXNlTm9PcHRpb25zQW5ub3VuY2VtZW50KCk7XG4gIGNvbnN0IGNvbXBvbmVudHMgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldERlZmF1bHRDb21wb25lbnRzKG5vT3B0aW9uc01lc3NhZ2VDb21wb25lbnQpLFxuICAgIFtub09wdGlvbnNNZXNzYWdlQ29tcG9uZW50XVxuICApO1xuICBjb25zdCBoYW5kbGVNZW51Q2xvc2UgPSAoKSA9PiB7XG4gICAgY2xlYXJBbm5vdW5jZW1lbnQoKTtcbiAgICBvbk1lbnVDbG9zZT8uKCk7XG4gIH07XG5cbiAgY29uc3QgeyBhY3RpdmF0ZWQsIG11bHRpVmFsdWVzLCBjaGFuZ2VIYW5kbGVyLCBrZXlQcmVzc0hhbmRsZXIgfSA9XG4gICAgdXNlU2VsZWN0SGFuZGxlcnMoe1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBtdWx0aXBsZSxcbiAgICAgIG9uQ3JlYXRlT3B0aW9uLFxuICAgICAgc2VsZWN0T3B0aW9ucyxcbiAgICAgIHZhbHVlLFxuICAgICAgY3VycmVudEZvY3VzZWRWYWx1ZSxcbiAgICAgIHJlbW92ZUFsbEJ1dHRvblJlZixcbiAgICB9KTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IG1lbW9pemVkU3R5bGVzID0gdXNlTWVtbygoKTogU3R5bGVzQ29uZmlnPGFueSwgZmFsc2U+ID0+IHtcbiAgICByZXR1cm4gZ2V0TWVtb2l6ZWRTdHlsZXModGhlbWUsIHpJbmRleCk7XG4gIH0sIFt0aGVtZSwgekluZGV4XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17e1xuICAgICAgICBjdXJyZW50Rm9jdXNlZFZhbHVlLFxuICAgICAgICBzZXRDdXJyZW50Rm9jdXNlZFZhbHVlLFxuICAgICAgICByZW1vdmVBbGxCdXR0b25SZWYsXG4gICAgICAgIHNlbGVjdElucHV0UmVmLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VHlwZWRSZWFjdFNlbGVjdFxuICAgICAgICBhY3RpdmF0ZWQ9e2FjdGl2YXRlZH1cbiAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgYXJpYUxpdmVNZXNzYWdlcz17eyBvbkZvY3VzIH19XG4gICAgICAgIGNvbXBvbmVudHM9e2NvbXBvbmVudHN9XG4gICAgICAgIGNyZWF0ZU9wdGlvblBvc2l0aW9uPXtjcmVhdGVPcHRpb25Qb3NpdGlvbn1cbiAgICAgICAgZHJvcGRvd25XaWR0aD17ZHJvcGRvd25XaWR0aH1cbiAgICAgICAgZXJyb3I9e0Jvb2xlYW4oZXJyb3IpfVxuICAgICAgICBmb3JtYXRDcmVhdGVMYWJlbD17Zm9ybWF0Q3JlYXRlTGFiZWx9XG4gICAgICAgIGZvcm1hdEdyb3VwTGFiZWw9e2Zvcm1hdEdyb3VwTGFiZWx9XG4gICAgICAgIGZvcm1hdE9wdGlvbkxhYmVsPXtmb3JtYXRPcHRpb25MYWJlbH1cbiAgICAgICAgaWQ9e2lkIHx8IHJlc3QuaHRtbEZvciB8fCByYXdJbnB1dElkfVxuICAgICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgICBpbnB1dFByb3BzPXt7IC4uLmlucHV0UHJvcHMgfX1cbiAgICAgICAgaW5wdXRXaWR0aD17aW5wdXRXaWR0aH1cbiAgICAgICAgaXNDcmVhdGFibGU9e2lzQ3JlYXRhYmxlfVxuICAgICAgICBpc0Rpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgaXNNdWx0aT17bXVsdGlwbGV9XG4gICAgICAgIGlzT3B0aW9uRGlzYWJsZWQ9eyhvcHRpb246IE9wdGlvblN0cmljdCAmIHsgZGlzYWJsZWQ/OiBib29sZWFuIH0pID0+XG4gICAgICAgICAgb3B0aW9uLmRpc2FibGVkID8/IGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgaXNTZWFyY2hhYmxlPXtpc1NlYXJjaGFibGV9XG4gICAgICAgIGlzVmFsaWROZXdPcHRpb249e2lzVmFsaWROZXdPcHRpb259XG4gICAgICAgIG1lbnVBbGlnbm1lbnQ9e21lbnVBbGlnbm1lbnR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9e25vT3B0aW9uc01lc3NhZ2V9XG4gICAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgc2VsZWN0UmVmPXtzZWxlY3RJbnB1dFJlZn1cbiAgICAgICAgc2hvd25PcHRpb25zTGltaXQ9e3Nob3duT3B0aW9uc0xpbWl0fVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBzdHlsZXM9e21lbW9pemVkU3R5bGVzfVxuICAgICAgICB2YWx1ZT17bXVsdGlwbGUgPyBtdWx0aVZhbHVlcyA6IHBhcnNlZFZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17Y2hhbmdlSGFuZGxlcn1cbiAgICAgICAgb25JbnB1dENoYW5nZT17b25JbnB1dENoYW5nZX1cbiAgICAgICAgb25LZXlEb3duPXttdWx0aXBsZSA/IGtleVByZXNzSGFuZGxlciA6IHVuZGVmaW5lZH1cbiAgICAgICAgb25NZW51Q2xvc2U9e2hhbmRsZU1lbnVDbG9zZX1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgICAgPE5vT3B0aW9uc0xpdmVSZWdpb24gYXJpYS1saXZlPVwicG9saXRlXCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICB7YW5ub3VuY2VtZW50fVxuICAgICAgPC9Ob09wdGlvbnNMaXZlUmVnaW9uPlxuICAgIDwvU2VsZWN0RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiJdfQ== */");
+})(screenReaderOnly, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Gb3JtL1NlbGVjdERyb3Bkb3duL1NlbGVjdERyb3Bkb3duLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QjRCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9Gb3JtL1NlbGVjdERyb3Bkb3duL1NlbGVjdERyb3Bkb3duLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjcmVlblJlYWRlck9ubHkgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0eWxlc0NvbmZpZyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmltcG9ydCB7IGdldERlZmF1bHRDb21wb25lbnRzIH0gZnJvbSAnLi9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRNZW1vaXplZFN0eWxlcyB9IGZyb20gJy4vY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgREVGQVVMVF9TRUxFQ1RfRFJPUERPV05fVFJBTlNMQVRJT05TIH0gZnJvbSAnLi9jb3JlL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyByZXNvbHZlTm9PcHRpb25zTWVzc2FnZSB9IGZyb20gJy4vY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBmb3JtYXRHcm91cExhYmVsLFxuICBmb3JtYXRPcHRpb25MYWJlbCxcbiAgU2VsZWN0RHJvcGRvd25Db250ZXh0LFxuICBUeXBlZFJlYWN0U2VsZWN0LFxufSBmcm9tICcuL2VsZW1lbnRzJztcbmltcG9ydCB7IHVzZU5vT3B0aW9uc0Fubm91bmNlbWVudCB9IGZyb20gJy4vaG9va3MvdXNlTm9PcHRpb25zQW5ub3VuY2VtZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdEhhbmRsZXJzIH0gZnJvbSAnLi9ob29rcy91c2VTZWxlY3RIYW5kbGVycyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RPcHRpb25zIH0gZnJvbSAnLi9ob29rcy91c2VTZWxlY3RPcHRpb25zJztcbmltcG9ydCB7IE9wdGlvblN0cmljdCwgU2VsZWN0RHJvcGRvd25Qcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKiogQW5ub3VuY2VzIHRoZSBjdXN0b20gYHZhbGlkYXRpb25NZXNzYWdlYCBtZW51IHRleHQgLSBzZWUgYHVzZU5vT3B0aW9uc0Fubm91bmNlbWVudGAuICovXG5jb25zdCBOb09wdGlvbnNMaXZlUmVnaW9uID0gc3R5bGVkLmRpdihzY3JlZW5SZWFkZXJPbmx5KTtcblxuLyoqXG4gKiBBIGZsZXhpYmxlIGRyb3Bkb3duIHNlbGVjdCBjb21wb25lbnQgYnVpbHQgb24gdG9wIG9mIHJlYWN0LXNlbGVjdC5cbiAqXG4gKiBTdXBwb3J0cyBib3RoIHNpbmdsZSBhbmQgbXVsdGktc2VsZWN0IG1vZGVzIHdpdGggY3VzdG9taXphYmxlIG9wdGlvbnMgaW5jbHVkaW5nXG4gKiBpY29ucywgc3VidGl0bGVzLCByaWdodCBsYWJlbHMsIGFuZCBhYmJyZXZpYXRpb25zLiBUaGUgY29tcG9uZW50IHByb3ZpZGVzXG4gKiBhY2Nlc3NpYmlsaXR5IGZlYXR1cmVzLCBrZXlib2FyZCBuYXZpZ2F0aW9uLCBhbmQgcmVzcG9uc2l2ZSBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHNpbmdsZSBzZWxlY3RcbiAqIDxTZWxlY3REcm9wZG93blxuICogICBuYW1lPVwiY291bnRyeVwiXG4gKiAgIG9wdGlvbnM9e1tcbiAqICAgICB7IGxhYmVsOiAnVW5pdGVkIFN0YXRlcycsIHZhbHVlOiAndXMnIH0sXG4gKiAgICAgeyBsYWJlbDogJ0NhbmFkYScsIHZhbHVlOiAnY2EnIH1cbiAqICAgXX1cbiAqICAgb25DaGFuZ2U9eyhvcHRpb24pID0+IGNvbnNvbGUubG9nKG9wdGlvbil9XG4gKiAvPlxuICpcbiAqIC8vIE11bHRpLXNlbGVjdCB3aXRoIGljb25zXG4gKiA8U2VsZWN0RHJvcGRvd25cbiAqICAgbmFtZT1cInNraWxsc1wiXG4gKiAgIG11bHRpcGxlXG4gKiAgIG9wdGlvbnM9e1tcbiAqICAgICB7IGxhYmVsOiAnUmVhY3QnLCB2YWx1ZTogJ3JlYWN0JywgaWNvbjogUmVhY3RJY29uIH0sXG4gKiAgICAgeyBsYWJlbDogJ1R5cGVTY3JpcHQnLCB2YWx1ZTogJ3RzJywgaWNvbjogVHlwZVNjcmlwdEljb24gfVxuICogICBdfVxuICogICBvbkNoYW5nZT17KG9wdGlvbnMpID0+IGNvbnNvbGUubG9nKG9wdGlvbnMpfVxuICogLz5cbiAqXG4gKiAvLyBHcm91cGVkIG9wdGlvbnMgd2l0aCBleHRlbmRlZCBmZWF0dXJlc1xuICogPFNlbGVjdERyb3Bkb3duXG4gKiAgIG5hbWU9XCJjYXRlZ29yeVwiXG4gKiAgIHBsYWNlaG9sZGVyPVwiRGVmYXVsdCBwbGFjZWhvbGRlciB0ZXh0XCJcbiAqICAgb3B0aW9ucz17W1xuICogICAgIHtcbiAqICAgICAgIGxhYmVsOiAnRnJvbnRlbmQnLFxuICogICAgICAgb3B0aW9uczogW1xuICogICAgICAgICB7IGxhYmVsOiAnUmVhY3QnLCB2YWx1ZTogJ3JlYWN0Jywgc3VidGl0bGU6ICdVSSBMaWJyYXJ5JyB9LFxuICogICAgICAgICB7IGxhYmVsOiAnVnVlJywgdmFsdWU6ICd2dWUnLCBzdWJ0aXRsZTogJ1Byb2dyZXNzaXZlIEZyYW1ld29yaycgfVxuICogICAgICAgXVxuICogICAgIH1cbiAqICAgXX1cbiAqIC8+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFNlbGVjdERyb3Bkb3duOiBSZWFjdC5GQzxTZWxlY3REcm9wZG93blByb3BzPiA9ICh7XG4gIGNyZWF0ZU9wdGlvblBvc2l0aW9uLFxuICBkaXNhYmxlZCxcbiAgZHJvcGRvd25XaWR0aCxcbiAgZXJyb3IsXG4gIGZvcm1hdENyZWF0ZUxhYmVsLFxuICBpZCxcbiAgaW5wdXRQcm9wcyxcbiAgaW5wdXRXaWR0aCxcbiAgaXNDcmVhdGFibGUgPSBmYWxzZSxcbiAgaXNTZWFyY2hhYmxlOiBpc1NlYXJjaGFibGVQcm9wID0gZmFsc2UsXG4gIGlzVmFsaWROZXdPcHRpb24sXG4gIG1lbnVBbGlnbm1lbnQgPSAnbGVmdCcsXG4gIG11bHRpcGxlLFxuICBuYW1lLFxuICBvbkNoYW5nZSxcbiAgb25DcmVhdGVPcHRpb24sXG4gIG9uSW5wdXRDaGFuZ2UsXG4gIG9uTWVudUNsb3NlLFxuICBvcHRpb25zLFxuICBwbGFjZWhvbGRlcixcbiAgc2hvd25PcHRpb25zTGltaXQgPSA2LFxuICBzaXplLFxuICB0cmFuc2xhdGlvbnMsXG4gIHZhbGlkYXRpb25NZXNzYWdlLFxuICB2YWx1ZSxcbiAgekluZGV4LFxuICAuLi5yZXN0XG59KSA9PiB7XG4gIGNvbnN0IG1lcmdlZFRyYW5zbGF0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHsgLi4uREVGQVVMVF9TRUxFQ1RfRFJPUERPV05fVFJBTlNMQVRJT05TLCAuLi50cmFuc2xhdGlvbnMgfSksXG4gICAgW3RyYW5zbGF0aW9uc11cbiAgKTtcbiAgLy8gaXNTZWFyY2hhYmxlIGlzIGZvcmNlZCB0cnVlIHdoZW4gaXNDcmVhdGFibGUgaXMgdHJ1ZSAoQ3JlYXRhYmxlU2VsZWN0IHJlcXVpcmVzIGEgdGV4dCBpbnB1dClcbiAgY29uc3QgaXNTZWFyY2hhYmxlID0gaXNDcmVhdGFibGUgfHwgaXNTZWFyY2hhYmxlUHJvcDtcbiAgY29uc3QgcmF3SW5wdXRJZCA9IHVzZUlkKCk7XG4gIGNvbnN0IGlucHV0SWQgPSBuYW1lID8/IGAke2lkID8/IHJhd0lucHV0SWR9LXNlbGVjdC1kcm9wZG93bi0ke3Jhd0lucHV0SWR9YDtcblxuICBjb25zdCByZW1vdmVBbGxCdXR0b25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBzZWxlY3RJbnB1dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgW2N1cnJlbnRGb2N1c2VkVmFsdWUsIHNldEN1cnJlbnRGb2N1c2VkVmFsdWVdID0gdXNlU3RhdGUodW5kZWZpbmVkKTtcblxuICBjb25zdCB7IHNlbGVjdE9wdGlvbnMsIHBhcnNlZFZhbHVlIH0gPSB1c2VTZWxlY3RPcHRpb25zKHtcbiAgICBvcHRpb25zLFxuICAgIGlkLFxuICAgIHNpemUsXG4gICAgdmFsdWU6IHZhbHVlIGFzIHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICB9KTtcblxuICBjb25zdCBub09wdGlvbnNNZXNzYWdlID0gcmVzb2x2ZU5vT3B0aW9uc01lc3NhZ2UoXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgbWVyZ2VkVHJhbnNsYXRpb25zLnZhbGlkYXRpb25NZXNzYWdlXG4gICk7XG4gIGNvbnN0IHsgbm9PcHRpb25zTWVzc2FnZUNvbXBvbmVudCwgYW5ub3VuY2VtZW50LCBjbGVhckFubm91bmNlbWVudCB9ID1cbiAgICB1c2VOb09wdGlvbnNBbm5vdW5jZW1lbnQoKTtcbiAgY29uc3QgY29tcG9uZW50cyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0RGVmYXVsdENvbXBvbmVudHMobm9PcHRpb25zTWVzc2FnZUNvbXBvbmVudCksXG4gICAgW25vT3B0aW9uc01lc3NhZ2VDb21wb25lbnRdXG4gICk7XG4gIGNvbnN0IGhhbmRsZU1lbnVDbG9zZSA9ICgpID0+IHtcbiAgICBjbGVhckFubm91bmNlbWVudCgpO1xuICAgIG9uTWVudUNsb3NlPy4oKTtcbiAgfTtcblxuICBjb25zdCB7IGFjdGl2YXRlZCwgbXVsdGlWYWx1ZXMsIGNoYW5nZUhhbmRsZXIsIGtleVByZXNzSGFuZGxlciB9ID1cbiAgICB1c2VTZWxlY3RIYW5kbGVycyh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG11bHRpcGxlLFxuICAgICAgb25DcmVhdGVPcHRpb24sXG4gICAgICBzZWxlY3RPcHRpb25zLFxuICAgICAgdmFsdWUsXG4gICAgICBjdXJyZW50Rm9jdXNlZFZhbHVlLFxuICAgICAgcmVtb3ZlQWxsQnV0dG9uUmVmLFxuICAgIH0pO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgbWVtb2l6ZWRTdHlsZXMgPSB1c2VNZW1vKCgpOiBTdHlsZXNDb25maWc8YW55LCBmYWxzZT4gPT4ge1xuICAgIHJldHVybiBnZXRNZW1vaXplZFN0eWxlcyh0aGVtZSwgekluZGV4KTtcbiAgfSwgW3RoZW1lLCB6SW5kZXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxTZWxlY3REcm9wZG93bkNvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIGN1cnJlbnRGb2N1c2VkVmFsdWUsXG4gICAgICAgIHNldEN1cnJlbnRGb2N1c2VkVmFsdWUsXG4gICAgICAgIHJlbW92ZUFsbEJ1dHRvblJlZixcbiAgICAgICAgc2VsZWN0SW5wdXRSZWYsXG4gICAgICAgIHRyYW5zbGF0aW9uczogbWVyZ2VkVHJhbnNsYXRpb25zLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VHlwZWRSZWFjdFNlbGVjdFxuICAgICAgICBhY3RpdmF0ZWQ9e2FjdGl2YXRlZH1cbiAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgYXJpYUxpdmVNZXNzYWdlcz17e1xuICAgICAgICAgIG9uRm9jdXM6ICh7IGZvY3VzZWQgfSkgPT5cbiAgICAgICAgICAgIG1lcmdlZFRyYW5zbGF0aW9ucy5mb2N1c2VkT3B0aW9uQW5ub3VuY2VtZW50KGZvY3VzZWQpLFxuICAgICAgICB9fVxuICAgICAgICBjb21wb25lbnRzPXtjb21wb25lbnRzfVxuICAgICAgICBjcmVhdGVPcHRpb25Qb3NpdGlvbj17Y3JlYXRlT3B0aW9uUG9zaXRpb259XG4gICAgICAgIGRyb3Bkb3duV2lkdGg9e2Ryb3Bkb3duV2lkdGh9XG4gICAgICAgIGVycm9yPXtCb29sZWFuKGVycm9yKX1cbiAgICAgICAgZm9ybWF0Q3JlYXRlTGFiZWw9e1xuICAgICAgICAgIGZvcm1hdENyZWF0ZUxhYmVsID8/IG1lcmdlZFRyYW5zbGF0aW9ucy5mb3JtYXRDcmVhdGVMYWJlbFxuICAgICAgICB9XG4gICAgICAgIGZvcm1hdEdyb3VwTGFiZWw9e2Zvcm1hdEdyb3VwTGFiZWx9XG4gICAgICAgIGZvcm1hdE9wdGlvbkxhYmVsPXtmb3JtYXRPcHRpb25MYWJlbH1cbiAgICAgICAgaWQ9e2lkIHx8IHJlc3QuaHRtbEZvciB8fCByYXdJbnB1dElkfVxuICAgICAgICBpbnB1dElkPXtpbnB1dElkfVxuICAgICAgICBpbnB1dFByb3BzPXt7IC4uLmlucHV0UHJvcHMgfX1cbiAgICAgICAgaW5wdXRXaWR0aD17aW5wdXRXaWR0aH1cbiAgICAgICAgaXNDcmVhdGFibGU9e2lzQ3JlYXRhYmxlfVxuICAgICAgICBpc0Rpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgaXNNdWx0aT17bXVsdGlwbGV9XG4gICAgICAgIGlzT3B0aW9uRGlzYWJsZWQ9eyhvcHRpb246IE9wdGlvblN0cmljdCAmIHsgZGlzYWJsZWQ/OiBib29sZWFuIH0pID0+XG4gICAgICAgICAgb3B0aW9uLmRpc2FibGVkID8/IGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgaXNTZWFyY2hhYmxlPXtpc1NlYXJjaGFibGV9XG4gICAgICAgIGlzVmFsaWROZXdPcHRpb249e2lzVmFsaWROZXdPcHRpb259XG4gICAgICAgIG1lbnVBbGlnbm1lbnQ9e21lbnVBbGlnbm1lbnR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIG5vT3B0aW9uc01lc3NhZ2U9e25vT3B0aW9uc01lc3NhZ2V9XG4gICAgICAgIG9wdGlvbnM9e3NlbGVjdE9wdGlvbnN9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlciA/PyBtZXJnZWRUcmFuc2xhdGlvbnMucGxhY2Vob2xkZXJ9XG4gICAgICAgIHNlbGVjdFJlZj17c2VsZWN0SW5wdXRSZWZ9XG4gICAgICAgIHNob3duT3B0aW9uc0xpbWl0PXtzaG93bk9wdGlvbnNMaW1pdH1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgc3R5bGVzPXttZW1vaXplZFN0eWxlc31cbiAgICAgICAgdmFsdWU9e211bHRpcGxlID8gbXVsdGlWYWx1ZXMgOiBwYXJzZWRWYWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e2NoYW5nZUhhbmRsZXJ9XG4gICAgICAgIG9uSW5wdXRDaGFuZ2U9e29uSW5wdXRDaGFuZ2V9XG4gICAgICAgIG9uS2V5RG93bj17bXVsdGlwbGUgPyBrZXlQcmVzc0hhbmRsZXIgOiB1bmRlZmluZWR9XG4gICAgICAgIG9uTWVudUNsb3NlPXtoYW5kbGVNZW51Q2xvc2V9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgLz5cbiAgICAgIDxOb09wdGlvbnNMaXZlUmVnaW9uIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIHJvbGU9XCJzdGF0dXNcIj5cbiAgICAgICAge2Fubm91bmNlbWVudH1cbiAgICAgIDwvTm9PcHRpb25zTGl2ZVJlZ2lvbj5cbiAgICA8L1NlbGVjdERyb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */");
/**
* A flexible dropdown select component built on top of react-select.
*
@@ -68,9 +68,9 @@
createOptionPosition,
disabled,
dropdownWidth,
error,
- formatCreateLabel = inputValue => `Add "${inputValue}"`,
+ formatCreateLabel,
id,
inputProps,
inputWidth,
isCreatable = false,
@@ -83,16 +83,21 @@
onCreateOption,
onInputChange,
onMenuClose,
options,
- placeholder = 'Select an option',
+ placeholder,
shownOptionsLimit = 6,
size,
+ translations,
validationMessage,
value,
zIndex,
...rest
}) => {
+ const mergedTranslations = useMemo(() => ({
+ ...DEFAULT_SELECT_DROPDOWN_TRANSLATIONS,
+ ...translations
+ }), [translations]);
// isSearchable is forced true when isCreatable is true (CreatableSelect requires a text input)
const isSearchable = isCreatable || isSearchableProp;
const rawInputId = useId();
const inputId = name ?? `${id ?? rawInputId}-select-dropdown-${rawInputId}`;
@@ -107,9 +112,9 @@
id,
size,
value: value
});
- const noOptionsMessage = resolveNoOptionsMessage(validationMessage);
+ const noOptionsMessage = resolveNoOptionsMessage(validationMessage, mergedTranslations.validationMessage);
const {
noOptionsMessageComponent,
announcement,
clearAnnouncement
@@ -141,21 +146,24 @@
value: {
currentFocusedValue,
setCurrentFocusedValue,
removeAllButtonRef,
- selectInputRef
+ selectInputRef,
+ translations: mergedTranslations
},
children: [/*#__PURE__*/_jsx(TypedReactSelect, {
activated: activated,
"aria-live": "assertive",
ariaLiveMessages: {
- onFocus
+ onFocus: ({
+ focused
+ }) => mergedTranslations.focusedOptionAnnouncement(focused)
},
components: components,
createOptionPosition: createOptionPosition,
dropdownWidth: dropdownWidth,
error: Boolean(error),
- formatCreateLabel: formatCreateLabel,
+ formatCreateLabel: formatCreateLabel ?? mergedTranslations.formatCreateLabel,
formatGroupLabel: formatGroupLabel,
formatOptionLabel: formatOptionLabel,
id: id || rest.htmlFor || rawInputId,
inputId: inputId,
@@ -172,9 +180,9 @@
menuAlignment: menuAlignment,
name: name,
noOptionsMessage: noOptionsMessage,
options: selectOptions,
- placeholder: placeholder,
+ placeholder: placeholder ?? mergedTranslations.placeholder,
selectRef: selectInputRef,
shownOptionsLimit: shownOptionsLimit,
size: size,
styles: memoizedStyles,