@primer/react 38.0.0-rc.5 → 38.0.0-rc.7

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 (325) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/ActionBar/ActionBar.d.ts +15 -1
  3. package/dist/ActionBar/ActionBar.d.ts.map +1 -1
  4. package/dist/ActionBar/ActionBar.js +381 -217
  5. package/dist/ActionBar/index.d.ts +1 -1
  6. package/dist/ActionList/Description.d.ts +4 -3
  7. package/dist/ActionList/Description.d.ts.map +1 -1
  8. package/dist/ActionList/Description.js +5 -5
  9. package/dist/ActionList/Divider.d.ts +5 -4
  10. package/dist/ActionList/Divider.d.ts.map +1 -1
  11. package/dist/ActionList/Divider.js +6 -7
  12. package/dist/ActionList/Group.d.ts +4 -5
  13. package/dist/ActionList/Group.d.ts.map +1 -1
  14. package/dist/ActionList/Group.js +9 -16
  15. package/dist/ActionList/Heading.d.ts +3 -2
  16. package/dist/ActionList/Heading.d.ts.map +1 -1
  17. package/dist/ActionList/Heading.js +1 -0
  18. package/dist/ActionList/Item.d.ts +5 -2
  19. package/dist/ActionList/Item.d.ts.map +1 -1
  20. package/dist/ActionList/Item.js +4 -8
  21. package/dist/ActionList/LinkItem.d.ts +1 -1
  22. package/dist/ActionList/LinkItem.d.ts.map +1 -1
  23. package/dist/ActionList/LinkItem.js +1 -2
  24. package/dist/ActionList/List.d.ts +1 -1
  25. package/dist/ActionList/List.d.ts.map +1 -1
  26. package/dist/ActionList/List.js +1 -3
  27. package/dist/ActionList/TrailingAction.d.ts +1 -0
  28. package/dist/ActionList/TrailingAction.d.ts.map +1 -1
  29. package/dist/ActionList/TrailingAction.js +3 -0
  30. package/dist/ActionList/Visuals.d.ts +4 -4
  31. package/dist/ActionList/Visuals.d.ts.map +1 -1
  32. package/dist/ActionList/Visuals.js +3 -3
  33. package/dist/ActionList/index.d.ts +12 -9
  34. package/dist/ActionList/index.d.ts.map +1 -1
  35. package/dist/ActionList/shared.d.ts +2 -3
  36. package/dist/ActionList/shared.d.ts.map +1 -1
  37. package/dist/ActionMenu/ActionMenu.d.ts +6 -5
  38. package/dist/ActionMenu/ActionMenu.d.ts.map +1 -1
  39. package/dist/ActionMenu/ActionMenu.js +11 -6
  40. package/dist/Autocomplete/Autocomplete.d.ts +6 -4
  41. package/dist/Autocomplete/Autocomplete.d.ts.map +1 -1
  42. package/dist/Autocomplete/Autocomplete.js +1 -0
  43. package/dist/Autocomplete/AutocompleteInput.js +1 -0
  44. package/dist/Autocomplete/AutocompleteMenu.d.ts +1 -0
  45. package/dist/Autocomplete/AutocompleteMenu.d.ts.map +1 -1
  46. package/dist/Autocomplete/AutocompleteMenu.js +1 -0
  47. package/dist/Autocomplete/AutocompleteOverlay.d.ts +1 -0
  48. package/dist/Autocomplete/AutocompleteOverlay.d.ts.map +1 -1
  49. package/dist/Autocomplete/AutocompleteOverlay.js +1 -0
  50. package/dist/AvatarStack/AvatarStack.d.ts.map +1 -1
  51. package/dist/AvatarStack/AvatarStack.js +1 -3
  52. package/dist/BranchName/BranchName.d.ts +9 -10
  53. package/dist/BranchName/BranchName.d.ts.map +1 -1
  54. package/dist/BranchName/BranchName.js +1 -8
  55. package/dist/Button/Button.d.ts +1 -5
  56. package/dist/Button/Button.d.ts.map +1 -1
  57. package/dist/Button/Button.js +2 -85
  58. package/dist/Button/ButtonBase.d.ts.map +1 -1
  59. package/dist/Button/ButtonBase.js +8 -93
  60. package/dist/Button/IconButton.d.ts.map +1 -1
  61. package/dist/Button/IconButton.js +0 -16
  62. package/dist/Button/LinkButton.d.ts +1 -1
  63. package/dist/Button/LinkButton.d.ts.map +1 -1
  64. package/dist/Button/types.d.ts +1 -3
  65. package/dist/Button/types.d.ts.map +1 -1
  66. package/dist/Checkbox/Checkbox.d.ts +3 -1
  67. package/dist/Checkbox/Checkbox.d.ts.map +1 -1
  68. package/dist/Checkbox/Checkbox.js +1 -0
  69. package/dist/CheckboxGroup/CheckboxGroup.d.ts +8 -7
  70. package/dist/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  71. package/dist/CheckboxGroup/CheckboxGroup.js +4 -2
  72. package/dist/ConfirmationDialog/ConfirmationDialog-87ccf595.css +2 -0
  73. package/dist/ConfirmationDialog/ConfirmationDialog-87ccf595.css.map +1 -0
  74. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -1
  75. package/dist/ConfirmationDialog/ConfirmationDialog.js +4 -1
  76. package/dist/ConfirmationDialog/ConfirmationDialog.module.css.js +1 -1
  77. package/dist/DataTable/Table.d.ts +3 -3
  78. package/dist/DataTable/Table.d.ts.map +1 -1
  79. package/dist/DataTable/Table.js +24 -19
  80. package/dist/FeatureFlags/DefaultFeatureFlags.d.ts.map +1 -1
  81. package/dist/FeatureFlags/DefaultFeatureFlags.js +2 -1
  82. package/dist/FilteredActionList/FilteredActionList-f6c2dc7a.css +2 -0
  83. package/dist/FilteredActionList/FilteredActionList-f6c2dc7a.css.map +1 -0
  84. package/dist/FilteredActionList/FilteredActionList.d.ts.map +1 -1
  85. package/dist/FilteredActionList/FilteredActionList.js +2 -7
  86. package/dist/FilteredActionList/FilteredActionList.module.css.js +2 -2
  87. package/dist/FilteredActionList/types.d.ts +5 -2
  88. package/dist/FilteredActionList/types.d.ts.map +1 -1
  89. package/dist/FormControl/FormControl.d.ts +8 -36
  90. package/dist/FormControl/FormControl.d.ts.map +1 -1
  91. package/dist/FormControl/FormControl.js +64 -66
  92. package/dist/FormControl/FormControlCaption.d.ts +6 -4
  93. package/dist/FormControl/FormControlCaption.d.ts.map +1 -1
  94. package/dist/FormControl/FormControlCaption.js +9 -13
  95. package/dist/FormControl/FormControlLabel.d.ts +3 -3
  96. package/dist/FormControl/FormControlLabel.d.ts.map +1 -1
  97. package/dist/FormControl/FormControlLabel.js +25 -31
  98. package/dist/FormControl/FormControlLeadingVisual-e217df71.css +2 -0
  99. package/dist/FormControl/FormControlLeadingVisual-e217df71.css.map +1 -0
  100. package/dist/FormControl/FormControlLeadingVisual.d.ts +2 -2
  101. package/dist/FormControl/FormControlLeadingVisual.d.ts.map +1 -1
  102. package/dist/FormControl/FormControlLeadingVisual.js +10 -17
  103. package/dist/FormControl/FormControlLeadingVisual.module.css.js +5 -0
  104. package/dist/FormControl/_FormControlContext.js +1 -1
  105. package/dist/FormControl/_FormControlValidation.d.ts +3 -3
  106. package/dist/FormControl/_FormControlValidation.d.ts.map +1 -1
  107. package/dist/FormControl/_FormControlValidation.js +7 -9
  108. package/dist/FormControl/index.d.ts +4 -0
  109. package/dist/FormControl/index.d.ts.map +1 -1
  110. package/dist/KeybindingHint/components/Chord-d4edcc89.css +2 -0
  111. package/dist/KeybindingHint/components/Chord-d4edcc89.css.map +1 -0
  112. package/dist/KeybindingHint/components/Chord.module.css.js +1 -1
  113. package/dist/LabelGroup/LabelGroup-7d19205a.css +2 -0
  114. package/dist/LabelGroup/LabelGroup-7d19205a.css.map +1 -0
  115. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -1
  116. package/dist/LabelGroup/LabelGroup.js +14 -27
  117. package/dist/LabelGroup/LabelGroup.module.css.js +2 -2
  118. package/dist/NavList/NavList.d.ts +3 -3
  119. package/dist/NavList/NavList.d.ts.map +1 -1
  120. package/dist/NavList/NavList.js +2 -1
  121. package/dist/Octicon/Octicon.d.ts +7 -6
  122. package/dist/Octicon/Octicon.d.ts.map +1 -1
  123. package/dist/Octicon/Octicon.js +4 -23
  124. package/dist/Overlay/Overlay.d.ts.map +1 -1
  125. package/dist/Overlay/Overlay.js +63 -85
  126. package/dist/PageHeader/PageHeader.d.ts +3 -3
  127. package/dist/PageHeader/PageHeader.d.ts.map +1 -1
  128. package/dist/PageHeader/PageHeader.js +5 -2
  129. package/dist/PageLayout/{PageLayout-8a294e74.css → PageLayout-a276fa3b.css} +2 -2
  130. package/dist/PageLayout/PageLayout-a276fa3b.css.map +1 -0
  131. package/dist/PageLayout/PageLayout.d.ts +14 -58
  132. package/dist/PageLayout/PageLayout.d.ts.map +1 -1
  133. package/dist/PageLayout/PageLayout.js +216 -245
  134. package/dist/PageLayout/PageLayout.module.css.js +2 -2
  135. package/dist/Radio/Radio.d.ts +3 -1
  136. package/dist/Radio/Radio.d.ts.map +1 -1
  137. package/dist/Radio/Radio.js +1 -0
  138. package/dist/RadioGroup/RadioGroup.d.ts +6 -5
  139. package/dist/RadioGroup/RadioGroup.d.ts.map +1 -1
  140. package/dist/RadioGroup/RadioGroup.js +1 -0
  141. package/dist/SegmentedControl/SegmentedControl.d.ts +3 -2
  142. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  143. package/dist/SegmentedControl/SegmentedControl.js +11 -14
  144. package/dist/SegmentedControl/SegmentedControlButton.d.ts +2 -1
  145. package/dist/SegmentedControl/SegmentedControlButton.d.ts.map +1 -1
  146. package/dist/SegmentedControl/SegmentedControlButton.js +1 -0
  147. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts +2 -1
  148. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts.map +1 -1
  149. package/dist/SegmentedControl/SegmentedControlIconButton.js +1 -0
  150. package/dist/Select/Select.d.ts +1 -0
  151. package/dist/Select/Select.d.ts.map +1 -1
  152. package/dist/Select/Select.js +1 -0
  153. package/dist/SelectPanel/SelectPanel.d.ts +2 -1
  154. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  155. package/dist/SelectPanel/SelectPanel.js +1 -0
  156. package/dist/Skeleton/SkeletonBox.d.ts.map +1 -1
  157. package/dist/Skeleton/SkeletonBox.js +26 -20
  158. package/dist/SkeletonAvatar/SkeletonAvatar.d.ts.map +1 -1
  159. package/dist/SkeletonAvatar/SkeletonAvatar.js +53 -62
  160. package/dist/StateLabel/{StateLabel-aaa1d148.css → StateLabel-b586b0bc.css} +2 -2
  161. package/dist/StateLabel/StateLabel-b586b0bc.css.map +1 -0
  162. package/dist/StateLabel/StateLabel.d.ts.map +1 -1
  163. package/dist/StateLabel/StateLabel.js +28 -39
  164. package/dist/StateLabel/StateLabel.module.css.js +1 -1
  165. package/dist/SubNav/SubNav.d.ts +4 -1
  166. package/dist/SubNav/SubNav.d.ts.map +1 -1
  167. package/dist/SubNav/SubNav.js +3 -1
  168. package/dist/Text/Text.d.ts +16 -8
  169. package/dist/Text/Text.d.ts.map +1 -1
  170. package/dist/Text/Text.js +34 -31
  171. package/dist/TextInput/TextInput.d.ts +3 -2
  172. package/dist/TextInput/TextInput.d.ts.map +1 -1
  173. package/dist/TextInput/TextInput.js +2 -3
  174. package/dist/TextInput/index.d.ts +1 -0
  175. package/dist/TextInput/index.d.ts.map +1 -1
  176. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts +3 -1
  177. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts.map +1 -1
  178. package/dist/TextInputWithTokens/TextInputWithTokens.js +205 -211
  179. package/dist/Textarea/Textarea.d.ts +5 -4
  180. package/dist/Textarea/Textarea.d.ts.map +1 -1
  181. package/dist/Textarea/Textarea.js +40 -45
  182. package/dist/Tooltip/Tooltip-fffa9948.css +2 -0
  183. package/dist/Tooltip/Tooltip-fffa9948.css.map +1 -0
  184. package/dist/Tooltip/Tooltip.d.ts +6 -8
  185. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  186. package/dist/Tooltip/Tooltip.js +44 -118
  187. package/dist/Tooltip/Tooltip.module.css.js +5 -0
  188. package/dist/TooltipV2/Tooltip.d.ts +3 -16
  189. package/dist/TooltipV2/Tooltip.d.ts.map +1 -1
  190. package/dist/TooltipV2/Tooltip.js +1 -0
  191. package/dist/TreeView/TreeView.d.ts +4 -1
  192. package/dist/TreeView/TreeView.d.ts.map +1 -1
  193. package/dist/TreeView/TreeView.js +42 -9
  194. package/dist/Truncate/Truncate.d.ts +2 -2
  195. package/dist/Truncate/Truncate.d.ts.map +1 -1
  196. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css +2 -0
  197. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css.map +1 -0
  198. package/dist/UnderlineNav/UnderlineNav.d.ts +0 -1
  199. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  200. package/dist/UnderlineNav/UnderlineNav.js +45 -17
  201. package/dist/UnderlineNav/UnderlineNav.module.css.js +2 -2
  202. package/dist/UnderlineNav/UnderlineNavContext.d.ts +0 -2
  203. package/dist/UnderlineNav/UnderlineNavContext.d.ts.map +1 -1
  204. package/dist/UnderlineNav/UnderlineNavContext.js +0 -1
  205. package/dist/UnderlineNav/styles.d.ts +1 -23
  206. package/dist/UnderlineNav/styles.d.ts.map +1 -1
  207. package/dist/UnderlineNav/styles.js +4 -59
  208. package/dist/constants.js +3 -3
  209. package/dist/deprecated/ActionList/Divider-7c6b656a.css +2 -0
  210. package/dist/deprecated/ActionList/Divider-7c6b656a.css.map +1 -0
  211. package/dist/deprecated/ActionList/Divider.d.ts +1 -2
  212. package/dist/deprecated/ActionList/Divider.d.ts.map +1 -1
  213. package/dist/deprecated/ActionList/Divider.js +6 -12
  214. package/dist/deprecated/ActionList/Divider.module.css.js +5 -0
  215. package/dist/deprecated/ActionList/Group.d.ts +1 -2
  216. package/dist/deprecated/ActionList/Group.d.ts.map +1 -1
  217. package/dist/deprecated/ActionList/Group.js +1 -8
  218. package/dist/deprecated/ActionList/Header-493b1d76.css +2 -0
  219. package/dist/deprecated/ActionList/Header-493b1d76.css.map +1 -0
  220. package/dist/deprecated/ActionList/Header.d.ts +2 -6
  221. package/dist/deprecated/ActionList/Header.d.ts.map +1 -1
  222. package/dist/deprecated/ActionList/Header.js +46 -37
  223. package/dist/deprecated/ActionList/Header.module.css.js +5 -0
  224. package/dist/deprecated/ActionList/Item-cf87f98a.css +3 -0
  225. package/dist/deprecated/ActionList/Item-cf87f98a.css.map +1 -0
  226. package/dist/deprecated/ActionList/Item.d.ts +1 -5
  227. package/dist/deprecated/ActionList/Item.d.ts.map +1 -1
  228. package/dist/deprecated/ActionList/Item.js +182 -271
  229. package/dist/deprecated/ActionList/Item.module.css.js +5 -0
  230. package/dist/deprecated/ActionList/List-1ec9d6d9.css +2 -0
  231. package/dist/deprecated/ActionList/List-1ec9d6d9.css.map +1 -0
  232. package/dist/deprecated/ActionList/List.d.ts +1 -0
  233. package/dist/deprecated/ActionList/List.d.ts.map +1 -1
  234. package/dist/deprecated/ActionList/List.js +92 -82
  235. package/dist/deprecated/ActionList/List.module.css.js +5 -0
  236. package/dist/deprecated/UnderlineNav/UnderlineNav-0c1e0dff.css +2 -0
  237. package/dist/deprecated/UnderlineNav/UnderlineNav-0c1e0dff.css.map +1 -0
  238. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts +6 -8
  239. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  240. package/dist/deprecated/UnderlineNav/UnderlineNav.js +90 -49
  241. package/dist/deprecated/UnderlineNav/UnderlineNav.module.css.js +5 -0
  242. package/dist/experimental/SelectPanel2/SelectPanel.d.ts +11 -7
  243. package/dist/experimental/SelectPanel2/SelectPanel.d.ts.map +1 -1
  244. package/dist/experimental/SelectPanel2/SelectPanel.js +6 -1
  245. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts +6 -6
  246. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +1 -1
  247. package/dist/experimental/UnderlinePanels/UnderlinePanels.js +8 -4
  248. package/dist/hooks/useSlots.d.ts.map +1 -1
  249. package/dist/hooks/useSlots.js +3 -2
  250. package/dist/hooks/useSyncedState.js +1 -1
  251. package/dist/index.d.ts +5 -1
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +3 -1
  254. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts +6 -7
  255. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts.map +1 -1
  256. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.js +7 -9
  257. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts +4 -4
  258. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts.map +1 -1
  259. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.js +1 -0
  260. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts +2 -1
  261. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts.map +1 -1
  262. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.js +1 -0
  263. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts +3 -3
  264. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts.map +1 -1
  265. package/dist/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.js +2 -3
  266. package/dist/internal/components/InputLabel.d.ts +2 -3
  267. package/dist/internal/components/InputLabel.d.ts.map +1 -1
  268. package/dist/internal/components/InputLabel.js +29 -36
  269. package/dist/internal/components/InputValidation.d.ts +1 -2
  270. package/dist/internal/components/InputValidation.d.ts.map +1 -1
  271. package/dist/internal/components/TextInputInnerAction.d.ts +16 -2
  272. package/dist/internal/components/TextInputInnerAction.d.ts.map +1 -1
  273. package/dist/internal/components/TextInputInnerAction.js +46 -60
  274. package/dist/internal/components/TextInputWrapper.d.ts +10 -32
  275. package/dist/internal/components/TextInputWrapper.d.ts.map +1 -1
  276. package/dist/internal/components/TextInputWrapper.js +87 -58
  277. package/dist/internal/components/UnstyledTextInput.d.ts +1 -2
  278. package/dist/internal/components/UnstyledTextInput.d.ts.map +1 -1
  279. package/dist/internal/components/UnstyledTextInput.js +1 -3
  280. package/dist/internal/components/ValidationAnimationContainer-04125429.css +2 -0
  281. package/dist/internal/components/ValidationAnimationContainer-04125429.css.map +1 -0
  282. package/dist/internal/components/ValidationAnimationContainer.d.ts.map +1 -1
  283. package/dist/internal/components/ValidationAnimationContainer.js +4 -9
  284. package/dist/internal/components/ValidationAnimationContainer.module.css.js +5 -0
  285. package/dist/utils/form-story-helpers.d.ts.map +1 -1
  286. package/dist/utils/is-slot.d.ts +6 -0
  287. package/dist/utils/is-slot.d.ts.map +1 -0
  288. package/dist/utils/is-slot.js +15 -0
  289. package/dist/utils/polymorphic.d.ts +2 -1
  290. package/dist/utils/polymorphic.d.ts.map +1 -1
  291. package/dist/utils/types/Slots.d.ts +7 -0
  292. package/dist/utils/types/Slots.d.ts.map +1 -0
  293. package/dist/utils/types/index.d.ts +1 -0
  294. package/dist/utils/types/index.d.ts.map +1 -1
  295. package/generated/components.json +21 -119
  296. package/package.json +2 -1
  297. package/dist/Button/styles.d.ts +0 -431
  298. package/dist/Button/styles.d.ts.map +0 -1
  299. package/dist/Button/styles.js +0 -5
  300. package/dist/ConfirmationDialog/ConfirmationDialog-de0401ff.css +0 -2
  301. package/dist/ConfirmationDialog/ConfirmationDialog-de0401ff.css.map +0 -1
  302. package/dist/FilteredActionList/FilteredActionList-e1eb1b75.css +0 -2
  303. package/dist/FilteredActionList/FilteredActionList-e1eb1b75.css.map +0 -1
  304. package/dist/KeybindingHint/components/Chord-81099645.css +0 -2
  305. package/dist/KeybindingHint/components/Chord-81099645.css.map +0 -1
  306. package/dist/LabelGroup/LabelGroup-eda75c0f.css +0 -2
  307. package/dist/LabelGroup/LabelGroup-eda75c0f.css.map +0 -1
  308. package/dist/PageLayout/PageLayout-8a294e74.css.map +0 -1
  309. package/dist/StateLabel/StateLabel-aaa1d148.css.map +0 -1
  310. package/dist/UnderlineNav/UnderlineNav-78db938f.css +0 -2
  311. package/dist/UnderlineNav/UnderlineNav-78db938f.css.map +0 -1
  312. package/dist/internal/components/BoxWithFallback.d.ts +0 -6
  313. package/dist/internal/components/BoxWithFallback.d.ts.map +0 -1
  314. package/dist/internal/components/BoxWithFallback.js +0 -70
  315. package/dist/internal/utils/getGlobalFocusStyles.d.ts +0 -4
  316. package/dist/internal/utils/getGlobalFocusStyles.d.ts.map +0 -1
  317. package/dist/internal/utils/getGlobalFocusStyles.js +0 -7
  318. package/dist/internal/utils/sharedCheckboxAndRadioStyles.d.ts +0 -2
  319. package/dist/internal/utils/sharedCheckboxAndRadioStyles.d.ts.map +0 -1
  320. package/dist/utils/defaultSxProp.d.ts +0 -3
  321. package/dist/utils/defaultSxProp.d.ts.map +0 -1
  322. package/dist/utils/defaultSxProp.js +0 -3
  323. package/dist/utils/includeSystemProps.d.ts +0 -7
  324. package/dist/utils/includeSystemProps.d.ts.map +0 -1
  325. package/dist/utils/includeSystemProps.js +0 -14
@@ -19,15 +19,13 @@
19
19
  "name": "aria-label",
20
20
  "type": "string",
21
21
  "required": false,
22
- "description": "When provided, a label is added to the action bar",
23
- "defaultValue": ""
22
+ "description": "When provided, a label is added to the action bar"
24
23
  },
25
24
  {
26
25
  "name": "aria-labelledby",
27
26
  "type": "string",
28
27
  "required": false,
29
- "description": "When provided, uses the element with that ID as the accessible name for the ActionBar",
30
- "defaultValue": ""
28
+ "description": "When provided, uses the element with that ID as the accessible name for the ActionBar"
31
29
  },
32
30
  {
33
31
  "name": "children",
@@ -40,15 +38,15 @@
40
38
  "name": "size",
41
39
  "type": "'small' | 'large' | 'medium'",
42
40
  "required": false,
43
- "description": "Size of the action bar",
44
- "defaultValue": ""
41
+ "defaultValue": "'medium'",
42
+ "description": "Size of the action bar"
45
43
  },
46
44
  {
47
45
  "name": "flush",
48
46
  "type": "boolean",
49
47
  "required": false,
50
- "description": "Allows ActionBar to be flush with the container",
51
- "defaultValue": "false"
48
+ "defaultValue": "false",
49
+ "description": "Allows ActionBar to be flush with the container"
52
50
  },
53
51
  {
54
52
  "name": "className",
@@ -275,11 +273,6 @@
275
273
  "type": "AriaRole",
276
274
  "defaultValue": "",
277
275
  "description": "ARIA role describing the function of the list. `listbox` and `menu` are a common values."
278
- },
279
- {
280
- "name": "sx",
281
- "type": "SystemStyleObject",
282
- "deprecated": true
283
276
  }
284
277
  ],
285
278
  "subcomponents": [
@@ -352,11 +345,6 @@
352
345
  "required": false,
353
346
  "description": "id to attach to the root element of the Item",
354
347
  "defaultValue": ""
355
- },
356
- {
357
- "name": "sx",
358
- "type": "SystemStyleObject",
359
- "deprecated": true
360
348
  }
361
349
  ]
362
350
  },
@@ -383,11 +371,6 @@
383
371
  "required": false,
384
372
  "description": "",
385
373
  "defaultValue": ""
386
- },
387
- {
388
- "name": "sx",
389
- "type": "SystemStyleObject",
390
- "deprecated": true
391
374
  }
392
375
  ]
393
376
  },
@@ -422,11 +405,6 @@
422
405
  "required": false,
423
406
  "description": "Text describing why the item is inactive. This may be used when an item's usual functionality\nis unavailable due to a system error such as a database outage.",
424
407
  "defaultValue": ""
425
- },
426
- {
427
- "name": "sx",
428
- "type": "SystemStyleObject",
429
- "deprecated": true
430
408
  }
431
409
  ],
432
410
  "passthrough": {
@@ -443,11 +421,6 @@
443
421
  "defaultValue": "",
444
422
  "required": true,
445
423
  "description": "Icon (or similar) positioned before item text."
446
- },
447
- {
448
- "name": "sx",
449
- "type": "SystemStyleObject",
450
- "deprecated": true
451
424
  }
452
425
  ]
453
426
  },
@@ -460,11 +433,6 @@
460
433
  "defaultValue": "",
461
434
  "required": true,
462
435
  "description": "Visual positioned after item text."
463
- },
464
- {
465
- "name": "sx",
466
- "type": "SystemStyleObject",
467
- "deprecated": true
468
436
  }
469
437
  ]
470
438
  },
@@ -521,11 +489,6 @@
521
489
  "defaultValue": "'inline'",
522
490
  "description": "`inline` descriptions are positioned beside primary text. `block` descriptions are positioned below primary text."
523
491
  },
524
- {
525
- "name": "sx",
526
- "type": "SystemStyleObject",
527
- "deprecated": true
528
- },
529
492
  {
530
493
  "name": "className",
531
494
  "type": "string | undefined",
@@ -576,11 +539,6 @@
576
539
  "defaultValue": "h3",
577
540
  "required": false,
578
541
  "description": "The level of the heading and it is only required (enforce by runtime warning) for lists. (i.e. not required for ActionMenu or listbox roles)"
579
- },
580
- {
581
- "name": "sx",
582
- "type": "SystemStyleObject",
583
- "deprecated": true
584
542
  }
585
543
  ]
586
544
  },
@@ -624,22 +582,6 @@
624
582
  "type": "AriaRole",
625
583
  "defaultValue": "",
626
584
  "description": "ARIA role describing the function of the list inside the group. `listbox` and `menu` are a common values."
627
- },
628
- {
629
- "name": "sx",
630
- "type": "SystemStyleObject",
631
- "deprecated": true
632
- }
633
- ]
634
- },
635
- {
636
- "filePath": "/Users/mperrotti/work-dir/react/packages/react/src/ActionList/Divider.tsx",
637
- "name": "ActionList.Divider",
638
- "props": [
639
- {
640
- "name": "sx",
641
- "type": "SystemStyleObject",
642
- "deprecated": true
643
585
  }
644
586
  ]
645
587
  }
@@ -1922,11 +1864,6 @@
1922
1864
  "type": "'small'\n| 'medium'\n| 'large'",
1923
1865
  "defaultValue": "'medium'"
1924
1866
  },
1925
- {
1926
- "name": "sx",
1927
- "type": "SystemStyleObject",
1928
- "deprecated": true
1929
- },
1930
1867
  {
1931
1868
  "name": "trailingIcon",
1932
1869
  "type": "React.ComponentType<OcticonProps>",
@@ -2112,11 +2049,6 @@
2112
2049
  "required": false,
2113
2050
  "description": "If `description` is provided, we will use a Tooltip to describe the button. Then `aria-label` is used to label the button.",
2114
2051
  "defaultValue": ""
2115
- },
2116
- {
2117
- "name": "sx",
2118
- "type": "SystemStyleObject",
2119
- "deprecated": true
2120
2052
  }
2121
2053
  ],
2122
2054
  "subcomponents": []
@@ -2431,7 +2363,7 @@
2431
2363
  },
2432
2364
  {
2433
2365
  "id": "components-confirmationdialog-features--shorthand-hook",
2434
- "code": "() => {\n const confirm = useConfirm()\n const { theme } = useTheme()\n const onButtonClick = useCallback(\n async (event: React.MouseEvent) => {\n if (\n (await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to turn this button green?',\n })) &&\n event.target instanceof HTMLElement\n ) {\n event.target.style.color = theme?.colors.success.fg ?? 'green'\n event.target.textContent = \"I'm green!\"\n }\n },\n [confirm, theme],\n )\n return (\n <div className={classes.ButtonContainer}>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n </div>\n )\n}"
2366
+ "code": "() => {\n const confirm = useConfirm()\n const onButtonClick = useCallback(\n async (event: React.MouseEvent) => {\n if (\n (await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to turn this button green?',\n })) &&\n event.target instanceof HTMLElement\n ) {\n event.target.style.color = 'var(--fgColor-success)'\n event.target.textContent = \"I'm green!\"\n }\n },\n [confirm],\n )\n return (\n <div className={classes.ButtonContainer}>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n </div>\n )\n}"
2435
2367
  },
2436
2368
  {
2437
2369
  "id": "components-confirmationdialog-features--shorthand-hook-from-action-menu",
@@ -3468,11 +3400,6 @@
3468
3400
  "description": "Class name(s) for custom styling.",
3469
3401
  "defaultValue": ""
3470
3402
  },
3471
- {
3472
- "name": "sx",
3473
- "type": "SystemStyleObject",
3474
- "deprecated": true
3475
- },
3476
3403
  {
3477
3404
  "name": "ref",
3478
3405
  "type": "React.RefObject<HTMLDivElement>"
@@ -3522,11 +3449,6 @@
3522
3449
  "type": "string",
3523
3450
  "description": "Class name(s) for custom styling.",
3524
3451
  "defaultValue": ""
3525
- },
3526
- {
3527
- "name": "sx",
3528
- "type": "SystemStyleObject",
3529
- "deprecated": true
3530
3452
  }
3531
3453
  ]
3532
3454
  },
@@ -3544,11 +3466,6 @@
3544
3466
  "type": "React.ReactNode",
3545
3467
  "defaultValue": "",
3546
3468
  "description": "The content (usually just text) that is rendered to give contextual info about the field"
3547
- },
3548
- {
3549
- "name": "sx",
3550
- "type": "SystemStyleObject",
3551
- "deprecated": true
3552
3469
  }
3553
3470
  ]
3554
3471
  },
@@ -3573,11 +3490,6 @@
3573
3490
  "type": "string",
3574
3491
  "description": "May be used to override the ID assigned by FormControl's React Context",
3575
3492
  "defaultValue": ""
3576
- },
3577
- {
3578
- "name": "sx",
3579
- "type": "SystemStyleObject",
3580
- "deprecated": true
3581
3493
  }
3582
3494
  ]
3583
3495
  },
@@ -3589,11 +3501,6 @@
3589
3501
  "type": "React.ReactNode",
3590
3502
  "defaultValue": "",
3591
3503
  "description": "The visual to render before the choice input's label"
3592
- },
3593
- {
3594
- "name": "sx",
3595
- "type": "SystemStyleObject",
3596
- "deprecated": true
3597
3504
  }
3598
3505
  ]
3599
3506
  }
@@ -4288,11 +4195,6 @@
4288
4195
  "type": "string",
4289
4196
  "defaultValue": "text-bottom",
4290
4197
  "description": "Sets the `vertical-align` CSS property"
4291
- },
4292
- {
4293
- "name": "sx",
4294
- "type": "SystemStyleObject",
4295
- "deprecated": true
4296
4198
  }
4297
4199
  ],
4298
4200
  "subcomponents": []
@@ -4314,7 +4216,7 @@
4314
4216
  },
4315
4217
  {
4316
4218
  "id": "private-components-overlay-features--positioned-overlays",
4317
- "code": "({ right, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const [direction, setDirection] = useState<'left' | 'right'>(\n right ? 'right' : 'left',\n )\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <div ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('left')\n }}\n >\n Open left overlay\n </Button>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('right')\n }}\n sx={{\n mt: 2,\n }}\n >\n Open right overlay\n </Button>\n {isOpen || open ? (\n direction === 'left' ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide=\"inside-right\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Left aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonLeft}\n />\n <Text>Look! left aligned</Text>\n </div>\n </div>\n </Overlay>\n ) : (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide={'inside-left'}\n right={0}\n position=\"fixed\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Right aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonRight}\n />\n <Text>Look! right aligned</Text>\n </div>\n </div>\n </Overlay>\n )\n ) : null}\n </div>\n )\n}"
4219
+ "code": "({ right, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const [direction, setDirection] = useState<'left' | 'right'>(\n right ? 'right' : 'left',\n )\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <div ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('left')\n }}\n >\n Open left overlay\n </Button>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('right')\n }}\n style={{\n marginTop: '8px',\n }}\n >\n Open right overlay\n </Button>\n {isOpen || open ? (\n direction === 'left' ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide=\"inside-right\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Left aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonLeft}\n />\n <Text>Look! left aligned</Text>\n </div>\n </div>\n </Overlay>\n ) : (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide={'inside-left'}\n right={0}\n position=\"fixed\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Right aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonRight}\n />\n <Text>Look! right aligned</Text>\n </div>\n </div>\n </Overlay>\n )\n ) : null}\n </div>\n )\n}"
4318
4220
  }
4319
4221
  ],
4320
4222
  "importPath": "@primer/react",
@@ -4840,7 +4742,7 @@
4840
4742
  "stories": [
4841
4743
  {
4842
4744
  "id": "components-pagelayout--default",
4843
- "code": "(args) => (\n <PageLayout\n containerWidth={args.containerWidth}\n padding={args.padding}\n rowGap={args.rowGap}\n columnGap={args.columnGap}\n sx={args.sx}\n >\n {args['Render header?'] ? (\n <PageLayout.Header\n padding={args['Header.padding']}\n divider={{\n narrow: args['Header.divider.narrow'],\n regular: args['Header.divider.regular'],\n wide: args['Header.divider.wide'],\n }}\n hidden={{\n narrow: args['Header.hidden.narrow'],\n regular: args['Header.hidden.regular'],\n wide: args['Header.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Header placeholder height']}\n label=\"Header\"\n />\n </PageLayout.Header>\n ) : null}\n <PageLayout.Content\n width={args['Content.width']}\n padding={args['Content.padding']}\n hidden={{\n narrow: args['Content.hidden.narrow'],\n regular: args['Content.hidden.regular'],\n wide: args['Content.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Content placeholder height']}\n label=\"Content\"\n />\n </PageLayout.Content>\n {args['Render pane?'] ? (\n <PageLayout.Pane\n position={{\n narrow: args['Pane.position.narrow'],\n regular: args['Pane.position.regular'],\n wide: args['Pane.position.wide'],\n }}\n width={args['Pane.width']}\n minWidth={args['Pane.minWidth']}\n sticky={args['Pane.sticky']}\n resizable={args['Pane.resizable']}\n padding={args['Pane.padding']}\n divider={{\n narrow: args['Pane.divider.narrow'],\n regular: args['Pane.divider.regular'],\n wide: args['Pane.divider.wide'],\n }}\n hidden={{\n narrow: args['Pane.hidden.narrow'],\n regular: args['Pane.hidden.regular'],\n wide: args['Pane.hidden.wide'],\n }}\n >\n <Placeholder height={args['Pane placeholder height']} label=\"Pane\" />\n </PageLayout.Pane>\n ) : null}\n {args['Render footer?'] ? (\n <PageLayout.Footer\n padding={args['Footer.padding']}\n divider={{\n narrow: args['Footer.divider.narrow'],\n regular: args['Footer.divider.regular'],\n wide: args['Footer.divider.wide'],\n }}\n hidden={{\n narrow: args['Footer.hidden.narrow'],\n regular: args['Footer.hidden.regular'],\n wide: args['Footer.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Footer placeholder height']}\n label=\"Footer\"\n />\n </PageLayout.Footer>\n ) : null}\n </PageLayout>\n)"
4745
+ "code": "(args) => (\n <PageLayout\n containerWidth={args.containerWidth}\n padding={args.padding}\n rowGap={args.rowGap}\n columnGap={args.columnGap}\n >\n {args['Render header?'] ? (\n <PageLayout.Header\n padding={args['Header.padding']}\n divider={{\n narrow: args['Header.divider.narrow'],\n regular: args['Header.divider.regular'],\n wide: args['Header.divider.wide'],\n }}\n hidden={{\n narrow: args['Header.hidden.narrow'],\n regular: args['Header.hidden.regular'],\n wide: args['Header.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Header placeholder height']}\n label=\"Header\"\n />\n </PageLayout.Header>\n ) : null}\n <PageLayout.Content\n width={args['Content.width']}\n padding={args['Content.padding']}\n hidden={{\n narrow: args['Content.hidden.narrow'],\n regular: args['Content.hidden.regular'],\n wide: args['Content.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Content placeholder height']}\n label=\"Content\"\n />\n </PageLayout.Content>\n {args['Render pane?'] ? (\n <PageLayout.Pane\n position={{\n narrow: args['Pane.position.narrow'],\n regular: args['Pane.position.regular'],\n wide: args['Pane.position.wide'],\n }}\n width={args['Pane.width']}\n minWidth={args['Pane.minWidth']}\n sticky={args['Pane.sticky']}\n resizable={args['Pane.resizable']}\n padding={args['Pane.padding']}\n divider={{\n narrow: args['Pane.divider.narrow'],\n regular: args['Pane.divider.regular'],\n wide: args['Pane.divider.wide'],\n }}\n hidden={{\n narrow: args['Pane.hidden.narrow'],\n regular: args['Pane.hidden.regular'],\n wide: args['Pane.hidden.wide'],\n }}\n >\n <Placeholder height={args['Pane placeholder height']} label=\"Pane\" />\n </PageLayout.Pane>\n ) : null}\n {args['Render footer?'] ? (\n <PageLayout.Footer\n padding={args['Footer.padding']}\n divider={{\n narrow: args['Footer.divider.narrow'],\n regular: args['Footer.divider.regular'],\n wide: args['Footer.divider.wide'],\n }}\n hidden={{\n narrow: args['Footer.hidden.narrow'],\n regular: args['Footer.hidden.regular'],\n wide: args['Footer.hidden.wide'],\n }}\n >\n <Placeholder\n height={args['Footer placeholder height']}\n label=\"Footer\"\n />\n </PageLayout.Footer>\n ) : null}\n </PageLayout>\n)"
4844
4746
  },
4845
4747
  {
4846
4748
  "id": "components-pagelayout-features--pull-request-page",
@@ -5890,7 +5792,7 @@
5890
5792
  },
5891
5793
  {
5892
5794
  "id": "components-segmentedcontrol-features--associated-with-a-label-and-caption",
5893
- "code": "() => (\n <div className={classes.LabelAndCaptionContainer}>\n <div className={classes.LabelAndCaption}>\n <Text className={classes.TextLargeBold} id=\"scLabel-vert\" display=\"block\">\n File view\n </Text>\n <Text\n className={classes.TextMediumSubtle}\n id=\"scCaption-vert\"\n display=\"block\"\n >\n Change the way the file is viewed\n </Text>\n </div>\n <SegmentedControl\n aria-labelledby=\"scLabel-vert\"\n aria-describedby=\"scCaption-vert\"\n >\n <SegmentedControl.Button defaultSelected>Preview</SegmentedControl.Button>\n <SegmentedControl.Button>Raw</SegmentedControl.Button>\n <SegmentedControl.Button>Blame</SegmentedControl.Button>\n </SegmentedControl>\n </div>\n)"
5795
+ "code": "() => (\n <div className={classes.LabelAndCaptionContainer}>\n <div className={classes.LabelAndCaption}>\n <Text\n className={classes.TextLargeBold}\n id=\"scLabel-vert\"\n style={{\n display: 'block',\n }}\n >\n File view\n </Text>\n <Text\n className={classes.TextMediumSubtle}\n id=\"scCaption-vert\"\n style={{\n display: 'block',\n }}\n >\n Change the way the file is viewed\n </Text>\n </div>\n <SegmentedControl\n aria-labelledby=\"scLabel-vert\"\n aria-describedby=\"scCaption-vert\"\n >\n <SegmentedControl.Button defaultSelected>Preview</SegmentedControl.Button>\n <SegmentedControl.Button>Raw</SegmentedControl.Button>\n <SegmentedControl.Button>Blame</SegmentedControl.Button>\n </SegmentedControl>\n </div>\n)"
5894
5796
  }
5895
5797
  ],
5896
5798
  "importPath": "@primer/react",
@@ -7291,24 +7193,24 @@
7291
7193
  },
7292
7194
  {
7293
7195
  "name": "width",
7294
- "type": "string | number | Array<string | number>",
7196
+ "type": "string | number",
7295
7197
  "defaultValue": "",
7296
7198
  "deprecated": true,
7297
- "description": "(Use sx prop) Set the width of the input"
7199
+ "description": "(Use css modules) Set the width of the input"
7298
7200
  },
7299
7201
  {
7300
7202
  "name": "maxWidth",
7301
- "type": "string | number | Array<string | number>",
7203
+ "type": "string | number",
7302
7204
  "defaultValue": "",
7303
7205
  "deprecated": true,
7304
- "description": "(Use sx prop) Set the maximum width of the input"
7206
+ "description": "(Use css modules) Set the maximum width of the input"
7305
7207
  },
7306
7208
  {
7307
7209
  "name": "minWidth",
7308
- "type": "string | number | Array<string | number>",
7210
+ "type": "string | number",
7309
7211
  "defaultValue": "",
7310
7212
  "deprecated": true,
7311
- "description": "(Use sx prop) Set the minimum width of the input"
7213
+ "description": "(Use css modules) Set the minimum width of the input"
7312
7214
  },
7313
7215
  {
7314
7216
  "name": "icon",
@@ -7631,7 +7533,7 @@
7631
7533
  },
7632
7534
  {
7633
7535
  "id": "components-timeline-features--timeline-break",
7634
- "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge className={classes.BadgeWithDoneBackground}>\n <Octicon\n icon={GitMergeIcon}\n color=\"fg.onEmphasis\"\n aria-label=\"Merged\"\n />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n <Timeline.Break />\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitBranchIcon} aria-label=\"Branch\" />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7536
+ "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge className={classes.BadgeWithDoneBackground}>\n <Octicon\n icon={GitMergeIcon}\n className={classes.GitMergeIcon}\n aria-label=\"Merged\"\n />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n <Timeline.Break />\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitBranchIcon} aria-label=\"Branch\" />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7635
7537
  },
7636
7538
  {
7637
7539
  "id": "components-timeline-features--with-inline-links",
@@ -8121,7 +8023,7 @@
8121
8023
  "stories": [
8122
8024
  {
8123
8025
  "id": "components-treeview--default",
8124
- "code": "() => (\n <nav aria-label=\"Files changed\">\n <TreeView aria-label=\"Files changed\">\n <TreeView.Item id=\"src\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n src\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Avatar.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Avatar.tsx\n <TreeView.TrailingVisual label=\"Added\">\n <Octicon icon={DiffAddedIcon} color=\"success.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button.tsx\" current>\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.tsx\n <TreeView.TrailingVisual label=\"Modified\">\n <Octicon icon={DiffModifiedIcon} color=\"attention.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"package.json\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n package.json\n <TreeView.TrailingVisual label=\"Modified\">\n <Octicon icon={DiffModifiedIcon} color=\"attention.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView>\n </nav>\n)"
8026
+ "code": "() => (\n <nav aria-label=\"Files changed\">\n <TreeView aria-label=\"Files changed\">\n <TreeView.Item id=\"src\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n src\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Avatar.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Avatar.tsx\n <TreeView.TrailingVisual label=\"Added\">\n <Octicon icon={DiffAddedIcon} className={classes.SuccessIcon} />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button.tsx\" current>\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.tsx\n <TreeView.TrailingVisual label=\"Modified\">\n <Octicon\n icon={DiffModifiedIcon}\n className={classes.AttentionIcon}\n />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"package.json\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n package.json\n <TreeView.TrailingVisual label=\"Modified\">\n <Octicon icon={DiffModifiedIcon} className={classes.AttentionIcon} />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView>\n </nav>\n)"
8125
8027
  },
8126
8028
  {
8127
8029
  "id": "components-treeview-features--files",
@@ -8129,7 +8031,7 @@
8129
8031
  },
8130
8032
  {
8131
8033
  "id": "components-treeview-features--files-changed",
8132
- "code": "() => {\n return (\n <nav aria-label=\"Files\">\n <TreeView aria-label=\"Files\" truncate={false}>\n <TreeView.Item id=\"src\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n src\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Avatar.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Avatar.tsx\n <TreeView.TrailingVisual label=\"added\">\n <Octicon icon={DiffAddedIcon} color=\"success.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n Button\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Button/Button.tsx\" current>\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon icon={DiffModifiedIcon} color=\"attention.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button/Button.test.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.test.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon icon={DiffModifiedIcon} color=\"attention.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"src/ReallyLongFileNameThatShouldBeTruncated.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n ReallyLongFileNameThatShouldBeTruncated.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon icon={DiffModifiedIcon} color=\"attention.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"public\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n public\n <TreeView.SubTree>\n <TreeView.Item id=\"public/index.html\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n index.html\n <TreeView.TrailingVisual label=\"renamed\">\n <Octicon icon={DiffRenamedIcon} />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"public/favicon.ico\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n favicon.ico\n <TreeView.TrailingVisual label=\"removed\">\n <Octicon icon={DiffRemovedIcon} color=\"danger.fg\" />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n </TreeView>\n </nav>\n )\n}"
8034
+ "code": "() => {\n return (\n <nav aria-label=\"Files\">\n <TreeView aria-label=\"Files\" truncate={false}>\n <TreeView.Item id=\"src\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n src\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Avatar.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Avatar.tsx\n <TreeView.TrailingVisual label=\"added\">\n <Octicon icon={DiffAddedIcon} className={classes.SuccessIcon} />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n Button\n <TreeView.SubTree>\n <TreeView.Item id=\"src/Button/Button.tsx\" current>\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon\n icon={DiffModifiedIcon}\n className={classes.AttentionIcon}\n />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"src/Button/Button.test.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n Button.test.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon\n icon={DiffModifiedIcon}\n className={classes.AttentionIcon}\n />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"src/ReallyLongFileNameThatShouldBeTruncated.tsx\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n ReallyLongFileNameThatShouldBeTruncated.tsx\n <TreeView.TrailingVisual label=\"modified\">\n <Octicon\n icon={DiffModifiedIcon}\n className={classes.AttentionIcon}\n />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n <TreeView.Item id=\"public\" defaultExpanded>\n <TreeView.LeadingVisual>\n <TreeView.DirectoryIcon />\n </TreeView.LeadingVisual>\n public\n <TreeView.SubTree>\n <TreeView.Item id=\"public/index.html\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n index.html\n <TreeView.TrailingVisual label=\"renamed\">\n <Octicon icon={DiffRenamedIcon} />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n <TreeView.Item id=\"public/favicon.ico\">\n <TreeView.LeadingVisual>\n <FileIcon />\n </TreeView.LeadingVisual>\n favicon.ico\n <TreeView.TrailingVisual label=\"removed\">\n <Octicon\n icon={DiffRemovedIcon}\n className={classes.DangerIcon}\n />\n </TreeView.TrailingVisual>\n </TreeView.Item>\n </TreeView.SubTree>\n </TreeView.Item>\n </TreeView>\n </nav>\n )\n}"
8133
8035
  },
8134
8036
  {
8135
8037
  "id": "components-treeview-features--async-success",
@@ -8692,7 +8594,7 @@
8692
8594
  },
8693
8595
  {
8694
8596
  "id": "deprecated-components-selectpanel-examples--with-groups",
8695
- "code": "() => {\n /* Selection */\n const initialAssigneeIds = data.issue.assigneeIds // mock initial state\n const [selectedAssigneeIds, setSelectedAssigneeIds] =\n React.useState<string[]>(initialAssigneeIds)\n const onCollaboratorSelect = (colloratorId: string) => {\n if (!selectedAssigneeIds.includes(colloratorId))\n setSelectedAssigneeIds([...selectedAssigneeIds, colloratorId])\n else\n setSelectedAssigneeIds(\n selectedAssigneeIds.filter((id) => id !== colloratorId),\n )\n }\n const onClearSelection = () => setSelectedAssigneeIds([])\n const onSubmit = () => {\n data.issue.assigneeIds = selectedAssigneeIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedAssigneeIds(initialAssigneeIds)\n }\n\n /* Filtering */\n const [filteredUsers, setFilteredUsers] = React.useState(data.collaborators)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredUsers(data.collaborators)\n else {\n setFilteredUsers(\n data.collaborators\n .map((collaborator) => {\n if (collaborator.login.toLowerCase().startsWith(query))\n return {\n priority: 1,\n collaborator,\n }\n else if (collaborator.name.startsWith(query))\n return {\n priority: 2,\n collaborator,\n }\n else if (collaborator.login.toLowerCase().includes(query))\n return {\n priority: 3,\n collaborator,\n }\n else if (collaborator.name.toLowerCase().includes(query))\n return {\n priority: 4,\n collaborator,\n }\n else\n return {\n priority: -1,\n collaborator,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.collaborator),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.assigneeIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredUsers : data.collaborators.sort(sortingFn)\n return (\n <>\n <h1>SelectPanel with groups</h1>\n\n <SelectPanel\n title=\"Request up to 100 reviewers\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button\n variant=\"invisible\"\n trailingAction={GearIcon}\n sx={{\n width: '200px',\n '[data-component=buttonContent]': {\n justifyContent: 'start',\n },\n }}\n >\n Reviewers\n </SelectPanel.Button>\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n <ActionList.Group>\n <ActionList.GroupHeading variant=\"filled\">\n Suggestions\n </ActionList.GroupHeading>\n {itemsToShow\n .filter((collaborator) => collaborator.recommended)\n .map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList.Group>\n <ActionList.Group>\n <ActionList.GroupHeading variant=\"filled\">\n Everyone else\n </ActionList.GroupHeading>\n {itemsToShow\n .filter((collaborator) => !collaborator.recommended)\n .map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList.Group>\n </ActionList>\n )}\n\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
8597
+ "code": "() => {\n /* Selection */\n const initialAssigneeIds = data.issue.assigneeIds // mock initial state\n const [selectedAssigneeIds, setSelectedAssigneeIds] =\n React.useState<string[]>(initialAssigneeIds)\n const onCollaboratorSelect = (collaboratorId: string) => {\n if (!selectedAssigneeIds.includes(collaboratorId))\n setSelectedAssigneeIds([...selectedAssigneeIds, collaboratorId])\n else\n setSelectedAssigneeIds(\n selectedAssigneeIds.filter((id) => id !== collaboratorId),\n )\n }\n const onClearSelection = () => setSelectedAssigneeIds([])\n const onSubmit = () => {\n data.issue.assigneeIds = selectedAssigneeIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedAssigneeIds(initialAssigneeIds)\n }\n\n /* Filtering */\n const [filteredUsers, setFilteredUsers] = React.useState(data.collaborators)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredUsers(data.collaborators)\n else {\n setFilteredUsers(\n data.collaborators\n .map((collaborator) => {\n if (collaborator.login.toLowerCase().startsWith(query))\n return {\n priority: 1,\n collaborator,\n }\n else if (collaborator.name.startsWith(query))\n return {\n priority: 2,\n collaborator,\n }\n else if (collaborator.login.toLowerCase().includes(query))\n return {\n priority: 3,\n collaborator,\n }\n else if (collaborator.name.toLowerCase().includes(query))\n return {\n priority: 4,\n collaborator,\n }\n else\n return {\n priority: -1,\n collaborator,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.collaborator),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.assigneeIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredUsers : data.collaborators.sort(sortingFn)\n return (\n <>\n <h1>SelectPanel with groups</h1>\n\n <SelectPanel\n title=\"Request up to 100 reviewers\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button\n variant=\"invisible\"\n trailingAction={GearIcon}\n style={{\n width: '200px',\n }}\n className={classes.ButtonContentStartJustify}\n >\n Reviewers\n </SelectPanel.Button>\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n <ActionList.Group>\n <ActionList.GroupHeading variant=\"filled\">\n Suggestions\n </ActionList.GroupHeading>\n {itemsToShow\n .filter((collaborator) => collaborator.recommended)\n .map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList.Group>\n <ActionList.Group>\n <ActionList.GroupHeading variant=\"filled\">\n Everyone else\n </ActionList.GroupHeading>\n {itemsToShow\n .filter((collaborator) => !collaborator.recommended)\n .map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList.Group>\n </ActionList>\n )}\n\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
8696
8598
  },
8697
8599
  {
8698
8600
  "id": "deprecated-components-selectpanel-examples--async-search-with-use-transition",
@@ -8704,7 +8606,7 @@
8704
8606
  },
8705
8607
  {
8706
8608
  "id": "deprecated-components-selectpanel-examples--with-filter-buttons",
8707
- "code": "() => {\n const [selectedFilter, setSelectedFilter] = React.useState<\n 'branches' | 'tags'\n >('branches')\n\n /* Selection */\n const [savedInitialRef, setSavedInitialRef] = React.useState(data.ref)\n const [selectedRef, setSelectedRef] = React.useState(savedInitialRef)\n const onSubmit = () => {\n setSavedInitialRef(selectedRef)\n data.ref = selectedRef // pretending to persist changes\n\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setSelectedRef(savedInitialRef)\n }\n\n /* Filter */\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n }\n const [filteredRefs, setFilteredRefs] = React.useState(data.branches)\n const setSearchResults = (\n query: string,\n selectedFilter: 'branches' | 'tags',\n ) => {\n if (query === '') setFilteredRefs(data[selectedFilter])\n else {\n setFilteredRefs(\n data[selectedFilter]\n .map((item) => {\n if (item.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n item,\n }\n else if (item.name.toLowerCase().includes(query))\n return {\n priority: 2,\n item,\n }\n else\n return {\n priority: -1,\n item,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.item),\n )\n }\n }\n React.useEffect(\n function updateSearchResults() {\n setSearchResults(query, selectedFilter)\n },\n [query, selectedFilter],\n )\n const sortingFn = (ref: { id: string }) => {\n if (ref.id === savedInitialRef) return -1\n else return 1\n }\n const itemsToShow = query\n ? filteredRefs\n : data[selectedFilter].sort(sortingFn)\n return (\n <>\n <h1>With Filter Buttons {savedInitialRef}</h1>\n\n <SelectPanel\n title=\"Switch branches/tags\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button\n leadingVisual={GitBranchIcon}\n trailingVisual={TriangleDownIcon}\n >\n {savedInitialRef}\n </SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n\n <div id=\"filters\" className={classes.FilterButtons}>\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight:\n selectedFilter === 'branches' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('branches')}\n count={20}\n >\n Branches\n </Button>\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight: selectedFilter === 'tags' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('tags')}\n count={8}\n >\n Tags\n </Button>\n </div>\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((item) => (\n <ActionList.Item\n key={item.id}\n selected={selectedRef === item.id}\n onSelect={() => setSelectedRef(item.id)}\n >\n {item.name}\n <ActionList.TrailingVisual>\n {item.trailingInfo}\n </ActionList.TrailingVisual>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction\n variant=\"link\"\n href={`/${selectedFilter}`}\n >\n View all {selectedFilter}\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
8609
+ "code": "() => {\n const [selectedFilter, setSelectedFilter] = React.useState<\n 'branches' | 'tags'\n >('branches')\n\n /* Selection */\n const [savedInitialRef, setSavedInitialRef] = React.useState(data.ref)\n const [selectedRef, setSelectedRef] = React.useState(savedInitialRef)\n const onSubmit = () => {\n setSavedInitialRef(selectedRef)\n data.ref = selectedRef // pretending to persist changes\n\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setSelectedRef(savedInitialRef)\n }\n\n /* Filter */\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n }\n const [filteredRefs, setFilteredRefs] = React.useState(data.branches)\n const setSearchResults = (\n query: string,\n selectedFilter: 'branches' | 'tags',\n ) => {\n if (query === '') setFilteredRefs(data[selectedFilter])\n else {\n setFilteredRefs(\n data[selectedFilter]\n .map((item) => {\n if (item.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n item,\n }\n else if (item.name.toLowerCase().includes(query))\n return {\n priority: 2,\n item,\n }\n else\n return {\n priority: -1,\n item,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.item),\n )\n }\n }\n React.useEffect(\n function updateSearchResults() {\n setSearchResults(query, selectedFilter)\n },\n [query, selectedFilter],\n )\n const sortingFn = (ref: { id: string }) => {\n if (ref.id === savedInitialRef) return -1\n else return 1\n }\n const itemsToShow = query\n ? filteredRefs\n : data[selectedFilter].sort(sortingFn)\n return (\n <>\n <h1>With Filter Buttons {savedInitialRef}</h1>\n\n <SelectPanel\n title=\"Switch branches/tags\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button\n leadingVisual={GitBranchIcon}\n trailingVisual={TriangleDownIcon}\n >\n {savedInitialRef}\n </SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n\n <div id=\"filters\" className={classes.FilterButtons}>\n <Button\n variant=\"invisible\"\n style={{\n fontWeight:\n selectedFilter === 'branches'\n ? 'var(--base-text-weight-medium)'\n : 'var(--base-text-weight-normal)',\n color: 'var(--fgColor-default)',\n }}\n onClick={() => setSelectedFilter('branches')}\n count={20}\n >\n Branches\n </Button>\n <Button\n variant=\"invisible\"\n style={{\n fontWeight:\n selectedFilter === 'tags'\n ? 'var(--base-text-weight-medium)'\n : 'var(--base-text-weight-normal)',\n color: 'var(--fgColor-default)',\n }}\n onClick={() => setSelectedFilter('tags')}\n count={8}\n >\n Tags\n </Button>\n </div>\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((item) => (\n <ActionList.Item\n key={item.id}\n selected={selectedRef === item.id}\n onSelect={() => setSelectedRef(item.id)}\n >\n {item.name}\n <ActionList.TrailingVisual>\n {item.trailingInfo}\n </ActionList.TrailingVisual>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction\n variant=\"link\"\n href={`/${selectedFilter}`}\n >\n View all {selectedFilter}\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
8708
8610
  }
8709
8611
  ],
8710
8612
  "importPath": "@primer/react/experimental",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@primer/react",
3
3
  "type": "module",
4
- "version": "38.0.0-rc.5",
4
+ "version": "38.0.0-rc.7",
5
5
  "description": "An implementation of GitHub's Primer Design System using React",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -109,6 +109,7 @@
109
109
  "@babel/preset-typescript": "7.27.1",
110
110
  "@figma/code-connect": "1.3.2",
111
111
  "@primer/css": "^21.5.1",
112
+ "@primer/doc-gen": "^0.0.1",
112
113
  "@rollup/plugin-babel": "6.0.4",
113
114
  "@rollup/plugin-commonjs": "28.0.6",
114
115
  "@rollup/plugin-json": "6.1.0",