@pingux/astro 2.88.0-alpha.3 → 2.89.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/cjs/components/CodeView/CodeView.js +29 -4
  2. package/lib/cjs/components/CodeView/CodeView.test.js +10 -0
  3. package/lib/cjs/components/CopyText/CopyText.js +2 -2
  4. package/lib/cjs/components/NavigationHeader/HeaderAccountMenu.d.ts +9 -0
  5. package/lib/cjs/components/NavigationHeader/HeaderAccountMenu.js +75 -0
  6. package/lib/cjs/components/NavigationHeader/NavigationHeader.d.ts +9 -0
  7. package/lib/cjs/components/NavigationHeader/NavigationHeader.js +49 -0
  8. package/lib/cjs/components/NavigationHeader/NavigationHeader.mdx +31 -0
  9. package/lib/cjs/components/NavigationHeader/NavigationHeader.stories.d.ts +12 -0
  10. package/lib/cjs/components/NavigationHeader/NavigationHeader.stories.js +210 -0
  11. package/lib/cjs/components/NavigationHeader/NavigationHeader.test.d.ts +1 -0
  12. package/lib/cjs/components/NavigationHeader/NavigationHeader.test.js +361 -0
  13. package/lib/cjs/components/NavigationHeader/index.d.ts +1 -0
  14. package/lib/cjs/components/NavigationHeader/index.js +14 -0
  15. package/lib/cjs/hooks/useField/useField.d.ts +78 -78
  16. package/lib/cjs/index.d.ts +2 -0
  17. package/lib/cjs/index.js +55 -36
  18. package/lib/cjs/styles/themes/next-gen/codeView/codeView.d.ts +15 -1
  19. package/lib/cjs/styles/themes/next-gen/codeView/codeView.js +22 -6
  20. package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +1 -0
  21. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +4 -2
  22. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +261 -7
  23. package/lib/cjs/styles/themes/next-gen/next-gen.js +2 -0
  24. package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +5 -0
  25. package/lib/cjs/styles/themes/next-gen/variants/button.js +6 -4
  26. package/lib/cjs/styles/themes/next-gen/variants/navigationHeader.d.ts +140 -0
  27. package/lib/cjs/styles/themes/next-gen/variants/navigationHeader.js +131 -0
  28. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +107 -6
  29. package/lib/cjs/styles/themes/next-gen/variants/variants.js +15 -9
  30. package/lib/cjs/types/codeView.d.ts +3 -2
  31. package/lib/cjs/types/copyText.d.ts +1 -1
  32. package/lib/cjs/types/index.d.ts +1 -0
  33. package/lib/cjs/types/index.js +65 -54
  34. package/lib/cjs/utils/devUtils/constants/images.d.ts +2 -0
  35. package/lib/cjs/utils/devUtils/constants/images.js +6 -2
  36. package/lib/components/CodeView/CodeView.js +30 -5
  37. package/lib/components/CodeView/CodeView.test.js +10 -0
  38. package/lib/components/CopyText/CopyText.js +2 -2
  39. package/lib/components/NavigationHeader/HeaderAccountMenu.js +66 -0
  40. package/lib/components/NavigationHeader/NavigationHeader.js +37 -0
  41. package/lib/components/NavigationHeader/NavigationHeader.mdx +31 -0
  42. package/lib/components/NavigationHeader/NavigationHeader.stories.js +195 -0
  43. package/lib/components/NavigationHeader/NavigationHeader.test.js +358 -0
  44. package/lib/components/NavigationHeader/index.js +1 -0
  45. package/lib/index.js +2 -0
  46. package/lib/styles/themes/next-gen/codeView/codeView.js +20 -5
  47. package/lib/styles/themes/next-gen/convertedComponentList.js +2 -1
  48. package/lib/styles/themes/next-gen/next-gen.js +2 -0
  49. package/lib/styles/themes/next-gen/variants/button.js +6 -4
  50. package/lib/styles/themes/next-gen/variants/navigationHeader.js +123 -0
  51. package/lib/styles/themes/next-gen/variants/variants.js +14 -8
  52. package/lib/types/index.js +1 -0
  53. package/lib/utils/devUtils/constants/images.js +3 -1
  54. package/package.json +1 -1
@@ -134,9 +134,9 @@ var CopyText = /*#__PURE__*/forwardRef(function (props, ref) {
134
134
  variant: "copyText.copy"
135
135
  }, others, {
136
136
  role: "presentation"
137
- }), content, ___EmotionJSX(CopyButton, _extends({
137
+ }), mode !== 'rightText' && content, ___EmotionJSX(CopyButton, _extends({
138
138
  onPress: copyToClipboard
139
- }, focusProps, iconButtonProps)))));
139
+ }, focusProps, iconButtonProps)), mode === 'rightText' && content)));
140
140
  });
141
141
  CopyText.defaultProps = {
142
142
  mode: 'text',
@@ -0,0 +1,66 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import React from 'react';
3
+ import ChevronDownIcon from '@pingux/mdi-react/ChevronDownIcon';
4
+ import LogoutVariantIcon from '@pingux/mdi-react/LogoutVariantIcon';
5
+ import { Avatar, Box, Button, Icon, Item, Link, Menu, OverlayProvider, PopoverMenu, Separator, Text } from '../..';
6
+ import { jsx as ___EmotionJSX } from "@emotion/react";
7
+ var HeaderAccountMenu = function HeaderAccountMenu(props) {
8
+ var userData = props.userData,
9
+ avatarProps = props.avatarProps;
10
+ return ___EmotionJSX(OverlayProvider, null, ___EmotionJSX(PopoverMenu, null, ___EmotionJSX(Button, {
11
+ variant: "navigationHeader.accountButton"
12
+ }, ___EmotionJSX(Box, {
13
+ isRow: true,
14
+ alignItems: "center",
15
+ gap: "xs"
16
+ }, ___EmotionJSX(Avatar, _extends({
17
+ src: userData === null || userData === void 0 ? void 0 : userData.image,
18
+ alt: "Avatar",
19
+ "aria-label": "Avatar"
20
+ }, avatarProps)), ___EmotionJSX(Icon, {
21
+ icon: ChevronDownIcon,
22
+ size: "16px",
23
+ color: "gray-800"
24
+ }))), ___EmotionJSX(Menu, {
25
+ variant: "navigationHeader.dropdownMenu"
26
+ }, ___EmotionJSX(Item, {
27
+ key: "profile"
28
+ }, ___EmotionJSX(Link, {
29
+ href: "#",
30
+ variant: "navigationHeader.dropdownMenuItem"
31
+ }, ___EmotionJSX(Box, {
32
+ isRow: true,
33
+ alignItems: "center",
34
+ gap: "md"
35
+ }, ___EmotionJSX(Avatar, _extends({
36
+ src: userData === null || userData === void 0 ? void 0 : userData.image,
37
+ alt: "Avatar",
38
+ "aria-label": "Avatar"
39
+ }, avatarProps)), ___EmotionJSX(Box, {
40
+ ml: "0"
41
+ }, ___EmotionJSX(Text, {
42
+ as: "h5",
43
+ variant: "h5",
44
+ mb: "0"
45
+ }, userData === null || userData === void 0 ? void 0 : userData.firstName, ' ', userData === null || userData === void 0 ? void 0 : userData.lastName), ___EmotionJSX(Text, {
46
+ color: "gray-500",
47
+ fontSize: "sm"
48
+ }, userData === null || userData === void 0 ? void 0 : userData.email))))), ___EmotionJSX(Item, {
49
+ isSeparator: true,
50
+ textValue: "-",
51
+ my: "sm"
52
+ }, ___EmotionJSX(Separator, null)), ___EmotionJSX(Item, {
53
+ key: "signOut"
54
+ }, ___EmotionJSX(Link, {
55
+ color: "gray-700",
56
+ variant: "navigationHeader.dropdownMenuItem"
57
+ }, ___EmotionJSX(Box, {
58
+ isRow: true,
59
+ alignItems: "center"
60
+ }, ___EmotionJSX(Icon, {
61
+ icon: LogoutVariantIcon,
62
+ size: "18px",
63
+ mr: "sm"
64
+ }), ___EmotionJSX(Text, null, "Sign Out")))))));
65
+ };
66
+ export default HeaderAccountMenu;
@@ -0,0 +1,37 @@
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 _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
+ var _excluded = ["children", "isSticky"];
13
+ 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; }
14
+ 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; }
15
+ import React, { forwardRef } from 'react';
16
+ import { Box } from '../..';
17
+ import { jsx as ___EmotionJSX } from "@emotion/react";
18
+ var NavigationHeader = /*#__PURE__*/forwardRef(function (props, ref) {
19
+ var children = props.children,
20
+ isSticky = props.isSticky,
21
+ others = _objectWithoutProperties(props, _excluded);
22
+ return ___EmotionJSX(Box, _extends({
23
+ as: "nav",
24
+ ref: ref,
25
+ variant: "navigationHeader.container",
26
+ sx: _objectSpread(_objectSpread({}, props === null || props === void 0 ? void 0 : props.sx), isSticky && {
27
+ position: 'sticky'
28
+ })
29
+ }, others), ___EmotionJSX(Box, {
30
+ variant: "navigationHeader.wrapper"
31
+ }, ___EmotionJSX(Box, {
32
+ isRow: true,
33
+ justifyContent: "space-between",
34
+ alignItems: "center"
35
+ }, children)));
36
+ });
37
+ export default NavigationHeader;
@@ -0,0 +1,31 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Components/NavigationHeader/NavigationHeader" />
4
+
5
+ # NavigationHeader
6
+ The Header component is designed to help users navigate to different pages.
7
+ It incorporates several child components, including Link, Image, Avatar, and PopUp, allowing for a customizable and functional navigation experience.
8
+
9
+ ### Required components
10
+ This component can be used independently and does not require additional components.
11
+
12
+ ### Accessibility
13
+
14
+ This component should adhere to the [WAI-ARIA Navigation](https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/examples/navigation.html) accessibility guidelines.
15
+
16
+ #### Keyboard Navigation
17
+
18
+ These keys provide additional functionality to the component.
19
+
20
+ | Key | Functions |
21
+ | -------------- | ----------------------------------------------------------------------------------------------------------------- |
22
+ | Tab | Focuses item and follows the page tab sequence. |
23
+ | Shift + Tab | Moves focus to the previous focusable component. |
24
+ | Space or Enter | Pressing Space or Enter on a focused trigger opens or closes the dropdown menu and selects the MenuItems it is focused on. |
25
+ | Arrow keys | Moves the selection through the popover. |
26
+ | Esc | Pressing the escape key closes the popover and focuses on the previous focusable component. |
27
+
28
+ #### Screen readers
29
+
30
+ This component uses the following attributes to assist screen readers:
31
+ - Each Link component uses the **`aria-label`** attribute to provide an accessible name.
@@ -0,0 +1,195 @@
1
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
+ import _objectDestructuringEmpty from "@babel/runtime-corejs3/helpers/esm/objectDestructuringEmpty";
3
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
4
+ import React, { useState } from 'react';
5
+ import HelpCircleOutlineIcon from '@pingux/mdi-react/HelpCircleOutlineIcon';
6
+ import MoonWaningCrescentIcon from '@pingux/mdi-react/MoonWaningCrescentIcon';
7
+ import WhiteBalanceSunnyIcon from '@pingux/mdi-react/WhiteBalanceSunnyIcon';
8
+ import DocsLayout from '../../../.storybook/storybookDocsLayout';
9
+ import { Box, Icon, IconButton, IconButtonToggle, Image, Item, Link, Menu, NavigationHeader, OverlayProvider, PopoverMenu, Separator, Text } from '../../index';
10
+ import { pingLogoHorizontal, userImage } from '../../utils/devUtils/constants/images';
11
+ import HeaderAccountMenu from './HeaderAccountMenu';
12
+ import NavigationHeaderReadme from './NavigationHeader.mdx';
13
+ import { jsx as ___EmotionJSX } from "@emotion/react";
14
+ export default {
15
+ title: 'Components/NavigationHeader',
16
+ component: NavigationHeader,
17
+ parameters: {
18
+ docs: {
19
+ page: function page() {
20
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(NavigationHeaderReadme, null), ___EmotionJSX(DocsLayout, null));
21
+ },
22
+ source: {
23
+ type: 'code'
24
+ }
25
+ }
26
+ },
27
+ argTypes: {
28
+ src: {
29
+ control: {
30
+ type: 'none'
31
+ }
32
+ }
33
+ }
34
+ };
35
+ var iconButtonSX = {
36
+ minWidth: '56px',
37
+ borderRadius: '3px',
38
+ py: 'xs',
39
+ px: 'sm'
40
+ };
41
+ var placeholderSeparator = {
42
+ bg: 'gray-300',
43
+ flexShrink: 0
44
+ };
45
+
46
+ // Breakpoints for display property
47
+ var breakpointDisplaysXS = ['none', 'none', 'block', 'block', 'block', 'block'];
48
+ var breakpointDisplaySmall = ['none', 'none', 'none', 'none', 'block', 'block'];
49
+ var userData = {
50
+ email: 'bjensen@example.com',
51
+ firstName: 'Barbara',
52
+ lastName: 'Jensen',
53
+ image: userImage
54
+ };
55
+ export var Default = function Default(_ref) {
56
+ var args = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
57
+ var _useState = useState(false),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ isLoggedIn = _useState2[0],
60
+ setIsLoggedIn = _useState2[1];
61
+ return ___EmotionJSX(Box, {
62
+ p: "0"
63
+ }, ___EmotionJSX(NavigationHeader, _extends({}, args, {
64
+ isSticky: true,
65
+ "aria-labelledby": "next-gen-header"
66
+ }), ___EmotionJSX(Link, {
67
+ href: "#",
68
+ variant: "navigationHeader.logoBand"
69
+ }, ___EmotionJSX(Box, {
70
+ isRow: true,
71
+ alignItems: "center",
72
+ justifyContent: "center",
73
+ py: "sm",
74
+ flex: "0 0 auto"
75
+ }, ___EmotionJSX(Image, {
76
+ src: pingLogoHorizontal,
77
+ alt: "Ping Identity Logo",
78
+ mr: "md",
79
+ sx: {
80
+ height: '24px'
81
+ }
82
+ }), ___EmotionJSX(Separator, {
83
+ orientation: "vertical",
84
+ sx: placeholderSeparator,
85
+ style: {
86
+ height: '28px',
87
+ margin: '0'
88
+ }
89
+ }), ___EmotionJSX(Text, {
90
+ as: "h2",
91
+ variant: "navigationHeader.headerPlaceholder",
92
+ id: "next-gen-header"
93
+ }, "Marketplace"))), ___EmotionJSX(Box, {
94
+ as: "ul",
95
+ isRow: true,
96
+ alignItems: "center",
97
+ p: "0",
98
+ ml: "auto",
99
+ flex: "0 0 auto"
100
+ }, ___EmotionJSX(Box, {
101
+ as: "li",
102
+ display: breakpointDisplaySmall
103
+ }, ___EmotionJSX(Link, {
104
+ "aria-label": "Browse",
105
+ href: "#",
106
+ variant: "navigationHeader.link"
107
+ }, "Browse")), ___EmotionJSX(Box, {
108
+ as: "li",
109
+ display: breakpointDisplaySmall
110
+ }, ___EmotionJSX(Link, {
111
+ "aria-label": "My Content",
112
+ href: "#",
113
+ variant: "navigationHeader.link"
114
+ }, "My Content")), ___EmotionJSX(Box, {
115
+ as: "li",
116
+ display: breakpointDisplaySmall
117
+ }, ___EmotionJSX(Link, {
118
+ "aria-label": "Reports",
119
+ href: "#",
120
+ variant: "navigationHeader.link"
121
+ }, "Reports")), ___EmotionJSX(Box, {
122
+ as: "li",
123
+ display: breakpointDisplaysXS
124
+ }, ___EmotionJSX(OverlayProvider, null, ___EmotionJSX(PopoverMenu, {
125
+ isContainFocus: true
126
+ }, ___EmotionJSX(IconButton, {
127
+ "aria-label": "Help & Support",
128
+ variant: "headerNav"
129
+ }, ___EmotionJSX(Icon, {
130
+ size: "24px",
131
+ color: "gray-800",
132
+ icon: HelpCircleOutlineIcon,
133
+ title: {
134
+ name: 'help circle outline icon'
135
+ }
136
+ })), ___EmotionJSX(Menu, {
137
+ variant: "navigationHeader.dropdownMenu"
138
+ }, ___EmotionJSX(Item, {
139
+ key: "Help & Support"
140
+ }, ___EmotionJSX(Link, {
141
+ href: "Help & Support",
142
+ "aria-label": "Help & Support",
143
+ variant: "navigationHeader.dropdownMenuItem"
144
+ }, "Help & Support")), ___EmotionJSX(Item, {
145
+ key: "Doc"
146
+ }, ___EmotionJSX(Link, {
147
+ href: "Doc",
148
+ "aria-label": "Doc",
149
+ variant: "navigationHeader.dropdownMenuItem"
150
+ }, "Doc")), ___EmotionJSX(Item, {
151
+ key: "Developer"
152
+ }, ___EmotionJSX(Link, {
153
+ href: "Developer",
154
+ "aria-label": "Developer",
155
+ variant: "navigationHeader.dropdownMenuItem"
156
+ }, "Developer")), ___EmotionJSX(Item, {
157
+ key: "Labs"
158
+ }, ___EmotionJSX(Link, {
159
+ href: "Labs",
160
+ "aria-label": "Labs",
161
+ variant: "navigationHeader.dropdownMenuItem"
162
+ }, "Labs")))))), ___EmotionJSX(Box, {
163
+ as: "li",
164
+ display: breakpointDisplaysXS
165
+ }, ___EmotionJSX(IconButtonToggle, {
166
+ toggledIcon: WhiteBalanceSunnyIcon,
167
+ defaultIcon: MoonWaningCrescentIcon,
168
+ iconProps: {
169
+ size: '24px'
170
+ },
171
+ buttonProps: {
172
+ 'aria-label': 'theme icon',
173
+ sx: iconButtonSX,
174
+ variant: 'headerNav'
175
+ }
176
+ })), ___EmotionJSX(Box, {
177
+ as: "li",
178
+ display: breakpointDisplaysXS
179
+ }, isLoggedIn ? ___EmotionJSX(HeaderAccountMenu, {
180
+ userData: userData,
181
+ avatarProps: {
182
+ defaultText: 'KL',
183
+ size: 'avatar.md',
184
+ backgroundColor: 'red-100',
185
+ color: 'red-800'
186
+ }
187
+ }) : ___EmotionJSX(Link, {
188
+ href: "#",
189
+ variant: "navigationHeader.link",
190
+ "aria-label": "Sign In",
191
+ onPress: function onPress() {
192
+ return setIsLoggedIn(!isLoggedIn);
193
+ }
194
+ }, "Sign In")))));
195
+ };