@fluentui/react-combobox 9.2.4 → 9.2.6
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.
- package/.swcrc +30 -0
- package/CHANGELOG.json +115 -1
- package/CHANGELOG.md +34 -2
- package/lib/Combobox.js.map +1 -1
- package/lib/ComboboxField.js.map +1 -1
- package/lib/Dropdown.js.map +1 -1
- package/lib/Listbox.js.map +1 -1
- package/lib/Option.js.map +1 -1
- package/lib/OptionGroup.js.map +1 -1
- package/lib/components/Combobox/Combobox.js.map +1 -1
- package/lib/components/Combobox/Combobox.types.js +1 -1
- package/lib/components/Combobox/Combobox.types.js.map +1 -1
- package/lib/components/Combobox/index.js.map +1 -1
- package/lib/components/Combobox/renderCombobox.js +2 -12
- package/lib/components/Combobox/renderCombobox.js.map +1 -1
- package/lib/components/Combobox/useCombobox.js +11 -11
- package/lib/components/Combobox/useCombobox.js.map +1 -1
- package/lib/components/Combobox/useComboboxStyles.js.map +1 -1
- package/lib/components/ComboboxField/ComboboxField.js +1 -2
- package/lib/components/ComboboxField/ComboboxField.js.map +1 -1
- package/lib/components/ComboboxField/index.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/Dropdown/Dropdown.types.js.map +1 -1
- package/lib/components/Dropdown/index.js.map +1 -1
- package/lib/components/Dropdown/renderDropdown.js +2 -12
- package/lib/components/Dropdown/renderDropdown.js.map +1 -1
- package/lib/components/Dropdown/useDropdown.js +4 -4
- package/lib/components/Dropdown/useDropdown.js.map +1 -1
- package/lib/components/Dropdown/useDropdownStyles.js.map +1 -1
- package/lib/components/Listbox/Listbox.js.map +1 -1
- package/lib/components/Listbox/Listbox.types.js.map +1 -1
- package/lib/components/Listbox/index.js.map +1 -1
- package/lib/components/Listbox/renderListbox.js +1 -3
- package/lib/components/Listbox/renderListbox.js.map +1 -1
- package/lib/components/Listbox/useListbox.js.map +1 -1
- package/lib/components/Listbox/useListboxStyles.js.map +1 -1
- package/lib/components/Option/Option.js.map +1 -1
- package/lib/components/Option/Option.types.js +1 -1
- package/lib/components/Option/Option.types.js.map +1 -1
- package/lib/components/Option/index.js.map +1 -1
- package/lib/components/Option/renderOption.js +1 -5
- package/lib/components/Option/renderOption.js.map +1 -1
- package/lib/components/Option/useOption.js +4 -4
- package/lib/components/Option/useOption.js.map +1 -1
- package/lib/components/Option/useOptionStyles.js.map +1 -1
- package/lib/components/OptionGroup/OptionGroup.js.map +1 -1
- package/lib/components/OptionGroup/OptionGroup.types.js.map +1 -1
- package/lib/components/OptionGroup/index.js.map +1 -1
- package/lib/components/OptionGroup/renderOptionGroup.js +1 -5
- package/lib/components/OptionGroup/renderOptionGroup.js.map +1 -1
- package/lib/components/OptionGroup/useOptionGroup.js +1 -0
- package/lib/components/OptionGroup/useOptionGroup.js.map +1 -1
- package/lib/components/OptionGroup/useOptionGroupStyles.js.map +1 -1
- package/lib/contexts/ComboboxContext.js.map +1 -1
- package/lib/contexts/ListboxContext.js.map +1 -1
- package/lib/contexts/useComboboxContextValues.js.map +1 -1
- package/lib/contexts/useListboxContextValues.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/ComboboxBase.types.js +1 -1
- package/lib/utils/ComboboxBase.types.js.map +1 -1
- package/lib/utils/OptionCollection.types.js.map +1 -1
- package/lib/utils/Selection.types.js +1 -1
- package/lib/utils/Selection.types.js.map +1 -1
- package/lib/utils/dropdownKeyActions.js +1 -0
- package/lib/utils/dropdownKeyActions.js.map +1 -1
- package/lib/utils/internalTokens.js.map +1 -1
- package/lib/utils/useComboboxBaseState.js +1 -3
- package/lib/utils/useComboboxBaseState.js.map +1 -1
- package/lib/utils/useComboboxPopup.js.map +1 -1
- package/lib/utils/useOptionCollection.js +4 -4
- package/lib/utils/useOptionCollection.js.map +1 -1
- package/lib/utils/useScrollOptionsIntoView.js.map +1 -1
- package/lib/utils/useSelection.js.map +1 -1
- package/lib/utils/useTriggerListboxSlots.js +6 -6
- package/lib/utils/useTriggerListboxSlots.js.map +1 -1
- package/lib-commonjs/Combobox.js +5 -4
- package/lib-commonjs/Combobox.js.map +1 -1
- package/lib-commonjs/ComboboxField.js +5 -4
- package/lib-commonjs/ComboboxField.js.map +1 -1
- package/lib-commonjs/Dropdown.js +5 -4
- package/lib-commonjs/Dropdown.js.map +1 -1
- package/lib-commonjs/Listbox.js +5 -4
- package/lib-commonjs/Listbox.js.map +1 -1
- package/lib-commonjs/Option.js +5 -4
- package/lib-commonjs/Option.js.map +1 -1
- package/lib-commonjs/OptionGroup.js +5 -4
- package/lib-commonjs/OptionGroup.js.map +1 -1
- package/lib-commonjs/components/Combobox/Combobox.js +21 -22
- package/lib-commonjs/components/Combobox/Combobox.js.map +1 -1
- package/lib-commonjs/components/Combobox/Combobox.types.js +5 -2
- package/lib-commonjs/components/Combobox/Combobox.types.js.map +1 -1
- package/lib-commonjs/components/Combobox/index.js +9 -8
- package/lib-commonjs/components/Combobox/index.js.map +1 -1
- package/lib-commonjs/components/Combobox/renderCombobox.js +17 -30
- package/lib-commonjs/components/Combobox/renderCombobox.js.map +1 -1
- package/lib-commonjs/components/Combobox/useCombobox.js +220 -246
- package/lib-commonjs/components/Combobox/useCombobox.js.map +1 -1
- package/lib-commonjs/components/Combobox/useComboboxStyles.js +642 -292
- package/lib-commonjs/components/Combobox/useComboboxStyles.js.map +1 -1
- package/lib-commonjs/components/ComboboxField/ComboboxField.js +17 -11
- package/lib-commonjs/components/ComboboxField/ComboboxField.js.map +1 -1
- package/lib-commonjs/components/ComboboxField/index.js +5 -4
- package/lib-commonjs/components/ComboboxField/index.js.map +1 -1
- package/lib-commonjs/components/Dropdown/Dropdown.js +21 -22
- package/lib-commonjs/components/Dropdown/Dropdown.js.map +1 -1
- package/lib-commonjs/components/Dropdown/Dropdown.types.js +3 -2
- package/lib-commonjs/components/Dropdown/Dropdown.types.js.map +1 -1
- package/lib-commonjs/components/Dropdown/index.js +9 -8
- package/lib-commonjs/components/Dropdown/index.js.map +1 -1
- package/lib-commonjs/components/Dropdown/renderDropdown.js +17 -30
- package/lib-commonjs/components/Dropdown/renderDropdown.js.map +1 -1
- package/lib-commonjs/components/Dropdown/useDropdown.js +138 -152
- package/lib-commonjs/components/Dropdown/useDropdown.js.map +1 -1
- package/lib-commonjs/components/Dropdown/useDropdownStyles.js +618 -279
- package/lib-commonjs/components/Dropdown/useDropdownStyles.js.map +1 -1
- package/lib-commonjs/components/Listbox/Listbox.js +21 -22
- package/lib-commonjs/components/Listbox/Listbox.js.map +1 -1
- package/lib-commonjs/components/Listbox/Listbox.types.js +3 -2
- package/lib-commonjs/components/Listbox/Listbox.types.js.map +1 -1
- package/lib-commonjs/components/Listbox/index.js +9 -8
- package/lib-commonjs/components/Listbox/index.js.map +1 -1
- package/lib-commonjs/components/Listbox/renderListbox.js +16 -21
- package/lib-commonjs/components/Listbox/renderListbox.js.map +1 -1
- package/lib-commonjs/components/Listbox/useListbox.js +93 -109
- package/lib-commonjs/components/Listbox/useListbox.js.map +1 -1
- package/lib-commonjs/components/Listbox/useListboxStyles.js +59 -35
- package/lib-commonjs/components/Listbox/useListboxStyles.js.map +1 -1
- package/lib-commonjs/components/Option/Option.js +19 -20
- package/lib-commonjs/components/Option/Option.js.map +1 -1
- package/lib-commonjs/components/Option/Option.types.js +5 -2
- package/lib-commonjs/components/Option/Option.types.js.map +1 -1
- package/lib-commonjs/components/Option/index.js +9 -8
- package/lib-commonjs/components/Option/index.js.map +1 -1
- package/lib-commonjs/components/Option/renderOption.js +13 -20
- package/lib-commonjs/components/Option/renderOption.js.map +1 -1
- package/lib-commonjs/components/Option/useOption.js +129 -131
- package/lib-commonjs/components/Option/useOption.js.map +1 -1
- package/lib-commonjs/components/Option/useOptionStyles.js +327 -140
- package/lib-commonjs/components/Option/useOptionStyles.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/OptionGroup.js +19 -20
- package/lib-commonjs/components/OptionGroup/OptionGroup.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/OptionGroup.types.js +3 -2
- package/lib-commonjs/components/OptionGroup/OptionGroup.types.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/index.js +9 -8
- package/lib-commonjs/components/OptionGroup/index.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/renderOptionGroup.js +13 -20
- package/lib-commonjs/components/OptionGroup/renderOptionGroup.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/useOptionGroup.js +31 -38
- package/lib-commonjs/components/OptionGroup/useOptionGroup.js.map +1 -1
- package/lib-commonjs/components/OptionGroup/useOptionGroupStyles.js +107 -53
- package/lib-commonjs/components/OptionGroup/useOptionGroupStyles.js.map +1 -1
- package/lib-commonjs/contexts/ComboboxContext.js +30 -22
- package/lib-commonjs/contexts/ComboboxContext.js.map +1 -1
- package/lib-commonjs/contexts/ListboxContext.js +26 -18
- package/lib-commonjs/contexts/ListboxContext.js.map +1 -1
- package/lib-commonjs/contexts/useComboboxContextValues.js +23 -32
- package/lib-commonjs/contexts/useComboboxContextValues.js.map +1 -1
- package/lib-commonjs/contexts/useListboxContextValues.js +26 -32
- package/lib-commonjs/contexts/useListboxContextValues.js.map +1 -1
- package/lib-commonjs/index.js +53 -201
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/ComboboxBase.types.js +5 -2
- package/lib-commonjs/utils/ComboboxBase.types.js.map +1 -1
- package/lib-commonjs/utils/OptionCollection.types.js +3 -2
- package/lib-commonjs/utils/OptionCollection.types.js.map +1 -1
- package/lib-commonjs/utils/Selection.types.js +5 -2
- package/lib-commonjs/utils/Selection.types.js.map +1 -1
- package/lib-commonjs/utils/dropdownKeyActions.js +80 -85
- package/lib-commonjs/utils/dropdownKeyActions.js.map +1 -1
- package/lib-commonjs/utils/internalTokens.js +11 -8
- package/lib-commonjs/utils/internalTokens.js.map +1 -1
- package/lib-commonjs/utils/useComboboxBaseState.js +106 -108
- package/lib-commonjs/utils/useComboboxBaseState.js.map +1 -1
- package/lib-commonjs/utils/useComboboxPopup.js +33 -33
- package/lib-commonjs/utils/useComboboxPopup.js.map +1 -1
- package/lib-commonjs/utils/useOptionCollection.js +74 -71
- package/lib-commonjs/utils/useOptionCollection.js.map +1 -1
- package/lib-commonjs/utils/useScrollOptionsIntoView.js +35 -38
- package/lib-commonjs/utils/useScrollOptionsIntoView.js.map +1 -1
- package/lib-commonjs/utils/useSelection.js +66 -55
- package/lib-commonjs/utils/useSelection.js.map +1 -1
- package/lib-commonjs/utils/useTriggerListboxSlots.js +115 -129
- package/lib-commonjs/utils/useTriggerListboxSlots.js.map +1 -1
- package/package.json +14 -13
- package/lib-amd/Combobox.js +0 -6
- package/lib-amd/Combobox.js.map +0 -1
- package/lib-amd/ComboboxField.js +0 -6
- package/lib-amd/ComboboxField.js.map +0 -1
- package/lib-amd/Dropdown.js +0 -6
- package/lib-amd/Dropdown.js.map +0 -1
- package/lib-amd/Listbox.js +0 -6
- package/lib-amd/Listbox.js.map +0 -1
- package/lib-amd/Option.js +0 -6
- package/lib-amd/Option.js.map +0 -1
- package/lib-amd/OptionGroup.js +0 -6
- package/lib-amd/OptionGroup.js.map +0 -1
- package/lib-amd/components/Combobox/Combobox.js +0 -18
- package/lib-amd/components/Combobox/Combobox.js.map +0 -1
- package/lib-amd/components/Combobox/Combobox.types.js +0 -5
- package/lib-amd/components/Combobox/Combobox.types.js.map +0 -1
- package/lib-amd/components/Combobox/index.js +0 -10
- package/lib-amd/components/Combobox/index.js.map +0 -1
- package/lib-amd/components/Combobox/renderCombobox.js +0 -20
- package/lib-amd/components/Combobox/renderCombobox.js.map +0 -1
- package/lib-amd/components/Combobox/useCombobox.js +0 -204
- package/lib-amd/components/Combobox/useCombobox.js.map +0 -1
- package/lib-amd/components/Combobox/useComboboxStyles.js +0 -152
- package/lib-amd/components/Combobox/useComboboxStyles.js.map +0 -1
- package/lib-amd/components/ComboboxField/ComboboxField.js +0 -10
- package/lib-amd/components/ComboboxField/ComboboxField.js.map +0 -1
- package/lib-amd/components/ComboboxField/index.js +0 -6
- package/lib-amd/components/ComboboxField/index.js.map +0 -1
- package/lib-amd/components/Dropdown/Dropdown.js +0 -18
- package/lib-amd/components/Dropdown/Dropdown.js.map +0 -1
- package/lib-amd/components/Dropdown/Dropdown.types.js +0 -5
- package/lib-amd/components/Dropdown/Dropdown.types.js.map +0 -1
- package/lib-amd/components/Dropdown/index.js +0 -10
- package/lib-amd/components/Dropdown/index.js.map +0 -1
- package/lib-amd/components/Dropdown/renderDropdown.js +0 -21
- package/lib-amd/components/Dropdown/renderDropdown.js.map +0 -1
- package/lib-amd/components/Dropdown/useDropdown.js +0 -121
- package/lib-amd/components/Dropdown/useDropdown.js.map +0 -1
- package/lib-amd/components/Dropdown/useDropdownStyles.js +0 -127
- package/lib-amd/components/Dropdown/useDropdownStyles.js.map +0 -1
- package/lib-amd/components/Listbox/Listbox.js +0 -18
- package/lib-amd/components/Listbox/Listbox.js.map +0 -1
- package/lib-amd/components/Listbox/Listbox.types.js +0 -5
- package/lib-amd/components/Listbox/Listbox.types.js.map +0 -1
- package/lib-amd/components/Listbox/index.js +0 -10
- package/lib-amd/components/Listbox/index.js.map +0 -1
- package/lib-amd/components/Listbox/renderListbox.js +0 -15
- package/lib-amd/components/Listbox/renderListbox.js.map +0 -1
- package/lib-amd/components/Listbox/useListbox.js +0 -80
- package/lib-amd/components/Listbox/useListbox.js.map +0 -1
- package/lib-amd/components/Listbox/useListboxStyles.js +0 -24
- package/lib-amd/components/Listbox/useListboxStyles.js.map +0 -1
- package/lib-amd/components/Option/Option.js +0 -17
- package/lib-amd/components/Option/Option.js.map +0 -1
- package/lib-amd/components/Option/Option.types.js +0 -5
- package/lib-amd/components/Option/Option.types.js.map +0 -1
- package/lib-amd/components/Option/index.js +0 -10
- package/lib-amd/components/Option/index.js.map +0 -1
- package/lib-amd/components/Option/renderOption.js +0 -16
- package/lib-amd/components/Option/renderOption.js.map +0 -1
- package/lib-amd/components/Option/useOption.js +0 -112
- package/lib-amd/components/Option/useOption.js.map +0 -1
- package/lib-amd/components/Option/useOptionStyles.js +0 -73
- package/lib-amd/components/Option/useOptionStyles.js.map +0 -1
- package/lib-amd/components/OptionGroup/OptionGroup.js +0 -17
- package/lib-amd/components/OptionGroup/OptionGroup.js.map +0 -1
- package/lib-amd/components/OptionGroup/OptionGroup.types.js +0 -5
- package/lib-amd/components/OptionGroup/OptionGroup.types.js.map +0 -1
- package/lib-amd/components/OptionGroup/index.js +0 -10
- package/lib-amd/components/OptionGroup/index.js.map +0 -1
- package/lib-amd/components/OptionGroup/renderOptionGroup.js +0 -16
- package/lib-amd/components/OptionGroup/renderOptionGroup.js.map +0 -1
- package/lib-amd/components/OptionGroup/useOptionGroup.js +0 -33
- package/lib-amd/components/OptionGroup/useOptionGroup.js.map +0 -1
- package/lib-amd/components/OptionGroup/useOptionGroupStyles.js +0 -34
- package/lib-amd/components/OptionGroup/useOptionGroupStyles.js.map +0 -1
- package/lib-amd/contexts/ComboboxContext.js +0 -28
- package/lib-amd/contexts/ComboboxContext.js.map +0 -1
- package/lib-amd/contexts/ListboxContext.js +0 -23
- package/lib-amd/contexts/ListboxContext.js.map +0 -1
- package/lib-amd/contexts/useComboboxContextValues.js +0 -23
- package/lib-amd/contexts/useComboboxContextValues.js.map +0 -1
- package/lib-amd/contexts/useListboxContextValues.js +0 -24
- package/lib-amd/contexts/useListboxContextValues.js.map +0 -1
- package/lib-amd/index.js +0 -37
- package/lib-amd/index.js.map +0 -1
- package/lib-amd/utils/ComboboxBase.types.js +0 -5
- package/lib-amd/utils/ComboboxBase.types.js.map +0 -1
- package/lib-amd/utils/OptionCollection.types.js +0 -5
- package/lib-amd/utils/OptionCollection.types.js.map +0 -1
- package/lib-amd/utils/Selection.types.js +0 -5
- package/lib-amd/utils/Selection.types.js.map +0 -1
- package/lib-amd/utils/dropdownKeyActions.js +0 -85
- package/lib-amd/utils/dropdownKeyActions.js.map +0 -1
- package/lib-amd/utils/internalTokens.js +0 -11
- package/lib-amd/utils/internalTokens.js.map +0 -1
- package/lib-amd/utils/useComboboxBaseState.js +0 -83
- package/lib-amd/utils/useComboboxBaseState.js.map +0 -1
- package/lib-amd/utils/useComboboxPopup.js +0 -16
- package/lib-amd/utils/useComboboxPopup.js.map +0 -1
- package/lib-amd/utils/useOptionCollection.js +0 -69
- package/lib-amd/utils/useOptionCollection.js.map +0 -1
- package/lib-amd/utils/useScrollOptionsIntoView.js +0 -33
- package/lib-amd/utils/useScrollOptionsIntoView.js.map +0 -1
- package/lib-amd/utils/useSelection.js +0 -42
- package/lib-amd/utils/useSelection.js.map +0 -1
- package/lib-amd/utils/useTriggerListboxSlots.js +0 -104
- package/lib-amd/utils/useTriggerListboxSlots.js.map +0 -1
|
@@ -45,13 +45,13 @@ export function useTriggerListboxSlots(props, state, ref, triggerSlot, listboxSl
|
|
|
45
45
|
ref: useMergedRefs(ref, triggerSlot === null || triggerSlot === void 0 ? void 0 : triggerSlot.ref, triggerRef)
|
|
46
46
|
};
|
|
47
47
|
/*
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
* Handle focus when clicking the listbox popup:
|
|
49
|
+
* 1. Move focus back to the button/input when the listbox is clicked (otherwise it goes to body)
|
|
50
|
+
* 2. Do not close the listbox on button/input blur when clicking into the listbox
|
|
51
|
+
*/
|
|
52
52
|
const listboxOnClick = useEventCallback(mergeCallbacks(event => {
|
|
53
|
-
var
|
|
54
|
-
(
|
|
53
|
+
var _triggerRef_current;
|
|
54
|
+
(_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();
|
|
55
55
|
}, listbox === null || listbox === void 0 ? void 0 : listbox.onClick));
|
|
56
56
|
const listboxOnMouseOver = useEventCallback(mergeCallbacks(event => {
|
|
57
57
|
setFocusVisible(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","mergeCallbacks","useId","useEventCallback","useMergedRefs","getDropdownActionFromKey","getIndexFromAction","useTriggerListboxSlots","props","state","ref","triggerSlot","listboxSlot","multiselect","activeOption","getCount","getIndexOfId","getOptionAtIndex","ignoreNextBlur","open","selectOption","setActiveOption","setFocusVisible","setHasFocus","setOpen","triggerRef","useRef","listboxId","id","listbox","tabIndex","undefined","trigger","role","listboxOnClick","event","_a","current","focus","onClick","listboxOnMouseOver","onMouseOver","listboxOnMouseDown","onMouseDown","onBlur","onFocus","onKeyDown","action","maxIndex","activeIndex","newIndex","preventDefault","stopPropagation","disabled"],"sources":["../src/packages/react-components/react-combobox/src/utils/useTriggerListboxSlots.ts"],"sourcesContent":["import * as React from 'react';\nimport { mergeCallbacks, useId, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, Slot } from '@fluentui/react-utilities';\nimport { getDropdownActionFromKey, getIndexFromAction } from '../utils/dropdownKeyActions';\nimport { Listbox } from '../components/Listbox/Listbox';\nimport type { ComboboxBaseProps, ComboboxBaseState } from './ComboboxBase.types';\n\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLButtonElement>,\n triggerSlot?: ExtractSlotProps<Slot<'button'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [trigger: ExtractSlotProps<Slot<'button'>>, listbox?: ExtractSlotProps<Slot<typeof Listbox>>];\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLInputElement>,\n triggerSlot?: ExtractSlotProps<Slot<'input'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [trigger: ExtractSlotProps<Slot<'input'>>, listbox?: ExtractSlotProps<Slot<typeof Listbox>>];\n\n/*\n * useTriggerListboxSlots returns a tuple of trigger/listbox shorthand,\n * with the semantics and event handlers needed for the Combobox and Dropdown components.\n * The element type of the ref should always match the element type used in the trigger shorthand.\n */\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLButtonElement | HTMLInputElement>,\n triggerSlot?: ExtractSlotProps<Slot<'input'>> | ExtractSlotProps<Slot<'button'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [\n trigger: ExtractSlotProps<Slot<'input'>> | ExtractSlotProps<Slot<'button'>>,\n listbox?: ExtractSlotProps<Slot<typeof Listbox>>,\n] {\n const { multiselect } = props;\n const {\n activeOption,\n getCount,\n getIndexOfId,\n getOptionAtIndex,\n ignoreNextBlur,\n open,\n selectOption,\n setActiveOption,\n setFocusVisible,\n setHasFocus,\n setOpen,\n } = state;\n\n // handle trigger focus/blur\n const triggerRef: typeof ref = React.useRef(null);\n\n // resolve listbox shorthand props\n const listboxId = useId('fluent-listbox', listboxSlot?.id);\n const listbox: typeof listboxSlot = listboxSlot && {\n id: listboxId,\n multiselect,\n tabIndex: undefined,\n ...listboxSlot,\n };\n\n // resolve trigger shorthand props\n const trigger: typeof triggerSlot = {\n 'aria-expanded': open,\n 'aria-activedescendant': open ? activeOption?.id : undefined,\n role: 'combobox',\n ...triggerSlot,\n // explicitly type the ref as an intersection here to prevent type errors\n // since the `children` prop has mutually incompatible types between input/button\n // functionally both ref and triggerRef will always be the same element type\n ref: useMergedRefs(ref, triggerSlot?.ref, triggerRef) as React.Ref<HTMLButtonElement & HTMLInputElement>,\n };\n\n /*\n * Handle focus when clicking the listbox popup:\n * 1. Move focus back to the button/input when the listbox is clicked (otherwise it goes to body)\n * 2. Do not close the listbox on button/input blur when clicking into the listbox\n */\n const listboxOnClick = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n triggerRef.current?.focus();\n }, listbox?.onClick),\n );\n\n const listboxOnMouseOver = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n setFocusVisible(false);\n }, listbox?.onMouseOver),\n );\n\n const listboxOnMouseDown = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n ignoreNextBlur.current = true;\n }, listbox?.onMouseDown),\n );\n\n // listbox is nullable, only add event handlers if it exists\n if (listbox) {\n listbox.onClick = listboxOnClick;\n listbox.onMouseOver = listboxOnMouseOver;\n listbox.onMouseDown = listboxOnMouseDown;\n }\n\n // the trigger should open/close the popup on click or blur\n trigger.onBlur = mergeCallbacks((event: React.FocusEvent<HTMLButtonElement> & React.FocusEvent<HTMLInputElement>) => {\n if (!ignoreNextBlur.current) {\n setOpen(event, false);\n }\n\n ignoreNextBlur.current = false;\n\n setHasFocus(false);\n }, trigger.onBlur);\n\n trigger.onClick = mergeCallbacks(\n (event: React.MouseEvent<HTMLButtonElement> & React.MouseEvent<HTMLInputElement>) => {\n setOpen(event, !open);\n },\n trigger.onClick,\n );\n\n trigger.onFocus = mergeCallbacks(\n (event: React.FocusEvent<HTMLButtonElement> & React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(true);\n },\n trigger.onFocus,\n );\n\n // handle combobox keyboard interaction\n trigger.onKeyDown = mergeCallbacks(\n (event: React.KeyboardEvent<HTMLButtonElement> & React.KeyboardEvent<HTMLInputElement>) => {\n const action = getDropdownActionFromKey(event, { open, multiselect });\n const maxIndex = getCount() - 1;\n const activeIndex = activeOption ? getIndexOfId(activeOption.id) : -1;\n let newIndex = activeIndex;\n\n switch (action) {\n case 'Open':\n event.preventDefault();\n setFocusVisible(true);\n setOpen(event, true);\n break;\n case 'Close':\n // stop propagation for escape key to avoid dismissing any parent popups\n event.stopPropagation();\n event.preventDefault();\n setOpen(event, false);\n break;\n case 'CloseSelect':\n !multiselect && !activeOption?.disabled && setOpen(event, false);\n // fallthrough\n case 'Select':\n activeOption && selectOption(event, activeOption);\n event.preventDefault();\n break;\n case 'Tab':\n !multiselect && activeOption && selectOption(event, activeOption);\n break;\n default:\n newIndex = getIndexFromAction(action, activeIndex, maxIndex);\n }\n if (newIndex !== activeIndex) {\n // prevent default page scroll/keyboard action if the index changed\n event.preventDefault();\n setActiveOption(getOptionAtIndex(newIndex));\n setFocusVisible(true);\n }\n },\n trigger.onKeyDown,\n );\n\n trigger.onMouseOver = mergeCallbacks(\n (event: React.MouseEvent<HTMLButtonElement> & React.MouseEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n },\n trigger.onMouseOver,\n );\n\n return [trigger, listbox];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","mergeCallbacks","useId","useEventCallback","useMergedRefs","getDropdownActionFromKey","getIndexFromAction","useTriggerListboxSlots","props","state","ref","triggerSlot","listboxSlot","multiselect","activeOption","getCount","getIndexOfId","getOptionAtIndex","ignoreNextBlur","open","selectOption","setActiveOption","setFocusVisible","setHasFocus","setOpen","triggerRef","useRef","listboxId","id","listbox","tabIndex","undefined","trigger","role","listboxOnClick","event","_triggerRef_current","current","focus","onClick","listboxOnMouseOver","onMouseOver","listboxOnMouseDown","onMouseDown","onBlur","onFocus","onKeyDown","action","maxIndex","activeIndex","newIndex","preventDefault","stopPropagation","disabled"],"sources":["../../src/utils/useTriggerListboxSlots.ts"],"sourcesContent":["import * as React from 'react';\nimport { mergeCallbacks, useId, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport type { ExtractSlotProps, Slot } from '@fluentui/react-utilities';\nimport { getDropdownActionFromKey, getIndexFromAction } from '../utils/dropdownKeyActions';\nimport { Listbox } from '../components/Listbox/Listbox';\nimport type { ComboboxBaseProps, ComboboxBaseState } from './ComboboxBase.types';\n\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLButtonElement>,\n triggerSlot?: ExtractSlotProps<Slot<'button'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [trigger: ExtractSlotProps<Slot<'button'>>, listbox?: ExtractSlotProps<Slot<typeof Listbox>>];\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLInputElement>,\n triggerSlot?: ExtractSlotProps<Slot<'input'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [trigger: ExtractSlotProps<Slot<'input'>>, listbox?: ExtractSlotProps<Slot<typeof Listbox>>];\n\n/*\n * useTriggerListboxSlots returns a tuple of trigger/listbox shorthand,\n * with the semantics and event handlers needed for the Combobox and Dropdown components.\n * The element type of the ref should always match the element type used in the trigger shorthand.\n */\nexport function useTriggerListboxSlots(\n props: ComboboxBaseProps,\n state: ComboboxBaseState,\n ref: React.Ref<HTMLButtonElement | HTMLInputElement>,\n triggerSlot?: ExtractSlotProps<Slot<'input'>> | ExtractSlotProps<Slot<'button'>>,\n listboxSlot?: ExtractSlotProps<Slot<typeof Listbox>>,\n): [\n trigger: ExtractSlotProps<Slot<'input'>> | ExtractSlotProps<Slot<'button'>>,\n listbox?: ExtractSlotProps<Slot<typeof Listbox>>,\n] {\n const { multiselect } = props;\n const {\n activeOption,\n getCount,\n getIndexOfId,\n getOptionAtIndex,\n ignoreNextBlur,\n open,\n selectOption,\n setActiveOption,\n setFocusVisible,\n setHasFocus,\n setOpen,\n } = state;\n\n // handle trigger focus/blur\n const triggerRef: typeof ref = React.useRef(null);\n\n // resolve listbox shorthand props\n const listboxId = useId('fluent-listbox', listboxSlot?.id);\n const listbox: typeof listboxSlot = listboxSlot && {\n id: listboxId,\n multiselect,\n tabIndex: undefined,\n ...listboxSlot,\n };\n\n // resolve trigger shorthand props\n const trigger: typeof triggerSlot = {\n 'aria-expanded': open,\n 'aria-activedescendant': open ? activeOption?.id : undefined,\n role: 'combobox',\n ...triggerSlot,\n // explicitly type the ref as an intersection here to prevent type errors\n // since the `children` prop has mutually incompatible types between input/button\n // functionally both ref and triggerRef will always be the same element type\n ref: useMergedRefs(ref, triggerSlot?.ref, triggerRef) as React.Ref<HTMLButtonElement & HTMLInputElement>,\n };\n\n /*\n * Handle focus when clicking the listbox popup:\n * 1. Move focus back to the button/input when the listbox is clicked (otherwise it goes to body)\n * 2. Do not close the listbox on button/input blur when clicking into the listbox\n */\n const listboxOnClick = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n triggerRef.current?.focus();\n }, listbox?.onClick),\n );\n\n const listboxOnMouseOver = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n setFocusVisible(false);\n }, listbox?.onMouseOver),\n );\n\n const listboxOnMouseDown = useEventCallback(\n mergeCallbacks((event: React.MouseEvent<HTMLDivElement>) => {\n ignoreNextBlur.current = true;\n }, listbox?.onMouseDown),\n );\n\n // listbox is nullable, only add event handlers if it exists\n if (listbox) {\n listbox.onClick = listboxOnClick;\n listbox.onMouseOver = listboxOnMouseOver;\n listbox.onMouseDown = listboxOnMouseDown;\n }\n\n // the trigger should open/close the popup on click or blur\n trigger.onBlur = mergeCallbacks((event: React.FocusEvent<HTMLButtonElement> & React.FocusEvent<HTMLInputElement>) => {\n if (!ignoreNextBlur.current) {\n setOpen(event, false);\n }\n\n ignoreNextBlur.current = false;\n\n setHasFocus(false);\n }, trigger.onBlur);\n\n trigger.onClick = mergeCallbacks(\n (event: React.MouseEvent<HTMLButtonElement> & React.MouseEvent<HTMLInputElement>) => {\n setOpen(event, !open);\n },\n trigger.onClick,\n );\n\n trigger.onFocus = mergeCallbacks(\n (event: React.FocusEvent<HTMLButtonElement> & React.FocusEvent<HTMLInputElement>) => {\n setHasFocus(true);\n },\n trigger.onFocus,\n );\n\n // handle combobox keyboard interaction\n trigger.onKeyDown = mergeCallbacks(\n (event: React.KeyboardEvent<HTMLButtonElement> & React.KeyboardEvent<HTMLInputElement>) => {\n const action = getDropdownActionFromKey(event, { open, multiselect });\n const maxIndex = getCount() - 1;\n const activeIndex = activeOption ? getIndexOfId(activeOption.id) : -1;\n let newIndex = activeIndex;\n\n switch (action) {\n case 'Open':\n event.preventDefault();\n setFocusVisible(true);\n setOpen(event, true);\n break;\n case 'Close':\n // stop propagation for escape key to avoid dismissing any parent popups\n event.stopPropagation();\n event.preventDefault();\n setOpen(event, false);\n break;\n case 'CloseSelect':\n !multiselect && !activeOption?.disabled && setOpen(event, false);\n // fallthrough\n case 'Select':\n activeOption && selectOption(event, activeOption);\n event.preventDefault();\n break;\n case 'Tab':\n !multiselect && activeOption && selectOption(event, activeOption);\n break;\n default:\n newIndex = getIndexFromAction(action, activeIndex, maxIndex);\n }\n if (newIndex !== activeIndex) {\n // prevent default page scroll/keyboard action if the index changed\n event.preventDefault();\n setActiveOption(getOptionAtIndex(newIndex));\n setFocusVisible(true);\n }\n },\n trigger.onKeyDown,\n );\n\n trigger.onMouseOver = mergeCallbacks(\n (event: React.MouseEvent<HTMLButtonElement> & React.MouseEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n },\n trigger.onMouseOver,\n );\n\n return [trigger, listbox];\n}\n"],"mappings":"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"}
|
package/lib-commonjs/Combobox.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/Combobox/index"), exports);
|
|
7
|
+
//# sourceMappingURL=Combobox.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/Combobox.js"],"sourcesContent":["export * from './components/Combobox/index';\n//# sourceMappingURL=Combobox.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,oCAAoC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/ComboboxField/index"), exports);
|
|
7
|
+
//# sourceMappingURL=ComboboxField.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=ComboboxField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/ComboboxField.js"],"sourcesContent":["export * from './components/ComboboxField/index';\n//# sourceMappingURL=ComboboxField.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,yCAAyC"}
|
package/lib-commonjs/Dropdown.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/Dropdown/index"), exports);
|
|
7
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/Dropdown.js"],"sourcesContent":["export * from './components/Dropdown/index';\n//# sourceMappingURL=Dropdown.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,oCAAoC"}
|
package/lib-commonjs/Listbox.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/Listbox/index"), exports);
|
|
7
|
+
//# sourceMappingURL=Listbox.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=Listbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/Listbox.js"],"sourcesContent":["export * from './components/Listbox/index';\n//# sourceMappingURL=Listbox.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,mCAAmC"}
|
package/lib-commonjs/Option.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/Option/index"), exports);
|
|
7
|
+
//# sourceMappingURL=Option.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=Option.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/Option.js"],"sourcesContent":["export * from './components/Option/index';\n//# sourceMappingURL=Option.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,kCAAkC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./components/OptionGroup/index"), exports);
|
|
7
|
+
//# sourceMappingURL=OptionGroup.js.map
|
|
8
|
+
|
|
8
9
|
//# sourceMappingURL=OptionGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/OptionGroup.js"],"sourcesContent":["export * from './components/OptionGroup/index';\n//# sourceMappingURL=OptionGroup.js.map"],"names":[],"mappings":";;;;;oBAAc;CACd,uCAAuC"}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Combobox", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>Combobox
|
|
5
8
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const {
|
|
21
|
-
useComboboxStyles_unstable: useCustomStyles
|
|
22
|
-
} = react_shared_contexts_1.useCustomStyleHooks_unstable();
|
|
23
|
-
useCustomStyles(state);
|
|
24
|
-
return renderCombobox_1.renderCombobox_unstable(state, contextValues);
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _useCombobox = require("./useCombobox");
|
|
12
|
+
const _renderCombobox = require("./renderCombobox");
|
|
13
|
+
const _useComboboxStyles = require("./useComboboxStyles");
|
|
14
|
+
const _useComboboxContextValues = require("../../contexts/useComboboxContextValues");
|
|
15
|
+
const _reactSharedContexts = require("@fluentui/react-shared-contexts");
|
|
16
|
+
const Combobox = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
17
|
+
const state = (0, _useCombobox.useCombobox_unstable)(props, ref);
|
|
18
|
+
const contextValues = (0, _useComboboxContextValues.useComboboxContextValues)(state);
|
|
19
|
+
(0, _useComboboxStyles.useComboboxStyles_unstable)(state);
|
|
20
|
+
const { useComboboxStyles_unstable: useCustomStyles } = (0, _reactSharedContexts.useCustomStyleHooks_unstable)();
|
|
21
|
+
useCustomStyles(state);
|
|
22
|
+
return (0, _renderCombobox.renderCombobox_unstable)(state, contextValues);
|
|
25
23
|
});
|
|
26
|
-
|
|
24
|
+
Combobox.displayName = 'Combobox'; //# sourceMappingURL=Combobox.js.map
|
|
25
|
+
|
|
27
26
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Combobox/Combobox.js"],"sourcesContent":["import * as React from 'react';\nimport { useCombobox_unstable } from './useCombobox';\nimport { renderCombobox_unstable } from './renderCombobox';\nimport { useComboboxStyles_unstable } from './useComboboxStyles';\nimport { useComboboxContextValues } from '../../contexts/useComboboxContextValues';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Combobox component: a selection control that allows users to choose from a set of possible options\n */\nexport const Combobox = /*#__PURE__*/React.forwardRef((props, ref) => {\n const state = useCombobox_unstable(props, ref);\n const contextValues = useComboboxContextValues(state);\n useComboboxStyles_unstable(state);\n const {\n useComboboxStyles_unstable: useCustomStyles\n } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n return renderCombobox_unstable(state, contextValues);\n});\nCombobox.displayName = 'Combobox';\n//# sourceMappingURL=Combobox.js.map"],"names":["Combobox","React","forwardRef","props","ref","state","useCombobox_unstable","contextValues","useComboboxContextValues","useComboboxStyles_unstable","useCustomStyles","useCustomStyleHooks_unstable","renderCombobox_unstable","displayName"],"mappings":";;;;+BASaA;;aAAAA;;;6DATU;6BACc;gCACG;mCACG;0CACF;qCACI;AAItC,MAAMA,WAAW,WAAW,GAAEC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAQ;IACpE,MAAMC,QAAQC,IAAAA,iCAAoB,EAACH,OAAOC;IAC1C,MAAMG,gBAAgBC,IAAAA,kDAAwB,EAACH;IAC/CI,IAAAA,6CAA0B,EAACJ;IAC3B,MAAM,EACJI,4BAA4BC,gBAAe,EAC5C,GAAGC,IAAAA,iDAA4B;IAChCD,gBAAgBL;IAChB,OAAOO,IAAAA,uCAAuB,EAACP,OAAOE;AACxC;AACAP,SAASa,WAAW,GAAG,YACvB,oCAAoC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
5
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
6
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
7
|
+
//# sourceMappingURL=Combobox.types.js.map
|
|
8
|
+
|
|
6
9
|
//# sourceMappingURL=Combobox.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Combobox/Combobox.types.js"],"sourcesContent":["import * as React from 'react';\n//# sourceMappingURL=Combobox.types.js.map"],"names":[],"mappings":";;;;;6DAAuB;CACvB,0CAA0C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./Combobox"), exports);
|
|
7
|
+
_exportStar(require("./Combobox.types"), exports);
|
|
8
|
+
_exportStar(require("./renderCombobox"), exports);
|
|
9
|
+
_exportStar(require("./useCombobox"), exports);
|
|
10
|
+
_exportStar(require("./useComboboxStyles"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
12
|
+
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Combobox/index.js"],"sourcesContent":["export * from './Combobox';\nexport * from './Combobox.types';\nexport * from './renderCombobox';\nexport * from './useCombobox';\nexport * from './useComboboxStyles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
|
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "renderCombobox_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>renderCombobox_unstable
|
|
5
8
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} = react_utilities_1.getSlots(state);
|
|
19
|
-
return React.createElement(slots.root, {
|
|
20
|
-
...slotProps.root
|
|
21
|
-
}, React.createElement(ComboboxContext_1.ComboboxContext.Provider, {
|
|
22
|
-
value: contextValues.combobox
|
|
23
|
-
}, React.createElement(slots.input, {
|
|
24
|
-
...slotProps.input
|
|
25
|
-
}), slots.expandIcon && React.createElement(slots.expandIcon, {
|
|
26
|
-
...slotProps.expandIcon
|
|
27
|
-
}), slots.listbox && (state.inlinePopup ? React.createElement(slots.listbox, {
|
|
28
|
-
...slotProps.listbox
|
|
29
|
-
}) : React.createElement(react_portal_1.Portal, null, React.createElement(slots.listbox, {
|
|
30
|
-
...slotProps.listbox
|
|
31
|
-
})))));
|
|
32
|
-
};
|
|
33
|
-
exports.renderCombobox_unstable = renderCombobox_unstable;
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _reactPortal = require("@fluentui/react-portal");
|
|
12
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
13
|
+
const _comboboxContext = require("../../contexts/ComboboxContext");
|
|
14
|
+
const renderCombobox_unstable = (state, contextValues)=>{
|
|
15
|
+
const { slots , slotProps } = (0, _reactUtilities.getSlots)(state);
|
|
16
|
+
return /*#__PURE__*/ _react.createElement(slots.root, slotProps.root, /*#__PURE__*/ _react.createElement(_comboboxContext.ComboboxContext.Provider, {
|
|
17
|
+
value: contextValues.combobox
|
|
18
|
+
}, /*#__PURE__*/ _react.createElement(slots.input, slotProps.input), slots.expandIcon && /*#__PURE__*/ _react.createElement(slots.expandIcon, slotProps.expandIcon), slots.listbox && (state.inlinePopup ? /*#__PURE__*/ _react.createElement(slots.listbox, slotProps.listbox) : /*#__PURE__*/ _react.createElement(_reactPortal.Portal, null, /*#__PURE__*/ _react.createElement(slots.listbox, slotProps.listbox)))));
|
|
19
|
+
}; //# sourceMappingURL=renderCombobox.js.map
|
|
20
|
+
|
|
34
21
|
//# sourceMappingURL=renderCombobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../lib/components/Combobox/renderCombobox.js"],"sourcesContent":["import * as React from 'react';\nimport { Portal } from '@fluentui/react-portal';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { ComboboxContext } from '../../contexts/ComboboxContext';\n/**\n * Render the final JSX of Combobox\n */\nexport const renderCombobox_unstable = (state, contextValues) => {\n const {\n slots,\n slotProps\n } = getSlots(state);\n return /*#__PURE__*/React.createElement(slots.root, slotProps.root, /*#__PURE__*/React.createElement(ComboboxContext.Provider, {\n value: contextValues.combobox\n }, /*#__PURE__*/React.createElement(slots.input, slotProps.input), slots.expandIcon && /*#__PURE__*/React.createElement(slots.expandIcon, slotProps.expandIcon), slots.listbox && (state.inlinePopup ? /*#__PURE__*/React.createElement(slots.listbox, slotProps.listbox) : /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(slots.listbox, slotProps.listbox)))));\n};\n//# sourceMappingURL=renderCombobox.js.map"],"names":["renderCombobox_unstable","state","contextValues","slots","slotProps","getSlots","React","createElement","root","ComboboxContext","Provider","value","combobox","input","expandIcon","listbox","inlinePopup","Portal"],"mappings":";;;;+BAOaA;;aAAAA;;;6DAPU;6BACA;gCACE;iCACO;AAIzB,MAAMA,0BAA0B,CAACC,OAAOC,gBAAkB;IAC/D,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,wBAAQ,EAACJ;IACb,OAAO,WAAW,GAAEK,OAAMC,aAAa,CAACJ,MAAMK,IAAI,EAAEJ,UAAUI,IAAI,EAAE,WAAW,GAAEF,OAAMC,aAAa,CAACE,gCAAe,CAACC,QAAQ,EAAE;QAC7HC,OAAOT,cAAcU,QAAQ;IAC/B,GAAG,WAAW,GAAEN,OAAMC,aAAa,CAACJ,MAAMU,KAAK,EAAET,UAAUS,KAAK,GAAGV,MAAMW,UAAU,IAAI,WAAW,GAAER,OAAMC,aAAa,CAACJ,MAAMW,UAAU,EAAEV,UAAUU,UAAU,GAAGX,MAAMY,OAAO,IAAKd,CAAAA,MAAMe,WAAW,GAAG,WAAW,GAAEV,OAAMC,aAAa,CAACJ,MAAMY,OAAO,EAAEX,UAAUW,OAAO,IAAI,WAAW,GAAET,OAAMC,aAAa,CAACU,mBAAM,EAAE,IAAI,EAAE,WAAW,GAAEX,OAAMC,aAAa,CAACJ,MAAMY,OAAO,EAAEX,UAAUW,OAAO,EAAE,AAAD;AAC/X,GACA,0CAA0C"}
|