@elliemae/ds-form-layout-autocomplete 3.4.2 → 3.4.3

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 (62) hide show
  1. package/dist/cjs/Autocomplete.js +9 -5
  2. package/dist/cjs/Autocomplete.js.map +1 -1
  3. package/dist/cjs/AutocompleteCTX.js +4 -1
  4. package/dist/cjs/AutocompleteCTX.js.map +1 -1
  5. package/dist/cjs/AutocompleteDataTestids.js +4 -1
  6. package/dist/cjs/AutocompleteDataTestids.js.map +1 -1
  7. package/dist/cjs/config/useAutocomplete.js +38 -26
  8. package/dist/cjs/config/useAutocomplete.js.map +1 -1
  9. package/dist/cjs/index.js +4 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/parts/A11yFocusedOption.js +11 -6
  12. package/dist/cjs/parts/A11yFocusedOption.js.map +2 -2
  13. package/dist/cjs/parts/container/Container.js +41 -26
  14. package/dist/cjs/parts/container/Container.js.map +2 -2
  15. package/dist/cjs/parts/container/index.js +4 -1
  16. package/dist/cjs/parts/container/index.js.map +1 -1
  17. package/dist/cjs/parts/container/styled.js +4 -1
  18. package/dist/cjs/parts/container/styled.js.map +1 -1
  19. package/dist/cjs/parts/container/useKeyboardNavigation.js +47 -39
  20. package/dist/cjs/parts/container/useKeyboardNavigation.js.map +2 -2
  21. package/dist/cjs/parts/menu-list/MenuList.js +21 -14
  22. package/dist/cjs/parts/menu-list/MenuList.js.map +2 -2
  23. package/dist/cjs/parts/menu-list/index.js +4 -1
  24. package/dist/cjs/parts/menu-list/index.js.map +1 -1
  25. package/dist/cjs/parts/menu-list/styled.js +4 -1
  26. package/dist/cjs/parts/menu-list/styled.js.map +1 -1
  27. package/dist/cjs/parts/menu-list/useItemRenderer.js +18 -11
  28. package/dist/cjs/parts/menu-list/useItemRenderer.js.map +2 -2
  29. package/dist/cjs/react-desc-prop-types.js +4 -1
  30. package/dist/cjs/react-desc-prop-types.js.map +1 -1
  31. package/dist/cjs/sharedTypes.js +4 -1
  32. package/dist/cjs/sharedTypes.js.map +1 -1
  33. package/dist/cjs/tests/utils.js +4 -1
  34. package/dist/cjs/tests/utils.js.map +1 -1
  35. package/dist/cjs/utils/listHelper.js +4 -1
  36. package/dist/cjs/utils/listHelper.js.map +1 -1
  37. package/dist/esm/Autocomplete.js +5 -4
  38. package/dist/esm/Autocomplete.js.map +1 -1
  39. package/dist/esm/AutocompleteCTX.js.map +1 -1
  40. package/dist/esm/AutocompleteDataTestids.js.map +1 -1
  41. package/dist/esm/config/useAutocomplete.js +34 -25
  42. package/dist/esm/config/useAutocomplete.js.map +1 -1
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/parts/A11yFocusedOption.js +7 -5
  45. package/dist/esm/parts/A11yFocusedOption.js.map +1 -1
  46. package/dist/esm/parts/container/Container.js +37 -25
  47. package/dist/esm/parts/container/Container.js.map +2 -2
  48. package/dist/esm/parts/container/index.js.map +1 -1
  49. package/dist/esm/parts/container/styled.js.map +1 -1
  50. package/dist/esm/parts/container/useKeyboardNavigation.js +43 -38
  51. package/dist/esm/parts/container/useKeyboardNavigation.js.map +1 -1
  52. package/dist/esm/parts/menu-list/MenuList.js +17 -13
  53. package/dist/esm/parts/menu-list/MenuList.js.map +1 -1
  54. package/dist/esm/parts/menu-list/index.js.map +1 -1
  55. package/dist/esm/parts/menu-list/styled.js.map +1 -1
  56. package/dist/esm/parts/menu-list/useItemRenderer.js +14 -10
  57. package/dist/esm/parts/menu-list/useItemRenderer.js.map +1 -1
  58. package/dist/esm/react-desc-prop-types.js.map +1 -1
  59. package/dist/esm/sharedTypes.js.map +1 -1
  60. package/dist/esm/tests/utils.js.map +1 -1
  61. package/dist/esm/utils/listHelper.js.map +1 -1
  62. package/package.json +6 -6
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var Autocomplete_exports = {};
23
26
  __export(Autocomplete_exports, {
@@ -26,7 +29,7 @@ __export(Autocomplete_exports, {
26
29
  });
27
30
  module.exports = __toCommonJS(Autocomplete_exports);
28
31
  var React = __toESM(require("react"));
29
- var import_react = __toESM(require("react"));
32
+ var import_jsx_runtime = require("react/jsx-runtime");
30
33
  var import_ds_utilities = require("@elliemae/ds-utilities");
31
34
  var import_useAutocomplete = require("./config/useAutocomplete");
32
35
  var import_container = require("./parts/container");
@@ -36,9 +39,10 @@ const DSAutocomplete = (props) => {
36
39
  const propsWithDefault = (0, import_ds_utilities.useMemoMergePropsWithDefault)(props, import_AutocompleteCTX.defaultProps);
37
40
  (0, import_ds_utilities.useValidateTypescriptPropTypes)(propsWithDefault, import_react_desc_prop_types.propTypes);
38
41
  const ctx = (0, import_useAutocomplete.useAutocomplete)(props);
39
- return /* @__PURE__ */ import_react.default.createElement(import_AutocompleteCTX.AutocompleteContext.Provider, {
40
- value: ctx
41
- }, /* @__PURE__ */ import_react.default.createElement(import_container.Container, null));
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AutocompleteCTX.AutocompleteContext.Provider, {
43
+ value: ctx,
44
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_container.Container, {})
45
+ });
42
46
  };
43
47
  DSAutocomplete.propTypes = import_react_desc_prop_types.propTypes;
44
48
  DSAutocomplete.displayName = "DSAutocomplete";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/Autocomplete.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { WeakValidationMap } from 'react';\nimport { useMemoMergePropsWithDefault, describe, useValidateTypescriptPropTypes } from '@elliemae/ds-utilities';\nimport { useAutocomplete } from './config/useAutocomplete';\nimport { Container } from './parts/container';\nimport { AutocompleteContext, defaultProps } from './AutocompleteCTX';\nimport { DSAutocompleteT, propTypes } from './react-desc-prop-types';\n\nconst DSAutocomplete: React.ComponentType<DSAutocompleteT.Props> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultProps);\n\n useValidateTypescriptPropTypes(propsWithDefault, propTypes);\n const ctx = useAutocomplete(props);\n return (\n <AutocompleteContext.Provider value={ctx}>\n <Container />\n </AutocompleteContext.Provider>\n );\n};\nDSAutocomplete.propTypes = propTypes as WeakValidationMap<unknown>;\nDSAutocomplete.displayName = 'DSAutocomplete';\nconst DSAutocompleteWithSchema = describe(DSAutocomplete);\nDSAutocompleteWithSchema.propTypes = propTypes as WeakValidationMap<unknown>;\n\nexport { DSAutocomplete, DSAutocompleteWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AACzC,0BAAuF;AACvF,6BAAgC;AAChC,uBAA0B;AAC1B,6BAAkD;AAClD,mCAA2C;AAE3C,MAAM,iBAA6D,CAAC,UAAU;AAC5E,QAAM,mBAAmB,sDAA6B,OAAO,mCAAY;AAEzE,0DAA+B,kBAAkB,sCAAS;AAC1D,QAAM,MAAM,4CAAgB,KAAK;AACjC,SACE,mDAAC,2CAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,KACnC,mDAAC,gCAAU,CACb;AAEJ;AACA,eAAe,YAAY;AAC3B,eAAe,cAAc;AAC7B,MAAM,2BAA2B,kCAAS,cAAc;AACxD,yBAAyB,YAAY;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,0BAAuF;AACvF,6BAAgC;AAChC,uBAA0B;AAC1B,6BAAkD;AAClD,mCAA2C;AAE3C,MAAM,iBAA6D,CAAC,UAAU;AAC5E,QAAM,uBAAmB,kDAA6B,OAAO,mCAAY;AAEzE,0DAA+B,kBAAkB,sCAAS;AAC1D,QAAM,UAAM,wCAAgB,KAAK;AACjC,SACE,4CAAC,2CAAoB,UAApB;AAAA,IAA6B,OAAO;AAAA,IACnC,sDAAC,8BAAU;AAAA,GACb;AAEJ;AACA,eAAe,YAAY;AAC3B,eAAe,cAAc;AAC7B,MAAM,+BAA2B,8BAAS,cAAc;AACxD,yBAAyB,YAAY;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var AutocompleteCTX_exports = {};
23
26
  __export(AutocompleteCTX_exports, {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/AutocompleteCTX.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { createContext, createRef } from 'react';\nimport { DSAutocompleteT } from './react-desc-prop-types';\nimport { DSAutoCompleteInternalsT } from './sharedTypes';\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\nexport const defaultProps: DSAutocompleteT.DefaultProps = {\n zIndex: 10,\n withoutPortal: false,\n startPlacementPreference: 'bottom-start',\n placementOrderPreference: ['bottom-start', 'bottom-end'],\n};\nconst defaultContext = {\n props: defaultProps as DSAutocompleteT.InternalProps,\n showPopover: false,\n setShowPopover: noop,\n scrollOptionIntoView: noop,\n referenceElement: null,\n setReferenceElement: noop,\n inputRef: createRef<HTMLInputElement>(),\n listRef: createRef<HTMLDivElement>(),\n focusOptionIdx: '',\n setCurrentOption: noop,\n};\n/** Context for cross component communication */\nexport const AutocompleteContext = createContext<DSAutoCompleteInternalsT.AutocompleteContext>(defaultContext);\n\nexport default AutocompleteContext;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AAIzC,MAAM,OAAO,MAAM;AAAC;AACb,MAAM,eAA6C;AAAA,EACxD,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,0BAA0B,CAAC,gBAAgB,YAAY;AACzD;AACA,MAAM,iBAAiB;AAAA,EACrB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,UAAU,4BAA4B;AAAA,EACtC,SAAS,4BAA0B;AAAA,EACnC,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;AAEO,MAAM,sBAAsB,gCAA4D,cAAc;AAE7G,IAAO,0BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AAIzC,MAAM,OAAO,MAAM;AAAC;AACb,MAAM,eAA6C;AAAA,EACxD,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,0BAA0B,CAAC,gBAAgB,YAAY;AACzD;AACA,MAAM,iBAAiB;AAAA,EACrB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,cAAU,wBAA4B;AAAA,EACtC,aAAS,wBAA0B;AAAA,EACnC,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;AAEO,MAAM,0BAAsB,4BAA4D,cAAc;AAE7G,IAAO,0BAAQ;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var AutocompleteDataTestids_exports = {};
23
26
  __export(AutocompleteDataTestids_exports, {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/AutocompleteDataTestids.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const AutocompleteDataTestid = {\n LIST: 'autocomplete-menu-list',\n OPTION: 'autocomplete-option',\n CONTAINER: 'autocomplete-container',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AACb;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var useAutocomplete_exports = {};
23
26
  __export(useAutocomplete_exports, {
@@ -50,9 +53,15 @@ const useAutocomplete = (props) => {
50
53
  overscan: 15,
51
54
  paddingStart: 0
52
55
  });
53
- const scrollOptionIntoView = (0, import_react.useCallback)((dsId, opts = { align: "center" }) => {
54
- virtualListHelpers.scrollToIndex(options.findIndex((opt) => opt.dsId === dsId), opts);
55
- }, [options, virtualListHelpers]);
56
+ const scrollOptionIntoView = (0, import_react.useCallback)(
57
+ (dsId, opts = { align: "center" }) => {
58
+ virtualListHelpers.scrollToIndex(
59
+ options.findIndex((opt) => opt.dsId === dsId),
60
+ opts
61
+ );
62
+ },
63
+ [options, virtualListHelpers]
64
+ );
56
65
  (0, import_react.useEffect)(() => {
57
66
  if (filter.length === 0 || options.length === 0) {
58
67
  setShowPopover(false);
@@ -61,28 +70,31 @@ const useAutocomplete = (props) => {
61
70
  (0, import_react.useEffect)(() => {
62
71
  setCurrentOption((0, import_listHelper.getFirstOption)(options));
63
72
  }, [options, showPopover]);
64
- const ctx = (0, import_react.useMemo)(() => ({
65
- props: { ...propsWithDefault },
66
- virtualListHelpers,
67
- showPopover,
68
- referenceElement,
69
- inputRef,
70
- listRef,
71
- focusOptionIdx,
72
- setCurrentOption,
73
- scrollOptionIntoView,
74
- setReferenceElement,
75
- setShowPopover
76
- }), [
77
- scrollOptionIntoView,
78
- propsWithDefault,
79
- virtualListHelpers,
80
- focusOptionIdx,
81
- showPopover,
82
- referenceElement,
83
- inputRef,
84
- listRef
85
- ]);
73
+ const ctx = (0, import_react.useMemo)(
74
+ () => ({
75
+ props: { ...propsWithDefault },
76
+ virtualListHelpers,
77
+ showPopover,
78
+ referenceElement,
79
+ inputRef,
80
+ listRef,
81
+ focusOptionIdx,
82
+ setCurrentOption,
83
+ scrollOptionIntoView,
84
+ setReferenceElement,
85
+ setShowPopover
86
+ }),
87
+ [
88
+ scrollOptionIntoView,
89
+ propsWithDefault,
90
+ virtualListHelpers,
91
+ focusOptionIdx,
92
+ showPopover,
93
+ referenceElement,
94
+ inputRef,
95
+ listRef
96
+ ]
97
+ );
86
98
  return ctx;
87
99
  };
88
100
  //# sourceMappingURL=useAutocomplete.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/config/useAutocomplete.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useMemo, useState, useEffect, useRef, useCallback } from 'react';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-utilities';\n\nimport { useVirtual } from 'react-virtual';\nimport { DSAutocompleteT, propTypes } from '../react-desc-prop-types';\nimport { DSAutoCompleteInternalsT } from '../sharedTypes';\nimport { defaultProps } from '../AutocompleteCTX';\nimport { getFirstOption } from '../utils/listHelper';\n\nexport const useAutocomplete = (props: DSAutocompleteT.Props): DSAutoCompleteInternalsT.AutocompleteContext => {\n const defaultPropsWithInnerRef = {\n ...defaultProps,\n innerRef: useRef(null),\n };\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultPropsWithInnerRef);\n useValidateTypescriptPropTypes(propsWithDefault, propTypes);\n const [showPopover, setShowPopover] = useState<boolean>(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null);\n\n const [focusOptionIdx, setCurrentOption] = useState<string>('');\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n const { options, filter } = propsWithDefault;\n\n // ===========================================================================\n // Virtualization setup\n // ===========================================================================\n\n const virtualListHelpers: ReturnType<typeof useVirtual> = useVirtual({\n size: options.length,\n parentRef: listRef,\n overscan: 15,\n paddingStart: 0,\n });\n\n // ===========================================================================\n // Scroll into view function\n // ===========================================================================\n const scrollOptionIntoView = useCallback(\n (dsId: string, opts = { align: 'center' }) => {\n virtualListHelpers.scrollToIndex(\n options.findIndex((opt) => opt.dsId === dsId),\n opts,\n );\n },\n [options, virtualListHelpers],\n );\n\n useEffect(() => {\n if (filter.length === 0 || options.length === 0) {\n setShowPopover(false);\n }\n }, [filter, options.length, setShowPopover]);\n\n useEffect(() => {\n setCurrentOption(getFirstOption(options));\n }, [options, showPopover]);\n\n const ctx = useMemo(\n () => ({\n props: { ...propsWithDefault },\n virtualListHelpers,\n showPopover,\n referenceElement,\n inputRef,\n listRef,\n focusOptionIdx,\n setCurrentOption,\n scrollOptionIntoView,\n setReferenceElement,\n setShowPopover,\n }),\n [\n scrollOptionIntoView,\n propsWithDefault,\n virtualListHelpers,\n focusOptionIdx,\n showPopover,\n referenceElement,\n inputRef,\n listRef,\n ],\n );\n\n return ctx;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAkE;AAClE,0BAA6E;AAE7E,2BAA2B;AAC3B,mCAA2C;AAE3C,6BAA6B;AAC7B,wBAA+B;AAExB,MAAM,kBAAkB,CAAC,UAA+E;AAC7G,QAAM,2BAA2B;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,yBAAO,IAAI;AAAA,EACvB;AACA,QAAM,mBAAmB,sDAA6B,OAAO,wBAAwB;AACrF,0DAA+B,kBAAkB,sCAAS;AAC1D,QAAM,CAAC,aAAa,kBAAkB,2BAAkB,KAAK;AAC7D,QAAM,CAAC,kBAAkB,uBAAuB,2BAA6B,IAAI;AAEjF,QAAM,CAAC,gBAAgB,oBAAoB,2BAAiB,EAAE;AAE9D,QAAM,WAAW,yBAAyB,IAAI;AAC9C,QAAM,UAAU,yBAAuB,IAAI;AAE3C,QAAM,EAAE,SAAS,WAAW;AAM5B,QAAM,qBAAoD,qCAAW;AAAA,IACnE,MAAM,QAAQ;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AAKD,QAAM,uBAAuB,8BAC3B,CAAC,MAAc,OAAO,EAAE,OAAO,SAAS,MAAM;AAC5C,uBAAmB,cACjB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI,GAC5C,IACF;AAAA,EACF,GACA,CAAC,SAAS,kBAAkB,CAC9B;AAEA,8BAAU,MAAM;AACd,QAAI,OAAO,WAAW,KAAK,QAAQ,WAAW,GAAG;AAC/C,qBAAe,KAAK;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,QAAQ,QAAQ,cAAc,CAAC;AAE3C,8BAAU,MAAM;AACd,qBAAiB,sCAAe,OAAO,CAAC;AAAA,EAC1C,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,QAAM,MAAM,0BACV,MAAO;AAAA,IACL,OAAO,EAAE,GAAG,iBAAiB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,SAAO;AACT;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAkE;AAClE,0BAA6E;AAE7E,2BAA2B;AAC3B,mCAA2C;AAE3C,6BAA6B;AAC7B,wBAA+B;AAExB,MAAM,kBAAkB,CAAC,UAA+E;AAC7G,QAAM,2BAA2B;AAAA,IAC/B,GAAG;AAAA,IACH,cAAU,qBAAO,IAAI;AAAA,EACvB;AACA,QAAM,uBAAmB,kDAA6B,OAAO,wBAAwB;AACrF,0DAA+B,kBAAkB,sCAAS;AAC1D,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAkB,KAAK;AAC7D,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAA6B,IAAI;AAEjF,QAAM,CAAC,gBAAgB,gBAAgB,QAAI,uBAAiB,EAAE;AAE9D,QAAM,eAAW,qBAAyB,IAAI;AAC9C,QAAM,cAAU,qBAAuB,IAAI;AAE3C,QAAM,EAAE,SAAS,OAAO,IAAI;AAM5B,QAAM,yBAAoD,iCAAW;AAAA,IACnE,MAAM,QAAQ;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AAKD,QAAM,2BAAuB;AAAA,IAC3B,CAAC,MAAc,OAAO,EAAE,OAAO,SAAS,MAAM;AAC5C,yBAAmB;AAAA,QACjB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS,IAAI;AAAA,QAC5C;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,kBAAkB;AAAA,EAC9B;AAEA,8BAAU,MAAM;AACd,QAAI,OAAO,WAAW,KAAK,QAAQ,WAAW,GAAG;AAC/C,qBAAe,KAAK;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,QAAQ,QAAQ,cAAc,CAAC;AAE3C,8BAAU,MAAM;AACd,yBAAiB,kCAAe,OAAO,CAAC;AAAA,EAC1C,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,OAAO,EAAE,GAAG,iBAAiB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -14,7 +14,10 @@ var __copyProps = (to, from, except, desc) => {
14
14
  return to;
15
15
  };
16
16
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
19
+ mod
20
+ ));
18
21
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
22
  var src_exports = {};
20
23
  module.exports = __toCommonJS(src_exports);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["// export { CBContainer, CBContainerWithSchema } from './parts/cb-container';\nexport * from './Autocomplete';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADCvB,wBAAc,2BADd;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADCvB,wBAAc,2BADd;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var A11yFocusedOption_exports = {};
23
26
  __export(A11yFocusedOption_exports, {
@@ -27,7 +30,8 @@ __export(A11yFocusedOption_exports, {
27
30
  });
28
31
  module.exports = __toCommonJS(A11yFocusedOption_exports);
29
32
  var React = __toESM(require("react"));
30
- var import_react = __toESM(require("react"));
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_react = require("react");
31
35
  var import_ds_system = require("@elliemae/ds-system");
32
36
  var import_AutocompleteCTX = __toESM(require("../AutocompleteCTX"));
33
37
  var import_listHelper = require("../utils/listHelper");
@@ -48,10 +52,11 @@ const A11yFocusedOption = () => {
48
52
  const selectabledOptions = (0, import_listHelper.getSelectableOptions)(options);
49
53
  const focusOption = options.find((option) => !isSeparator(option) && option.dsId === focusOptionIdx);
50
54
  const focusSelectableOptionIdx = selectabledOptions.findIndex((option) => option.dsId === focusOptionIdx);
51
- return /* @__PURE__ */ import_react.default.createElement(StyledA11ySelectedValues, {
52
- "aria-live": "polite"
53
- }, !isSeparator(focusOption) && showPopover && focusOption && `option ${focusOption.label} focused.${focusSelectableOptionIdx + 1} of ${selectabledOptions.length}
54
- `);
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledA11ySelectedValues, {
56
+ "aria-live": "polite",
57
+ children: !isSeparator(focusOption) && showPopover && focusOption && `option ${focusOption.label} focused.${focusSelectableOptionIdx + 1} of ${selectabledOptions.length}
58
+ `
59
+ });
55
60
  }, [options, showPopover, focusOptionIdx]);
56
61
  };
57
62
  //# sourceMappingURL=A11yFocusedOption.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/A11yFocusedOption.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport AutocompleteContext from '../AutocompleteCTX';\nimport { getSelectableOptions } from '../utils/listHelper';\nimport { DSAutocompleteT } from '../react-desc-prop-types';\nexport const isSeparator = (el: DSAutocompleteT.OptionTypes | undefined): el is DSAutocompleteT.ItemSeparatorOptions =>\n el?.type === 'separator';\n\nexport const StyledA11ySelectedValues = styled.span`\n width: 1px;\n height: 1px;\n position: absolute;\n clip: rect(1px, 1px, 1px, 1px);\n`;\n\nexport const A11yFocusedOption: React.ComponentType = () => {\n const {\n props: { options },\n focusOptionIdx,\n showPopover,\n } = useContext(AutocompleteContext);\n\n return useMemo(() => {\n const selectabledOptions = getSelectableOptions(options);\n const focusOption = options.find((option) => !isSeparator(option) && option.dsId === focusOptionIdx);\n const focusSelectableOptionIdx = selectabledOptions.findIndex((option) => option.dsId === focusOptionIdx);\n\n return (\n <StyledA11ySelectedValues aria-live=\"polite\">\n {!isSeparator(focusOption) &&\n showPopover &&\n focusOption &&\n `option ${focusOption.label} focused.${focusSelectableOptionIdx + 1} of ${selectabledOptions.length}\n `}\n </StyledA11ySelectedValues>\n );\n }, [options, showPopover, focusOptionIdx]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA2C;AAC3C,uBAAuB;AACvB,6BAAgC;AAChC,wBAAqC;AAE9B,MAAM,cAAc,CAAC,OAC1B,IAAI,SAAS;AAER,MAAM,2BAA2B,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOxC,MAAM,oBAAyC,MAAM;AAC1D,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,IACA;AAAA,MACE,6BAAW,8BAAmB;AAElC,SAAO,0BAAQ,MAAM;AACnB,UAAM,qBAAqB,4CAAqB,OAAO;AACvD,UAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,CAAC,YAAY,MAAM,KAAK,OAAO,SAAS,cAAc;AACnG,UAAM,2BAA2B,mBAAmB,UAAU,CAAC,WAAW,OAAO,SAAS,cAAc;AAExG,WACE,mDAAC;AAAA,MAAyB,aAAU;AAAA,OACjC,CAAC,YAAY,WAAW,KACvB,eACA,eACA,UAAU,YAAY,iBAAiB,2BAA2B,QAAQ,mBAAmB;AAAA,YAEjG;AAAA,EAEJ,GAAG,CAAC,SAAS,aAAa,cAAc,CAAC;AAC3C;",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA2C;AAC3C,uBAAuB;AACvB,6BAAgC;AAChC,wBAAqC;AAE9B,MAAM,cAAc,CAAC,OAC1B,IAAI,SAAS;AAER,MAAM,2BAA2B,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOxC,MAAM,oBAAyC,MAAM;AAC1D,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,uBAAAA,OAAmB;AAElC,aAAO,sBAAQ,MAAM;AACnB,UAAM,yBAAqB,wCAAqB,OAAO;AACvD,UAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,CAAC,YAAY,MAAM,KAAK,OAAO,SAAS,cAAc;AACnG,UAAM,2BAA2B,mBAAmB,UAAU,CAAC,WAAW,OAAO,SAAS,cAAc;AAExG,WACE,4CAAC;AAAA,MAAyB,aAAU;AAAA,MACjC,WAAC,YAAY,WAAW,KACvB,eACA,eACA,UAAU,YAAY,iBAAiB,2BAA2B,QAAQ,mBAAmB;AAAA;AAAA,KAEjG;AAAA,EAEJ,GAAG,CAAC,SAAS,aAAa,cAAc,CAAC;AAC3C;",
6
+ "names": ["AutocompleteContext"]
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var Container_exports = {};
23
26
  __export(Container_exports, {
@@ -25,6 +28,7 @@ __export(Container_exports, {
25
28
  });
26
29
  module.exports = __toCommonJS(Container_exports);
27
30
  var React = __toESM(require("react"));
31
+ var import_jsx_runtime = require("react/jsx-runtime");
28
32
  var import_react = __toESM(require("react"));
29
33
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
30
34
  var import_AutocompleteCTX = __toESM(require("../../AutocompleteCTX"));
@@ -58,30 +62,41 @@ const Container = () => {
58
62
  const input = import_react.default.Children.only(children);
59
63
  const childrenWithProps = import_react.default.isValidElement(input) ? import_react.default.cloneElement(input, { "aria-activedescendant": focusOptionIdx }) : input;
60
64
  const idList = (0, import_react.useMemo)(() => `${id ? `${id}-` : ""}listbox`, [id]);
61
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_A11yFocusedOption.A11yFocusedOption, null), /* @__PURE__ */ import_react.default.createElement(import_styled.StyledContainer, {
62
- id,
63
- ref: setReferenceElement,
64
- role: "combobox",
65
- "aria-autocomplete": "list",
66
- "aria-controls": "autocomplete-listbox",
67
- "aria-expanded": showPopover,
68
- "aria-haspopup": "listbox",
69
- "aria-owns": idList,
70
- onKeyDown: onInputKeyDown,
71
- "data-testid": import_AutocompleteDataTestids.AutocompleteDataTestid.CONTAINER
72
- }, childrenWithProps, filter && /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
73
- customOffset: [0, 5],
74
- closeContextMenu: handleCloseMenu,
75
- referenceElement,
76
- showPopover,
77
- startPlacementPreference,
78
- placementOrderPreference,
79
- withoutPortal: true,
80
- withoutArrow: true,
81
- withoutAnimation: true,
82
- zIndex: 10
83
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledPopperWrapper, {
84
- tabIndex: -1
85
- }, /* @__PURE__ */ import_react.default.createElement(import_menu_list.MenuList, null)))));
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
66
+ children: [
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_A11yFocusedOption.A11yFocusedOption, {}),
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledContainer, {
69
+ id,
70
+ ref: setReferenceElement,
71
+ role: "combobox",
72
+ "aria-autocomplete": "list",
73
+ "aria-controls": "autocomplete-listbox",
74
+ "aria-expanded": showPopover,
75
+ "aria-haspopup": "listbox",
76
+ "aria-owns": idList,
77
+ onKeyDown: onInputKeyDown,
78
+ "data-testid": import_AutocompleteDataTestids.AutocompleteDataTestid.CONTAINER,
79
+ children: [
80
+ childrenWithProps,
81
+ filter && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_popperjs.DSPopperJS, {
82
+ customOffset: [0, 5],
83
+ closeContextMenu: handleCloseMenu,
84
+ referenceElement,
85
+ showPopover,
86
+ startPlacementPreference,
87
+ placementOrderPreference,
88
+ withoutPortal: true,
89
+ withoutArrow: true,
90
+ withoutAnimation: true,
91
+ zIndex: 10,
92
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledPopperWrapper, {
93
+ tabIndex: -1,
94
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_menu_list.MenuList, {})
95
+ })
96
+ })
97
+ ]
98
+ })
99
+ ]
100
+ });
86
101
  };
87
102
  //# sourceMappingURL=Container.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/container/Container.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable complexity */\nimport React, { useCallback, useMemo, useEffect, useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport AutocompleteContext from '../../AutocompleteCTX';\nimport { StyledContainer, StyledPopperWrapper } from './styled';\nimport { MenuList } from '../menu-list';\nimport { useKeyboardNavigation } from './useKeyboardNavigation';\nimport { AutocompleteDataTestid } from '../../AutocompleteDataTestids';\nimport { A11yFocusedOption } from '../A11yFocusedOption';\nexport const Container = (): JSX.Element => {\n const {\n props: { id, startPlacementPreference, children, filter, placementOrderPreference },\n showPopover,\n setReferenceElement,\n setShowPopover,\n focusOptionIdx,\n referenceElement,\n } = useContext(AutocompleteContext);\n\n useEffect(() => {\n const closePopper = () => {\n setShowPopover(false);\n };\n window.addEventListener('blur', closePopper);\n\n return () => {\n window.removeEventListener('blur', closePopper);\n };\n }, [setShowPopover]);\n\n const handleCloseMenu = useCallback(() => {\n setShowPopover(false);\n }, [setShowPopover]);\n\n const { onInputKeyDown } = useKeyboardNavigation();\n\n const input = React.Children.only(children);\n\n const childrenWithProps = React.isValidElement(input)\n ? React.cloneElement(input, { 'aria-activedescendant': focusOptionIdx })\n : input;\n\n const idList = useMemo(() => `${id ? `${id}-` : ''}listbox`, [id]);\n\n return (\n <>\n <A11yFocusedOption />\n\n <StyledContainer\n id={id}\n ref={setReferenceElement}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls=\"autocomplete-listbox\"\n aria-expanded={showPopover}\n aria-haspopup=\"listbox\"\n aria-owns={idList}\n onKeyDown={onInputKeyDown}\n data-testid={AutocompleteDataTestid.CONTAINER}\n >\n {childrenWithProps}\n {filter && (\n <DSPopperJS\n customOffset={[0, 5]}\n closeContextMenu={handleCloseMenu}\n referenceElement={referenceElement}\n showPopover={showPopover}\n startPlacementPreference={startPlacementPreference}\n placementOrderPreference={placementOrderPreference}\n withoutPortal\n withoutArrow\n withoutAnimation\n zIndex={10}\n >\n <StyledPopperWrapper tabIndex={-1}>\n <MenuList />\n </StyledPopperWrapper>\n </DSPopperJS>\n )}\n </StyledContainer>\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAmE;AACnE,yBAA2B;AAC3B,6BAAgC;AAChC,oBAAqD;AACrD,uBAAyB;AACzB,mCAAsC;AACtC,qCAAuC;AACvC,+BAAkC;AAC3B,MAAM,YAAY,MAAmB;AAC1C,QAAM;AAAA,IACJ,OAAO,EAAE,IAAI,0BAA0B,UAAU,QAAQ;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,8BAAmB;AAElC,8BAAU,MAAM;AACd,UAAM,cAAc,MAAM;AACxB,qBAAe,KAAK;AAAA,IACtB;AACA,WAAO,iBAAiB,QAAQ,WAAW;AAE3C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,WAAW;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,kBAAkB,8BAAY,MAAM;AACxC,mBAAe,KAAK;AAAA,EACtB,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,EAAE,mBAAmB,wDAAsB;AAEjD,QAAM,QAAQ,qBAAM,SAAS,KAAK,QAAQ;AAE1C,QAAM,oBAAoB,qBAAM,eAAe,KAAK,IAChD,qBAAM,aAAa,OAAO,EAAE,yBAAyB,eAAe,CAAC,IACrE;AAEJ,QAAM,SAAS,0BAAQ,MAAM,GAAG,KAAK,GAAG,QAAQ,aAAa,CAAC,EAAE,CAAC;AAEjE,SACE,wFACE,mDAAC,gDAAkB,GAEnB,mDAAC;AAAA,IACC;AAAA,IACA,KAAK;AAAA,IACL,MAAK;AAAA,IACL,qBAAkB;AAAA,IAClB,iBAAc;AAAA,IACd,iBAAe;AAAA,IACf,iBAAc;AAAA,IACd,aAAW;AAAA,IACX,WAAW;AAAA,IACX,eAAa,sDAAuB;AAAA,KAEnC,mBACA,UACC,mDAAC;AAAA,IACC,cAAc,CAAC,GAAG,CAAC;AAAA,IACnB,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAa;AAAA,IACb,cAAY;AAAA,IACZ,kBAAgB;AAAA,IAChB,QAAQ;AAAA,KAER,mDAAC;AAAA,IAAoB,UAAU;AAAA,KAC7B,mDAAC,+BAAS,CACZ,CACF,CAEJ,CACF;AAEJ;",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,mBAAmE;AACnE,yBAA2B;AAC3B,6BAAgC;AAChC,oBAAqD;AACrD,uBAAyB;AACzB,mCAAsC;AACtC,qCAAuC;AACvC,+BAAkC;AAC3B,MAAM,YAAY,MAAmB;AAC1C,QAAM;AAAA,IACJ,OAAO,EAAE,IAAI,0BAA0B,UAAU,QAAQ,yBAAyB;AAAA,IAClF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,uBAAAA,OAAmB;AAElC,8BAAU,MAAM;AACd,UAAM,cAAc,MAAM;AACxB,qBAAe,KAAK;AAAA,IACtB;AACA,WAAO,iBAAiB,QAAQ,WAAW;AAE3C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,WAAW;AAAA,IAChD;AAAA,EACF,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,sBAAkB,0BAAY,MAAM;AACxC,mBAAe,KAAK;AAAA,EACtB,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,EAAE,eAAe,QAAI,oDAAsB;AAEjD,QAAM,QAAQ,aAAAC,QAAM,SAAS,KAAK,QAAQ;AAE1C,QAAM,oBAAoB,aAAAA,QAAM,eAAe,KAAK,IAChD,aAAAA,QAAM,aAAa,OAAO,EAAE,yBAAyB,eAAe,CAAC,IACrE;AAEJ,QAAM,aAAS,sBAAQ,MAAM,GAAG,KAAK,GAAG,QAAQ,aAAa,CAAC,EAAE,CAAC;AAEjE,SACE;AAAA,IACE;AAAA,kDAAC,8CAAkB;AAAA,MAEnB,6CAAC;AAAA,QACC;AAAA,QACA,KAAK;AAAA,QACL,MAAK;AAAA,QACL,qBAAkB;AAAA,QAClB,iBAAc;AAAA,QACd,iBAAe;AAAA,QACf,iBAAc;AAAA,QACd,aAAW;AAAA,QACX,WAAW;AAAA,QACX,eAAa,sDAAuB;AAAA,QAEnC;AAAA;AAAA,UACA,UACC,4CAAC;AAAA,YACC,cAAc,CAAC,GAAG,CAAC;AAAA,YACnB,kBAAkB;AAAA,YAClB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAa;AAAA,YACb,cAAY;AAAA,YACZ,kBAAgB;AAAA,YAChB,QAAQ;AAAA,YAER,sDAAC;AAAA,cAAoB,UAAU;AAAA,cAC7B,sDAAC,6BAAS;AAAA,aACZ;AAAA,WACF;AAAA;AAAA,OAEJ;AAAA;AAAA,GACF;AAEJ;",
6
+ "names": ["AutocompleteContext", "React"]
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var container_exports = {};
23
26
  __export(container_exports, {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/container/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export { Container } from './Container';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA0B;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA0B;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var styled_exports = {};
23
26
  __export(styled_exports, {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/container/styled.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { styled } from '@elliemae/ds-system';\n\nexport const StyledContainer = styled.div`\n width: 100%;\n height: 28px;\n position: relative;\n`;\n\nexport const StyledPopperWrapper = styled.div`\n background: #fff;\n overflow: auto;\n position: relative;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AAEhB,MAAM,kBAAkB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAM/B,MAAM,sBAAsB,wBAAO;AAAA;AAAA;AAAA;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AAEhB,MAAM,kBAAkB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAM/B,MAAM,sBAAsB,wBAAO;AAAA;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var useKeyboardNavigation_exports = {};
23
26
  __export(useKeyboardNavigation_exports, {
@@ -39,46 +42,51 @@ const useKeyboardNavigation = () => {
39
42
  scrollOptionIntoView
40
43
  } = (0, import_react.useContext)(import_AutocompleteCTX.default);
41
44
  const currentItemIndex = options.findIndex((opt) => opt.dsId === focusOptionIdx);
42
- const currentItem = options.find((item) => item.type === "option" && item.dsId === focusOptionIdx);
43
- const onInputKeyDown = (0, import_react.useCallback)((e) => {
44
- if ((e.keyCode >= 48 && e.keyCode <= 90 || e.key === "Backspace") && !showPopover) {
45
- setShowPopover(true);
46
- } else if (e.key === "Tab")
47
- setShowPopover(false);
48
- if (e.key === "Enter" && showPopover) {
49
- e.preventDefault();
50
- onSelect(currentItem?.label, e);
51
- setShowPopover(false);
52
- }
53
- if (e.key === "ArrowDown") {
54
- e.preventDefault();
55
- if (showPopover) {
56
- const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable);
57
- setCurrentOption(options[nextItemIndex].dsId);
58
- scrollOptionIntoView(options[nextItemIndex].dsId);
45
+ const currentItem = options.find(
46
+ (item) => item.type === "option" && item.dsId === focusOptionIdx
47
+ );
48
+ const onInputKeyDown = (0, import_react.useCallback)(
49
+ (e) => {
50
+ if ((e.keyCode >= 48 && e.keyCode <= 90 || e.key === "Backspace") && !showPopover) {
51
+ setShowPopover(true);
52
+ } else if (e.key === "Tab")
53
+ setShowPopover(false);
54
+ if (e.key === "Enter" && showPopover) {
55
+ e.preventDefault();
56
+ onSelect(currentItem?.label, e);
57
+ setShowPopover(false);
59
58
  }
60
- }
61
- if (e.key === "ArrowUp") {
62
- e.preventDefault();
63
- if (showPopover) {
64
- const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable, -1);
65
- setCurrentOption(options[nextItemIndex].dsId);
66
- scrollOptionIntoView(options[nextItemIndex].dsId);
59
+ if (e.key === "ArrowDown") {
60
+ e.preventDefault();
61
+ if (showPopover) {
62
+ const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable);
63
+ setCurrentOption(options[nextItemIndex].dsId);
64
+ scrollOptionIntoView(options[nextItemIndex].dsId);
65
+ }
67
66
  }
68
- }
69
- if (e.key === "Escape") {
70
- setShowPopover(false);
71
- }
72
- }, [
73
- currentItem?.label,
74
- currentItemIndex,
75
- onSelect,
76
- options,
77
- scrollOptionIntoView,
78
- setCurrentOption,
79
- setShowPopover,
80
- showPopover
81
- ]);
67
+ if (e.key === "ArrowUp") {
68
+ e.preventDefault();
69
+ if (showPopover) {
70
+ const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable, -1);
71
+ setCurrentOption(options[nextItemIndex].dsId);
72
+ scrollOptionIntoView(options[nextItemIndex].dsId);
73
+ }
74
+ }
75
+ if (e.key === "Escape") {
76
+ setShowPopover(false);
77
+ }
78
+ },
79
+ [
80
+ currentItem?.label,
81
+ currentItemIndex,
82
+ onSelect,
83
+ options,
84
+ scrollOptionIntoView,
85
+ setCurrentOption,
86
+ setShowPopover,
87
+ showPopover
88
+ ]
89
+ );
82
90
  return { onInputKeyDown };
83
91
  };
84
92
  //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/container/useKeyboardNavigation.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport React, { useCallback, useContext } from 'react';\nimport { DSAutocompleteT } from '../../react-desc-prop-types';\nimport AutocompleteContext from '../../AutocompleteCTX';\nimport { findInCircularList } from '../../utils/listHelper';\n\nconst isOptionFocuseable = (opt: DSAutocompleteT.OptionTypes): boolean => !['section', 'separator'].includes(opt.type);\n\nexport const useKeyboardNavigation = () => {\n const {\n props: { onSelect, options },\n setShowPopover,\n showPopover,\n focusOptionIdx,\n setCurrentOption,\n scrollOptionIntoView,\n } = useContext(AutocompleteContext);\n\n const currentItemIndex = options.findIndex((opt) => opt.dsId === focusOptionIdx);\n const currentItem = options.find(\n (item) => item.type === 'option' && item.dsId === focusOptionIdx,\n ) as DSAutocompleteT.ItemOption;\n\n const onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n if (((e.keyCode >= 48 && e.keyCode <= 90) || e.key === 'Backspace') && !showPopover) {\n setShowPopover(true);\n } else if (e.key === 'Tab') setShowPopover(false);\n\n // =============================================================================\n // ENTER AND SPACE KEY SELECT OPTIONS AND OPEN CLOSE THE POPOVER\n // =============================================================================\n if (e.key === 'Enter' && showPopover) {\n e.preventDefault();\n onSelect(currentItem?.label, e);\n setShowPopover(false);\n }\n\n // =============================================================================\n // ARROWS UP AND DOWN\n // =============================================================================\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (showPopover) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n }\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n if (showPopover) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n }\n }\n // =============================================================================\n // ESCAPE\n // =============================================================================\n if (e.key === 'Escape') {\n setShowPopover(false);\n }\n },\n [\n currentItem?.label,\n currentItemIndex,\n onSelect,\n options,\n scrollOptionIntoView,\n setCurrentOption,\n setShowPopover,\n showPopover,\n ],\n );\n\n return { onInputKeyDown };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAA+C;AAE/C,6BAAgC;AAChC,wBAAmC;AAEnC,MAAM,qBAAqB,CAAC,QAA8C,CAAC,CAAC,WAAW,WAAW,EAAE,SAAS,IAAI,IAAI;AAE9G,MAAM,wBAAwB,MAAM;AACzC,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,8BAAmB;AAElC,QAAM,mBAAmB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS,cAAc;AAC/E,QAAM,cAAc,QAAQ,KAC1B,CAAC,SAAS,KAAK,SAAS,YAAY,KAAK,SAAS,cACpD;AAEA,QAAM,iBAA+D,8BACnE,CAAC,MAAM;AACL,QAAM,GAAE,WAAW,MAAM,EAAE,WAAW,MAAO,EAAE,QAAQ,gBAAgB,CAAC,aAAa;AACnF,qBAAe,IAAI;AAAA,IACrB,WAAW,EAAE,QAAQ;AAAO,qBAAe,KAAK;AAKhD,QAAI,EAAE,QAAQ,WAAW,aAAa;AACpC,QAAE,eAAe;AACjB,eAAS,aAAa,OAAO,CAAC;AAC9B,qBAAe,KAAK;AAAA,IACtB;AAKA,QAAI,EAAE,QAAQ,aAAa;AACzB,QAAE,eAAe;AACjB,UAAI,aAAa;AACf,cAAM,gBAAgB,0CAAmB,SAAS,kBAAkB,kBAAkB;AACtF,yBAAiB,QAAQ,eAAe,IAAI;AAC5C,6BAAqB,QAAQ,eAAe,IAAI;AAAA,MAClD;AAAA,IACF;AACA,QAAI,EAAE,QAAQ,WAAW;AACvB,QAAE,eAAe;AACjB,UAAI,aAAa;AACf,cAAM,gBAAgB,0CAAmB,SAAS,kBAAkB,oBAAoB,EAAE;AAC1F,yBAAiB,QAAQ,eAAe,IAAI;AAC5C,6BAAqB,QAAQ,eAAe,IAAI;AAAA,MAClD;AAAA,IACF;AAIA,QAAI,EAAE,QAAQ,UAAU;AACtB,qBAAe,KAAK;AAAA,IACtB;AAAA,EACF,GACA;AAAA,IACE,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,SAAO,EAAE,eAAe;AAC1B;",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAA+C;AAE/C,6BAAgC;AAChC,wBAAmC;AAEnC,MAAM,qBAAqB,CAAC,QAA8C,CAAC,CAAC,WAAW,WAAW,EAAE,SAAS,IAAI,IAAI;AAE9G,MAAM,wBAAwB,MAAM;AACzC,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,QAAQ;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,uBAAAA,OAAmB;AAElC,QAAM,mBAAmB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS,cAAc;AAC/E,QAAM,cAAc,QAAQ;AAAA,IAC1B,CAAC,SAAS,KAAK,SAAS,YAAY,KAAK,SAAS;AAAA,EACpD;AAEA,QAAM,qBAA+D;AAAA,IACnE,CAAC,MAAM;AACL,WAAM,EAAE,WAAW,MAAM,EAAE,WAAW,MAAO,EAAE,QAAQ,gBAAgB,CAAC,aAAa;AACnF,uBAAe,IAAI;AAAA,MACrB,WAAW,EAAE,QAAQ;AAAO,uBAAe,KAAK;AAKhD,UAAI,EAAE,QAAQ,WAAW,aAAa;AACpC,UAAE,eAAe;AACjB,iBAAS,aAAa,OAAO,CAAC;AAC9B,uBAAe,KAAK;AAAA,MACtB;AAKA,UAAI,EAAE,QAAQ,aAAa;AACzB,UAAE,eAAe;AACjB,YAAI,aAAa;AACf,gBAAM,oBAAgB,sCAAmB,SAAS,kBAAkB,kBAAkB;AACtF,2BAAiB,QAAQ,eAAe,IAAI;AAC5C,+BAAqB,QAAQ,eAAe,IAAI;AAAA,QAClD;AAAA,MACF;AACA,UAAI,EAAE,QAAQ,WAAW;AACvB,UAAE,eAAe;AACjB,YAAI,aAAa;AACf,gBAAM,oBAAgB,sCAAmB,SAAS,kBAAkB,oBAAoB,EAAE;AAC1F,2BAAiB,QAAQ,eAAe,IAAI;AAC5C,+BAAqB,QAAQ,eAAe,IAAI;AAAA,QAClD;AAAA,MACF;AAIA,UAAI,EAAE,QAAQ,UAAU;AACtB,uBAAe,KAAK;AAAA,MACtB;AAAA,IACF;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,eAAe;AAC1B;",
6
+ "names": ["AutocompleteContext"]
7
7
  }