@fluentui/react-accordion 9.0.0-alpha.8 → 9.0.0-alpha.83

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 (318) hide show
  1. package/CHANGELOG.json +2038 -1
  2. package/CHANGELOG.md +764 -2
  3. package/Spec.md +100 -90
  4. package/dist/react-accordion.d.ts +286 -180
  5. package/lib/Accordion.js.map +1 -1
  6. package/lib/AccordionHeader.js.map +1 -1
  7. package/lib/AccordionItem.js.map +1 -1
  8. package/lib/AccordionPanel.js.map +1 -1
  9. package/lib/common/isConformant.d.ts +4 -2
  10. package/lib/common/isConformant.js +8 -5
  11. package/lib/common/isConformant.js.map +1 -1
  12. package/lib/components/Accordion/Accordion.d.ts +23 -3
  13. package/lib/components/Accordion/Accordion.js +7 -5
  14. package/lib/components/Accordion/Accordion.js.map +1 -1
  15. package/lib/components/Accordion/Accordion.types.d.ts +32 -50
  16. package/lib/components/Accordion/Accordion.types.js +1 -0
  17. package/lib/components/Accordion/Accordion.types.js.map +1 -1
  18. package/lib/components/Accordion/AccordionContext.d.ts +3 -0
  19. package/lib/components/Accordion/AccordionContext.js +9 -0
  20. package/lib/components/Accordion/AccordionContext.js.map +1 -0
  21. package/lib/components/Accordion/index.d.ts +2 -0
  22. package/lib/components/Accordion/index.js +3 -0
  23. package/lib/components/Accordion/index.js.map +1 -1
  24. package/lib/components/Accordion/renderAccordion.d.ts +2 -2
  25. package/lib/components/Accordion/renderAccordion.js +11 -8
  26. package/lib/components/Accordion/renderAccordion.js.map +1 -1
  27. package/lib/components/Accordion/useAccordion.d.ts +3 -12
  28. package/lib/components/Accordion/useAccordion.js +105 -19
  29. package/lib/components/Accordion/useAccordion.js.map +1 -1
  30. package/lib/components/Accordion/useAccordionContextValues.d.ts +2 -0
  31. package/lib/components/Accordion/useAccordionContextValues.js +15 -0
  32. package/lib/components/Accordion/useAccordionContextValues.js.map +1 -0
  33. package/lib/components/AccordionHeader/AccordionHeader.d.ts +72 -3
  34. package/lib/components/AccordionHeader/AccordionHeader.js +8 -5
  35. package/lib/components/AccordionHeader/AccordionHeader.js.map +1 -1
  36. package/lib/components/AccordionHeader/AccordionHeader.types.d.ts +27 -29
  37. package/lib/components/AccordionHeader/AccordionHeader.types.js +1 -0
  38. package/lib/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
  39. package/lib/components/AccordionHeader/AccordionHeaderContext.d.ts +4 -0
  40. package/lib/components/AccordionHeader/AccordionHeaderContext.js +11 -0
  41. package/lib/components/AccordionHeader/AccordionHeaderContext.js.map +1 -0
  42. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +12 -0
  43. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js +42 -0
  44. package/lib/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +1 -0
  45. package/lib/components/AccordionHeader/index.d.ts +2 -0
  46. package/lib/components/AccordionHeader/index.js +3 -0
  47. package/lib/components/AccordionHeader/index.js.map +1 -1
  48. package/lib/components/AccordionHeader/renderAccordionHeader.d.ts +2 -2
  49. package/lib/components/AccordionHeader/renderAccordionHeader.js +10 -7
  50. package/lib/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  51. package/lib/components/AccordionHeader/useAccordionHeader.d.ts +3 -4
  52. package/lib/components/AccordionHeader/useAccordionHeader.js +69 -48
  53. package/lib/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  54. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +2 -0
  55. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js +19 -0
  56. package/lib/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -0
  57. package/lib/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
  58. package/lib/components/AccordionHeader/useAccordionHeaderStyles.js +115 -56
  59. package/lib/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
  60. package/lib/components/AccordionItem/AccordionItem.d.ts +22 -3
  61. package/lib/components/AccordionItem/AccordionItem.js +7 -4
  62. package/lib/components/AccordionItem/AccordionItem.js.map +1 -1
  63. package/lib/components/AccordionItem/AccordionItem.types.d.ts +19 -27
  64. package/lib/components/AccordionItem/AccordionItem.types.js +1 -0
  65. package/lib/components/AccordionItem/AccordionItem.types.js.map +1 -1
  66. package/lib/components/AccordionItem/AccordionItemContext.d.ts +4 -0
  67. package/lib/components/AccordionItem/AccordionItemContext.js +13 -0
  68. package/lib/components/AccordionItem/AccordionItemContext.js.map +1 -0
  69. package/lib/components/AccordionItem/index.d.ts +2 -1
  70. package/lib/components/AccordionItem/index.js +3 -1
  71. package/lib/components/AccordionItem/index.js.map +1 -1
  72. package/lib/components/AccordionItem/renderAccordionItem.d.ts +2 -2
  73. package/lib/components/AccordionItem/renderAccordionItem.js +12 -8
  74. package/lib/components/AccordionItem/renderAccordionItem.js.map +1 -1
  75. package/lib/components/AccordionItem/useAccordionItem.d.ts +4 -10
  76. package/lib/components/AccordionItem/useAccordionItem.js +38 -23
  77. package/lib/components/AccordionItem/useAccordionItem.js.map +1 -1
  78. package/lib/components/AccordionItem/useAccordionItemContextValues.d.ts +2 -0
  79. package/lib/components/AccordionItem/useAccordionItemContextValues.js +17 -0
  80. package/lib/components/AccordionItem/useAccordionItemContextValues.js.map +1 -0
  81. package/lib/components/AccordionPanel/AccordionPanel.d.ts +20 -3
  82. package/lib/components/AccordionPanel/AccordionPanel.js +6 -5
  83. package/lib/components/AccordionPanel/AccordionPanel.js.map +1 -1
  84. package/lib/components/AccordionPanel/AccordionPanel.types.d.ts +7 -14
  85. package/lib/components/AccordionPanel/AccordionPanel.types.js +1 -0
  86. package/lib/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  87. package/lib/components/AccordionPanel/index.js +1 -0
  88. package/lib/components/AccordionPanel/index.js.map +1 -1
  89. package/lib/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
  90. package/lib/components/AccordionPanel/renderAccordionPanel.js +6 -2
  91. package/lib/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  92. package/lib/components/AccordionPanel/useAccordionPanel.d.ts +4 -4
  93. package/lib/components/AccordionPanel/useAccordionPanel.js +16 -24
  94. package/lib/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  95. package/lib/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
  96. package/lib/components/AccordionPanel/useAccordionPanelStyles.js +14 -9
  97. package/lib/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
  98. package/lib/index.js.map +1 -1
  99. package/lib/tsdoc-metadata.json +1 -1
  100. package/lib-commonjs/Accordion.js +7 -2
  101. package/lib-commonjs/Accordion.js.map +1 -1
  102. package/lib-commonjs/AccordionHeader.js +7 -2
  103. package/lib-commonjs/AccordionHeader.js.map +1 -1
  104. package/lib-commonjs/AccordionItem.js +7 -2
  105. package/lib-commonjs/AccordionItem.js.map +1 -1
  106. package/lib-commonjs/AccordionPanel.js +7 -2
  107. package/lib-commonjs/AccordionPanel.js.map +1 -1
  108. package/lib-commonjs/common/isConformant.d.ts +4 -2
  109. package/lib-commonjs/common/isConformant.js +18 -7
  110. package/lib-commonjs/common/isConformant.js.map +1 -1
  111. package/lib-commonjs/components/Accordion/Accordion.d.ts +23 -3
  112. package/lib-commonjs/components/Accordion/Accordion.js +19 -8
  113. package/lib-commonjs/components/Accordion/Accordion.js.map +1 -1
  114. package/lib-commonjs/components/Accordion/Accordion.types.d.ts +32 -50
  115. package/lib-commonjs/components/Accordion/Accordion.types.js +4 -1
  116. package/lib-commonjs/components/Accordion/Accordion.types.js.map +1 -1
  117. package/lib-commonjs/components/Accordion/AccordionContext.d.ts +3 -0
  118. package/lib-commonjs/components/Accordion/AccordionContext.js +17 -0
  119. package/lib-commonjs/components/Accordion/AccordionContext.js.map +1 -0
  120. package/lib-commonjs/components/Accordion/index.d.ts +2 -0
  121. package/lib-commonjs/components/Accordion/index.js +15 -2
  122. package/lib-commonjs/components/Accordion/index.js.map +1 -1
  123. package/lib-commonjs/components/Accordion/renderAccordion.d.ts +2 -2
  124. package/lib-commonjs/components/Accordion/renderAccordion.js +25 -11
  125. package/lib-commonjs/components/Accordion/renderAccordion.js.map +1 -1
  126. package/lib-commonjs/components/Accordion/useAccordion.d.ts +3 -12
  127. package/lib-commonjs/components/Accordion/useAccordion.js +118 -21
  128. package/lib-commonjs/components/Accordion/useAccordion.js.map +1 -1
  129. package/lib-commonjs/components/Accordion/useAccordionContextValues.d.ts +2 -0
  130. package/lib-commonjs/components/Accordion/useAccordionContextValues.js +24 -0
  131. package/lib-commonjs/components/Accordion/useAccordionContextValues.js.map +1 -0
  132. package/lib-commonjs/components/AccordionHeader/AccordionHeader.d.ts +72 -3
  133. package/lib-commonjs/components/AccordionHeader/AccordionHeader.js +23 -10
  134. package/lib-commonjs/components/AccordionHeader/AccordionHeader.js.map +1 -1
  135. package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.d.ts +27 -29
  136. package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js +4 -1
  137. package/lib-commonjs/components/AccordionHeader/AccordionHeader.types.js.map +1 -1
  138. package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.d.ts +4 -0
  139. package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js +22 -0
  140. package/lib-commonjs/components/AccordionHeader/AccordionHeaderContext.js.map +1 -0
  141. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.d.ts +12 -0
  142. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js +52 -0
  143. package/lib-commonjs/components/AccordionHeader/AccordionHeaderExpandIcon.js.map +1 -0
  144. package/lib-commonjs/components/AccordionHeader/index.d.ts +2 -0
  145. package/lib-commonjs/components/AccordionHeader/index.js +16 -2
  146. package/lib-commonjs/components/AccordionHeader/index.js.map +1 -1
  147. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.d.ts +2 -2
  148. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js +27 -12
  149. package/lib-commonjs/components/AccordionHeader/renderAccordionHeader.js.map +1 -1
  150. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.d.ts +3 -4
  151. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js +82 -49
  152. package/lib-commonjs/components/AccordionHeader/useAccordionHeader.js.map +1 -1
  153. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.d.ts +2 -0
  154. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js +29 -0
  155. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderContextValues.js.map +1 -0
  156. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.d.ts +1 -1
  157. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js +125 -58
  158. package/lib-commonjs/components/AccordionHeader/useAccordionHeaderStyles.js.map +1 -1
  159. package/lib-commonjs/components/AccordionItem/AccordionItem.d.ts +22 -3
  160. package/lib-commonjs/components/AccordionItem/AccordionItem.js +20 -8
  161. package/lib-commonjs/components/AccordionItem/AccordionItem.js.map +1 -1
  162. package/lib-commonjs/components/AccordionItem/AccordionItem.types.d.ts +19 -27
  163. package/lib-commonjs/components/AccordionItem/AccordionItem.types.js +4 -1
  164. package/lib-commonjs/components/AccordionItem/AccordionItem.types.js.map +1 -1
  165. package/lib-commonjs/components/AccordionItem/AccordionItemContext.d.ts +4 -0
  166. package/lib-commonjs/components/AccordionItem/AccordionItemContext.js +24 -0
  167. package/lib-commonjs/components/AccordionItem/AccordionItemContext.js.map +1 -0
  168. package/lib-commonjs/components/AccordionItem/index.d.ts +2 -1
  169. package/lib-commonjs/components/AccordionItem/index.js +15 -3
  170. package/lib-commonjs/components/AccordionItem/index.js.map +1 -1
  171. package/lib-commonjs/components/AccordionItem/renderAccordionItem.d.ts +2 -2
  172. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js +27 -11
  173. package/lib-commonjs/components/AccordionItem/renderAccordionItem.js.map +1 -1
  174. package/lib-commonjs/components/AccordionItem/useAccordionItem.d.ts +4 -10
  175. package/lib-commonjs/components/AccordionItem/useAccordionItem.js +53 -26
  176. package/lib-commonjs/components/AccordionItem/useAccordionItem.js.map +1 -1
  177. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.d.ts +2 -0
  178. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js +27 -0
  179. package/lib-commonjs/components/AccordionItem/useAccordionItemContextValues.js.map +1 -0
  180. package/lib-commonjs/components/AccordionPanel/AccordionPanel.d.ts +20 -3
  181. package/lib-commonjs/components/AccordionPanel/AccordionPanel.js +20 -10
  182. package/lib-commonjs/components/AccordionPanel/AccordionPanel.js.map +1 -1
  183. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.d.ts +7 -14
  184. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js +4 -1
  185. package/lib-commonjs/components/AccordionPanel/AccordionPanel.types.js.map +1 -1
  186. package/lib-commonjs/components/AccordionPanel/index.js +12 -2
  187. package/lib-commonjs/components/AccordionPanel/index.js.map +1 -1
  188. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.d.ts +1 -1
  189. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js +23 -8
  190. package/lib-commonjs/components/AccordionPanel/renderAccordionPanel.js.map +1 -1
  191. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.d.ts +4 -4
  192. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js +27 -25
  193. package/lib-commonjs/components/AccordionPanel/useAccordionPanel.js.map +1 -1
  194. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.d.ts +1 -1
  195. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js +24 -11
  196. package/lib-commonjs/components/AccordionPanel/useAccordionPanelStyles.js.map +1 -1
  197. package/lib-commonjs/index.js +10 -2
  198. package/lib-commonjs/index.js.map +1 -1
  199. package/package.json +19 -15
  200. package/config/api-extractor.json +0 -3
  201. package/config/tests.js +0 -7
  202. package/etc/react-accordion.api.md +0 -198
  203. package/just.config.ts +0 -3
  204. package/lib/components/Accordion/useAccordionContext.d.ts +0 -12
  205. package/lib/components/Accordion/useAccordionContext.js +0 -101
  206. package/lib/components/Accordion/useAccordionContext.js.map +0 -1
  207. package/lib/components/AccordionHeader/DefaultExpandIcon.d.ts +0 -3
  208. package/lib/components/AccordionHeader/DefaultExpandIcon.js +0 -18
  209. package/lib/components/AccordionHeader/DefaultExpandIcon.js.map +0 -1
  210. package/lib/components/AccordionItem/useAccordionItemContext.d.ts +0 -8
  211. package/lib/components/AccordionItem/useAccordionItemContext.js +0 -37
  212. package/lib/components/AccordionItem/useAccordionItemContext.js.map +0 -1
  213. package/lib-amd/Accordion.d.ts +0 -1
  214. package/lib-amd/Accordion.js +0 -6
  215. package/lib-amd/Accordion.js.map +0 -1
  216. package/lib-amd/AccordionHeader.d.ts +0 -1
  217. package/lib-amd/AccordionHeader.js +0 -6
  218. package/lib-amd/AccordionHeader.js.map +0 -1
  219. package/lib-amd/AccordionItem.d.ts +0 -1
  220. package/lib-amd/AccordionItem.js +0 -6
  221. package/lib-amd/AccordionItem.js.map +0 -1
  222. package/lib-amd/AccordionPanel.d.ts +0 -1
  223. package/lib-amd/AccordionPanel.js +0 -6
  224. package/lib-amd/AccordionPanel.js.map +0 -1
  225. package/lib-amd/common/isConformant.d.ts +0 -2
  226. package/lib-amd/common/isConformant.js +0 -13
  227. package/lib-amd/common/isConformant.js.map +0 -1
  228. package/lib-amd/components/Accordion/Accordion.d.ts +0 -7
  229. package/lib-amd/components/Accordion/Accordion.js +0 -14
  230. package/lib-amd/components/Accordion/Accordion.js.map +0 -1
  231. package/lib-amd/components/Accordion/Accordion.types.d.ts +0 -70
  232. package/lib-amd/components/Accordion/Accordion.types.js +0 -5
  233. package/lib-amd/components/Accordion/Accordion.types.js.map +0 -1
  234. package/lib-amd/components/Accordion/index.d.ts +0 -4
  235. package/lib-amd/components/Accordion/index.js +0 -8
  236. package/lib-amd/components/Accordion/index.js.map +0 -1
  237. package/lib-amd/components/Accordion/renderAccordion.d.ts +0 -5
  238. package/lib-amd/components/Accordion/renderAccordion.js +0 -14
  239. package/lib-amd/components/Accordion/renderAccordion.js.map +0 -1
  240. package/lib-amd/components/Accordion/useAccordion.d.ts +0 -13
  241. package/lib-amd/components/Accordion/useAccordion.js +0 -24
  242. package/lib-amd/components/Accordion/useAccordion.js.map +0 -1
  243. package/lib-amd/components/Accordion/useAccordionContext.d.ts +0 -12
  244. package/lib-amd/components/Accordion/useAccordionContext.js +0 -103
  245. package/lib-amd/components/Accordion/useAccordionContext.js.map +0 -1
  246. package/lib-amd/components/AccordionHeader/AccordionHeader.d.ts +0 -6
  247. package/lib-amd/components/AccordionHeader/AccordionHeader.js +0 -14
  248. package/lib-amd/components/AccordionHeader/AccordionHeader.js.map +0 -1
  249. package/lib-amd/components/AccordionHeader/AccordionHeader.types.d.ts +0 -49
  250. package/lib-amd/components/AccordionHeader/AccordionHeader.types.js +0 -5
  251. package/lib-amd/components/AccordionHeader/AccordionHeader.types.js.map +0 -1
  252. package/lib-amd/components/AccordionHeader/DefaultExpandIcon.d.ts +0 -3
  253. package/lib-amd/components/AccordionHeader/DefaultExpandIcon.js +0 -20
  254. package/lib-amd/components/AccordionHeader/DefaultExpandIcon.js.map +0 -1
  255. package/lib-amd/components/AccordionHeader/index.d.ts +0 -5
  256. package/lib-amd/components/AccordionHeader/index.js +0 -9
  257. package/lib-amd/components/AccordionHeader/index.js.map +0 -1
  258. package/lib-amd/components/AccordionHeader/renderAccordionHeader.d.ts +0 -5
  259. package/lib-amd/components/AccordionHeader/renderAccordionHeader.js +0 -16
  260. package/lib-amd/components/AccordionHeader/renderAccordionHeader.js.map +0 -1
  261. package/lib-amd/components/AccordionHeader/useAccordionHeader.d.ts +0 -13
  262. package/lib-amd/components/AccordionHeader/useAccordionHeader.js +0 -57
  263. package/lib-amd/components/AccordionHeader/useAccordionHeader.js.map +0 -1
  264. package/lib-amd/components/AccordionHeader/useAccordionHeaderStyles.d.ts +0 -3
  265. package/lib-amd/components/AccordionHeader/useAccordionHeaderStyles.js +0 -64
  266. package/lib-amd/components/AccordionHeader/useAccordionHeaderStyles.js.map +0 -1
  267. package/lib-amd/components/AccordionItem/AccordionItem.d.ts +0 -6
  268. package/lib-amd/components/AccordionItem/AccordionItem.js +0 -13
  269. package/lib-amd/components/AccordionItem/AccordionItem.js.map +0 -1
  270. package/lib-amd/components/AccordionItem/AccordionItem.types.d.ts +0 -35
  271. package/lib-amd/components/AccordionItem/AccordionItem.types.js +0 -5
  272. package/lib-amd/components/AccordionItem/AccordionItem.types.js.map +0 -1
  273. package/lib-amd/components/AccordionItem/index.d.ts +0 -5
  274. package/lib-amd/components/AccordionItem/index.js +0 -9
  275. package/lib-amd/components/AccordionItem/index.js.map +0 -1
  276. package/lib-amd/components/AccordionItem/renderAccordionItem.d.ts +0 -5
  277. package/lib-amd/components/AccordionItem/renderAccordionItem.js +0 -14
  278. package/lib-amd/components/AccordionItem/renderAccordionItem.js.map +0 -1
  279. package/lib-amd/components/AccordionItem/useAccordionItem.d.ts +0 -18
  280. package/lib-amd/components/AccordionItem/useAccordionItem.js +0 -35
  281. package/lib-amd/components/AccordionItem/useAccordionItem.js.map +0 -1
  282. package/lib-amd/components/AccordionItem/useAccordionItemContext.d.ts +0 -8
  283. package/lib-amd/components/AccordionItem/useAccordionItemContext.js +0 -39
  284. package/lib-amd/components/AccordionItem/useAccordionItemContext.js.map +0 -1
  285. package/lib-amd/components/AccordionPanel/AccordionPanel.d.ts +0 -6
  286. package/lib-amd/components/AccordionPanel/AccordionPanel.js +0 -14
  287. package/lib-amd/components/AccordionPanel/AccordionPanel.js.map +0 -1
  288. package/lib-amd/components/AccordionPanel/AccordionPanel.types.d.ts +0 -18
  289. package/lib-amd/components/AccordionPanel/AccordionPanel.types.js +0 -5
  290. package/lib-amd/components/AccordionPanel/AccordionPanel.types.js.map +0 -1
  291. package/lib-amd/components/AccordionPanel/index.d.ts +0 -5
  292. package/lib-amd/components/AccordionPanel/index.js +0 -9
  293. package/lib-amd/components/AccordionPanel/index.js.map +0 -1
  294. package/lib-amd/components/AccordionPanel/renderAccordionPanel.d.ts +0 -5
  295. package/lib-amd/components/AccordionPanel/renderAccordionPanel.js +0 -12
  296. package/lib-amd/components/AccordionPanel/renderAccordionPanel.js.map +0 -1
  297. package/lib-amd/components/AccordionPanel/useAccordionPanel.d.ts +0 -13
  298. package/lib-amd/components/AccordionPanel/useAccordionPanel.js +0 -35
  299. package/lib-amd/components/AccordionPanel/useAccordionPanel.js.map +0 -1
  300. package/lib-amd/components/AccordionPanel/useAccordionPanelStyles.d.ts +0 -3
  301. package/lib-amd/components/AccordionPanel/useAccordionPanelStyles.js +0 -20
  302. package/lib-amd/components/AccordionPanel/useAccordionPanelStyles.js.map +0 -1
  303. package/lib-amd/index.d.ts +0 -4
  304. package/lib-amd/index.js +0 -9
  305. package/lib-amd/index.js.map +0 -1
  306. package/lib-commonjs/components/Accordion/useAccordionContext.d.ts +0 -12
  307. package/lib-commonjs/components/Accordion/useAccordionContext.js +0 -105
  308. package/lib-commonjs/components/Accordion/useAccordionContext.js.map +0 -1
  309. package/lib-commonjs/components/AccordionHeader/DefaultExpandIcon.d.ts +0 -3
  310. package/lib-commonjs/components/AccordionHeader/DefaultExpandIcon.js +0 -20
  311. package/lib-commonjs/components/AccordionHeader/DefaultExpandIcon.js.map +0 -1
  312. package/lib-commonjs/components/AccordionItem/useAccordionItemContext.d.ts +0 -8
  313. package/lib-commonjs/components/AccordionItem/useAccordionItemContext.js +0 -40
  314. package/lib-commonjs/components/AccordionItem/useAccordionItemContext.js.map +0 -1
  315. package/src/components/Accordion/Accordion.types.ts +0 -74
  316. package/src/components/AccordionHeader/AccordionHeader.types.ts +0 -53
  317. package/src/components/AccordionItem/AccordionItem.types.ts +0 -39
  318. package/src/components/AccordionPanel/AccordionPanel.types.ts +0 -19
@@ -1,70 +1,52 @@
1
1
  import * as React from 'react';
2
- import { ComponentProps, Descendant } from '@fluentui/react-utilities';
3
- import { AccordionHeaderProps } from '../AccordionHeader/AccordionHeader.types';
2
+ import type { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';
3
+ import type { AccordionItemValue } from '../AccordionItem/AccordionItem.types';
4
4
  export declare type AccordionIndex = number | number[];
5
- /**
6
- * Common properties shared between Accordion and AccordionHeader through context
7
- */
8
- declare type AccordionHeaderCommonProps = Pick<AccordionHeaderProps, 'expandIcon' | 'expandIconPosition' | 'button' | 'size'>;
9
- export interface AccordionContext extends AccordionHeaderCommonProps {
5
+ export declare type AccordionToggleEvent<E = HTMLElement> = React.MouseEvent<E> | React.KeyboardEvent<E>;
6
+ export declare type AccordionToggleEventHandler = (event: AccordionToggleEvent, data: AccordionToggleData) => void;
7
+ export declare type AccordionContextValue = {
8
+ navigable: boolean;
10
9
  /**
11
10
  * The list of opened panels by index
12
11
  */
13
- openItems: number[];
12
+ openItems: AccordionItemValue[];
14
13
  /**
15
14
  * Callback used by AccordionItem to request a change on it's own opened state
16
15
  */
17
- requestToggle: NonNullable<AccordionProps['onToggle']>;
18
- }
19
- /**
20
- * {@docCategory Accordion}
21
- */
22
- export interface AccordionProps extends ComponentProps, AccordionHeaderCommonProps, React.HTMLAttributes<HTMLElement> {
16
+ requestToggle: AccordionToggleEventHandler;
17
+ };
18
+ export declare type AccordionContextValues = {
19
+ accordion: AccordionContextValue;
20
+ };
21
+ export declare type AccordionSlots = {
22
+ root: IntrinsicShorthandProps<'div'>;
23
+ };
24
+ export declare type AccordionCommons = {
25
+ /**
26
+ * Indicates if keyboard navigation is available
27
+ */
28
+ navigable: boolean;
23
29
  /**
24
30
  * Indicates if Accordion support multiple Panels opened at the same time
25
31
  */
26
- multiple?: boolean;
32
+ multiple: boolean;
27
33
  /**
28
34
  * Indicates if Accordion support multiple Panels closed at the same time
29
35
  */
30
- collapsible?: boolean;
36
+ collapsible: boolean;
37
+ };
38
+ export declare type AccordionToggleData = {
39
+ value: AccordionItemValue;
40
+ };
41
+ export declare type AccordionProps = ComponentProps<AccordionSlots> & Partial<AccordionCommons> & {
31
42
  /**
32
43
  * Controls the state of the panel
33
44
  */
34
- index?: AccordionIndex;
45
+ openItems?: AccordionItemValue | AccordionItemValue[];
35
46
  /**
36
47
  * Default value for the uncontrolled state of the panel
37
48
  */
38
- defaultIndex?: AccordionIndex;
39
- onToggle?(event: React.MouseEvent<HTMLElement>, index: number): void;
40
- }
41
- /**
42
- * {@docCategory Accordion}
43
- */
44
- export interface AccordionState extends AccordionProps {
45
- /**
46
- * Ref to the root slot
47
- */
48
- ref: React.MutableRefObject<HTMLElement>;
49
- multiple: boolean;
50
- collapsible: boolean;
51
- /**
52
- * Internal Context used by Accordion and AccordionItem communication
53
- */
54
- context: AccordionContext;
55
- /**
56
- * Internal Context used by Accordion and AccordionItem communication
57
- */
58
- descendants: AccordionDescendant[];
59
- /**
60
- * Internal Context used by Accordion and AccordionItem communication
61
- */
62
- setDescendants: React.Dispatch<React.SetStateAction<AccordionDescendant[]>>;
63
- }
64
- export interface AccordionDescendant<ElementType = HTMLElement> extends Descendant<ElementType> {
65
- /**
66
- * Indicates is a determined AccordionItem descending the Accordion is or not disabled
67
- */
68
- disabled: boolean;
69
- }
70
- export {};
49
+ defaultOpenItems?: AccordionItemValue | AccordionItemValue[];
50
+ onToggle?: AccordionToggleEventHandler;
51
+ };
52
+ export declare type AccordionState = ComponentState<AccordionSlots> & AccordionCommons & AccordionContextValue;
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  //# sourceMappingURL=Accordion.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.types.js","sourceRoot":"../src/","sources":["components/Accordion/Accordion.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { ComponentProps, Descendant } from '@fluentui/react-utilities';\nimport { AccordionHeaderProps } from '../AccordionHeader/AccordionHeader.types';\n\nexport type AccordionIndex = number | number[];\n\n/**\n * Common properties shared between Accordion and AccordionHeader through context\n */\ntype AccordionHeaderCommonProps = Pick<AccordionHeaderProps, 'expandIcon' | 'expandIconPosition' | 'button' | 'size'>;\nexport interface AccordionContext extends AccordionHeaderCommonProps {\n /**\n * The list of opened panels by index\n */\n openItems: number[];\n /**\n * Callback used by AccordionItem to request a change on it's own opened state\n */\n requestToggle: NonNullable<AccordionProps['onToggle']>;\n}\n\n/**\n * {@docCategory Accordion}\n */\nexport interface AccordionProps extends ComponentProps, AccordionHeaderCommonProps, React.HTMLAttributes<HTMLElement> {\n /**\n * Indicates if Accordion support multiple Panels opened at the same time\n */\n multiple?: boolean;\n /**\n * Indicates if Accordion support multiple Panels closed at the same time\n */\n collapsible?: boolean;\n /**\n * Controls the state of the panel\n */\n index?: AccordionIndex;\n /**\n * Default value for the uncontrolled state of the panel\n */\n defaultIndex?: AccordionIndex;\n onToggle?(event: React.MouseEvent<HTMLElement>, index: number): void;\n}\n\n/**\n * {@docCategory Accordion}\n */\nexport interface AccordionState extends AccordionProps {\n /**\n * Ref to the root slot\n */\n ref: React.MutableRefObject<HTMLElement>;\n multiple: boolean;\n collapsible: boolean;\n /**\n * Internal Context used by Accordion and AccordionItem communication\n */\n context: AccordionContext;\n /**\n * Internal Context used by Accordion and AccordionItem communication\n */\n descendants: AccordionDescendant[];\n /**\n * Internal Context used by Accordion and AccordionItem communication\n */\n setDescendants: React.Dispatch<React.SetStateAction<AccordionDescendant[]>>;\n}\n\nexport interface AccordionDescendant<ElementType = HTMLElement> extends Descendant<ElementType> {\n /**\n * Indicates is a determined AccordionItem descending the Accordion is or not disabled\n */\n disabled: boolean;\n}\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ import type { Context } from '@fluentui/react-context-selector';
2
+ import type { AccordionContextValue } from './Accordion.types';
3
+ export declare const AccordionContext: Context<AccordionContextValue>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AccordionContext = void 0;
7
+
8
+ var react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
9
+
10
+ exports.AccordionContext = /*#__PURE__*/react_context_selector_1.createContext({
11
+ openItems: [],
12
+ navigable: false,
13
+ requestToggle: function () {
14
+ /* noop */
15
+ }
16
+ });
17
+ //# sourceMappingURL=AccordionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Accordion/AccordionContext.ts"],"names":[],"mappings":";;;;;;;AAAA,IAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAIa,OAAA,CAAA,gBAAA,gBAAmD,wBAAA,CAAA,aAAA,CAAqC;AACnG,EAAA,SAAS,EAAE,EADwF;AAEnG,EAAA,SAAS,EAAE,KAFwF;AAGnG,EAAA,aAAa,EAAA,YAAA;AACX;AACD;AALkG,CAArC,CAAnD","sourceRoot":""}
@@ -2,3 +2,5 @@ export * from './Accordion';
2
2
  export * from './Accordion.types';
3
3
  export * from './renderAccordion';
4
4
  export * from './useAccordion';
5
+ export * from './useAccordionContextValues';
6
+ export * from './AccordionContext';
@@ -1,7 +1,20 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var tslib_1 = /*#__PURE__*/require("tslib");
8
+
4
9
  tslib_1.__exportStar(require("./Accordion"), exports);
10
+
11
+ tslib_1.__exportStar(require("./Accordion.types"), exports);
12
+
5
13
  tslib_1.__exportStar(require("./renderAccordion"), exports);
14
+
6
15
  tslib_1.__exportStar(require("./useAccordion"), exports);
16
+
17
+ tslib_1.__exportStar(require("./useAccordionContextValues"), exports);
18
+
19
+ tslib_1.__exportStar(require("./AccordionContext"), exports);
7
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Accordion/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAE5B,4DAAkC;AAClC,yDAA+B","sourcesContent":["export * from './Accordion';\nexport * from './Accordion.types';\nexport * from './renderAccordion';\nexport * from './useAccordion';\n"]}
1
+ {"version":3,"sources":["../../../src/components/Accordion/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,aAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,6BAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,oBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
@@ -1,5 +1,5 @@
1
- import { AccordionState } from './Accordion.types';
1
+ import type { AccordionState, AccordionContextValues } from './Accordion.types';
2
2
  /**
3
3
  * Function that renders the final JSX of the component
4
4
  */
5
- export declare const renderAccordion: (state: AccordionState) => JSX.Element;
5
+ export declare const renderAccordion: (state: AccordionState, contextValues: AccordionContextValues) => JSX.Element;
@@ -1,17 +1,31 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var React = require("react");
5
- var react_utilities_1 = require("@fluentui/react-utilities");
6
- var useAccordion_1 = require("./useAccordion");
7
- var useAccordionContext_1 = require("./useAccordionContext");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderAccordion = void 0;
7
+
8
+ var tslib_1 = /*#__PURE__*/require("tslib");
9
+
10
+ var React = /*#__PURE__*/require("react");
11
+
12
+ var react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
13
+
14
+ var AccordionContext_1 = /*#__PURE__*/require("./AccordionContext");
8
15
  /**
9
16
  * Function that renders the final JSX of the component
10
17
  */
11
- exports.renderAccordion = function (state) {
12
- var _a = react_utilities_1.getSlots(state, useAccordion_1.accordionShorthandProps), slots = _a.slots, slotProps = _a.slotProps;
13
- return (React.createElement(slots.root, tslib_1.__assign({}, slotProps.root),
14
- React.createElement(useAccordionContext_1.accordionContext.Provider, { value: state.context },
15
- React.createElement(react_utilities_1.DescendantProvider, { context: useAccordionContext_1.accordionDescendantContext, items: state.descendants, set: state.setDescendants }, state.children))));
18
+
19
+
20
+ var renderAccordion = function (state, contextValues) {
21
+ var _a = react_utilities_1.getSlots(state),
22
+ slots = _a.slots,
23
+ slotProps = _a.slotProps;
24
+
25
+ return React.createElement(slots.root, tslib_1.__assign({}, slotProps.root), React.createElement(AccordionContext_1.AccordionContext.Provider, {
26
+ value: contextValues.accordion
27
+ }, slotProps.root.children));
16
28
  };
29
+
30
+ exports.renderAccordion = renderAccordion;
17
31
  //# sourceMappingURL=renderAccordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderAccordion.js","sourceRoot":"../src/","sources":["components/Accordion/renderAccordion.tsx"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,6DAAyE;AAEzE,+CAAyD;AACzD,6DAAqF;AAErF;;GAEG;AACU,QAAA,eAAe,GAAG,UAAC,KAAqB;IAC7C,IAAA,8EAA+D,EAA7D,gBAAK,EAAE,wBAAsD,CAAC;IACtE,OAAO,CACL,oBAAC,KAAK,CAAC,IAAI,uBAAK,SAAS,CAAC,IAAI;QAC5B,oBAAC,sCAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO;YAC7C,oBAAC,oCAAkB,IAAC,OAAO,EAAE,gDAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,IACzG,KAAK,CAAC,QAAQ,CACI,CACK,CACjB,CACd,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { getSlots, DescendantProvider } from '@fluentui/react-utilities';\nimport { AccordionState } from './Accordion.types';\nimport { accordionShorthandProps } from './useAccordion';\nimport { accordionContext, accordionDescendantContext } from './useAccordionContext';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderAccordion = (state: AccordionState) => {\n const { slots, slotProps } = getSlots(state, accordionShorthandProps);\n return (\n <slots.root {...slotProps.root}>\n <accordionContext.Provider value={state.context}>\n <DescendantProvider context={accordionDescendantContext} items={state.descendants} set={state.setDescendants}>\n {state.children}\n </DescendantProvider>\n </accordionContext.Provider>\n </slots.root>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/Accordion/renderAccordion.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,IAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,IAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AAEA,IAAA,kBAAA,gBAAA,OAAA,CAAA,oBAAA,CAAA;AAGA;;AAEG;;;AACI,IAAM,eAAe,GAAG,UAAC,KAAD,EAAwB,aAAxB,EAA6D;AACpF,MAAA,EAAA,GAAuB,iBAAA,CAAA,QAAA,CAAyB,KAAzB,CAAvB;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,SACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,OAAA,CAAA,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,EACE,KAAA,CAAA,aAAA,CAAC,kBAAA,CAAA,gBAAA,CAAiB,QAAlB,EAA0B;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAA1B,EAA4D,SAAS,CAAC,IAAV,CAAe,QAA3E,CADF,CADF;AAKD,CARM;;AAAM,OAAA,CAAA,eAAA,GAAe,eAAf","sourceRoot":""}
@@ -1,13 +1,4 @@
1
1
  import * as React from 'react';
2
- import { AccordionProps, AccordionState } from './Accordion.types';
3
- /**
4
- * Consts listing which props are shorthand props.
5
- */
6
- export declare const accordionShorthandProps: never[];
7
- /**
8
- * Returns the props and state required to render the component
9
- * @param props - Accordion properties
10
- * @param ref - reference to root HTMLElement of Accordion
11
- * @param defaultProps - default values for the properties of Accordion
12
- */
13
- export declare const useAccordion: (props: AccordionProps, ref: React.Ref<HTMLElement>, defaultProps?: AccordionProps | undefined) => AccordionState;
2
+ import type { AccordionProps, AccordionSlots, AccordionState } from './Accordion.types';
3
+ export declare const accordionShorthandProps: Array<keyof AccordionSlots>;
4
+ export declare const useAccordion: (props: AccordionProps, ref: React.Ref<HTMLElement>) => AccordionState;
@@ -1,27 +1,124 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var React = require("react");
5
- var react_utilities_1 = require("@fluentui/react-utilities");
6
- var useAccordionContext_1 = require("./useAccordionContext");
7
- var react_focus_management_1 = require("@fluentui/react-focus-management");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAccordion = exports.accordionShorthandProps = void 0;
7
+
8
+ var tslib_1 = /*#__PURE__*/require("tslib");
9
+
10
+ var React = /*#__PURE__*/require("react");
11
+
12
+ var react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
13
+
14
+ exports.accordionShorthandProps = ['root'];
15
+
16
+ var useAccordion = function (props, ref) {
17
+ var controlledOpenItems = props.openItems,
18
+ defaultOpenItems = props.defaultOpenItems,
19
+ _a = props.multiple,
20
+ multiple = _a === void 0 ? false : _a,
21
+ _b = props.collapsible,
22
+ collapsible = _b === void 0 ? false : _b,
23
+ onToggle = props.onToggle,
24
+ _c = props.navigable,
25
+ navigable = _c === void 0 ? false : _c;
26
+
27
+ var _d = react_utilities_1.useControllableState({
28
+ state: React.useMemo(function () {
29
+ return normalizeValues(controlledOpenItems);
30
+ }, [controlledOpenItems]),
31
+ defaultState: function () {
32
+ return initializeUncontrolledOpenItems({
33
+ collapsible: collapsible,
34
+ defaultOpenItems: defaultOpenItems,
35
+ multiple: multiple
36
+ });
37
+ },
38
+ initialState: []
39
+ }),
40
+ openItems = _d[0],
41
+ setOpenItems = _d[1];
42
+
43
+ var requestToggle = react_utilities_1.useEventCallback(function (ev, data) {
44
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(ev, data);
45
+ setOpenItems(function (previousOpenItems) {
46
+ return updateOpenItems(data.value, previousOpenItems, {
47
+ collapsible: collapsible,
48
+ multiple: multiple
49
+ });
50
+ });
51
+ });
52
+ return {
53
+ multiple: multiple,
54
+ collapsible: collapsible,
55
+ navigable: navigable,
56
+ openItems: openItems,
57
+ requestToggle: requestToggle,
58
+ root: react_utilities_1.getNativeElementProps('div', tslib_1.__assign(tslib_1.__assign({}, props), {
59
+ ref: ref
60
+ }))
61
+ };
62
+ };
63
+
64
+ exports.useAccordion = useAccordion;
8
65
  /**
9
- * Consts listing which props are shorthand props.
66
+ * Initial value for the uncontrolled case of the list of open indexes
10
67
  */
11
- exports.accordionShorthandProps = [];
12
- // eslint-disable-next-line deprecation/deprecation
13
- var mergeProps = react_utilities_1.makeMergePropsCompat({ deepMerge: exports.accordionShorthandProps });
68
+
69
+ function initializeUncontrolledOpenItems(_a) {
70
+ var defaultOpenItems = _a.defaultOpenItems,
71
+ multiple = _a.multiple,
72
+ collapsible = _a.collapsible;
73
+
74
+ if (defaultOpenItems !== undefined) {
75
+ if (Array.isArray(defaultOpenItems)) {
76
+ return multiple ? defaultOpenItems : [defaultOpenItems[0]];
77
+ }
78
+
79
+ return [defaultOpenItems];
80
+ }
81
+
82
+ return collapsible ? [] : [0];
83
+ }
14
84
  /**
15
- * Returns the props and state required to render the component
16
- * @param props - Accordion properties
17
- * @param ref - reference to root HTMLElement of Accordion
18
- * @param defaultProps - default values for the properties of Accordion
85
+ * Updates the list of open indexes based on an index that changes
86
+ * @param value - the index that will change
87
+ * @param previousOpenItems - list of current open indexes
88
+ * @param param2 - {multiple, collapsible}
19
89
  */
20
- exports.useAccordion = function (props, ref, defaultProps) {
21
- var navigationAttributes = react_focus_management_1.useArrowNavigationGroup({ circular: true });
22
- var state = mergeProps(tslib_1.__assign({ ref: react_utilities_1.useMergedRefs(ref, React.useRef(null)), collapsible: false, multiple: false }, navigationAttributes), defaultProps, react_utilities_1.resolveShorthandProps(props, exports.accordionShorthandProps));
23
- var _a = useAccordionContext_1.useCreateAccordionContext(state), context = _a[0], descendants = _a[1], setDescendants = _a[2];
24
- Object.assign(state, { context: context, descendants: descendants, setDescendants: setDescendants });
25
- return state;
26
- };
90
+
91
+
92
+ function updateOpenItems(value, previousOpenItems, _a) {
93
+ var multiple = _a.multiple,
94
+ collapsible = _a.collapsible;
95
+
96
+ if (multiple) {
97
+ if (previousOpenItems.includes(value)) {
98
+ if (previousOpenItems.length > 1 || collapsible) {
99
+ return previousOpenItems.filter(function (i) {
100
+ return i !== value;
101
+ });
102
+ }
103
+ } else {
104
+ return tslib_1.__spreadArrays(previousOpenItems, [value]).sort();
105
+ }
106
+ } else {
107
+ return previousOpenItems[0] === value && collapsible ? [] : [value];
108
+ }
109
+
110
+ return previousOpenItems;
111
+ }
112
+ /**
113
+ * Normalizes Accordion index into an array of indexes
114
+ */
115
+
116
+
117
+ function normalizeValues(index) {
118
+ if (index === undefined) {
119
+ return undefined;
120
+ }
121
+
122
+ return Array.isArray(index) ? index : [index];
123
+ }
27
124
  //# sourceMappingURL=useAccordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordion.js","sourceRoot":"../src/","sources":["components/Accordion/useAccordion.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,6DAAuG;AAEvG,6DAAkE;AAClE,2EAA2E;AAE3E;;GAEG;AACU,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,mDAAmD;AACnD,IAAM,UAAU,GAAG,sCAAoB,CAAiB,EAAE,SAAS,EAAE,+BAAuB,EAAE,CAAC,CAAC;AAEhG;;;;;GAKG;AACU,QAAA,YAAY,GAAG,UAC1B,KAAqB,EACrB,GAA2B,EAC3B,YAA6B;IAE7B,IAAM,oBAAoB,GAAG,gDAAuB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,IAAM,KAAK,GAAG,UAAU,oBAEpB,GAAG,EAAE,+BAAa,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC3C,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,KAAK,IACZ,oBAAoB,GAEzB,YAAY,EACZ,uCAAqB,CAAC,KAAK,EAAE,+BAAuB,CAAC,CACtD,CAAC;IACI,IAAA,2DAAyE,EAAxE,eAAO,EAAE,mBAAW,EAAE,sBAAkD,CAAC;IAChF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,SAAA,EAAE,WAAW,aAAA,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;IAE/D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { makeMergePropsCompat, resolveShorthandProps, useMergedRefs } from '@fluentui/react-utilities';\nimport { AccordionProps, AccordionState } from './Accordion.types';\nimport { useCreateAccordionContext } from './useAccordionContext';\nimport { useArrowNavigationGroup } from '@fluentui/react-focus-management';\n\n/**\n * Consts listing which props are shorthand props.\n */\nexport const accordionShorthandProps = [];\n\n// eslint-disable-next-line deprecation/deprecation\nconst mergeProps = makeMergePropsCompat<AccordionState>({ deepMerge: accordionShorthandProps });\n\n/**\n * Returns the props and state required to render the component\n * @param props - Accordion properties\n * @param ref - reference to root HTMLElement of Accordion\n * @param defaultProps - default values for the properties of Accordion\n */\nexport const useAccordion = (\n props: AccordionProps,\n ref: React.Ref<HTMLElement>,\n defaultProps?: AccordionProps,\n): AccordionState => {\n const navigationAttributes = useArrowNavigationGroup({ circular: true });\n\n const state = mergeProps(\n {\n ref: useMergedRefs(ref, React.useRef(null)),\n collapsible: false,\n multiple: false,\n ...navigationAttributes,\n },\n defaultProps,\n resolveShorthandProps(props, accordionShorthandProps),\n );\n const [context, descendants, setDescendants] = useCreateAccordionContext(state);\n Object.assign(state, { context, descendants, setDescendants });\n\n return state;\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/Accordion/useAccordion.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ import type { AccordionContextValues, AccordionState } from './Accordion.types';
2
+ export declare function useAccordionContextValues(state: AccordionState): AccordionContextValues;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAccordionContextValues = void 0;
7
+
8
+ function useAccordionContextValues(state) {
9
+ var navigable = state.navigable,
10
+ openItems = state.openItems,
11
+ requestToggle = state.requestToggle; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
12
+
13
+ var accordion = {
14
+ navigable: navigable,
15
+ openItems: openItems,
16
+ requestToggle: requestToggle
17
+ };
18
+ return {
19
+ accordion: accordion
20
+ };
21
+ }
22
+
23
+ exports.useAccordionContextValues = useAccordionContextValues;
24
+ //# sourceMappingURL=useAccordionContextValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Accordion/useAccordionContextValues.ts"],"names":[],"mappings":";;;;;;;AAEA,SAAgB,yBAAhB,CAA0C,KAA1C,EAA+D;AACrD,MAAA,SAAS,GAA+B,KAAK,CAApC,SAAT;AAAA,MAAW,SAAS,GAAoB,KAAK,CAAzB,SAApB;AAAA,MAAsB,aAAa,GAAK,KAAK,CAAV,aAAnC,CADqD,CAG7D;;AACA,MAAM,SAAS,GAAG;AAChB,IAAA,SAAS,EAAA,SADO;AAEhB,IAAA,SAAS,EAAA,SAFO;AAGhB,IAAA,aAAa,EAAA;AAHG,GAAlB;AAMA,SAAO;AAAE,IAAA,SAAS,EAAA;AAAX,GAAP;AACD;;AAXD,OAAA,CAAA,yBAAA,GAAA,yBAAA","sourceRoot":""}