@fluentui/react-combobox 9.8.0 → 9.9.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 (45) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/dist/index.d.ts +32 -10
  3. package/lib/components/Combobox/renderCombobox.js +15 -11
  4. package/lib/components/Combobox/renderCombobox.js.map +1 -1
  5. package/lib/components/Dropdown/renderDropdown.js +19 -15
  6. package/lib/components/Dropdown/renderDropdown.js.map +1 -1
  7. package/lib/components/Listbox/useListbox.js +9 -9
  8. package/lib/components/Listbox/useListbox.js.map +1 -1
  9. package/lib/components/Option/useOption.js +8 -14
  10. package/lib/components/Option/useOption.js.map +1 -1
  11. package/lib/components/Option/useOptionStyles.styles.js.map +1 -1
  12. package/lib/contexts/ComboboxContext.js +9 -1
  13. package/lib/contexts/ComboboxContext.js.map +1 -1
  14. package/lib/contexts/ListboxContext.js +9 -4
  15. package/lib/contexts/ListboxContext.js.map +1 -1
  16. package/lib/contexts/useComboboxContextValues.js +14 -6
  17. package/lib/contexts/useComboboxContextValues.js.map +1 -1
  18. package/lib/contexts/useListboxContextValues.js +8 -6
  19. package/lib/contexts/useListboxContextValues.js.map +1 -1
  20. package/lib/index.js +2 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/utils/ComboboxBase.types.js.map +1 -1
  23. package/lib/utils/useComboboxBaseState.js +8 -3
  24. package/lib/utils/useComboboxBaseState.js.map +1 -1
  25. package/lib/utils/useListboxSlot.js.map +1 -1
  26. package/lib-commonjs/components/Combobox/renderCombobox.js +15 -11
  27. package/lib-commonjs/components/Combobox/renderCombobox.js.map +1 -1
  28. package/lib-commonjs/components/Dropdown/renderDropdown.js +19 -15
  29. package/lib-commonjs/components/Dropdown/renderDropdown.js.map +1 -1
  30. package/lib-commonjs/components/Listbox/useListbox.js +7 -7
  31. package/lib-commonjs/components/Listbox/useListbox.js.map +1 -1
  32. package/lib-commonjs/components/Option/useOption.js +7 -13
  33. package/lib-commonjs/components/Option/useOption.js.map +1 -1
  34. package/lib-commonjs/contexts/ComboboxContext.js.map +1 -1
  35. package/lib-commonjs/contexts/ListboxContext.js +12 -2
  36. package/lib-commonjs/contexts/ListboxContext.js.map +1 -1
  37. package/lib-commonjs/contexts/useComboboxContextValues.js +14 -4
  38. package/lib-commonjs/contexts/useComboboxContextValues.js.map +1 -1
  39. package/lib-commonjs/contexts/useListboxContextValues.js +7 -5
  40. package/lib-commonjs/contexts/useListboxContextValues.js.map +1 -1
  41. package/lib-commonjs/index.js +4 -0
  42. package/lib-commonjs/index.js.map +1 -1
  43. package/lib-commonjs/utils/useComboboxBaseState.js +7 -2
  44. package/lib-commonjs/utils/useComboboxBaseState.js.map +1 -1
  45. package/package.json +10 -10
@@ -12,12 +12,17 @@ _export(exports, {
12
12
  ListboxContext: function() {
13
13
  return ListboxContext;
14
14
  },
15
+ useListboxContext_unstable: function() {
16
+ return useListboxContext_unstable;
17
+ },
15
18
  ListboxProvider: function() {
16
19
  return ListboxProvider;
17
20
  }
18
21
  });
22
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
23
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
19
24
  const _reactcontextselector = require("@fluentui/react-context-selector");
20
- const ListboxContext = (0, _reactcontextselector.createContext)({
25
+ const listboxContextDefaultValue = {
21
26
  activeOption: undefined,
22
27
  focusVisible: false,
23
28
  multiselect: false,
@@ -25,11 +30,16 @@ const ListboxContext = (0, _reactcontextselector.createContext)({
25
30
  return ()=>undefined;
26
31
  },
27
32
  selectedOptions: [],
33
+ onOptionClick () {
34
+ // noop
35
+ },
28
36
  selectOption () {
29
37
  // noop
30
38
  },
31
39
  setActiveOption () {
32
40
  // noop
33
41
  }
34
- });
42
+ };
43
+ const ListboxContext = (0, _reactcontextselector.createContext)(undefined);
44
+ const useListboxContext_unstable = (selector)=>(0, _reactcontextselector.useContextSelector)(ListboxContext, (ctx = listboxContextDefaultValue)=>selector(ctx));
35
45
  const ListboxProvider = ListboxContext.Provider;
@@ -1 +1 @@
1
- {"version":3,"sources":["ListboxContext.js"],"sourcesContent":["import { createContext } from '@fluentui/react-context-selector';\n// eslint-disable-next-line @fluentui/no-context-default-value\nexport const ListboxContext = createContext({\n activeOption: undefined,\n focusVisible: false,\n multiselect: false,\n registerOption () {\n return ()=>undefined;\n },\n selectedOptions: [],\n selectOption () {\n // noop\n },\n setActiveOption () {\n // noop\n }\n});\nexport const ListboxProvider = ListboxContext.Provider;\n"],"names":["ListboxContext","ListboxProvider","createContext","activeOption","undefined","focusVisible","multiselect","registerOption","selectedOptions","selectOption","setActiveOption","Provider"],"mappings":";;;;;;;;;;;IAEaA,cAAc;eAAdA;;IAeAC,eAAe;eAAfA;;;sCAjBiB;AAEvB,MAAMD,iBAAiBE,IAAAA,mCAAa,EAAC;IACxCC,cAAcC;IACdC,cAAc;IACdC,aAAa;IACbC;QACI,OAAO,IAAIH;IACf;IACAI,iBAAiB,EAAE;IACnBC;IACA,OAAO;IACP;IACAC;IACA,OAAO;IACP;AACJ;AACO,MAAMT,kBAAkBD,eAAeW,QAAQ"}
1
+ {"version":3,"sources":["ListboxContext.js"],"sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst listboxContextDefaultValue = {\n activeOption: undefined,\n focusVisible: false,\n multiselect: false,\n registerOption () {\n return ()=>undefined;\n },\n selectedOptions: [],\n onOptionClick () {\n // noop\n },\n selectOption () {\n // noop\n },\n setActiveOption () {\n // noop\n }\n};\nexport const ListboxContext = createContext(undefined);\nexport const useListboxContext_unstable = (selector)=>useContextSelector(ListboxContext, (ctx = listboxContextDefaultValue)=>selector(ctx));\nexport const ListboxProvider = ListboxContext.Provider;\n"],"names":["ListboxContext","useListboxContext_unstable","ListboxProvider","listboxContextDefaultValue","activeOption","undefined","focusVisible","multiselect","registerOption","selectedOptions","onOptionClick","selectOption","setActiveOption","createContext","selector","useContextSelector","ctx","Provider"],"mappings":";;;;;;;;;;;IAoBaA,cAAc;eAAdA;;IACAC,0BAA0B;eAA1BA;;IACAC,eAAe;eAAfA;;;;iEAtBU;sCAC2B;AAClD,MAAMC,6BAA6B;IAC/BC,cAAcC;IACdC,cAAc;IACdC,aAAa;IACbC;QACI,OAAO,IAAIH;IACf;IACAI,iBAAiB,EAAE;IACnBC;IACA,OAAO;IACP;IACAC;IACA,OAAO;IACP;IACAC;IACA,OAAO;IACP;AACJ;AACO,MAAMZ,iBAAiBa,IAAAA,mCAAa,EAACR;AACrC,MAAMJ,6BAA6B,CAACa,WAAWC,IAAAA,wCAAkB,EAACf,gBAAgB,CAACgB,MAAMb,0BAA0B,GAAGW,SAASE;AAC/H,MAAMd,kBAAkBF,eAAeiB,QAAQ"}
@@ -11,19 +11,28 @@ Object.defineProperty(exports, "useComboboxContextValues", {
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
13
  function useComboboxContextValues(state) {
14
- const { appearance, open, registerOption, selectedOptions, selectOption, setOpen, size, activeDescendantController, activeOption: UNSAFE_activeOption, setActiveOption: UNSAFE_setActiveOption } = state;
14
+ const { appearance, open, registerOption, selectedOptions, selectOption, setOpen, size, activeDescendantController, onOptionClick } = state;
15
15
  const combobox = {
16
- activeOption: UNSAFE_activeOption,
16
+ activeOption: undefined,
17
17
  appearance,
18
18
  focusVisible: false,
19
19
  open,
20
20
  registerOption,
21
21
  selectedOptions,
22
22
  selectOption,
23
- setActiveOption: UNSAFE_setActiveOption,
23
+ setActiveOption: ()=>null,
24
24
  setOpen,
25
25
  size
26
26
  };
27
+ const listbox = {
28
+ activeOption: undefined,
29
+ focusVisible: false,
30
+ registerOption,
31
+ selectedOptions,
32
+ selectOption,
33
+ setActiveOption: ()=>null,
34
+ onOptionClick
35
+ };
27
36
  const activeDescendant = _react.useMemo(()=>({
28
37
  controller: activeDescendantController
29
38
  }), [
@@ -31,6 +40,7 @@ function useComboboxContextValues(state) {
31
40
  ]);
32
41
  return {
33
42
  combobox,
34
- activeDescendant
43
+ activeDescendant,
44
+ listbox
35
45
  };
36
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["useComboboxContextValues.js"],"sourcesContent":["import * as React from 'react';\nexport function useComboboxContextValues(state) {\n const { appearance, open, registerOption, selectedOptions, selectOption, setOpen, size, activeDescendantController, // eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\n activeOption: UNSAFE_activeOption, // eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\n setActiveOption: UNSAFE_setActiveOption } = state;\n const combobox = {\n activeOption: UNSAFE_activeOption,\n appearance,\n focusVisible: false,\n open,\n registerOption,\n selectedOptions,\n selectOption,\n setActiveOption: UNSAFE_setActiveOption,\n setOpen,\n size\n };\n const activeDescendant = React.useMemo(()=>({\n controller: activeDescendantController\n }), [\n activeDescendantController\n ]);\n return {\n combobox,\n activeDescendant\n };\n}\n"],"names":["useComboboxContextValues","state","appearance","open","registerOption","selectedOptions","selectOption","setOpen","size","activeDescendantController","activeOption","UNSAFE_activeOption","setActiveOption","UNSAFE_setActiveOption","combobox","focusVisible","activeDescendant","React","useMemo","controller"],"mappings":";;;;+BACgBA;;;eAAAA;;;;iEADO;AAChB,SAASA,yBAAyBC,KAAK;IAC1C,MAAM,EAAEC,UAAU,EAAEC,IAAI,EAAEC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,OAAO,EAAEC,IAAI,EAAEC,0BAA0B,EAClHC,cAAcC,mBAAmB,EACjCC,iBAAiBC,sBAAsB,EAAE,GAAGZ;IAC5C,MAAMa,WAAW;QACbJ,cAAcC;QACdT;QACAa,cAAc;QACdZ;QACAC;QACAC;QACAC;QACAM,iBAAiBC;QACjBN;QACAC;IACJ;IACA,MAAMQ,mBAAmBC,OAAMC,OAAO,CAAC,IAAK,CAAA;YACpCC,YAAYV;QAChB,CAAA,GAAI;QACJA;KACH;IACD,OAAO;QACHK;QACAE;IACJ;AACJ"}
1
+ {"version":3,"sources":["useComboboxContextValues.js"],"sourcesContent":["import * as React from 'react';\nexport function useComboboxContextValues(state) {\n const { appearance, open, registerOption, selectedOptions, selectOption, setOpen, size, activeDescendantController, onOptionClick } = state;\n const combobox = {\n activeOption: undefined,\n appearance,\n focusVisible: false,\n open,\n registerOption,\n selectedOptions,\n selectOption,\n setActiveOption: ()=>null,\n setOpen,\n size\n };\n const listbox = {\n activeOption: undefined,\n focusVisible: false,\n registerOption,\n selectedOptions,\n selectOption,\n setActiveOption: ()=>null,\n onOptionClick\n };\n const activeDescendant = React.useMemo(()=>({\n controller: activeDescendantController\n }), [\n activeDescendantController\n ]);\n return {\n combobox,\n activeDescendant,\n listbox\n };\n}\n"],"names":["useComboboxContextValues","state","appearance","open","registerOption","selectedOptions","selectOption","setOpen","size","activeDescendantController","onOptionClick","combobox","activeOption","undefined","focusVisible","setActiveOption","listbox","activeDescendant","React","useMemo","controller"],"mappings":";;;;+BACgBA;;;eAAAA;;;;iEADO;AAChB,SAASA,yBAAyBC,KAAK;IAC1C,MAAM,EAAEC,UAAU,EAAEC,IAAI,EAAEC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,OAAO,EAAEC,IAAI,EAAEC,0BAA0B,EAAEC,aAAa,EAAE,GAAGT;IACtI,MAAMU,WAAW;QACbC,cAAcC;QACdX;QACAY,cAAc;QACdX;QACAC;QACAC;QACAC;QACAS,iBAAiB,IAAI;QACrBR;QACAC;IACJ;IACA,MAAMQ,UAAU;QACZJ,cAAcC;QACdC,cAAc;QACdV;QACAC;QACAC;QACAS,iBAAiB,IAAI;QACrBL;IACJ;IACA,MAAMO,mBAAmBC,OAAMC,OAAO,CAAC,IAAK,CAAA;YACpCC,YAAYX;QAChB,CAAA,GAAI;QACJA;KACH;IACD,OAAO;QACHE;QACAM;QACAD;IACJ;AACJ"}
@@ -11,13 +11,14 @@ Object.defineProperty(exports, "useListboxContextValues", {
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
13
  const _reactcontextselector = require("@fluentui/react-context-selector");
14
- const _ComboboxContext = require("./ComboboxContext");
14
+ const _ListboxContext = require("./ListboxContext");
15
15
  function useListboxContextValues(state) {
16
- const hasComboboxContext = (0, _reactcontextselector.useHasParentContext)(_ComboboxContext.ComboboxContext);
16
+ const hasListboxContext = (0, _reactcontextselector.useHasParentContext)(_ListboxContext.ListboxContext);
17
17
  const { multiselect, registerOption, selectedOptions, selectOption, activeDescendantController } = state;
18
18
  // get register/unregister functions from parent combobox context
19
- const comboboxRegisterOption = (0, _reactcontextselector.useContextSelector)(_ComboboxContext.ComboboxContext, (ctx)=>ctx.registerOption);
20
- const registerOptionValue = hasComboboxContext ? comboboxRegisterOption : registerOption;
19
+ const parentRegisterOption = (0, _ListboxContext.useListboxContext_unstable)((ctx)=>ctx.registerOption);
20
+ const onOptionClick = (0, _ListboxContext.useListboxContext_unstable)((ctx)=>ctx.onOptionClick);
21
+ const registerOptionValue = hasListboxContext ? parentRegisterOption : registerOption;
21
22
  const listbox = {
22
23
  activeOption: undefined,
23
24
  focusVisible: false,
@@ -25,7 +26,8 @@ function useListboxContextValues(state) {
25
26
  registerOption: registerOptionValue,
26
27
  selectedOptions,
27
28
  selectOption,
28
- setActiveOption: ()=>undefined
29
+ setActiveOption: ()=>undefined,
30
+ onOptionClick
29
31
  };
30
32
  const activeDescendant = _react.useMemo(()=>({
31
33
  controller: activeDescendantController
@@ -1 +1 @@
1
- {"version":3,"sources":["useListboxContextValues.js"],"sourcesContent":["import * as React from 'react';\nimport { useContextSelector, useHasParentContext } from '@fluentui/react-context-selector';\nimport { ComboboxContext } from './ComboboxContext';\nexport function useListboxContextValues(state) {\n const hasComboboxContext = useHasParentContext(ComboboxContext);\n const { multiselect, registerOption, selectedOptions, selectOption, activeDescendantController } = state;\n // get register/unregister functions from parent combobox context\n const comboboxRegisterOption = useContextSelector(ComboboxContext, (ctx)=>ctx.registerOption);\n const registerOptionValue = hasComboboxContext ? comboboxRegisterOption : registerOption;\n const listbox = {\n activeOption: undefined,\n focusVisible: false,\n multiselect,\n registerOption: registerOptionValue,\n selectedOptions,\n selectOption,\n setActiveOption: ()=>undefined\n };\n const activeDescendant = React.useMemo(()=>({\n controller: activeDescendantController\n }), [\n activeDescendantController\n ]);\n return {\n listbox,\n activeDescendant\n };\n}\n"],"names":["useListboxContextValues","state","hasComboboxContext","useHasParentContext","ComboboxContext","multiselect","registerOption","selectedOptions","selectOption","activeDescendantController","comboboxRegisterOption","useContextSelector","ctx","registerOptionValue","listbox","activeOption","undefined","focusVisible","setActiveOption","activeDescendant","React","useMemo","controller"],"mappings":";;;;+BAGgBA;;;eAAAA;;;;iEAHO;sCACiC;iCACxB;AACzB,SAASA,wBAAwBC,KAAK;IACzC,MAAMC,qBAAqBC,IAAAA,yCAAmB,EAACC,gCAAe;IAC9D,MAAM,EAAEC,WAAW,EAAEC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,0BAA0B,EAAE,GAAGR;IACnG,iEAAiE;IACjE,MAAMS,yBAAyBC,IAAAA,wCAAkB,EAACP,gCAAe,EAAE,CAACQ,MAAMA,IAAIN,cAAc;IAC5F,MAAMO,sBAAsBX,qBAAqBQ,yBAAyBJ;IAC1E,MAAMQ,UAAU;QACZC,cAAcC;QACdC,cAAc;QACdZ;QACAC,gBAAgBO;QAChBN;QACAC;QACAU,iBAAiB,IAAIF;IACzB;IACA,MAAMG,mBAAmBC,OAAMC,OAAO,CAAC,IAAK,CAAA;YACpCC,YAAYb;QAChB,CAAA,GAAI;QACJA;KACH;IACD,OAAO;QACHK;QACAK;IACJ;AACJ"}
1
+ {"version":3,"sources":["useListboxContextValues.js"],"sourcesContent":["import * as React from 'react';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { ListboxContext, useListboxContext_unstable } from './ListboxContext';\nexport function useListboxContextValues(state) {\n const hasListboxContext = useHasParentContext(ListboxContext);\n const { multiselect, registerOption, selectedOptions, selectOption, activeDescendantController } = state;\n // get register/unregister functions from parent combobox context\n const parentRegisterOption = useListboxContext_unstable((ctx)=>ctx.registerOption);\n const onOptionClick = useListboxContext_unstable((ctx)=>ctx.onOptionClick);\n const registerOptionValue = hasListboxContext ? parentRegisterOption : registerOption;\n const listbox = {\n activeOption: undefined,\n focusVisible: false,\n multiselect,\n registerOption: registerOptionValue,\n selectedOptions,\n selectOption,\n setActiveOption: ()=>undefined,\n onOptionClick\n };\n const activeDescendant = React.useMemo(()=>({\n controller: activeDescendantController\n }), [\n activeDescendantController\n ]);\n return {\n listbox,\n activeDescendant\n };\n}\n"],"names":["useListboxContextValues","state","hasListboxContext","useHasParentContext","ListboxContext","multiselect","registerOption","selectedOptions","selectOption","activeDescendantController","parentRegisterOption","useListboxContext_unstable","ctx","onOptionClick","registerOptionValue","listbox","activeOption","undefined","focusVisible","setActiveOption","activeDescendant","React","useMemo","controller"],"mappings":";;;;+BAGgBA;;;eAAAA;;;;iEAHO;sCACa;gCACuB;AACpD,SAASA,wBAAwBC,KAAK;IACzC,MAAMC,oBAAoBC,IAAAA,yCAAmB,EAACC,8BAAc;IAC5D,MAAM,EAAEC,WAAW,EAAEC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,0BAA0B,EAAE,GAAGR;IACnG,iEAAiE;IACjE,MAAMS,uBAAuBC,IAAAA,0CAA0B,EAAC,CAACC,MAAMA,IAAIN,cAAc;IACjF,MAAMO,gBAAgBF,IAAAA,0CAA0B,EAAC,CAACC,MAAMA,IAAIC,aAAa;IACzE,MAAMC,sBAAsBZ,oBAAoBQ,uBAAuBJ;IACvE,MAAMS,UAAU;QACZC,cAAcC;QACdC,cAAc;QACdb;QACAC,gBAAgBQ;QAChBP;QACAC;QACAW,iBAAiB,IAAIF;QACrBJ;IACJ;IACA,MAAMO,mBAAmBC,OAAMC,OAAO,CAAC,IAAK,CAAA;YACpCC,YAAYd;QAChB,CAAA,GAAI;QACJA;KACH;IACD,OAAO;QACHM;QACAK;IACJ;AACJ"}
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line deprecation/deprecation
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", {
3
4
  value: true
@@ -15,6 +16,9 @@ _export(exports, {
15
16
  ListboxProvider: function() {
16
17
  return _ListboxContext.ListboxProvider;
17
18
  },
19
+ useListboxContext_unstable: function() {
20
+ return _ListboxContext.useListboxContext_unstable;
21
+ },
18
22
  useComboboxContextValues: function() {
19
23
  return _useComboboxContextValues.useComboboxContextValues;
20
24
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"sourcesContent":["export { ComboboxProvider } from './contexts/ComboboxContext';\nexport { ListboxProvider } from './contexts/ListboxContext';\nexport { useComboboxContextValues } from './contexts/useComboboxContextValues';\nexport { useListboxContextValues } from './contexts/useListboxContextValues';\nexport { Listbox, listboxClassNames, renderListbox_unstable, useListboxStyles_unstable, useListbox_unstable } from './Listbox';\nexport { Option, optionClassNames, renderOption_unstable, useOptionStyles_unstable, useOption_unstable } from './Option';\nexport { Combobox, comboboxClassNames, renderCombobox_unstable, useComboboxStyles_unstable, useCombobox_unstable } from './Combobox';\nexport { Dropdown, dropdownClassNames, renderDropdown_unstable, useDropdownStyles_unstable, useDropdown_unstable } from './Dropdown';\nexport { OptionGroup, optionGroupClassNames, renderOptionGroup_unstable, useOptionGroupStyles_unstable, useOptionGroup_unstable } from './OptionGroup';\nexport { useComboboxFilter } from './hooks/useComboboxFilter';\n"],"names":["ComboboxProvider","ListboxProvider","useComboboxContextValues","useListboxContextValues","Listbox","listboxClassNames","renderListbox_unstable","useListboxStyles_unstable","useListbox_unstable","Option","optionClassNames","renderOption_unstable","useOptionStyles_unstable","useOption_unstable","Combobox","comboboxClassNames","renderCombobox_unstable","useComboboxStyles_unstable","useCombobox_unstable","Dropdown","dropdownClassNames","renderDropdown_unstable","useDropdownStyles_unstable","useDropdown_unstable","OptionGroup","optionGroupClassNames","renderOptionGroup_unstable","useOptionGroupStyles_unstable","useOptionGroup_unstable","useComboboxFilter"],"mappings":";;;;;;;;;;;IAASA,gBAAgB;eAAhBA,iCAAgB;;IAChBC,eAAe;eAAfA,+BAAe;;IACfC,wBAAwB;eAAxBA,kDAAwB;;IACxBC,uBAAuB;eAAvBA,gDAAuB;;IACvBC,OAAO;eAAPA,gBAAO;;IAAEC,iBAAiB;eAAjBA,0BAAiB;;IAAEC,sBAAsB;eAAtBA,+BAAsB;;IAAEC,yBAAyB;eAAzBA,kCAAyB;;IAAEC,mBAAmB;eAAnBA,4BAAmB;;IAClGC,MAAM;eAANA,cAAM;;IAAEC,gBAAgB;eAAhBA,wBAAgB;;IAAEC,qBAAqB;eAArBA,6BAAqB;;IAAEC,wBAAwB;eAAxBA,gCAAwB;;IAAEC,kBAAkB;eAAlBA,0BAAkB;;IAC7FC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IACvGC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IACvGC,WAAW;eAAXA,wBAAW;;IAAEC,qBAAqB;eAArBA,kCAAqB;;IAAEC,0BAA0B;eAA1BA,uCAA0B;;IAAEC,6BAA6B;eAA7BA,0CAA6B;;IAAEC,uBAAuB;eAAvBA,oCAAuB;;IACtHC,iBAAiB;eAAjBA,oCAAiB;;;iCATO;gCACD;0CACS;yCACD;yBAC2E;wBACL;0BACU;0BACA;6BACe;mCACrG"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["// eslint-disable-next-line deprecation/deprecation\nexport { ComboboxProvider } from './contexts/ComboboxContext';\nexport { ListboxProvider, useListboxContext_unstable } from './contexts/ListboxContext';\nexport { useComboboxContextValues } from './contexts/useComboboxContextValues';\nexport { useListboxContextValues } from './contexts/useListboxContextValues';\nexport { Listbox, listboxClassNames, renderListbox_unstable, useListboxStyles_unstable, useListbox_unstable } from './Listbox';\nexport { Option, optionClassNames, renderOption_unstable, useOptionStyles_unstable, useOption_unstable } from './Option';\nexport { Combobox, comboboxClassNames, renderCombobox_unstable, useComboboxStyles_unstable, useCombobox_unstable } from './Combobox';\nexport { Dropdown, dropdownClassNames, renderDropdown_unstable, useDropdownStyles_unstable, useDropdown_unstable } from './Dropdown';\nexport { OptionGroup, optionGroupClassNames, renderOptionGroup_unstable, useOptionGroupStyles_unstable, useOptionGroup_unstable } from './OptionGroup';\nexport { useComboboxFilter } from './hooks/useComboboxFilter';\n"],"names":["ComboboxProvider","ListboxProvider","useListboxContext_unstable","useComboboxContextValues","useListboxContextValues","Listbox","listboxClassNames","renderListbox_unstable","useListboxStyles_unstable","useListbox_unstable","Option","optionClassNames","renderOption_unstable","useOptionStyles_unstable","useOption_unstable","Combobox","comboboxClassNames","renderCombobox_unstable","useComboboxStyles_unstable","useCombobox_unstable","Dropdown","dropdownClassNames","renderDropdown_unstable","useDropdownStyles_unstable","useDropdown_unstable","OptionGroup","optionGroupClassNames","renderOptionGroup_unstable","useOptionGroupStyles_unstable","useOptionGroup_unstable","useComboboxFilter"],"mappings":"AAAA,mDAAmD;;;;;;;;;;;;IAC1CA,gBAAgB;eAAhBA,iCAAgB;;IAChBC,eAAe;eAAfA,+BAAe;;IAAEC,0BAA0B;eAA1BA,0CAA0B;;IAC3CC,wBAAwB;eAAxBA,kDAAwB;;IACxBC,uBAAuB;eAAvBA,gDAAuB;;IACvBC,OAAO;eAAPA,gBAAO;;IAAEC,iBAAiB;eAAjBA,0BAAiB;;IAAEC,sBAAsB;eAAtBA,+BAAsB;;IAAEC,yBAAyB;eAAzBA,kCAAyB;;IAAEC,mBAAmB;eAAnBA,4BAAmB;;IAClGC,MAAM;eAANA,cAAM;;IAAEC,gBAAgB;eAAhBA,wBAAgB;;IAAEC,qBAAqB;eAArBA,6BAAqB;;IAAEC,wBAAwB;eAAxBA,gCAAwB;;IAAEC,kBAAkB;eAAlBA,0BAAkB;;IAC7FC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IACvGC,QAAQ;eAARA,kBAAQ;;IAAEC,kBAAkB;eAAlBA,4BAAkB;;IAAEC,uBAAuB;eAAvBA,iCAAuB;;IAAEC,0BAA0B;eAA1BA,oCAA0B;;IAAEC,oBAAoB;eAApBA,8BAAoB;;IACvGC,WAAW;eAAXA,wBAAW;;IAAEC,qBAAqB;eAArBA,kCAAqB;;IAAEC,0BAA0B;eAA1BA,uCAA0B;;IAAEC,6BAA6B;eAA7BA,0CAA6B;;IAAEC,uBAAuB;eAAvBA,oCAAuB;;IACtHC,iBAAiB;eAAjBA,oCAAiB;;;iCATO;gCAC2B;0CACnB;yCACD;yBAC2E;wBACL;0BACU;0BACA;6BACe;mCACrG"}
@@ -142,11 +142,11 @@ const useComboboxBaseState = (props)=>{
142
142
  appearance,
143
143
  clearable,
144
144
  focusVisible,
145
- hasFocus,
146
145
  ignoreNextBlur,
147
146
  inlinePopup,
148
147
  mountNode,
149
148
  open,
149
+ hasFocus,
150
150
  setActiveOption: UNSAFE_setActiveOption,
151
151
  setFocusVisible,
152
152
  setHasFocus,
@@ -154,6 +154,11 @@ const useComboboxBaseState = (props)=>{
154
154
  setValue,
155
155
  size,
156
156
  value,
157
- multiselect
157
+ multiselect,
158
+ onOptionClick: (0, _reactutilities.useEventCallback)((e)=>{
159
+ if (!multiselect) {
160
+ setOpen(e, false);
161
+ }
162
+ })
158
163
  };
159
164
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useComboboxBaseState.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useFirstMount } from '@fluentui/react-utilities';\nimport { useOptionCollection } from '../utils/useOptionCollection';\nimport { useSelection } from '../utils/useSelection';\n/**\n * State shared between Combobox and Dropdown components\n */ export const useComboboxBaseState = (props)=>{\n const { appearance = 'outline', children, clearable = false, editable = false, inlinePopup = false, mountNode = undefined, multiselect, onOpenChange, size = 'medium', activeDescendantController } = props;\n const optionCollection = useOptionCollection();\n const { getOptionsMatchingValue } = optionCollection;\n const { getOptionById } = optionCollection;\n const getActiveOption = React.useCallback(()=>{\n const activeOptionId = activeDescendantController.active();\n return activeOptionId ? getOptionById(activeOptionId) : undefined;\n }, [\n activeDescendantController,\n getOptionById\n ]);\n // Keeping some kind of backwards compatible functionality here\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const UNSAFE_activeOption = getActiveOption();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const UNSAFE_setActiveOption = React.useCallback((option)=>{\n let nextOption = undefined;\n if (typeof option === 'function') {\n const activeOption = getActiveOption();\n nextOption = option(activeOption);\n }\n if (nextOption) {\n activeDescendantController.focus(nextOption.id);\n } else {\n activeDescendantController.blur();\n }\n }, [\n activeDescendantController,\n getActiveOption\n ]);\n // track whether keyboard focus outline should be shown\n // tabster/keyborg doesn't work here, since the actual keyboard focus target doesn't move\n const [focusVisible, setFocusVisible] = React.useState(false);\n // track focused state to conditionally render collapsed listbox\n // when the trigger is focused - the listbox should but hidden until the open state is changed\n const [hasFocus, setHasFocus] = React.useState(false);\n const ignoreNextBlur = React.useRef(false);\n const selectionState = useSelection(props);\n const { selectedOptions } = selectionState;\n // calculate value based on props, internal value changes, and selected options\n const isFirstMount = useFirstMount();\n const [controllableValue, setValue] = useControllableState({\n state: props.value,\n initialState: undefined\n });\n const value = React.useMemo(()=>{\n // don't compute the value if it is defined through props or setValue,\n if (controllableValue !== undefined) {\n return controllableValue;\n }\n // handle defaultValue here, so it is overridden by selection\n if (isFirstMount && props.defaultValue !== undefined) {\n return props.defaultValue;\n }\n const selectedOptionsText = getOptionsMatchingValue((optionValue)=>{\n return selectedOptions.includes(optionValue);\n }).map((option)=>option.text);\n if (multiselect) {\n // editable inputs should not display multiple selected options in the input as text\n return editable ? '' : selectedOptionsText.join(', ');\n }\n return selectedOptionsText[0];\n // do not change value after isFirstMount changes,\n // we do not want to accidentally override defaultValue on a second render\n // unless another value is intentionally set\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n controllableValue,\n editable,\n getOptionsMatchingValue,\n multiselect,\n props.defaultValue,\n selectedOptions\n ]);\n // Handle open state, which is shared with options in context\n const [open, setOpenState] = useControllableState({\n state: props.open,\n defaultState: props.defaultOpen,\n initialState: false\n });\n const setOpen = React.useCallback((event, newState)=>{\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n open: newState\n });\n setOpenState(newState);\n }, [\n onOpenChange,\n setOpenState\n ]);\n // update active option based on change in open state\n React.useEffect(()=>{\n if (open) {\n // if it is single-select and there is a selected option, start at the selected option\n if (!multiselect && selectedOptions.length > 0) {\n const selectedOption = getOptionsMatchingValue((v)=>v === selectedOptions[0]).pop();\n if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id) {\n activeDescendantController.focus(selectedOption.id);\n }\n }\n } else {\n activeDescendantController.blur();\n }\n // this should only be run in response to changes in the open state or children\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n open,\n activeDescendantController\n ]);\n // Fallback focus when children are updated in an open popover results in no item being focused\n React.useEffect(()=>{\n if (open) {\n if (!activeDescendantController.active()) {\n activeDescendantController.first();\n }\n }\n // this should only be run in response to changes in the open state or children\n }, [\n open,\n children,\n activeDescendantController\n ]);\n return {\n ...optionCollection,\n ...selectionState,\n activeOption: UNSAFE_activeOption,\n appearance,\n clearable,\n focusVisible,\n hasFocus,\n ignoreNextBlur,\n inlinePopup,\n mountNode,\n open,\n setActiveOption: UNSAFE_setActiveOption,\n setFocusVisible,\n setHasFocus,\n setOpen,\n setValue,\n size,\n value,\n multiselect\n };\n};\n"],"names":["useComboboxBaseState","props","appearance","children","clearable","editable","inlinePopup","mountNode","undefined","multiselect","onOpenChange","size","activeDescendantController","optionCollection","useOptionCollection","getOptionsMatchingValue","getOptionById","getActiveOption","React","useCallback","activeOptionId","active","UNSAFE_activeOption","UNSAFE_setActiveOption","option","nextOption","activeOption","focus","id","blur","focusVisible","setFocusVisible","useState","hasFocus","setHasFocus","ignoreNextBlur","useRef","selectionState","useSelection","selectedOptions","isFirstMount","useFirstMount","controllableValue","setValue","useControllableState","state","value","initialState","useMemo","defaultValue","selectedOptionsText","optionValue","includes","map","text","join","open","setOpenState","defaultState","defaultOpen","setOpen","event","newState","useEffect","length","selectedOption","v","pop","first","setActiveOption"],"mappings":";;;;+BAMiBA;;;eAAAA;;;;iEANM;gCAC6B;qCAChB;8BACP;AAGlB,MAAMA,uBAAuB,CAACC;IACrC,MAAM,EAAEC,aAAa,SAAS,EAAEC,QAAQ,EAAEC,YAAY,KAAK,EAAEC,WAAW,KAAK,EAAEC,cAAc,KAAK,EAAEC,YAAYC,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,OAAO,QAAQ,EAAEC,0BAA0B,EAAE,GAAGX;IACtM,MAAMY,mBAAmBC,IAAAA,wCAAmB;IAC5C,MAAM,EAAEC,uBAAuB,EAAE,GAAGF;IACpC,MAAM,EAAEG,aAAa,EAAE,GAAGH;IAC1B,MAAMI,kBAAkBC,OAAMC,WAAW,CAAC;QACtC,MAAMC,iBAAiBR,2BAA2BS,MAAM;QACxD,OAAOD,iBAAiBJ,cAAcI,kBAAkBZ;IAC5D,GAAG;QACCI;QACAI;KACH;IACD,+DAA+D;IAC/D,gEAAgE;IAChE,MAAMM,sBAAsBL;IAC5B,gEAAgE;IAChE,MAAMM,yBAAyBL,OAAMC,WAAW,CAAC,CAACK;QAC9C,IAAIC,aAAajB;QACjB,IAAI,OAAOgB,WAAW,YAAY;YAC9B,MAAME,eAAeT;YACrBQ,aAAaD,OAAOE;QACxB;QACA,IAAID,YAAY;YACZb,2BAA2Be,KAAK,CAACF,WAAWG,EAAE;QAClD,OAAO;YACHhB,2BAA2BiB,IAAI;QACnC;IACJ,GAAG;QACCjB;QACAK;KACH;IACD,uDAAuD;IACvD,yFAAyF;IACzF,MAAM,CAACa,cAAcC,gBAAgB,GAAGb,OAAMc,QAAQ,CAAC;IACvD,gEAAgE;IAChE,8FAA8F;IAC9F,MAAM,CAACC,UAAUC,YAAY,GAAGhB,OAAMc,QAAQ,CAAC;IAC/C,MAAMG,iBAAiBjB,OAAMkB,MAAM,CAAC;IACpC,MAAMC,iBAAiBC,IAAAA,0BAAY,EAACrC;IACpC,MAAM,EAAEsC,eAAe,EAAE,GAAGF;IAC5B,+EAA+E;IAC/E,MAAMG,eAAeC,IAAAA,6BAAa;IAClC,MAAM,CAACC,mBAAmBC,SAAS,GAAGC,IAAAA,oCAAoB,EAAC;QACvDC,OAAO5C,MAAM6C,KAAK;QAClBC,cAAcvC;IAClB;IACA,MAAMsC,QAAQ5B,OAAM8B,OAAO,CAAC;QACxB,sEAAsE;QACtE,IAAIN,sBAAsBlC,WAAW;YACjC,OAAOkC;QACX;QACA,6DAA6D;QAC7D,IAAIF,gBAAgBvC,MAAMgD,YAAY,KAAKzC,WAAW;YAClD,OAAOP,MAAMgD,YAAY;QAC7B;QACA,MAAMC,sBAAsBnC,wBAAwB,CAACoC;YACjD,OAAOZ,gBAAgBa,QAAQ,CAACD;QACpC,GAAGE,GAAG,CAAC,CAAC7B,SAASA,OAAO8B,IAAI;QAC5B,IAAI7C,aAAa;YACb,oFAAoF;YACpF,OAAOJ,WAAW,KAAK6C,oBAAoBK,IAAI,CAAC;QACpD;QACA,OAAOL,mBAAmB,CAAC,EAAE;IACjC,kDAAkD;IAClD,0EAA0E;IAC1E,4CAA4C;IAC5C,uDAAuD;IACvD,GAAG;QACCR;QACArC;QACAU;QACAN;QACAR,MAAMgD,YAAY;QAClBV;KACH;IACD,6DAA6D;IAC7D,MAAM,CAACiB,MAAMC,aAAa,GAAGb,IAAAA,oCAAoB,EAAC;QAC9CC,OAAO5C,MAAMuD,IAAI;QACjBE,cAAczD,MAAM0D,WAAW;QAC/BZ,cAAc;IAClB;IACA,MAAMa,UAAU1C,OAAMC,WAAW,CAAC,CAAC0C,OAAOC;QACtCpD,iBAAiB,QAAQA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAamD,OAAO;YAC5EL,MAAMM;QACV;QACAL,aAAaK;IACjB,GAAG;QACCpD;QACA+C;KACH;IACD,qDAAqD;IACrDvC,OAAM6C,SAAS,CAAC;QACZ,IAAIP,MAAM;YACN,sFAAsF;YACtF,IAAI,CAAC/C,eAAe8B,gBAAgByB,MAAM,GAAG,GAAG;gBAC5C,MAAMC,iBAAiBlD,wBAAwB,CAACmD,IAAIA,MAAM3B,eAAe,CAAC,EAAE,EAAE4B,GAAG;gBACjF,IAAIF,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAerC,EAAE,EAAE;oBACnFhB,2BAA2Be,KAAK,CAACsC,eAAerC,EAAE;gBACtD;YACJ;QACJ,OAAO;YACHhB,2BAA2BiB,IAAI;QACnC;IACJ,+EAA+E;IAC/E,uDAAuD;IACvD,GAAG;QACC2B;QACA5C;KACH;IACD,+FAA+F;IAC/FM,OAAM6C,SAAS,CAAC;QACZ,IAAIP,MAAM;YACN,IAAI,CAAC5C,2BAA2BS,MAAM,IAAI;gBACtCT,2BAA2BwD,KAAK;YACpC;QACJ;IACJ,+EAA+E;IAC/E,GAAG;QACCZ;QACArD;QACAS;KACH;IACD,OAAO;QACH,GAAGC,gBAAgB;QACnB,GAAGwB,cAAc;QACjBX,cAAcJ;QACdpB;QACAE;QACA0B;QACAG;QACAE;QACA7B;QACAC;QACAiD;QACAa,iBAAiB9C;QACjBQ;QACAG;QACA0B;QACAjB;QACAhC;QACAmC;QACArC;IACJ;AACJ"}
1
+ {"version":3,"sources":["useComboboxBaseState.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback, useFirstMount } from '@fluentui/react-utilities';\nimport { useOptionCollection } from '../utils/useOptionCollection';\nimport { useSelection } from '../utils/useSelection';\n/**\n * State shared between Combobox and Dropdown components\n */ export const useComboboxBaseState = (props)=>{\n const { appearance = 'outline', children, clearable = false, editable = false, inlinePopup = false, mountNode = undefined, multiselect, onOpenChange, size = 'medium', activeDescendantController } = props;\n const optionCollection = useOptionCollection();\n const { getOptionsMatchingValue } = optionCollection;\n const { getOptionById } = optionCollection;\n const getActiveOption = React.useCallback(()=>{\n const activeOptionId = activeDescendantController.active();\n return activeOptionId ? getOptionById(activeOptionId) : undefined;\n }, [\n activeDescendantController,\n getOptionById\n ]);\n // Keeping some kind of backwards compatible functionality here\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const UNSAFE_activeOption = getActiveOption();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const UNSAFE_setActiveOption = React.useCallback((option)=>{\n let nextOption = undefined;\n if (typeof option === 'function') {\n const activeOption = getActiveOption();\n nextOption = option(activeOption);\n }\n if (nextOption) {\n activeDescendantController.focus(nextOption.id);\n } else {\n activeDescendantController.blur();\n }\n }, [\n activeDescendantController,\n getActiveOption\n ]);\n // track whether keyboard focus outline should be shown\n // tabster/keyborg doesn't work here, since the actual keyboard focus target doesn't move\n const [focusVisible, setFocusVisible] = React.useState(false);\n // track focused state to conditionally render collapsed listbox\n // when the trigger is focused - the listbox should but hidden until the open state is changed\n const [hasFocus, setHasFocus] = React.useState(false);\n const ignoreNextBlur = React.useRef(false);\n const selectionState = useSelection(props);\n const { selectedOptions } = selectionState;\n // calculate value based on props, internal value changes, and selected options\n const isFirstMount = useFirstMount();\n const [controllableValue, setValue] = useControllableState({\n state: props.value,\n initialState: undefined\n });\n const value = React.useMemo(()=>{\n // don't compute the value if it is defined through props or setValue,\n if (controllableValue !== undefined) {\n return controllableValue;\n }\n // handle defaultValue here, so it is overridden by selection\n if (isFirstMount && props.defaultValue !== undefined) {\n return props.defaultValue;\n }\n const selectedOptionsText = getOptionsMatchingValue((optionValue)=>{\n return selectedOptions.includes(optionValue);\n }).map((option)=>option.text);\n if (multiselect) {\n // editable inputs should not display multiple selected options in the input as text\n return editable ? '' : selectedOptionsText.join(', ');\n }\n return selectedOptionsText[0];\n // do not change value after isFirstMount changes,\n // we do not want to accidentally override defaultValue on a second render\n // unless another value is intentionally set\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n controllableValue,\n editable,\n getOptionsMatchingValue,\n multiselect,\n props.defaultValue,\n selectedOptions\n ]);\n // Handle open state, which is shared with options in context\n const [open, setOpenState] = useControllableState({\n state: props.open,\n defaultState: props.defaultOpen,\n initialState: false\n });\n const setOpen = React.useCallback((event, newState)=>{\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n open: newState\n });\n setOpenState(newState);\n }, [\n onOpenChange,\n setOpenState\n ]);\n // update active option based on change in open state\n React.useEffect(()=>{\n if (open) {\n // if it is single-select and there is a selected option, start at the selected option\n if (!multiselect && selectedOptions.length > 0) {\n const selectedOption = getOptionsMatchingValue((v)=>v === selectedOptions[0]).pop();\n if (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.id) {\n activeDescendantController.focus(selectedOption.id);\n }\n }\n } else {\n activeDescendantController.blur();\n }\n // this should only be run in response to changes in the open state or children\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n open,\n activeDescendantController\n ]);\n // Fallback focus when children are updated in an open popover results in no item being focused\n React.useEffect(()=>{\n if (open) {\n if (!activeDescendantController.active()) {\n activeDescendantController.first();\n }\n }\n // this should only be run in response to changes in the open state or children\n }, [\n open,\n children,\n activeDescendantController\n ]);\n return {\n ...optionCollection,\n ...selectionState,\n activeOption: UNSAFE_activeOption,\n appearance,\n clearable,\n focusVisible,\n ignoreNextBlur,\n inlinePopup,\n mountNode,\n open,\n hasFocus,\n setActiveOption: UNSAFE_setActiveOption,\n setFocusVisible,\n setHasFocus,\n setOpen,\n setValue,\n size,\n value,\n multiselect,\n onOptionClick: useEventCallback((e)=>{\n if (!multiselect) {\n setOpen(e, false);\n }\n })\n };\n};\n"],"names":["useComboboxBaseState","props","appearance","children","clearable","editable","inlinePopup","mountNode","undefined","multiselect","onOpenChange","size","activeDescendantController","optionCollection","useOptionCollection","getOptionsMatchingValue","getOptionById","getActiveOption","React","useCallback","activeOptionId","active","UNSAFE_activeOption","UNSAFE_setActiveOption","option","nextOption","activeOption","focus","id","blur","focusVisible","setFocusVisible","useState","hasFocus","setHasFocus","ignoreNextBlur","useRef","selectionState","useSelection","selectedOptions","isFirstMount","useFirstMount","controllableValue","setValue","useControllableState","state","value","initialState","useMemo","defaultValue","selectedOptionsText","optionValue","includes","map","text","join","open","setOpenState","defaultState","defaultOpen","setOpen","event","newState","useEffect","length","selectedOption","v","pop","first","setActiveOption","onOptionClick","useEventCallback","e"],"mappings":";;;;+BAMiBA;;;eAAAA;;;;iEANM;gCAC+C;qCAClC;8BACP;AAGlB,MAAMA,uBAAuB,CAACC;IACrC,MAAM,EAAEC,aAAa,SAAS,EAAEC,QAAQ,EAAEC,YAAY,KAAK,EAAEC,WAAW,KAAK,EAAEC,cAAc,KAAK,EAAEC,YAAYC,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,OAAO,QAAQ,EAAEC,0BAA0B,EAAE,GAAGX;IACtM,MAAMY,mBAAmBC,IAAAA,wCAAmB;IAC5C,MAAM,EAAEC,uBAAuB,EAAE,GAAGF;IACpC,MAAM,EAAEG,aAAa,EAAE,GAAGH;IAC1B,MAAMI,kBAAkBC,OAAMC,WAAW,CAAC;QACtC,MAAMC,iBAAiBR,2BAA2BS,MAAM;QACxD,OAAOD,iBAAiBJ,cAAcI,kBAAkBZ;IAC5D,GAAG;QACCI;QACAI;KACH;IACD,+DAA+D;IAC/D,gEAAgE;IAChE,MAAMM,sBAAsBL;IAC5B,gEAAgE;IAChE,MAAMM,yBAAyBL,OAAMC,WAAW,CAAC,CAACK;QAC9C,IAAIC,aAAajB;QACjB,IAAI,OAAOgB,WAAW,YAAY;YAC9B,MAAME,eAAeT;YACrBQ,aAAaD,OAAOE;QACxB;QACA,IAAID,YAAY;YACZb,2BAA2Be,KAAK,CAACF,WAAWG,EAAE;QAClD,OAAO;YACHhB,2BAA2BiB,IAAI;QACnC;IACJ,GAAG;QACCjB;QACAK;KACH;IACD,uDAAuD;IACvD,yFAAyF;IACzF,MAAM,CAACa,cAAcC,gBAAgB,GAAGb,OAAMc,QAAQ,CAAC;IACvD,gEAAgE;IAChE,8FAA8F;IAC9F,MAAM,CAACC,UAAUC,YAAY,GAAGhB,OAAMc,QAAQ,CAAC;IAC/C,MAAMG,iBAAiBjB,OAAMkB,MAAM,CAAC;IACpC,MAAMC,iBAAiBC,IAAAA,0BAAY,EAACrC;IACpC,MAAM,EAAEsC,eAAe,EAAE,GAAGF;IAC5B,+EAA+E;IAC/E,MAAMG,eAAeC,IAAAA,6BAAa;IAClC,MAAM,CAACC,mBAAmBC,SAAS,GAAGC,IAAAA,oCAAoB,EAAC;QACvDC,OAAO5C,MAAM6C,KAAK;QAClBC,cAAcvC;IAClB;IACA,MAAMsC,QAAQ5B,OAAM8B,OAAO,CAAC;QACxB,sEAAsE;QACtE,IAAIN,sBAAsBlC,WAAW;YACjC,OAAOkC;QACX;QACA,6DAA6D;QAC7D,IAAIF,gBAAgBvC,MAAMgD,YAAY,KAAKzC,WAAW;YAClD,OAAOP,MAAMgD,YAAY;QAC7B;QACA,MAAMC,sBAAsBnC,wBAAwB,CAACoC;YACjD,OAAOZ,gBAAgBa,QAAQ,CAACD;QACpC,GAAGE,GAAG,CAAC,CAAC7B,SAASA,OAAO8B,IAAI;QAC5B,IAAI7C,aAAa;YACb,oFAAoF;YACpF,OAAOJ,WAAW,KAAK6C,oBAAoBK,IAAI,CAAC;QACpD;QACA,OAAOL,mBAAmB,CAAC,EAAE;IACjC,kDAAkD;IAClD,0EAA0E;IAC1E,4CAA4C;IAC5C,uDAAuD;IACvD,GAAG;QACCR;QACArC;QACAU;QACAN;QACAR,MAAMgD,YAAY;QAClBV;KACH;IACD,6DAA6D;IAC7D,MAAM,CAACiB,MAAMC,aAAa,GAAGb,IAAAA,oCAAoB,EAAC;QAC9CC,OAAO5C,MAAMuD,IAAI;QACjBE,cAAczD,MAAM0D,WAAW;QAC/BZ,cAAc;IAClB;IACA,MAAMa,UAAU1C,OAAMC,WAAW,CAAC,CAAC0C,OAAOC;QACtCpD,iBAAiB,QAAQA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAamD,OAAO;YAC5EL,MAAMM;QACV;QACAL,aAAaK;IACjB,GAAG;QACCpD;QACA+C;KACH;IACD,qDAAqD;IACrDvC,OAAM6C,SAAS,CAAC;QACZ,IAAIP,MAAM;YACN,sFAAsF;YACtF,IAAI,CAAC/C,eAAe8B,gBAAgByB,MAAM,GAAG,GAAG;gBAC5C,MAAMC,iBAAiBlD,wBAAwB,CAACmD,IAAIA,MAAM3B,eAAe,CAAC,EAAE,EAAE4B,GAAG;gBACjF,IAAIF,mBAAmB,QAAQA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAerC,EAAE,EAAE;oBACnFhB,2BAA2Be,KAAK,CAACsC,eAAerC,EAAE;gBACtD;YACJ;QACJ,OAAO;YACHhB,2BAA2BiB,IAAI;QACnC;IACJ,+EAA+E;IAC/E,uDAAuD;IACvD,GAAG;QACC2B;QACA5C;KACH;IACD,+FAA+F;IAC/FM,OAAM6C,SAAS,CAAC;QACZ,IAAIP,MAAM;YACN,IAAI,CAAC5C,2BAA2BS,MAAM,IAAI;gBACtCT,2BAA2BwD,KAAK;YACpC;QACJ;IACJ,+EAA+E;IAC/E,GAAG;QACCZ;QACArD;QACAS;KACH;IACD,OAAO;QACH,GAAGC,gBAAgB;QACnB,GAAGwB,cAAc;QACjBX,cAAcJ;QACdpB;QACAE;QACA0B;QACAK;QACA7B;QACAC;QACAiD;QACAvB;QACAoC,iBAAiB9C;QACjBQ;QACAG;QACA0B;QACAjB;QACAhC;QACAmC;QACArC;QACA6D,eAAeC,IAAAA,gCAAgB,EAAC,CAACC;YAC7B,IAAI,CAAC/D,aAAa;gBACdmD,QAAQY,GAAG;YACf;QACJ;IACJ;AACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-combobox",
3
- "version": "9.8.0",
3
+ "version": "9.9.0",
4
4
  "description": "Fluent UI React Combobox component",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -33,18 +33,18 @@
33
33
  "@fluentui/scripts-tasks": "*"
34
34
  },
35
35
  "dependencies": {
36
- "@fluentui/react-aria": "^9.9.0",
36
+ "@fluentui/react-aria": "^9.9.1",
37
37
  "@fluentui/keyboard-keys": "^9.0.7",
38
- "@fluentui/react-context-selector": "^9.1.52",
39
- "@fluentui/react-field": "^9.1.54",
38
+ "@fluentui/react-context-selector": "^9.1.53",
39
+ "@fluentui/react-field": "^9.1.55",
40
40
  "@fluentui/react-icons": "^2.0.224",
41
- "@fluentui/react-jsx-runtime": "^9.0.30",
42
- "@fluentui/react-portal": "^9.4.14",
43
- "@fluentui/react-positioning": "^9.13.4",
44
- "@fluentui/react-shared-contexts": "^9.14.0",
45
- "@fluentui/react-tabster": "^9.19.1",
41
+ "@fluentui/react-jsx-runtime": "^9.0.31",
42
+ "@fluentui/react-portal": "^9.4.15",
43
+ "@fluentui/react-positioning": "^9.13.5",
44
+ "@fluentui/react-shared-contexts": "^9.14.1",
45
+ "@fluentui/react-tabster": "^9.19.2",
46
46
  "@fluentui/react-theme": "^9.1.16",
47
- "@fluentui/react-utilities": "^9.18.1",
47
+ "@fluentui/react-utilities": "^9.18.2",
48
48
  "@griffel/react": "^1.5.14",
49
49
  "@swc/helpers": "^0.5.1"
50
50
  },