@transferwise/components 46.138.0 → 46.140.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/build/flowNavigation/FlowNavigation.js +2 -4
  2. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  3. package/build/flowNavigation/FlowNavigation.mjs +2 -4
  4. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  5. package/build/loader/Loader.js +16 -6
  6. package/build/loader/Loader.js.map +1 -1
  7. package/build/loader/Loader.mjs +17 -7
  8. package/build/loader/Loader.mjs.map +1 -1
  9. package/build/main.css +33 -285
  10. package/build/moneyInput/MoneyInput.js +2 -1
  11. package/build/moneyInput/MoneyInput.js.map +1 -1
  12. package/build/moneyInput/MoneyInput.mjs +2 -1
  13. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  14. package/build/popover/Popover.js +2 -2
  15. package/build/popover/Popover.js.map +1 -1
  16. package/build/popover/Popover.mjs +2 -2
  17. package/build/popover/Popover.mjs.map +1 -1
  18. package/build/select/Select.js +0 -3
  19. package/build/select/Select.js.map +1 -1
  20. package/build/select/Select.mjs +0 -3
  21. package/build/select/Select.mjs.map +1 -1
  22. package/build/styles/css/neptune.css +11 -275
  23. package/build/styles/less/neptune-tokens.less +2 -2
  24. package/build/styles/listItem/ListItem.css +1 -0
  25. package/build/styles/loader/Loader.css +14 -4
  26. package/build/styles/main.css +33 -285
  27. package/build/styles/props/neptune-tokens.css +1 -1
  28. package/build/styles/styles/less/neptune.css +11 -275
  29. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  30. package/build/types/loader/Loader.d.ts +4 -1
  31. package/build/types/loader/Loader.d.ts.map +1 -1
  32. package/build/types/moneyInput/MoneyInput.d.ts +1 -0
  33. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  34. package/build/types/select/Select.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/flowNavigation/FlowNavigation.story.tsx +14 -9
  37. package/src/flowNavigation/FlowNavigation.test.js +2 -2
  38. package/src/flowNavigation/FlowNavigation.test.story.tsx +77 -0
  39. package/src/flowNavigation/FlowNavigation.tsx +2 -5
  40. package/src/inputs/SelectInput/_stories/SelectInput.test.story.tsx +82 -0
  41. package/src/listItem/ListItem.css +1 -0
  42. package/src/listItem/ListItem.less +1 -0
  43. package/src/loader/Loader.css +14 -4
  44. package/src/loader/Loader.less +54 -88
  45. package/src/loader/Loader.story.tsx +4 -0
  46. package/src/loader/Loader.test.tsx +20 -5
  47. package/src/loader/Loader.tsx +18 -7
  48. package/src/main.css +33 -285
  49. package/src/modal/Modal.test.story.tsx +61 -0
  50. package/src/moneyInput/MoneyInput.story.tsx +20 -0
  51. package/src/moneyInput/MoneyInput.test.tsx +49 -0
  52. package/src/moneyInput/MoneyInput.tsx +2 -0
  53. package/src/popover/Popover.story.tsx +45 -0
  54. package/src/popover/Popover.test.story.tsx +124 -0
  55. package/src/popover/Popover.test.tsx +55 -0
  56. package/src/popover/Popover.tsx +2 -2
  57. package/src/select/Select.test.story.tsx +74 -1
  58. package/src/select/Select.tsx +0 -3
  59. package/src/styles/less/neptune.css +11 -275
@@ -1 +1 @@
1
- {"version":3,"file":"Select.mjs","sources":["../../src/select/Select.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useState, useEffect, useRef, useMemo, useId } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Button, { ButtonProps } from '../button';\nimport Chevron from '../chevron';\nimport { Position, Size } from '../common';\nimport BottomSheet from '../common/bottomSheet';\nimport { stopPropagation } from '../common/domHelpers';\nimport { useLayout } from '../common/hooks';\nimport Panel from '../common/panel';\nimport Drawer from '../drawer';\nimport { useInputAttributes } from '../inputs/contexts';\n\nimport messages from './Select.messages';\nimport Option from './option';\nimport SearchBox from './searchBox';\n\nconst DEFAULT_SEARCH_VALUE = '';\nconst DEFAULT_OPTIONS_PAGE_SIZE = 1000;\n\nconst includesString = (string1: string, string2: string) =>\n string1.toLowerCase().includes(string2.toLowerCase());\n\nexport interface SelectOptionItem {\n value: any;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n currency?: string;\n note?: React.ReactNode;\n secondary?: React.ReactNode;\n}\n\nexport interface SelectItem extends Partial<SelectOptionItem> {\n header?: React.ReactNode;\n separator?: boolean;\n disabled?: boolean;\n searchStrings?: string[];\n}\n\nexport interface SelectItemWithPlaceholder extends SelectItem {\n placeholder?: string;\n}\n\nfunction defaultFilterFunction(option: SelectItemWithPlaceholder, searchValue: string) {\n if (isPlaceholderOption(option)) {\n return true;\n }\n const { label, note, secondary, currency, searchStrings } = option;\n return (\n (typeof label === 'string' && includesString(label, searchValue)) ||\n (typeof note === 'string' && includesString(note, searchValue)) ||\n (typeof secondary === 'string' && includesString(secondary, searchValue)) ||\n (!!currency && includesString(currency, searchValue)) ||\n (!!searchStrings && searchStrings.some((string) => includesString(string, searchValue)))\n );\n}\n\nfunction isActionableOption(option: SelectItem) {\n return !option.header && !option.separator && !option.disabled;\n}\n\nfunction isHeaderOption(option: SelectItem | null) {\n return option != null && 'header' in option;\n}\n\nfunction isSeparatorOption(option: SelectItem | null) {\n return option != null && 'separator' in option;\n}\n\nfunction clamp(from: number, to: number, value: number) {\n return Math.max(Math.min(to, value), from);\n}\n\n/**\n * No option or placeholder option is selected\n */\nconst DEFAULT_SELECTED_OPTION = null;\n\nfunction isPlaceholderOption(option: SelectItemWithPlaceholder | null) {\n return option === DEFAULT_SELECTED_OPTION || 'placeholder' in option;\n}\n\nfunction isSearchableOption(option: SelectItemWithPlaceholder | null) {\n return !isHeaderOption(option) && !isSeparatorOption(option) && !isPlaceholderOption(option);\n}\n\nconst getUniqueIdForOption = (parentId: string | undefined, option: SelectItem | null) => {\n if (option == null) {\n return undefined;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const uniqueOptionId =\n option.value || (typeof option.label === 'string' ? option.label.replace(/\\s/g, '') : '');\n\n return `option-${parentId ?? ''}-${uniqueOptionId}`;\n};\n\nexport interface SelectProps {\n placeholder?: string;\n id?: string;\n required?: boolean;\n disabled?: boolean;\n inverse?: boolean;\n dropdownRight?: `${Size.EXTRA_SMALL | Size.SMALL | Size.MEDIUM | Size.LARGE | Size.EXTRA_LARGE}`;\n dropdownWidth?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /** @default 'md' */\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /** @default true */\n block?: boolean;\n selected?: SelectOptionItem;\n /**\n * Search toggle\n * if `true` default search functionality being enabled (not case sensitive search in option labels & currency props)\n * if `function` you can define your own search function to implement custom search experience. This search function used while filtering the options array.\n */\n search?: boolean | ((option: SelectItemWithPlaceholder, searchValue: string) => boolean);\n options: SelectItem[];\n /** @default '' */\n searchValue?: string;\n searchPlaceholder?: string;\n /** @default {} */\n classNames?: Record<string, string>;\n dropdownUp?: boolean;\n buttonProps?: Extract<ButtonProps, { as?: 'button' }>;\n dropdownProps?: React.ComponentPropsWithoutRef<'ul'>;\n onChange: (value: SelectItem | typeof DEFAULT_SELECTED_OPTION) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n /**\n * To have full control of your search value and response use `onSearchChange` function combined with `searchValue` and custom filtering on the options array.\n * DO NOT USE TOGETHER WITH `search` PROPERTY\n */\n onSearchChange?: (value: string) => void;\n}\n\nconst defaultClassNames = {};\n\n/**\n * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput)\n */\nexport default function Select({\n placeholder,\n id,\n required,\n disabled,\n inverse,\n dropdownWidth,\n size = 'md',\n block = true,\n selected,\n search,\n onChange,\n onFocus,\n onBlur,\n options: defaultOptions,\n onSearchChange,\n searchValue: initSearchValue = '',\n searchPlaceholder,\n classNames: classNamesProp = defaultClassNames,\n dropdownUp,\n dropdownProps,\n buttonProps,\n}: SelectProps) {\n const inputAttributes = useInputAttributes();\n\n const { formatMessage } = useIntl();\n const s = (className: string) => classNamesProp[className] || className;\n const [open, setOpen] = useState(false);\n const [searchValue, setSearchValue] = useState(DEFAULT_SEARCH_VALUE);\n const [keyboardFocusedOptionIndex, setKeyboardFocusedOptionIndex] = useState(-1);\n const keyboardFocusedReference = useRef<HTMLLIElement>(null);\n const previousKeyboardFocusedOptionIndex = useRef(-1);\n const [numberOfOptionsShown, setNumberOfOptionsShown] = useState(DEFAULT_OPTIONS_PAGE_SIZE);\n const searchBoxReference = useRef<HTMLInputElement>(null);\n const selectReference = useRef<HTMLDivElement>(null);\n const dropdownButtonReference = useRef<HTMLButtonElement>(null);\n const optionsListReference = useRef<HTMLUListElement>(null);\n const isSearchEnabled = !!onSearchChange || !!search;\n const isDropdownAutoWidth = dropdownWidth == null;\n\n const options = useMemo(() => {\n if (!search || !searchValue) {\n return defaultOptions;\n }\n\n return defaultOptions.filter(isSearchableOption).filter((option) => {\n if (typeof search === 'function') {\n return search(option, searchValue);\n }\n return defaultFilterFunction(option, searchValue);\n });\n }, [defaultOptions, search, searchValue]);\n\n const selectableOptions = useMemo(() => options.filter(isActionableOption), [options]);\n const focusedOption = selectableOptions[keyboardFocusedOptionIndex];\n\n const fallbackButtonId = useId();\n const computedId = id || inputAttributes.id || fallbackButtonId;\n const listboxId = `${computedId}-listbox`;\n const searchBoxId = `${computedId}-searchbox`;\n\n const { isMobile } = useLayout();\n\n useEffect(() => {\n let cancelled = false;\n\n if (keyboardFocusedOptionIndex >= 0) {\n requestAnimationFrame(() => {\n if (!cancelled) {\n if (isSearchEnabled) {\n keyboardFocusedReference.current?.scrollIntoView?.({ block: 'center' });\n } else {\n keyboardFocusedReference.current?.focus();\n }\n }\n });\n\n return () => {\n cancelled = true;\n };\n }\n }, [keyboardFocusedOptionIndex, isSearchEnabled]);\n\n const handleOnClick = () => {\n setOpen(true);\n };\n\n const handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n if (event.currentTarget === event.target && open) {\n handleCloseOptions();\n }\n };\n\n const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = (event) => {\n onFocus?.(event);\n };\n\n const handleOnBlur: React.FocusEventHandler<HTMLDivElement> = (event) => {\n const { nativeEvent } = event;\n if (nativeEvent) {\n const elementReceivingFocus = nativeEvent.relatedTarget;\n const select = event.currentTarget;\n if (\n select &&\n elementReceivingFocus instanceof Node &&\n select.contains(elementReceivingFocus)\n ) {\n return;\n }\n }\n\n onBlur?.(event);\n };\n\n const handleSearchChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n setNumberOfOptionsShown(DEFAULT_OPTIONS_PAGE_SIZE);\n setSearchValue(event.target.value);\n onSearchChange?.(event.target.value);\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event) => {\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n if (open) {\n moveFocusWithDifference(event.key === 'ArrowUp' ? -1 : 1);\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case ' ':\n if (event.target !== searchBoxReference.current) {\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n }\n break;\n case 'Enter':\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case 'Escape':\n handleCloseOptions();\n stopPropagation(event);\n break;\n case 'Tab':\n if (open) {\n selectKeyboardFocusedOption();\n }\n break;\n default:\n break;\n }\n };\n\n function selectKeyboardFocusedOption() {\n if (keyboardFocusedOptionIndex >= 0 && selectableOptions.length > 0) {\n selectOption(selectableOptions[keyboardFocusedOptionIndex]);\n }\n }\n\n function moveFocusWithDifference(difference: number) {\n const selectedOptionIndex = selectableOptions.reduce((optionIndex, current, index) => {\n if (optionIndex >= 0) {\n return optionIndex;\n }\n if (isOptionSelected(selected, current)) {\n return index;\n }\n return -1;\n }, -1);\n const previousFocusedIndex = previousKeyboardFocusedOptionIndex.current;\n let indexToStartMovingFrom = previousFocusedIndex;\n if (previousFocusedIndex < 0) {\n if (selectedOptionIndex < 0) {\n setKeyboardFocusedOptionIndex(0);\n } else {\n indexToStartMovingFrom = selectedOptionIndex;\n }\n }\n\n const unClampedNewIndex = indexToStartMovingFrom + difference;\n const newIndex = clamp(0, selectableOptions.length - 1, unClampedNewIndex);\n\n setKeyboardFocusedOptionIndex(newIndex);\n }\n\n useEffect(() => {\n if (open) {\n if (!isMobile || searchValue) {\n if (isSearchEnabled && searchBoxReference.current) {\n searchBoxReference.current.focus();\n }\n if (\n !isSearchEnabled &&\n optionsListReference.current &&\n previousKeyboardFocusedOptionIndex.current < 0\n ) {\n optionsListReference.current.focus();\n }\n }\n\n previousKeyboardFocusedOptionIndex.current = keyboardFocusedOptionIndex;\n } else {\n previousKeyboardFocusedOptionIndex.current = -1;\n }\n }, [open, searchValue, isSearchEnabled, isMobile, keyboardFocusedOptionIndex]);\n\n const handleCloseOptions = () => {\n setOpen(false);\n setKeyboardFocusedOptionIndex(-1);\n if (dropdownButtonReference.current) {\n dropdownButtonReference.current.focus();\n }\n };\n\n function createSelectHandlerForOption(option: SelectItemWithPlaceholder) {\n return (event: React.SyntheticEvent) => {\n stopPropagation(event);\n selectOption(option);\n };\n }\n\n function selectOption(option: SelectItemWithPlaceholder) {\n onChange(isPlaceholderOption(option) ? DEFAULT_SELECTED_OPTION : option);\n handleCloseOptions();\n }\n\n function renderOptionsList({ className = '' } = {}) {\n const dropdownClass = clsx(\n s('np-dropdown-menu'),\n {\n [s('np-dropdown-menu-desktop')]: !isMobile,\n [s(`np-dropdown-menu-${dropdownWidth}`)]: !isMobile && !isDropdownAutoWidth,\n },\n s(className),\n );\n\n const showPlaceholder = !required && !isSearchEnabled && Boolean(placeholder);\n return (\n <ul\n ref={optionsListReference}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-activedescendant={getUniqueIdForOption(id, selected ?? null)}\n tabIndex={-1}\n className={dropdownClass}\n {...dropdownProps}\n >\n {showPlaceholder && <PlaceHolderOption />}\n {isSearchEnabled && (\n <SearchBox\n ref={searchBoxReference}\n id={searchBoxId}\n classNames={classNamesProp}\n value={initSearchValue || searchValue}\n placeholder={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n focusedOptionId={getUniqueIdForOption(id, focusedOption)}\n onChange={handleSearchChange}\n onClick={stopPropagation}\n />\n )}\n {options.slice(0, numberOfOptionsShown).map(renderOption)}\n {numberOfOptionsShown < options.length && <ShowMoreOption />}\n </ul>\n );\n }\n\n function ShowMoreOption() {\n function handleOnClick(event: React.SyntheticEvent<HTMLLIElement>) {\n stopPropagation(event);\n setNumberOfOptionsShown(numberOfOptionsShown + DEFAULT_OPTIONS_PAGE_SIZE);\n }\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={clsx(s('clickable'), s('border-bottom'), s('show-more'))}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>...</a>\n </li>\n );\n }\n\n function PlaceHolderOption() {\n const placeholderOption = { placeholder };\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={clsx(s('clickable'), s('border-bottom'))}\n onClick={createSelectHandlerForOption(placeholderOption)}\n onKeyPress={createSelectHandlerForOption(placeholderOption)}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>{placeholder}</a>\n </li>\n );\n }\n\n function SeparatorOption() {\n return <li className={s('np-separator')} aria-hidden />;\n }\n\n function HeaderOption({ children }: { children?: React.ReactNode }) {\n return (\n <li // eslint-disable-line jsx-a11y/no-noninteractive-element-interactions\n className={clsx(s('np-dropdown-header'), s('np-text-title-group'))}\n onClick={stopPropagation}\n onKeyPress={stopPropagation}\n >\n {children}\n </li>\n );\n }\n\n function isOptionSelected(selected: SelectOptionItem | undefined, option: SelectItem) {\n return selected?.value === option?.value;\n }\n\n const renderOption = (option: SelectItem, index: number) => {\n const separatorOption = option;\n if (isSeparatorOption(separatorOption) && separatorOption?.separator) {\n return <SeparatorOption key={index} />;\n }\n const headerOption = option;\n if (isHeaderOption(headerOption) && headerOption.header) {\n return <HeaderOption key={index}>{headerOption.header}</HeaderOption>;\n }\n\n const isActive = isOptionSelected(selected, option);\n const selectOption = option;\n const isFocusedWithKeyboard =\n !selectOption.disabled &&\n keyboardFocusedOptionIndex === getIndexWithoutHeadersForIndexWithHeaders(index);\n\n const className = clsx(\n s('np-dropdown-item'),\n selectOption.disabled ? [s('disabled')] : s('clickable'),\n {\n [s('active')]: isActive,\n [s('np-dropdown-item--focused')]: isFocusedWithKeyboard,\n },\n );\n\n const handleOnClick = selectOption.disabled\n ? stopPropagation\n : createSelectHandlerForOption(selectOption);\n\n return (\n <li\n ref={isFocusedWithKeyboard ? keyboardFocusedReference : undefined}\n key={index}\n id={getUniqueIdForOption(id, option)}\n aria-selected={isActive}\n aria-disabled={option.disabled}\n role=\"option\"\n tabIndex={-1}\n className={className}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* @ts-expect-error options needs DOM refactoring */}\n <a disabled={selectOption.disabled}>\n <Option\n label={undefined}\n value={undefined}\n {...selectOption}\n classNames={classNamesProp}\n />\n </a>\n </li>\n );\n };\n\n function getIndexWithoutHeadersForIndexWithHeaders(index: number) {\n return options.reduce((sum, option, currentIndex) => {\n if (currentIndex < index && isActionableOption(option)) {\n return sum + 1;\n }\n return sum;\n }, 0);\n }\n\n const hasActiveOptions = !!defaultOptions.length;\n if (open && (initSearchValue || searchValue)) {\n if (hasActiveOptions && keyboardFocusedOptionIndex < 0) {\n setKeyboardFocusedOptionIndex(0);\n }\n if (!hasActiveOptions && keyboardFocusedOptionIndex >= 0) {\n setKeyboardFocusedOptionIndex(-1);\n }\n }\n\n return (\n <div // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref={selectReference}\n className={clsx(s('np-select'), block ? s('btn-block') : null, s('btn-group'))}\n onKeyDown={handleKeyDown}\n onTouchMove={handleTouchStart}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n >\n <Button\n ref={dropdownButtonReference}\n {...inputAttributes}\n id={computedId}\n block={block}\n size={size}\n htmlType=\"button\"\n className={clsx(\n s('np-dropdown-toggle'),\n s('np-text-body-large'),\n inverse ? s('np-dropdown-toggle-navy') : null,\n )}\n // reset Button's styles\n type={null}\n priority={null}\n disabled={disabled}\n aria-controls={listboxId}\n aria-expanded={open}\n onClick={handleOnClick}\n {...buttonProps}\n >\n {selected ? (\n <Option label={undefined} {...selected} classNames={classNamesProp} selected />\n ) : (\n <span className={s('form-control-placeholder')}>{placeholder}</span>\n )}\n <Chevron\n // disabled={disabled}\n className={clsx(\n s('tw-icon'),\n s('tw-chevron-up-icon'),\n s('tw-chevron'),\n s('bottom'),\n s('np-select-chevron'),\n )}\n />\n </Button>\n {isMobile ? (\n isSearchEnabled ? (\n <Drawer\n open={open}\n headerTitle={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n onClose={handleCloseOptions}\n >\n {renderOptionsList()}\n </Drawer>\n ) : (\n <BottomSheet open={open} onClose={handleCloseOptions}>\n {renderOptionsList()}\n </BottomSheet>\n )\n ) : (\n <Panel\n open={open}\n altAxis\n considerHeight\n anchorRef={selectReference}\n anchorWidth={isDropdownAutoWidth}\n position={dropdownUp ? Position.TOP : Position.BOTTOM}\n onClose={handleCloseOptions}\n >\n {renderOptionsList({ className: 'p-a-1' })}\n </Panel>\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_SEARCH_VALUE","DEFAULT_OPTIONS_PAGE_SIZE","includesString","string1","string2","toLowerCase","includes","defaultFilterFunction","option","searchValue","isPlaceholderOption","label","note","secondary","currency","searchStrings","some","string","isActionableOption","header","separator","disabled","isHeaderOption","isSeparatorOption","clamp","from","to","value","Math","max","min","DEFAULT_SELECTED_OPTION","isSearchableOption","getUniqueIdForOption","parentId","undefined","uniqueOptionId","replace","defaultClassNames","Select","placeholder","id","required","inverse","dropdownWidth","size","block","selected","search","onChange","onFocus","onBlur","options","defaultOptions","onSearchChange","initSearchValue","searchPlaceholder","classNames","classNamesProp","dropdownUp","dropdownProps","buttonProps","inputAttributes","useInputAttributes","formatMessage","useIntl","s","className","open","setOpen","useState","setSearchValue","keyboardFocusedOptionIndex","setKeyboardFocusedOptionIndex","keyboardFocusedReference","useRef","previousKeyboardFocusedOptionIndex","numberOfOptionsShown","setNumberOfOptionsShown","searchBoxReference","selectReference","dropdownButtonReference","optionsListReference","isSearchEnabled","isDropdownAutoWidth","useMemo","filter","selectableOptions","focusedOption","fallbackButtonId","useId","computedId","listboxId","searchBoxId","isMobile","useLayout","useEffect","cancelled","requestAnimationFrame","current","scrollIntoView","focus","handleOnClick","handleTouchStart","event","currentTarget","target","handleCloseOptions","handleOnFocus","handleOnBlur","nativeEvent","elementReceivingFocus","relatedTarget","select","Node","contains","handleSearchChange","handleKeyDown","key","moveFocusWithDifference","stopPropagation","selectKeyboardFocusedOption","length","selectOption","difference","selectedOptionIndex","reduce","optionIndex","index","isOptionSelected","previousFocusedIndex","indexToStartMovingFrom","unClampedNewIndex","newIndex","createSelectHandlerForOption","renderOptionsList","dropdownClass","clsx","showPlaceholder","Boolean","_jsxs","ref","role","tabIndex","children","_jsx","PlaceHolderOption","SearchBox","messages","focusedOptionId","onClick","slice","map","renderOption","ShowMoreOption","onKeyPress","placeholderOption","SeparatorOption","HeaderOption","separatorOption","headerOption","isActive","isFocusedWithKeyboard","getIndexWithoutHeadersForIndexWithHeaders","Option","sum","currentIndex","hasActiveOptions","onKeyDown","onTouchMove","Button","htmlType","type","priority","Chevron","Drawer","headerTitle","onClose","BottomSheet","Panel","altAxis","considerHeight","anchorRef","anchorWidth","position","Position","TOP","BOTTOM"],"mappings":"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"}
1
+ {"version":3,"file":"Select.mjs","sources":["../../src/select/Select.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useState, useEffect, useRef, useMemo, useId } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Button, { ButtonProps } from '../button';\nimport Chevron from '../chevron';\nimport { Position, Size } from '../common';\nimport BottomSheet from '../common/bottomSheet';\nimport { stopPropagation } from '../common/domHelpers';\nimport { useLayout } from '../common/hooks';\nimport Panel from '../common/panel';\nimport Drawer from '../drawer';\nimport { useInputAttributes } from '../inputs/contexts';\n\nimport messages from './Select.messages';\nimport Option from './option';\nimport SearchBox from './searchBox';\n\nconst DEFAULT_SEARCH_VALUE = '';\nconst DEFAULT_OPTIONS_PAGE_SIZE = 1000;\n\nconst includesString = (string1: string, string2: string) =>\n string1.toLowerCase().includes(string2.toLowerCase());\n\nexport interface SelectOptionItem {\n value: any;\n label?: React.ReactNode;\n icon?: React.ReactNode;\n currency?: string;\n note?: React.ReactNode;\n secondary?: React.ReactNode;\n}\n\nexport interface SelectItem extends Partial<SelectOptionItem> {\n header?: React.ReactNode;\n separator?: boolean;\n disabled?: boolean;\n searchStrings?: string[];\n}\n\nexport interface SelectItemWithPlaceholder extends SelectItem {\n placeholder?: string;\n}\n\nfunction defaultFilterFunction(option: SelectItemWithPlaceholder, searchValue: string) {\n if (isPlaceholderOption(option)) {\n return true;\n }\n const { label, note, secondary, currency, searchStrings } = option;\n return (\n (typeof label === 'string' && includesString(label, searchValue)) ||\n (typeof note === 'string' && includesString(note, searchValue)) ||\n (typeof secondary === 'string' && includesString(secondary, searchValue)) ||\n (!!currency && includesString(currency, searchValue)) ||\n (!!searchStrings && searchStrings.some((string) => includesString(string, searchValue)))\n );\n}\n\nfunction isActionableOption(option: SelectItem) {\n return !option.header && !option.separator && !option.disabled;\n}\n\nfunction isHeaderOption(option: SelectItem | null) {\n return option != null && 'header' in option;\n}\n\nfunction isSeparatorOption(option: SelectItem | null) {\n return option != null && 'separator' in option;\n}\n\nfunction clamp(from: number, to: number, value: number) {\n return Math.max(Math.min(to, value), from);\n}\n\n/**\n * No option or placeholder option is selected\n */\nconst DEFAULT_SELECTED_OPTION = null;\n\nfunction isPlaceholderOption(option: SelectItemWithPlaceholder | null) {\n return option === DEFAULT_SELECTED_OPTION || 'placeholder' in option;\n}\n\nfunction isSearchableOption(option: SelectItemWithPlaceholder | null) {\n return !isHeaderOption(option) && !isSeparatorOption(option) && !isPlaceholderOption(option);\n}\n\nconst getUniqueIdForOption = (parentId: string | undefined, option: SelectItem | null) => {\n if (option == null) {\n return undefined;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const uniqueOptionId =\n option.value || (typeof option.label === 'string' ? option.label.replace(/\\s/g, '') : '');\n\n return `option-${parentId ?? ''}-${uniqueOptionId}`;\n};\n\nexport interface SelectProps {\n placeholder?: string;\n id?: string;\n required?: boolean;\n disabled?: boolean;\n inverse?: boolean;\n dropdownRight?: `${Size.EXTRA_SMALL | Size.SMALL | Size.MEDIUM | Size.LARGE | Size.EXTRA_LARGE}`;\n dropdownWidth?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /** @default 'md' */\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /** @default true */\n block?: boolean;\n selected?: SelectOptionItem;\n /**\n * Search toggle\n * if `true` default search functionality being enabled (not case sensitive search in option labels & currency props)\n * if `function` you can define your own search function to implement custom search experience. This search function used while filtering the options array.\n */\n search?: boolean | ((option: SelectItemWithPlaceholder, searchValue: string) => boolean);\n options: SelectItem[];\n /** @default '' */\n searchValue?: string;\n searchPlaceholder?: string;\n /** @default {} */\n classNames?: Record<string, string>;\n dropdownUp?: boolean;\n buttonProps?: Extract<ButtonProps, { as?: 'button' }>;\n dropdownProps?: React.ComponentPropsWithoutRef<'ul'>;\n onChange: (value: SelectItem | typeof DEFAULT_SELECTED_OPTION) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n /**\n * To have full control of your search value and response use `onSearchChange` function combined with `searchValue` and custom filtering on the options array.\n * DO NOT USE TOGETHER WITH `search` PROPERTY\n */\n onSearchChange?: (value: string) => void;\n}\n\nconst defaultClassNames = {};\n\n/**\n * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput)\n */\nexport default function Select({\n placeholder,\n id,\n required,\n disabled,\n inverse,\n dropdownWidth,\n size = 'md',\n block = true,\n selected,\n search,\n onChange,\n onFocus,\n onBlur,\n options: defaultOptions,\n onSearchChange,\n searchValue: initSearchValue = '',\n searchPlaceholder,\n classNames: classNamesProp = defaultClassNames,\n dropdownUp,\n dropdownProps,\n buttonProps,\n}: SelectProps) {\n const inputAttributes = useInputAttributes();\n\n const { formatMessage } = useIntl();\n const s = (className: string) => classNamesProp[className] || className;\n const [open, setOpen] = useState(false);\n const [searchValue, setSearchValue] = useState(DEFAULT_SEARCH_VALUE);\n const [keyboardFocusedOptionIndex, setKeyboardFocusedOptionIndex] = useState(-1);\n const keyboardFocusedReference = useRef<HTMLLIElement>(null);\n const previousKeyboardFocusedOptionIndex = useRef(-1);\n const [numberOfOptionsShown, setNumberOfOptionsShown] = useState(DEFAULT_OPTIONS_PAGE_SIZE);\n const searchBoxReference = useRef<HTMLInputElement>(null);\n const selectReference = useRef<HTMLDivElement>(null);\n const dropdownButtonReference = useRef<HTMLButtonElement>(null);\n const optionsListReference = useRef<HTMLUListElement>(null);\n const isSearchEnabled = !!onSearchChange || !!search;\n const isDropdownAutoWidth = dropdownWidth == null;\n\n const options = useMemo(() => {\n if (!search || !searchValue) {\n return defaultOptions;\n }\n\n return defaultOptions.filter(isSearchableOption).filter((option) => {\n if (typeof search === 'function') {\n return search(option, searchValue);\n }\n return defaultFilterFunction(option, searchValue);\n });\n }, [defaultOptions, search, searchValue]);\n\n const selectableOptions = useMemo(() => options.filter(isActionableOption), [options]);\n const focusedOption = selectableOptions[keyboardFocusedOptionIndex];\n\n const fallbackButtonId = useId();\n const computedId = id || inputAttributes.id || fallbackButtonId;\n const listboxId = `${computedId}-listbox`;\n const searchBoxId = `${computedId}-searchbox`;\n\n const { isMobile } = useLayout();\n\n useEffect(() => {\n let cancelled = false;\n\n if (keyboardFocusedOptionIndex >= 0) {\n requestAnimationFrame(() => {\n if (!cancelled) {\n if (isSearchEnabled) {\n keyboardFocusedReference.current?.scrollIntoView?.({ block: 'center' });\n } else {\n keyboardFocusedReference.current?.focus();\n }\n }\n });\n\n return () => {\n cancelled = true;\n };\n }\n }, [keyboardFocusedOptionIndex, isSearchEnabled]);\n\n const handleOnClick = () => {\n setOpen(true);\n };\n\n const handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {\n if (event.currentTarget === event.target && open) {\n handleCloseOptions();\n }\n };\n\n const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = (event) => {\n onFocus?.(event);\n };\n\n const handleOnBlur: React.FocusEventHandler<HTMLDivElement> = (event) => {\n const { nativeEvent } = event;\n if (nativeEvent) {\n const elementReceivingFocus = nativeEvent.relatedTarget;\n const select = event.currentTarget;\n if (\n select &&\n elementReceivingFocus instanceof Node &&\n select.contains(elementReceivingFocus)\n ) {\n return;\n }\n }\n\n onBlur?.(event);\n };\n\n const handleSearchChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n setNumberOfOptionsShown(DEFAULT_OPTIONS_PAGE_SIZE);\n setSearchValue(event.target.value);\n onSearchChange?.(event.target.value);\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event) => {\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n if (open) {\n moveFocusWithDifference(event.key === 'ArrowUp' ? -1 : 1);\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case ' ':\n if (event.target !== searchBoxReference.current) {\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n }\n break;\n case 'Enter':\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case 'Escape':\n handleCloseOptions();\n stopPropagation(event);\n break;\n case 'Tab':\n if (open) {\n selectKeyboardFocusedOption();\n }\n break;\n default:\n break;\n }\n };\n\n function selectKeyboardFocusedOption() {\n if (keyboardFocusedOptionIndex >= 0 && selectableOptions.length > 0) {\n selectOption(selectableOptions[keyboardFocusedOptionIndex]);\n }\n }\n\n function moveFocusWithDifference(difference: number) {\n const selectedOptionIndex = selectableOptions.reduce((optionIndex, current, index) => {\n if (optionIndex >= 0) {\n return optionIndex;\n }\n if (isOptionSelected(selected, current)) {\n return index;\n }\n return -1;\n }, -1);\n const previousFocusedIndex = previousKeyboardFocusedOptionIndex.current;\n let indexToStartMovingFrom = previousFocusedIndex;\n if (previousFocusedIndex < 0) {\n if (selectedOptionIndex < 0) {\n setKeyboardFocusedOptionIndex(0);\n } else {\n indexToStartMovingFrom = selectedOptionIndex;\n }\n }\n\n const unClampedNewIndex = indexToStartMovingFrom + difference;\n const newIndex = clamp(0, selectableOptions.length - 1, unClampedNewIndex);\n\n setKeyboardFocusedOptionIndex(newIndex);\n }\n\n useEffect(() => {\n if (open) {\n if (!isMobile || searchValue) {\n if (isSearchEnabled && searchBoxReference.current) {\n searchBoxReference.current.focus();\n }\n if (\n !isSearchEnabled &&\n optionsListReference.current &&\n previousKeyboardFocusedOptionIndex.current < 0\n ) {\n optionsListReference.current.focus();\n }\n }\n\n previousKeyboardFocusedOptionIndex.current = keyboardFocusedOptionIndex;\n } else {\n previousKeyboardFocusedOptionIndex.current = -1;\n }\n }, [open, searchValue, isSearchEnabled, isMobile, keyboardFocusedOptionIndex]);\n\n const handleCloseOptions = () => {\n setOpen(false);\n setKeyboardFocusedOptionIndex(-1);\n };\n\n function createSelectHandlerForOption(option: SelectItemWithPlaceholder) {\n return (event: React.SyntheticEvent) => {\n stopPropagation(event);\n selectOption(option);\n };\n }\n\n function selectOption(option: SelectItemWithPlaceholder) {\n onChange(isPlaceholderOption(option) ? DEFAULT_SELECTED_OPTION : option);\n handleCloseOptions();\n }\n\n function renderOptionsList({ className = '' } = {}) {\n const dropdownClass = clsx(\n s('np-dropdown-menu'),\n {\n [s('np-dropdown-menu-desktop')]: !isMobile,\n [s(`np-dropdown-menu-${dropdownWidth}`)]: !isMobile && !isDropdownAutoWidth,\n },\n s(className),\n );\n\n const showPlaceholder = !required && !isSearchEnabled && Boolean(placeholder);\n return (\n <ul\n ref={optionsListReference}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-activedescendant={getUniqueIdForOption(id, selected ?? null)}\n tabIndex={-1}\n className={dropdownClass}\n {...dropdownProps}\n >\n {showPlaceholder && <PlaceHolderOption />}\n {isSearchEnabled && (\n <SearchBox\n ref={searchBoxReference}\n id={searchBoxId}\n classNames={classNamesProp}\n value={initSearchValue || searchValue}\n placeholder={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n focusedOptionId={getUniqueIdForOption(id, focusedOption)}\n onChange={handleSearchChange}\n onClick={stopPropagation}\n />\n )}\n {options.slice(0, numberOfOptionsShown).map(renderOption)}\n {numberOfOptionsShown < options.length && <ShowMoreOption />}\n </ul>\n );\n }\n\n function ShowMoreOption() {\n function handleOnClick(event: React.SyntheticEvent<HTMLLIElement>) {\n stopPropagation(event);\n setNumberOfOptionsShown(numberOfOptionsShown + DEFAULT_OPTIONS_PAGE_SIZE);\n }\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={clsx(s('clickable'), s('border-bottom'), s('show-more'))}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>...</a>\n </li>\n );\n }\n\n function PlaceHolderOption() {\n const placeholderOption = { placeholder };\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={clsx(s('clickable'), s('border-bottom'))}\n onClick={createSelectHandlerForOption(placeholderOption)}\n onKeyPress={createSelectHandlerForOption(placeholderOption)}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>{placeholder}</a>\n </li>\n );\n }\n\n function SeparatorOption() {\n return <li className={s('np-separator')} aria-hidden />;\n }\n\n function HeaderOption({ children }: { children?: React.ReactNode }) {\n return (\n <li // eslint-disable-line jsx-a11y/no-noninteractive-element-interactions\n className={clsx(s('np-dropdown-header'), s('np-text-title-group'))}\n onClick={stopPropagation}\n onKeyPress={stopPropagation}\n >\n {children}\n </li>\n );\n }\n\n function isOptionSelected(selected: SelectOptionItem | undefined, option: SelectItem) {\n return selected?.value === option?.value;\n }\n\n const renderOption = (option: SelectItem, index: number) => {\n const separatorOption = option;\n if (isSeparatorOption(separatorOption) && separatorOption?.separator) {\n return <SeparatorOption key={index} />;\n }\n const headerOption = option;\n if (isHeaderOption(headerOption) && headerOption.header) {\n return <HeaderOption key={index}>{headerOption.header}</HeaderOption>;\n }\n\n const isActive = isOptionSelected(selected, option);\n const selectOption = option;\n const isFocusedWithKeyboard =\n !selectOption.disabled &&\n keyboardFocusedOptionIndex === getIndexWithoutHeadersForIndexWithHeaders(index);\n\n const className = clsx(\n s('np-dropdown-item'),\n selectOption.disabled ? [s('disabled')] : s('clickable'),\n {\n [s('active')]: isActive,\n [s('np-dropdown-item--focused')]: isFocusedWithKeyboard,\n },\n );\n\n const handleOnClick = selectOption.disabled\n ? stopPropagation\n : createSelectHandlerForOption(selectOption);\n\n return (\n <li\n ref={isFocusedWithKeyboard ? keyboardFocusedReference : undefined}\n key={index}\n id={getUniqueIdForOption(id, option)}\n aria-selected={isActive}\n aria-disabled={option.disabled}\n role=\"option\"\n tabIndex={-1}\n className={className}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* @ts-expect-error options needs DOM refactoring */}\n <a disabled={selectOption.disabled}>\n <Option\n label={undefined}\n value={undefined}\n {...selectOption}\n classNames={classNamesProp}\n />\n </a>\n </li>\n );\n };\n\n function getIndexWithoutHeadersForIndexWithHeaders(index: number) {\n return options.reduce((sum, option, currentIndex) => {\n if (currentIndex < index && isActionableOption(option)) {\n return sum + 1;\n }\n return sum;\n }, 0);\n }\n\n const hasActiveOptions = !!defaultOptions.length;\n if (open && (initSearchValue || searchValue)) {\n if (hasActiveOptions && keyboardFocusedOptionIndex < 0) {\n setKeyboardFocusedOptionIndex(0);\n }\n if (!hasActiveOptions && keyboardFocusedOptionIndex >= 0) {\n setKeyboardFocusedOptionIndex(-1);\n }\n }\n\n return (\n <div // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref={selectReference}\n className={clsx(s('np-select'), block ? s('btn-block') : null, s('btn-group'))}\n onKeyDown={handleKeyDown}\n onTouchMove={handleTouchStart}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n >\n <Button\n ref={dropdownButtonReference}\n {...inputAttributes}\n id={computedId}\n block={block}\n size={size}\n htmlType=\"button\"\n className={clsx(\n s('np-dropdown-toggle'),\n s('np-text-body-large'),\n inverse ? s('np-dropdown-toggle-navy') : null,\n )}\n // reset Button's styles\n type={null}\n priority={null}\n disabled={disabled}\n aria-controls={listboxId}\n aria-expanded={open}\n onClick={handleOnClick}\n {...buttonProps}\n >\n {selected ? (\n <Option label={undefined} {...selected} classNames={classNamesProp} selected />\n ) : (\n <span className={s('form-control-placeholder')}>{placeholder}</span>\n )}\n <Chevron\n // disabled={disabled}\n className={clsx(\n s('tw-icon'),\n s('tw-chevron-up-icon'),\n s('tw-chevron'),\n s('bottom'),\n s('np-select-chevron'),\n )}\n />\n </Button>\n {isMobile ? (\n isSearchEnabled ? (\n <Drawer\n open={open}\n headerTitle={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n onClose={handleCloseOptions}\n >\n {renderOptionsList()}\n </Drawer>\n ) : (\n <BottomSheet open={open} onClose={handleCloseOptions}>\n {renderOptionsList()}\n </BottomSheet>\n )\n ) : (\n <Panel\n open={open}\n altAxis\n considerHeight\n anchorRef={selectReference}\n anchorWidth={isDropdownAutoWidth}\n position={dropdownUp ? Position.TOP : Position.BOTTOM}\n onClose={handleCloseOptions}\n >\n {renderOptionsList({ className: 'p-a-1' })}\n </Panel>\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_SEARCH_VALUE","DEFAULT_OPTIONS_PAGE_SIZE","includesString","string1","string2","toLowerCase","includes","defaultFilterFunction","option","searchValue","isPlaceholderOption","label","note","secondary","currency","searchStrings","some","string","isActionableOption","header","separator","disabled","isHeaderOption","isSeparatorOption","clamp","from","to","value","Math","max","min","DEFAULT_SELECTED_OPTION","isSearchableOption","getUniqueIdForOption","parentId","undefined","uniqueOptionId","replace","defaultClassNames","Select","placeholder","id","required","inverse","dropdownWidth","size","block","selected","search","onChange","onFocus","onBlur","options","defaultOptions","onSearchChange","initSearchValue","searchPlaceholder","classNames","classNamesProp","dropdownUp","dropdownProps","buttonProps","inputAttributes","useInputAttributes","formatMessage","useIntl","s","className","open","setOpen","useState","setSearchValue","keyboardFocusedOptionIndex","setKeyboardFocusedOptionIndex","keyboardFocusedReference","useRef","previousKeyboardFocusedOptionIndex","numberOfOptionsShown","setNumberOfOptionsShown","searchBoxReference","selectReference","dropdownButtonReference","optionsListReference","isSearchEnabled","isDropdownAutoWidth","useMemo","filter","selectableOptions","focusedOption","fallbackButtonId","useId","computedId","listboxId","searchBoxId","isMobile","useLayout","useEffect","cancelled","requestAnimationFrame","current","scrollIntoView","focus","handleOnClick","handleTouchStart","event","currentTarget","target","handleCloseOptions","handleOnFocus","handleOnBlur","nativeEvent","elementReceivingFocus","relatedTarget","select","Node","contains","handleSearchChange","handleKeyDown","key","moveFocusWithDifference","stopPropagation","selectKeyboardFocusedOption","length","selectOption","difference","selectedOptionIndex","reduce","optionIndex","index","isOptionSelected","previousFocusedIndex","indexToStartMovingFrom","unClampedNewIndex","newIndex","createSelectHandlerForOption","renderOptionsList","dropdownClass","clsx","showPlaceholder","Boolean","_jsxs","ref","role","tabIndex","children","_jsx","PlaceHolderOption","SearchBox","messages","focusedOptionId","onClick","slice","map","renderOption","ShowMoreOption","onKeyPress","placeholderOption","SeparatorOption","HeaderOption","separatorOption","headerOption","isActive","isFocusedWithKeyboard","getIndexWithoutHeadersForIndexWithHeaders","Option","sum","currentIndex","hasActiveOptions","onKeyDown","onTouchMove","Button","htmlType","type","priority","Chevron","Drawer","headerTitle","onClose","BottomSheet","Panel","altAxis","considerHeight","anchorRef","anchorWidth","position","Position","TOP","BOTTOM"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly, this file was auto-generated.
3
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
3
+ * Generated on Wed, 13 May 2026 12:45:11 GMT
4
4
  */
5
5
 
6
6
  :root {
@@ -144,7 +144,7 @@
144
144
 
145
145
  /**
146
146
  * Do not edit directly, this file was auto-generated.
147
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
147
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
148
148
  */
149
149
 
150
150
  .np-theme-personal {
@@ -326,75 +326,9 @@
326
326
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
327
327
  }
328
328
 
329
- /**
330
- * We added new shape theme into tokens to prevent breaking changes. This is a temporary measure.
331
- *
332
- * We delete this hack once all consumers no longer import tokens in their projects (e.g Next.js app.tsx or Storybook's preivew.tsx)
333
- */
334
-
335
- @media (max-width: 320px) {
336
- .np-theme-personal {
337
- --delta: 2;
338
- --size-4: calc(4px / var(--delta));
339
- --size-5: calc(5px / var(--delta));
340
- --size-8: calc(8px / var(--delta));
341
- --size-10: calc(10px / var(--delta));
342
- --size-12: calc(12px / var(--delta));
343
- --size-14: calc(14px / var(--delta));
344
- --size-16: calc(16px / var(--delta));
345
- --size-24: calc(24px / var(--delta));
346
- --size-32: calc(32px / var(--delta));
347
- --size-40: calc(40px / var(--delta));
348
- --size-48: calc(48px / var(--delta));
349
- --size-52: calc(52px / var(--delta));
350
- --size-56: calc(56px / var(--delta));
351
- --size-60: calc(60px / var(--delta));
352
- --size-64: calc(64px / var(--delta));
353
- --size-72: calc(72px / var(--delta));
354
- --size-80: calc(80px / var(--delta));
355
- --size-88: calc(88px / var(--delta));
356
- --size-96: calc(96px / var(--delta));
357
- --size-104: calc(104px / var(--delta));
358
- --size-112: calc(112px / var(--delta));
359
- --size-120: calc(120px / var(--delta));
360
- --size-126: calc(126px / var(--delta));
361
- --size-128: calc(128px / var(--delta));
362
- --size-146: calc(146px / var(--delta));
363
- --size-154: calc(154px / var(--delta));
364
- --size-x-small: calc(24px / var(--delta));
365
- --size-small: calc(32px / var(--delta));
366
- --size-medium: calc(40px / var(--delta));
367
- --size-large: calc(48px / var(--delta));
368
- --size-x-large: calc(56px / var(--delta));
369
- --size-2x-large: calc(72px / var(--delta));
370
- --space-content-horizontal: calc(16px / var(--delta));
371
- --space-small: calc(16px / var(--delta));
372
- --space-medium: calc(32px / var(--delta));
373
- --space-large: calc(40px / var(--delta));
374
- --space-x-large: calc(56px / var(--delta));
375
- --padding-x-small: var(--size-8);
376
- --padding-small: var(--size-16);
377
- --padding-medium: var(--size-24);
378
- --padding-large: var(--size-32);
379
- --input-height-base: var(--size-32);
380
- --input-height-large: var(--input-height-small);
381
- --input-padding: var(--input-padding-small);
382
- --input-padding-large: var(--input-padding-small);
383
- --input-group-addon-padding: var(--input-group-addon-sm-padding);
384
- --input-group-addon-lg-padding: var(--input-group-addon-sm-padding);
385
- --btn-height: var(--input-height-base);
386
- --btn-lg-height: var(--btn-height);
387
- --btn-sm-height: var(--btn-height);
388
- --btn-padding: var(--input-padding);
389
- --btn-sm-padding: var(--btn-padding);
390
- --btn-lg-padding: var(--btn-padding);
391
- --dropdown-link-padding: var(--size-12) var(--size-16);
392
- }
393
- }
394
-
395
329
  /**
396
330
  * Do not edit directly, this file was auto-generated.
397
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
331
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
398
332
  */
399
333
 
400
334
  .np-theme-personal--forest-green {
@@ -576,75 +510,9 @@
576
510
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
577
511
  }
578
512
 
579
- /**
580
- * We added new shape theme into tokens to prevent breaking changes. This is a temporary measure.
581
- *
582
- * We delete this hack once all consumers no longer import tokens in their projects (e.g Next.js app.tsx or Storybook's preivew.tsx)
583
- */
584
-
585
- @media (max-width: 320px) {
586
- .np-theme-personal {
587
- --delta: 2;
588
- --size-4: calc(4px / var(--delta));
589
- --size-5: calc(5px / var(--delta));
590
- --size-8: calc(8px / var(--delta));
591
- --size-10: calc(10px / var(--delta));
592
- --size-12: calc(12px / var(--delta));
593
- --size-14: calc(14px / var(--delta));
594
- --size-16: calc(16px / var(--delta));
595
- --size-24: calc(24px / var(--delta));
596
- --size-32: calc(32px / var(--delta));
597
- --size-40: calc(40px / var(--delta));
598
- --size-48: calc(48px / var(--delta));
599
- --size-52: calc(52px / var(--delta));
600
- --size-56: calc(56px / var(--delta));
601
- --size-60: calc(60px / var(--delta));
602
- --size-64: calc(64px / var(--delta));
603
- --size-72: calc(72px / var(--delta));
604
- --size-80: calc(80px / var(--delta));
605
- --size-88: calc(88px / var(--delta));
606
- --size-96: calc(96px / var(--delta));
607
- --size-104: calc(104px / var(--delta));
608
- --size-112: calc(112px / var(--delta));
609
- --size-120: calc(120px / var(--delta));
610
- --size-126: calc(126px / var(--delta));
611
- --size-128: calc(128px / var(--delta));
612
- --size-146: calc(146px / var(--delta));
613
- --size-154: calc(154px / var(--delta));
614
- --size-x-small: calc(24px / var(--delta));
615
- --size-small: calc(32px / var(--delta));
616
- --size-medium: calc(40px / var(--delta));
617
- --size-large: calc(48px / var(--delta));
618
- --size-x-large: calc(56px / var(--delta));
619
- --size-2x-large: calc(72px / var(--delta));
620
- --space-content-horizontal: calc(16px / var(--delta));
621
- --space-small: calc(16px / var(--delta));
622
- --space-medium: calc(32px / var(--delta));
623
- --space-large: calc(40px / var(--delta));
624
- --space-x-large: calc(56px / var(--delta));
625
- --padding-x-small: var(--size-8);
626
- --padding-small: var(--size-16);
627
- --padding-medium: var(--size-24);
628
- --padding-large: var(--size-32);
629
- --input-height-base: var(--size-32);
630
- --input-height-large: var(--input-height-small);
631
- --input-padding: var(--input-padding-small);
632
- --input-padding-large: var(--input-padding-small);
633
- --input-group-addon-padding: var(--input-group-addon-sm-padding);
634
- --input-group-addon-lg-padding: var(--input-group-addon-sm-padding);
635
- --btn-height: var(--input-height-base);
636
- --btn-lg-height: var(--btn-height);
637
- --btn-sm-height: var(--btn-height);
638
- --btn-padding: var(--input-padding);
639
- --btn-sm-padding: var(--btn-padding);
640
- --btn-lg-padding: var(--btn-padding);
641
- --dropdown-link-padding: var(--size-12) var(--size-16);
642
- }
643
- }
644
-
645
513
  /**
646
514
  * Do not edit directly, this file was auto-generated.
647
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
515
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
648
516
  */
649
517
 
650
518
  .np-theme-personal--bright-green {
@@ -826,75 +694,9 @@
826
694
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
827
695
  }
828
696
 
829
- /**
830
- * We added new shape theme into tokens to prevent breaking changes. This is a temporary measure.
831
- *
832
- * We delete this hack once all consumers no longer import tokens in their projects (e.g Next.js app.tsx or Storybook's preivew.tsx)
833
- */
834
-
835
- @media (max-width: 320px) {
836
- .np-theme-personal {
837
- --delta: 2;
838
- --size-4: calc(4px / var(--delta));
839
- --size-5: calc(5px / var(--delta));
840
- --size-8: calc(8px / var(--delta));
841
- --size-10: calc(10px / var(--delta));
842
- --size-12: calc(12px / var(--delta));
843
- --size-14: calc(14px / var(--delta));
844
- --size-16: calc(16px / var(--delta));
845
- --size-24: calc(24px / var(--delta));
846
- --size-32: calc(32px / var(--delta));
847
- --size-40: calc(40px / var(--delta));
848
- --size-48: calc(48px / var(--delta));
849
- --size-52: calc(52px / var(--delta));
850
- --size-56: calc(56px / var(--delta));
851
- --size-60: calc(60px / var(--delta));
852
- --size-64: calc(64px / var(--delta));
853
- --size-72: calc(72px / var(--delta));
854
- --size-80: calc(80px / var(--delta));
855
- --size-88: calc(88px / var(--delta));
856
- --size-96: calc(96px / var(--delta));
857
- --size-104: calc(104px / var(--delta));
858
- --size-112: calc(112px / var(--delta));
859
- --size-120: calc(120px / var(--delta));
860
- --size-126: calc(126px / var(--delta));
861
- --size-128: calc(128px / var(--delta));
862
- --size-146: calc(146px / var(--delta));
863
- --size-154: calc(154px / var(--delta));
864
- --size-x-small: calc(24px / var(--delta));
865
- --size-small: calc(32px / var(--delta));
866
- --size-medium: calc(40px / var(--delta));
867
- --size-large: calc(48px / var(--delta));
868
- --size-x-large: calc(56px / var(--delta));
869
- --size-2x-large: calc(72px / var(--delta));
870
- --space-content-horizontal: calc(16px / var(--delta));
871
- --space-small: calc(16px / var(--delta));
872
- --space-medium: calc(32px / var(--delta));
873
- --space-large: calc(40px / var(--delta));
874
- --space-x-large: calc(56px / var(--delta));
875
- --padding-x-small: var(--size-8);
876
- --padding-small: var(--size-16);
877
- --padding-medium: var(--size-24);
878
- --padding-large: var(--size-32);
879
- --input-height-base: var(--size-32);
880
- --input-height-large: var(--input-height-small);
881
- --input-padding: var(--input-padding-small);
882
- --input-padding-large: var(--input-padding-small);
883
- --input-group-addon-padding: var(--input-group-addon-sm-padding);
884
- --input-group-addon-lg-padding: var(--input-group-addon-sm-padding);
885
- --btn-height: var(--input-height-base);
886
- --btn-lg-height: var(--btn-height);
887
- --btn-sm-height: var(--btn-height);
888
- --btn-padding: var(--input-padding);
889
- --btn-sm-padding: var(--btn-padding);
890
- --btn-lg-padding: var(--btn-padding);
891
- --dropdown-link-padding: var(--size-12) var(--size-16);
892
- }
893
- }
894
-
895
697
  /**
896
698
  * Do not edit directly, this file was auto-generated.
897
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
699
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
898
700
  */
899
701
 
900
702
  .np-theme-personal--dark {
@@ -1076,75 +878,9 @@
1076
878
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1077
879
  }
1078
880
 
1079
- /**
1080
- * We added new shape theme into tokens to prevent breaking changes. This is a temporary measure.
1081
- *
1082
- * We delete this hack once all consumers no longer import tokens in their projects (e.g Next.js app.tsx or Storybook's preivew.tsx)
1083
- */
1084
-
1085
- @media (max-width: 320px) {
1086
- .np-theme-personal {
1087
- --delta: 2;
1088
- --size-4: calc(4px / var(--delta));
1089
- --size-5: calc(5px / var(--delta));
1090
- --size-8: calc(8px / var(--delta));
1091
- --size-10: calc(10px / var(--delta));
1092
- --size-12: calc(12px / var(--delta));
1093
- --size-14: calc(14px / var(--delta));
1094
- --size-16: calc(16px / var(--delta));
1095
- --size-24: calc(24px / var(--delta));
1096
- --size-32: calc(32px / var(--delta));
1097
- --size-40: calc(40px / var(--delta));
1098
- --size-48: calc(48px / var(--delta));
1099
- --size-52: calc(52px / var(--delta));
1100
- --size-56: calc(56px / var(--delta));
1101
- --size-60: calc(60px / var(--delta));
1102
- --size-64: calc(64px / var(--delta));
1103
- --size-72: calc(72px / var(--delta));
1104
- --size-80: calc(80px / var(--delta));
1105
- --size-88: calc(88px / var(--delta));
1106
- --size-96: calc(96px / var(--delta));
1107
- --size-104: calc(104px / var(--delta));
1108
- --size-112: calc(112px / var(--delta));
1109
- --size-120: calc(120px / var(--delta));
1110
- --size-126: calc(126px / var(--delta));
1111
- --size-128: calc(128px / var(--delta));
1112
- --size-146: calc(146px / var(--delta));
1113
- --size-154: calc(154px / var(--delta));
1114
- --size-x-small: calc(24px / var(--delta));
1115
- --size-small: calc(32px / var(--delta));
1116
- --size-medium: calc(40px / var(--delta));
1117
- --size-large: calc(48px / var(--delta));
1118
- --size-x-large: calc(56px / var(--delta));
1119
- --size-2x-large: calc(72px / var(--delta));
1120
- --space-content-horizontal: calc(16px / var(--delta));
1121
- --space-small: calc(16px / var(--delta));
1122
- --space-medium: calc(32px / var(--delta));
1123
- --space-large: calc(40px / var(--delta));
1124
- --space-x-large: calc(56px / var(--delta));
1125
- --padding-x-small: var(--size-8);
1126
- --padding-small: var(--size-16);
1127
- --padding-medium: var(--size-24);
1128
- --padding-large: var(--size-32);
1129
- --input-height-base: var(--size-32);
1130
- --input-height-large: var(--input-height-small);
1131
- --input-padding: var(--input-padding-small);
1132
- --input-padding-large: var(--input-padding-small);
1133
- --input-group-addon-padding: var(--input-group-addon-sm-padding);
1134
- --input-group-addon-lg-padding: var(--input-group-addon-sm-padding);
1135
- --btn-height: var(--input-height-base);
1136
- --btn-lg-height: var(--btn-height);
1137
- --btn-sm-height: var(--btn-height);
1138
- --btn-padding: var(--input-padding);
1139
- --btn-sm-padding: var(--btn-padding);
1140
- --btn-lg-padding: var(--btn-padding);
1141
- --dropdown-link-padding: var(--size-12) var(--size-16);
1142
- }
1143
- }
1144
-
1145
881
  /**
1146
882
  * Do not edit directly, this file was auto-generated.
1147
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
883
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
1148
884
  */
1149
885
 
1150
886
  .np-theme-platform {
@@ -1328,7 +1064,7 @@
1328
1064
 
1329
1065
  /**
1330
1066
  * Do not edit directly, this file was auto-generated.
1331
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
1067
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
1332
1068
  */
1333
1069
 
1334
1070
  .np-theme-platform--forest-green {
@@ -1512,7 +1248,7 @@
1512
1248
 
1513
1249
  /**
1514
1250
  * Do not edit directly, this file was auto-generated.
1515
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
1251
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
1516
1252
  */
1517
1253
 
1518
1254
  .np-theme-business {
@@ -1697,7 +1433,7 @@
1697
1433
 
1698
1434
  /**
1699
1435
  * Do not edit directly, this file was auto-generated.
1700
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
1436
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
1701
1437
  */
1702
1438
 
1703
1439
  .np-theme-business--dark {
@@ -1882,7 +1618,7 @@
1882
1618
 
1883
1619
  /**
1884
1620
  * Do not edit directly, this file was auto-generated.
1885
- * Generated on Fri, 10 Apr 2026 14:46:00 GMT
1621
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
1886
1622
  */
1887
1623
 
1888
1624
  .np-theme-business--forest-green {
@@ -2067,7 +1803,7 @@
2067
1803
 
2068
1804
  /**
2069
1805
  * Do not edit directly, this file was auto-generated.
2070
- * Generated on Fri, 10 Apr 2026 14:46:01 GMT
1806
+ * Generated on Wed, 13 May 2026 12:45:12 GMT
2071
1807
  */
2072
1808
 
2073
1809
  .np-theme-business--bright-green {
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly, this file was auto-generated.
3
- // Generated on Fri, 10 Apr 2026 14:46:00 GMT
3
+ // Generated on Wed, 13 May 2026 12:45:11 GMT
4
4
 
5
5
  @color-dark-content-primary: #e2e6e8;
6
6
  @color-dark-content-secondary: #c9cbce;
@@ -222,7 +222,7 @@
222
222
  @font-family-display: 'Wise Sans', 'Inter', sans-serif;
223
223
 
224
224
  // Do not edit directly, this file was auto-generated.
225
- // Generated on Fri, 10 Apr 2026 14:46:00 GMT
225
+ // Generated on Wed, 13 May 2026 12:45:11 GMT
226
226
 
227
227
  @color-base-blue-light: #00b9ff;
228
228
  @color-base-blue-mid: #00a2dd;
@@ -567,6 +567,7 @@
567
567
  .wds-list-item-navigation .tw-icon-chevron-right {
568
568
  color: #c9cbce;
569
569
  color: var(--color-interactive-secondary);
570
+ display: block;
570
571
  }
571
572
  .wds-list-item-control {
572
573
  flex: 0 0 auto;