@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
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
5
+ var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
6
+ var _Object$create = require("@babel/runtime-corejs3/core-js-stable/object/create");
7
+ var _bindInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/bind");
8
+ var _Object$getPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/get-prototype-of");
9
+ var _Object$setPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/set-prototype-of");
10
+ var _Symbol$asyncIterator = require("@babel/runtime-corejs3/core-js-stable/symbol/async-iterator");
11
+ var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
12
+ var _Symbol$iterator = require("@babel/runtime-corejs3/core-js-stable/symbol/iterator");
13
+ var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reverse");
14
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
15
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
16
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
17
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
18
+ var _forEachInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
19
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
20
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
21
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
23
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
24
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
25
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
26
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
27
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
28
+ var _react = _interopRequireDefault(require("react"));
29
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
30
+ var _jestAxe = require("jest-axe");
31
+ var _index = require("../../index");
32
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
33
+ var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
34
+ var _ = require(".");
35
+ var _react2 = require("@emotion/react");
36
+ var _excluded = ["value", "label"];
37
+ 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; }
38
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context9, _context0; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty2(_context9 = ownKeys(Object(t), !0)).call(_context9, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty2(_context0 = ownKeys(Object(t))).call(_context0, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
39
+ function _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (_Object$getPrototypeOf ? _Object$getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && _reverseInstanceProperty(o).call(o)); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
40
+ function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof _Symbol && _Symbol$iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
41
+ function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
42
+ function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
43
+ function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || _Promise); }
44
+ function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof _Symbol && _Symbol$asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
45
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof _Symbol ? _Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = _Object$create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: _bindInstanceProperty(d).call(d, e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = _Object$getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(c); function f(e) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = _Object$create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
46
+ function _regeneratorDefine2(e, r, n, t) { var i = _Object$defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
47
+ function _OverloadYield(e, d) { this.v = e, this.k = d; }
48
+ var groupLabel = 'Pets';
49
+ var values = ['dogs', 'cats', 'dragons'];
50
+ var longLabel = 'A very long label that wraps within the available group width';
51
+ var defaultItems = (0, _map["default"])(values).call(values, function (value) {
52
+ return {
53
+ value: value,
54
+ label: value
55
+ };
56
+ });
57
+ beforeEach(function () {
58
+ jest.useRealTimers();
59
+ });
60
+ afterEach(function () {
61
+ jest.useRealTimers();
62
+ });
63
+ var renderGroup = function renderGroup() {
64
+ var groupProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
65
+ var itemConfigs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultItems;
66
+ var options = arguments.length > 2 ? arguments[2] : undefined;
67
+ return (0, _testWrapper.render)((0, _react2.jsx)(_.CheckboxFieldGroup, (0, _extends2["default"])({
68
+ label: groupLabel
69
+ }, groupProps), (0, _map["default"])(itemConfigs).call(itemConfigs, function (_ref) {
70
+ var value = _ref.value,
71
+ label = _ref.label,
72
+ itemProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
73
+ return (0, _react2.jsx)(_.CheckboxFieldGroupItem, (0, _extends2["default"])({
74
+ key: value,
75
+ value: value,
76
+ label: label
77
+ }, itemProps));
78
+ })), options);
79
+ };
80
+ (0, _universalComponentTest.universalComponentTests)({
81
+ renderComponent: function renderComponent(props) {
82
+ return (0, _react2.jsx)(_.CheckboxFieldGroup, (0, _extends2["default"])({
83
+ label: groupLabel
84
+ }, props), (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
85
+ value: values[0],
86
+ label: "Dogs"
87
+ }));
88
+ }
89
+ });
90
+ test.each([['default', {}], ['required', {
91
+ isRequired: true
92
+ }], ['helper and error', {
93
+ helperText: 'Select at least one pet',
94
+ errorMessage: 'A pet selection is required',
95
+ isInvalid: true
96
+ }], ['disabled', {
97
+ isDisabled: true
98
+ }], ['read-only', {
99
+ isReadOnly: true
100
+ }], ['horizontal', {
101
+ orientation: 'horizontal'
102
+ }]])('has no accessibility violations for the %s state', /*#__PURE__*/function () {
103
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_state, groupProps) {
104
+ var _renderGroup, container;
105
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
106
+ while (1) switch (_context.prev = _context.next) {
107
+ case 0:
108
+ _renderGroup = renderGroup(groupProps), container = _renderGroup.container;
109
+ _context.t0 = expect;
110
+ _context.next = 4;
111
+ return (0, _jestAxe.axe)(container);
112
+ case 4:
113
+ _context.t1 = _context.sent;
114
+ (0, _context.t0)(_context.t1).toHaveNoViolations();
115
+ case 6:
116
+ case "end":
117
+ return _context.stop();
118
+ }
119
+ }, _callee);
120
+ }));
121
+ return function (_x, _x2) {
122
+ return _ref2.apply(this, arguments);
123
+ };
124
+ }());
125
+ test('renders a labelled group and individually labelled checkbox items', function () {
126
+ renderGroup();
127
+ var group = _testWrapper.screen.getByRole('group', {
128
+ name: groupLabel
129
+ });
130
+ var groupLabelElement = _testWrapper.screen.getByText(groupLabel);
131
+ expect(group).toHaveAttribute('aria-labelledby', groupLabelElement.id);
132
+ expect(_testWrapper.screen.getByRole('checkbox', {
133
+ name: 'dogs'
134
+ })).toBeInTheDocument();
135
+ expect(_testWrapper.screen.getByRole('checkbox', {
136
+ name: 'cats'
137
+ })).toBeInTheDocument();
138
+ });
139
+ test('toggles multiple items and reports the next selected array', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
140
+ var onChange, checkboxes;
141
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
142
+ while (1) switch (_context2.prev = _context2.next) {
143
+ case 0:
144
+ onChange = jest.fn();
145
+ renderGroup({
146
+ onChange: onChange
147
+ });
148
+ checkboxes = _testWrapper.screen.getAllByRole('checkbox');
149
+ _context2.next = 5;
150
+ return _userEvent["default"].click(checkboxes[0]);
151
+ case 5:
152
+ _context2.next = 7;
153
+ return _userEvent["default"].click(checkboxes[1]);
154
+ case 7:
155
+ _context2.next = 9;
156
+ return _userEvent["default"].click(checkboxes[0]);
157
+ case 9:
158
+ expect(onChange).toHaveBeenNthCalledWith(1, [values[0]]);
159
+ expect(onChange).toHaveBeenNthCalledWith(2, [values[0], values[1]]);
160
+ expect(onChange).toHaveBeenNthCalledWith(3, [values[1]]);
161
+ expect(checkboxes[0]).not.toBeChecked();
162
+ expect(checkboxes[1]).toBeChecked();
163
+ case 14:
164
+ case "end":
165
+ return _context2.stop();
166
+ }
167
+ }, _callee2);
168
+ })));
169
+ test('supports controlled selection without changing until the value prop changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
170
+ var onChange, checkboxes;
171
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
172
+ while (1) switch (_context3.prev = _context3.next) {
173
+ case 0:
174
+ onChange = jest.fn();
175
+ renderGroup({
176
+ value: [values[0]],
177
+ onChange: onChange
178
+ });
179
+ checkboxes = _testWrapper.screen.getAllByRole('checkbox');
180
+ expect(checkboxes[0]).toBeChecked();
181
+ _context3.next = 6;
182
+ return _userEvent["default"].click(checkboxes[1]);
183
+ case 6:
184
+ expect(onChange).toHaveBeenCalledWith([values[0], values[1]]);
185
+ expect(checkboxes[0]).toBeChecked();
186
+ expect(checkboxes[1]).not.toBeChecked();
187
+ case 9:
188
+ case "end":
189
+ return _context3.stop();
190
+ }
191
+ }, _callee3);
192
+ })));
193
+ test('supports an uncontrolled default selection', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
194
+ var checkboxes;
195
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
196
+ while (1) switch (_context4.prev = _context4.next) {
197
+ case 0:
198
+ renderGroup({
199
+ defaultValue: [values[0]]
200
+ });
201
+ checkboxes = _testWrapper.screen.getAllByRole('checkbox');
202
+ expect(checkboxes[0]).toBeChecked();
203
+ _context4.next = 5;
204
+ return _userEvent["default"].click(checkboxes[1]);
205
+ case 5:
206
+ expect(checkboxes[0]).toBeChecked();
207
+ expect(checkboxes[1]).toBeChecked();
208
+ case 7:
209
+ case "end":
210
+ return _context4.stop();
211
+ }
212
+ }, _callee4);
213
+ })));
214
+ test('disabled group and items ignore clicks and Space without changing selection', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
215
+ var groupOnChange, _renderGroup2, unmount, groupCheckboxes, groupItem, itemOnChange, _renderGroup3, container, itemCheckboxes, itemContainer;
216
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
217
+ while (1) switch (_context5.prev = _context5.next) {
218
+ case 0:
219
+ groupOnChange = jest.fn();
220
+ _renderGroup2 = renderGroup({
221
+ defaultValue: [values[0]],
222
+ isDisabled: true,
223
+ onChange: groupOnChange
224
+ }), unmount = _renderGroup2.unmount;
225
+ groupCheckboxes = _testWrapper.screen.getAllByRole('checkbox');
226
+ (0, _forEach["default"])(groupCheckboxes).call(groupCheckboxes, function (checkbox) {
227
+ return expect(checkbox).toBeDisabled();
228
+ });
229
+ groupItem = groupCheckboxes[0].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
230
+ expect(groupItem).toHaveStyleRule('opacity', '0.65', {
231
+ target: '.is-disabled'
232
+ });
233
+ _context5.next = 8;
234
+ return _userEvent["default"].click(groupCheckboxes[0]);
235
+ case 8:
236
+ _context5.next = 10;
237
+ return _userEvent["default"].type(groupCheckboxes[0], '{space}');
238
+ case 10:
239
+ expect(groupCheckboxes[0]).toBeChecked();
240
+ expect(groupOnChange).not.toHaveBeenCalled();
241
+ unmount();
242
+ itemOnChange = jest.fn();
243
+ _renderGroup3 = renderGroup({
244
+ defaultValue: [values[1]],
245
+ onChange: itemOnChange
246
+ }, [defaultItems[0], _objectSpread(_objectSpread({}, defaultItems[1]), {}, {
247
+ isDisabled: true
248
+ })]), container = _renderGroup3.container;
249
+ itemCheckboxes = (0, _testWrapper.within)(container).getAllByRole('checkbox');
250
+ expect(itemCheckboxes[0]).toBeEnabled();
251
+ expect(itemCheckboxes[1]).toBeDisabled();
252
+ itemContainer = itemCheckboxes[1].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
253
+ expect(itemContainer).toHaveStyleRule('opacity', '0.65', {
254
+ target: '.is-disabled'
255
+ });
256
+ // The base Astro theme resolves space.md to 15px; the rule is serialized on
257
+ // the label's emotion class as a `div` descendant rule.
258
+ expect(itemContainer.querySelector('label')).toHaveStyleRule('margin-right', '15px', {
259
+ target: 'div'
260
+ });
261
+ expect(itemCheckboxes[1]).toBeChecked();
262
+ _context5.next = 24;
263
+ return _userEvent["default"].click(itemCheckboxes[1]);
264
+ case 24:
265
+ _context5.next = 26;
266
+ return _userEvent["default"].type(itemCheckboxes[1], '{space}');
267
+ case 26:
268
+ expect(itemCheckboxes[1]).toBeChecked();
269
+ expect(itemOnChange).not.toHaveBeenCalled();
270
+ case 28:
271
+ case "end":
272
+ return _context5.stop();
273
+ }
274
+ }, _callee5);
275
+ })));
276
+ test('keeps a read-only group focusable without changing selection or invoking onChange', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
277
+ var onChange, checkboxes, readOnlyItem;
278
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
279
+ while (1) switch (_context6.prev = _context6.next) {
280
+ case 0:
281
+ onChange = jest.fn();
282
+ renderGroup({
283
+ isReadOnly: true,
284
+ onChange: onChange
285
+ });
286
+ checkboxes = _testWrapper.screen.getAllByRole('checkbox');
287
+ expect(_testWrapper.screen.getByRole('group', {
288
+ name: groupLabel
289
+ })).toBeInTheDocument();
290
+ expect(checkboxes[0]).toHaveAttribute('aria-readonly', 'true');
291
+ readOnlyItem = checkboxes[0].closest('[data-pendo-id="CheckboxFieldGroupItem"]');
292
+ expect(readOnlyItem).toHaveStyleRule('opacity', '0.65', {
293
+ target: '.is-read-only'
294
+ });
295
+ _context6.next = 9;
296
+ return _userEvent["default"].tab();
297
+ case 9:
298
+ expect(checkboxes[0]).toHaveFocus();
299
+ _context6.next = 12;
300
+ return _userEvent["default"].click(checkboxes[0]);
301
+ case 12:
302
+ _context6.next = 14;
303
+ return _userEvent["default"].type(checkboxes[0], '{space}');
304
+ case 14:
305
+ expect(checkboxes[0]).not.toBeChecked();
306
+ expect(onChange).not.toHaveBeenCalled();
307
+ _context6.next = 18;
308
+ return _userEvent["default"].tab();
309
+ case 18:
310
+ expect(checkboxes[1]).toHaveFocus();
311
+ _context6.next = 21;
312
+ return _userEvent["default"].tab({
313
+ shift: true
314
+ });
315
+ case 21:
316
+ expect(checkboxes[0]).toHaveFocus();
317
+ case 22:
318
+ case "end":
319
+ return _context6.stop();
320
+ }
321
+ }, _callee6);
322
+ })));
323
+ test('exposes required and invalid semantics and associates helper and error messages', function () {
324
+ var _group$getAttribute;
325
+ var helperText = 'Select at least one pet';
326
+ var errorMessage = 'A pet selection is required';
327
+ renderGroup({
328
+ helperText: helperText,
329
+ errorMessage: errorMessage,
330
+ isInvalid: true,
331
+ isRequired: true
332
+ });
333
+ var group = _testWrapper.screen.getByRole('group', {
334
+ name: new RegExp(groupLabel)
335
+ });
336
+ var helper = _testWrapper.screen.getByText(helperText);
337
+ var error = _testWrapper.screen.getByText(errorMessage);
338
+ var describedBy = ((_group$getAttribute = group.getAttribute('aria-describedby')) === null || _group$getAttribute === void 0 ? void 0 : _group$getAttribute.split(' ')) || [];
339
+ var checkboxes = _testWrapper.screen.getAllByRole('checkbox');
340
+ expect(checkboxes).toHaveLength(defaultItems.length);
341
+ (0, _forEach["default"])(checkboxes).call(checkboxes, function (checkbox) {
342
+ var _checkbox$getAttribut;
343
+ expect(checkbox).toBeRequired();
344
+ expect(checkbox).toHaveAttribute('aria-invalid', 'true');
345
+ expect((_checkbox$getAttribut = checkbox.getAttribute('aria-describedby')) === null || _checkbox$getAttribut === void 0 ? void 0 : _checkbox$getAttribut.split(' ')).toEqual(expect.arrayContaining([helper.id, error.id]));
346
+ });
347
+ expect(describedBy).toEqual(expect.arrayContaining([helper.id, error.id]));
348
+ });
349
+ test('associates item helper text with its checkbox', function () {
350
+ var _checkbox$getAttribut2;
351
+ var itemHelper = 'Dogs are friendly';
352
+ renderGroup({}, [_objectSpread(_objectSpread({}, defaultItems[0]), {}, {
353
+ helperText: itemHelper
354
+ })]);
355
+ var checkbox = _testWrapper.screen.getByRole('checkbox', {
356
+ name: values[0]
357
+ });
358
+ var helper = _testWrapper.screen.getByText(itemHelper);
359
+ expect((_checkbox$getAttribut2 = checkbox.getAttribute('aria-describedby')) === null || _checkbox$getAttribut2 === void 0 ? void 0 : _checkbox$getAttribut2.split(' ')).toContain(helper.id);
360
+ });
361
+ test('uses native validity for an empty required group and selected checkbox', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
362
+ var form, checkboxes, initialFormValidity;
363
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
364
+ while (1) switch (_context7.prev = _context7.next) {
365
+ case 0:
366
+ (0, _testWrapper.render)((0, _react2.jsx)("form", {
367
+ "aria-label": "Pet form"
368
+ }, (0, _react2.jsx)(_.CheckboxFieldGroup, {
369
+ label: groupLabel,
370
+ isRequired: true,
371
+ validationBehavior: "native"
372
+ }, (0, _map["default"])(defaultItems).call(defaultItems, function (_ref9) {
373
+ var value = _ref9.value,
374
+ label = _ref9.label;
375
+ return (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
376
+ key: value,
377
+ value: value,
378
+ label: label
379
+ });
380
+ }))));
381
+ form = _testWrapper.screen.getByRole('form', {
382
+ name: 'Pet form'
383
+ });
384
+ checkboxes = _testWrapper.screen.getAllByRole('checkbox'); // checkValidity dispatches native invalid events that update React Aria validation state.
385
+ initialFormValidity = false;
386
+ (0, _testWrapper.act)(function () {
387
+ initialFormValidity = form.checkValidity();
388
+ });
389
+ expect(initialFormValidity).toBe(false);
390
+ expect(checkboxes[0].validity.valid).toBe(false);
391
+
392
+ /* eslint-disable-next-line testing-library/no-unnecessary-act */
393
+ (0, _testWrapper.act)(function () {
394
+ _testWrapper.fireEvent.click(checkboxes[0]);
395
+ });
396
+ expect(checkboxes[0]).toBeChecked();
397
+ // React Aria applies native required to each item; only the selected input is valid.
398
+ expect(checkboxes[0].validity.valid).toBe(true);
399
+ case 10:
400
+ case "end":
401
+ return _context7.stop();
402
+ }
403
+ }, _callee7);
404
+ })));
405
+ test('supports horizontal and vertical layout classes and long labels', function () {
406
+ var _renderGroup4 = renderGroup({
407
+ orientation: 'vertical'
408
+ }),
409
+ container = _renderGroup4.container;
410
+ var verticalGroup = (0, _testWrapper.within)(container).getByRole('group', {
411
+ name: groupLabel
412
+ });
413
+ var verticalItems = verticalGroup.children[1];
414
+ expect(verticalGroup).not.toHaveClass('is-horizontal');
415
+ expect(verticalItems).not.toHaveClass('is-horizontal');
416
+ expect(verticalItems).toHaveStyleRule('flex-direction', 'column');
417
+ expect(verticalItems).toHaveStyleRule('gap', '5px');
418
+ var _render = (0, _testWrapper.render)((0, _react2.jsx)(_index.Box, {
419
+ "data-testid": "constrained-group-container",
420
+ sx: {
421
+ width: '100%',
422
+ maxWidth: '240px',
423
+ overflowX: 'hidden'
424
+ }
425
+ }, (0, _react2.jsx)(_.CheckboxFieldGroup, {
426
+ label: groupLabel,
427
+ orientation: "horizontal"
428
+ }, (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
429
+ value: values[0],
430
+ label: longLabel
431
+ }), (0, _react2.jsx)(_.CheckboxFieldGroupItem, {
432
+ value: values[1],
433
+ label: values[1]
434
+ })))),
435
+ horizontalContainer = _render.container;
436
+ var horizontalGroup = (0, _testWrapper.within)(horizontalContainer).getByRole('group', {
437
+ name: groupLabel
438
+ });
439
+ var constrainedContainer = horizontalGroup.parentElement;
440
+ var horizontalItems = horizontalGroup.children[1];
441
+ var longLabelElement = (0, _testWrapper.within)(horizontalGroup).getByText(longLabel);
442
+ expect(constrainedContainer).toHaveStyleRule('width', '100%');
443
+ expect(constrainedContainer).toHaveStyleRule('max-width', '240px');
444
+ expect(constrainedContainer).toHaveStyleRule('overflow-x', 'hidden');
445
+ expect(horizontalGroup).toHaveClass('is-horizontal');
446
+ expect(horizontalGroup).toHaveStyleRule('width', '100%');
447
+ expect(horizontalItems).toBeInTheDocument();
448
+ expect(horizontalItems).toHaveClass('is-horizontal');
449
+ expect(horizontalItems).toHaveStyleRule('width', '100%');
450
+ expect(horizontalItems).toHaveStyleRule('flex-wrap', 'wrap', {
451
+ target: '.is-horizontal'
452
+ });
453
+ expect(longLabelElement).toHaveStyleRule('max-width', '100%');
454
+ expect(longLabelElement).toHaveStyleRule('flex-wrap', 'wrap');
455
+ expect(horizontalItems.scrollWidth).toBeLessThanOrEqual(horizontalItems.clientWidth);
456
+ });
457
+ test('supports keyboard Space toggling through the real checkbox input', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
458
+ var checkbox;
459
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
460
+ while (1) switch (_context8.prev = _context8.next) {
461
+ case 0:
462
+ renderGroup();
463
+ checkbox = _testWrapper.screen.getAllByRole('checkbox')[0];
464
+ _context8.next = 4;
465
+ return _userEvent["default"].tab();
466
+ case 4:
467
+ expect(checkbox).toHaveFocus();
468
+ _context8.next = 7;
469
+ return _userEvent["default"].type(checkbox, '{space}');
470
+ case 7:
471
+ expect(checkbox).toBeChecked();
472
+ case 8:
473
+ case "end":
474
+ return _context8.stop();
475
+ }
476
+ }, _callee8);
477
+ })));
478
+ test('renders group and item contents inside the expected group subtree', function () {
479
+ var _renderGroup5 = renderGroup(),
480
+ container = _renderGroup5.container;
481
+ var group = (0, _testWrapper.within)(container).getByRole('group', {
482
+ name: groupLabel
483
+ });
484
+ expect((0, _testWrapper.within)(group).getAllByRole('checkbox')).toHaveLength(defaultItems.length);
485
+ });
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { CheckboxFieldGroupItemProps } from '../../types/checkboxFieldGroup';
3
+ declare const CheckboxFieldGroupItem: React.ForwardRefExoticComponent<CheckboxFieldGroupItemProps & React.RefAttributes<HTMLInputElement>>;
4
+ export default CheckboxFieldGroupItem;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = void 0;
18
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
19
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
+ var _react = _interopRequireWildcard(require("react"));
22
+ var _reactAria = require("react-aria");
23
+ var _uuid = require("uuid");
24
+ var _ = require("../..");
25
+ var _CheckboxFieldGroupContext = require("../../context/CheckboxFieldGroupContext");
26
+ var _hooks = require("../../hooks");
27
+ var _pendoID = require("../../utils/devUtils/constants/pendoID");
28
+ var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
29
+ var _react2 = require("@emotion/react");
30
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
31
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty2(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ var displayName = 'CheckboxFieldGroupItem';
34
+ var CheckboxFieldGroupItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
+ var _context;
36
+ var checkBoxProps = props.checkBoxProps,
37
+ _props$controlProps = props.controlProps,
38
+ controlProps = _props$controlProps === void 0 ? {} : _props$controlProps,
39
+ hasAutoFocus = props.hasAutoFocus,
40
+ helperText = props.helperText,
41
+ isIndeterminate = props.isIndeterminate,
42
+ label = props.label,
43
+ _props$status = props.status,
44
+ status = _props$status === void 0 ? _statuses["default"].DEFAULT : _props$status;
45
+ var state = (0, _react.useContext)(_CheckboxFieldGroupContext.CheckboxFieldGroupContext);
46
+ if (!state) {
47
+ throw new Error("".concat(displayName, " must be rendered inside CheckboxFieldGroup"));
48
+ }
49
+ (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
50
+ var checkboxRef = (0, _hooks.useLocalOrForwardRef)(ref);
51
+ var helperTextId = (0, _react.useMemo)(function () {
52
+ return (0, _uuid.v4)();
53
+ }, []);
54
+ var previousIndeterminate = (0, _react.useRef)(isIndeterminate);
55
+ var checkboxGroupItemProps = _objectSpread(_objectSpread({}, props), {}, {
56
+ children: label,
57
+ autoFocus: hasAutoFocus || controlProps.hasAutoFocus,
58
+ isIndeterminate: isIndeterminate,
59
+ // The hook combines this item-level value with the group's disabled/read-only state.
60
+ isDisabled: props.isDisabled
61
+ }, controlProps);
62
+ var _useCheckboxGroupItem = (0, _reactAria.useCheckboxGroupItem)(checkboxGroupItemProps, state, checkboxRef),
63
+ checkboxLabelProps = _useCheckboxGroupItem.labelProps,
64
+ inputProps = _useCheckboxGroupItem.inputProps;
65
+ var itemIsDisabled = !!props.isDisabled || state.isDisabled;
66
+ var itemIsReadOnly = !!props.isReadOnly || state.isReadOnly;
67
+ var _useField = (0, _hooks.useField)(_objectSpread(_objectSpread({}, props), {}, {
68
+ // React Aria combines item and group state in the hook result. Pass those
69
+ // effective values to useField as well so its status classes and visual
70
+ // control/label state match the native input attributes.
71
+ isDisabled: itemIsDisabled,
72
+ isReadOnly: itemIsReadOnly,
73
+ controlProps: _objectSpread(_objectSpread({}, controlProps), inputProps),
74
+ statusClasses: {
75
+ isDisabled: itemIsDisabled,
76
+ isReadOnly: itemIsReadOnly,
77
+ isIndeterminate: isIndeterminate,
78
+ isChecked: inputProps.checked
79
+ }
80
+ })),
81
+ fieldContainerProps = _useField.fieldContainerProps,
82
+ fieldControlInputProps = _useField.fieldControlInputProps,
83
+ fieldLabelProps = _useField.fieldLabelProps;
84
+ (0, _react.useEffect)(function () {
85
+ if (checkboxRef.current) {
86
+ checkboxRef.current.indeterminate = !!isIndeterminate;
87
+ // Retain focus when the visual state changes and the browser has moved focus to body.
88
+ if (!isIndeterminate && previousIndeterminate.current && document.activeElement === document.body) {
89
+ checkboxRef.current.focus();
90
+ }
91
+ }
92
+ previousIndeterminate.current = isIndeterminate;
93
+ }, [checkboxRef, isIndeterminate]);
94
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
95
+ variant: "forms.checkboxFieldGroup.item"
96
+ }, (0, _pendoID.getPendoID)(displayName), fieldContainerProps), (0, _react2.jsx)(_.Box, {
97
+ isRow: true
98
+ }, (0, _react2.jsx)(_.Label, (0, _extends2["default"])({
99
+ variant: "forms.label.checkboxFieldGroupItem"
100
+ }, fieldLabelProps, checkboxLabelProps), (0, _react2.jsx)(_.Checkbox, (0, _extends2["default"])({
101
+ ref: checkboxRef
102
+ }, (0, _reactAria.mergeProps)(fieldControlInputProps, inputProps, checkBoxProps || {}), {
103
+ "aria-describedby": (0, _filter["default"])(_context = [inputProps['aria-describedby'], helperText ? helperTextId : undefined]).call(_context, Boolean).join(' ') || undefined,
104
+ "aria-checked": isIndeterminate ? 'mixed' : inputProps.checked,
105
+ isIndeterminate: isIndeterminate
106
+ })), label)), helperText && (0, _react2.jsx)(_.FieldHelperText, {
107
+ status: status,
108
+ id: helperTextId
109
+ }, helperText));
110
+ });
111
+ CheckboxFieldGroupItem.displayName = displayName;
112
+ var _default = exports["default"] = CheckboxFieldGroupItem;
@@ -0,0 +1,2 @@
1
+ export declare const checkboxFieldGroupArgTypes: any;
2
+ export declare const checkboxFieldGroupItemArgTypes: any;