@pingux/astro 2.9.2 → 2.13.0-alpha.4

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 (336) hide show
  1. package/README.md +6 -2
  2. package/lib/README.md +6 -2
  3. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.mdx +40 -0
  4. package/lib/cjs/components/AccordionGroup/Accordion.styles.js +1 -2
  5. package/lib/cjs/components/AccordionGroup/AccordionGroup.mdx +41 -0
  6. package/lib/cjs/components/ArrayField/ArrayField.mdx +34 -0
  7. package/lib/cjs/components/AstroWrapper/AstroWrapper.mdx +16 -0
  8. package/lib/cjs/components/Avatar/Avatar.mdx +14 -0
  9. package/lib/cjs/components/Badge/Badge.mdx +24 -0
  10. package/lib/cjs/components/Box/Box.d.ts +4 -0
  11. package/lib/cjs/components/Box/Box.js +4 -19
  12. package/lib/cjs/components/Box/Box.mdx +23 -0
  13. package/lib/cjs/components/Box/Box.styles.d.ts +6 -0
  14. package/lib/cjs/components/Box/Box.test.d.ts +1 -0
  15. package/lib/cjs/components/Box/Box.test.js +2 -6
  16. package/lib/cjs/components/Box/index.d.ts +1 -0
  17. package/lib/cjs/components/Bracket/Bracket.mdx +17 -0
  18. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.mdx +40 -0
  19. package/lib/cjs/components/Button/Button.mdx +40 -0
  20. package/lib/cjs/components/Button/Button.stories.js +30 -5
  21. package/lib/cjs/components/Button/Buttons.styles.js +25 -7
  22. package/lib/cjs/components/Calendar/Calendar.mdx +39 -0
  23. package/lib/cjs/components/Callout/Callout.mdx +28 -0
  24. package/lib/cjs/components/Card/Card.mdx +32 -0
  25. package/lib/cjs/components/CheckboxField/CheckboxField.mdx +42 -0
  26. package/lib/cjs/components/CodeView/CodeView.mdx +23 -0
  27. package/lib/cjs/components/CollapsiblePanel/CollapsiblePanel.mdx +29 -0
  28. package/lib/cjs/components/ColorField/ColorField.mdx +38 -0
  29. package/lib/cjs/components/ComboBoxField/ComboBoxField.mdx +66 -0
  30. package/lib/cjs/components/CopyText/CopyText.mdx +23 -0
  31. package/lib/cjs/components/DataTable/DataTable.mdx +54 -0
  32. package/lib/cjs/components/DatePicker/DatePicker.mdx +49 -0
  33. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +2 -1
  34. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.mdx +36 -0
  35. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +29 -45
  36. package/lib/cjs/components/FileInputField/FileInputField.mdx +33 -0
  37. package/lib/cjs/components/HelpHint/HelpHint.js +145 -27
  38. package/lib/cjs/components/HelpHint/HelpHint.mdx +32 -0
  39. package/lib/cjs/components/HelpHint/HelpHint.stories.js +40 -7
  40. package/lib/cjs/components/HelpHint/HelpHint.styles.js +9 -1
  41. package/lib/cjs/components/HelpHint/HelpHint.test.js +202 -30
  42. package/lib/cjs/components/Icon/Icon.d.ts +4 -0
  43. package/lib/cjs/components/Icon/Icon.js +4 -27
  44. package/lib/cjs/components/Icon/Icon.mdx +49 -0
  45. package/lib/cjs/components/Icon/Icon.stories.d.ts +8 -0
  46. package/lib/cjs/components/Icon/Icon.test.d.ts +1 -0
  47. package/lib/cjs/components/Icon/index.d.ts +1 -0
  48. package/lib/cjs/components/IconBadge/IconBadge.mdx +14 -0
  49. package/lib/cjs/components/IconButton/IconButton.mdx +33 -0
  50. package/lib/cjs/components/IconButtonToggle/IconButtonToggle.mdx +31 -0
  51. package/lib/cjs/components/Image/Image.mdx +28 -0
  52. package/lib/cjs/components/ImageUploadField/ImageUploadField.mdx +38 -0
  53. package/lib/cjs/components/Link/Link.mdx +27 -0
  54. package/lib/cjs/components/Link/Link.styles.js +10 -0
  55. package/lib/cjs/components/LinkSelectField/LinkSelectField.mdx +47 -0
  56. package/lib/cjs/components/ListItem/ListItem.mdx +21 -0
  57. package/lib/cjs/components/ListView/ListView.mdx +44 -0
  58. package/lib/cjs/components/ListView/ListView.stories.js +93 -47
  59. package/lib/cjs/components/Loader/Loader.d.ts +4 -0
  60. package/lib/cjs/components/Loader/Loader.js +0 -14
  61. package/lib/cjs/components/Loader/Loader.mdx +29 -0
  62. package/lib/cjs/components/Loader/Loader.styles.d.ts +53 -0
  63. package/lib/cjs/components/Loader/Loader.test.d.ts +1 -0
  64. package/lib/cjs/components/Loader/index.d.ts +1 -0
  65. package/lib/cjs/components/Menu/Menu.mdx +43 -0
  66. package/lib/cjs/components/Messages/Messages.mdx +35 -0
  67. package/lib/cjs/components/Modal/Modal.mdx +59 -0
  68. package/lib/cjs/components/MultivaluesField/MultivaluesField.mdx +44 -0
  69. package/lib/cjs/components/NavBar/NavBar.mdx +42 -0
  70. package/lib/cjs/components/NumberField/NumberField.mdx +39 -0
  71. package/lib/cjs/components/OverlayPanel/OverlayPanel.mdx +39 -0
  72. package/lib/cjs/components/PasswordField/PasswordField.mdx +33 -0
  73. package/lib/cjs/components/PopoverContainer/PopoverContainer.d.ts +9 -0
  74. package/lib/cjs/components/PopoverContainer/PopoverContainer.js +7 -38
  75. package/lib/cjs/components/PopoverContainer/index.d.ts +2 -0
  76. package/lib/cjs/components/PopoverMenu/PopoverMenu.mdx +53 -0
  77. package/lib/cjs/components/RadioGroupField/RadioGroupField.mdx +41 -0
  78. package/lib/cjs/components/RequirementsList/RequirementsList.mdx +17 -0
  79. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.mdx +36 -0
  80. package/lib/cjs/components/ScrollBox/ScrollBox.mdx +17 -0
  81. package/lib/cjs/components/SearchField/SearchField.mdx +33 -0
  82. package/lib/cjs/components/SelectField/SelectField.mdx +46 -0
  83. package/lib/cjs/components/Separator/Separator.mdx +19 -0
  84. package/lib/cjs/components/Stepper/Stepper.mdx +41 -0
  85. package/lib/cjs/components/SwitchField/SwitchField.mdx +36 -0
  86. package/lib/cjs/components/Table/Table.mdx +30 -0
  87. package/lib/cjs/components/TableCell/TableCell.d.ts +12 -0
  88. package/lib/cjs/components/TableCell/TableCell.js +0 -5
  89. package/lib/cjs/components/TableCell/TableCell.test.d.ts +1 -0
  90. package/lib/cjs/components/TableCell/index.d.ts +1 -0
  91. package/lib/cjs/components/Tabs/Tabs.mdx +40 -0
  92. package/lib/cjs/components/Text/Text.d.ts +4 -0
  93. package/lib/cjs/components/Text/Text.js +3 -7
  94. package/lib/cjs/components/Text/Text.mdx +13 -0
  95. package/lib/cjs/components/Text/Text.stories.d.ts +6 -0
  96. package/lib/cjs/components/Text/Text.styles.d.ts +286 -0
  97. package/lib/cjs/components/Text/Text.test.d.ts +1 -0
  98. package/lib/cjs/components/Text/index.d.ts +1 -0
  99. package/lib/cjs/components/TextAreaField/TextAreaField.mdx +34 -0
  100. package/lib/cjs/components/TextField/TextField.mdx +34 -0
  101. package/lib/cjs/components/TimeZonePicker/TimeZonePicker.mdx +18 -0
  102. package/lib/cjs/components/TooltipTrigger/Tooltip.styles.js +2 -1
  103. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.js +2 -0
  104. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.mdx +23 -0
  105. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.test.js +47 -1
  106. package/lib/cjs/docs/Props.stories.mdx +35 -0
  107. package/lib/cjs/docs/Welcome.stories.mdx +149 -0
  108. package/lib/cjs/docs/hooks/useDebounce.stories.mdx +59 -0
  109. package/lib/cjs/docs/hooks/useModalState.stories.mdx +83 -0
  110. package/lib/cjs/docs/hooks/useOverlayPanelState.stories.mdx +84 -0
  111. package/lib/cjs/docs/theme/AstroNanoTheme.stories.mdx +174 -0
  112. package/lib/cjs/docs/theme/AstroTheme.stories.mdx +20 -0
  113. package/lib/cjs/docs/theme/CustomThemes.stories.mdx +70 -0
  114. package/lib/cjs/docs/theme/StylingGuideline.stories.mdx +116 -0
  115. package/lib/cjs/docs/utils/messagesReducer.stories.mdx +64 -0
  116. package/lib/cjs/experimental/EditButton/EditButton.js +63 -0
  117. package/lib/cjs/experimental/EditButton/EditButton.mdx +9 -0
  118. package/lib/cjs/experimental/EditButton/EditButton.stories.js +91 -0
  119. package/lib/cjs/experimental/EditButton/EditButton.test.js +71 -0
  120. package/lib/cjs/experimental/EditButton/index.js +14 -0
  121. package/lib/cjs/experimental/ListView/ListView.mdx +47 -0
  122. package/lib/cjs/experimental/ListView/ListView.stories.js +742 -0
  123. package/lib/cjs/experimental/ListViewItem/ListViewItem.js +23 -5
  124. package/lib/cjs/experimental/ListViewItem/ListViewItem.mdx +36 -0
  125. package/lib/cjs/experimental/ListViewItem/ListViewItem.stories.js +31 -7
  126. package/lib/cjs/experimental/ListViewItem/ListViewItem.test.js +51 -7
  127. package/lib/cjs/experimental/ListViewItem/controls/ListViewItemEditButton.js +1 -4
  128. package/lib/cjs/experimental/ListViewItem/controls/ListViewItemEditButton.stories.js +4 -1
  129. package/lib/cjs/experimental/ListViewItem/controls/ListViewItemSwitchField.js +1 -0
  130. package/lib/cjs/experimental/ListViewItem/listViewItemAttributes.js +28 -13
  131. package/lib/cjs/experimental/PanelHeader/PanelHeader.js +88 -0
  132. package/lib/cjs/experimental/PanelHeader/PanelHeader.mdx +19 -0
  133. package/lib/cjs/experimental/PanelHeader/PanelHeader.stories.js +71 -0
  134. package/lib/cjs/experimental/PanelHeader/PanelHeader.styles.js +38 -0
  135. package/lib/cjs/experimental/PanelHeader/PanelHeader.test.js +46 -0
  136. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderCloseButton.js +34 -0
  137. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderCloseButton.stories.js +31 -0
  138. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderCloseButton.test.js +25 -0
  139. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderMenu.js +27 -0
  140. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderMenu.stories.js +36 -0
  141. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderMenu.test.js +58 -0
  142. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderSwitchField.js +27 -0
  143. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderSwitchField.stories.js +41 -0
  144. package/lib/cjs/experimental/PanelHeader/controls/PanelHeaderSwitchField.test.js +25 -0
  145. package/lib/cjs/experimental/PanelHeader/index.js +14 -0
  146. package/lib/cjs/experimental/README.stories.mdx +7 -0
  147. package/lib/cjs/experimental/SaveBar/SaveBar.mdx +13 -0
  148. package/lib/cjs/experimental/recipes/ListAndPanel.stories.js +1 -1
  149. package/lib/cjs/hooks/usePropWarning/usePropWarning.js +1 -1
  150. package/lib/cjs/hooks/useStatusClasses/useStatusClasses.js +2 -2
  151. package/lib/cjs/hooks/useTShirtSize/useTShirtSize.js +1 -1
  152. package/lib/cjs/index.d.ts +173 -0
  153. package/lib/cjs/index.js +53 -1
  154. package/lib/cjs/recipes/{AttributesAndPingOneMapping.stories.js → AttributeMapping.stories.js} +392 -132
  155. package/lib/cjs/styles/colors.js +1 -1
  156. package/lib/cjs/styles/variants/README.md +98 -0
  157. package/lib/cjs/styles/variants/variants.js +2 -0
  158. package/lib/cjs/types/box.d.ts +10 -0
  159. package/lib/cjs/types/box.js +6 -0
  160. package/lib/cjs/types/icon.d.ts +34 -0
  161. package/lib/cjs/types/icon.js +6 -0
  162. package/lib/cjs/types/index.d.ts +7 -0
  163. package/lib/cjs/types/index.js +86 -0
  164. package/lib/cjs/types/loader.d.ts +14 -0
  165. package/lib/cjs/types/loader.js +6 -0
  166. package/lib/cjs/types/mdx.d.js +1 -0
  167. package/lib/cjs/types/popoverContainer.d.ts +23 -0
  168. package/lib/cjs/types/popoverContainer.js +6 -0
  169. package/lib/cjs/types/shared/dom.d.ts +9 -0
  170. package/lib/cjs/types/shared/dom.js +6 -0
  171. package/lib/cjs/types/shared/index.d.ts +3 -0
  172. package/lib/cjs/types/shared/index.js +42 -0
  173. package/lib/cjs/types/shared/style.d.ts +11 -0
  174. package/lib/cjs/types/shared/style.js +6 -0
  175. package/lib/cjs/types/shared/test.d.ts +3 -0
  176. package/lib/cjs/types/shared/test.js +6 -0
  177. package/lib/cjs/types/shared/utils.d.ts +1 -0
  178. package/lib/cjs/types/shared/utils.js +6 -0
  179. package/lib/cjs/types/tableCell.d.ts +5 -0
  180. package/lib/cjs/types/tableCell.js +6 -0
  181. package/lib/cjs/types/text.d.ts +3 -0
  182. package/lib/cjs/types/text.js +6 -0
  183. package/lib/cjs/utils/designUtils/figmaLinks.js +2 -1
  184. package/lib/components/AccordionGridGroup/AccordionGridGroup.mdx +40 -0
  185. package/lib/components/AccordionGroup/Accordion.styles.js +1 -2
  186. package/lib/components/AccordionGroup/AccordionGroup.mdx +41 -0
  187. package/lib/components/ArrayField/ArrayField.mdx +34 -0
  188. package/lib/components/AstroWrapper/AstroWrapper.mdx +16 -0
  189. package/lib/components/Avatar/Avatar.mdx +14 -0
  190. package/lib/components/Badge/Badge.mdx +24 -0
  191. package/lib/components/Box/Box.js +4 -19
  192. package/lib/components/Box/Box.mdx +23 -0
  193. package/lib/components/Box/Box.test.js +2 -6
  194. package/lib/components/Bracket/Bracket.mdx +17 -0
  195. package/lib/components/Breadcrumbs/Breadcrumbs.mdx +40 -0
  196. package/lib/components/Button/Button.mdx +40 -0
  197. package/lib/components/Button/Button.stories.js +30 -5
  198. package/lib/components/Button/Buttons.styles.js +25 -7
  199. package/lib/components/Calendar/Calendar.mdx +39 -0
  200. package/lib/components/Callout/Callout.mdx +28 -0
  201. package/lib/components/Card/Card.mdx +32 -0
  202. package/lib/components/CheckboxField/CheckboxField.mdx +42 -0
  203. package/lib/components/CodeView/CodeView.mdx +23 -0
  204. package/lib/components/CollapsiblePanel/CollapsiblePanel.mdx +29 -0
  205. package/lib/components/ColorField/ColorField.mdx +38 -0
  206. package/lib/components/ComboBoxField/ComboBoxField.mdx +66 -0
  207. package/lib/components/CopyText/CopyText.mdx +23 -0
  208. package/lib/components/DataTable/DataTable.mdx +54 -0
  209. package/lib/components/DatePicker/DatePicker.mdx +49 -0
  210. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +2 -1
  211. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.mdx +36 -0
  212. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +29 -45
  213. package/lib/components/FileInputField/FileInputField.mdx +33 -0
  214. package/lib/components/HelpHint/HelpHint.js +148 -30
  215. package/lib/components/HelpHint/HelpHint.mdx +32 -0
  216. package/lib/components/HelpHint/HelpHint.stories.js +37 -6
  217. package/lib/components/HelpHint/HelpHint.styles.js +9 -1
  218. package/lib/components/HelpHint/HelpHint.test.js +202 -30
  219. package/lib/components/Icon/Icon.js +2 -25
  220. package/lib/components/Icon/Icon.mdx +49 -0
  221. package/lib/components/IconBadge/IconBadge.mdx +14 -0
  222. package/lib/components/IconButton/IconButton.mdx +33 -0
  223. package/lib/components/IconButtonToggle/IconButtonToggle.mdx +31 -0
  224. package/lib/components/Image/Image.mdx +28 -0
  225. package/lib/components/ImageUploadField/ImageUploadField.mdx +38 -0
  226. package/lib/components/Link/Link.mdx +27 -0
  227. package/lib/components/Link/Link.styles.js +10 -0
  228. package/lib/components/LinkSelectField/LinkSelectField.mdx +47 -0
  229. package/lib/components/ListItem/ListItem.mdx +21 -0
  230. package/lib/components/ListView/ListView.mdx +44 -0
  231. package/lib/components/ListView/ListView.stories.js +94 -48
  232. package/lib/components/Loader/Loader.js +0 -14
  233. package/lib/components/Loader/Loader.mdx +29 -0
  234. package/lib/components/Menu/Menu.mdx +43 -0
  235. package/lib/components/Messages/Messages.mdx +35 -0
  236. package/lib/components/Modal/Modal.mdx +59 -0
  237. package/lib/components/MultivaluesField/MultivaluesField.mdx +44 -0
  238. package/lib/components/NavBar/NavBar.mdx +42 -0
  239. package/lib/components/NumberField/NumberField.mdx +39 -0
  240. package/lib/components/OverlayPanel/OverlayPanel.mdx +39 -0
  241. package/lib/components/PasswordField/PasswordField.mdx +33 -0
  242. package/lib/components/PopoverContainer/PopoverContainer.js +7 -38
  243. package/lib/components/PopoverMenu/PopoverMenu.mdx +53 -0
  244. package/lib/components/RadioGroupField/RadioGroupField.mdx +41 -0
  245. package/lib/components/RequirementsList/RequirementsList.mdx +17 -0
  246. package/lib/components/RockerButtonGroup/RockerButtonGroup.mdx +36 -0
  247. package/lib/components/ScrollBox/ScrollBox.mdx +17 -0
  248. package/lib/components/SearchField/SearchField.mdx +33 -0
  249. package/lib/components/SelectField/SelectField.mdx +46 -0
  250. package/lib/components/Separator/Separator.mdx +19 -0
  251. package/lib/components/Stepper/Stepper.mdx +41 -0
  252. package/lib/components/SwitchField/SwitchField.mdx +36 -0
  253. package/lib/components/Table/Table.mdx +30 -0
  254. package/lib/components/TableCell/TableCell.js +0 -5
  255. package/lib/components/Tabs/Tabs.mdx +40 -0
  256. package/lib/components/Text/Text.js +3 -7
  257. package/lib/components/Text/Text.mdx +13 -0
  258. package/lib/components/TextAreaField/TextAreaField.mdx +34 -0
  259. package/lib/components/TextField/TextField.mdx +34 -0
  260. package/lib/components/TimeZonePicker/TimeZonePicker.mdx +18 -0
  261. package/lib/components/TooltipTrigger/Tooltip.styles.js +1 -1
  262. package/lib/components/TooltipTrigger/TooltipTrigger.js +2 -0
  263. package/lib/components/TooltipTrigger/TooltipTrigger.mdx +23 -0
  264. package/lib/components/TooltipTrigger/TooltipTrigger.test.js +48 -2
  265. package/lib/docs/Props.stories.mdx +35 -0
  266. package/lib/docs/Welcome.stories.mdx +149 -0
  267. package/lib/docs/hooks/useDebounce.stories.mdx +59 -0
  268. package/lib/docs/hooks/useModalState.stories.mdx +83 -0
  269. package/lib/docs/hooks/useOverlayPanelState.stories.mdx +84 -0
  270. package/lib/docs/theme/AstroNanoTheme.stories.mdx +174 -0
  271. package/lib/docs/theme/AstroTheme.stories.mdx +20 -0
  272. package/lib/docs/theme/CustomThemes.stories.mdx +70 -0
  273. package/lib/docs/theme/StylingGuideline.stories.mdx +116 -0
  274. package/lib/docs/utils/messagesReducer.stories.mdx +64 -0
  275. package/lib/experimental/EditButton/EditButton.js +50 -0
  276. package/lib/experimental/EditButton/EditButton.mdx +9 -0
  277. package/lib/experimental/EditButton/EditButton.stories.js +75 -0
  278. package/lib/experimental/EditButton/EditButton.test.js +68 -0
  279. package/lib/experimental/EditButton/index.js +1 -0
  280. package/lib/experimental/ListView/ListView.mdx +47 -0
  281. package/lib/experimental/ListView/ListView.stories.js +729 -0
  282. package/lib/experimental/ListViewItem/ListViewItem.js +24 -6
  283. package/lib/experimental/ListViewItem/ListViewItem.mdx +36 -0
  284. package/lib/experimental/ListViewItem/ListViewItem.stories.js +28 -5
  285. package/lib/experimental/ListViewItem/ListViewItem.test.js +45 -1
  286. package/lib/experimental/ListViewItem/controls/ListViewItemEditButton.js +1 -4
  287. package/lib/experimental/ListViewItem/controls/ListViewItemEditButton.stories.js +4 -1
  288. package/lib/experimental/ListViewItem/controls/ListViewItemSwitchField.js +1 -0
  289. package/lib/experimental/ListViewItem/listViewItemAttributes.js +25 -12
  290. package/lib/experimental/PanelHeader/PanelHeader.js +75 -0
  291. package/lib/experimental/PanelHeader/PanelHeader.mdx +19 -0
  292. package/lib/experimental/PanelHeader/PanelHeader.stories.js +59 -0
  293. package/lib/experimental/PanelHeader/PanelHeader.styles.js +30 -0
  294. package/lib/experimental/PanelHeader/PanelHeader.test.js +43 -0
  295. package/lib/experimental/PanelHeader/controls/PanelHeaderCloseButton.js +25 -0
  296. package/lib/experimental/PanelHeader/controls/PanelHeaderCloseButton.stories.js +21 -0
  297. package/lib/experimental/PanelHeader/controls/PanelHeaderCloseButton.test.js +22 -0
  298. package/lib/experimental/PanelHeader/controls/PanelHeaderMenu.js +18 -0
  299. package/lib/experimental/PanelHeader/controls/PanelHeaderMenu.stories.js +26 -0
  300. package/lib/experimental/PanelHeader/controls/PanelHeaderMenu.test.js +55 -0
  301. package/lib/experimental/PanelHeader/controls/PanelHeaderSwitchField.js +18 -0
  302. package/lib/experimental/PanelHeader/controls/PanelHeaderSwitchField.stories.js +32 -0
  303. package/lib/experimental/PanelHeader/controls/PanelHeaderSwitchField.test.js +22 -0
  304. package/lib/experimental/PanelHeader/index.js +1 -0
  305. package/lib/experimental/README.stories.mdx +7 -0
  306. package/lib/experimental/SaveBar/SaveBar.mdx +13 -0
  307. package/lib/experimental/recipes/ListAndPanel.stories.js +1 -1
  308. package/lib/hooks/usePropWarning/usePropWarning.js +1 -1
  309. package/lib/hooks/useStatusClasses/useStatusClasses.js +2 -2
  310. package/lib/hooks/useTShirtSize/useTShirtSize.js +1 -1
  311. package/lib/index.js +6 -0
  312. package/lib/recipes/AttributeMapping.stories.js +540 -0
  313. package/lib/styles/colors.js +1 -1
  314. package/lib/styles/variants/README.md +98 -0
  315. package/lib/styles/variants/variants.js +2 -0
  316. package/lib/types/box.js +1 -0
  317. package/lib/types/icon.js +1 -0
  318. package/lib/types/index.js +7 -0
  319. package/lib/types/loader.js +1 -0
  320. package/lib/types/mdx.d.js +0 -0
  321. package/lib/types/popoverContainer.js +1 -0
  322. package/lib/types/shared/dom.js +1 -0
  323. package/lib/types/shared/index.js +3 -0
  324. package/lib/types/shared/style.js +1 -0
  325. package/lib/types/shared/test.js +1 -0
  326. package/lib/types/shared/utils.js +1 -0
  327. package/lib/types/tableCell.js +1 -0
  328. package/lib/types/text.js +1 -0
  329. package/lib/utils/designUtils/figmaLinks.js +2 -1
  330. package/package.json +20 -6
  331. package/CHANGELOG.md +0 -2565
  332. package/NOTICE +0 -2481
  333. package/NOTICE.html +0 -9174
  334. package/lib/cjs/recipes/AttributeMappingReadOnlyField.stories.js +0 -254
  335. package/lib/recipes/AttributeMappingReadOnlyField.stories.js +0 -243
  336. package/lib/recipes/AttributesAndPingOneMapping.stories.js +0 -282
@@ -16,7 +16,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
16
  import React, { forwardRef } from 'react';
17
17
  import { useHover } from '@react-aria/interactions';
18
18
  import { useStatusClasses } from '../../hooks';
19
- import { Box, Icon, Text } from '../../index';
19
+ import { Box, Icon, Image, Text } from '../../index';
20
20
  import { listViewItemPropTypes } from './listViewItemAttributes';
21
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
22
  var sx = {
@@ -40,6 +40,9 @@ var sx = {
40
40
  width: 25,
41
41
  color: 'accent.40'
42
42
  },
43
+ image: {
44
+ width: 35
45
+ },
43
46
  rightOfData: {
44
47
  alignSelf: 'center',
45
48
  ml: 'sm'
@@ -79,6 +82,7 @@ var ListViewItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
79
82
  slots = _ref.slots,
80
83
  others = _objectWithoutProperties(_ref, _excluded);
81
84
  var icon = data.icon,
85
+ image = data.image,
82
86
  subtext = data.subtext,
83
87
  text = data.text;
84
88
  var shouldUseDefaultHover = isHovered === undefined;
@@ -94,15 +98,22 @@ var ListViewItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
94
98
  isSelected: isSelected
95
99
  }),
96
100
  classNames = _useStatusClasses.classNames;
101
+ var iff = function iff(condition, then, otherwise) {
102
+ return condition ? then : otherwise;
103
+ };
97
104
  var wrapperStyles = slots !== null && slots !== void 0 && slots.leftOfData ? _objectSpread(_objectSpread({}, sx.wrapper), {}, {
98
105
  ml: 0
99
- }) : sx.wrapper;
106
+ }) : iff(!icon && image, _objectSpread(_objectSpread({}, sx.wrapper), {}, {
107
+ ml: 10
108
+ }), sx.wrapper);
100
109
  var textStyles = slots !== null && slots !== void 0 && slots.leftOfData ? _objectSpread(_objectSpread({}, sx.text), {}, {
101
110
  ml: 0
102
- }) : sx.text;
103
- var renderIcon = ___EmotionJSX(Box, {
111
+ }) : iff(!icon && image, _objectSpread(_objectSpread({}, sx.wrapper), {}, {
112
+ ml: 10
113
+ }), sx.wrapper);
114
+ var renderIcon = icon && ___EmotionJSX(Box, {
104
115
  sx: sx.icon
105
- }, icon && ___EmotionJSX(Icon, {
116
+ }, ___EmotionJSX(Icon, {
106
117
  icon: icon,
107
118
  size: "md",
108
119
  title: {
@@ -110,10 +121,17 @@ var ListViewItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
110
121
  name: _concatInstanceProperty(_context2 = "".concat(text)).call(_context2, LIST_ITEM_ICON)
111
122
  }
112
123
  }));
124
+ var renderImage = !icon && image && ___EmotionJSX(Box, {
125
+ sx: sx.image
126
+ }, ___EmotionJSX(Image, {
127
+ src: image.src,
128
+ alt: image.alt,
129
+ "aria-label": image['aria-label']
130
+ }));
113
131
  var renderData = ___EmotionJSX(Box, {
114
132
  isRow: true,
115
133
  sx: sx.data
116
- }, (slots === null || slots === void 0 ? void 0 : slots.leftOfData) || renderIcon, ___EmotionJSX(Box, {
134
+ }, (slots === null || slots === void 0 ? void 0 : slots.leftOfData) || renderIcon || renderImage, ___EmotionJSX(Box, {
117
135
  sx: textStyles
118
136
  }, text && ___EmotionJSX(Text, {
119
137
  variant: "bodyStrong",
@@ -0,0 +1,36 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Experimental/ListViewItem" />
4
+
5
+ # ListViewItem
6
+
7
+ The ListViewItem allows easy creation of list items. Styles have been included to match Ping specs. Use the data prop to pass in text, subtext and an image, mdi or svg icon.
8
+
9
+ ### Recommended Use
10
+ This component is intended to be used inside a ListView component. See the [ListAndPanel](./?path=/story/experimental-recipes-listandpanel--list-and-panel) and [ScrollableListView](./?path=/story/experimental-recipes-scrollablelistview--scrollable-list-view)
11
+ recipes for a more detailed examples.
12
+
13
+ #### Icons and Images
14
+ Add an icon by passing an mdi or svg icon to the `data.icon` prop. Default size is 25px.
15
+
16
+ Add an image by passing an object with a `src` key to the `data.image` prop. `alt` and `aria-label` keys are supported but not required. Default size is 35px.
17
+
18
+ If both an icon and an image are provided the icon will be rendered.
19
+
20
+ For other Icon or Image sizes use slots with `rightOfData`.
21
+
22
+ #### Slots
23
+ The slots prop has been provided for added flexibility. Use the `rightOfData` slot to add icons, badges or other elements to the right of the data
24
+ section. Use the `leftOfData` slot to add elements to the left of the data element. Note that when the
25
+ leftOfData slot is used, it will prevent an icon in the `data.icon` prop from rendering and remove all margins/padding on the left of the data.
26
+
27
+ #### Children
28
+ To add action controls, pass control elements as `{children}`. All elements passed in this way will be right justified and center aligned. Use one of the following
29
+ styled control components to easily match Ping specs.
30
+ - [ListViewItemEditButton](./?path=/story/experimental-styledlistitem-controls-listitemeditbutton--default)
31
+ - [ListViewItemMenu](./?path=/story/experimental-styledlistitem-controls-listitemmenu--default)
32
+ - [ListViewItemSwitchField](./?path=/story/experimental-styledlistitem-controls-listitemswitchfield--default)
33
+
34
+ ### Note:
35
+ The nature of components that have been styled to match design specs is that as design specs are updated, so will the matching component. Be aware that styles
36
+ inside this component may be adjusted in small ways over time.
@@ -4,6 +4,7 @@ import AccountIcon from '@pingux/mdi-react/AccountIcon';
4
4
  import FormSelectIcon from '@pingux/mdi-react/FormSelectIcon';
5
5
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
6
6
  import { Badge, Box, ListViewItem, ListViewItemEditButton, ListViewItemMenu, ListViewItemSwitchField, Separator, Text } from '../../index';
7
+ import { pingImg } from '../../utils/devUtils/constants/images';
7
8
  import ListViewItemReadMe from './ListViewItem.mdx';
8
9
  import { listViewItemArgTypes } from './listViewItemAttributes';
9
10
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -39,7 +40,8 @@ export var Default = function Default() {
39
40
  data: {
40
41
  icon: AccountIcon,
41
42
  text: 'Fons Vernall'
42
- }
43
+ },
44
+ "aria-label": "Fons Vernall"
43
45
  }));
44
46
  };
45
47
  export var WithSubtext = function WithSubtext() {
@@ -48,6 +50,20 @@ export var WithSubtext = function WithSubtext() {
48
50
  icon: AccountIcon,
49
51
  subtext: 'rad_developer@pingidentity.com',
50
52
  text: 'Fons Vernall'
53
+ },
54
+ "aria-label": "Fons Vernall"
55
+ }));
56
+ };
57
+ export var WithImage = function WithImage() {
58
+ return ___EmotionJSX(Wrapper, null, ___EmotionJSX(ListViewItem, {
59
+ data: {
60
+ image: {
61
+ src: pingImg,
62
+ alt: 'avatar',
63
+ 'aria-label': 'avatar'
64
+ },
65
+ subtext: 'rad_developer@pingidentity.com',
66
+ text: 'Fons Vernall'
51
67
  }
52
68
  }));
53
69
  };
@@ -56,8 +72,13 @@ export var WithControls = function WithControls() {
56
72
  data: {
57
73
  icon: FormSelectIcon,
58
74
  text: 'Fons Vernall'
59
- }
60
- }, ___EmotionJSX(ListViewItemEditButton, null), ___EmotionJSX(ListViewItemSwitchField, null), ___EmotionJSX(ListViewItemMenu, null, ___EmotionJSX(Item, {
75
+ },
76
+ "aria-label": "Fons Vernall"
77
+ }, ___EmotionJSX(ListViewItemEditButton, {
78
+ "aria-label": "edit-icon"
79
+ }), ___EmotionJSX(ListViewItemSwitchField, {
80
+ "aria-label": "active user"
81
+ }), ___EmotionJSX(ListViewItemMenu, null, ___EmotionJSX(Item, {
61
82
  key: "enable"
62
83
  }, "Enable user"), ___EmotionJSX(Item, {
63
84
  key: "disable"
@@ -84,7 +105,8 @@ export var WithRightOfDataSlot = function WithRightOfDataSlot() {
84
105
  },
85
106
  slots: {
86
107
  rightOfData: renderRightOfData
87
- }
108
+ },
109
+ "aria-label": "Fons Vernall"
88
110
  }, ___EmotionJSX(ListViewItemMenu, null, ___EmotionJSX(Item, {
89
111
  key: "enable"
90
112
  }, "Enable user"), ___EmotionJSX(Item, {
@@ -111,7 +133,8 @@ export var WithLeftOfDataSlot = function WithLeftOfDataSlot() {
111
133
  ,
112
134
  slots: {
113
135
  leftOfData: renderLeftOfData
114
- }
136
+ },
137
+ "aria-label": "Fons Vernall"
115
138
  }, ___EmotionJSX(ListViewItemMenu, null, ___EmotionJSX(Item, {
116
139
  key: "enable"
117
140
  }, "Enable user"), ___EmotionJSX(Item, {
@@ -1,8 +1,21 @@
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 _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
11
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
12
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
3
14
  import React from 'react';
4
15
  import AccountIcon from '@pingux/mdi-react/AccountIcon';
16
+ import { act } from '@testing-library/react';
5
17
  import { ListViewItem, ListViewItemSwitchField } from '../../index';
18
+ import { pingImg } from '../../utils/devUtils/constants/images';
6
19
  import axeTest from '../../utils/testUtils/testAxe';
7
20
  import { render, screen } from '../../utils/testUtils/testWrapper';
8
21
  import { LIST_ITEM_ICON } from './ListViewItem';
@@ -11,13 +24,25 @@ var defaultProps = {
11
24
  data: {
12
25
  text: 'testText',
13
26
  subtext: 'testSubtext',
14
- icon: AccountIcon
27
+ icon: AccountIcon,
28
+ image: {
29
+ src: pingImg,
30
+ alt: 'avatar',
31
+ 'aria-label': 'avatar'
32
+ }
15
33
  }
16
34
  };
17
35
  var getComponent = function getComponent() {
18
36
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
37
  return render(___EmotionJSX(ListViewItem, _extends({}, defaultProps, props)));
20
38
  };
39
+ var fallbackImageObj = null;
40
+ jest.mock('../../hooks/useFallbackImage', function () {
41
+ return function (props) {
42
+ fallbackImageObj = _objectSpread({}, props);
43
+ return [];
44
+ };
45
+ });
21
46
 
22
47
  // Need to be added to each test file to test accessibility using axe.
23
48
  axeTest(getComponent);
@@ -49,6 +74,25 @@ describe('ListViewItem', function () {
49
74
  });
50
75
  screen.getByText(TEST_TEXT);
51
76
  });
77
+ test('renders icon if both icon and image are passed', function () {
78
+ getComponent();
79
+ var icon = screen.getByRole('img');
80
+ expect(icon).not.toHaveAttribute('src', pingImg);
81
+ expect(icon.tagName.toLowerCase()).toBe('svg');
82
+ expect(icon.tagName.toLowerCase()).not.toBe('img');
83
+ });
84
+ test('renders image', function () {
85
+ delete defaultProps.data.icon;
86
+ getComponent();
87
+ act(function () {
88
+ fallbackImageObj.onImageLoad();
89
+ });
90
+ var image = screen.getByRole('img');
91
+ expect(image.tagName.toLowerCase()).toBe('img');
92
+ expect(image).toHaveAttribute('src', pingImg);
93
+ expect(image).toHaveAttribute('alt', 'avatar');
94
+ expect(image).toHaveAttribute('aria-label', 'avatar');
95
+ });
52
96
  describe('when there is a leftOfData slot', function () {
53
97
  test('renders leftOfData slot', function () {
54
98
  getComponent({
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
1
  import React from 'react';
3
2
  import CreateIcon from '@pingux/mdi-react/CreateIcon';
4
3
  import { iconButtonPropTypes } from '../../../components/IconButton/iconButtonAttributes';
@@ -13,9 +12,7 @@ import { Box, Icon, IconButton } from '../../../index';
13
12
  */
14
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
14
  var ListViewItemEditButton = function ListViewItemEditButton(props) {
16
- return ___EmotionJSX(Box, null, ___EmotionJSX(IconButton, _extends({
17
- "aria-label": "edit-icon"
18
- }, props), ___EmotionJSX(Icon, {
15
+ return ___EmotionJSX(Box, null, ___EmotionJSX(IconButton, props, ___EmotionJSX(Icon, {
19
16
  icon: CreateIcon,
20
17
  size: "sm"
21
18
  })));
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
1
2
  import React from 'react';
2
3
  import { iconButtonArgs, iconButtonArgTypes } from '../../../components/IconButton/iconButtonAttributes';
3
4
  import { ListViewItemEditButton } from '../../../index';
@@ -18,5 +19,7 @@ export default {
18
19
  args: iconButtonArgs
19
20
  };
20
21
  export var Default = function Default(args) {
21
- return ___EmotionJSX(ListViewItemEditButton, args);
22
+ return ___EmotionJSX(ListViewItemEditButton, _extends({
23
+ "aria-label": "edit-icon"
24
+ }, args));
22
25
  };
@@ -13,6 +13,7 @@ import { SwitchField } from '../../../index';
13
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
14
  var ListViewItemSwitchField = function ListViewItemSwitchField(props) {
15
15
  return ___EmotionJSX(SwitchField, _extends({
16
+ role: "group",
16
17
  "aria-label": "active user",
17
18
  isDefaultSelected: true,
18
19
  mr: 0
@@ -10,6 +10,7 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
10
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
  import PropTypes from 'prop-types';
13
+ import { ariaAttributeBaseArgTypes, ariaAttributesBasePropTypes } from '../../utils/docUtils/ariaAttributes';
13
14
  import { booleanArg, stringOrStringArray } from '../../utils/docUtils/docArgTypes';
14
15
  import { onHoverArgTypes, onHoverPropTypes } from '../../utils/docUtils/hoverProps';
15
16
  var descriptions = {
@@ -20,19 +21,24 @@ var descriptions = {
20
21
  slots: 'Provides a way to insert markup in specified places.',
21
22
  linkProps: 'When present, provides meta click functionality'
22
23
  };
23
- export var listViewItemArgTypes = _objectSpread({
24
- className: {
25
- description: descriptions.className,
26
- type: {
27
- summary: stringOrStringArray
28
- }
29
- },
24
+ export var SharedItemArgTypes = {
30
25
  data: {
31
26
  description: descriptions.data,
32
27
  type: {
33
- summary: '{ icon, text, subtext }'
28
+ summary: '{ icon, image, text, subtext }'
29
+ },
30
+ control: {
31
+ type: 'none'
34
32
  }
35
33
  },
34
+ className: {
35
+ description: descriptions.className,
36
+ type: {
37
+ summary: stringOrStringArray
38
+ }
39
+ }
40
+ };
41
+ export var listViewItemArgTypes = _objectSpread(_objectSpread(_objectSpread({
36
42
  isSelected: _objectSpread(_objectSpread({}, booleanArg), {}, {
37
43
  description: descriptions.isSelected,
38
44
  control: {
@@ -54,14 +60,21 @@ export var listViewItemArgTypes = _objectSpread({
54
60
  summary: '{ leftOfData, rightOfData }'
55
61
  }
56
62
  }
57
- }, onHoverArgTypes);
58
- export var listViewItemPropTypes = _objectSpread({
63
+ }, SharedItemArgTypes), onHoverArgTypes), ariaAttributeBaseArgTypes);
64
+ export var SharedItemPropTypes = {
59
65
  className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
60
66
  data: PropTypes.shape({
61
67
  icon: PropTypes.elementType,
68
+ image: PropTypes.shape({
69
+ src: PropTypes.string,
70
+ alt: PropTypes.string,
71
+ 'aria-label': PropTypes.string
72
+ }),
62
73
  subtext: PropTypes.string,
63
74
  text: PropTypes.string
64
- }),
75
+ })
76
+ };
77
+ export var listViewItemPropTypes = _objectSpread(_objectSpread(_objectSpread({
65
78
  isSelected: PropTypes.bool,
66
79
  linkProps: PropTypes.object,
67
80
  onMetaClick: PropTypes.func,
@@ -69,4 +82,4 @@ export var listViewItemPropTypes = _objectSpread({
69
82
  leftOfData: PropTypes.node,
70
83
  rightOfData: PropTypes.node
71
84
  })
72
- }, onHoverPropTypes);
85
+ }, SharedItemPropTypes), onHoverPropTypes), ariaAttributesBasePropTypes);
@@ -0,0 +1,75 @@
1
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["children", "className", "data"];
5
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
7
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
8
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
9
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
10
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
11
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
12
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
13
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
14
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
15
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
16
+ import React, { forwardRef } from 'react';
17
+ import { Box, Icon, Text } from '../../index';
18
+ import { SharedItemPropTypes } from '../ListViewItem/listViewItemAttributes';
19
+ import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ export var PANEL_HEADER_ICON = '-panel-header-icon';
21
+ var PanelHeader = /*#__PURE__*/forwardRef(function (_ref, ref) {
22
+ var _context;
23
+ var children = _ref.children,
24
+ className = _ref.className,
25
+ data = _ref.data,
26
+ others = _objectWithoutProperties(_ref, _excluded);
27
+ var icon = data.icon,
28
+ subtext = data.subtext,
29
+ text = data.text;
30
+ var renderIcon = ___EmotionJSX(Box, {
31
+ sx: {
32
+ width: 25,
33
+ color: 'accent.40'
34
+ }
35
+ }, icon && ___EmotionJSX(Icon, {
36
+ icon: icon,
37
+ size: "md",
38
+ title: {
39
+ name: _concatInstanceProperty(_context = "".concat(text)).call(_context, PANEL_HEADER_ICON)
40
+ }
41
+ }));
42
+ var renderData = ___EmotionJSX(Box, {
43
+ isRow: true,
44
+ variant: "panelHeader.data"
45
+ }, renderIcon, ___EmotionJSX(Box, {
46
+ sx: {
47
+ ml: 'md'
48
+ }
49
+ }, text && ___EmotionJSX(Text, {
50
+ variant: "bodyStrong",
51
+ sx: {
52
+ alignSelf: 'start',
53
+ fontSize: 'md'
54
+ }
55
+ }, text), subtext && ___EmotionJSX(Text, {
56
+ variant: "subtitle",
57
+ sx: {
58
+ fontSize: 'sm',
59
+ lineHeight: '16px',
60
+ my: '1px'
61
+ }
62
+ }, subtext)));
63
+ return ___EmotionJSX(Box, _extends({
64
+ variant: "panelHeader.container",
65
+ className: className,
66
+ ref: ref
67
+ }, others), ___EmotionJSX(Box, {
68
+ variant: "panelHeader.wrapper"
69
+ }, renderData, ___EmotionJSX(Box, {
70
+ isRow: true,
71
+ variant: "panelHeader.controls"
72
+ }, children)));
73
+ });
74
+ PanelHeader.propTypes = _objectSpread({}, SharedItemPropTypes);
75
+ export default PanelHeader;
@@ -0,0 +1,19 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Experimental/PanelHeader" />
4
+
5
+ # PanelHeader
6
+
7
+ The PanelHeader component allows for easy creation of header items within a panel. It comes with pre-defined styles that match Ping specs. You can utilize the `data` prop to pass in text, subtext, and an mdi or svg icon.
8
+
9
+ ### Recommended Use
10
+ This component is intended to be used as a header within a panel.
11
+
12
+ #### Children
13
+ To add action controls, include control elements as `{children}`. All elements passed in this way will be right-justified and center-aligned. You can use the following pre-styled control components to easily match Ping specs:
14
+ - [PanelHeaderEditButton](./?path=/story/experimental-panelheader-controls-panelheadereditbutton--default)
15
+ - [PanelHeaderMenu](./?path=/story/experimental-panelheader-controls-panelheadermenu--default)
16
+ - [PanelHeaderSwitchField](./?path=/story/experimental-panelheader-controls-panelheaderswitchfield--default)
17
+
18
+ ### Note:
19
+ Components styled to match design specs may be updated over time as design specs change. Be aware that styles within this component may undergo minor adjustments over time to stay in sync with the latest design specifications.
@@ -0,0 +1,59 @@
1
+ import _objectDestructuringEmpty from "@babel/runtime-corejs3/helpers/esm/objectDestructuringEmpty";
2
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
+ import React from 'react';
4
+ import AccountIcon from '@pingux/mdi-react/AccountIcon';
5
+ import DocsLayout from '../../../.storybook/storybookDocsLayout';
6
+ import { Item, PanelHeader, PanelHeaderCloseButton, PanelHeaderMenu, PanelHeaderSwitchField } from '../../index';
7
+ import { SharedItemArgTypes } from '../ListViewItem/listViewItemAttributes';
8
+ import PanelHeaderReadMe from './PanelHeader.mdx';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ export default {
11
+ title: 'Experimental/PanelHeader',
12
+ component: PanelHeader,
13
+ parameters: {
14
+ docs: {
15
+ page: function page() {
16
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(PanelHeaderReadMe, null), ___EmotionJSX(DocsLayout, null));
17
+ },
18
+ source: {
19
+ type: 'code'
20
+ }
21
+ }
22
+ },
23
+ argTypes: SharedItemArgTypes
24
+ };
25
+ export var Default = function Default(_ref) {
26
+ var args = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
27
+ return ___EmotionJSX(PanelHeader, _extends({}, args, {
28
+ data: {
29
+ icon: AccountIcon,
30
+ text: 'Fons Vernall'
31
+ }
32
+ }));
33
+ };
34
+ export var WithSubtext = function WithSubtext(_ref2) {
35
+ var args = _extends({}, (_objectDestructuringEmpty(_ref2), _ref2));
36
+ return ___EmotionJSX(PanelHeader, _extends({}, args, {
37
+ data: {
38
+ icon: AccountIcon,
39
+ subtext: 'rad_developer@pingidentity.com',
40
+ text: 'Fons Vernall'
41
+ }
42
+ }));
43
+ };
44
+ export var WithControls = function WithControls(_ref3) {
45
+ var args = _extends({}, (_objectDestructuringEmpty(_ref3), _ref3));
46
+ return ___EmotionJSX(PanelHeader, _extends({}, args, {
47
+ data: {
48
+ icon: AccountIcon,
49
+ text: 'Fons Vernall',
50
+ subtext: 'rad_developer@pingidentity.com'
51
+ }
52
+ }), ___EmotionJSX(PanelHeaderSwitchField, null), ___EmotionJSX(PanelHeaderMenu, null, ___EmotionJSX(Item, {
53
+ key: "enable"
54
+ }, "Enable user"), ___EmotionJSX(Item, {
55
+ key: "disable"
56
+ }, "Disable user"), ___EmotionJSX(Item, {
57
+ key: "delete"
58
+ }, "Delete user")), ___EmotionJSX(PanelHeaderCloseButton, null));
59
+ };
@@ -0,0 +1,30 @@
1
+ var container = {
2
+ bg: 'accent.99',
3
+ justifyContent: 'center',
4
+ minHeight: 60,
5
+ borderBottom: '1px',
6
+ borderBottomStyle: 'solid',
7
+ borderBottomColor: 'accent.90'
8
+ };
9
+ var controls = {
10
+ alignSelf: 'center',
11
+ alignItems: 'center',
12
+ gap: 'sm',
13
+ ml: 'auto'
14
+ };
15
+ var data = {
16
+ alignItems: 'center',
17
+ display: 'grid !important',
18
+ gridTemplateColumns: 'max-content auto'
19
+ };
20
+ var wrapper = {
21
+ display: 'grid !important',
22
+ gridTemplateColumns: 'auto auto',
23
+ mx: 'md'
24
+ };
25
+ export default {
26
+ container: container,
27
+ controls: controls,
28
+ data: data,
29
+ wrapper: wrapper
30
+ };
@@ -0,0 +1,43 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
3
+ import React from 'react';
4
+ import AccountIcon from '@pingux/mdi-react/AccountIcon';
5
+ import { PanelHeader, PanelHeaderSwitchField } from '../../index';
6
+ import axeTest from '../../utils/testUtils/testAxe';
7
+ import { render, screen } from '../../utils/testUtils/testWrapper';
8
+ import { PANEL_HEADER_ICON } from './PanelHeader';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ var defaultProps = {
11
+ data: {
12
+ text: 'testText',
13
+ subtext: 'testSubtext',
14
+ icon: AccountIcon
15
+ }
16
+ };
17
+ var getComponent = function getComponent() {
18
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ return render(___EmotionJSX(PanelHeader, _extends({}, defaultProps, props)));
20
+ };
21
+
22
+ // Need to be added to each test file to test accessibility using axe.
23
+ axeTest(getComponent);
24
+ describe('PanelHeader', function () {
25
+ test('renders data', function () {
26
+ var _context;
27
+ getComponent();
28
+ var _defaultProps$data = defaultProps.data,
29
+ text = _defaultProps$data.text,
30
+ subtext = _defaultProps$data.subtext;
31
+ screen.getByText(text);
32
+ screen.getByText(subtext);
33
+ screen.getByRole('img', {
34
+ name: _concatInstanceProperty(_context = "".concat(text)).call(_context, PANEL_HEADER_ICON)
35
+ });
36
+ });
37
+ test('renders children', function () {
38
+ getComponent({
39
+ children: ___EmotionJSX(PanelHeaderSwitchField, null)
40
+ });
41
+ screen.getByRole('switch');
42
+ });
43
+ });
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import React from 'react';
3
+ import CloseIcon from '@pingux/mdi-react/CloseIcon';
4
+ import { iconButtonPropTypes } from '../../../components/IconButton/iconButtonAttributes';
5
+ import { Box, Icon, IconButton } from '../../../index';
6
+
7
+ /**
8
+ * PanelHeaderCloseButton is one of several styled control components that can be used as a child
9
+ * nested inside of the [PanelHeader](./?path=/story/experimental-panelheader--default).
10
+ * Its a wrapper component around the [IconButton](./?path=/story/components-iconbutton--default),
11
+ * intended to make matching specs easy. Most props available to the IconButton are also available
12
+ * to PanelHeaderCloseButton.
13
+ */
14
+ import { jsx as ___EmotionJSX } from "@emotion/react";
15
+ var PanelHeaderCloseButton = function PanelHeaderCloseButton(props) {
16
+ return ___EmotionJSX(Box, null, ___EmotionJSX(IconButton, _extends({
17
+ "aria-label": "close-icon"
18
+ }, props), ___EmotionJSX(Icon, {
19
+ icon: CloseIcon,
20
+ size: "md"
21
+ })));
22
+ };
23
+ PanelHeaderCloseButton.propTypes = iconButtonPropTypes;
24
+ PanelHeaderCloseButton.displayName = 'PanelHeaderCloseButton';
25
+ export default PanelHeaderCloseButton;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { iconButtonArgTypes } from '../../../components/IconButton/iconButtonAttributes';
3
+ import { PanelHeaderCloseButton } from '../../../index';
4
+ import { jsx as ___EmotionJSX } from "@emotion/react";
5
+ delete iconButtonArgTypes.size;
6
+ delete iconButtonArgTypes.icon;
7
+ export default {
8
+ title: 'Experimental/PanelHeader/Controls/PanelHeaderCloseButton',
9
+ component: PanelHeaderCloseButton,
10
+ parameters: {
11
+ docs: {
12
+ source: {
13
+ type: 'code'
14
+ }
15
+ }
16
+ },
17
+ argTypes: iconButtonArgTypes
18
+ };
19
+ export var Default = function Default(args) {
20
+ return ___EmotionJSX(PanelHeaderCloseButton, args);
21
+ };