@elliemae/ds-form-combobox 3.17.0-next.8 → 3.17.0-rc.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 (55) hide show
  1. package/dist/cjs/index.js.map +1 -1
  2. package/dist/cjs/parts/menu-list/MenuList.js +4 -2
  3. package/dist/cjs/parts/menu-list/MenuList.js.map +2 -2
  4. package/dist/cjs/react-desc-prop-types.js.map +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/esm/parts/menu-list/MenuList.js +5 -3
  7. package/dist/esm/parts/menu-list/MenuList.js.map +2 -2
  8. package/dist/esm/react-desc-prop-types.js.map +1 -1
  9. package/dist/types/ComboBox.d.ts +5 -0
  10. package/dist/types/ComboBoxCTX.d.ts +8 -0
  11. package/dist/types/ComboboxDataTestids.d.ts +14 -0
  12. package/dist/types/config/useComboBox.d.ts +3 -0
  13. package/dist/types/config/useCorrectOptions.d.ts +3 -0
  14. package/dist/types/constants.d.ts +14 -0
  15. package/dist/types/index.d.ts +4 -0
  16. package/dist/types/parts/DropdownIndicator.d.ts +2 -0
  17. package/dist/types/parts/LiveRegion.d.ts +2 -0
  18. package/dist/types/parts/container/Container.d.ts +2 -0
  19. package/dist/types/parts/container/index.d.ts +1 -0
  20. package/dist/types/parts/controls/Controls.d.ts +2 -0
  21. package/dist/types/parts/controls/index.d.ts +1 -0
  22. package/dist/types/parts/controls/styled.d.ts +13 -0
  23. package/dist/types/parts/controls/useOnPillsNavigation.d.ts +4 -0
  24. package/dist/types/parts/controls-input/ControlsInput.d.ts +2 -0
  25. package/dist/types/parts/controls-input/styled.d.ts +7 -0
  26. package/dist/types/parts/controls-input/useControlsInput.d.ts +12 -0
  27. package/dist/types/parts/controls-input/useKeyboardNavigation.d.ts +4 -0
  28. package/dist/types/parts/controls-input/useMaskedOnChange.d.ts +3 -0
  29. package/dist/types/parts/header-list/HeaderList.d.ts +2 -0
  30. package/dist/types/parts/header-list/index.d.ts +1 -0
  31. package/dist/types/parts/header-list/styled.d.ts +6 -0
  32. package/dist/types/parts/header-list/useHeaderListHandlers.d.ts +11 -0
  33. package/dist/types/parts/menu-list/LoadingContainer.d.ts +3 -0
  34. package/dist/types/parts/menu-list/MenuList.d.ts +2 -0
  35. package/dist/types/parts/menu-list/index.d.ts +1 -0
  36. package/dist/types/parts/menu-list/styled.d.ts +18 -0
  37. package/dist/types/parts/menu-list/useItemRenderer.d.ts +2 -0
  38. package/dist/types/parts/multi-selected-values-container/MultiSelectedValuesContainer.d.ts +2 -0
  39. package/dist/types/parts/multi-selected-values-container/RemovableSelectedValuePill.d.ts +5 -0
  40. package/dist/types/parts/multi-selected-values-container/index.d.ts +1 -0
  41. package/dist/types/parts/multi-selected-values-container/useGroupPills.d.ts +2 -0
  42. package/dist/types/parts/styled.d.ts +2 -0
  43. package/dist/types/react-desc-prop-types.d.ts +450 -0
  44. package/dist/types/sharedTypes.d.ts +33 -0
  45. package/dist/types/tests/creatable.test.d.ts +1 -0
  46. package/dist/types/tests/disabled.test.d.ts +1 -0
  47. package/dist/types/tests/general.test.d.ts +1 -0
  48. package/dist/types/tests/multi-select.test.d.ts +1 -0
  49. package/dist/types/tests/onlyselectable.test.d.ts +1 -0
  50. package/dist/types/tests/single-select.test.d.ts +1 -0
  51. package/dist/types/tests/usemask.test.d.ts +1 -0
  52. package/dist/types/tests/utils.d.ts +22 -0
  53. package/dist/types/theming.d.ts +6 -0
  54. package/dist/types/utils/listHelper.d.ts +14 -0
  55. package/package.json +14 -14
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './ComboBox.js';\nexport * from './theming.js';\nexport * from './ComboboxDataTestids.js';\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["export * from './ComboBox.js';\nexport * from './theming.js';\nexport * from './ComboboxDataTestids.js';\nexport type { DSComboboxT } from './react-desc-prop-types.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,0BAAd;AACA,wBAAc,yBADd;AAEA,wBAAc,qCAFd;",
6
6
  "names": []
7
7
  }
@@ -94,6 +94,9 @@ const MenuList = () => {
94
94
  listRef,
95
95
  isLoading
96
96
  ]);
97
+ (0, import_react.useLayoutEffect)(() => {
98
+ virtualListHelpers?.measure();
99
+ }, [width]);
97
100
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
98
101
  import_styled.StyledListWrapper,
99
102
  {
@@ -103,8 +106,7 @@ const MenuList = () => {
103
106
  width,
104
107
  minWidth: menuMinWidth,
105
108
  children: menuListRender
106
- },
107
- width
109
+ }
108
110
  );
109
111
  };
110
112
  //# sourceMappingURL=MenuList.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/menu-list/MenuList.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext, useMemo, useCallback } from 'react';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from './styled.js';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids.js';\nimport { ComboBoxContext } from '../../ComboBoxCTX.js';\nimport { HeaderList } from '../header-list/index.js';\nimport { useItemRenderer } from './useItemRenderer.js';\nimport { LoadingContainer } from './LoadingContainer.js';\n\nexport const MenuList = (): JSX.Element => {\n const {\n props: {\n isLoading,\n menuMinWidth,\n noOptionsMessage,\n menuMaxHeight,\n onCreate,\n inline,\n filteredOptions,\n selectedValues,\n },\n controlsWrapperRef,\n listRef,\n inputValue,\n wrapperListRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n // removing the header list if we are filtering or is inline cb or we have no options to show\n const withHeader = !inline && multiple && filteredOptions.length > 0 && !inputValue;\n const ItemRenderer = useItemRenderer();\n const { width } = useOnElementResize(controlsWrapperRef);\n const preventLoseInputFocus: React.MouseEventHandler = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const menuListRender = useMemo(() => {\n if (isLoading) return <LoadingContainer />;\n\n return (\n <>\n {withHeader && <HeaderList />}\n {filteredOptions.length > 0 || onCreate ? (\n <StyledVirtualListWrapper inline={inline} maxHeight={menuMaxHeight} ref={listRef} withHeader={withHeader}>\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: virtualListHelpers?.totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <StyledNoResultsWrapper role=\"alert\">{noOptionsMessage}</StyledNoResultsWrapper>\n )}\n </>\n );\n }, [\n onCreate,\n withHeader,\n filteredOptions,\n noOptionsMessage,\n ItemRenderer,\n virtualListHelpers,\n inline,\n menuMaxHeight,\n listRef,\n isLoading,\n ]);\n\n return (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={preventLoseInputFocus}\n width={width}\n minWidth={menuMinWidth}\n // we use width as key to force react virtual re-render on window resize\n // and update the item height accordly\n key={width}\n >\n {menuListRender}\n </StyledListWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCG;AAtC1B,mBAAwD;AACxD,0BAAmC;AACnC,oBAAgG;AAChG,iCAAmC;AACnC,yBAAgC;AAChC,yBAA2B;AAC3B,6BAAgC;AAChC,8BAAiC;AAE1B,MAAM,WAAW,MAAmB;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,kCAAe;AAE9B,QAAM,WAAW,MAAM,QAAQ,cAAc;AAE7C,QAAM,aAAa,CAAC,UAAU,YAAY,gBAAgB,SAAS,KAAK,CAAC;AACzE,QAAM,mBAAe,wCAAgB;AACrC,QAAM,EAAE,MAAM,QAAI,wCAAmB,kBAAkB;AACvD,QAAM,4BAAiD,0BAAY,CAAC,MAAM;AACxE,MAAE,eAAe;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,qBAAiB,sBAAQ,MAAM;AACnC,QAAI;AAAW,aAAO,4CAAC,4CAAiB;AAExC,WACE,4EACG;AAAA,oBAAc,4CAAC,iCAAW;AAAA,MAC1B,gBAAgB,SAAS,KAAK,WAC7B,4CAAC,0CAAyB,QAAgB,WAAW,eAAe,KAAK,SAAS,YAChF;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,MAAK;AAAA,UACL,eAAa,8CAAmB;AAAA,UAChC,OAAO,EAAE,QAAQ,oBAAoB,WAAW,QAAQ,SAAS,QAAQ,UAAU;AAAA,UAElF;AAAA;AAAA,MACH,GACF,IAEA,4CAAC,wCAAuB,MAAK,SAAS,4BAAiB;AAAA,OAE3D;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,MAKT;AAAA;AAAA,IAFI;AAAA,EAGP;AAEJ;",
4
+ "sourcesContent": ["import React, { useContext, useMemo, useCallback, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from './styled.js';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids.js';\nimport { ComboBoxContext } from '../../ComboBoxCTX.js';\nimport { HeaderList } from '../header-list/index.js';\nimport { useItemRenderer } from './useItemRenderer.js';\nimport { LoadingContainer } from './LoadingContainer.js';\n\nexport const MenuList = (): JSX.Element => {\n const {\n props: {\n isLoading,\n menuMinWidth,\n noOptionsMessage,\n menuMaxHeight,\n onCreate,\n inline,\n filteredOptions,\n selectedValues,\n },\n controlsWrapperRef,\n listRef,\n inputValue,\n wrapperListRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n // removing the header list if we are filtering or is inline cb or we have no options to show\n const withHeader = !inline && multiple && filteredOptions.length > 0 && !inputValue;\n const ItemRenderer = useItemRenderer();\n const { width } = useOnElementResize(controlsWrapperRef);\n const preventLoseInputFocus: React.MouseEventHandler = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const menuListRender = useMemo(() => {\n if (isLoading) return <LoadingContainer />;\n\n return (\n <>\n {withHeader && <HeaderList />}\n {filteredOptions.length > 0 || onCreate ? (\n <StyledVirtualListWrapper inline={inline} maxHeight={menuMaxHeight} ref={listRef} withHeader={withHeader}>\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: virtualListHelpers?.totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <StyledNoResultsWrapper role=\"alert\">{noOptionsMessage}</StyledNoResultsWrapper>\n )}\n </>\n );\n }, [\n onCreate,\n withHeader,\n filteredOptions,\n noOptionsMessage,\n ItemRenderer,\n virtualListHelpers,\n inline,\n menuMaxHeight,\n listRef,\n isLoading,\n ]);\n\n useLayoutEffect(() => {\n virtualListHelpers?.measure();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [width]);\n\n return (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={preventLoseInputFocus}\n width={width}\n minWidth={menuMinWidth}\n >\n {menuListRender}\n </StyledListWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCG;AAtC1B,mBAAyE;AACzE,0BAAmC;AACnC,oBAAgG;AAChG,iCAAmC;AACnC,yBAAgC;AAChC,yBAA2B;AAC3B,6BAAgC;AAChC,8BAAiC;AAE1B,MAAM,WAAW,MAAmB;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,kCAAe;AAE9B,QAAM,WAAW,MAAM,QAAQ,cAAc;AAE7C,QAAM,aAAa,CAAC,UAAU,YAAY,gBAAgB,SAAS,KAAK,CAAC;AACzE,QAAM,mBAAe,wCAAgB;AACrC,QAAM,EAAE,MAAM,QAAI,wCAAmB,kBAAkB;AACvD,QAAM,4BAAiD,0BAAY,CAAC,MAAM;AACxE,MAAE,eAAe;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,qBAAiB,sBAAQ,MAAM;AACnC,QAAI;AAAW,aAAO,4CAAC,4CAAiB;AAExC,WACE,4EACG;AAAA,oBAAc,4CAAC,iCAAW;AAAA,MAC1B,gBAAgB,SAAS,KAAK,WAC7B,4CAAC,0CAAyB,QAAgB,WAAW,eAAe,KAAK,SAAS,YAChF;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,MAAK;AAAA,UACL,eAAa,8CAAmB;AAAA,UAChC,OAAO,EAAE,QAAQ,oBAAoB,WAAW,QAAQ,SAAS,QAAQ,UAAU;AAAA,UAElF;AAAA;AAAA,MACH,GACF,IAEA,4CAAC,wCAAuB,MAAK,SAAS,4BAAiB;AAAA,OAE3D;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,oCAAgB,MAAM;AACpB,wBAAoB,QAAQ;AAAA,EAE9B,GAAG,CAAC,KAAK,CAAC;AAEV,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,MAET;AAAA;AAAA,EACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/react-desc-prop-types.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport type React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks';\nexport function noop<T extends unknown[]>(..._args: T): void {}\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n placeholder?: string;\n autoFocus?: boolean;\n filteredOptions: OptionTypes[];\n isMenuOpen?: boolean;\n onMenuChange?: (\n state: boolean,\n reason: string,\n e: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>,\n ) => void;\n onCreate?: (label: string) => void;\n onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void;\n onCancel?: () => void;\n onSelectAll?: (suggestedValue: OptionTypes[] | [], event: React.MouseEvent | React.KeyboardEvent) => null;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption) => void;\n zIndex?: number;\n isLoading?: boolean;\n }\n\n export interface RequiredProps {\n allOptions: OptionTypes[];\n selectedValues: SelectedOptionsT;\n onChange: (\n suggestedValue: ItemOption | OptionTypes[] | null,\n selectedOption: ItemOption,\n event: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n }\n export interface DefaultProps {\n startPlacementPreference: string;\n placementOrderPreference: string[];\n hasError: boolean;\n inline: boolean;\n withoutPortal: boolean;\n isNonClearable: boolean;\n disabled: boolean;\n noOptionsMessage: string;\n innerRef: React.RefObject<HTMLInputElement>;\n useMask: DSMaskT.Hook | typeof noop;\n onlySelectable: boolean;\n }\n\n export interface Props extends Partial<DefaultProps>, RequiredProps, PropsOptional {}\n\n export interface InternalProps extends DefaultProps, RequiredProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description(\"input's placeholder value\").defaultValue(''),\n allOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of original options')\n .defaultValue([]),\n filteredOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .description('List of filtered options to show in the menu based on the current internal input filter value')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).isRequired.description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n noOptionsMessage: PropTypes.string\n .description('Custome message to be display when no matches found after filtering')\n .defaultValue('No Matches Found'),\n onChange: PropTypes.func.isRequired\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue('() => {}'),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue('() => {}'),\n onMenuChange: PropTypes.func\n .description('function triggered when user open or close the menu list')\n .defaultValue('() => {}'),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n onlySelectable: PropTypes.bool.description('filtering is disabled'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport type React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks';\nexport function noop<T extends unknown[]>(..._args: T): void {}\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n placeholder?: string;\n autoFocus?: boolean;\n filteredOptions?: OptionTypes[];\n isMenuOpen?: boolean;\n onMenuChange?: (\n state: boolean,\n reason: string,\n e: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>,\n ) => void;\n onCreate?: (label: string) => void;\n onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void;\n onCancel?: () => void;\n onSelectAll?: (suggestedValue: OptionTypes[] | [], event: React.MouseEvent | React.KeyboardEvent) => null;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption) => void;\n zIndex?: number;\n isLoading?: boolean;\n }\n\n export interface RequiredProps {\n allOptions: OptionTypes[];\n selectedValues: SelectedOptionsT;\n onChange: (\n suggestedValue: SelectedOptionsT,\n selectedOption: ItemOption,\n event: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n }\n export interface DefaultProps {\n startPlacementPreference: string;\n placementOrderPreference: string[];\n hasError: boolean;\n inline: boolean;\n withoutPortal: boolean;\n isNonClearable: boolean;\n disabled: boolean;\n noOptionsMessage: string;\n innerRef: React.MutableRefObject<HTMLInputElement | null> | ((ref: HTMLInputElement | null) => void);\n useMask: DSMaskT.Hook | typeof noop;\n onlySelectable: boolean;\n }\n\n export interface Props extends Partial<DefaultProps>, RequiredProps, PropsOptional {}\n\n export interface InternalProps extends DefaultProps, RequiredProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description(\"input's placeholder value\").defaultValue(''),\n allOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of original options')\n .defaultValue([]),\n filteredOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .description('List of filtered options to show in the menu based on the current internal input filter value')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).isRequired.description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n noOptionsMessage: PropTypes.string\n .description('Custome message to be display when no matches found after filtering')\n .defaultValue('No Matches Found'),\n onChange: PropTypes.func.isRequired\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue('() => {}'),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue('() => {}'),\n onMenuChange: PropTypes.func\n .description('function triggered when user open or close the menu list')\n .defaultValue('() => {}'),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n onlySelectable: PropTypes.bool.description('filtering is disabled'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,8BAAqD;AAE9C,SAAS,QAA6B,OAAgB;AAAC;AAiFvD,MAAM,oBAAoB;AAAA,EAC/B,GAAG;AAAA,EACH,aAAa,kCAAU,OAAO,YAAY,2BAA2B,EAAE,aAAa,EAAE;AAAA,EACtF,YAAY,kCAAU,UAAU,CAAC,kCAAU,OAAO,kCAAU,MAAM,CAAC,EAChE,WAAW,YAAY,0BAA0B,EACjD,aAAa,CAAC,CAAC;AAAA,EAClB,iBAAiB,kCAAU,UAAU,CAAC,kCAAU,OAAO,kCAAU,MAAM,CAAC,EACrE,YAAY,+FAA+F,EAC3G,aAAa,CAAC,CAAC;AAAA,EAClB,gBAAgB,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,GAAG,kCAAU,MAAM,CAAC,EAAE,WAAW;AAAA,IACtG;AAAA,EACF;AAAA,EACA,UAAU,kCAAU,KAAK,YAAY,qCAAqC,EAAE,aAAa,OAAO;AAAA,EAChG,WAAW,kCAAU,KAAK,YAAY,8CAA8C,EAAE,aAAa,OAAO;AAAA,EAC1G,UAAU,kCAAU,KAAK,YAAY,wCAAwC,EAAE,aAAa,OAAO;AAAA,EACnG,kBAAkB,kCAAU,OACzB,YAAY,qEAAqE,EACjF,aAAa,kBAAkB;AAAA,EAClC,UAAU,kCAAU,KAAK,WACtB,YAAY,iFAAiF,EAC7F,aAAa,UAAU;AAAA,EAC1B,UAAU,kCAAU,KAAK,YAAY,yDAAyD,EAAE,aAAa,EAAE;AAAA,EAC/G,UAAU,kCAAU,KACjB;AAAA,IACC;AAAA,EACF,EACC,aAAa,EAAE;AAAA,EAClB,UAAU,kCAAU,KAAK,YAAY,4CAA4C,EAAE,aAAa,UAAU;AAAA,EAC1G,cAAc,kCAAU,KACrB,YAAY,0DAA0D,EACtE,aAAa,UAAU;AAAA,EAC1B,eAAe,kCAAU,IAAI,YAAY,kDAAkD,EAAE,aAAa,MAAS;AAAA,EACnH,cAAc,kCAAU,IAAI,YAAY,qCAAqC,EAAE,aAAa,MAAS;AAAA,EACrG,eAAe,kCAAU,IAAI,YAAY,sCAAsC,EAAE,aAAa,MAAS;AAAA,EACvG,eAAe,kCAAU,KACtB,YAAY,0DAA0D,EACtE,aAAa,KAAK;AAAA,EACrB,QAAQ,kCAAU,OAAO,YAAY,kCAAkC,EAAE,aAAa,EAAE;AAAA,EACxF,UAAU,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,EAAE,SAAS,kCAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAAA,EACA,gBAAgB,kCAAU,KAAK,YAAY,uBAAuB;AACpE;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './ComboBox.js';\nexport * from './theming.js';\nexport * from './ComboboxDataTestids.js';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './ComboBox.js';\nexport * from './theming.js';\nexport * from './ComboboxDataTestids.js';\nexport type { DSComboboxT } from './react-desc-prop-types.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { useContext, useMemo, useCallback } from "react";
3
+ import { useContext, useMemo, useCallback, useLayoutEffect } from "react";
4
4
  import { useOnElementResize } from "@elliemae/ds-utilities";
5
5
  import { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from "./styled.js";
6
6
  import { ComboboxDataTestid } from "../../ComboboxDataTestids.js";
@@ -61,6 +61,9 @@ const MenuList = () => {
61
61
  listRef,
62
62
  isLoading
63
63
  ]);
64
+ useLayoutEffect(() => {
65
+ virtualListHelpers?.measure();
66
+ }, [width]);
64
67
  return /* @__PURE__ */ jsx(
65
68
  StyledListWrapper,
66
69
  {
@@ -70,8 +73,7 @@ const MenuList = () => {
70
73
  width,
71
74
  minWidth: menuMinWidth,
72
75
  children: menuListRender
73
- },
74
- width
76
+ }
75
77
  );
76
78
  };
77
79
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/menu-list/MenuList.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo, useCallback } from 'react';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from './styled.js';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids.js';\nimport { ComboBoxContext } from '../../ComboBoxCTX.js';\nimport { HeaderList } from '../header-list/index.js';\nimport { useItemRenderer } from './useItemRenderer.js';\nimport { LoadingContainer } from './LoadingContainer.js';\n\nexport const MenuList = (): JSX.Element => {\n const {\n props: {\n isLoading,\n menuMinWidth,\n noOptionsMessage,\n menuMaxHeight,\n onCreate,\n inline,\n filteredOptions,\n selectedValues,\n },\n controlsWrapperRef,\n listRef,\n inputValue,\n wrapperListRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n // removing the header list if we are filtering or is inline cb or we have no options to show\n const withHeader = !inline && multiple && filteredOptions.length > 0 && !inputValue;\n const ItemRenderer = useItemRenderer();\n const { width } = useOnElementResize(controlsWrapperRef);\n const preventLoseInputFocus: React.MouseEventHandler = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const menuListRender = useMemo(() => {\n if (isLoading) return <LoadingContainer />;\n\n return (\n <>\n {withHeader && <HeaderList />}\n {filteredOptions.length > 0 || onCreate ? (\n <StyledVirtualListWrapper inline={inline} maxHeight={menuMaxHeight} ref={listRef} withHeader={withHeader}>\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: virtualListHelpers?.totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <StyledNoResultsWrapper role=\"alert\">{noOptionsMessage}</StyledNoResultsWrapper>\n )}\n </>\n );\n }, [\n onCreate,\n withHeader,\n filteredOptions,\n noOptionsMessage,\n ItemRenderer,\n virtualListHelpers,\n inline,\n menuMaxHeight,\n listRef,\n isLoading,\n ]);\n\n return (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={preventLoseInputFocus}\n width={width}\n minWidth={menuMinWidth}\n // we use width as key to force react virtual re-render on window resize\n // and update the item height accordly\n key={width}\n >\n {menuListRender}\n </StyledListWrapper>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACsCG,SAGpB,UAHoB,KAGpB,YAHoB;AAtC1B,SAAgB,YAAY,SAAS,mBAAmB;AACxD,SAAS,0BAA0B;AACnC,SAAS,mBAAmB,wBAAwB,YAAY,gCAAgC;AAChG,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAE1B,MAAM,WAAW,MAAmB;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,eAAe;AAE9B,QAAM,WAAW,MAAM,QAAQ,cAAc;AAE7C,QAAM,aAAa,CAAC,UAAU,YAAY,gBAAgB,SAAS,KAAK,CAAC;AACzE,QAAM,eAAe,gBAAgB;AACrC,QAAM,EAAE,MAAM,IAAI,mBAAmB,kBAAkB;AACvD,QAAM,wBAAiD,YAAY,CAAC,MAAM;AACxE,MAAE,eAAe;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI;AAAW,aAAO,oBAAC,oBAAiB;AAExC,WACE,iCACG;AAAA,oBAAc,oBAAC,cAAW;AAAA,MAC1B,gBAAgB,SAAS,KAAK,WAC7B,oBAAC,4BAAyB,QAAgB,WAAW,eAAe,KAAK,SAAS,YAChF;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,MAAK;AAAA,UACL,eAAa,mBAAmB;AAAA,UAChC,OAAO,EAAE,QAAQ,oBAAoB,WAAW,QAAQ,SAAS,QAAQ,UAAU;AAAA,UAElF;AAAA;AAAA,MACH,GACF,IAEA,oBAAC,0BAAuB,MAAK,SAAS,4BAAiB;AAAA,OAE3D;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,MAKT;AAAA;AAAA,IAFI;AAAA,EAGP;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo, useCallback, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from './styled.js';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids.js';\nimport { ComboBoxContext } from '../../ComboBoxCTX.js';\nimport { HeaderList } from '../header-list/index.js';\nimport { useItemRenderer } from './useItemRenderer.js';\nimport { LoadingContainer } from './LoadingContainer.js';\n\nexport const MenuList = (): JSX.Element => {\n const {\n props: {\n isLoading,\n menuMinWidth,\n noOptionsMessage,\n menuMaxHeight,\n onCreate,\n inline,\n filteredOptions,\n selectedValues,\n },\n controlsWrapperRef,\n listRef,\n inputValue,\n wrapperListRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n // removing the header list if we are filtering or is inline cb or we have no options to show\n const withHeader = !inline && multiple && filteredOptions.length > 0 && !inputValue;\n const ItemRenderer = useItemRenderer();\n const { width } = useOnElementResize(controlsWrapperRef);\n const preventLoseInputFocus: React.MouseEventHandler = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const menuListRender = useMemo(() => {\n if (isLoading) return <LoadingContainer />;\n\n return (\n <>\n {withHeader && <HeaderList />}\n {filteredOptions.length > 0 || onCreate ? (\n <StyledVirtualListWrapper inline={inline} maxHeight={menuMaxHeight} ref={listRef} withHeader={withHeader}>\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: virtualListHelpers?.totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <StyledNoResultsWrapper role=\"alert\">{noOptionsMessage}</StyledNoResultsWrapper>\n )}\n </>\n );\n }, [\n onCreate,\n withHeader,\n filteredOptions,\n noOptionsMessage,\n ItemRenderer,\n virtualListHelpers,\n inline,\n menuMaxHeight,\n listRef,\n isLoading,\n ]);\n\n useLayoutEffect(() => {\n virtualListHelpers?.measure();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [width]);\n\n return (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={preventLoseInputFocus}\n width={width}\n minWidth={menuMinWidth}\n >\n {menuListRender}\n </StyledListWrapper>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACsCG,SAGpB,UAHoB,KAGpB,YAHoB;AAtC1B,SAAgB,YAAY,SAAS,aAAa,uBAAuB;AACzE,SAAS,0BAA0B;AACnC,SAAS,mBAAmB,wBAAwB,YAAY,gCAAgC;AAChG,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAE1B,MAAM,WAAW,MAAmB;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,eAAe;AAE9B,QAAM,WAAW,MAAM,QAAQ,cAAc;AAE7C,QAAM,aAAa,CAAC,UAAU,YAAY,gBAAgB,SAAS,KAAK,CAAC;AACzE,QAAM,eAAe,gBAAgB;AACrC,QAAM,EAAE,MAAM,IAAI,mBAAmB,kBAAkB;AACvD,QAAM,wBAAiD,YAAY,CAAC,MAAM;AACxE,MAAE,eAAe;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI;AAAW,aAAO,oBAAC,oBAAiB;AAExC,WACE,iCACG;AAAA,oBAAc,oBAAC,cAAW;AAAA,MAC1B,gBAAgB,SAAS,KAAK,WAC7B,oBAAC,4BAAyB,QAAgB,WAAW,eAAe,KAAK,SAAS,YAChF;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,MAAK;AAAA,UACL,eAAa,mBAAmB;AAAA,UAChC,OAAO,EAAE,QAAQ,oBAAoB,WAAW,QAAQ,SAAS,QAAQ,UAAU;AAAA,UAElF;AAAA;AAAA,MACH,GACF,IAEA,oBAAC,0BAAuB,MAAK,SAAS,4BAAiB;AAAA,OAE3D;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,kBAAgB,MAAM;AACpB,wBAAoB,QAAQ;AAAA,EAE9B,GAAG,CAAC,KAAK,CAAC;AAEV,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,MAET;AAAA;AAAA,EACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport type React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks';\nexport function noop<T extends unknown[]>(..._args: T): void {}\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n placeholder?: string;\n autoFocus?: boolean;\n filteredOptions: OptionTypes[];\n isMenuOpen?: boolean;\n onMenuChange?: (\n state: boolean,\n reason: string,\n e: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>,\n ) => void;\n onCreate?: (label: string) => void;\n onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void;\n onCancel?: () => void;\n onSelectAll?: (suggestedValue: OptionTypes[] | [], event: React.MouseEvent | React.KeyboardEvent) => null;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption) => void;\n zIndex?: number;\n isLoading?: boolean;\n }\n\n export interface RequiredProps {\n allOptions: OptionTypes[];\n selectedValues: SelectedOptionsT;\n onChange: (\n suggestedValue: ItemOption | OptionTypes[] | null,\n selectedOption: ItemOption,\n event: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n }\n export interface DefaultProps {\n startPlacementPreference: string;\n placementOrderPreference: string[];\n hasError: boolean;\n inline: boolean;\n withoutPortal: boolean;\n isNonClearable: boolean;\n disabled: boolean;\n noOptionsMessage: string;\n innerRef: React.RefObject<HTMLInputElement>;\n useMask: DSMaskT.Hook | typeof noop;\n onlySelectable: boolean;\n }\n\n export interface Props extends Partial<DefaultProps>, RequiredProps, PropsOptional {}\n\n export interface InternalProps extends DefaultProps, RequiredProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description(\"input's placeholder value\").defaultValue(''),\n allOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of original options')\n .defaultValue([]),\n filteredOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .description('List of filtered options to show in the menu based on the current internal input filter value')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).isRequired.description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n noOptionsMessage: PropTypes.string\n .description('Custome message to be display when no matches found after filtering')\n .defaultValue('No Matches Found'),\n onChange: PropTypes.func.isRequired\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue('() => {}'),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue('() => {}'),\n onMenuChange: PropTypes.func\n .description('function triggered when user open or close the menu list')\n .defaultValue('() => {}'),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n onlySelectable: PropTypes.bool.description('filtering is disabled'),\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport type React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks';\nexport function noop<T extends unknown[]>(..._args: T): void {}\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n placeholder?: string;\n autoFocus?: boolean;\n filteredOptions?: OptionTypes[];\n isMenuOpen?: boolean;\n onMenuChange?: (\n state: boolean,\n reason: string,\n e: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>,\n ) => void;\n onCreate?: (label: string) => void;\n onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void;\n onCancel?: () => void;\n onSelectAll?: (suggestedValue: OptionTypes[] | [], event: React.MouseEvent | React.KeyboardEvent) => null;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption) => void;\n zIndex?: number;\n isLoading?: boolean;\n }\n\n export interface RequiredProps {\n allOptions: OptionTypes[];\n selectedValues: SelectedOptionsT;\n onChange: (\n suggestedValue: SelectedOptionsT,\n selectedOption: ItemOption,\n event: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n }\n export interface DefaultProps {\n startPlacementPreference: string;\n placementOrderPreference: string[];\n hasError: boolean;\n inline: boolean;\n withoutPortal: boolean;\n isNonClearable: boolean;\n disabled: boolean;\n noOptionsMessage: string;\n innerRef: React.MutableRefObject<HTMLInputElement | null> | ((ref: HTMLInputElement | null) => void);\n useMask: DSMaskT.Hook | typeof noop;\n onlySelectable: boolean;\n }\n\n export interface Props extends Partial<DefaultProps>, RequiredProps, PropsOptional {}\n\n export interface InternalProps extends DefaultProps, RequiredProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description(\"input's placeholder value\").defaultValue(''),\n allOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of original options')\n .defaultValue([]),\n filteredOptions: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .description('List of filtered options to show in the menu based on the current internal input filter value')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).isRequired.description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n noOptionsMessage: PropTypes.string\n .description('Custome message to be display when no matches found after filtering')\n .defaultValue('No Matches Found'),\n onChange: PropTypes.func.isRequired\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue('() => {}'),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue('() => {}'),\n onMenuChange: PropTypes.func\n .description('function triggered when user open or close the menu list')\n .defaultValue('() => {}'),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n onlySelectable: PropTypes.bool.description('filtering is disabled'),\n};\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACGvB,SAAS,2BAA2B,iBAAiB;AAE9C,SAAS,QAA6B,OAAgB;AAAC;AAiFvD,MAAM,oBAAoB;AAAA,EAC/B,GAAG;AAAA,EACH,aAAa,UAAU,OAAO,YAAY,2BAA2B,EAAE,aAAa,EAAE;AAAA,EACtF,YAAY,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC,EAChE,WAAW,YAAY,0BAA0B,EACjD,aAAa,CAAC,CAAC;AAAA,EAClB,iBAAiB,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC,EACrE,YAAY,+FAA+F,EAC3G,aAAa,CAAC,CAAC;AAAA,EAClB,gBAAgB,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,GAAG,UAAU,MAAM,CAAC,EAAE,WAAW;AAAA,IACtG;AAAA,EACF;AAAA,EACA,UAAU,UAAU,KAAK,YAAY,qCAAqC,EAAE,aAAa,OAAO;AAAA,EAChG,WAAW,UAAU,KAAK,YAAY,8CAA8C,EAAE,aAAa,OAAO;AAAA,EAC1G,UAAU,UAAU,KAAK,YAAY,wCAAwC,EAAE,aAAa,OAAO;AAAA,EACnG,kBAAkB,UAAU,OACzB,YAAY,qEAAqE,EACjF,aAAa,kBAAkB;AAAA,EAClC,UAAU,UAAU,KAAK,WACtB,YAAY,iFAAiF,EAC7F,aAAa,UAAU;AAAA,EAC1B,UAAU,UAAU,KAAK,YAAY,yDAAyD,EAAE,aAAa,EAAE;AAAA,EAC/G,UAAU,UAAU,KACjB;AAAA,IACC;AAAA,EACF,EACC,aAAa,EAAE;AAAA,EAClB,UAAU,UAAU,KAAK,YAAY,4CAA4C,EAAE,aAAa,UAAU;AAAA,EAC1G,cAAc,UAAU,KACrB,YAAY,0DAA0D,EACtE,aAAa,UAAU;AAAA,EAC1B,eAAe,UAAU,IAAI,YAAY,kDAAkD,EAAE,aAAa,MAAS;AAAA,EACnH,cAAc,UAAU,IAAI,YAAY,qCAAqC,EAAE,aAAa,MAAS;AAAA,EACrG,eAAe,UAAU,IAAI,YAAY,sCAAsC,EAAE,aAAa,MAAS;AAAA,EACvG,eAAe,UAAU,KACtB,YAAY,0DAA0D,EACtE,aAAa,KAAK;AAAA,EACrB,QAAQ,UAAU,OAAO,YAAY,kCAAkC,EAAE,aAAa,EAAE;AAAA,EACxF,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,EAAE,SAAS,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAAA,EACA,gBAAgB,UAAU,KAAK,YAAY,uBAAuB;AACpE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DSComboboxT } from './react-desc-prop-types.js';
3
+ declare const DSComboBox: React.ComponentType<DSComboboxT.Props>;
4
+ declare const DSComboBoxWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<DSComboboxT.Props>;
5
+ export { DSComboBox, DSComboBoxWithSchema, DSComboBox as DSComboBoxV3 };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { DSComboboxT } from './react-desc-prop-types.js';
3
+ import type { DSComboboxInternalsT } from './sharedTypes.js';
4
+ export declare function noop<T extends unknown[]>(..._args: T): void;
5
+ export declare const defaultProps: DSComboboxT.DefaultProps;
6
+ /** Context for cross component communication */
7
+ export declare const ComboBoxContext: import("react").Context<DSComboboxInternalsT.ComboBoxContextT>;
8
+ export default ComboBoxContext;
@@ -0,0 +1,14 @@
1
+ export declare const ComboboxDataTestid: {
2
+ MULTISELECT: {
3
+ HEADER_LIST: string;
4
+ SHOW_SELECTED_OPTIONS_TOGGLE: string;
5
+ };
6
+ CONTROLS_WRAPPER: string;
7
+ CONTAINER: string;
8
+ INPUT: string;
9
+ LIST: string;
10
+ SELECTED_VALUES: string;
11
+ DROPDOWN: string;
12
+ OPTION: string;
13
+ ALLY_SELECTED_VALUES: string;
14
+ };
@@ -0,0 +1,3 @@
1
+ import type { DSComboboxT } from '../react-desc-prop-types.js';
2
+ import type { DSComboboxInternalsT } from '../sharedTypes.js';
3
+ export declare const useComboBox: (props: DSComboboxT.Props) => DSComboboxInternalsT.ComboBoxContextT;
@@ -0,0 +1,3 @@
1
+ import type { DSComboboxT } from '../react-desc-prop-types.js';
2
+ declare const useCorrectOptions: (propsWithDefaults: DSComboboxT.Props, inputValue: string, showSelectedOptions: boolean) => DSComboboxT.OptionTypes[];
3
+ export { useCorrectOptions };
@@ -0,0 +1,14 @@
1
+ export declare const MENU_OPTION_TYPES: {
2
+ readonly OPTION: "option";
3
+ readonly SECTION: "section";
4
+ readonly SEPARATOR: "separator";
5
+ };
6
+ export declare const INTERNAL_MENU_OPTION_TYPES: {
7
+ readonly CREATABLE: "creatable";
8
+ };
9
+ export declare const MENU_CONTROL_REASONS: {
10
+ SELECT_OPTION: string;
11
+ CLOSE: string;
12
+ OPEN: string;
13
+ BLUR: string;
14
+ };
@@ -0,0 +1,4 @@
1
+ export * from './ComboBox.js';
2
+ export * from './theming.js';
3
+ export * from './ComboboxDataTestids.js';
4
+ export type { DSComboboxT } from './react-desc-prop-types.js';
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const DropdownIndicator: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const LiveRegion: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Container: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export { Container } from './Container.js';
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Controls: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export { Controls } from './Controls.js';
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface StyledControlsWrapperT {
3
+ hasError: boolean;
4
+ inline: boolean;
5
+ minWidth?: number;
6
+ disabled: boolean;
7
+ }
8
+ export declare const StyledControlsWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, StyledControlsWrapperT, never>;
9
+ export declare const StyledSelection: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
10
+ export declare const StyledHeaderActionsWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
11
+ export declare const StyleDropdownIndicator: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
12
+ export declare const StyleHeaderActionsSeparator: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & Partial<StyledControlsWrapperT>, never>;
13
+ export {};
@@ -0,0 +1,4 @@
1
+ import type React from 'react';
2
+ export declare const useOnPillsNavigation: () => {
3
+ onKeyDownPills: React.KeyboardEventHandler<HTMLInputElement>;
4
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const ControlsInput: () => JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, {
3
+ withoutCaret: boolean;
4
+ }, never>;
5
+ export declare const StyledInputPlaceHolder: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
+ export declare const StyledInputWidthReference: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
7
+ export declare const StyledInputWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object, never>;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ interface UseControlsInputT {
3
+ handleOnBlur: () => void;
4
+ handleOnChange?: React.ChangeEventHandler<HTMLInputElement>;
5
+ handleOnFocus: React.FocusEventHandler<HTMLInputElement>;
6
+ showPlaceholder: string | null | undefined;
7
+ spanReferenceText: string | undefined;
8
+ width: number;
9
+ spanReference: React.Ref<HTMLSpanElement>;
10
+ }
11
+ declare const useControlsInput: () => UseControlsInputT;
12
+ export { useControlsInput };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const useKeyboardNavigation: () => {
3
+ onInputKeyDown: import("react").KeyboardEventHandler<HTMLInputElement>;
4
+ };
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const useMaskedOnChange: () => import("react").ChangeEventHandler<HTMLInputElement>;
3
+ export { useMaskedOnChange };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const HeaderList: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export { HeaderList } from './HeaderList.js';
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledHeaderListWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
3
+ export declare const StyledButtonSelection: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
4
+ export declare const StyledSelectedItems: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
5
+ export declare const StyledNoOptionsSelected: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
+ export declare const StyledSelectAllCheckbox: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
@@ -0,0 +1,11 @@
1
+ import type React from 'react';
2
+ declare const useHeaderListHandlers: () => {
3
+ handleKeyDown: (e: React.KeyboardEvent) => void;
4
+ handleToggleSelectedValuesFilter: React.MouseEventHandler<Element>;
5
+ handleFilterSelectionBtnOnTab: (e: React.KeyboardEvent) => void;
6
+ handleOnMouseDown: (e: React.MouseEvent) => void;
7
+ handleCheckAllOnTab: (e: React.KeyboardEvent) => void;
8
+ handleSelectAllCheckboxChange: (e: React.MouseEvent | React.KeyboardEvent) => void;
9
+ checkboxStatus: boolean | "mixed";
10
+ };
11
+ export { useHeaderListHandlers };
@@ -0,0 +1,3 @@
1
+ declare const LoadingContainer: () => import("react/jsx-runtime").JSX.Element;
2
+ export { LoadingContainer };
3
+ export default LoadingContainer;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const MenuList: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export { MenuList } from './MenuList.js';
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ interface StyledListWrapperT {
3
+ minWidth: number | string;
4
+ maxHeight: number;
5
+ width: number | string;
6
+ inline?: boolean;
7
+ }
8
+ export declare const StyledListWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & StyledListWrapperT, never>;
9
+ export declare const StyledList: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
10
+ export declare const StyledVirtualListWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & {
11
+ inline: boolean | undefined;
12
+ maxHeight: number;
13
+ withHeader: boolean;
14
+ }, never>;
15
+ export declare const StyledCreatableLabel: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
16
+ export declare const StyledCreatableValue: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
17
+ export declare const StyledNoResultsWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
18
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useItemRenderer: () => Array<JSX.Element> | null;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const MultiSelectedValuesContainer: () => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DSComboboxT } from '../../react-desc-prop-types.js';
3
+ export declare const RemovableSelectedValuePill: React.ComponentType<{
4
+ pill: DSComboboxT.ItemOption;
5
+ }>;
@@ -0,0 +1 @@
1
+ export { MultiSelectedValuesContainer } from './MultiSelectedValuesContainer.js';
@@ -0,0 +1,2 @@
1
+ declare const useGroupPills: () => number;
2
+ export { useGroupPills };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledA11ySelectedValues: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
@@ -0,0 +1,450 @@
1
+ import type React from 'react';
2
+ import type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks';
3
+ export declare function noop<T extends unknown[]>(..._args: T): void;
4
+ export declare namespace DSComboboxT {
5
+ interface CommonItemOptions {
6
+ dsId: string;
7
+ disabled?: boolean;
8
+ render?: React.ComponentType<unknown>;
9
+ }
10
+ interface ItemSeparatorOptions extends CommonItemOptions {
11
+ type: 'separator';
12
+ }
13
+ interface ItemSectionOptions extends CommonItemOptions {
14
+ type: 'section';
15
+ label: string;
16
+ }
17
+ interface ItemOption extends CommonItemOptions {
18
+ value: string;
19
+ label: string;
20
+ type: 'option';
21
+ }
22
+ interface ItemCreatableOption extends CommonItemOptions {
23
+ label: string;
24
+ type: 'creatable';
25
+ }
26
+ type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;
27
+ type SelectedOptionsT = ItemOption[] | ItemOption | null;
28
+ interface PropsOptional {
29
+ inputMinWidth?: number;
30
+ menuMinWidth?: number;
31
+ menuMaxHeight?: number;
32
+ placeholder?: string;
33
+ autoFocus?: boolean;
34
+ filteredOptions?: OptionTypes[];
35
+ isMenuOpen?: boolean;
36
+ onMenuChange?: (state: boolean, reason: string, e: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>) => void;
37
+ onCreate?: (label: string) => void;
38
+ onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void;
39
+ onCancel?: () => void;
40
+ onSelectAll?: (suggestedValue: OptionTypes[] | [], event: React.MouseEvent | React.KeyboardEvent) => null;
41
+ onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption) => void;
42
+ zIndex?: number;
43
+ isLoading?: boolean;
44
+ }
45
+ interface RequiredProps {
46
+ allOptions: OptionTypes[];
47
+ selectedValues: SelectedOptionsT;
48
+ onChange: (suggestedValue: SelectedOptionsT, selectedOption: ItemOption, event: React.MouseEvent | React.KeyboardEvent) => void;
49
+ }
50
+ interface DefaultProps {
51
+ startPlacementPreference: string;
52
+ placementOrderPreference: string[];
53
+ hasError: boolean;
54
+ inline: boolean;
55
+ withoutPortal: boolean;
56
+ isNonClearable: boolean;
57
+ disabled: boolean;
58
+ noOptionsMessage: string;
59
+ innerRef: React.MutableRefObject<HTMLInputElement | null> | ((ref: HTMLInputElement | null) => void);
60
+ useMask: DSMaskT.Hook | typeof noop;
61
+ onlySelectable: boolean;
62
+ }
63
+ interface Props extends Partial<DefaultProps>, RequiredProps, PropsOptional {
64
+ }
65
+ interface InternalProps extends DefaultProps, RequiredProps, PropsOptional {
66
+ }
67
+ }
68
+ export declare const ComboboxPropTypes: {
69
+ placeholder: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
70
+ allOptions: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
71
+ filteredOptions: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
72
+ selectedValues: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
73
+ disabled: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
74
+ autoFocus: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
75
+ hasError: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
76
+ noOptionsMessage: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
77
+ onChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
78
+ onFilter: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
79
+ onCreate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
80
+ onCancel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
81
+ onMenuChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
82
+ inputMinWidth: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
83
+ menuMinWidth: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
84
+ menuMaxHeight: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
85
+ withoutPortal: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
86
+ zIndex: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
87
+ innerRef: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
88
+ onlySelectable: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
89
+ 'aria-*': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
90
+ 'on-*': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
91
+ 'data-*': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
92
+ 'all HTML attributes': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
93
+ about: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
94
+ accept: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
95
+ acceptCharset: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
96
+ accessKey: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
97
+ action: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
98
+ allowFullScreen: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
99
+ allowTransparency: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
100
+ alt: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
101
+ 'aria-activedescendant': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
102
+ 'aria-atomic': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
103
+ 'aria-autocomplete': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
104
+ 'aria-busy': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
105
+ 'aria-checked': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
106
+ 'aria-colcount': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
107
+ 'aria-colindex': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
108
+ 'aria-colspan': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
109
+ 'aria-controls': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
110
+ 'aria-current': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
111
+ 'aria-describedby': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
112
+ 'aria-details': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
113
+ 'aria-disabled': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
114
+ 'aria-dropeffect': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
115
+ 'aria-errormessage': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
116
+ 'aria-expanded': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
117
+ 'aria-flowto': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
118
+ 'aria-grabbed': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
119
+ 'aria-haspopup': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
120
+ 'aria-hidden': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
121
+ 'aria-invalid': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
122
+ 'aria-keyshortcuts': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
123
+ 'aria-label': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
124
+ 'aria-labelledby': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
125
+ 'aria-level': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
126
+ 'aria-live': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
127
+ 'aria-modal': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
128
+ 'aria-multiline': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
129
+ 'aria-multiselectable': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
130
+ 'aria-orientation': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
131
+ 'aria-owns': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
132
+ 'aria-placeholder': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
133
+ 'aria-posinset': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
134
+ 'aria-pressed': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
135
+ 'aria-readonly': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
136
+ 'aria-relevant': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
137
+ 'aria-required': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
138
+ 'aria-roledescription': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
139
+ 'aria-rowcount': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
140
+ 'aria-rowindex': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
141
+ 'aria-rowspan': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
142
+ 'aria-selected': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
143
+ 'aria-setsize': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
144
+ 'aria-sort': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
145
+ 'aria-valuemax': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
146
+ 'aria-valuemin': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
147
+ 'aria-valuenow': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
148
+ 'aria-valuetext': import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
149
+ as: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
150
+ async: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
151
+ autoCapitalize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
152
+ autoComplete: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
153
+ autoCorrect: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
154
+ autoPlay: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
155
+ autoSave: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
156
+ capture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
157
+ cellPadding: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
158
+ cellSpacing: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
159
+ challenge: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
160
+ charSet: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
161
+ checked: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
162
+ children: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
163
+ cite: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
164
+ classID: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
165
+ className: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
166
+ color: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
167
+ cols: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
168
+ colSpan: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
169
+ content: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
170
+ contentEditable: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
171
+ contextMenu: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
172
+ controls: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
173
+ coords: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
174
+ crossOrigin: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
175
+ data: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
176
+ datatype: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
177
+ dateTime: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
178
+ default: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
179
+ defaultChecked: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
180
+ defaultValue: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
181
+ defer: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
182
+ dir: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
183
+ download: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
184
+ draggable: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
185
+ encType: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
186
+ form: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
187
+ formAction: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
188
+ formEncType: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
189
+ formMethod: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
190
+ formNoValidate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
191
+ formTarget: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
192
+ frameBorder: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
193
+ headers: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
194
+ height: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
195
+ hidden: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
196
+ high: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
197
+ href: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
198
+ hrefLang: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
199
+ htmlFor: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
200
+ httpEquiv: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
201
+ id: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
202
+ inlist: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
203
+ inputMode: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
204
+ integrity: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
205
+ is: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
206
+ itemID: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
207
+ itemProp: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
208
+ itemRef: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
209
+ itemScope: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
210
+ itemType: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
211
+ keyParams: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
212
+ keyType: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
213
+ kind: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
214
+ label: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
215
+ lang: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
216
+ list: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
217
+ loop: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
218
+ low: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
219
+ manifest: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
220
+ marginHeight: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
221
+ marginWidth: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
222
+ max: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
223
+ maxLength: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
224
+ media: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
225
+ mediaGroup: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
226
+ method: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
227
+ min: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
228
+ minLength: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
229
+ multiple: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
230
+ muted: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
231
+ name: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
232
+ nonce: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
233
+ noValidate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
234
+ onAbort: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
235
+ onAbortCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
236
+ onAnimationEnd: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
237
+ onAnimationEndCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
238
+ onAnimationIteration: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
239
+ onAnimationIterationCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
240
+ onAnimationStart: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
241
+ onAnimationStartCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
242
+ onAuxClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
243
+ onAuxClickCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
244
+ onBeforeInput: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
245
+ onBeforeInputCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
246
+ onBlur: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
247
+ onBlurCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
248
+ onCanPlay: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
249
+ onCanPlayCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
250
+ onCanPlayThrough: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
251
+ onCanPlayThroughCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
252
+ onChangeCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
253
+ onClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
254
+ onClickCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
255
+ onCompositionEnd: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
256
+ onCompositionEndCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
257
+ onCompositionStart: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
258
+ onCompositionStartCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
259
+ onCompositionUpdate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
260
+ onCompositionUpdateCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
261
+ onContextMenu: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
262
+ onContextMenuCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
263
+ onCopy: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
264
+ onCopyCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
265
+ onCut: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
266
+ onCutCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
267
+ onDoubleClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
268
+ onDoubleClickCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
269
+ onDrag: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
270
+ onDragCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
271
+ onDragEnd: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
272
+ onDragEndCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
273
+ onDragEnter: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
274
+ onDragEnterCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
275
+ onDragExit: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
276
+ onDragExitCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
277
+ onDragLeave: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
278
+ onDragLeaveCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
279
+ onDragOver: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
280
+ onDragOverCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
281
+ onDragStart: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
282
+ onDragStartCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
283
+ onDrop: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
284
+ onDropCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
285
+ onDurationChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
286
+ onDurationChangeCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
287
+ onEmptied: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
288
+ onEmptiedCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
289
+ onEncrypted: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
290
+ onEncryptedCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
291
+ onEnded: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
292
+ onEndedCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
293
+ onError: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
294
+ onErrorCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
295
+ onFocus: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
296
+ onFocusCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
297
+ onGotPointerCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
298
+ onGotPointerCaptureCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
299
+ onInput: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
300
+ onInputCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
301
+ onInvalid: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
302
+ onInvalidCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
303
+ onKeyDown: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
304
+ onKeyDownCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
305
+ onKeyPress: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
306
+ onKeyPressCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
307
+ onKeyUp: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
308
+ onKeyUpCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
309
+ onLoad: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
310
+ onLoadCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
311
+ onLoadedData: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
312
+ onLoadedDataCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
313
+ onLoadedMetadata: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
314
+ onLoadedMetadataCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
315
+ onLoadStart: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
316
+ onLoadStartCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
317
+ onLostPointerCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
318
+ onLostPointerCaptureCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
319
+ onMouseDown: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
320
+ onMouseDownCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
321
+ onMouseEnter: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
322
+ onMouseLeave: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
323
+ onMouseMove: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
324
+ onMouseMoveCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
325
+ onMouseOut: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
326
+ onMouseOutCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
327
+ onMouseOver: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
328
+ onMouseOverCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
329
+ onMouseUp: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
330
+ onMouseUpCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
331
+ onPaste: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
332
+ onPasteCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
333
+ onPause: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
334
+ onPauseCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
335
+ onPlay: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
336
+ onPlayCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
337
+ onPlaying: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
338
+ onPlayingCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
339
+ onPointerCancel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
340
+ onPointerCancelCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
341
+ onPointerDown: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
342
+ onPointerDownCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
343
+ onPointerEnter: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
344
+ onPointerEnterCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
345
+ onPointerLeave: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
346
+ onPointerLeaveCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
347
+ onPointerMove: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
348
+ onPointerMoveCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
349
+ onPointerOut: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
350
+ onPointerOutCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
351
+ onPointerOver: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
352
+ onPointerOverCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
353
+ onPointerUp: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
354
+ onPointerUpCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
355
+ onProgress: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
356
+ onProgressCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
357
+ onRateChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
358
+ onRateChangeCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
359
+ onReset: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
360
+ onResetCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
361
+ onResize: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
362
+ onResizeCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
363
+ onScroll: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
364
+ onScrollCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
365
+ onSeeked: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
366
+ onSeekedCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
367
+ onSeeking: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
368
+ onSeekingCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
369
+ onSelect: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
370
+ onSelectCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
371
+ onStalled: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
372
+ onStalledCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
373
+ onSubmit: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
374
+ onSubmitCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
375
+ onSuspend: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
376
+ onSuspendCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
377
+ onTimeUpdate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
378
+ onTimeUpdateCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
379
+ onTouchCancel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
380
+ onTouchCancelCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
381
+ onTouchEnd: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
382
+ onTouchEndCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
383
+ onTouchMove: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
384
+ onTouchMoveCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
385
+ onTouchStart: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
386
+ onTouchStartCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
387
+ onTransitionEnd: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
388
+ onTransitionEndCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
389
+ onVolumeChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
390
+ onVolumeChangeCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
391
+ onWaiting: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
392
+ onWaitingCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
393
+ onWheel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
394
+ onWheelCapture: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
395
+ open: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
396
+ optimum: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
397
+ pattern: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
398
+ playsInline: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
399
+ poster: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
400
+ prefix: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
401
+ preload: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
402
+ property: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
403
+ radioGroup: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
404
+ readOnly: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
405
+ rel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
406
+ rev: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
407
+ required: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
408
+ resource: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
409
+ results: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
410
+ reversed: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
411
+ role: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
412
+ rows: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
413
+ rowSpan: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
414
+ sandbox: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
415
+ scope: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
416
+ scoped: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
417
+ scrolling: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
418
+ seamless: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
419
+ security: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
420
+ selected: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
421
+ shape: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
422
+ size: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
423
+ sizes: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
424
+ slot: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
425
+ span: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
426
+ spellCheck: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
427
+ src: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
428
+ srcDoc: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
429
+ srcLang: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
430
+ srcSet: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
431
+ start: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
432
+ step: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
433
+ style: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
434
+ summary: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
435
+ suppressContentEditableWarning: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
436
+ suppressHydrationWarning: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
437
+ tabIndex: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
438
+ target: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
439
+ title: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
440
+ translate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
441
+ type: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
442
+ typeof: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
443
+ unselectable: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
444
+ useMap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
445
+ value: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
446
+ vocab: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
447
+ width: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
448
+ wmode: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
449
+ wrap: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
450
+ };
@@ -0,0 +1,33 @@
1
+ import type React from 'react';
2
+ import type { useVirtual } from 'react-virtual';
3
+ import type { DSComboboxT } from './react-desc-prop-types.js';
4
+ export declare namespace DSComboboxInternalsT {
5
+ interface ComboBoxContextT {
6
+ props: DSComboboxT.InternalProps;
7
+ internalRef: React.RefObject<HTMLInputElement>;
8
+ virtualListHelpers?: ReturnType<typeof useVirtual>;
9
+ menuState: boolean;
10
+ setShowPopover: React.Dispatch<React.SetStateAction<boolean>>;
11
+ referenceElement: HTMLElement | null;
12
+ setReferenceElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>;
13
+ pillGroupRef: React.RefObject<HTMLDivElement>;
14
+ scrollOptionIntoView: (dsId: string) => void;
15
+ setHasFocus: React.Dispatch<React.SetStateAction<boolean>>;
16
+ hasFocus: boolean;
17
+ listRef: React.RefObject<HTMLDivElement>;
18
+ wrapperListRef: React.RefObject<HTMLDivElement>;
19
+ inputValue: string;
20
+ setInputValue: React.Dispatch<React.SetStateAction<string>>;
21
+ selectedOptionsRef: React.RefObject<HTMLDivElement>;
22
+ controlsWrapperRef: React.RefObject<HTMLDivElement>;
23
+ selectAllCheckboxRef: React.RefObject<HTMLInputElement>;
24
+ toggleSelectionButtonRef: React.RefObject<HTMLButtonElement>;
25
+ focusOptionIdx: string;
26
+ setFocusOptionIdx: React.Dispatch<React.SetStateAction<string>>;
27
+ showSelectedOptions: boolean;
28
+ setShowSelectedOptions: React.Dispatch<React.SetStateAction<boolean>>;
29
+ setMenuState: (newState: boolean, reason?: string, e?: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent<HTMLInputElement>) => void;
30
+ }
31
+ }
32
+ export declare const isSeparator: (el: DSComboboxT.OptionTypes | undefined) => el is DSComboboxT.ItemSeparatorOptions;
33
+ export declare const isOption: (el: DSComboboxT.OptionTypes | undefined) => el is DSComboboxT.ItemOption;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ export declare const basicOptions: {
2
+ dsId: string;
3
+ type: string;
4
+ value: string;
5
+ label: string;
6
+ }[];
7
+ export declare const groupedOptions: ({
8
+ dsId: string;
9
+ type: string;
10
+ value: string;
11
+ label: string;
12
+ } | {
13
+ dsId: string;
14
+ type: string;
15
+ value?: undefined;
16
+ label?: undefined;
17
+ } | {
18
+ dsId: string;
19
+ type: string;
20
+ label: string;
21
+ value?: undefined;
22
+ })[];
@@ -0,0 +1,6 @@
1
+ export declare const DSComboBoxName = "DSCombobox";
2
+ export declare const DSComboboxSlots: {
3
+ CONTAINER: string;
4
+ INPUT_WRAPPER: string;
5
+ INPUT: string;
6
+ };
@@ -0,0 +1,14 @@
1
+ import type { DSComboboxT } from '../react-desc-prop-types.js';
2
+ export declare const getSelectableOptions: (options: Array<DSComboboxT.OptionTypes>) => Array<DSComboboxT.OptionTypes>;
3
+ export declare const getOptions: (options: Array<DSComboboxT.OptionTypes>) => Array<DSComboboxT.OptionTypes>;
4
+ export declare const isSelectedValueEmpty: (value: DSComboboxT.SelectedOptionsT) => boolean;
5
+ export declare const isSelectedValueMultiple: (value: DSComboboxT.SelectedOptionsT) => boolean;
6
+ export declare const isSelected: (value: DSComboboxT.SelectedOptionsT, activeOption: DSComboboxT.ItemOption) => boolean;
7
+ export declare const findInCircularList: (list: DSComboboxT.OptionTypes[], from: number, criteria: (item: DSComboboxT.OptionTypes) => boolean, step?: number) => number;
8
+ export declare const getLastValueSelected: (selectedValues: DSComboboxT.SelectedOptionsT) => DSComboboxT.ItemOption | null;
9
+ export declare const getFirstOption: (options: DSComboboxT.OptionTypes[], selectedValues: DSComboboxT.SelectedOptionsT) => string;
10
+ export declare const getSuggestedValueOnChange: (selectedOption: DSComboboxT.ItemOption, selectedValues: DSComboboxT.SelectedOptionsT, isNonClearable?: boolean) => DSComboboxT.ItemOption | DSComboboxT.ItemOption[] | null;
11
+ export declare const filterOptions: (inputValue: string, options: DSComboboxT.OptionTypes[]) => DSComboboxT.OptionTypes[];
12
+ export declare const selectedValuesWithSections: (optionsToParse: DSComboboxT.OptionTypes[], multiSelectedValue: DSComboboxT.ItemOption[]) => DSComboboxT.OptionTypes[];
13
+ export declare const getFilteredOptionsSelected: (filteredOption: DSComboboxT.OptionTypes[], selectedValues: DSComboboxT.ItemOption[]) => DSComboboxT.OptionTypes[];
14
+ export declare const scrollIfNeeded: (elem: HTMLElement, options?: ScrollIntoViewOptions | undefined) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-form-combobox",
3
- "version": "3.17.0-next.8",
3
+ "version": "3.17.0-rc.0",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Controlled Form Combobox",
6
6
  "files": [
@@ -37,18 +37,18 @@
37
37
  "dependencies": {
38
38
  "react-virtual": "~2.10.4",
39
39
  "uid": "~2.0.1",
40
- "@elliemae/ds-button": "3.17.0-next.8",
41
- "@elliemae/ds-circular-progress-indicator": "3.17.0-next.8",
42
- "@elliemae/ds-form-checkbox": "3.17.0-next.8",
43
- "@elliemae/ds-grid": "3.17.0-next.8",
44
- "@elliemae/ds-icons": "3.17.0-next.8",
45
- "@elliemae/ds-menu-items": "3.17.0-next.8",
46
- "@elliemae/ds-pills": "3.17.0-next.8",
47
- "@elliemae/ds-popperjs": "3.17.0-next.8",
48
- "@elliemae/ds-props-helpers": "3.17.0-next.8",
49
- "@elliemae/ds-system": "3.17.0-next.8",
50
- "@elliemae/ds-truncated-tooltip-text": "3.17.0-next.8",
51
- "@elliemae/ds-utilities": "3.17.0-next.8"
40
+ "@elliemae/ds-button": "3.17.0-rc.0",
41
+ "@elliemae/ds-circular-progress-indicator": "3.17.0-rc.0",
42
+ "@elliemae/ds-form-checkbox": "3.17.0-rc.0",
43
+ "@elliemae/ds-grid": "3.17.0-rc.0",
44
+ "@elliemae/ds-icons": "3.17.0-rc.0",
45
+ "@elliemae/ds-menu-items": "3.17.0-rc.0",
46
+ "@elliemae/ds-pills": "3.17.0-rc.0",
47
+ "@elliemae/ds-popperjs": "3.17.0-rc.0",
48
+ "@elliemae/ds-props-helpers": "3.17.0-rc.0",
49
+ "@elliemae/ds-system": "3.17.0-rc.0",
50
+ "@elliemae/ds-truncated-tooltip-text": "3.17.0-rc.0",
51
+ "@elliemae/ds-utilities": "3.17.0-rc.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@elliemae/pui-theme": "~2.7.0",
@@ -58,7 +58,7 @@
58
58
  "@testing-library/user-event": "~13.5.0",
59
59
  "styled-components": "~5.3.9",
60
60
  "styled-system": "~5.1.5",
61
- "@elliemae/ds-form-helpers-mask-hooks": "3.17.0-next.8"
61
+ "@elliemae/ds-form-helpers-mask-hooks": "3.17.0-rc.0"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@elliemae/pui-theme": "~2.7.0",