@pingux/astro 2.221.6-alpha.0 → 2.234.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/lib/cjs/components/AccordionGridGroup/AccordionGrid.styles.d.ts +50 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.d.ts +14 -0
  3. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +6 -56
  4. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
  5. package/lib/cjs/components/AccordionGridGroup/index.d.ts +1 -0
  6. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.d.ts +3 -0
  7. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +12 -20
  8. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.d.ts +4 -0
  9. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +9 -15
  10. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.d.ts +4 -0
  11. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +10 -23
  12. package/lib/cjs/components/AccordionGridItem/index.d.ts +1 -0
  13. package/lib/cjs/components/AccordionGroup/AccordionGroup.stories.js +12 -1
  14. package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +43 -1
  15. package/lib/cjs/components/AccordionItem/AccordionItem.d.ts +3 -0
  16. package/lib/cjs/components/AccordionItem/AccordionItem.js +4 -2
  17. package/lib/cjs/components/ArrayField/ArrayField.js +30 -13
  18. package/lib/cjs/components/ArrayField/ArrayField.mdx +5 -1
  19. package/lib/cjs/components/ArrayField/ArrayField.stories.js +127 -90
  20. package/lib/cjs/components/ArrayField/ArrayField.styles.d.ts +9 -0
  21. package/lib/cjs/components/ArrayField/ArrayField.styles.js +41 -0
  22. package/lib/cjs/components/ArrayField/ArrayField.test.js +202 -30
  23. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +21 -8
  24. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.styles.d.ts +5 -0
  25. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.styles.js +21 -0
  26. package/lib/cjs/components/ArrayField/arrayFieldAttributes.d.ts +1 -99
  27. package/lib/cjs/components/ArrayField/arrayFieldAttributes.js +3 -2
  28. package/lib/cjs/components/AstroProvider/AstroProvider.d.ts +16 -0
  29. package/lib/cjs/components/AstroProvider/AstroProvider.js +10 -34
  30. package/lib/cjs/components/AstroProvider/PageWrapper.test.js +49 -4
  31. package/lib/cjs/components/AstroProvider/index.d.ts +2 -0
  32. package/lib/cjs/components/Badge/Badge.js +20 -11
  33. package/lib/cjs/components/Badge/Badge.mdx +6 -0
  34. package/lib/cjs/components/Badge/Badge.stories.js +64 -19
  35. package/lib/cjs/components/Badge/Badge.styles.d.ts +266 -0
  36. package/lib/cjs/components/Badge/Badge.styles.js +24 -4
  37. package/lib/cjs/components/Badge/Badge.test.js +165 -1
  38. package/lib/cjs/components/Badge/BadgeHelpHint.d.ts +8 -0
  39. package/lib/cjs/components/Badge/BadgeHelpHint.js +84 -0
  40. package/lib/cjs/components/Badge/Convenience/DefaultBadge.js +5 -2
  41. package/lib/cjs/components/Badge/Convenience/ErrorCalloutBadge.js +5 -4
  42. package/lib/cjs/components/Badge/Convenience/InfoCalloutBadge.js +5 -4
  43. package/lib/cjs/components/Badge/Convenience/SuccessCalloutBadge.js +5 -4
  44. package/lib/cjs/components/Badge/Convenience/WarningCalloutBadge.js +5 -4
  45. package/lib/cjs/components/Checkbox/Checkbox.d.ts +9 -0
  46. package/lib/cjs/components/Checkbox/Checkbox.styles.d.ts +15 -0
  47. package/lib/cjs/components/Checkbox/CheckboxBase.d.ts +4 -0
  48. package/lib/cjs/components/Checkbox/CheckboxBase.js +100 -49
  49. package/lib/cjs/components/Checkbox/CheckboxIcons.d.ts +15 -0
  50. package/lib/cjs/components/Checkbox/CheckboxIcons.js +122 -0
  51. package/lib/cjs/components/Checkbox/index.d.ts +1 -0
  52. package/lib/cjs/components/CheckboxField/CheckboxField.js +5 -1
  53. package/lib/cjs/components/CheckboxField/CheckboxField.stories.js +1 -1
  54. package/lib/cjs/components/CheckboxField/CheckboxField.test.js +41 -5
  55. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.d.ts +4 -0
  56. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.js +89 -0
  57. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.mdx +69 -0
  58. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.stories.js +118 -0
  59. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.d.ts +8 -0
  60. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.js +40 -0
  61. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroup.test.js +485 -0
  62. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroupItem.d.ts +4 -0
  63. package/lib/cjs/components/CheckboxFieldGroup/CheckboxFieldGroupItem.js +112 -0
  64. package/lib/cjs/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.d.ts +2 -0
  65. package/lib/cjs/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.js +108 -0
  66. package/lib/cjs/components/CheckboxFieldGroup/index.d.ts +3 -0
  67. package/lib/cjs/components/CheckboxFieldGroup/index.js +27 -0
  68. package/lib/cjs/components/CodeView/CodeView.js +3 -2
  69. package/lib/cjs/components/CodeView/CodeView.stories.js +44 -1
  70. package/lib/cjs/components/CodeView/CodeView.test.js +84 -0
  71. package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +18 -1
  72. package/lib/cjs/components/CopyText/CopyButton.js +1 -2
  73. package/lib/cjs/components/DatePicker/DatePicker.test.js +1 -1
  74. package/lib/cjs/components/EmptyState/EmptyState.d.ts +4 -0
  75. package/lib/cjs/components/EmptyState/EmptyState.js +66 -0
  76. package/lib/cjs/components/EmptyState/EmptyState.mdx +44 -0
  77. package/lib/cjs/components/EmptyState/EmptyState.stories.js +88 -0
  78. package/lib/cjs/components/EmptyState/EmptyState.styles.d.ts +13 -0
  79. package/lib/cjs/components/EmptyState/EmptyState.styles.js +22 -0
  80. package/lib/cjs/components/EmptyState/EmptyState.test.js +223 -0
  81. package/lib/cjs/components/EmptyState/emptyStateAttributes.d.ts +99 -0
  82. package/lib/cjs/components/EmptyState/emptyStateAttributes.js +49 -0
  83. package/lib/cjs/components/EmptyState/index.d.ts +1 -0
  84. package/lib/cjs/components/EmptyState/index.js +14 -0
  85. package/lib/cjs/components/HelpHint/HelpHint.js +38 -83
  86. package/lib/cjs/components/IconBadge/IconBadge.d.ts +2 -0
  87. package/lib/cjs/components/IconBadge/IconBadge.js +39 -20
  88. package/lib/cjs/components/IconBadge/IconBadge.mdx +5 -1
  89. package/lib/cjs/components/IconBadge/IconBadge.stories.js +50 -7
  90. package/lib/cjs/components/IconBadge/IconBadge.styles.d.ts +19 -0
  91. package/lib/cjs/components/IconBadge/IconBadge.styles.js +27 -0
  92. package/lib/cjs/components/IconBadge/IconBadge.test.js +67 -14
  93. package/lib/cjs/components/IconButton/IconButton.styles.d.ts +3 -0
  94. package/lib/cjs/components/IconButton/IconButton.styles.js +4 -0
  95. package/lib/cjs/components/LabelValuePairs/LabelValuePairs.stories.js +1 -0
  96. package/lib/cjs/components/LabelValuePairs/LabelValuePairs.test.js +18 -1
  97. package/lib/cjs/components/LabelValuePairs/LabelValuePairsLabel.js +1 -2
  98. package/lib/cjs/components/ListView/ListView.js +28 -4
  99. package/lib/cjs/components/ListView/ListView.stories.js +110 -62
  100. package/lib/cjs/components/ListView/ListView.test.js +80 -0
  101. package/lib/cjs/components/ListView/ListViewTypes.d.ts +5 -0
  102. package/lib/cjs/components/ListViewItem/ListViewItem.js +28 -7
  103. package/lib/cjs/components/ListViewItem/ListViewItem.stories.js +2 -5
  104. package/lib/cjs/components/ListViewItem/ListViewItem.styles.js +7 -0
  105. package/lib/cjs/components/ListViewItem/ListViewItem.test.js +36 -5
  106. package/lib/cjs/components/ListViewItem/listViewItemAttributes.js +9 -1
  107. package/lib/cjs/components/MultivaluesField/DefaultMultivaluesField.js +8 -0
  108. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +23 -1
  109. package/lib/cjs/components/NavBar/NavBar.styles.d.ts +11 -1
  110. package/lib/cjs/components/PageHeader/PageHeader.js +9 -4
  111. package/lib/cjs/components/PageHeader/PageHeader.mdx +3 -0
  112. package/lib/cjs/components/PageHeader/PageHeader.stories.js +14 -4
  113. package/lib/cjs/components/PageHeader/PageHeader.test.js +57 -3
  114. package/lib/cjs/components/PanelHeader/PanelHeader.js +36 -8
  115. package/lib/cjs/components/PanelHeader/PanelHeader.stories.js +2 -5
  116. package/lib/cjs/components/PanelHeader/PanelHeader.test.js +46 -4
  117. package/lib/cjs/components/RangeCalendar/RangeCalendar.js +1 -1
  118. package/lib/cjs/components/RangeCalendar/RangeCalendar.mdx +4 -0
  119. package/lib/cjs/components/RangeCalendar/RangeCalendar.test.js +30 -0
  120. package/lib/cjs/components/RangeCalendar/RangeCalendarGrid.js +1 -0
  121. package/lib/cjs/components/SelectField/SelectField.stories.js +14 -1
  122. package/lib/cjs/components/Tab/Tab.js +38 -6
  123. package/lib/cjs/components/Tab/getSlotText.d.ts +6 -0
  124. package/lib/cjs/components/Tab/getSlotText.js +21 -0
  125. package/lib/cjs/components/Tab/getSlotText.test.js +23 -0
  126. package/lib/cjs/components/TabPicker/TabPicker.js +9 -4
  127. package/lib/cjs/components/Tabs/Tabs.stories.js +63 -14
  128. package/lib/cjs/components/Tabs/Tabs.storyData.d.ts +1 -0
  129. package/lib/cjs/components/Tabs/Tabs.storyData.js +8 -0
  130. package/lib/cjs/components/Tabs/Tabs.style.d.ts +5 -0
  131. package/lib/cjs/components/Tabs/Tabs.style.js +7 -2
  132. package/lib/cjs/components/Tabs/Tabs.test.js +85 -37
  133. package/lib/cjs/context/CheckboxFieldGroupContext/index.d.ts +10 -0
  134. package/lib/cjs/context/CheckboxFieldGroupContext/index.js +17 -0
  135. package/lib/cjs/hooks/index.d.ts +1 -0
  136. package/lib/cjs/hooks/index.js +7 -0
  137. package/lib/cjs/hooks/useField/useField.d.ts +78 -78
  138. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +14 -0
  139. package/lib/cjs/hooks/useHelpHintPopover/index.d.ts +2 -0
  140. package/lib/cjs/hooks/useHelpHintPopover/index.js +32 -0
  141. package/lib/cjs/hooks/useHelpHintPopover/useHelpHintPopover.d.ts +25 -0
  142. package/lib/cjs/hooks/useHelpHintPopover/useHelpHintPopover.js +137 -0
  143. package/lib/cjs/hooks/usePagination/usePagination.d.ts +94 -94
  144. package/lib/cjs/index.d.ts +4 -0
  145. package/lib/cjs/index.js +114 -69
  146. package/lib/cjs/styles/forms/index.js +23 -2
  147. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.d.ts +17 -0
  148. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/colors.js +18 -1
  149. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/icons.d.ts +6 -0
  150. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +7 -0
  151. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/badges.d.ts +90 -0
  152. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/badges.js +76 -29
  153. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/box.d.ts +14 -0
  154. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/box.js +22 -0
  155. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.d.ts +20 -0
  156. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +20 -0
  157. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/comboBox.d.ts +3 -0
  158. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/comboBox.js +4 -0
  159. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.d.ts +45 -8
  160. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/forms.js +34 -10
  161. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/listview.d.ts +29 -0
  162. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/listview.js +30 -0
  163. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/text.d.ts +5 -2
  164. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/text.js +5 -2
  165. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +52 -1
  166. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +12 -1
  167. package/lib/cjs/styles/themeOverrides/onyxSideNav.d.ts +6 -0
  168. package/lib/cjs/styles/themes/astro/customProperties/icons.d.ts +6 -0
  169. package/lib/cjs/styles/themes/astro/customProperties/icons.js +3 -1
  170. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +7 -0
  171. package/lib/cjs/styles/themes/astro/customProperties/index.js +3 -0
  172. package/lib/cjs/styles/themes/next-gen/codeView/codeView.d.ts +9 -0
  173. package/lib/cjs/styles/themes/next-gen/codeView/codeView.js +5 -2
  174. package/lib/cjs/styles/themes/next-gen/colors/colors.d.ts +17 -0
  175. package/lib/cjs/styles/themes/next-gen/colors/twoTone.d.ts +18 -0
  176. package/lib/cjs/styles/themes/next-gen/colors/twoTone.js +21 -1
  177. package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +2 -0
  178. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +5 -3
  179. package/lib/cjs/styles/themes/next-gen/customProperties/icons.d.ts +6 -0
  180. package/lib/cjs/styles/themes/next-gen/customProperties/icons.js +5 -1
  181. package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +7 -0
  182. package/lib/cjs/styles/themes/next-gen/customProperties/index.js +3 -1
  183. package/lib/cjs/styles/themes/next-gen/forms.d.ts +83 -4
  184. package/lib/cjs/styles/themes/next-gen/forms.js +51 -8
  185. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +472 -72
  186. package/lib/cjs/styles/themes/next-gen/spacing.d.ts +1 -0
  187. package/lib/cjs/styles/themes/next-gen/spacing.js +2 -1
  188. package/lib/cjs/styles/themes/next-gen/variants/arrayField.d.ts +9 -0
  189. package/lib/cjs/styles/themes/next-gen/variants/arrayField.js +71 -0
  190. package/lib/cjs/styles/themes/next-gen/variants/arrayFieldDeleteButton.d.ts +5 -0
  191. package/lib/cjs/styles/themes/next-gen/variants/arrayFieldDeleteButton.js +44 -0
  192. package/lib/cjs/styles/themes/next-gen/variants/badges.d.ts +243 -33
  193. package/lib/cjs/styles/themes/next-gen/variants/badges.js +77 -28
  194. package/lib/cjs/styles/themes/next-gen/variants/box.d.ts +2 -0
  195. package/lib/cjs/styles/themes/next-gen/variants/box.js +7 -4
  196. package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +41 -29
  197. package/lib/cjs/styles/themes/next-gen/variants/button.js +25 -2
  198. package/lib/cjs/styles/themes/next-gen/variants/images.d.ts +6 -1
  199. package/lib/cjs/styles/themes/next-gen/variants/images.js +8 -1
  200. package/lib/cjs/styles/themes/next-gen/variants/label.js +33 -1
  201. package/lib/cjs/styles/themes/next-gen/variants/listview.d.ts +33 -0
  202. package/lib/cjs/styles/themes/next-gen/variants/listview.js +36 -1
  203. package/lib/cjs/styles/themes/next-gen/variants/rangeCalendar.d.ts +10 -0
  204. package/lib/cjs/styles/themes/next-gen/variants/rangeCalendar.js +15 -4
  205. package/lib/cjs/styles/themes/next-gen/variants/tabs.d.ts +9 -0
  206. package/lib/cjs/styles/themes/next-gen/variants/tabs.js +12 -3
  207. package/lib/cjs/styles/themes/next-gen/variants/text.d.ts +5 -1
  208. package/lib/cjs/styles/themes/next-gen/variants/text.js +6 -2
  209. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +103 -6
  210. package/lib/cjs/styles/themes/next-gen/variants/variants.js +30 -4
  211. package/lib/cjs/styles/variants/variants.js +8 -0
  212. package/lib/cjs/types/AccordionGridGroup.d.ts +36 -0
  213. package/lib/cjs/types/AccordionGridGroup.js +6 -0
  214. package/lib/cjs/types/AccordionGridItem.d.ts +52 -0
  215. package/lib/cjs/types/AccordionGridItem.js +6 -0
  216. package/lib/cjs/types/AstroProvider.d.ts +32 -0
  217. package/lib/cjs/types/AstroProvider.js +6 -0
  218. package/lib/cjs/types/Checkbox.d.ts +44 -0
  219. package/lib/cjs/types/Checkbox.js +6 -0
  220. package/lib/cjs/types/badge.d.ts +6 -0
  221. package/lib/cjs/types/checkboxFieldGroup.d.ts +48 -0
  222. package/lib/cjs/types/checkboxFieldGroup.js +6 -0
  223. package/lib/cjs/types/codeView.d.ts +3 -0
  224. package/lib/cjs/types/emptyState.d.ts +27 -0
  225. package/lib/cjs/types/emptyState.js +6 -0
  226. package/lib/cjs/types/iconBadge.d.ts +6 -0
  227. package/lib/cjs/types/index.d.ts +7 -0
  228. package/lib/cjs/types/index.js +147 -70
  229. package/lib/cjs/types/item.d.ts +5 -0
  230. package/lib/cjs/types/listView.d.ts +3 -0
  231. package/lib/cjs/types/table.d.ts +2 -0
  232. package/lib/cjs/utils/designUtils/figmaLinks.d.ts +3 -0
  233. package/lib/cjs/utils/designUtils/figmaLinks.js +4 -1
  234. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +6 -56
  235. package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +2 -1
  236. package/lib/components/AccordionGridItem/AccordionGridItem.js +12 -20
  237. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +9 -15
  238. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +10 -23
  239. package/lib/components/AccordionGroup/AccordionGroup.stories.js +11 -0
  240. package/lib/components/AccordionGroup/AccordionGroup.test.js +43 -1
  241. package/lib/components/AccordionItem/AccordionItem.js +5 -3
  242. package/lib/components/ArrayField/ArrayField.js +30 -13
  243. package/lib/components/ArrayField/ArrayField.mdx +5 -1
  244. package/lib/components/ArrayField/ArrayField.stories.js +126 -89
  245. package/lib/components/ArrayField/ArrayField.styles.js +34 -0
  246. package/lib/components/ArrayField/ArrayField.test.js +202 -30
  247. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +21 -8
  248. package/lib/components/ArrayField/ArrayFieldDeleteButton.styles.js +14 -0
  249. package/lib/components/ArrayField/arrayFieldAttributes.js +3 -2
  250. package/lib/components/AstroProvider/AstroProvider.js +10 -34
  251. package/lib/components/AstroProvider/PageWrapper.test.js +46 -0
  252. package/lib/components/Badge/Badge.js +20 -11
  253. package/lib/components/Badge/Badge.mdx +6 -0
  254. package/lib/components/Badge/Badge.stories.js +64 -19
  255. package/lib/components/Badge/Badge.styles.js +25 -5
  256. package/lib/components/Badge/Badge.test.js +166 -2
  257. package/lib/components/Badge/BadgeHelpHint.js +74 -0
  258. package/lib/components/Badge/Convenience/DefaultBadge.js +5 -2
  259. package/lib/components/Badge/Convenience/ErrorCalloutBadge.js +5 -4
  260. package/lib/components/Badge/Convenience/InfoCalloutBadge.js +5 -4
  261. package/lib/components/Badge/Convenience/SuccessCalloutBadge.js +5 -4
  262. package/lib/components/Badge/Convenience/WarningCalloutBadge.js +5 -4
  263. package/lib/components/Checkbox/CheckboxBase.js +99 -48
  264. package/lib/components/Checkbox/CheckboxIcons.js +114 -0
  265. package/lib/components/CheckboxField/CheckboxField.js +6 -2
  266. package/lib/components/CheckboxField/CheckboxField.stories.js +1 -1
  267. package/lib/components/CheckboxField/CheckboxField.test.js +41 -5
  268. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.js +79 -0
  269. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.mdx +69 -0
  270. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.stories.js +111 -0
  271. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.styles.js +33 -0
  272. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroup.test.js +481 -0
  273. package/lib/components/CheckboxFieldGroup/CheckboxFieldGroupItem.js +101 -0
  274. package/lib/components/CheckboxFieldGroup/checkboxFieldGroupAttributes.js +101 -0
  275. package/lib/components/CheckboxFieldGroup/index.js +3 -0
  276. package/lib/components/CodeView/CodeView.js +3 -2
  277. package/lib/components/CodeView/CodeView.stories.js +44 -1
  278. package/lib/components/CodeView/CodeView.test.js +85 -1
  279. package/lib/components/ComboBoxField/ComboBoxField.stories.js +18 -1
  280. package/lib/components/CopyText/CopyButton.js +1 -2
  281. package/lib/components/DatePicker/DatePicker.test.js +1 -1
  282. package/lib/components/EmptyState/EmptyState.js +54 -0
  283. package/lib/components/EmptyState/EmptyState.mdx +44 -0
  284. package/lib/components/EmptyState/EmptyState.stories.js +81 -0
  285. package/lib/components/EmptyState/EmptyState.styles.js +15 -0
  286. package/lib/components/EmptyState/EmptyState.test.js +220 -0
  287. package/lib/components/EmptyState/emptyStateAttributes.js +42 -0
  288. package/lib/components/EmptyState/index.js +1 -0
  289. package/lib/components/HelpHint/HelpHint.js +41 -86
  290. package/lib/components/IconBadge/IconBadge.js +43 -24
  291. package/lib/components/IconBadge/IconBadge.mdx +5 -1
  292. package/lib/components/IconBadge/IconBadge.stories.js +50 -7
  293. package/lib/components/IconBadge/IconBadge.styles.js +20 -0
  294. package/lib/components/IconBadge/IconBadge.test.js +54 -1
  295. package/lib/components/IconButton/IconButton.styles.js +4 -0
  296. package/lib/components/LabelValuePairs/LabelValuePairs.stories.js +1 -0
  297. package/lib/components/LabelValuePairs/LabelValuePairs.test.js +19 -2
  298. package/lib/components/LabelValuePairs/LabelValuePairsLabel.js +1 -2
  299. package/lib/components/ListView/ListView.js +28 -4
  300. package/lib/components/ListView/ListView.stories.js +106 -58
  301. package/lib/components/ListView/ListView.test.js +80 -0
  302. package/lib/components/ListViewItem/ListViewItem.js +28 -5
  303. package/lib/components/ListViewItem/ListViewItem.stories.js +3 -6
  304. package/lib/components/ListViewItem/ListViewItem.styles.js +7 -0
  305. package/lib/components/ListViewItem/ListViewItem.test.js +33 -2
  306. package/lib/components/ListViewItem/listViewItemAttributes.js +9 -1
  307. package/lib/components/MultivaluesField/DefaultMultivaluesField.js +8 -0
  308. package/lib/components/MultivaluesField/MultivaluesField.stories.js +23 -1
  309. package/lib/components/PageHeader/PageHeader.js +9 -4
  310. package/lib/components/PageHeader/PageHeader.mdx +3 -0
  311. package/lib/components/PageHeader/PageHeader.stories.js +15 -5
  312. package/lib/components/PageHeader/PageHeader.test.js +58 -4
  313. package/lib/components/PanelHeader/PanelHeader.js +37 -9
  314. package/lib/components/PanelHeader/PanelHeader.stories.js +3 -6
  315. package/lib/components/PanelHeader/PanelHeader.test.js +47 -5
  316. package/lib/components/RangeCalendar/RangeCalendar.js +1 -1
  317. package/lib/components/RangeCalendar/RangeCalendar.mdx +4 -0
  318. package/lib/components/RangeCalendar/RangeCalendar.test.js +30 -0
  319. package/lib/components/RangeCalendar/RangeCalendarGrid.js +1 -0
  320. package/lib/components/SelectField/SelectField.stories.js +13 -0
  321. package/lib/components/Tab/Tab.js +39 -3
  322. package/lib/components/Tab/getSlotText.js +15 -0
  323. package/lib/components/Tab/getSlotText.test.js +21 -0
  324. package/lib/components/TabPicker/TabPicker.js +10 -5
  325. package/lib/components/Tabs/Tabs.stories.js +62 -11
  326. package/lib/components/Tabs/Tabs.storyData.js +1 -0
  327. package/lib/components/Tabs/Tabs.style.js +6 -1
  328. package/lib/components/Tabs/Tabs.test.js +85 -37
  329. package/lib/context/CheckboxFieldGroupContext/index.js +10 -0
  330. package/lib/hooks/index.js +1 -0
  331. package/lib/hooks/useHelpHintPopover/index.js +2 -0
  332. package/lib/hooks/useHelpHintPopover/useHelpHintPopover.js +130 -0
  333. package/lib/index.js +4 -0
  334. package/lib/styles/forms/index.js +22 -2
  335. package/lib/styles/themeOverrides/nextGenDarkMode/colors.js +18 -1
  336. package/lib/styles/themeOverrides/nextGenDarkMode/variants/badges.js +76 -29
  337. package/lib/styles/themeOverrides/nextGenDarkMode/variants/box.js +15 -0
  338. package/lib/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +20 -0
  339. package/lib/styles/themeOverrides/nextGenDarkMode/variants/comboBox.js +4 -0
  340. package/lib/styles/themeOverrides/nextGenDarkMode/variants/forms.js +33 -9
  341. package/lib/styles/themeOverrides/nextGenDarkMode/variants/listview.js +30 -0
  342. package/lib/styles/themeOverrides/nextGenDarkMode/variants/text.js +5 -2
  343. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +12 -1
  344. package/lib/styles/themes/astro/customProperties/icons.js +3 -1
  345. package/lib/styles/themes/astro/customProperties/index.js +3 -0
  346. package/lib/styles/themes/next-gen/codeView/codeView.js +5 -2
  347. package/lib/styles/themes/next-gen/colors/twoTone.js +19 -0
  348. package/lib/styles/themes/next-gen/convertedComponentList.js +5 -3
  349. package/lib/styles/themes/next-gen/customProperties/icons.js +5 -1
  350. package/lib/styles/themes/next-gen/customProperties/index.js +3 -1
  351. package/lib/styles/themes/next-gen/forms.js +50 -7
  352. package/lib/styles/themes/next-gen/spacing.js +2 -1
  353. package/lib/styles/themes/next-gen/variants/arrayField.js +64 -0
  354. package/lib/styles/themes/next-gen/variants/arrayFieldDeleteButton.js +37 -0
  355. package/lib/styles/themes/next-gen/variants/badges.js +77 -28
  356. package/lib/styles/themes/next-gen/variants/box.js +7 -4
  357. package/lib/styles/themes/next-gen/variants/button.js +25 -2
  358. package/lib/styles/themes/next-gen/variants/images.js +7 -1
  359. package/lib/styles/themes/next-gen/variants/label.js +33 -1
  360. package/lib/styles/themes/next-gen/variants/listview.js +35 -1
  361. package/lib/styles/themes/next-gen/variants/rangeCalendar.js +15 -4
  362. package/lib/styles/themes/next-gen/variants/tabs.js +11 -2
  363. package/lib/styles/themes/next-gen/variants/text.js +6 -2
  364. package/lib/styles/themes/next-gen/variants/variants.js +31 -5
  365. package/lib/styles/variants/variants.js +8 -0
  366. package/lib/types/AccordionGridGroup.js +1 -0
  367. package/lib/types/AccordionGridItem.js +1 -0
  368. package/lib/types/AstroProvider.js +1 -0
  369. package/lib/types/Checkbox.js +1 -0
  370. package/lib/types/checkboxFieldGroup.js +1 -0
  371. package/lib/types/emptyState.js +1 -0
  372. package/lib/types/index.js +7 -0
  373. package/lib/utils/designUtils/figmaLinks.js +4 -1
  374. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { ElementType, Key, ReactNode } from 'react';
2
2
  import type { ItemProps as BaseItemProps } from '@react-types/shared';
3
+ import type { HelpHintProps } from './helpHint';
3
4
  import { IconTypeExtended } from './icon';
4
5
  import { DOMAttributes, StyleProps } from './shared';
5
6
  export type Status = 'default' | 'error' | 'success' | 'warning';
@@ -13,6 +14,10 @@ declare module '@react-types/shared' {
13
14
  containerProps?: StyleProps;
14
15
  /** Props for the accordion item button element. */
15
16
  buttonProps?: StyleProps;
17
+ /** Contextual help content displayed beside the accordion heading. */
18
+ hintText?: ReactNode;
19
+ /** Props passed to the contextual help hint. */
20
+ hintTextProps?: HelpHintProps;
16
21
  /** Props for the tab line element. */
17
22
  tabLineProps?: StyleProps;
18
23
  /** Whether the item has a separator */
@@ -16,6 +16,9 @@ export interface ListViewProps<T extends ExampleItemProps> extends Omit<TreeProp
16
16
  'aria-label'?: string;
17
17
  containerProps?: object;
18
18
  sx?: ThemeUICSSObject;
19
+ /** Optional custom empty state. Called when the list has no items and is
20
+ * not loading. Return null to render nothing. */
21
+ renderEmptyState?: () => ReactNode;
19
22
  }
20
23
  export interface ExpandableItemChildrenContainerProps {
21
24
  children?: ReactNode;
@@ -14,4 +14,6 @@ export type TableRowProps = TableChildrenProp;
14
14
  export interface TableCellProps extends StyleProps, DOMAttributes, TestingAttributes {
15
15
  /** Determines whether or not the html rendered is a th or td element. */
16
16
  isHeading?: boolean;
17
+ /** Applies disabled styling to the cell. */
18
+ isDisabled?: boolean;
17
19
  }
@@ -239,4 +239,7 @@ export declare const FIGMA_LINKS: {
239
239
  onyx: string;
240
240
  inRockerButton: string;
241
241
  };
242
+ emptyState: {
243
+ default: string;
244
+ };
242
245
  };
@@ -110,7 +110,7 @@ var FIGMA_LINKS = exports.FIGMA_LINKS = {
110
110
  "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=24360%3A49754&t=3b86het2R9G2Zyo2-1'
111
111
  },
112
112
  iconBadge: {
113
- "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=17916-38366&t=rLZVlRDdR1JhehkH-0'
113
+ "default": 'https://www.figma.com/design/XDGxYAgQkcHDVjyu8OGrBv/Onyx-Specs?node-id=11396-16337'
114
114
  },
115
115
  iconButton: {
116
116
  "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=45365-7042&t=pXTSE3YlGbL0X49N-4',
@@ -245,5 +245,8 @@ var FIGMA_LINKS = exports.FIGMA_LINKS = {
245
245
  statusIcon: {
246
246
  onyx: 'https://www.figma.com/file/XDGxYAgQkcHDVjyu8OGrBv/Onyx-Specs?node-id=1516-84&p=f&t=1IrTSMDCAftH6Roq-0',
247
247
  inRockerButton: 'https://www.figma.com/file/XDGxYAgQkcHDVjyu8OGrBv/Onyx-Specs?node-id=1516-498&t=TcHspIxapoPWqWJC-4'
248
+ },
249
+ emptyState: {
250
+ "default": 'https://www.figma.com/design/XDGxYAgQkcHDVjyu8OGrBv/Onyx-Specs?node-id=8811-16278&p=f&t=VSDkruj7jVEtiNhl-0'
248
251
  }
249
252
  };
@@ -18,10 +18,8 @@ import { GridKeyboardDelegate, useGrid } from '@react-aria/grid';
18
18
  import { useCollator, useLocale } from '@react-aria/i18n';
19
19
  import { GridCollection, useGridState } from '@react-stately/grid';
20
20
  import { useListState } from '@react-stately/list';
21
- import PropTypes from 'prop-types';
22
21
  import { AccordionGridContext } from '../../context/AccordionGridContext';
23
22
  import useDevelopmentWarning from '../../hooks/useDevelopmentWarning';
24
- import { isIterableProp } from '../../utils/devUtils/props/isIterable';
25
23
  import AccordionGridItem from '../AccordionGridItem';
26
24
  import Box from '../Box';
27
25
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -35,7 +33,7 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
35
33
  var disabledKeys = props.disabledKeys,
36
34
  containerProps = props.containerProps,
37
35
  navigationMode = props.navigationMode;
38
- var accordionGridRef = useRef();
36
+ var accordionGridRef = useRef(null);
39
37
 
40
38
  /* istanbul ignore next */
41
39
  useImperativeHandle(ref, function () {
@@ -92,6 +90,10 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
92
90
  collection: gridCollection,
93
91
  selectionMode: 'multiple'
94
92
  }));
93
+ /* @react-aria/grid's `useGrid` resolves a newer `@react-stately/grid` than the direct
94
+ * dependency (its `GridState.disabledKeys` uses @react-types/shared's `Key`, which omits
95
+ * `bigint`), so the state needs a widening cast at this single call site. */
96
+ var gridState = state;
95
97
 
96
98
  // Required to enable header selection
97
99
  state.selectionManager.allowsCellSelection = true;
@@ -107,7 +109,7 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
107
109
  }, [state, accordionGridRef, direction, collator]);
108
110
  var _useGrid = useGrid(_objectSpread(_objectSpread({}, props), {}, {
109
111
  keyboardDelegate: keyboardDelegate
110
- }), state, accordionGridRef),
112
+ }), gridState, accordionGridRef),
111
113
  gridProps = _useGrid.gridProps;
112
114
  delete gridProps.onMouseDown;
113
115
  if (navigationMode === 'native') {
@@ -130,58 +132,6 @@ var AccordionGridGroup = /*#__PURE__*/forwardRef(function (props, ref) {
130
132
  }, item.props), item.props.children);
131
133
  })));
132
134
  });
133
- AccordionGridGroup.propTypes = {
134
- /**
135
- * The currently selected keys in the collection (uncontrolled).
136
- *
137
- * `selectedKeys="all"` can be used to select every key.
138
- */
139
- defaultSelectedKeys: isIterableProp,
140
- /**
141
- * The currently selected keys in the collection (controlled).
142
- *
143
- * `selectedKeys="all"` can be used to select every key.
144
- */
145
- selectedKeys: isIterableProp,
146
- /**
147
- * Callback function that fires when the selected key changes.
148
- *
149
- * `(selectedKeys: Set) => void`
150
- */
151
- onSelectionChange: PropTypes.func,
152
- /**
153
- * Defines a type of navigation mode.
154
- * "native" - navigation via "tab" key.
155
- * "arrows" - navigation via arrow keys.
156
- */
157
- navigationMode: PropTypes.string,
158
- /**
159
- * The item keys that are disabled. These items cannot be selected, focused, or otherwise
160
- * interacted with.
161
- */
162
- disabledKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])),
163
- /** The list of ListView items (controlled). */
164
- items: isIterableProp,
165
- /** The element's unique identifier. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id). */
166
- id: PropTypes.string,
167
- /** Props object that is spread directly into the root (top-level) element. */
168
- containerProps: PropTypes.shape({}),
169
- /** The props object is directly spread into the accordion header element.
170
- * Utilize the `customUpArrow` & `customDownArrow` keys to incorporate custom Up and Down arrows.
171
- * */
172
- headerProps: PropTypes.shape({}),
173
- /** Defines a string value that labels the current element. */
174
- 'aria-label': PropTypes.string,
175
- /** Identifies the element (or elements) that labels the current element. */
176
- 'aria-labelledby': PropTypes.string,
177
- /** Identifies the element (or elements) that describes the object. */
178
- 'aria-describedby': PropTypes.string,
179
- /**
180
- * Identifies the element (or elements) that provide a detailed, extended description for
181
- * the object.
182
- */
183
- 'aria-details': PropTypes.string
184
- };
185
135
  AccordionGridGroup.defaultProps = {
186
136
  'aria-label': 'accordion'
187
137
  };
@@ -9,6 +9,7 @@ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object
9
9
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
10
10
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
11
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
12
+ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
12
13
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context6 = ownKeys(Object(t))).call(_context6, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
14
15
  import React, { useState } from 'react';
@@ -438,7 +439,7 @@ export function OnyxDefault() {
438
439
  );
439
440
  }
440
441
  export function Controlled() {
441
- var _useState = useState(['Client']),
442
+ var _useState = useState(new _Set(['Client'])),
442
443
  _useState2 = _slicedToArray(_useState, 2),
443
444
  selectedKeys = _useState2[0],
444
445
  setSelectedKeys = _useState2[1];
@@ -3,11 +3,10 @@ import _toArray from "@babel/runtime-corejs3/helpers/esm/toArray";
3
3
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
4
  var _excluded = ["item", "headerProps", "bodyProps", "children", "className", "navigationMode"];
5
5
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
6
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
6
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
7
7
  import React, { useEffect, useRef } from 'react';
8
8
  import { mergeProps } from 'react-aria';
9
9
  import { useGridRow } from '@react-aria/grid';
10
- import PropTypes from 'prop-types';
11
10
  import { useAccordionGridContext } from '../../context/AccordionGridContext';
12
11
  import { useStatusClasses } from '../../hooks';
13
12
  import Box from '../Box';
@@ -15,7 +14,6 @@ import AccordionGridItemBody from './AccordionGridItemBody';
15
14
  import AccordionGridItemHeader from './AccordionGridItemHeader';
16
15
  import { jsx as ___EmotionJSX } from "@emotion/react";
17
16
  var AccordionGridItem = function AccordionGridItem(props) {
18
- var _context;
19
17
  var item = props.item,
20
18
  headerProps = props.headerProps,
21
19
  bodyProps = props.bodyProps,
@@ -28,9 +26,13 @@ var AccordionGridItem = function AccordionGridItem(props) {
28
26
  header = _React$Children$toArr2[0],
29
27
  body = _React$Children$toArr2[1],
30
28
  otherChildren = _sliceInstanceProperty(_React$Children$toArr2).call(_React$Children$toArr2, 2);
31
- var cellNode = _concatInstanceProperty(_context = []).call(_context, item.childNodes)[0];
32
- var _useAccordionGridCont = useAccordionGridContext(),
33
- state = _useAccordionGridCont.state;
29
+ var cellNode = _Array$from(item.childNodes)[0];
30
+ var _ref = useAccordionGridContext(),
31
+ state = _ref.state;
32
+ /* @react-aria/grid's hooks resolve a newer `@react-stately/grid` than the direct
33
+ * dependency (their `GridState.disabledKeys` uses @react-types/shared's `Key`, which
34
+ * omits `bigint`), so the state needs a widening cast before the hook calls. */
35
+ var gridState = state;
34
36
 
35
37
  // Treat first cell as a row,
36
38
  // fixes focus and keyboard interactions
@@ -45,12 +47,12 @@ var AccordionGridItem = function AccordionGridItem(props) {
45
47
  }
46
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
47
49
  }, [isSelected, isRowSelected, item.key]);
48
- var rowRef = useRef();
49
- var cellRef = useRef();
50
- var cellBodyRef = useRef();
50
+ var rowRef = useRef(null);
51
+ var cellRef = useRef(null);
52
+ var cellBodyRef = useRef(null);
51
53
  var _useGridRow = useGridRow({
52
54
  node: item
53
- }, state, rowRef),
55
+ }, gridState, rowRef),
54
56
  rowProps = _useGridRow.rowProps;
55
57
  var _useStatusClasses = useStatusClasses(className, {
56
58
  isSelected: isSelected,
@@ -85,14 +87,4 @@ var AccordionGridItem = function AccordionGridItem(props) {
85
87
  navigationMode: navigationMode
86
88
  }, bodyProps), body), otherChildren);
87
89
  };
88
- AccordionGridItem.propTypes = {
89
- headerProps: PropTypes.shape({}),
90
- bodyProps: PropTypes.shape({}),
91
- item: PropTypes.shape({
92
- key: PropTypes.string,
93
- rendered: PropTypes.node,
94
- childNodes: PropTypes.arrayOf(PropTypes.shape({}))
95
- }),
96
- navigationMode: PropTypes.string
97
- };
98
90
  export default AccordionGridItem;
@@ -1,32 +1,34 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
3
  var _excluded = ["item", "className", "children", "isSelected", "navigationMode"];
4
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
5
5
  import React, { forwardRef } from 'react';
6
6
  import { mergeProps } from 'react-aria';
7
7
  import { useGridCell } from '@react-aria/grid';
8
8
  import { useHover } from '@react-aria/interactions';
9
- import PropTypes from 'prop-types';
10
9
  import { useAccordionGridContext } from '../../context/AccordionGridContext';
11
10
  import { useStatusClasses } from '../../hooks';
12
11
  import Box from '../Box';
13
12
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
13
  var AccordionGridItemBody = /*#__PURE__*/forwardRef(function (props, ref) {
15
- var _context;
16
14
  var item = props.item,
17
15
  className = props.className,
18
16
  children = props.children,
19
17
  isSelected = props.isSelected,
20
18
  navigationMode = props.navigationMode,
21
19
  others = _objectWithoutProperties(props, _excluded);
22
- var _useAccordionGridCont = useAccordionGridContext(),
23
- state = _useAccordionGridCont.state;
24
- var cellNode = _concatInstanceProperty(_context = []).call(_context, item.childNodes)[1];
20
+ var _ref = useAccordionGridContext(),
21
+ state = _ref.state;
22
+ /* @react-aria/grid's hooks resolve a newer `@react-stately/grid` than the direct
23
+ * dependency (their `GridState.disabledKeys` uses @react-types/shared's `Key`, which
24
+ * omits `bigint`), so the state needs a widening cast before the hook calls. */
25
+ var gridState = state;
26
+ var cellNode = _Array$from(item.childNodes)[1];
25
27
  var _useGridCell = useGridCell({
26
28
  node: cellNode,
27
29
  focusMode: 'cell',
28
30
  shouldSelectOnPressUp: true
29
- }, state, ref),
31
+ }, gridState, ref),
30
32
  gridCellProps = _useGridCell.gridCellProps;
31
33
 
32
34
  /* istanbul ignore next */
@@ -62,12 +64,4 @@ var AccordionGridItemBody = /*#__PURE__*/forwardRef(function (props, ref) {
62
64
  "aria-label": ariaLabel
63
65
  }, others), children);
64
66
  });
65
- AccordionGridItemBody.propTypes = {
66
- isSelected: PropTypes.bool,
67
- 'aria-label': PropTypes.string,
68
- item: PropTypes.shape({
69
- childNodes: PropTypes.arrayOf(PropTypes.shape({}))
70
- }),
71
- navigationMode: PropTypes.string
72
- };
73
67
  export default AccordionGridItemBody;
@@ -1,19 +1,17 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
3
  var _excluded = ["item", "className", "children", "isSelected", "hasCaret", "navigationMode", "customDownArrow", "customUpArrow"];
4
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
5
5
  import React, { forwardRef, useImperativeHandle, useRef } from 'react';
6
6
  import { mergeProps, useFocusRing } from 'react-aria';
7
7
  import { useGridCell } from '@react-aria/grid';
8
8
  import { useHover, usePress } from '@react-aria/interactions';
9
- import PropTypes from 'prop-types';
10
9
  import { useAccordionGridContext } from '../../context/AccordionGridContext';
11
10
  import { useGetTheme, useStatusClasses } from '../../hooks';
12
11
  import Box from '../Box';
13
12
  import Icon from '../Icon';
14
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
14
  var AccordionGridItemHeader = /*#__PURE__*/forwardRef(function (props, ref) {
16
- var _context;
17
15
  var item = props.item,
18
16
  className = props.className,
19
17
  children = props.children,
@@ -23,9 +21,13 @@ var AccordionGridItemHeader = /*#__PURE__*/forwardRef(function (props, ref) {
23
21
  customDownArrow = props.customDownArrow,
24
22
  customUpArrow = props.customUpArrow,
25
23
  others = _objectWithoutProperties(props, _excluded);
26
- var _useAccordionGridCont = useAccordionGridContext(),
27
- state = _useAccordionGridCont.state;
28
- var cellRef = useRef();
24
+ var _ref = useAccordionGridContext(),
25
+ state = _ref.state;
26
+ /* @react-aria/grid's hooks resolve a newer `@react-stately/grid` than the direct
27
+ * dependency (their `GridState.disabledKeys` uses @react-types/shared's `Key`, which
28
+ * omits `bigint`), so the state needs a widening cast before the hook calls. */
29
+ var gridState = state;
30
+ var cellRef = useRef(null);
29
31
  var _useGetTheme = useGetTheme(),
30
32
  icons = _useGetTheme.icons,
31
33
  isOnyx = _useGetTheme.themeState.isOnyx;
@@ -36,12 +38,12 @@ var AccordionGridItemHeader = /*#__PURE__*/forwardRef(function (props, ref) {
36
38
  useImperativeHandle(ref, function () {
37
39
  return cellRef.current;
38
40
  });
39
- var cellNode = _concatInstanceProperty(_context = []).call(_context, item.childNodes)[0];
41
+ var cellNode = _Array$from(item.childNodes)[0];
40
42
  var _useGridCell = useGridCell({
41
43
  node: cellNode,
42
44
  focusMode: 'cell',
43
45
  shouldSelectOnPressUp: true
44
- }, state, cellRef),
46
+ }, gridState, cellRef),
45
47
  gridCellProps = _useGridCell.gridCellProps;
46
48
  var _useHover = useHover({}),
47
49
  hoverProps = _useHover.hoverProps,
@@ -114,19 +116,4 @@ var AccordionGridItemHeader = /*#__PURE__*/forwardRef(function (props, ref) {
114
116
  AccordionGridItemHeader.defaultProps = {
115
117
  hasCaret: true
116
118
  };
117
- AccordionGridItemHeader.propTypes = {
118
- 'aria-label': PropTypes.string,
119
- isSelected: PropTypes.bool,
120
- hasCaret: PropTypes.bool,
121
- customDownArrow: PropTypes.node,
122
- customUpArrow: PropTypes.node,
123
- item: PropTypes.shape({
124
- key: PropTypes.string,
125
- childNodes: PropTypes.arrayOf(PropTypes.shape({})),
126
- props: PropTypes.shape({
127
- isPressed: PropTypes.bool
128
- })
129
- }),
130
- navigationMode: PropTypes.string
131
- };
132
119
  export default AccordionGridItemHeader;
@@ -279,4 +279,15 @@ export var AccordionWithSlot = function AccordionWithSlot() {
279
279
  postHeading: ___EmotionJSX(HelpHint, null, " Text of the popover right here...")
280
280
  }
281
281
  }, ___EmotionJSX(Text, null, "Render me!")));
282
+ };
283
+ export var AccordionWithHintText = function AccordionWithHintText() {
284
+ return ___EmotionJSX(AccordionGroup, {
285
+ labelHeadingTag: "h3"
286
+ }, ___EmotionJSX(Item, {
287
+ key: "accordionKey",
288
+ textValue: "accordionKey",
289
+ label: "Accordion Label",
290
+ "data-id": "accordionItem",
291
+ hintText: "Additional information about this accordion section."
292
+ }, ___EmotionJSX(Text, null, "Render me!")));
282
293
  };
@@ -188,9 +188,19 @@ var getComponentWithSlot = function getComponentWithSlot(props) {
188
188
  textValue: "Duplicate",
189
189
  "data-id": "first",
190
190
  label: "Accordion item",
191
- slots: props.slots
191
+ slots: props.slots,
192
+ hintText: props.hintText,
193
+ hintTextProps: props.hintTextProps
192
194
  }, ___EmotionJSX(Text, null, "Render me!"))));
193
195
  };
196
+ var getComponentWithHint = function getComponentWithHint() {
197
+ return render(___EmotionJSX(AccordionGroup, defaultProps, ___EmotionJSX(Item, {
198
+ key: "hint",
199
+ textValue: "Hint item",
200
+ label: "Hint item",
201
+ hintText: "Hint content"
202
+ }, ___EmotionJSX(Text, null, "Hint body"))));
203
+ };
194
204
  test('button press uses callback', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
195
205
  var onPress, buttons, selectedItem;
196
206
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -541,4 +551,36 @@ test('renders Accordion component with slot', function () {
541
551
  }
542
552
  });
543
553
  expect(screen.getByTestId('helpHint')).toBeInTheDocument();
554
+ });
555
+ test('renders hintText outside the accordion button', function () {
556
+ getComponentWithHint();
557
+ var button = screen.getByRole('button', {
558
+ name: 'Hint item'
559
+ });
560
+ var hintButton = screen.getByTestId('help-hint__button');
561
+ expect(hintButton).toBeInTheDocument();
562
+ expect(button).not.toContainElement(hintButton);
563
+ });
564
+ test('supports hintTextProps and postHeading independently', function () {
565
+ getComponentWithSlot({
566
+ slots: {
567
+ postHeading: ___EmotionJSX("span", {
568
+ "data-testid": "post-heading"
569
+ }, "Post heading")
570
+ },
571
+ hintText: 'Hint content',
572
+ hintTextProps: {
573
+ iconButtonProps: {
574
+ 'aria-label': 'section help'
575
+ },
576
+ popoverProps: {
577
+ isOpen: true
578
+ }
579
+ }
580
+ });
581
+ expect(screen.getByRole('button', {
582
+ name: 'section help'
583
+ })).toBeInTheDocument();
584
+ expect(screen.getByText('Hint content')).toBeInTheDocument();
585
+ expect(screen.getByTestId('post-heading')).toBeInTheDocument();
544
586
  });
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["containerProps", "buttonProps", "regionProps"];
3
+ var _excluded = ["containerProps", "buttonProps", "hintText", "hintTextProps", "regionProps"];
4
4
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
5
5
  import React, { useContext, useRef } from 'react';
6
6
  import { mergeProps, useButton } from 'react-aria';
@@ -10,7 +10,7 @@ import { useHover } from '@react-aria/interactions';
10
10
  import { Button as ThemeUIButton } from 'theme-ui';
11
11
  import { AccordionContext } from '../../context/AccordionContext';
12
12
  import { useGetTheme, useStatusClasses } from '../../hooks';
13
- import { Box, Icon, Text } from '../../index';
13
+ import { Box, HelpHint, Icon, Text } from '../../index';
14
14
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
15
  export var validHeadingTags = ['h1', 'h2', 'h3', 'h4'];
16
16
  var AccordionItem = function AccordionItem(props) {
@@ -23,6 +23,8 @@ var AccordionItem = function AccordionItem(props) {
23
23
  containerProps = _item$props$container === void 0 ? {} : _item$props$container,
24
24
  _item$props$buttonPro = _item$props.buttonProps,
25
25
  buttonProps = _item$props$buttonPro === void 0 ? {} : _item$props$buttonPro,
26
+ hintText = _item$props.hintText,
27
+ hintTextProps = _item$props.hintTextProps,
26
28
  _item$props$regionPro = _item$props.regionProps,
27
29
  regionProps = _item$props$regionPro === void 0 ? {} : _item$props$regionPro,
28
30
  others = _objectWithoutProperties(_item$props, _excluded);
@@ -100,7 +102,7 @@ var AccordionItem = function AccordionItem(props) {
100
102
  title: {
101
103
  name: ''
102
104
  }
103
- }))), ((_item$props$slots = item.props.slots) === null || _item$props$slots === void 0 ? void 0 : _item$props$slots.postHeading) && ((_item$props$slots2 = item.props.slots) === null || _item$props$slots2 === void 0 ? void 0 : _item$props$slots2.postHeading)), isOpen && ___EmotionJSX(Box, _extends({
105
+ }))), hintText && ___EmotionJSX(HelpHint, hintTextProps, hintText), ((_item$props$slots = item.props.slots) === null || _item$props$slots === void 0 ? void 0 : _item$props$slots.postHeading) && ((_item$props$slots2 = item.props.slots) === null || _item$props$slots2 === void 0 ? void 0 : _item$props$slots2.postHeading)), isOpen && ___EmotionJSX(Box, _extends({
104
106
  variant: "accordion.body"
105
107
  }, accordionRegionProps, regionProps, {
106
108
  className: itemClasses
@@ -10,7 +10,7 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
10
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
11
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
12
  var _excluded = ["addButtonLabel", "addButtonProps", "defaultValue", "fieldControlWrapperProps", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText", "slots"],
13
- _excluded2 = ["id", "onComponentRender", "fieldValue"];
13
+ _excluded2 = ["id", "onComponentRender", "value", "fieldValue"];
14
14
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
@@ -45,6 +45,15 @@ var ArrayField = /*#__PURE__*/forwardRef(function (props, ref) {
45
45
  others = _objectWithoutProperties(props, _excluded);
46
46
  var valueRef = React.useRef(value);
47
47
  valueRef.current = value;
48
+
49
+ // The helper and maximum feedback texts live outside the field list, so the
50
+ // list needs explicit aria-describedby/labelledby references to them (part
51
+ // of the UXE-8465 helper-text acceptance criteria). Aria attributes may
52
+ // arrive from both the component props and fieldControlWrapperProps, so the
53
+ // id lists are merged instead of overwritten.
54
+ var arrayFieldId = React.useRef(uuid()).current;
55
+ var helperTextId = "".concat(arrayFieldId, "-helper");
56
+ var maxSizeTextId = "".concat(arrayFieldId, "-max-size");
48
57
  var onAddRef = React.useRef(onAdd);
49
58
  onAddRef.current = onAdd;
50
59
  var onChangeRef = React.useRef(onChange);
@@ -134,33 +143,41 @@ var ArrayField = /*#__PURE__*/forwardRef(function (props, ref) {
134
143
  as: "ul",
135
144
  pl: "0"
136
145
  }, ariaProps, fieldControlWrapperProps), _mapInstanceProperty(_context2 = value || fieldValues).call(_context2, function (_ref2) {
146
+ var _ref3;
137
147
  var id = _ref2.id,
138
148
  onComponentRender = _ref2.onComponentRender,
139
- fieldValue = _ref2.fieldValue,
149
+ rowValue = _ref2.value,
150
+ legacyFieldValue = _ref2.fieldValue,
140
151
  otherFieldProps = _objectWithoutProperties(_ref2, _excluded2);
152
+ var normalizedValue = (_ref3 = rowValue !== null && rowValue !== void 0 ? rowValue : legacyFieldValue) !== null && _ref3 !== void 0 ? _ref3 : '';
141
153
  return ___EmotionJSX(Box, {
142
154
  as: "li",
143
- mb: "xs",
155
+ variant: "arrayField.listItem",
144
156
  key: id
145
- }, renderedItem(id, fieldValue, otherFieldProps, onComponentRender, raLabelProps === null || raLabelProps === void 0 ? void 0 : raLabelProps.id));
146
- })), helperText && ___EmotionJSX(FieldHelperText, {
147
- status: status
157
+ }, renderedItem(id, normalizedValue, otherFieldProps, onComponentRender, raLabelProps === null || raLabelProps === void 0 ? void 0 : raLabelProps.id));
158
+ })), (helperText || isLimitReached) && ___EmotionJSX(Box, {
159
+ variant: "arrayField.helperTextContainer"
160
+ }, helperText && ___EmotionJSX(FieldHelperText, {
161
+ status: status,
162
+ id: helperTextId
148
163
  }, helperText), isLimitReached && ___EmotionJSX(FieldHelperText, {
149
- status: statuses.DEFAULT
150
- }, maxSizeText || "Maximum ".concat(maxSize, " items.")), shouldShowBottomBar && ___EmotionJSX(Box, {
164
+ status: statuses.DEFAULT,
165
+ id: maxSizeTextId
166
+ }, maxSizeText || "Maximum ".concat(maxSize, " items."))), shouldShowBottomBar && ___EmotionJSX(Box, {
151
167
  isRow: true,
152
- gap: "md"
168
+ gap: "md",
169
+ variant: "arrayField.bottomBar"
153
170
  }, (slots === null || slots === void 0 ? void 0 : slots.left) && (slots === null || slots === void 0 ? void 0 : slots.left), !isLimitReached && ___EmotionJSX(Button, _extends({
154
171
  "aria-label": "Add field",
155
172
  variant: "link",
156
173
  onPress: onFieldAdd,
157
174
  sx: {
158
- width: 'fit-content',
159
- mt: 'xs'
175
+ variant: 'variants.arrayField.addButton'
160
176
  }
161
177
  }, addButtonProps), ___EmotionJSX(Text, {
162
- variant: "label",
163
- color: "active"
178
+ sx: {
179
+ variant: 'variants.arrayField.addButtonText'
180
+ }
164
181
  }, addButtonLabel)), (slots === null || slots === void 0 ? void 0 : slots.right) && (slots === null || slots === void 0 ? void 0 : slots.right)));
165
182
  });
166
183
  ArrayField.defaultProps = {
@@ -16,7 +16,11 @@ ArrayField should:
16
16
 
17
17
  ### Required Components
18
18
 
19
- This component requires the appropriate field component ([TextField](./?path=/story/form-textfield--default) or [SelectField](./?path=/story/form-selectfield--default)) and the ArrayFieldDeleteButton.
19
+ This component requires the appropriate field component ([TextField](./?path=/story/form-textfield--default) or [SelectField](./?path=/story/form-selectfield--default)) and the ArrayFieldDeleteButton.
20
+
21
+ The `label` and `helperText` props describe the array as a whole. `helperText` is array-level guidance, not helper text for an individual child field. ArrayField renders the helper and maximum-size message after the child rows and before the Add Field control.
22
+
23
+ The examples use compact rows without repeated visible child labels. Every child control still has an explicit accessible name, and every delete control has a name that describes its action. When supplying a custom `renderField` or `onComponentRender`, preserve an accessible name with `aria-label`, `aria-labelledby`, or a visible label even when omitting a repeated label for layout.
20
24
 
21
25
  ### Accessibility
22
26