@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
@@ -0,0 +1,149 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Docs/Welcome" />
4
+
5
+ # Welcome to Astro
6
+
7
+ <br />
8
+
9
+ ## Introduction
10
+
11
+ Astro is a lightweight, composable, and themeable React component library. Astro was created to help developers and designers create consistent, user-friendly, and accessible UIs across all Ping products.
12
+
13
+ <br />
14
+
15
+ ## Getting Started
16
+
17
+ <br />
18
+
19
+ ### Installing
20
+
21
+ To consume Astro within your own project, install it via NPM or Yarn.
22
+
23
+ NPM:
24
+ `npm install @pingux/astro`
25
+
26
+ Yarn:
27
+ `yarn add @pingux/astro`
28
+
29
+ ### Requirements
30
+
31
+ - Node: 18+
32
+ - React: 16.8+
33
+
34
+ ### Usage
35
+
36
+ All apps should be wrapped in an `<AstroWrapper>` for full functionality and styling.
37
+
38
+ ```
39
+ import { AstroWrapper } from ‘@pingux/astro’;
40
+
41
+ <AstroWrapper>
42
+ <App />
43
+ </AstroWrapper>
44
+ ```
45
+
46
+ ### Running Storybook Locally
47
+
48
+ Astro uses [Storybook](https://storybook.js.org/) for component documentation. Once Astro has been cloned, run the following commands to start a local Storybook server:
49
+
50
+ `yarn && yarn start`
51
+
52
+ The Storybook server defaults to `https://localhost:6006`. This port can be customized by running the command start -p 9009. For example, this will start Storybook on port 9009. More information on customizing Storybook CLI options can be found at the [Storybook docs](https://storybook.js.org/docs/react/api/cli-options).
53
+
54
+ Component prop documentation is available under the “documentation” tab per each component story. Most props can be toggled and configured for preview purposes within the prop table.
55
+ For example, to view the disabled button styling, navigate to the Button story’s props table, locate the “isDisabled” prop, and toggle to “true”. This change allows you to preview the disabled button’s styling and functionality.
56
+
57
+ There are two options to view the source code for stories within Storybook:
58
+ - While on the "Documentation" tab, click the tab below the rendered story labelled "Show Code". This option may not show the entire source code for a story.
59
+ - To view the entire source code of a story:
60
+ - Click the ellipsis menu next to the version number located at the top of the navigation menu.
61
+ - Click "Show Addons" or ensure this option has been previously enabled.
62
+ - Navigate to a story's "Canvas" tab. Select "Story" from the now displaying add-on panel. More information on this add-on can be found here: [Story Source Add-on](https://storybook.js.org/addons/@storybook/addon-storysource#displaying-full-source)
63
+
64
+
65
+
66
+
67
+ ## Libraries used within Astro
68
+
69
+ <br />
70
+
71
+ - [React Aria](https://react-spectrum.adobe.com/react-aria/index.html) / [React Stately](https://react-spectrum.adobe.com/react-stately/index.html) / [React Spectrum](https://react-spectrum.adobe.com/react-spectrum/index.html)
72
+ - [ThemeUI](https://theme-ui.com/)
73
+ - [Styled System](https://styled-system.com/)
74
+
75
+ <br />
76
+
77
+ ## Components
78
+
79
+ <br />
80
+
81
+ Astro is a library of small composable components that can be combined in many ways to create many more complex components. You can read more about the composition model in the [React Docs](https://reactjs.org/docs/composition-vs-inheritance.html).
82
+
83
+ Beyond the composable components, Astro also has form components to be used for gathering user input. Form components consist of field components and base components. Field components are composed from base components which are the building blocks used to compose form inputs.
84
+
85
+ <br />
86
+
87
+ ## Understanding Astro Props
88
+
89
+ <br />
90
+
91
+ Most Astro components can be customized through props, find [more details here](./?path=/story/docs-props--page).
92
+
93
+ <br />
94
+
95
+ ## Theming
96
+
97
+ <br />
98
+
99
+ You can customize the base Astro theme by [creating theme overrides](./?path=/docs/docs-theme-custom-themes--page).
100
+ You can find the default [Astro theme here](./?path=/docs/docs-theme-astro-theme--page).
101
+
102
+ <br />
103
+
104
+ ## Styling
105
+
106
+ <br />
107
+
108
+ Astro uses [styled-system,](https://styled-system.com/table/) a javascript dependency that facilitates the building of custom UI components by adding constraint-based style props based on scales defined in the theme. This can be used to quickly add custom styling to components.
109
+
110
+ The Ping UX Dev team follows best practices related to styling as outlined in the [Styling Guidelines](./?path=/story/docs-theme-styling-guideline--page). These best practices encourage the separation of component code from styling code. This practice removes the custom styles that are applied in StoryBook code examples. If you want to see how the Astro team applies custom styles to our recipes you can find the entire story code file in the Story section of the Addons panel.
111
+ - Select **Show Addons** in the Storybook menu, located in the left navigation panel at the top beside the “@pingux/astro” title (it’s a circle with 3 dots).
112
+ - Inside the **Addon panel** that pops up, select the **Story panel** to see the full code file.
113
+
114
+ <br />
115
+
116
+ ## Development Notes
117
+
118
+ <br />
119
+
120
+ There is currently a [known conflict](https://github.com/adobe/react-spectrum/issues/779) between React.StrictMode and react-spectrum. The current recommended solution is to avoid using StrictMode in your apps. In the latest versions of Create React App the app is wrapped in StrictMode by default, this should be removed if you’re using any of the react-spectrum or pingux libraries. We will monitor this issue and make updates when possible.
121
+
122
+ <br />
123
+
124
+ ## Help
125
+
126
+ <br />
127
+
128
+ For assistance with the Astro library reach out to the Astro team on Slack
129
+ - #ui-astro
130
+ - #ux-forum
131
+
132
+ <br />
133
+
134
+
135
+ ## Browser Compatibility
136
+
137
+ <br />
138
+
139
+ Astro fully supports the following browsers and versions:
140
+
141
+ | Browser | Version |
142
+ | ----------- | ----------- |
143
+ | Chrome | 80+ |
144
+ | Firefox | 76+ |
145
+ | Safari | 12+ |
146
+ | Edge | 44+ |
147
+
148
+
149
+ Support for IE11 is left up to developers and is not tested by the Astro team. Polyfills are necessary for full functionality.
@@ -0,0 +1,59 @@
1
+ import { Meta, Title, ArgsTable, Canvas, Story } from '@storybook/addon-docs';
2
+ import useDebounce from '../../hooks/useDebounce/useDebounce';
3
+
4
+ <Meta title="Docs/Hooks/useDebounce" />
5
+
6
+ # useDebounce
7
+
8
+ A hook that provides a simple way to debounce updates to a variable.
9
+
10
+ ## Overview
11
+
12
+ This hook can be used to debounce a value so it is only updated after a certain amount of time has passed.
13
+ This can be particularly useful for any action involving a network request after a user types, such as searching.
14
+
15
+ ## Usage
16
+
17
+ To use this hook, import it from `@pingux/astro/lib/hooks`.
18
+
19
+ `import { useDebounce } from "@pingux/astro/lib/hooks";`
20
+
21
+ ## API
22
+
23
+ <br />
24
+
25
+ ### useDebounce([props]) => result
26
+
27
+ <br />
28
+
29
+ #### props
30
+
31
+ Type: `Object` Default: `{}`
32
+
33
+ * **value**
34
+
35
+ Type: `unknown`
36
+
37
+ The value to be updated after a period of time has passed.
38
+
39
+ * **delay**
40
+
41
+ Type: `number`
42
+
43
+ The amount of time (in milliseconds) to debounce.
44
+
45
+ #### result
46
+
47
+ Type: `any`
48
+
49
+ The updated value after `delay` milliseconds have passed with no additional updates.
50
+
51
+
52
+ ## Example
53
+
54
+ `const [searchTerm, setSearchTerm] = useState(null);`
55
+
56
+ `const debouncedSearchTerm = useDebounce({ searchTerm, value: 500 });`
57
+
58
+ `debouncedSearchTerm` will only be updated after 500 milliseconds have passed since `searchTerm` was updated without
59
+ an additional update.
@@ -0,0 +1,83 @@
1
+ import { Meta, Title, ArgsTable, Canvas, Story } from '@storybook/addon-docs';
2
+ import useModalState, { DummyComponent } from '../../hooks/useModalState/useModalState';
3
+
4
+ <Meta title="Docs/Hooks/useModalState" />
5
+
6
+ # useModalState
7
+
8
+ A hook that manages and supplies state intended for Astro-UI's `Modal` component.
9
+
10
+ ## Overview
11
+
12
+ This hook utilizes React Stately's [useOverlayTriggerState](https://react-spectrum.adobe.com/react-stately/useOverlayTriggerState.html) hook to generate the necessary state management for
13
+ a `Modal` component with minimal modifications.
14
+
15
+ ## Usage
16
+
17
+ To use this hook, import it from `@pingux/astro/lib/hooks`.
18
+
19
+ `import { useModalState } from "@pingux/astro/lib/hooks";`
20
+
21
+ ## API
22
+
23
+ <br />
24
+
25
+ ### useModalState([props]) => result
26
+
27
+ <br />
28
+
29
+ #### props
30
+
31
+ Type: `Object` Default: `{}`
32
+
33
+ * **isDefaultOpen**
34
+
35
+ Type: `boolean`
36
+
37
+ Whether the modal is open by default (uncontrolled).
38
+
39
+ * **isOpen**
40
+
41
+ Type: `boolean`
42
+
43
+ Whether the modal is currently open (controlled).
44
+
45
+ * **onOpenChange**
46
+
47
+ Type: `Function`
48
+
49
+ Handler that is called when the open state changes. `(isOpen: boolean) => void`
50
+
51
+ #### result
52
+
53
+ Type: `Object`
54
+
55
+ * **isOpen**
56
+
57
+ Type: `boolean`
58
+
59
+ Whether the modal is currently open.
60
+
61
+ * **open**
62
+
63
+ Type: `Function`
64
+
65
+ Sets the returned `isOpen` to `true`.
66
+
67
+ * **close**
68
+
69
+ Type: `Function`
70
+
71
+ Sets the returned `isOpen` to `false`.
72
+
73
+ * **toggle**
74
+
75
+ Type: `Function`
76
+
77
+ Sets the returned `isOpen` to the opposite of what it just was.
78
+
79
+
80
+ ## Example
81
+
82
+ See the [entire Modal source code](./?path=/story/components-modal--default) for an example of how to implement this hook.
83
+ To view a story's entire source code, enable 'Show-addons' in the Storybook ellipsis menu in the lefthand navigation, and click the Story tab.
@@ -0,0 +1,84 @@
1
+ import { Meta, Title, ArgsTable, Canvas, Story } from '@storybook/addon-docs';
2
+ import LinkTo from '@storybook/addon-links/react';
3
+ import useOverlayPanelState, { DummyComponent } from '../../hooks/useOverlayPanelState/useOverlayPanelState';
4
+
5
+ <Meta title="Docs/Hooks/useOverlayPanelState" />
6
+
7
+ # useOverlayPanelState
8
+
9
+ A hook that manages and supplies state intended for Astro-UI's `OverlayPanel` component.
10
+
11
+ ## Overview
12
+
13
+ This hook utilizes React Stately's [useOverlayTriggerState](https://react-spectrum.adobe.com/react-stately/useOverlayTriggerState.html) hook to generate the necessary state management for
14
+ a `OverlayPanel` component with minimal modifications.
15
+
16
+ ## Usage
17
+
18
+ To use this hook, import it from `@pingux/astro/lib/hooks`.
19
+
20
+ `import { useOverlayPanelState } from "@pingux/astro/lib/hooks";`
21
+
22
+ ## API
23
+
24
+ <br />
25
+
26
+ ### useOverlayPanelState([props]) => result
27
+
28
+ <br />
29
+
30
+ #### props
31
+
32
+ Type: `Object` Default: `{}`
33
+
34
+ * **isDefaultOpen**
35
+
36
+ Type: `boolean`
37
+
38
+ Whether the overlay panel is open by default (uncontrolled).
39
+
40
+ * **isOpen**
41
+
42
+ Type: `boolean`
43
+
44
+ Whether the overlay panel is currently open (controlled).
45
+
46
+ * **onOpenChange**
47
+
48
+ Type: `Function`
49
+
50
+ Handler that is called when the open state changes. `(isOpen: boolean) => void`
51
+
52
+ #### result
53
+
54
+ Type: `Object`
55
+
56
+ * **isOpen**
57
+
58
+ Type: `boolean`
59
+
60
+ Whether the overlay panel is currently open.
61
+
62
+ * **open**
63
+
64
+ Type: `Function`
65
+
66
+ Sets the returned `isOpen` to `true`.
67
+
68
+ * **close**
69
+
70
+ Type: `Function`
71
+
72
+ Sets the returned `isOpen` to `false`.
73
+
74
+ * **toggle**
75
+
76
+ Type: `Function`
77
+
78
+ Sets the returned `isOpen` to the opposite of what it just was.
79
+
80
+
81
+ ## Example
82
+
83
+ See the [Overlay Panel docs](./?path=/story/components-overlaypanel--default) for an example of how to
84
+ implement this hook.
@@ -0,0 +1,174 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Docs/Theme/Astro Nano Theme" />
4
+
5
+ # Astro Nano Theme
6
+
7
+ The Astro Nano Theme extends styles from the base Astro Theme with new variants and modifications to some of the base variants.
8
+
9
+ ## Modified Astro Variants
10
+
11
+ ### Cards
12
+ ```
13
+ {
14
+ container: {
15
+ alignItems: "stretch",
16
+ bg: "white",
17
+ borderRadius: 4,
18
+ boxShadow: ['none', 'standard'],
19
+ flexGrow: [1, 0],
20
+ maxWidth: "480px",
21
+ my: "auto",
22
+ py: [0, 'xl'],
23
+ width: ['100%', '450px']
24
+ },
25
+ cardBody: {
26
+ flexGrow: [1, 0],
27
+ },
28
+ }
29
+ ```
30
+
31
+ ### Buttons
32
+
33
+ #### Default
34
+ ```
35
+ {
36
+ borderRadius: 4,
37
+ color: "active",
38
+ fontWeight: 400,
39
+ height: "50px",
40
+ &:focus-visible: {
41
+ boxShadow: 'none',
42
+ outline: '1px solid #000000',
43
+ outlineColor: 'active',
44
+ outlineOffset: 2
45
+ },
46
+ &.is-pressed: {
47
+ bg: 'activeDarker'
48
+ },
49
+ &.is-hovered: {
50
+ bg: 'activeDark',
51
+ boxShadow: 'none',
52
+ color: 'white'
53
+ }
54
+ }
55
+ ```
56
+
57
+ #### Primary
58
+ ```
59
+ {
60
+ borderRadius: 4,
61
+ fontWeight: 400,
62
+ height: "50px",
63
+ &:focus-visible: {
64
+ boxShadow: 'none',
65
+ outline: '1px solid #000000',
66
+ outlineColor: 'active',
67
+ outlineOffset: 2
68
+ },
69
+ &.is-pressed: {
70
+ bg: 'activeDarker'
71
+ },
72
+ &.is-hovered: {
73
+ bg: 'activeDark',
74
+ boxShadow: 'none',
75
+ color: 'white'
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### Colors
81
+ Astro nano introduces two new colors, `activeDark: "#154dd3"` and `activeDarker: "#0039ba"`.
82
+
83
+ ### Font Sizes
84
+
85
+ Font sizes in Astro Nano use the font sizes from the Astro theme and scales them by 1.2. Astro nano also introduces a new font size, `xxx: "48px"`.
86
+
87
+ ### Forms
88
+
89
+ #### Input
90
+ ```
91
+ {
92
+ borderRadius: 4,
93
+ height: "50px",
94
+ &:focus: {
95
+ borderColor: 'active',
96
+ outline: '4px solid #000000',
97
+ outlineColor:
98
+ 'accent.90'
99
+ }
100
+ }
101
+ ```
102
+
103
+ ### Links
104
+ ```
105
+ {
106
+ "&.is-hovered": {
107
+ color: "activeDark"
108
+ },
109
+ "&.is-pressed": {
110
+ color: "activeDarker"
111
+ }
112
+ }
113
+ ```
114
+
115
+ ### Text
116
+
117
+ #### Label
118
+ `color: "text.primary"`
119
+
120
+ #### Title
121
+ `fontWeight: 600`
122
+
123
+ ## Variants Introduced in Astro Nano
124
+
125
+ ### Card Body
126
+ `flexGrow: [1, 0]`
127
+
128
+ ### Wrapper
129
+ ```
130
+ {
131
+ alignItems: "center",
132
+ justifyContent: "space-between",
133
+ bg: ["white", "accent.99"],
134
+ py: "lg",
135
+ gap: "lg",
136
+ overflow: "auto",
137
+ position: "absolute",
138
+ top: 0,
139
+ bottom: 0,
140
+ left: 0,
141
+ right: 0
142
+ }
143
+ ```
144
+
145
+ ### Forms.Input
146
+
147
+ #### Primary
148
+ ```
149
+ {
150
+ borderRadius,
151
+ fontSize: "xxx",
152
+ borderColor: "neutral.60",
153
+ height: "75px",
154
+ textAlign: "center",
155
+ letterSpacing: "12px",
156
+ fontWeight: "bold",
157
+ "&:focus": {
158
+ borderColor: "active",
159
+ outline: "4px solid #000000",
160
+ outlineColor: "accent.90"
161
+ }
162
+ }
163
+ ```
164
+
165
+ ### Text
166
+
167
+ #### Footer
168
+ Footer is a text variant only included in Astro Nano.
169
+ ```
170
+ {
171
+ color: 'text.secondary',
172
+ fontSize: 'xs'
173
+ }
174
+ ```
@@ -0,0 +1,20 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+ import { JSONTree } from 'react-json-tree';
3
+ import ThemeView from './ThemeView';
4
+
5
+ <Meta title="Docs/Theme/Astro Theme" />
6
+
7
+ # Theme Overview
8
+ Astro utilizes [Theme UI](https://theme-ui.com/) to apply styles consistently using their
9
+ [theme specification](https://theme-ui.com/theme-spec). This allows us to specify reusable colors,
10
+ font sizes, component variants, and so much more. This document will focus on how we structure
11
+ our theme object to align with the Theme UI paradigm and is meant to serve as a reference for any
12
+ developers wishing to add or edit the theme.
13
+
14
+ # Theme Values
15
+
16
+ This is the raw theme object that is passed in the Astro wrapper. Its values can be referenced in `styled-system` properties. See [https://styled-system.com/table](https://styled-system.com/table) for details.
17
+
18
+ For example, to set a background color on a `Box` component, you can reference one of the keys under the `colors` section. Like: `bg="black"`, `bg="accent.20"`, `bg="decorative.4"`, or `bg="critical.bright"`.
19
+
20
+ <ThemeView />
@@ -0,0 +1,70 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Docs/Theme/Custom Themes" />
4
+
5
+ # Custom Themes
6
+ <br/>
7
+
8
+ ## Creating Theme Overrides
9
+
10
+ The Astro component library ships with [a default theme](./?path=/docs/docs-theme-astro-theme--page) based on Ping's
11
+ Astro design system. To extend, modify, or replace the theme to change the visual look
12
+ of components then there are two options:
13
+
14
+ 1. `themeOverrides` - this prop on the `AstroWrapper` component facilitates extending and modifying the base theme.
15
+ See AstroWrapper custom theme story for more information.
16
+ The `themeOverrides` prop uses [the merge function from ThemeUI](https://theme-ui.com/guides/merging-themes/).
17
+ With this approach, only variants that you specifically target within your new theme will be changed,
18
+ but those not targeted will still inherit styles from the default theme. If you are attempting to keep the majority of styling from the
19
+ Astro Design System (and therefore base astroTheme), but wish to override a few global styles, this is the favored approach.
20
+
21
+ 2. `defaultTheme` - this is another prop on the `AstroWrapper` component,
22
+ but this _replaces_ the base theme with the object passed in. We discourage using this in most situations.
23
+
24
+
25
+ To assist in customizing the theme, Astro includes the following objects:
26
+ - astroTheme - The base Astro theme, includes all styles from the Astro design system: `@pingux/astro/lib/styles/theme`
27
+ - endUserTheme - An alternative theme which matches Ping's End User library styling: `@pingux/astro/lib/styles/themes/end-user`
28
+ - overrideUILib - An override object to address conflicting styles between Astro and Ping's UI Library CSS: `@pingux/astro/lib/styles/themeOverrides/uiLibraryOverride`
29
+
30
+
31
+
32
+
33
+ ## How to Customize Astro Styles
34
+
35
+ Components typically use a custom variant to apply styles. See the [Astro Theme](./?path=/docs/docs-theme-astro-theme--page) documentation for more information on this. To override these styles,
36
+ the variant included within the component will need to be targeted. For example, to override the border color on all primary buttons,
37
+ search within the /theme file for the button structure. Within this file, `buttons` is not nested within another object so,
38
+ the theme structure is straight forward and would look like:
39
+
40
+ ```
41
+ const myThemeOverride = {
42
+ buttons: {
43
+ primary: {
44
+ borderColor: 'red',
45
+ }
46
+ }
47
+ }
48
+ ```
49
+
50
+ Some components and their variants are nested, for example components within /Forms. To change the hovered border color on a TextArea component, the following would be added to myThemeOverride.
51
+
52
+
53
+ ```
54
+ const myThemeOverride = {
55
+ forms: {
56
+ textarea: {
57
+ '&:hover': {
58
+ borderColor: 'red',
59
+ }
60
+ }
61
+ },
62
+ buttons: {
63
+ primary: {
64
+ borderColor: 'red',
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ These overrides can then be passed to the `themeOverrides` prop on the `AstroWrapper` as mentioned above.