@fluentui/react-tag-picker 9.0.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.
- package/CHANGELOG.md +165 -0
- package/LICENSE +15 -0
- package/README.md +68 -0
- package/Spec.md +208 -0
- package/dist/index.d.ts +453 -0
- package/lib/TagPicker.js +1 -0
- package/lib/TagPicker.js.map +1 -0
- package/lib/TagPickerButton.js +1 -0
- package/lib/TagPickerButton.js.map +1 -0
- package/lib/TagPickerControl.js +1 -0
- package/lib/TagPickerControl.js.map +1 -0
- package/lib/TagPickerGroup.js +1 -0
- package/lib/TagPickerGroup.js.map +1 -0
- package/lib/TagPickerInput.js +1 -0
- package/lib/TagPickerInput.js.map +1 -0
- package/lib/TagPickerList.js +1 -0
- package/lib/TagPickerList.js.map +1 -0
- package/lib/TagPickerOption.js +1 -0
- package/lib/TagPickerOption.js.map +1 -0
- package/lib/TagPickerOptionGroup.js +1 -0
- package/lib/TagPickerOptionGroup.js.map +1 -0
- package/lib/components/TagPicker/TagPicker.js +13 -0
- package/lib/components/TagPicker/TagPicker.js.map +1 -0
- package/lib/components/TagPicker/TagPicker.types.js +1 -0
- package/lib/components/TagPicker/TagPicker.types.js.map +1 -0
- package/lib/components/TagPicker/index.js +4 -0
- package/lib/components/TagPicker/index.js.map +1 -0
- package/lib/components/TagPicker/renderTagPicker.js +20 -0
- package/lib/components/TagPicker/renderTagPicker.js.map +1 -0
- package/lib/components/TagPicker/useTagPicker.js +123 -0
- package/lib/components/TagPicker/useTagPicker.js.map +1 -0
- package/lib/components/TagPicker/useTagPickerContextValues.js +41 -0
- package/lib/components/TagPicker/useTagPickerContextValues.js.map +1 -0
- package/lib/components/TagPickerButton/TagPickerButton.js +15 -0
- package/lib/components/TagPickerButton/TagPickerButton.js.map +1 -0
- package/lib/components/TagPickerButton/TagPickerButton.types.js +1 -0
- package/lib/components/TagPickerButton/TagPickerButton.types.js.map +1 -0
- package/lib/components/TagPickerButton/index.js +5 -0
- package/lib/components/TagPickerButton/index.js.map +1 -0
- package/lib/components/TagPickerButton/renderTagPickerButton.js +8 -0
- package/lib/components/TagPickerButton/renderTagPickerButton.js.map +1 -0
- package/lib/components/TagPickerButton/useTagPickerButton.js +54 -0
- package/lib/components/TagPickerButton/useTagPickerButton.js.map +1 -0
- package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.js +191 -0
- package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.js.map +1 -0
- package/lib/components/TagPickerControl/TagPickerControl.js +15 -0
- package/lib/components/TagPickerControl/TagPickerControl.js.map +1 -0
- package/lib/components/TagPickerControl/TagPickerControl.types.js +1 -0
- package/lib/components/TagPickerControl/TagPickerControl.types.js.map +1 -0
- package/lib/components/TagPickerControl/index.js +5 -0
- package/lib/components/TagPickerControl/index.js.map +1 -0
- package/lib/components/TagPickerControl/renderTagPickerControl.js +18 -0
- package/lib/components/TagPickerControl/renderTagPickerControl.js.map +1 -0
- package/lib/components/TagPickerControl/useTagPickerControl.js +101 -0
- package/lib/components/TagPickerControl/useTagPickerControl.js.map +1 -0
- package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.js +262 -0
- package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.js.map +1 -0
- package/lib/components/TagPickerGroup/TagPickerGroup.js +16 -0
- package/lib/components/TagPickerGroup/TagPickerGroup.js.map +1 -0
- package/lib/components/TagPickerGroup/TagPickerGroup.types.js +1 -0
- package/lib/components/TagPickerGroup/TagPickerGroup.types.js.map +1 -0
- package/lib/components/TagPickerGroup/index.js +5 -0
- package/lib/components/TagPickerGroup/index.js.map +1 -0
- package/lib/components/TagPickerGroup/renderTagPickerGroup.js +7 -0
- package/lib/components/TagPickerGroup/renderTagPickerGroup.js.map +1 -0
- package/lib/components/TagPickerGroup/useTagPickerGroup.js +62 -0
- package/lib/components/TagPickerGroup/useTagPickerGroup.js.map +1 -0
- package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.js +53 -0
- package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.js.map +1 -0
- package/lib/components/TagPickerInput/TagPickerInput.js +15 -0
- package/lib/components/TagPickerInput/TagPickerInput.js.map +1 -0
- package/lib/components/TagPickerInput/TagPickerInput.types.js +1 -0
- package/lib/components/TagPickerInput/TagPickerInput.types.js.map +1 -0
- package/lib/components/TagPickerInput/index.js +5 -0
- package/lib/components/TagPickerInput/index.js.map +1 -0
- package/lib/components/TagPickerInput/renderTagPickerInput.js +8 -0
- package/lib/components/TagPickerInput/renderTagPickerInput.js.map +1 -0
- package/lib/components/TagPickerInput/useTagPickerInput.js +137 -0
- package/lib/components/TagPickerInput/useTagPickerInput.js.map +1 -0
- package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.js +60 -0
- package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.js.map +1 -0
- package/lib/components/TagPickerList/TagPickerList.js +15 -0
- package/lib/components/TagPickerList/TagPickerList.js.map +1 -0
- package/lib/components/TagPickerList/TagPickerList.types.js +1 -0
- package/lib/components/TagPickerList/TagPickerList.types.js.map +1 -0
- package/lib/components/TagPickerList/index.js +5 -0
- package/lib/components/TagPickerList/index.js.map +1 -0
- package/lib/components/TagPickerList/renderTagPickerList.js +8 -0
- package/lib/components/TagPickerList/renderTagPickerList.js.map +1 -0
- package/lib/components/TagPickerList/useTagPickerList.js +39 -0
- package/lib/components/TagPickerList/useTagPickerList.js.map +1 -0
- package/lib/components/TagPickerList/useTagPickerListStyles.styles.js +33 -0
- package/lib/components/TagPickerList/useTagPickerListStyles.styles.js.map +1 -0
- package/lib/components/TagPickerOption/TagPickerOption.js +15 -0
- package/lib/components/TagPickerOption/TagPickerOption.js.map +1 -0
- package/lib/components/TagPickerOption/TagPickerOption.types.js +1 -0
- package/lib/components/TagPickerOption/TagPickerOption.types.js.map +1 -0
- package/lib/components/TagPickerOption/index.js +5 -0
- package/lib/components/TagPickerOption/index.js.map +1 -0
- package/lib/components/TagPickerOption/renderTagPickerOption.js +14 -0
- package/lib/components/TagPickerOption/renderTagPickerOption.js.map +1 -0
- package/lib/components/TagPickerOption/useTagPickerOption.js +35 -0
- package/lib/components/TagPickerOption/useTagPickerOption.js.map +1 -0
- package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.js +49 -0
- package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.js +15 -0
- package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js +1 -0
- package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/index.js +5 -0
- package/lib/components/TagPickerOptionGroup/index.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js +4 -0
- package/lib/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroup.js +11 -0
- package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroup.js.map +1 -0
- package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js +18 -0
- package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js.map +1 -0
- package/lib/contexts/TagPickerContext.js +27 -0
- package/lib/contexts/TagPickerContext.js.map +1 -0
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -0
- package/lib/utils/tagPicker2Tag.js +32 -0
- package/lib/utils/tagPicker2Tag.js.map +1 -0
- package/lib/utils/tokens.js +6 -0
- package/lib/utils/tokens.js.map +1 -0
- package/lib/utils/useResizeObserverRef.js +22 -0
- package/lib/utils/useResizeObserverRef.js.map +1 -0
- package/lib/utils/useTagPickerFilter.js +35 -0
- package/lib/utils/useTagPickerFilter.js.map +1 -0
- package/lib-commonjs/TagPicker.js +6 -0
- package/lib-commonjs/TagPicker.js.map +1 -0
- package/lib-commonjs/TagPickerButton.js +6 -0
- package/lib-commonjs/TagPickerButton.js.map +1 -0
- package/lib-commonjs/TagPickerControl.js +6 -0
- package/lib-commonjs/TagPickerControl.js.map +1 -0
- package/lib-commonjs/TagPickerGroup.js +6 -0
- package/lib-commonjs/TagPickerGroup.js.map +1 -0
- package/lib-commonjs/TagPickerInput.js +6 -0
- package/lib-commonjs/TagPickerInput.js.map +1 -0
- package/lib-commonjs/TagPickerList.js +6 -0
- package/lib-commonjs/TagPickerList.js.map +1 -0
- package/lib-commonjs/TagPickerOption.js +6 -0
- package/lib-commonjs/TagPickerOption.js.map +1 -0
- package/lib-commonjs/TagPickerOptionGroup.js +6 -0
- package/lib-commonjs/TagPickerOptionGroup.js.map +1 -0
- package/lib-commonjs/components/TagPicker/TagPicker.js +21 -0
- package/lib-commonjs/components/TagPicker/TagPicker.js.map +1 -0
- package/lib-commonjs/components/TagPicker/TagPicker.types.js +4 -0
- package/lib-commonjs/components/TagPicker/TagPicker.types.js.map +1 -0
- package/lib-commonjs/components/TagPicker/index.js +9 -0
- package/lib-commonjs/components/TagPicker/index.js.map +1 -0
- package/lib-commonjs/components/TagPicker/renderTagPicker.js +29 -0
- package/lib-commonjs/components/TagPicker/renderTagPicker.js.map +1 -0
- package/lib-commonjs/components/TagPicker/useTagPicker.js +126 -0
- package/lib-commonjs/components/TagPicker/useTagPicker.js.map +1 -0
- package/lib-commonjs/components/TagPicker/useTagPickerContextValues.js +52 -0
- package/lib-commonjs/components/TagPicker/useTagPickerContextValues.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/TagPickerButton.js +23 -0
- package/lib-commonjs/components/TagPickerButton/TagPickerButton.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/TagPickerButton.types.js +4 -0
- package/lib-commonjs/components/TagPickerButton/TagPickerButton.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/index.js +10 -0
- package/lib-commonjs/components/TagPickerButton/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/renderTagPickerButton.js +16 -0
- package/lib-commonjs/components/TagPickerButton/renderTagPickerButton.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/useTagPickerButton.js +57 -0
- package/lib-commonjs/components/TagPickerButton/useTagPickerButton.js.map +1 -0
- package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.js +453 -0
- package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/TagPickerControl.js +23 -0
- package/lib-commonjs/components/TagPickerControl/TagPickerControl.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/TagPickerControl.types.js +6 -0
- package/lib-commonjs/components/TagPickerControl/TagPickerControl.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/index.js +10 -0
- package/lib-commonjs/components/TagPickerControl/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/renderTagPickerControl.js +26 -0
- package/lib-commonjs/components/TagPickerControl/renderTagPickerControl.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/useTagPickerControl.js +104 -0
- package/lib-commonjs/components/TagPickerControl/useTagPickerControl.js.map +1 -0
- package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.js +579 -0
- package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.js +24 -0
- package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.types.js +4 -0
- package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/index.js +10 -0
- package/lib-commonjs/components/TagPickerGroup/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/renderTagPickerGroup.js +17 -0
- package/lib-commonjs/components/TagPickerGroup/renderTagPickerGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/useTagPickerGroup.js +65 -0
- package/lib-commonjs/components/TagPickerGroup/useTagPickerGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.js +97 -0
- package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/TagPickerInput.js +23 -0
- package/lib-commonjs/components/TagPickerInput/TagPickerInput.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/TagPickerInput.types.js +4 -0
- package/lib-commonjs/components/TagPickerInput/TagPickerInput.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/index.js +10 -0
- package/lib-commonjs/components/TagPickerInput/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/renderTagPickerInput.js +16 -0
- package/lib-commonjs/components/TagPickerInput/renderTagPickerInput.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/useTagPickerInput.js +140 -0
- package/lib-commonjs/components/TagPickerInput/useTagPickerInput.js.map +1 -0
- package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.js +122 -0
- package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/TagPickerList.js +23 -0
- package/lib-commonjs/components/TagPickerList/TagPickerList.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/TagPickerList.types.js +4 -0
- package/lib-commonjs/components/TagPickerList/TagPickerList.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/index.js +10 -0
- package/lib-commonjs/components/TagPickerList/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/renderTagPickerList.js +16 -0
- package/lib-commonjs/components/TagPickerList/renderTagPickerList.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/useTagPickerList.js +41 -0
- package/lib-commonjs/components/TagPickerList/useTagPickerList.js.map +1 -0
- package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.js +66 -0
- package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/TagPickerOption.js +23 -0
- package/lib-commonjs/components/TagPickerOption/TagPickerOption.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/TagPickerOption.types.js +6 -0
- package/lib-commonjs/components/TagPickerOption/TagPickerOption.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/index.js +10 -0
- package/lib-commonjs/components/TagPickerOption/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/renderTagPickerOption.js +22 -0
- package/lib-commonjs/components/TagPickerOption/renderTagPickerOption.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/useTagPickerOption.js +38 -0
- package/lib-commonjs/components/TagPickerOption/useTagPickerOption.js.map +1 -0
- package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.js +69 -0
- package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.js +23 -0
- package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js +4 -0
- package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/index.js +10 -0
- package/lib-commonjs/components/TagPickerOptionGroup/index.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js +12 -0
- package/lib-commonjs/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroup.js +14 -0
- package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroup.js.map +1 -0
- package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js +32 -0
- package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js.map +1 -0
- package/lib-commonjs/contexts/TagPickerContext.js +47 -0
- package/lib-commonjs/contexts/TagPickerContext.js.map +1 -0
- package/lib-commonjs/index.js +138 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/utils/tagPicker2Tag.js +53 -0
- package/lib-commonjs/utils/tagPicker2Tag.js.map +1 -0
- package/lib-commonjs/utils/tokens.js +24 -0
- package/lib-commonjs/utils/tokens.js.map +1 -0
- package/lib-commonjs/utils/useResizeObserverRef.js +33 -0
- package/lib-commonjs/utils/useResizeObserverRef.js.map +1 -0
- package/lib-commonjs/utils/useTagPickerFilter.js +46 -0
- package/lib-commonjs/utils/useTagPickerFilter.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useTagPickerOptionGroup } from './useTagPickerOptionGroup';
|
|
3
|
+
import { renderTagPickerOptionGroup } from './renderTagPickerOptionGroup';
|
|
4
|
+
import { useTagPickerOptionGroupStyles } from './useTagPickerOptionGroupStyles.styles';
|
|
5
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* TagPickerOptionGroup component -
|
|
8
|
+
* A TagPickerOptionGroup is a composite component that allows users to group TagPickerOptions.
|
|
9
|
+
*/ export const TagPickerOptionGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{
|
|
10
|
+
const state = useTagPickerOptionGroup(props, ref);
|
|
11
|
+
useTagPickerOptionGroupStyles(state);
|
|
12
|
+
useCustomStyleHook_unstable('useTagPickerOptionGroupStyles_unstable')(state);
|
|
13
|
+
return renderTagPickerOptionGroup(state);
|
|
14
|
+
});
|
|
15
|
+
TagPickerOptionGroup.displayName = 'TagPickerOptionGroup';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerOptionGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useTagPickerOptionGroup } from './useTagPickerOptionGroup';\nimport { renderTagPickerOptionGroup } from './renderTagPickerOptionGroup';\nimport { useTagPickerOptionGroupStyles } from './useTagPickerOptionGroupStyles.styles';\nimport type { TagPickerOptionGroupProps } from './TagPickerOptionGroup.types';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * TagPickerOptionGroup component -\n * A TagPickerOptionGroup is a composite component that allows users to group TagPickerOptions.\n */\nexport const TagPickerOptionGroup: ForwardRefComponent<TagPickerOptionGroupProps> = React.forwardRef((props, ref) => {\n const state = useTagPickerOptionGroup(props, ref);\n\n useTagPickerOptionGroupStyles(state);\n useCustomStyleHook_unstable('useTagPickerOptionGroupStyles_unstable')(state);\n return renderTagPickerOptionGroup(state);\n});\n\nTagPickerOptionGroup.displayName = 'TagPickerOptionGroup';\n"],"names":["React","useTagPickerOptionGroup","renderTagPickerOptionGroup","useTagPickerOptionGroupStyles","useCustomStyleHook_unstable","TagPickerOptionGroup","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,uBAAuB,QAAQ,4BAA4B;AACpE,SAASC,0BAA0B,QAAQ,+BAA+B;AAC1E,SAASC,6BAA6B,QAAQ,yCAAyC;AAEvF,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;CAGC,GACD,OAAO,MAAMC,qCAAuEL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC3G,MAAMC,QAAQR,wBAAwBM,OAAOC;IAE7CL,8BAA8BM;IAC9BL,4BAA4B,0CAA0CK;IACtE,OAAOP,2BAA2BO;AACpC,GAAG;AAEHJ,qBAAqBK,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerOptionGroup.types.ts"],"sourcesContent":["import { OptionGroupProps, OptionGroupSlots, OptionGroupState } from '@fluentui/react-combobox';\n\nexport type TagPickerOptionGroupSlots = OptionGroupSlots;\n\n/**\n * TagPickerOptionGroup Props\n */\nexport type TagPickerOptionGroupProps = OptionGroupProps;\n\n/**\n * State used in rendering TagPickerOptionGroup\n */\nexport type TagPickerOptionGroupState = OptionGroupState;\n"],"names":[],"mappings":"AAAA,WAYyD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './TagPickerOptionGroup';\nexport * from './TagPickerOptionGroup.types';\nexport * from './renderTagPickerOptionGroup';\nexport * from './useTagPickerOptionGroup';\nexport * from './useTagPickerOptionGroupStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,4BAA4B;AAC1C,cAAc,yCAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderTagPickerOptionGroup.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport type { TagPickerOptionGroupState } from './TagPickerOptionGroup.types';\nimport { renderOptionGroup_unstable } from '@fluentui/react-combobox';\n\n/**\n * Render the final JSX of TagPickerOptionGroup\n */\nexport const renderTagPickerOptionGroup: (state: TagPickerOptionGroupState) => JSX.Element = renderOptionGroup_unstable;\n"],"names":["renderOptionGroup_unstable","renderTagPickerOptionGroup"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD,GAGjD,SAASA,0BAA0B,QAAQ,2BAA2B;AAEtE;;CAEC,GACD,OAAO,MAAMC,6BAAgFD,2BAA2B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useOptionGroup_unstable } from '@fluentui/react-combobox';
|
|
3
|
+
/**
|
|
4
|
+
* Create the state required to render TagPickerOptionGroup.
|
|
5
|
+
*
|
|
6
|
+
* The returned state can be modified with hooks such as useTagPickerOptionGroupStyles_unstable,
|
|
7
|
+
* before being passed to renderTagPickerOptionGroup_unstable.
|
|
8
|
+
*
|
|
9
|
+
* @param props - props from this instance of TagPickerOptionGroup
|
|
10
|
+
* @param ref - reference to root HTMLDivElement of TagPickerOptionGroup
|
|
11
|
+
*/ export const useTagPickerOptionGroup = useOptionGroup_unstable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useTagPickerOptionGroup.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TagPickerOptionGroupProps, TagPickerOptionGroupState } from './TagPickerOptionGroup.types';\nimport { useOptionGroup_unstable } from '@fluentui/react-combobox';\n\n/**\n * Create the state required to render TagPickerOptionGroup.\n *\n * The returned state can be modified with hooks such as useTagPickerOptionGroupStyles_unstable,\n * before being passed to renderTagPickerOptionGroup_unstable.\n *\n * @param props - props from this instance of TagPickerOptionGroup\n * @param ref - reference to root HTMLDivElement of TagPickerOptionGroup\n */\nexport const useTagPickerOptionGroup: (\n props: TagPickerOptionGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => TagPickerOptionGroupState = useOptionGroup_unstable;\n"],"names":["React","useOptionGroup_unstable","useTagPickerOptionGroup"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE;;;;;;;;CAQC,GACD,OAAO,MAAMC,0BAGoBD,wBAAwB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
|
+
import { useOptionGroupStyles_unstable } from '@fluentui/react-combobox';
|
|
3
|
+
export const tagPickerOptionGroupClassNames = {
|
|
4
|
+
root: 'fui-TagPickerOptionGroup',
|
|
5
|
+
label: 'fui-TagPickerOptionGroup__label'
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Apply styling to the TagPickerOptionGroup slots based on the state
|
|
9
|
+
*/
|
|
10
|
+
export const useTagPickerOptionGroupStyles = state => {
|
|
11
|
+
useOptionGroupStyles_unstable(state);
|
|
12
|
+
state.root.className = mergeClasses(tagPickerOptionGroupClassNames.root, state.root.className);
|
|
13
|
+
if (state.label) {
|
|
14
|
+
state.label.className = mergeClasses(tagPickerOptionGroupClassNames.label, state.label.className);
|
|
15
|
+
}
|
|
16
|
+
return state;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useTagPickerOptionGroupStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mergeClasses","useOptionGroupStyles_unstable","tagPickerOptionGroupClassNames","root","label","useTagPickerOptionGroupStyles","state","className"],"sources":["useTagPickerOptionGroupStyles.styles.js"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport { useOptionGroupStyles_unstable } from '@fluentui/react-combobox';\nexport const tagPickerOptionGroupClassNames = {\n root: 'fui-TagPickerOptionGroup',\n label: 'fui-TagPickerOptionGroup__label'\n};\n/**\n * Apply styling to the TagPickerOptionGroup slots based on the state\n */ export const useTagPickerOptionGroupStyles = (state)=>{\n useOptionGroupStyles_unstable(state);\n state.root.className = mergeClasses(tagPickerOptionGroupClassNames.root, state.root.className);\n if (state.label) {\n state.label.className = mergeClasses(tagPickerOptionGroupClassNames.label, state.label.className);\n }\n return state;\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,6BAA6B,QAAQ,0BAA0B;AACxE,OAAO,MAAMC,8BAA8B,GAAG;EAC1CC,IAAI,EAAE,0BAA0B;EAChCC,KAAK,EAAE;AACX,CAAC;AACD;AACA;AACA;AAAI,OAAO,MAAMC,6BAA6B,GAAIC,KAAK,IAAG;EACtDL,6BAA6B,CAACK,KAAK,CAAC;EACpCA,KAAK,CAACH,IAAI,CAACI,SAAS,GAAGP,YAAY,CAACE,8BAA8B,CAACC,IAAI,EAAEG,KAAK,CAACH,IAAI,CAACI,SAAS,CAAC;EAC9F,IAAID,KAAK,CAACF,KAAK,EAAE;IACbE,KAAK,CAACF,KAAK,CAACG,SAAS,GAAGP,YAAY,CAACE,8BAA8B,CAACE,KAAK,EAAEE,KAAK,CAACF,KAAK,CAACG,SAAS,CAAC;EACrG;EACA,OAAOD,KAAK;AAChB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { createContext, useContextSelector } from '@fluentui/react-context-selector';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/ export const tagPickerContextDefaultValue = {
|
|
6
|
+
triggerRef: React.createRef(),
|
|
7
|
+
popoverRef: React.createRef(),
|
|
8
|
+
targetRef: React.createRef(),
|
|
9
|
+
tagPickerGroupRef: React.createRef(),
|
|
10
|
+
secondaryActionRef: React.createRef(),
|
|
11
|
+
open: false,
|
|
12
|
+
clearSelection: ()=>null,
|
|
13
|
+
getOptionById: ()=>undefined,
|
|
14
|
+
selectedOptions: [],
|
|
15
|
+
selectOption: ()=>null,
|
|
16
|
+
setHasFocus: ()=>null,
|
|
17
|
+
setOpen: ()=>null,
|
|
18
|
+
setValue: ()=>null,
|
|
19
|
+
value: undefined,
|
|
20
|
+
popoverId: '',
|
|
21
|
+
size: 'medium',
|
|
22
|
+
appearance: 'outline',
|
|
23
|
+
disabled: false
|
|
24
|
+
};
|
|
25
|
+
const TagPickerContext = createContext(undefined);
|
|
26
|
+
export const TagPickerContextProvider = TagPickerContext.Provider;
|
|
27
|
+
export const useTagPickerContext_unstable = (selector)=>useContextSelector(TagPickerContext, (ctx = tagPickerContextDefaultValue)=>selector(ctx));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerContext.ts"],"sourcesContent":["import * as React from 'react';\nimport { ContextSelector, createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { TagPickerSize } from '../components/TagPicker/TagPicker.types';\nimport { ComboboxBaseState } from '@fluentui/react-combobox';\n\nexport interface TagPickerContextValue\n extends Pick<\n ComboboxBaseState,\n | 'open'\n | 'clearSelection'\n | 'getOptionById'\n | 'selectedOptions'\n | 'selectOption'\n | 'setHasFocus'\n | 'setOpen'\n | 'setValue'\n | 'value'\n | 'appearance'\n | 'disabled'\n > {\n triggerRef: React.RefObject<HTMLInputElement | HTMLButtonElement>;\n popoverRef: React.RefObject<HTMLDivElement>;\n popoverId: string;\n targetRef: React.RefObject<HTMLDivElement>;\n secondaryActionRef: React.RefObject<HTMLSpanElement>;\n tagPickerGroupRef: React.RefObject<HTMLDivElement>;\n size: TagPickerSize;\n}\n\n/**\n * @internal\n */\nexport const tagPickerContextDefaultValue: TagPickerContextValue = {\n triggerRef: React.createRef<HTMLInputElement>(),\n popoverRef: React.createRef<HTMLDivElement>(),\n targetRef: React.createRef<HTMLDivElement>(),\n tagPickerGroupRef: React.createRef<HTMLDivElement>(),\n secondaryActionRef: React.createRef<HTMLDivElement>(),\n open: false,\n clearSelection: () => null,\n getOptionById: () => undefined,\n selectedOptions: [],\n selectOption: () => null,\n setHasFocus: () => null,\n setOpen: () => null,\n setValue: () => null,\n value: undefined,\n popoverId: '',\n size: 'medium',\n appearance: 'outline',\n disabled: false,\n};\n\nconst TagPickerContext = createContext<TagPickerContextValue | undefined>(undefined);\n\nexport const TagPickerContextProvider = TagPickerContext.Provider;\nexport const useTagPickerContext_unstable = <T>(selector: ContextSelector<TagPickerContextValue, T>) =>\n useContextSelector(TagPickerContext, (ctx = tagPickerContextDefaultValue) => selector(ctx));\n"],"names":["React","createContext","useContextSelector","tagPickerContextDefaultValue","triggerRef","createRef","popoverRef","targetRef","tagPickerGroupRef","secondaryActionRef","open","clearSelection","getOptionById","undefined","selectedOptions","selectOption","setHasFocus","setOpen","setValue","value","popoverId","size","appearance","disabled","TagPickerContext","TagPickerContextProvider","Provider","useTagPickerContext_unstable","selector","ctx"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAA0BC,aAAa,EAAEC,kBAAkB,QAAQ,mCAAmC;AA4BtG;;CAEC,GACD,OAAO,MAAMC,+BAAsD;IACjEC,YAAYJ,MAAMK,SAAS;IAC3BC,YAAYN,MAAMK,SAAS;IAC3BE,WAAWP,MAAMK,SAAS;IAC1BG,mBAAmBR,MAAMK,SAAS;IAClCI,oBAAoBT,MAAMK,SAAS;IACnCK,MAAM;IACNC,gBAAgB,IAAM;IACtBC,eAAe,IAAMC;IACrBC,iBAAiB,EAAE;IACnBC,cAAc,IAAM;IACpBC,aAAa,IAAM;IACnBC,SAAS,IAAM;IACfC,UAAU,IAAM;IAChBC,OAAON;IACPO,WAAW;IACXC,MAAM;IACNC,YAAY;IACZC,UAAU;AACZ,EAAE;AAEF,MAAMC,mBAAmBvB,cAAiDY;AAE1E,OAAO,MAAMY,2BAA2BD,iBAAiBE,QAAQ,CAAC;AAClE,OAAO,MAAMC,+BAA+B,CAAIC,WAC9C1B,mBAAmBsB,kBAAkB,CAACK,MAAM1B,4BAA4B,GAAKyB,SAASC,MAAM"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { TagPicker, renderTagPicker_unstable, useTagPicker_unstable } from './TagPicker';
|
|
2
|
+
export { TagPickerInput, tagPickerInputClassNames, renderTagPickerInput_unstable, useTagPickerInputStyles_unstable, useTagPickerInput_unstable } from './TagPickerInput';
|
|
3
|
+
export { TagPickerList, tagPickerListClassNames, renderTagPickerList_unstable, useTagPickerListStyles_unstable, useTagPickerList_unstable } from './TagPickerList';
|
|
4
|
+
export { TagPickerButton, tagPickerButtonClassNames, renderTagPickerButton_unstable, useTagPickerButtonStyles_unstable, useTagPickerButton_unstable } from './TagPickerButton';
|
|
5
|
+
export { TagPickerControl, tagPickerControlClassNames, renderTagPickerControl_unstable, useTagPickerControlStyles_unstable, useTagPickerControl_unstable } from './TagPickerControl';
|
|
6
|
+
export { TagPickerOption, tagPickerOptionClassNames, renderTagPickerOption_unstable, useTagPickerOptionStyles_unstable, useTagPickerOption_unstable } from './TagPickerOption';
|
|
7
|
+
export { TagPickerGroup, tagPickerGroupClassNames, renderTagPickerGroup_unstable, useTagPickerGroupStyles_unstable, useTagPickerGroup_unstable } from './TagPickerGroup';
|
|
8
|
+
export { TagPickerOptionGroup, tagPickerOptionGroupClassNames, renderTagPickerOptionGroup, useTagPickerOptionGroupStyles, useTagPickerOptionGroup } from './TagPickerOptionGroup';
|
|
9
|
+
export { useTagPickerFilter } from './utils/useTagPickerFilter';
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export { TagPicker, renderTagPicker_unstable, useTagPicker_unstable } from './TagPicker';\nexport type {\n TagPickerContextValues,\n TagPickerProps,\n TagPickerSlots,\n TagPickerState,\n TagPickerOnOpenChangeData,\n TagPickerOnOptionSelectData,\n TagPickerSize,\n} from './TagPicker';\nexport {\n TagPickerInput,\n tagPickerInputClassNames,\n renderTagPickerInput_unstable,\n useTagPickerInputStyles_unstable,\n useTagPickerInput_unstable,\n} from './TagPickerInput';\nexport type { TagPickerInputProps, TagPickerInputSlots, TagPickerInputState } from './TagPickerInput';\nexport {\n TagPickerList,\n tagPickerListClassNames,\n renderTagPickerList_unstable,\n useTagPickerListStyles_unstable,\n useTagPickerList_unstable,\n} from './TagPickerList';\nexport type { TagPickerListProps, TagPickerListSlots, TagPickerListState } from './TagPickerList';\nexport {\n TagPickerButton,\n tagPickerButtonClassNames,\n renderTagPickerButton_unstable,\n useTagPickerButtonStyles_unstable,\n useTagPickerButton_unstable,\n} from './TagPickerButton';\nexport type { TagPickerButtonProps, TagPickerButtonSlots, TagPickerButtonState } from './TagPickerButton';\nexport {\n TagPickerControl,\n tagPickerControlClassNames,\n renderTagPickerControl_unstable,\n useTagPickerControlStyles_unstable,\n useTagPickerControl_unstable,\n} from './TagPickerControl';\nexport type { TagPickerControlProps, TagPickerControlSlots, TagPickerControlState } from './TagPickerControl';\nexport {\n TagPickerOption,\n tagPickerOptionClassNames,\n renderTagPickerOption_unstable,\n useTagPickerOptionStyles_unstable,\n useTagPickerOption_unstable,\n} from './TagPickerOption';\nexport type { TagPickerOptionProps, TagPickerOptionSlots, TagPickerOptionState } from './TagPickerOption';\nexport {\n TagPickerGroup,\n tagPickerGroupClassNames,\n renderTagPickerGroup_unstable,\n useTagPickerGroupStyles_unstable,\n useTagPickerGroup_unstable,\n} from './TagPickerGroup';\nexport type { TagPickerGroupProps, TagPickerGroupSlots, TagPickerGroupState } from './TagPickerGroup';\n\nexport {\n TagPickerOptionGroup,\n tagPickerOptionGroupClassNames,\n renderTagPickerOptionGroup,\n useTagPickerOptionGroupStyles,\n useTagPickerOptionGroup,\n} from './TagPickerOptionGroup';\nexport type {\n TagPickerOptionGroupProps,\n TagPickerOptionGroupSlots,\n TagPickerOptionGroupState,\n} from './TagPickerOptionGroup';\n\nexport { useTagPickerFilter } from './utils/useTagPickerFilter';\n"],"names":["TagPicker","renderTagPicker_unstable","useTagPicker_unstable","TagPickerInput","tagPickerInputClassNames","renderTagPickerInput_unstable","useTagPickerInputStyles_unstable","useTagPickerInput_unstable","TagPickerList","tagPickerListClassNames","renderTagPickerList_unstable","useTagPickerListStyles_unstable","useTagPickerList_unstable","TagPickerButton","tagPickerButtonClassNames","renderTagPickerButton_unstable","useTagPickerButtonStyles_unstable","useTagPickerButton_unstable","TagPickerControl","tagPickerControlClassNames","renderTagPickerControl_unstable","useTagPickerControlStyles_unstable","useTagPickerControl_unstable","TagPickerOption","tagPickerOptionClassNames","renderTagPickerOption_unstable","useTagPickerOptionStyles_unstable","useTagPickerOption_unstable","TagPickerGroup","tagPickerGroupClassNames","renderTagPickerGroup_unstable","useTagPickerGroupStyles_unstable","useTagPickerGroup_unstable","TagPickerOptionGroup","tagPickerOptionGroupClassNames","renderTagPickerOptionGroup","useTagPickerOptionGroupStyles","useTagPickerOptionGroup","useTagPickerFilter"],"mappings":"AAAA,SAASA,SAAS,EAAEC,wBAAwB,EAAEC,qBAAqB,QAAQ,cAAc;AAUzF,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAE1B,SACEC,aAAa,EACbC,uBAAuB,EACvBC,4BAA4B,EAC5BC,+BAA+B,EAC/BC,yBAAyB,QACpB,kBAAkB;AAEzB,SACEC,eAAe,EACfC,yBAAyB,EACzBC,8BAA8B,EAC9BC,iCAAiC,EACjCC,2BAA2B,QACtB,oBAAoB;AAE3B,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,kCAAkC,EAClCC,4BAA4B,QACvB,qBAAqB;AAE5B,SACEC,eAAe,EACfC,yBAAyB,EACzBC,8BAA8B,EAC9BC,iCAAiC,EACjCC,2BAA2B,QACtB,oBAAoB;AAE3B,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAG1B,SACEC,oBAAoB,EACpBC,8BAA8B,EAC9BC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,uBAAuB,QAClB,yBAAyB;AAOhC,SAASC,kBAAkB,QAAQ,6BAA6B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function tagPickerSizeToTagSize(size) {
|
|
2
|
+
switch(size){
|
|
3
|
+
case 'medium':
|
|
4
|
+
return 'extra-small';
|
|
5
|
+
case 'large':
|
|
6
|
+
return 'small';
|
|
7
|
+
case 'extra-large':
|
|
8
|
+
return 'medium';
|
|
9
|
+
default:
|
|
10
|
+
return 'extra-small';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export function tagSizeToTagPickerSize(size) {
|
|
14
|
+
switch(size){
|
|
15
|
+
case 'extra-small':
|
|
16
|
+
return 'medium';
|
|
17
|
+
case 'small':
|
|
18
|
+
return 'large';
|
|
19
|
+
case 'medium':
|
|
20
|
+
return 'extra-large';
|
|
21
|
+
default:
|
|
22
|
+
return 'medium';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function tagPickerAppearanceToTagAppearance(appearance) {
|
|
26
|
+
switch(appearance){
|
|
27
|
+
case 'filled-darker':
|
|
28
|
+
return 'outline';
|
|
29
|
+
default:
|
|
30
|
+
return 'filled';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["tagPicker2Tag.ts"],"sourcesContent":["import type { TagAppearance, TagSize } from '@fluentui/react-tags/src/index';\nimport type { TagPickerSize } from '../TagPicker';\nimport { ComboboxBaseProps } from '@fluentui/react-combobox';\n\nexport function tagPickerSizeToTagSize(size: TagPickerSize): TagSize {\n switch (size) {\n case 'medium':\n return 'extra-small';\n case 'large':\n return 'small';\n case 'extra-large':\n return 'medium';\n default:\n return 'extra-small';\n }\n}\n\nexport function tagSizeToTagPickerSize(size: TagSize): TagPickerSize {\n switch (size) {\n case 'extra-small':\n return 'medium';\n case 'small':\n return 'large';\n case 'medium':\n return 'extra-large';\n default:\n return 'medium';\n }\n}\n\nexport function tagPickerAppearanceToTagAppearance(appearance: ComboboxBaseProps['appearance']): TagAppearance {\n switch (appearance) {\n case 'filled-darker':\n return 'outline';\n default:\n return 'filled';\n }\n}\n"],"names":["tagPickerSizeToTagSize","size","tagSizeToTagPickerSize","tagPickerAppearanceToTagAppearance","appearance"],"mappings":"AAIA,OAAO,SAASA,uBAAuBC,IAAmB;IACxD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AAEA,OAAO,SAASC,uBAAuBD,IAAa;IAClD,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AAEA,OAAO,SAASE,mCAAmCC,UAA2C;IAC5F,OAAQA;QACN,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["tokens.ts"],"sourcesContent":["export type TagPickerInputTokens = {\n width: string;\n};\n\nexport const tagPickerInputCSSRules: { [Key in keyof TagPickerInputTokens]: `--fluent-TagPickerInput__${Key}` } = {\n width: '--fluent-TagPickerInput__width',\n};\n\nexport const tagPickerInputTokens: Record<keyof TagPickerInputTokens, string> = {\n width: `var(${tagPickerInputCSSRules.width}, 0)`,\n};\n"],"names":["tagPickerInputCSSRules","width","tagPickerInputTokens"],"mappings":"AAIA,OAAO,MAAMA,yBAAqG;IAChHC,OAAO;AACT,EAAE;AAEF,OAAO,MAAMC,uBAAmE;IAC9ED,OAAO,CAAC,IAAI,EAAED,uBAAuBC,KAAK,CAAC,IAAI,CAAC;AAClD,EAAE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
|
|
3
|
+
export const useResizeObserverRef = (callback)=>{
|
|
4
|
+
const { targetDocument } = useFluent();
|
|
5
|
+
const [observer] = React.useState(()=>{
|
|
6
|
+
var _targetDocument_defaultView;
|
|
7
|
+
const ResizeObserverConstructor = targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.ResizeObserver;
|
|
8
|
+
if (ResizeObserverConstructor) {
|
|
9
|
+
return new ResizeObserverConstructor(callback);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const ref = React.useCallback((element)=>{
|
|
13
|
+
if (element) {
|
|
14
|
+
observer === null || observer === void 0 ? void 0 : observer.observe(element);
|
|
15
|
+
} else {
|
|
16
|
+
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
17
|
+
}
|
|
18
|
+
}, [
|
|
19
|
+
observer
|
|
20
|
+
]);
|
|
21
|
+
return ref;
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useResizeObserverRef.ts"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n\nexport const useResizeObserverRef = <E extends HTMLElement>(callback: ResizeObserverCallback): React.Ref<E> => {\n const { targetDocument } = useFluent();\n const [observer] = React.useState(() => {\n const ResizeObserverConstructor = targetDocument?.defaultView?.ResizeObserver;\n if (ResizeObserverConstructor) {\n return new ResizeObserverConstructor(callback);\n }\n });\n const ref: React.RefCallback<E> = React.useCallback(\n element => {\n if (element) {\n observer?.observe(element);\n } else {\n observer?.disconnect();\n }\n },\n [observer],\n );\n return ref;\n};\n"],"names":["React","useFluent_unstable","useFluent","useResizeObserverRef","callback","targetDocument","observer","useState","ResizeObserverConstructor","defaultView","ResizeObserver","ref","useCallback","element","observe","disconnect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsBC,SAAS,QAAQ,kCAAkC;AAElF,OAAO,MAAMC,uBAAuB,CAAwBC;IAC1D,MAAM,EAAEC,cAAc,EAAE,GAAGH;IAC3B,MAAM,CAACI,SAAS,GAAGN,MAAMO,QAAQ,CAAC;YACEF;QAAlC,MAAMG,4BAA4BH,2BAAAA,sCAAAA,8BAAAA,eAAgBI,WAAW,cAA3BJ,kDAAAA,4BAA6BK,cAAc;QAC7E,IAAIF,2BAA2B;YAC7B,OAAO,IAAIA,0BAA0BJ;QACvC;IACF;IACA,MAAMO,MAA4BX,MAAMY,WAAW,CACjDC,CAAAA;QACE,IAAIA,SAAS;YACXP,qBAAAA,+BAAAA,SAAUQ,OAAO,CAACD;QACpB,OAAO;YACLP,qBAAAA,+BAAAA,SAAUS,UAAU;QACtB;IACF,GACA;QAACT;KAAS;IAEZ,OAAOK;AACT,EAAE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TagPickerOption } from '../TagPickerOption';
|
|
3
|
+
function defaultRenderOption(option) {
|
|
4
|
+
return /*#__PURE__*/ React.createElement(TagPickerOption, {
|
|
5
|
+
value: option,
|
|
6
|
+
key: option
|
|
7
|
+
}, option);
|
|
8
|
+
}
|
|
9
|
+
export function useTagPickerFilter({ filter: filterOverride, noOptionsElement, renderOption = defaultRenderOption, query, options }) {
|
|
10
|
+
const defaultFilter = React.useCallback((option)=>{
|
|
11
|
+
const trimmedQuery = query.trim();
|
|
12
|
+
if (trimmedQuery === '') {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
return option.toLowerCase().includes(trimmedQuery.toLowerCase());
|
|
16
|
+
}, [
|
|
17
|
+
query
|
|
18
|
+
]);
|
|
19
|
+
const filter = filterOverride !== null && filterOverride !== void 0 ? filterOverride : defaultFilter;
|
|
20
|
+
const filteredOptions = React.useMemo(()=>options.reduce((accumulator, option, index)=>{
|
|
21
|
+
if (filter(option, index)) {
|
|
22
|
+
accumulator.push(renderOption(option));
|
|
23
|
+
}
|
|
24
|
+
return accumulator;
|
|
25
|
+
}, []), [
|
|
26
|
+
options,
|
|
27
|
+
renderOption,
|
|
28
|
+
filter
|
|
29
|
+
]);
|
|
30
|
+
return filteredOptions.length === 0 ? [
|
|
31
|
+
noOptionsElement.key ? noOptionsElement : /*#__PURE__*/ React.cloneElement(noOptionsElement, {
|
|
32
|
+
key: 'no-options'
|
|
33
|
+
})
|
|
34
|
+
] : filteredOptions;
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useTagPickerFilter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TagPickerOption } from '../TagPickerOption';\n\ntype UseTagPickerFilterConfig = {\n query: string;\n options: string[];\n /**\n * Provides a custom filter for the option.\n * By default the filter will check if the option includes the query.\n */\n filter?: (option: string, index: number) => boolean;\n\n /** Provides an element to be displayed when there are no options. */\n noOptionsElement: JSX.Element;\n\n /** Provides a custom render for the option. */\n renderOption?: (option: string) => JSX.Element;\n};\n\nfunction defaultRenderOption(option: string) {\n return (\n <TagPickerOption value={option} key={option}>\n {option}\n </TagPickerOption>\n );\n}\n\nexport function useTagPickerFilter({\n filter: filterOverride,\n noOptionsElement,\n renderOption = defaultRenderOption,\n query,\n options,\n}: UseTagPickerFilterConfig) {\n const defaultFilter = React.useCallback(\n (option: string) => {\n const trimmedQuery = query.trim();\n if (trimmedQuery === '') {\n return true;\n }\n return option.toLowerCase().includes(trimmedQuery.toLowerCase());\n },\n [query],\n );\n const filter = filterOverride ?? defaultFilter;\n const filteredOptions = React.useMemo(\n () =>\n options.reduce<JSX.Element[]>((accumulator, option, index) => {\n if (filter(option, index)) {\n accumulator.push(renderOption(option));\n }\n return accumulator;\n }, []),\n [options, renderOption, filter],\n );\n\n return filteredOptions.length === 0\n ? [noOptionsElement.key ? noOptionsElement : React.cloneElement(noOptionsElement, { key: 'no-options' })]\n : filteredOptions;\n}\n"],"names":["React","TagPickerOption","defaultRenderOption","option","value","key","useTagPickerFilter","filter","filterOverride","noOptionsElement","renderOption","query","options","defaultFilter","useCallback","trimmedQuery","trim","toLowerCase","includes","filteredOptions","useMemo","reduce","accumulator","index","push","length","cloneElement"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,eAAe,QAAQ,qBAAqB;AAkBrD,SAASC,oBAAoBC,MAAc;IACzC,qBACE,oBAACF;QAAgBG,OAAOD;QAAQE,KAAKF;OAClCA;AAGP;AAEA,OAAO,SAASG,mBAAmB,EACjCC,QAAQC,cAAc,EACtBC,gBAAgB,EAChBC,eAAeR,mBAAmB,EAClCS,KAAK,EACLC,OAAO,EACkB;IACzB,MAAMC,gBAAgBb,MAAMc,WAAW,CACrC,CAACX;QACC,MAAMY,eAAeJ,MAAMK,IAAI;QAC/B,IAAID,iBAAiB,IAAI;YACvB,OAAO;QACT;QACA,OAAOZ,OAAOc,WAAW,GAAGC,QAAQ,CAACH,aAAaE,WAAW;IAC/D,GACA;QAACN;KAAM;IAET,MAAMJ,SAASC,2BAAAA,4BAAAA,iBAAkBK;IACjC,MAAMM,kBAAkBnB,MAAMoB,OAAO,CACnC,IACER,QAAQS,MAAM,CAAgB,CAACC,aAAanB,QAAQoB;YAClD,IAAIhB,OAAOJ,QAAQoB,QAAQ;gBACzBD,YAAYE,IAAI,CAACd,aAAaP;YAChC;YACA,OAAOmB;QACT,GAAG,EAAE,GACP;QAACV;QAASF;QAAcH;KAAO;IAGjC,OAAOY,gBAAgBM,MAAM,KAAK,IAC9B;QAAChB,iBAAiBJ,GAAG,GAAGI,iCAAmBT,MAAM0B,YAAY,CAACjB,kBAAkB;YAAEJ,KAAK;QAAa;KAAG,GACvGc;AACN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPicker.js"],"sourcesContent":["export * from './components/TagPicker/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerButton.js"],"sourcesContent":["export * from './components/TagPickerButton/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerControl.js"],"sourcesContent":["export * from './components/TagPickerControl/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerGroup.js"],"sourcesContent":["export * from './components/TagPickerGroup/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerInput.js"],"sourcesContent":["export * from './components/TagPickerInput/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerList.js"],"sourcesContent":["export * from './components/TagPickerList/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerOption.js"],"sourcesContent":["export * from './components/TagPickerOption/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPickerOptionGroup.js"],"sourcesContent":["export * from './components/TagPickerOptionGroup/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TagPicker", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TagPicker;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _useTagPicker = require("./useTagPicker");
|
|
14
|
+
const _renderTagPicker = require("./renderTagPicker");
|
|
15
|
+
const _useTagPickerContextValues = require("./useTagPickerContextValues");
|
|
16
|
+
const TagPicker = /*#__PURE__*/ _react.memo((props)=>{
|
|
17
|
+
const state = (0, _useTagPicker.useTagPicker_unstable)(props);
|
|
18
|
+
const contextValues = (0, _useTagPickerContextValues.useTagPickerContextValues)(state);
|
|
19
|
+
return (0, _renderTagPicker.renderTagPicker_unstable)(state, contextValues);
|
|
20
|
+
});
|
|
21
|
+
TagPicker.displayName = 'TagPicker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TagPicker.js"],"sourcesContent":["import * as React from 'react';\nimport { useTagPicker_unstable } from './useTagPicker';\nimport { renderTagPicker_unstable } from './renderTagPicker';\nimport { useTagPickerContextValues } from './useTagPickerContextValues';\n/**\n * TagPicker component -\n * A TagPicker is a composite component that allows users to pick tags from a list of options.\n */ export const TagPicker = /*#__PURE__*/ React.memo((props)=>{\n const state = useTagPicker_unstable(props);\n const contextValues = useTagPickerContextValues(state);\n return renderTagPicker_unstable(state, contextValues);\n});\nTagPicker.displayName = 'TagPicker';\n"],"names":["TagPicker","React","memo","props","state","useTagPicker_unstable","contextValues","useTagPickerContextValues","renderTagPicker_unstable","displayName"],"mappings":";;;;+BAOiBA;;;eAAAA;;;;iEAPM;8BACe;iCACG;2CACC;AAI/B,MAAMA,YAAY,WAAW,GAAGC,OAAMC,IAAI,CAAC,CAACC;IACnD,MAAMC,QAAQC,IAAAA,mCAAqB,EAACF;IACpC,MAAMG,gBAAgBC,IAAAA,oDAAyB,EAACH;IAChD,OAAOI,IAAAA,yCAAwB,EAACJ,OAAOE;AAC3C;AACAN,UAAUS,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
+
_export_star._(require("./TagPicker"), exports);
|
|
7
|
+
_export_star._(require("./TagPicker.types"), exports);
|
|
8
|
+
_export_star._(require("./renderTagPicker"), exports);
|
|
9
|
+
_export_star._(require("./useTagPicker"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './TagPicker';\nexport * from './TagPicker.types';\nexport * from './renderTagPicker';\nexport * from './useTagPicker';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "renderTagPicker_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return renderTagPicker_unstable;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _reactaria = require("@fluentui/react-aria");
|
|
14
|
+
const _reactcombobox = require("@fluentui/react-combobox");
|
|
15
|
+
const _reactportal = require("@fluentui/react-portal");
|
|
16
|
+
const _TagPickerContext = require("../../contexts/TagPickerContext");
|
|
17
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
18
|
+
const renderTagPicker_unstable = (state, contexts)=>{
|
|
19
|
+
(0, _reactutilities.assertSlots)(state);
|
|
20
|
+
return /*#__PURE__*/ _react.createElement(_TagPickerContext.TagPickerContextProvider, {
|
|
21
|
+
value: contexts.picker
|
|
22
|
+
}, /*#__PURE__*/ _react.createElement(_reactaria.ActiveDescendantContextProvider, {
|
|
23
|
+
value: contexts.activeDescendant
|
|
24
|
+
}, /*#__PURE__*/ _react.createElement(_reactcombobox.ListboxProvider, {
|
|
25
|
+
value: contexts.listbox
|
|
26
|
+
}, state.trigger, state.inline ? state.popover : /*#__PURE__*/ _react.createElement(_reactportal.Portal, {
|
|
27
|
+
mountNode: state.mountNode
|
|
28
|
+
}, state.popover))));
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderTagPicker.js"],"sourcesContent":["import * as React from 'react';\nimport { ActiveDescendantContextProvider } from '@fluentui/react-aria';\nimport { ListboxProvider } from '@fluentui/react-combobox';\nimport { Portal } from '@fluentui/react-portal';\nimport { TagPickerContextProvider } from '../../contexts/TagPickerContext';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Picker\n */ export const renderTagPicker_unstable = (state, contexts)=>{\n assertSlots(state);\n return /*#__PURE__*/ React.createElement(TagPickerContextProvider, {\n value: contexts.picker\n }, /*#__PURE__*/ React.createElement(ActiveDescendantContextProvider, {\n value: contexts.activeDescendant\n }, /*#__PURE__*/ React.createElement(ListboxProvider, {\n value: contexts.listbox\n }, state.trigger, state.inline ? state.popover : /*#__PURE__*/ React.createElement(Portal, {\n mountNode: state.mountNode\n }, state.popover))));\n};\n"],"names":["renderTagPicker_unstable","state","contexts","assertSlots","React","createElement","TagPickerContextProvider","value","picker","ActiveDescendantContextProvider","activeDescendant","ListboxProvider","listbox","trigger","inline","popover","Portal","mountNode"],"mappings":";;;;+BAQiBA;;;eAAAA;;;;iEARM;2BACyB;+BAChB;6BACT;kCACkB;gCACb;AAGjB,MAAMA,2BAA2B,CAACC,OAAOC;IAChDC,IAAAA,2BAAW,EAACF;IACZ,OAAO,WAAW,GAAGG,OAAMC,aAAa,CAACC,0CAAwB,EAAE;QAC/DC,OAAOL,SAASM,MAAM;IAC1B,GAAG,WAAW,GAAGJ,OAAMC,aAAa,CAACI,0CAA+B,EAAE;QAClEF,OAAOL,SAASQ,gBAAgB;IACpC,GAAG,WAAW,GAAGN,OAAMC,aAAa,CAACM,8BAAe,EAAE;QAClDJ,OAAOL,SAASU,OAAO;IAC3B,GAAGX,MAAMY,OAAO,EAAEZ,MAAMa,MAAM,GAAGb,MAAMc,OAAO,GAAG,WAAW,GAAGX,OAAMC,aAAa,CAACW,mBAAM,EAAE;QACvFC,WAAWhB,MAAMgB,SAAS;IAC9B,GAAGhB,MAAMc,OAAO;AACpB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useTagPicker_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useTagPicker_unstable;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
14
|
+
const _reactcombobox = require("@fluentui/react-combobox");
|
|
15
|
+
const _reactpositioning = require("@fluentui/react-positioning");
|
|
16
|
+
const _reactaria = require("@fluentui/react-aria");
|
|
17
|
+
// Set a default set of fallback positions to try if the dropdown does not fit on screen
|
|
18
|
+
const fallbackPositions = [
|
|
19
|
+
'above',
|
|
20
|
+
'after',
|
|
21
|
+
'after-top',
|
|
22
|
+
'before',
|
|
23
|
+
'before-top'
|
|
24
|
+
];
|
|
25
|
+
const useTagPicker_unstable = (props)=>{
|
|
26
|
+
const popoverId = (0, _reactutilities.useId)('picker-listbox');
|
|
27
|
+
const triggerInnerRef = _react.useRef(null);
|
|
28
|
+
const secondaryActionRef = _react.useRef(null);
|
|
29
|
+
const tagPickerGroupRef = _react.useRef(null);
|
|
30
|
+
const { positioning, size = 'medium', inline = false } = props;
|
|
31
|
+
const { targetRef, containerRef } = (0, _reactpositioning.usePositioning)({
|
|
32
|
+
position: 'below',
|
|
33
|
+
align: 'start',
|
|
34
|
+
offset: {
|
|
35
|
+
crossAxis: 0,
|
|
36
|
+
mainAxis: 2
|
|
37
|
+
},
|
|
38
|
+
fallbackPositions,
|
|
39
|
+
matchTargetSize: 'width',
|
|
40
|
+
...(0, _reactpositioning.resolvePositioningShorthand)(positioning)
|
|
41
|
+
});
|
|
42
|
+
const { controller: activeDescendantController, activeParentRef, listboxRef } = (0, _reactaria.useActiveDescendant)({
|
|
43
|
+
matchOption: (el)=>el.classList.contains(_reactcombobox.optionClassNames.root)
|
|
44
|
+
});
|
|
45
|
+
const comboboxState = (0, _reactcombobox.useComboboxBaseState)({
|
|
46
|
+
...props,
|
|
47
|
+
onOptionSelect: (0, _reactutilities.useEventCallback)((event, data)=>{
|
|
48
|
+
var _props_onOptionSelect;
|
|
49
|
+
return (_props_onOptionSelect = props.onOptionSelect) === null || _props_onOptionSelect === void 0 ? void 0 : _props_onOptionSelect.call(props, event, {
|
|
50
|
+
selectedOptions: data.selectedOptions,
|
|
51
|
+
value: data.optionValue,
|
|
52
|
+
type: event.type,
|
|
53
|
+
event
|
|
54
|
+
});
|
|
55
|
+
}),
|
|
56
|
+
onOpenChange: (0, _reactutilities.useEventCallback)((event, data)=>{
|
|
57
|
+
var _props_onOpenChange;
|
|
58
|
+
return (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, event, {
|
|
59
|
+
...data,
|
|
60
|
+
type: event.type,
|
|
61
|
+
event
|
|
62
|
+
});
|
|
63
|
+
}),
|
|
64
|
+
activeDescendantController,
|
|
65
|
+
editable: true,
|
|
66
|
+
multiselect: true,
|
|
67
|
+
size: 'medium'
|
|
68
|
+
});
|
|
69
|
+
const { trigger, popover } = childrenToTriggerAndPopover(props.children);
|
|
70
|
+
return {
|
|
71
|
+
activeDescendantController,
|
|
72
|
+
components: {},
|
|
73
|
+
trigger,
|
|
74
|
+
popover: comboboxState.open || comboboxState.hasFocus ? popover : undefined,
|
|
75
|
+
popoverId,
|
|
76
|
+
disabled: comboboxState.disabled,
|
|
77
|
+
triggerRef: (0, _reactutilities.useMergedRefs)(triggerInnerRef, activeParentRef),
|
|
78
|
+
popoverRef: (0, _reactutilities.useMergedRefs)(listboxRef, containerRef),
|
|
79
|
+
secondaryActionRef,
|
|
80
|
+
tagPickerGroupRef,
|
|
81
|
+
targetRef,
|
|
82
|
+
size,
|
|
83
|
+
inline,
|
|
84
|
+
open: comboboxState.open,
|
|
85
|
+
mountNode: comboboxState.mountNode,
|
|
86
|
+
onOptionClick: (0, _reactutilities.useEventCallback)((event)=>{
|
|
87
|
+
comboboxState.onOptionClick(event);
|
|
88
|
+
comboboxState.setOpen(event, false);
|
|
89
|
+
}),
|
|
90
|
+
appearance: comboboxState.appearance,
|
|
91
|
+
clearSelection: comboboxState.clearSelection,
|
|
92
|
+
getOptionById: comboboxState.getOptionById,
|
|
93
|
+
registerOption: comboboxState.registerOption,
|
|
94
|
+
selectedOptions: comboboxState.selectedOptions,
|
|
95
|
+
selectOption: comboboxState.selectOption,
|
|
96
|
+
setHasFocus: comboboxState.setHasFocus,
|
|
97
|
+
setOpen: comboboxState.setOpen,
|
|
98
|
+
setValue: comboboxState.setValue,
|
|
99
|
+
value: comboboxState.value
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const childrenToTriggerAndPopover = (children)=>{
|
|
103
|
+
const childrenArray = _react.Children.toArray(children);
|
|
104
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
105
|
+
if (childrenArray.length === 0) {
|
|
106
|
+
// eslint-disable-next-line no-console
|
|
107
|
+
console.warn('Picker must contain at least one child');
|
|
108
|
+
}
|
|
109
|
+
if (childrenArray.length > 2) {
|
|
110
|
+
// eslint-disable-next-line no-console
|
|
111
|
+
console.warn('Picker must contain at most two children');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
let trigger = undefined;
|
|
115
|
+
let popover = undefined;
|
|
116
|
+
if (childrenArray.length === 2) {
|
|
117
|
+
trigger = childrenArray[0];
|
|
118
|
+
popover = childrenArray[1];
|
|
119
|
+
} else if (childrenArray.length === 1) {
|
|
120
|
+
popover = childrenArray[0];
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
trigger,
|
|
124
|
+
popover
|
|
125
|
+
};
|
|
126
|
+
};
|