@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.
Files changed (254) hide show
  1. package/CHANGELOG.md +165 -0
  2. package/LICENSE +15 -0
  3. package/README.md +68 -0
  4. package/Spec.md +208 -0
  5. package/dist/index.d.ts +453 -0
  6. package/lib/TagPicker.js +1 -0
  7. package/lib/TagPicker.js.map +1 -0
  8. package/lib/TagPickerButton.js +1 -0
  9. package/lib/TagPickerButton.js.map +1 -0
  10. package/lib/TagPickerControl.js +1 -0
  11. package/lib/TagPickerControl.js.map +1 -0
  12. package/lib/TagPickerGroup.js +1 -0
  13. package/lib/TagPickerGroup.js.map +1 -0
  14. package/lib/TagPickerInput.js +1 -0
  15. package/lib/TagPickerInput.js.map +1 -0
  16. package/lib/TagPickerList.js +1 -0
  17. package/lib/TagPickerList.js.map +1 -0
  18. package/lib/TagPickerOption.js +1 -0
  19. package/lib/TagPickerOption.js.map +1 -0
  20. package/lib/TagPickerOptionGroup.js +1 -0
  21. package/lib/TagPickerOptionGroup.js.map +1 -0
  22. package/lib/components/TagPicker/TagPicker.js +13 -0
  23. package/lib/components/TagPicker/TagPicker.js.map +1 -0
  24. package/lib/components/TagPicker/TagPicker.types.js +1 -0
  25. package/lib/components/TagPicker/TagPicker.types.js.map +1 -0
  26. package/lib/components/TagPicker/index.js +4 -0
  27. package/lib/components/TagPicker/index.js.map +1 -0
  28. package/lib/components/TagPicker/renderTagPicker.js +20 -0
  29. package/lib/components/TagPicker/renderTagPicker.js.map +1 -0
  30. package/lib/components/TagPicker/useTagPicker.js +123 -0
  31. package/lib/components/TagPicker/useTagPicker.js.map +1 -0
  32. package/lib/components/TagPicker/useTagPickerContextValues.js +41 -0
  33. package/lib/components/TagPicker/useTagPickerContextValues.js.map +1 -0
  34. package/lib/components/TagPickerButton/TagPickerButton.js +15 -0
  35. package/lib/components/TagPickerButton/TagPickerButton.js.map +1 -0
  36. package/lib/components/TagPickerButton/TagPickerButton.types.js +1 -0
  37. package/lib/components/TagPickerButton/TagPickerButton.types.js.map +1 -0
  38. package/lib/components/TagPickerButton/index.js +5 -0
  39. package/lib/components/TagPickerButton/index.js.map +1 -0
  40. package/lib/components/TagPickerButton/renderTagPickerButton.js +8 -0
  41. package/lib/components/TagPickerButton/renderTagPickerButton.js.map +1 -0
  42. package/lib/components/TagPickerButton/useTagPickerButton.js +54 -0
  43. package/lib/components/TagPickerButton/useTagPickerButton.js.map +1 -0
  44. package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.js +191 -0
  45. package/lib/components/TagPickerButton/useTagPickerButtonStyles.styles.js.map +1 -0
  46. package/lib/components/TagPickerControl/TagPickerControl.js +15 -0
  47. package/lib/components/TagPickerControl/TagPickerControl.js.map +1 -0
  48. package/lib/components/TagPickerControl/TagPickerControl.types.js +1 -0
  49. package/lib/components/TagPickerControl/TagPickerControl.types.js.map +1 -0
  50. package/lib/components/TagPickerControl/index.js +5 -0
  51. package/lib/components/TagPickerControl/index.js.map +1 -0
  52. package/lib/components/TagPickerControl/renderTagPickerControl.js +18 -0
  53. package/lib/components/TagPickerControl/renderTagPickerControl.js.map +1 -0
  54. package/lib/components/TagPickerControl/useTagPickerControl.js +101 -0
  55. package/lib/components/TagPickerControl/useTagPickerControl.js.map +1 -0
  56. package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.js +262 -0
  57. package/lib/components/TagPickerControl/useTagPickerControlStyles.styles.js.map +1 -0
  58. package/lib/components/TagPickerGroup/TagPickerGroup.js +16 -0
  59. package/lib/components/TagPickerGroup/TagPickerGroup.js.map +1 -0
  60. package/lib/components/TagPickerGroup/TagPickerGroup.types.js +1 -0
  61. package/lib/components/TagPickerGroup/TagPickerGroup.types.js.map +1 -0
  62. package/lib/components/TagPickerGroup/index.js +5 -0
  63. package/lib/components/TagPickerGroup/index.js.map +1 -0
  64. package/lib/components/TagPickerGroup/renderTagPickerGroup.js +7 -0
  65. package/lib/components/TagPickerGroup/renderTagPickerGroup.js.map +1 -0
  66. package/lib/components/TagPickerGroup/useTagPickerGroup.js +62 -0
  67. package/lib/components/TagPickerGroup/useTagPickerGroup.js.map +1 -0
  68. package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.js +53 -0
  69. package/lib/components/TagPickerGroup/useTagPickerGroupStyles.styles.js.map +1 -0
  70. package/lib/components/TagPickerInput/TagPickerInput.js +15 -0
  71. package/lib/components/TagPickerInput/TagPickerInput.js.map +1 -0
  72. package/lib/components/TagPickerInput/TagPickerInput.types.js +1 -0
  73. package/lib/components/TagPickerInput/TagPickerInput.types.js.map +1 -0
  74. package/lib/components/TagPickerInput/index.js +5 -0
  75. package/lib/components/TagPickerInput/index.js.map +1 -0
  76. package/lib/components/TagPickerInput/renderTagPickerInput.js +8 -0
  77. package/lib/components/TagPickerInput/renderTagPickerInput.js.map +1 -0
  78. package/lib/components/TagPickerInput/useTagPickerInput.js +137 -0
  79. package/lib/components/TagPickerInput/useTagPickerInput.js.map +1 -0
  80. package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.js +60 -0
  81. package/lib/components/TagPickerInput/useTagPickerInputStyles.styles.js.map +1 -0
  82. package/lib/components/TagPickerList/TagPickerList.js +15 -0
  83. package/lib/components/TagPickerList/TagPickerList.js.map +1 -0
  84. package/lib/components/TagPickerList/TagPickerList.types.js +1 -0
  85. package/lib/components/TagPickerList/TagPickerList.types.js.map +1 -0
  86. package/lib/components/TagPickerList/index.js +5 -0
  87. package/lib/components/TagPickerList/index.js.map +1 -0
  88. package/lib/components/TagPickerList/renderTagPickerList.js +8 -0
  89. package/lib/components/TagPickerList/renderTagPickerList.js.map +1 -0
  90. package/lib/components/TagPickerList/useTagPickerList.js +39 -0
  91. package/lib/components/TagPickerList/useTagPickerList.js.map +1 -0
  92. package/lib/components/TagPickerList/useTagPickerListStyles.styles.js +33 -0
  93. package/lib/components/TagPickerList/useTagPickerListStyles.styles.js.map +1 -0
  94. package/lib/components/TagPickerOption/TagPickerOption.js +15 -0
  95. package/lib/components/TagPickerOption/TagPickerOption.js.map +1 -0
  96. package/lib/components/TagPickerOption/TagPickerOption.types.js +1 -0
  97. package/lib/components/TagPickerOption/TagPickerOption.types.js.map +1 -0
  98. package/lib/components/TagPickerOption/index.js +5 -0
  99. package/lib/components/TagPickerOption/index.js.map +1 -0
  100. package/lib/components/TagPickerOption/renderTagPickerOption.js +14 -0
  101. package/lib/components/TagPickerOption/renderTagPickerOption.js.map +1 -0
  102. package/lib/components/TagPickerOption/useTagPickerOption.js +35 -0
  103. package/lib/components/TagPickerOption/useTagPickerOption.js.map +1 -0
  104. package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.js +49 -0
  105. package/lib/components/TagPickerOption/useTagPickerOptionStyles.styles.js.map +1 -0
  106. package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.js +15 -0
  107. package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.js.map +1 -0
  108. package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js +1 -0
  109. package/lib/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js.map +1 -0
  110. package/lib/components/TagPickerOptionGroup/index.js +5 -0
  111. package/lib/components/TagPickerOptionGroup/index.js.map +1 -0
  112. package/lib/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js +4 -0
  113. package/lib/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js.map +1 -0
  114. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroup.js +11 -0
  115. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroup.js.map +1 -0
  116. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js +18 -0
  117. package/lib/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js.map +1 -0
  118. package/lib/contexts/TagPickerContext.js +27 -0
  119. package/lib/contexts/TagPickerContext.js.map +1 -0
  120. package/lib/index.js +9 -0
  121. package/lib/index.js.map +1 -0
  122. package/lib/utils/tagPicker2Tag.js +32 -0
  123. package/lib/utils/tagPicker2Tag.js.map +1 -0
  124. package/lib/utils/tokens.js +6 -0
  125. package/lib/utils/tokens.js.map +1 -0
  126. package/lib/utils/useResizeObserverRef.js +22 -0
  127. package/lib/utils/useResizeObserverRef.js.map +1 -0
  128. package/lib/utils/useTagPickerFilter.js +35 -0
  129. package/lib/utils/useTagPickerFilter.js.map +1 -0
  130. package/lib-commonjs/TagPicker.js +6 -0
  131. package/lib-commonjs/TagPicker.js.map +1 -0
  132. package/lib-commonjs/TagPickerButton.js +6 -0
  133. package/lib-commonjs/TagPickerButton.js.map +1 -0
  134. package/lib-commonjs/TagPickerControl.js +6 -0
  135. package/lib-commonjs/TagPickerControl.js.map +1 -0
  136. package/lib-commonjs/TagPickerGroup.js +6 -0
  137. package/lib-commonjs/TagPickerGroup.js.map +1 -0
  138. package/lib-commonjs/TagPickerInput.js +6 -0
  139. package/lib-commonjs/TagPickerInput.js.map +1 -0
  140. package/lib-commonjs/TagPickerList.js +6 -0
  141. package/lib-commonjs/TagPickerList.js.map +1 -0
  142. package/lib-commonjs/TagPickerOption.js +6 -0
  143. package/lib-commonjs/TagPickerOption.js.map +1 -0
  144. package/lib-commonjs/TagPickerOptionGroup.js +6 -0
  145. package/lib-commonjs/TagPickerOptionGroup.js.map +1 -0
  146. package/lib-commonjs/components/TagPicker/TagPicker.js +21 -0
  147. package/lib-commonjs/components/TagPicker/TagPicker.js.map +1 -0
  148. package/lib-commonjs/components/TagPicker/TagPicker.types.js +4 -0
  149. package/lib-commonjs/components/TagPicker/TagPicker.types.js.map +1 -0
  150. package/lib-commonjs/components/TagPicker/index.js +9 -0
  151. package/lib-commonjs/components/TagPicker/index.js.map +1 -0
  152. package/lib-commonjs/components/TagPicker/renderTagPicker.js +29 -0
  153. package/lib-commonjs/components/TagPicker/renderTagPicker.js.map +1 -0
  154. package/lib-commonjs/components/TagPicker/useTagPicker.js +126 -0
  155. package/lib-commonjs/components/TagPicker/useTagPicker.js.map +1 -0
  156. package/lib-commonjs/components/TagPicker/useTagPickerContextValues.js +52 -0
  157. package/lib-commonjs/components/TagPicker/useTagPickerContextValues.js.map +1 -0
  158. package/lib-commonjs/components/TagPickerButton/TagPickerButton.js +23 -0
  159. package/lib-commonjs/components/TagPickerButton/TagPickerButton.js.map +1 -0
  160. package/lib-commonjs/components/TagPickerButton/TagPickerButton.types.js +4 -0
  161. package/lib-commonjs/components/TagPickerButton/TagPickerButton.types.js.map +1 -0
  162. package/lib-commonjs/components/TagPickerButton/index.js +10 -0
  163. package/lib-commonjs/components/TagPickerButton/index.js.map +1 -0
  164. package/lib-commonjs/components/TagPickerButton/renderTagPickerButton.js +16 -0
  165. package/lib-commonjs/components/TagPickerButton/renderTagPickerButton.js.map +1 -0
  166. package/lib-commonjs/components/TagPickerButton/useTagPickerButton.js +57 -0
  167. package/lib-commonjs/components/TagPickerButton/useTagPickerButton.js.map +1 -0
  168. package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.js +453 -0
  169. package/lib-commonjs/components/TagPickerButton/useTagPickerButtonStyles.styles.js.map +1 -0
  170. package/lib-commonjs/components/TagPickerControl/TagPickerControl.js +23 -0
  171. package/lib-commonjs/components/TagPickerControl/TagPickerControl.js.map +1 -0
  172. package/lib-commonjs/components/TagPickerControl/TagPickerControl.types.js +6 -0
  173. package/lib-commonjs/components/TagPickerControl/TagPickerControl.types.js.map +1 -0
  174. package/lib-commonjs/components/TagPickerControl/index.js +10 -0
  175. package/lib-commonjs/components/TagPickerControl/index.js.map +1 -0
  176. package/lib-commonjs/components/TagPickerControl/renderTagPickerControl.js +26 -0
  177. package/lib-commonjs/components/TagPickerControl/renderTagPickerControl.js.map +1 -0
  178. package/lib-commonjs/components/TagPickerControl/useTagPickerControl.js +104 -0
  179. package/lib-commonjs/components/TagPickerControl/useTagPickerControl.js.map +1 -0
  180. package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.js +579 -0
  181. package/lib-commonjs/components/TagPickerControl/useTagPickerControlStyles.styles.js.map +1 -0
  182. package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.js +24 -0
  183. package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.js.map +1 -0
  184. package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.types.js +4 -0
  185. package/lib-commonjs/components/TagPickerGroup/TagPickerGroup.types.js.map +1 -0
  186. package/lib-commonjs/components/TagPickerGroup/index.js +10 -0
  187. package/lib-commonjs/components/TagPickerGroup/index.js.map +1 -0
  188. package/lib-commonjs/components/TagPickerGroup/renderTagPickerGroup.js +17 -0
  189. package/lib-commonjs/components/TagPickerGroup/renderTagPickerGroup.js.map +1 -0
  190. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroup.js +65 -0
  191. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroup.js.map +1 -0
  192. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.js +97 -0
  193. package/lib-commonjs/components/TagPickerGroup/useTagPickerGroupStyles.styles.js.map +1 -0
  194. package/lib-commonjs/components/TagPickerInput/TagPickerInput.js +23 -0
  195. package/lib-commonjs/components/TagPickerInput/TagPickerInput.js.map +1 -0
  196. package/lib-commonjs/components/TagPickerInput/TagPickerInput.types.js +4 -0
  197. package/lib-commonjs/components/TagPickerInput/TagPickerInput.types.js.map +1 -0
  198. package/lib-commonjs/components/TagPickerInput/index.js +10 -0
  199. package/lib-commonjs/components/TagPickerInput/index.js.map +1 -0
  200. package/lib-commonjs/components/TagPickerInput/renderTagPickerInput.js +16 -0
  201. package/lib-commonjs/components/TagPickerInput/renderTagPickerInput.js.map +1 -0
  202. package/lib-commonjs/components/TagPickerInput/useTagPickerInput.js +140 -0
  203. package/lib-commonjs/components/TagPickerInput/useTagPickerInput.js.map +1 -0
  204. package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.js +122 -0
  205. package/lib-commonjs/components/TagPickerInput/useTagPickerInputStyles.styles.js.map +1 -0
  206. package/lib-commonjs/components/TagPickerList/TagPickerList.js +23 -0
  207. package/lib-commonjs/components/TagPickerList/TagPickerList.js.map +1 -0
  208. package/lib-commonjs/components/TagPickerList/TagPickerList.types.js +4 -0
  209. package/lib-commonjs/components/TagPickerList/TagPickerList.types.js.map +1 -0
  210. package/lib-commonjs/components/TagPickerList/index.js +10 -0
  211. package/lib-commonjs/components/TagPickerList/index.js.map +1 -0
  212. package/lib-commonjs/components/TagPickerList/renderTagPickerList.js +16 -0
  213. package/lib-commonjs/components/TagPickerList/renderTagPickerList.js.map +1 -0
  214. package/lib-commonjs/components/TagPickerList/useTagPickerList.js +41 -0
  215. package/lib-commonjs/components/TagPickerList/useTagPickerList.js.map +1 -0
  216. package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.js +66 -0
  217. package/lib-commonjs/components/TagPickerList/useTagPickerListStyles.styles.js.map +1 -0
  218. package/lib-commonjs/components/TagPickerOption/TagPickerOption.js +23 -0
  219. package/lib-commonjs/components/TagPickerOption/TagPickerOption.js.map +1 -0
  220. package/lib-commonjs/components/TagPickerOption/TagPickerOption.types.js +6 -0
  221. package/lib-commonjs/components/TagPickerOption/TagPickerOption.types.js.map +1 -0
  222. package/lib-commonjs/components/TagPickerOption/index.js +10 -0
  223. package/lib-commonjs/components/TagPickerOption/index.js.map +1 -0
  224. package/lib-commonjs/components/TagPickerOption/renderTagPickerOption.js +22 -0
  225. package/lib-commonjs/components/TagPickerOption/renderTagPickerOption.js.map +1 -0
  226. package/lib-commonjs/components/TagPickerOption/useTagPickerOption.js +38 -0
  227. package/lib-commonjs/components/TagPickerOption/useTagPickerOption.js.map +1 -0
  228. package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.js +69 -0
  229. package/lib-commonjs/components/TagPickerOption/useTagPickerOptionStyles.styles.js.map +1 -0
  230. package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.js +23 -0
  231. package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.js.map +1 -0
  232. package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js +4 -0
  233. package/lib-commonjs/components/TagPickerOptionGroup/TagPickerOptionGroup.types.js.map +1 -0
  234. package/lib-commonjs/components/TagPickerOptionGroup/index.js +10 -0
  235. package/lib-commonjs/components/TagPickerOptionGroup/index.js.map +1 -0
  236. package/lib-commonjs/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js +12 -0
  237. package/lib-commonjs/components/TagPickerOptionGroup/renderTagPickerOptionGroup.js.map +1 -0
  238. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroup.js +14 -0
  239. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroup.js.map +1 -0
  240. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js +32 -0
  241. package/lib-commonjs/components/TagPickerOptionGroup/useTagPickerOptionGroupStyles.styles.js.map +1 -0
  242. package/lib-commonjs/contexts/TagPickerContext.js +47 -0
  243. package/lib-commonjs/contexts/TagPickerContext.js.map +1 -0
  244. package/lib-commonjs/index.js +138 -0
  245. package/lib-commonjs/index.js.map +1 -0
  246. package/lib-commonjs/utils/tagPicker2Tag.js +53 -0
  247. package/lib-commonjs/utils/tagPicker2Tag.js.map +1 -0
  248. package/lib-commonjs/utils/tokens.js +24 -0
  249. package/lib-commonjs/utils/tokens.js.map +1 -0
  250. package/lib-commonjs/utils/useResizeObserverRef.js +33 -0
  251. package/lib-commonjs/utils/useResizeObserverRef.js.map +1 -0
  252. package/lib-commonjs/utils/useTagPickerFilter.js +46 -0
  253. package/lib-commonjs/utils/useTagPickerFilter.js.map +1 -0
  254. 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
+ {"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,5 @@
1
+ export * from './TagPickerOptionGroup';
2
+ export * from './TagPickerOptionGroup.types';
3
+ export * from './renderTagPickerOptionGroup';
4
+ export * from './useTagPickerOptionGroup';
5
+ export * from './useTagPickerOptionGroupStyles.styles';
@@ -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,4 @@
1
+ import { renderOptionGroup_unstable } from '@fluentui/react-combobox';
2
+ /**
3
+ * Render the final JSX of TagPickerOptionGroup
4
+ */ export const renderTagPickerOptionGroup = renderOptionGroup_unstable;
@@ -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';
@@ -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,6 @@
1
+ export const tagPickerInputCSSRules = {
2
+ width: '--fluent-TagPickerInput__width'
3
+ };
4
+ export const tagPickerInputTokens = {
5
+ width: `var(${tagPickerInputCSSRules.width}, 0)`
6
+ };
@@ -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,6 @@
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("./components/TagPicker/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPicker.js"],"sourcesContent":["export * from './components/TagPicker/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerButton/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerButton.js"],"sourcesContent":["export * from './components/TagPickerButton/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerControl/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerControl.js"],"sourcesContent":["export * from './components/TagPickerControl/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerGroup/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerGroup.js"],"sourcesContent":["export * from './components/TagPickerGroup/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerInput/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerInput.js"],"sourcesContent":["export * from './components/TagPickerInput/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerList/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerList.js"],"sourcesContent":["export * from './components/TagPickerList/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerOption/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TagPickerOption.js"],"sourcesContent":["export * from './components/TagPickerOption/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
@@ -0,0 +1,6 @@
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("./components/TagPickerOptionGroup/index"), exports);
@@ -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,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -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
+ };