@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,14 +1,26 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
1
9
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ 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; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
2
13
  import React, { forwardRef, useContext } from 'react';
3
14
  import { mergeProps, useFocusRing, useTab } from 'react-aria';
4
15
  import { Item as Tab } from 'react-stately';
5
16
  import { Pressable, useHover } from '@react-aria/interactions';
6
17
  import { Box, Text, Tooltip, TooltipTrigger } from '../..';
7
- import { useLocalOrForwardRef, usePropWarning, useStatusClasses } from '../../hooks';
18
+ import { useGetTheme, useLocalOrForwardRef, usePropWarning, useStatusClasses } from '../../hooks';
8
19
  import ORIENTATION from '../../utils/devUtils/constants/orientation';
9
20
  import { getPendoID } from '../../utils/devUtils/constants/pendoID';
10
21
  import TabPicker from '../TabPicker';
11
22
  import { TabsContext } from '../Tabs';
23
+ import { getSlotText } from './getSlotText';
12
24
 
13
25
  /**
14
26
  * Tab control for dividing up closely-related content.
@@ -23,6 +35,8 @@ export var CollectionTab = /*#__PURE__*/forwardRef(function (props, ref) {
23
35
  orientation = props.orientation,
24
36
  mode = props.mode,
25
37
  slots = props.slots;
38
+ var _useGetTheme = useGetTheme(),
39
+ isOnyx = _useGetTheme.themeState.isOnyx;
26
40
  var key = item.key,
27
41
  rendered = item.rendered,
28
42
  itemProps = item.props;
@@ -54,9 +68,27 @@ export var CollectionTab = /*#__PURE__*/forwardRef(function (props, ref) {
54
68
  var defaultIndicator = ___EmotionJSX(Box, {
55
69
  variant: "forms.label.indicator"
56
70
  }, "*");
71
+ var onyxSlot = function onyxSlot(slot) {
72
+ var _slot$props$children;
73
+ var isCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
74
+ if (! /*#__PURE__*/React.isValidElement(slot)) return slot;
75
+ var count = getSlotText((_slot$props$children = slot.props.children) !== null && _slot$props$children !== void 0 ? _slot$props$children : slot.props.label);
76
+ var ariaLabel = slot.props['aria-label'] || (isCount && count ? "Count ".concat(count) : undefined);
77
+ return /*#__PURE__*/React.cloneElement(slot, _objectSpread(_objectSpread({}, isCount && ariaLabel ? {
78
+ 'aria-label': ariaLabel
79
+ } : {}), isCount ? {} : {
80
+ size: 24,
81
+ sx: _objectSpread({
82
+ alignSelf: 'center'
83
+ }, slot.props.sx),
84
+ style: _objectSpread({
85
+ alignSelf: 'center'
86
+ }, slot.props.style)
87
+ }));
88
+ };
57
89
  var tab = ___EmotionJSX(Box, {
58
90
  isRow: true
59
- }, slots === null || slots === void 0 ? void 0 : slots.beforeTab, ___EmotionJSX(Box, _extends({
91
+ }, !isOnyx && (slots === null || slots === void 0 ? void 0 : slots.beforeTab), ___EmotionJSX(Box, _extends({
60
92
  className: classNames,
61
93
  variant: "tab"
62
94
  }, mergeProps(focusProps, hoverProps, tabProps), getPendoID('Tab'), {
@@ -67,7 +99,11 @@ export var CollectionTab = /*#__PURE__*/forwardRef(function (props, ref) {
67
99
  }), ___EmotionJSX(React.Fragment, null, itemProps === null || itemProps === void 0 ? void 0 : itemProps.icon, ___EmotionJSX(Text, _extends({
68
100
  variant: "tabLabel",
69
101
  display: "flex"
70
- }, itemProps === null || itemProps === void 0 ? void 0 : itemProps.tabLabelProps), rendered, isRequired && defaultIndicator), isSelected && !isDisabled && ___EmotionJSX(TabLine, itemProps === null || itemProps === void 0 ? void 0 : itemProps.tabLineProps))), slots === null || slots === void 0 ? void 0 : slots.afterTab);
102
+ }, itemProps === null || itemProps === void 0 ? void 0 : itemProps.tabLabelProps, {
103
+ sx: {
104
+ gap: isOnyx ? 'sm' : undefined
105
+ }
106
+ }), isOnyx && (slots === null || slots === void 0 ? void 0 : slots.beforeTab) && onyxSlot(slots.beforeTab), rendered, isRequired && defaultIndicator, isOnyx && (slots === null || slots === void 0 ? void 0 : slots.afterTab) && onyxSlot(slots.afterTab, true)), isSelected && !isDisabled && ___EmotionJSX(TabLine, itemProps === null || itemProps === void 0 ? void 0 : itemProps.tabLineProps))), !isOnyx && (slots === null || slots === void 0 ? void 0 : slots.afterTab));
71
107
  if (mode === 'list' && itemProps !== null && itemProps !== void 0 && itemProps.list) {
72
108
  return ___EmotionJSX(TabPicker, _extends({
73
109
  ref: tabRef,
@@ -0,0 +1,15 @@
1
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
2
+ import React from 'react';
3
+
4
+ /**
5
+ * Extracts the concatenated text of a slot's children, falling back to the
6
+ * `label` prop on nested elements (e.g. Badge) when there are no children.
7
+ */
8
+ var _getSlotText = function getSlotText(node) {
9
+ var _context;
10
+ return _mapInstanceProperty(_context = React.Children.toArray(node)).call(_context, function (child) {
11
+ var _child$props$children;
12
+ return /*#__PURE__*/React.isValidElement(child) ? _getSlotText((_child$props$children = child.props.children) !== null && _child$props$children !== void 0 ? _child$props$children : child.props.label) : String(child);
13
+ }).join('');
14
+ };
15
+ export { _getSlotText as getSlotText };
@@ -0,0 +1,21 @@
1
+ import { getSlotText } from './getSlotText';
2
+ import { jsx as ___EmotionJSX } from "@emotion/react";
3
+ test('concatenates plain string children', function () {
4
+ expect(getSlotText('14')).toBe('14');
5
+ });
6
+ test('reads the label prop of nested elements when there are no children', function () {
7
+ var badge = ___EmotionJSX("span", {
8
+ label: "14"
9
+ });
10
+ expect(getSlotText(badge)).toBe('14');
11
+ });
12
+ test('prefers children over the label prop', function () {
13
+ var node = ___EmotionJSX("span", {
14
+ label: "ignored"
15
+ }, "child text");
16
+ expect(getSlotText(node)).toBe('child text');
17
+ });
18
+ test('traverses nested elements and mixes primitives', function () {
19
+ var node = ___EmotionJSX("div", null, ___EmotionJSX("span", null, "Count "), ___EmotionJSX("span", null, ___EmotionJSX("b", null, "1"), "4"));
20
+ expect(getSlotText(node)).toBe('Count 14');
21
+ });
@@ -11,12 +11,10 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
11
11
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
12
12
  import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
13
13
  import { Item as Tab } from 'react-stately';
14
- import ArrowDropDownIcon from '@pingux/mdi-react/ArrowDropDownIcon';
15
- import ArrowDropUpIcon from '@pingux/mdi-react/ArrowDropUpIcon';
16
14
  import { Pressable } from '@react-aria/interactions';
17
15
  import PropTypes from 'prop-types';
18
16
  import { Box, Icon, Menu, PopoverMenu, Text } from '../..';
19
- import { useStatusClasses } from '../../hooks';
17
+ import { useGetTheme, useStatusClasses } from '../../hooks';
20
18
  import { TabLine } from '../Tab';
21
19
 
22
20
  /* istanbul ignore next */
@@ -35,6 +33,11 @@ var TabPicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
35
33
  _useState4 = _slicedToArray(_useState3, 2),
36
34
  selectedItem = _useState4[0],
37
35
  setSelectedItem = _useState4[1];
36
+ var _useGetTheme = useGetTheme(),
37
+ _useGetTheme$icons = _useGetTheme.icons,
38
+ tabPickerDown = _useGetTheme$icons.tabPickerDown,
39
+ tabPickerUp = _useGetTheme$icons.tabPickerUp,
40
+ isOnyx = _useGetTheme.themeState.isOnyx;
38
41
  var selectionManager = state.selectionManager;
39
42
  var _useState5 = useState(selectionManager.focusedKey),
40
43
  _useState6 = _slicedToArray(_useState5, 2),
@@ -167,11 +170,13 @@ var TabPicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
167
170
  variant: "tabLabel"
168
171
  }, item.props.name), selectedItem && ___EmotionJSX(TabLine, null)), ___EmotionJSX(Icon, {
169
172
  color: isTabFocused || _includesInstanceProperty(classNames).call(classNames, 'is-hovered') ? 'active' : 'neutral.40',
170
- icon: isOpen ? ArrowDropUpIcon : ArrowDropDownIcon,
173
+ icon: isOpen ? tabPickerUp : tabPickerDown,
174
+ variant: isOnyx ? 'tabPickerExpandIcon' : undefined,
171
175
  title: {
172
176
  name: ''
173
177
  },
174
- "aria-hidden": "true"
178
+ "aria-hidden": "true",
179
+ size: isOnyx ? 16 : undefined
175
180
  }))), ___EmotionJSX(Menu, {
176
181
  onAction: setSelectedItem,
177
182
  selectionMode: "single",
@@ -1,12 +1,26 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
1
10
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
11
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
12
+ 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
+ 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) { _defineProperty(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; }
14
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
3
15
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
16
  import React, { useState } from 'react';
5
17
  import LockIcon from '@pingux/mdi-react/LockIcon';
18
+ import LockOutlineIcon from '@pingux/mdi-react/LockOutlineIcon';
6
19
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
7
20
  import { useGetTheme } from '../../hooks';
8
21
  import { Badge, Box, Icon, Tab, Tabs, Text } from '../../index';
9
22
  import TabsReadme from './Tabs.mdx';
23
+ import { disabledSingleTabKey } from './Tabs.storyData';
10
24
  import { tabsArgTypes } from './tabsAttributes';
11
25
  import { jsx as ___EmotionJSX } from "@emotion/react";
12
26
  export default {
@@ -76,6 +90,11 @@ export var Controlled = function Controlled() {
76
90
  _useState2 = _slicedToArray(_useState, 2),
77
91
  currentTab = _useState2[0],
78
92
  setCurrentTab = _useState2[1];
93
+ var controlledTabs = _mapInstanceProperty(tabs).call(tabs, function (tab, index) {
94
+ return index === 1 ? _objectSpread(_objectSpread({}, tab), {}, {
95
+ name: 'Configuration with a deliberately long label that wraps'
96
+ }) : tab;
97
+ });
79
98
  return ___EmotionJSX(Box, {
80
99
  sx: {
81
100
  maxWidth: '500px'
@@ -83,7 +102,37 @@ export var Controlled = function Controlled() {
83
102
  }, ___EmotionJSX(Tabs, {
84
103
  selectedKey: currentTab,
85
104
  onSelectionChange: setCurrentTab,
86
- items: tabs
105
+ items: controlledTabs
106
+ }, function (item) {
107
+ return ___EmotionJSX(Tab, {
108
+ key: item.name,
109
+ title: item.name,
110
+ textValue: item.name
111
+ }, item.children);
112
+ }));
113
+ };
114
+ export var ScrollableContent = function ScrollableContent() {
115
+ var scrollableTabs = _mapInstanceProperty(tabs).call(tabs, function (tab) {
116
+ return _objectSpread(_objectSpread({}, tab), {}, {
117
+ children: ___EmotionJSX(Box, null, ___EmotionJSX(Text, null, tab.name, ' content'), ___EmotionJSX(Text, null, "This panel contains additional content to demonstrate scrolling within the tab body."), ___EmotionJSX(Box, {
118
+ sx: {
119
+ height: '300px'
120
+ }
121
+ }))
122
+ });
123
+ });
124
+ return ___EmotionJSX(Box, {
125
+ sx: {
126
+ maxWidth: '500px'
127
+ }
128
+ }, ___EmotionJSX(Tabs, {
129
+ items: scrollableTabs,
130
+ tabPanelProps: {
131
+ sx: {
132
+ maxHeight: '200px',
133
+ overflowY: 'auto'
134
+ }
135
+ }
87
136
  }, function (item) {
88
137
  return ___EmotionJSX(Tab, {
89
138
  key: item.name,
@@ -108,7 +157,7 @@ export var Centered = function Centered() {
108
157
  export var DisabledSingleTab = function DisabledSingleTab() {
109
158
  return ___EmotionJSX(Tabs, {
110
159
  items: tabs,
111
- disabledKeys: ['Tab 2']
160
+ disabledKeys: [disabledSingleTabKey]
112
161
  }, function (item) {
113
162
  return ___EmotionJSX(Tab, {
114
163
  key: item.name,
@@ -131,23 +180,25 @@ export var ContentSlots = function ContentSlots() {
131
180
  var _useGetTheme = useGetTheme(),
132
181
  isOnyx = _useGetTheme.themeState.isOnyx;
133
182
  var beforeTabNode = ___EmotionJSX(Icon, {
134
- icon: LockIcon,
183
+ icon: isOnyx ? LockOutlineIcon : LockIcon,
184
+ size: isOnyx ? 24 : undefined,
135
185
  sx: {
136
- marginTop: isOnyx ? 'md' : 'sm',
137
- marginRight: 'xs'
186
+ // alignSelf: 'center',
187
+ marginTop: isOnyx ? undefined : 'sm',
188
+ marginRight: isOnyx ? undefined : 'xs'
138
189
  },
139
190
  title: {
140
191
  name: 'Lock Icon'
141
192
  }
142
193
  });
143
- var nodeSx = {
144
- marginLeft: 5,
145
- marginTop: 10
146
- };
147
194
  var afterTabNode = ___EmotionJSX(Box, null, ___EmotionJSX(Badge, {
148
195
  variant: "countNeutral",
149
- sx: nodeSx,
150
- label: "14"
196
+ sx: {
197
+ marginTop: isOnyx ? undefined : 'sm',
198
+ marginLeft: isOnyx ? undefined : 'xs'
199
+ },
200
+ label: "14",
201
+ "aria-label": "Count 14"
151
202
  }));
152
203
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Tabs, {
153
204
  items: tabs,
@@ -0,0 +1 @@
1
+ export var disabledSingleTabKey = 'Configuration';
@@ -90,10 +90,15 @@ export var tabs = {
90
90
  '&.is-horizontal': {
91
91
  borderBottomWidth: 1,
92
92
  borderBottomStyle: 'solid',
93
- borderBottomColor: 'neutral.90',
93
+ borderBottomColor: 'border.hairline',
94
94
  gap: 'lg'
95
95
  }
96
96
  };
97
+ export var tabPickerExpandIcon = {
98
+ ml: '8px',
99
+ width: '16px',
100
+ height: '16px'
101
+ };
97
102
  export var menuTab = _objectSpread(_objectSpread({}, quiet), {}, {
98
103
  color: 'neutral.40',
99
104
  alignItems: 'center',
@@ -37,6 +37,7 @@ import { fireEvent, render, screen, waitFor } from '../../utils/testUtils/testWr
37
37
  import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
38
38
  import Tab from '../Tab';
39
39
  import Tabs from './Tabs';
40
+ import { disabledSingleTabKey } from './Tabs.storyData';
40
41
 
41
42
  // Emotion Cache added as test fails otherwise, root cause of this failure is unknown.
42
43
  // Failure occurred with ThemeUI refactor.
@@ -591,24 +592,6 @@ test('tabs without selected keys show null tab panel content', function () {
591
592
  });
592
593
  expect(screen.queryByRole('tabpanel')).not.toHaveTextContent('');
593
594
  });
594
- test('hover tab style', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee1() {
595
- var _getTabs1, tab0;
596
- return _regeneratorRuntime().wrap(function _callee1$(_context1) {
597
- while (1) switch (_context1.prev = _context1.next) {
598
- case 0:
599
- getComponent();
600
- _getTabs1 = getTabs(), tab0 = _getTabs1.tab0;
601
- expect(tab0).not.toHaveClass('is-hovered');
602
- _context1.next = 5;
603
- return userEvent.hover(tab0);
604
- case 5:
605
- expect(tab0).toHaveClass('is-hovered');
606
- case 6:
607
- case "end":
608
- return _context1.stop();
609
- }
610
- }, _callee1);
611
- })));
612
595
  test('will render slots.beforeTab if provided', function () {
613
596
  var testText = 'test-text';
614
597
  var testComponent = ___EmotionJSX("div", null, testText);
@@ -643,28 +626,28 @@ test('will render slots.afterTab if provided', function () {
643
626
  });
644
627
  expect(screen.getByText(testText)).toBeInTheDocument();
645
628
  });
646
- test('will render tab with list if provided', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
647
- var _getTabs10, menuBtn, menuItems, firstListItemContent;
648
- return _regeneratorRuntime().wrap(function _callee10$(_context10) {
649
- while (1) switch (_context10.prev = _context10.next) {
629
+ test('will render tab with list if provided', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee1() {
630
+ var _getTabs1, menuBtn, menuItems, firstListItemContent;
631
+ return _regeneratorRuntime().wrap(function _callee1$(_context1) {
632
+ while (1) switch (_context1.prev = _context1.next) {
650
633
  case 0:
651
634
  getComponentWithDynamicItems({
652
635
  items: tabsWithList,
653
636
  mode: 'list'
654
637
  });
655
- _context10.next = 3;
638
+ _context1.next = 3;
656
639
  return testTabPanel(0);
657
640
  case 3:
658
- _getTabs10 = getTabs(), menuBtn = _getTabs10.tab1.parentElement;
641
+ _getTabs1 = getTabs(), menuBtn = _getTabs1.tab1.parentElement;
659
642
  if (!menuBtn) {
660
- _context10.next = 7;
643
+ _context1.next = 7;
661
644
  break;
662
645
  }
663
- _context10.next = 7;
646
+ _context1.next = 7;
664
647
  return userEvent.click(menuBtn);
665
648
  case 7:
666
649
  expect(screen.queryByRole('menu')).toBeInTheDocument();
667
- _context10.next = 10;
650
+ _context1.next = 10;
668
651
  return testTabPanel(0);
669
652
  case 10:
670
653
  menuItems = screen.queryAllByRole('menuitemradio');
@@ -672,7 +655,7 @@ test('will render tab with list if provided', /*#__PURE__*/_asyncToGenerator(/*#
672
655
  expect(menuItems).toHaveLength(tabsWithList[1].list.length);
673
656
  }
674
657
  expect(menuItems[0]).not.toHaveFocus();
675
- _context10.next = 15;
658
+ _context1.next = 15;
676
659
  return userEvent.click(menuItems[0]);
677
660
  case 15:
678
661
  if (tabsWithList[1].list) {
@@ -681,15 +664,80 @@ test('will render tab with list if provided', /*#__PURE__*/_asyncToGenerator(/*#
681
664
  }
682
665
  expect(screen.queryByRole('menu')).not.toBeInTheDocument();
683
666
  case 17:
667
+ case "end":
668
+ return _context1.stop();
669
+ }
670
+ }, _callee1);
671
+ })));
672
+ test('list mode renders the caret for Onyx tabs', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
673
+ var listTab;
674
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
675
+ while (1) switch (_context10.prev = _context10.next) {
676
+ case 0:
677
+ getComponentWithDynamicItems({
678
+ items: tabsWithList,
679
+ mode: 'list'
680
+ });
681
+ listTab = screen.getByRole('tab', {
682
+ name: 'Tab 2'
683
+ });
684
+ expect(listTab).toBeInTheDocument();
685
+ _context10.next = 5;
686
+ return userEvent.click(listTab.parentElement);
687
+ case 5:
688
+ expect(screen.getByRole('menu')).toBeInTheDocument();
689
+ case 6:
684
690
  case "end":
685
691
  return _context10.stop();
686
692
  }
687
693
  }, _callee10);
688
694
  })));
689
- test('tab list is accessible via keyboard', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
690
- var _getTabs11, tabs, tab0, tab1, menuTrigger, menuItems, firstListItemContent;
695
+ test('single disabled tab remains unavailable with its collection key', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
696
+ var storyTabs, _getTabs10, tabs, tab0, tab1, tab2;
691
697
  return _regeneratorRuntime().wrap(function _callee11$(_context11) {
692
698
  while (1) switch (_context11.prev = _context11.next) {
699
+ case 0:
700
+ expect(disabledSingleTabKey).toBe('Configuration');
701
+ storyTabs = [{
702
+ name: 'Overview',
703
+ children: 'Overview body',
704
+ props: {}
705
+ }, {
706
+ name: 'Configuration',
707
+ children: 'Configuration body',
708
+ props: {}
709
+ }, {
710
+ name: 'Resources',
711
+ children: 'Resources body',
712
+ props: {}
713
+ }];
714
+ getComponentWithDynamicItems({
715
+ items: storyTabs,
716
+ disabledKeys: [disabledSingleTabKey],
717
+ keyboardActivation: 'automatic'
718
+ });
719
+ _getTabs10 = getTabs(), tabs = _getTabs10.tabs, tab0 = _getTabs10.tab0, tab1 = _getTabs10.tab1, tab2 = _getTabs10.tab2;
720
+ expect(tab1).toHaveAttribute('aria-disabled', 'true');
721
+ _context11.next = 7;
722
+ return userEvent.tab();
723
+ case 7:
724
+ expect(tab0).toHaveFocus();
725
+ fireEvent.keyDown(tab0, {
726
+ key: 'ArrowRight',
727
+ code: 'ArrowRight'
728
+ });
729
+ expect(tab2).toHaveFocus();
730
+ expect(tabs[1]).toHaveAttribute('aria-disabled', 'true');
731
+ case 11:
732
+ case "end":
733
+ return _context11.stop();
734
+ }
735
+ }, _callee11);
736
+ })));
737
+ test('tab list is accessible via keyboard', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12() {
738
+ var _getTabs11, tabs, tab0, tab1, menuTrigger, menuItems, firstListItemContent;
739
+ return _regeneratorRuntime().wrap(function _callee12$(_context12) {
740
+ while (1) switch (_context12.prev = _context12.next) {
693
741
  case 0:
694
742
  getComponentWithDynamicItems({
695
743
  items: tabsWithList,
@@ -699,10 +747,10 @@ test('tab list is accessible via keyboard', /*#__PURE__*/_asyncToGenerator(/*#__
699
747
  _forEachInstanceProperty(tabs).call(tabs, function (tab) {
700
748
  return expect(tab).not.toHaveFocus();
701
749
  });
702
- _context11.next = 5;
750
+ _context12.next = 5;
703
751
  return userEvent.tab();
704
752
  case 5:
705
- _context11.next = 7;
753
+ _context12.next = 7;
706
754
  return testTabPanel(0);
707
755
  case 7:
708
756
  fireEvent.keyDown(tab0, {
@@ -714,15 +762,15 @@ test('tab list is accessible via keyboard', /*#__PURE__*/_asyncToGenerator(/*#__
714
762
  // In newer React Aria, the PopoverMenu trigger wraps the tab,
715
763
  // so we need to click the parent menu trigger element
716
764
  menuTrigger = tab1.closest('[aria-haspopup="true"]') || tab1;
717
- _context11.next = 12;
765
+ _context12.next = 12;
718
766
  return userEvent.click(menuTrigger);
719
767
  case 12:
720
- _context11.next = 14;
768
+ _context12.next = 14;
721
769
  return waitFor(function () {
722
770
  expect(screen.queryByRole('menu')).toBeInTheDocument();
723
771
  });
724
772
  case 14:
725
- _context11.next = 16;
773
+ _context12.next = 16;
726
774
  return testTabPanel(0);
727
775
  case 16:
728
776
  menuItems = screen.queryAllByRole('menuitemradio');
@@ -741,7 +789,7 @@ test('tab list is accessible via keyboard', /*#__PURE__*/_asyncToGenerator(/*#__
741
789
  expect(screen.queryByRole('menu')).not.toBeInTheDocument();
742
790
  case 22:
743
791
  case "end":
744
- return _context11.stop();
792
+ return _context12.stop();
745
793
  }
746
- }, _callee11);
794
+ }, _callee12);
747
795
  })));
@@ -0,0 +1,10 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * Selection state shared by the context-aware checkbox group items.
4
+ *
5
+ * This context is intentionally private to the compound component. Consumers
6
+ * should render `CheckboxFieldGroupItem` inside `CheckboxFieldGroup` instead of
7
+ * providing a state object themselves.
8
+ */
9
+ export var CheckboxFieldGroupContext = /*#__PURE__*/createContext(null);
10
+ export default CheckboxFieldGroupContext;
@@ -10,6 +10,7 @@ export { default as useField } from './useField';
10
10
  export { default as useGetTheme } from './useGetTheme';
11
11
  export { default as useGridList } from './useGridList';
12
12
  export { default as useGridListItem } from './useGridListItem';
13
+ export { default as useHelpHintPopover } from './useHelpHintPopover';
13
14
  export { default as useInputLoader } from './useInputLoader';
14
15
  export { default as useLabelHeight } from './useLabelHeight';
15
16
  export { default as useLocalOrForwardRef } from './useLocalOrForwardRef';
@@ -0,0 +1,2 @@
1
+ export { default } from './useHelpHintPopover';
2
+ export * from './useHelpHintPopover';
@@ -0,0 +1,130 @@
1
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
4
+ var _excluded = ["onPress"];
5
+ 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; }
6
+ 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) { _defineProperty(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; }
7
+ import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
8
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
9
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
10
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
11
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
12
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
13
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
14
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
15
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
16
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
17
+ import { useEffect, useRef, useState } from 'react';
18
+ import { mergeProps, useFocusRing, useFocusWithin, useOverlayPosition, useOverlayTrigger } from 'react-aria';
19
+ import { useOverlayTriggerState } from 'react-stately';
20
+ import { useHover } from '@react-aria/interactions';
21
+ import useStatusClasses from '../useStatusClasses';
22
+ var useHelpHintPopover = function useHelpHintPopover(triggerRef) {
23
+ var _context;
24
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
+ var _options$align = options.align,
26
+ align = _options$align === void 0 ? 'middle' : _options$align,
27
+ className = options.className,
28
+ closeDelay = options.closeDelay,
29
+ crossOffset = options.crossOffset,
30
+ _options$direction = options.direction,
31
+ direction = _options$direction === void 0 ? 'top' : _options$direction,
32
+ _options$isDarkMode = options.isDarkMode,
33
+ isDarkMode = _options$isDarkMode === void 0 ? true : _options$isDarkMode,
34
+ _options$isNotFlippab = options.isNotFlippable,
35
+ isNotFlippable = _options$isNotFlippab === void 0 ? false : _options$isNotFlippab,
36
+ _options$isTriggerPre = options.isTriggerPressable,
37
+ isTriggerPressable = _options$isTriggerPre === void 0 ? true : _options$isTriggerPre,
38
+ _options$offset = options.offset,
39
+ offset = _options$offset === void 0 ? 15 : _options$offset,
40
+ _options$shouldOpenOn = options.shouldOpenOnTriggerFocus,
41
+ shouldOpenOnTriggerFocus = _options$shouldOpenOn === void 0 ? false : _options$shouldOpenOn;
42
+ var _useState = useState(false),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ isFocusWithinOverlay = _useState2[0],
45
+ setIsFocusWithinOverlay = _useState2[1];
46
+ var escapeDismissedRef = useRef(false);
47
+ var _useFocusWithin = useFocusWithin({
48
+ onFocusWithinChange: function onFocusWithinChange(isFocusWithin) {
49
+ return setIsFocusWithinOverlay(isFocusWithin);
50
+ }
51
+ }),
52
+ focusWithinProps = _useFocusWithin.focusWithinProps;
53
+ var overlayRef = useRef(null);
54
+ var _useFocusRing = useFocusRing(),
55
+ focusProps = _useFocusRing.focusProps,
56
+ isFocusVisible = _useFocusRing.isFocusVisible;
57
+ var _useHover = useHover({}),
58
+ overlayHoverProps = _useHover.hoverProps,
59
+ isOverlayHovered = _useHover.isHovered;
60
+ var _useHover2 = useHover({}),
61
+ hoverProps = _useHover2.hoverProps,
62
+ isTriggerHovered = _useHover2.isHovered;
63
+ var popoverState = useOverlayTriggerState({});
64
+ var open = popoverState.open,
65
+ close = popoverState.close,
66
+ isOpen = popoverState.isOpen;
67
+ var _useOverlayTrigger = useOverlayTrigger({
68
+ type: 'dialog'
69
+ }, popoverState, triggerRef),
70
+ triggerProps = _useOverlayTrigger.triggerProps,
71
+ overlayProps = _useOverlayTrigger.overlayProps;
72
+ useEffect(function () {
73
+ var timeout;
74
+ var isHovered = isTriggerHovered || isOverlayHovered;
75
+ if (isHovered || isFocusWithinOverlay || shouldOpenOnTriggerFocus && isFocusVisible && !escapeDismissedRef.current) {
76
+ open();
77
+ } else if (!isFocusWithinOverlay && !isFocusVisible && !isHovered) {
78
+ escapeDismissedRef.current = false;
79
+ timeout = _setTimeout(close, closeDelay || 1000);
80
+ }
81
+ return function () {
82
+ clearTimeout(timeout);
83
+ };
84
+ }, [isFocusWithinOverlay, isFocusVisible, isOverlayHovered, isTriggerHovered, close, closeDelay, open, shouldOpenOnTriggerFocus]);
85
+ var _useOverlayPosition = useOverlayPosition({
86
+ targetRef: triggerRef,
87
+ overlayRef: overlayRef,
88
+ placement: _concatInstanceProperty(_context = "".concat(direction, " ")).call(_context, align),
89
+ offset: offset,
90
+ crossOffset: crossOffset,
91
+ isOpen: isOpen,
92
+ onClose: close,
93
+ shouldUpdatePosition: true,
94
+ shouldFlip: !isNotFlippable
95
+ }),
96
+ positionProps = _useOverlayPosition.overlayProps,
97
+ placement = _useOverlayPosition.placement;
98
+ var _useStatusClasses = useStatusClasses(className, {
99
+ isDarkMode: isDarkMode
100
+ }),
101
+ classNames = _useStatusClasses.classNames;
102
+ var onPress = triggerProps.onPress,
103
+ pressFreeTriggerProps = _objectWithoutProperties(triggerProps, _excluded);
104
+ var dismissOnEscape = function dismissOnEscape(event) {
105
+ if (event.key === 'Escape') {
106
+ escapeDismissedRef.current = true;
107
+ close();
108
+ }
109
+ };
110
+ return {
111
+ close: close,
112
+ isFocusVisible: isFocusVisible,
113
+ isOpen: isOpen,
114
+ open: open,
115
+ overlayRef: overlayRef,
116
+ triggerProps: mergeProps(isTriggerPressable ? triggerProps : pressFreeTriggerProps, focusProps, hoverProps, {
117
+ onKeyUp: dismissOnEscape
118
+ }),
119
+ popoverContainerProps: _objectSpread({
120
+ className: classNames,
121
+ direction: direction,
122
+ isDismissable: isFocusWithinOverlay ? !isOpen : true,
123
+ isNonModal: true,
124
+ isOpen: isOpen,
125
+ onClose: close,
126
+ placement: placement !== null && placement !== void 0 ? placement : undefined
127
+ }, mergeProps(overlayProps, positionProps, overlayHoverProps, focusWithinProps))
128
+ };
129
+ };
130
+ export default useHelpHintPopover;