@pingux/astro 2.20.0-alpha.1 → 2.20.0-alpha.11

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 (40) hide show
  1. package/lib/cjs/components/ColorField/ColorField.js +4 -1
  2. package/lib/cjs/components/ListView/ListView.js +8 -2
  3. package/lib/cjs/components/TreeView/TreeView.js +100 -0
  4. package/lib/cjs/components/TreeView/TreeView.mdx +16 -0
  5. package/lib/cjs/components/TreeView/TreeView.stories.js +89 -0
  6. package/lib/cjs/components/TreeView/TreeView.styles.js +32 -0
  7. package/lib/cjs/components/TreeView/TreeView.test.js +124 -0
  8. package/lib/cjs/components/TreeView/TreeViewItem.js +74 -0
  9. package/lib/cjs/components/TreeView/TreeViewRow.js +147 -0
  10. package/lib/cjs/components/TreeView/TreeViewSection.js +88 -0
  11. package/lib/cjs/components/TreeView/index.js +28 -0
  12. package/lib/cjs/context/TreeViewContext/index.js +14 -0
  13. package/lib/cjs/index.d.ts +3 -1
  14. package/lib/cjs/index.js +30 -4
  15. package/lib/cjs/recipes/CountryPicker.stories.js +11 -2
  16. package/lib/cjs/recipes/{EditableInput.stories.js → InlineEditing.stories.js} +12 -2
  17. package/lib/cjs/recipes/OneWayToBidirectionalArrow.stories.js +8 -1
  18. package/lib/cjs/styles/variants/variants.js +3 -1
  19. package/lib/cjs/utils/designUtils/figmaLinks.js +9 -0
  20. package/lib/components/ColorField/ColorField.js +4 -1
  21. package/lib/components/ListView/ListView.js +8 -2
  22. package/lib/components/TreeView/TreeView.js +89 -0
  23. package/lib/components/TreeView/TreeView.mdx +16 -0
  24. package/lib/components/TreeView/TreeView.stories.js +79 -0
  25. package/lib/components/TreeView/TreeView.styles.js +24 -0
  26. package/lib/components/TreeView/TreeView.test.js +121 -0
  27. package/lib/components/TreeView/TreeViewItem.js +60 -0
  28. package/lib/components/TreeView/TreeViewRow.js +135 -0
  29. package/lib/components/TreeView/TreeViewSection.js +74 -0
  30. package/lib/components/TreeView/index.js +3 -0
  31. package/lib/context/TreeViewContext/index.js +5 -0
  32. package/lib/index.js +3 -1
  33. package/lib/recipes/CountryPicker.stories.js +10 -1
  34. package/lib/recipes/{EditableInput.stories.js → InlineEditing.stories.js} +10 -1
  35. package/lib/recipes/OneWayToBidirectionalArrow.stories.js +7 -0
  36. package/lib/styles/variants/variants.js +3 -1
  37. package/lib/utils/designUtils/figmaLinks.js +9 -0
  38. package/package.json +1 -1
  39. package/lib/cjs/recipes/RowLineChart.stories.js +0 -578
  40. package/lib/recipes/RowLineChart.stories.js +0 -565
@@ -0,0 +1,121 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import React from 'react';
3
+ import { useTreeData } from 'react-stately';
4
+ import { Item, Section } from '../../index';
5
+ import { fireEvent, render, screen } from '../../utils/testUtils/testWrapper';
6
+ import { SectionOrItemRender } from './TreeView';
7
+ import TreeView from '.';
8
+ import { jsx as ___EmotionJSX } from "@emotion/react";
9
+ var testId = 'test-TreeView';
10
+ var defaultProps = {
11
+ 'data-testid': testId
12
+ };
13
+ var data = [{
14
+ title: 'People',
15
+ items: [{
16
+ title: 'David',
17
+ customProp: 1
18
+ }, {
19
+ title: 'Sam'
20
+ }, {
21
+ title: 'Jane'
22
+ }]
23
+ }, {
24
+ title: 'Animals',
25
+ items: [{
26
+ title: 'Bears',
27
+ items: [{
28
+ title: 'Black Bear'
29
+ }, {
30
+ title: 'Brown Bear'
31
+ }]
32
+ }, {
33
+ title: 'Kangaroo'
34
+ }, {
35
+ title: 'Snake'
36
+ }]
37
+ }, {
38
+ title: 'Plant'
39
+ }];
40
+ var TreeViewComponent = function TreeViewComponent(props) {
41
+ var tree = useTreeData({
42
+ initialItems: data,
43
+ getKey: function getKey(item) {
44
+ return item.title;
45
+ },
46
+ getChildren: function getChildren(item) {
47
+ return item.items;
48
+ }
49
+ });
50
+ return ___EmotionJSX(TreeView, _extends({}, defaultProps, props, {
51
+ items: tree.items,
52
+ tree: tree
53
+ }), function (section) {
54
+ var _section$children;
55
+ return SectionOrItemRender(((_section$children = section.children) === null || _section$children === void 0 ? void 0 : _section$children.length) > 0, ___EmotionJSX(Section, {
56
+ key: section.key,
57
+ items: section.children,
58
+ title: section.key,
59
+ customProp: {
60
+ testp: 1
61
+ }
62
+ }), ___EmotionJSX(Item, {
63
+ key: section.key,
64
+ title: section.key
65
+ }));
66
+ });
67
+ };
68
+ test('Can select an Item using the mouse', function () {
69
+ render(___EmotionJSX(TreeViewComponent, null));
70
+ var element = screen.getByTestId(testId);
71
+ expect(element).toBeInTheDocument();
72
+ var peopleElement = screen.getByText('People');
73
+ expect(peopleElement).not.toHaveClass('is-selected');
74
+ fireEvent.click(peopleElement);
75
+ expect(peopleElement).toHaveClass('is-selected');
76
+ });
77
+ test('Renders both Sections and Items', function () {
78
+ render(___EmotionJSX(TreeViewComponent, null));
79
+ var peopleElement = screen.getByText('People');
80
+ expect(peopleElement).toBeInTheDocument();
81
+ var plantElement = screen.getByText('Plant');
82
+ expect(plantElement).toBeInTheDocument();
83
+ var allListItems = screen.getAllByRole('treeitem');
84
+ expect(allListItems).toHaveLength(3);
85
+ });
86
+ test('Can expand an Item using the mouse', function () {
87
+ render(___EmotionJSX(TreeViewComponent, null));
88
+
89
+ // The children of collapsed sections will not
90
+ // be rendered by default.
91
+ expect(screen.queryByText(data[0].items[0].title)).not.toBeInTheDocument();
92
+
93
+ // Clicking the dropdown icon, renders the children
94
+ // of the collapsed section.
95
+ var buttons = screen.queryAllByRole('button');
96
+ fireEvent.click(buttons[0]);
97
+ expect(screen.queryByText(data[0].items[0].title)).toBeInTheDocument();
98
+ });
99
+ test('onExpandedChange change prop calls when used', function () {
100
+ var onPress = jest.fn();
101
+ render(___EmotionJSX(TreeViewComponent, {
102
+ onExpandedChange: onPress
103
+ }));
104
+ expect(onPress).not.toHaveBeenCalled();
105
+ var buttons = screen.queryAllByRole('button');
106
+ fireEvent.click(buttons[0]);
107
+ expect(onPress).toHaveBeenCalled();
108
+ });
109
+ test('disabledKeys prop disables items in the tree -- rendering them unclickable', function () {
110
+ render(___EmotionJSX(TreeViewComponent, {
111
+ disabledKeys: ['Plant']
112
+ }));
113
+ var listItems = screen.getAllByRole('treeitem');
114
+ var thisItem = listItems[2];
115
+ expect(thisItem).not.toHaveClass('is-selected');
116
+ expect(thisItem).toHaveAttribute('aria-disabled', 'true');
117
+ fireEvent.mouseDown(thisItem);
118
+ fireEvent.mouseUp(thisItem);
119
+ expect(thisItem).not.toHaveClass('is-selected');
120
+ expect(thisItem).toHaveAttribute('aria-selected', 'false');
121
+ });
@@ -0,0 +1,60 @@
1
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
3
+ import React, { forwardRef, useImperativeHandle, useRef } from 'react';
4
+ import FileIcon from '@pingux/mdi-react/FileIcon';
5
+ import PropTypes from 'prop-types';
6
+ import { useTreeViewContext } from '../../context/TreeViewContext';
7
+ import { Box } from '../../index';
8
+ import TreeViewRow from './TreeViewRow';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ var TreeViewItem = /*#__PURE__*/forwardRef(function (props, ref) {
11
+ var _context, _context2, _context3;
12
+ var item = props.item,
13
+ title = props.title;
14
+ var treeItemRef = useRef();
15
+ /* istanbul ignore next */
16
+ useImperativeHandle(ref, function () {
17
+ return treeItemRef.current;
18
+ });
19
+ var _useTreeViewContext = useTreeViewContext(),
20
+ state = _useTreeViewContext.state,
21
+ tree = _useTreeViewContext.tree;
22
+ var isExpanded = _includesInstanceProperty(_context = _Array$from(state.expandedKeys)).call(_context, item.key);
23
+ var isSelected = _includesInstanceProperty(_context2 = _Array$from(tree.selectedKeys)).call(_context2, item.key);
24
+ var isDisabled = _includesInstanceProperty(_context3 = _Array$from(state.disabledKeys)).call(_context3, item.key);
25
+
26
+ // this component may seem unnecessary, but it will be where the
27
+ // useOption and dragAndDrop stuff will go
28
+ // this comment will be removed at that time.
29
+
30
+ return ___EmotionJSX(Box, {
31
+ as: "li",
32
+ isRow: true,
33
+ ref: treeItemRef,
34
+ role: "treeitem",
35
+ "aria-selected": isSelected,
36
+ "aria-disabled": isDisabled,
37
+ sx: {
38
+ width: '100%',
39
+ ml: '36px',
40
+ ':not(:last-child)': {
41
+ pb: 'sm'
42
+ }
43
+ }
44
+ }, ___EmotionJSX(TreeViewRow, {
45
+ item: item,
46
+ title: title,
47
+ mainIcon: FileIcon,
48
+ isSelected: isSelected,
49
+ isExpanded: isExpanded,
50
+ isDisabled: isDisabled
51
+ }));
52
+ });
53
+ TreeViewItem.propTypes = {
54
+ item: PropTypes.shape({
55
+ key: PropTypes.string
56
+ }),
57
+ name: PropTypes.string,
58
+ title: PropTypes.string
59
+ };
60
+ export default TreeViewItem;
@@ -0,0 +1,135 @@
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 = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isSelected", "isDisabled", "iconButtonProps"];
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, useImperativeHandle, useRef } from 'react';
16
+ import FolderIcon from '@pingux/mdi-react/FolderIcon';
17
+ import LockIcon from '@pingux/mdi-react/LockIcon';
18
+ import MenuDownIcon from '@pingux/mdi-react/MenuDownIcon';
19
+ import MenuRight from '@pingux/mdi-react/MenuRightIcon';
20
+ import { useHover, usePress } from '@react-aria/interactions';
21
+ import { mergeProps } from '@react-aria/utils';
22
+ import PropTypes from 'prop-types';
23
+ import { useTreeViewContext } from '../../context/TreeViewContext';
24
+ import { useStatusClasses } from '../../hooks';
25
+ import { Box, Icon, IconButtonToggle, Text } from '../../index';
26
+ import { jsx as ___EmotionJSX } from "@emotion/react";
27
+ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
28
+ var title = props.title,
29
+ _props$mainIcon = props.mainIcon,
30
+ mainIcon = _props$mainIcon === void 0 ? FolderIcon : _props$mainIcon,
31
+ _props$lastIcon = props.lastIcon,
32
+ lastIcon = _props$lastIcon === void 0 ? LockIcon : _props$lastIcon,
33
+ item = props.item,
34
+ items = props.items,
35
+ isExpanded = props.isExpanded,
36
+ isSelected = props.isSelected,
37
+ isDisabled = props.isDisabled,
38
+ iconButtonProps = props.iconButtonProps,
39
+ others = _objectWithoutProperties(props, _excluded);
40
+ var treeRowRef = useRef();
41
+ /* istanbul ignore next */
42
+ useImperativeHandle(ref, function () {
43
+ return treeRowRef.current;
44
+ });
45
+ var key = item.key;
46
+ var _useTreeViewContext = useTreeViewContext(),
47
+ state = _useTreeViewContext.state,
48
+ tree = _useTreeViewContext.tree;
49
+ var _useHover = useHover({}),
50
+ hoverProps = _useHover.hoverProps,
51
+ isHovered = _useHover.isHovered;
52
+ var pressIcon = function pressIcon(e) {
53
+ state.toggleKey(item.key);
54
+ if (iconButtonProps !== null && iconButtonProps !== void 0 && iconButtonProps.onPress) {
55
+ iconButtonProps.onPress(e);
56
+ }
57
+ };
58
+ var pressRow = function pressRow() {
59
+ tree.setSelectedKeys([item.key]);
60
+ };
61
+ var _usePress = usePress(_objectSpread(_objectSpread({}, others), {}, {
62
+ ref: treeRowRef,
63
+ onPress: pressRow
64
+ })),
65
+ isPressed = _usePress.isPressed,
66
+ pressProps = _usePress.pressProps;
67
+ var _useStatusClasses = useStatusClasses('', {
68
+ isHovered: isHovered,
69
+ isSelected: isSelected,
70
+ isExpanded: isExpanded,
71
+ isPressed: isPressed,
72
+ isDisabled: isDisabled
73
+ }),
74
+ classNames = _useStatusClasses.classNames;
75
+ var mergedProps = mergeProps(hoverProps, pressProps, others);
76
+ return ___EmotionJSX(Box, _extends({
77
+ ref: treeRowRef,
78
+ isRow: true,
79
+ alignItems: "center",
80
+ gap: "xs",
81
+ sx: {
82
+ flexGrow: 1
83
+ },
84
+ className: classNames,
85
+ key: "".concat(key, " box")
86
+ }, mergedProps), (items === null || items === void 0 ? void 0 : items.length) > 0 && ___EmotionJSX(IconButtonToggle, {
87
+ onToggle: pressIcon,
88
+ isToggled: isExpanded,
89
+ defaultIcon: MenuRight,
90
+ toggledIcon: MenuDownIcon,
91
+ iconProps: {
92
+ size: 25,
93
+ title: "".concat(title, " expand or collapse button")
94
+ },
95
+ buttonProps: {
96
+ 'aria-label': "".concat(title, " expand or collapse button")
97
+ }
98
+ }), ___EmotionJSX(Box, {
99
+ isRow: true,
100
+ className: classNames,
101
+ alignItems: "center",
102
+ gap: "xs",
103
+ variant: "treeView.treeRow"
104
+ }, ___EmotionJSX(Icon, {
105
+ color: "focus",
106
+ icon: mainIcon,
107
+ size: 25,
108
+ title: "folder icon",
109
+ alt: "folder icon"
110
+ }), ___EmotionJSX(Text, {
111
+ className: classNames
112
+ }, title), ___EmotionJSX(Icon, {
113
+ icon: lastIcon,
114
+ size: 15,
115
+ color: "accent.80",
116
+ title: "lock icon",
117
+ alt: "lock icon"
118
+ })));
119
+ });
120
+ TreeViewRow.propTypes = {
121
+ isSelected: PropTypes.bool,
122
+ isDisabled: PropTypes.bool,
123
+ isExpanded: PropTypes.bool,
124
+ title: PropTypes.string,
125
+ items: PropTypes.arrayOf(PropTypes.shape({})),
126
+ iconButtonProps: PropTypes.shape({
127
+ onPress: PropTypes.func
128
+ }),
129
+ item: PropTypes.shape({
130
+ key: PropTypes.string
131
+ }),
132
+ mainIcon: PropTypes.elementType,
133
+ lastIcon: PropTypes.elementType
134
+ };
135
+ export default TreeViewRow;
@@ -0,0 +1,74 @@
1
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
3
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
+ import React, { forwardRef, useImperativeHandle, useRef } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useTreeViewContext } from '../../context/TreeViewContext';
7
+ import { Box, TreeViewItem } from '../../index';
8
+ import { SectionOrItemRender } from './TreeView';
9
+ import TreeViewRow from './TreeViewRow';
10
+ import { jsx as ___EmotionJSX } from "@emotion/react";
11
+ var TreeViewSection = /*#__PURE__*/forwardRef(function (props, ref) {
12
+ var _context, _context2, _context3, _context4;
13
+ var item = props.item,
14
+ items = props.items,
15
+ title = props.title;
16
+ var treeSectionRef = useRef();
17
+ /* istanbul ignore next */
18
+ useImperativeHandle(ref, function () {
19
+ return treeSectionRef.current;
20
+ });
21
+ var _useTreeViewContext = useTreeViewContext(),
22
+ state = _useTreeViewContext.state,
23
+ tree = _useTreeViewContext.tree;
24
+ var isExpanded = _includesInstanceProperty(_context = _Array$from(state.expandedKeys)).call(_context, item.key);
25
+ var isSelected = _includesInstanceProperty(_context2 = _Array$from(tree.selectedKeys)).call(_context2, item.key);
26
+ var isDisabled = _includesInstanceProperty(_context3 = _Array$from(state.disabledKeys)).call(_context3, item.key);
27
+ return ___EmotionJSX(Box, {
28
+ ref: treeSectionRef,
29
+ as: "li",
30
+ sx: {
31
+ ':not(:last-child)': {
32
+ pb: 'sm'
33
+ }
34
+ },
35
+ role: "treeitem",
36
+ "aria-expanded": isExpanded,
37
+ "aria-selected": isSelected,
38
+ "aria-disabled": isDisabled
39
+ }, ___EmotionJSX(TreeViewRow, {
40
+ item: item,
41
+ title: title,
42
+ items: items,
43
+ isExpanded: isExpanded,
44
+ isSelected: isSelected,
45
+ isDisabled: isDisabled
46
+ }), isExpanded && ___EmotionJSX(Box, {
47
+ as: "ul",
48
+ role: "group",
49
+ key: "".concat(item.key, " ul"),
50
+ sx: {
51
+ pl: 'md'
52
+ }
53
+ }, _mapInstanceProperty(_context4 = _Array$from(items)).call(_context4, function (_item) {
54
+ var _item$value$items;
55
+ return SectionOrItemRender(((_item$value$items = _item.value.items) === null || _item$value$items === void 0 ? void 0 : _item$value$items.length) > 0, ___EmotionJSX(TreeViewSection, {
56
+ item: _item,
57
+ items: _item.children,
58
+ title: _item.value.title,
59
+ key: _item.value.title
60
+ }), ___EmotionJSX(TreeViewItem, {
61
+ item: _item,
62
+ title: _item.value.title,
63
+ key: _item.value.title
64
+ }));
65
+ })));
66
+ });
67
+ TreeViewSection.propTypes = {
68
+ items: PropTypes.arrayOf(PropTypes.shape({})),
69
+ item: PropTypes.shape({
70
+ key: PropTypes.string
71
+ }),
72
+ title: PropTypes.string
73
+ };
74
+ export default TreeViewSection;
@@ -0,0 +1,3 @@
1
+ export { default } from './TreeView';
2
+ export { default as TreeViewItem } from './TreeViewItem';
3
+ export { default as TreeViewSection } from './TreeViewSection';
@@ -0,0 +1,5 @@
1
+ import { createContext, useContext } from 'react';
2
+ export var TreeViewContext = /*#__PURE__*/createContext(null);
3
+ export var useTreeViewContext = function useTreeViewContext() {
4
+ return useContext(TreeViewContext);
5
+ };
package/lib/index.js CHANGED
@@ -163,6 +163,8 @@ export * from './components/TextField';
163
163
  export { default as TimeZonePicker } from './components/TimeZonePicker';
164
164
  export { default as TooltipTrigger } from './components/TooltipTrigger';
165
165
  export * from './components/TooltipTrigger';
166
+ export { default as TreeView } from './components/TreeView';
167
+ export * from './components/TreeView';
166
168
  export { default as PageHeader } from './experimental/PageHeader';
167
169
  export * from './experimental/PageHeader';
168
170
 
@@ -172,7 +174,7 @@ export { default as DataTable } from './components/DataTable';
172
174
  export * from './components/DataTable';
173
175
  export * from './types';
174
176
  export { OverlayProvider, useOverlayPosition, useOverlayTrigger } from 'react-aria';
175
- export { Item, Section, useOverlayTriggerState } from 'react-stately';
177
+ export { Item, Section, useOverlayTriggerState, useTreeData } from 'react-stately';
176
178
  export { TableBody as DataTableBody, Cell as DataTableCell, Column as DataTableColumn, TableHeader as DataTableHeader, Row as DataTableRow } from 'react-stately';
177
179
 
178
180
  // Experimental
@@ -3,10 +3,13 @@ import _Object$entries from "@babel/runtime-corejs3/core-js-stable/object/entrie
3
3
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
4
  import React, { useState } from 'react';
5
5
  import { countries as countriesObj } from 'countries-list';
6
+ import { withDesign } from 'storybook-addon-designs';
6
7
  import { Box, ComboBoxField, Input, Item } from '../index';
8
+ import { FIGMA_LINKS } from '../utils/designUtils/figmaLinks';
7
9
  import { jsx as ___EmotionJSX } from "@emotion/react";
8
10
  export default {
9
- title: 'Recipes/Country Picker'
11
+ title: 'Recipes/Country Picker',
12
+ decorators: [withDesign]
10
13
  };
11
14
  var validatePhoneNumber = function validatePhoneNumber(str) {
12
15
  var reg = /^$|^[\d\-(\d)\s.]+$|^\+/g;
@@ -117,4 +120,10 @@ export var Default = function Default() {
117
120
  onChange: onPhoneNumberValueChange,
118
121
  value: phoneNumber
119
122
  })));
123
+ };
124
+ Default.parameters = {
125
+ design: {
126
+ type: 'figma',
127
+ url: FIGMA_LINKS.countryPicker["default"]
128
+ }
120
129
  };
@@ -13,10 +13,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  import React, { createContext, useContext, useEffect, useRef, useState } from 'react';
14
14
  import CheckIcon from '@pingux/mdi-react/CheckIcon';
15
15
  import CloseIcon from '@pingux/mdi-react/CloseIcon';
16
+ import { withDesign } from 'storybook-addon-designs';
16
17
  import { Box, Icon, IconButton, TextAreaField } from '../index';
18
+ import { FIGMA_LINKS } from '../utils/designUtils/figmaLinks';
17
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
20
  export default {
19
- title: 'Recipes/Editable Input'
21
+ title: 'Recipes/Inline Editing',
22
+ decorators: [withDesign]
20
23
  };
21
24
  var EditableAreaContext = /*#__PURE__*/createContext();
22
25
  var EditableAreaProvider = EditableAreaContext.Provider;
@@ -85,6 +88,12 @@ export var Default = function Default() {
85
88
  controlProps: controlProps
86
89
  }));
87
90
  };
91
+ Default.parameters = {
92
+ design: {
93
+ type: 'figma',
94
+ url: FIGMA_LINKS.inlineEditing["default"]
95
+ }
96
+ };
88
97
 
89
98
  /**
90
99
  * Editable
@@ -4,6 +4,7 @@ import CogsIcon from '@pingux/mdi-react/CogsIcon';
4
4
  import DeleteIcon from '@pingux/mdi-react/DeleteIcon';
5
5
  import DragVerticalIcon from '@pingux/mdi-react/DragVerticalIcon';
6
6
  import { Box, ComboBoxField, Icon, IconButton, IconButtonToggle, Item } from '../index';
7
+ import { FIGMA_LINKS } from '../utils/designUtils/figmaLinks.js';
7
8
  import { jsx as ___EmotionJSX } from "@emotion/react";
8
9
  export default {
9
10
  title: 'Recipes/One Way to Bidirectional Arrow'
@@ -252,4 +253,10 @@ export var Default = function Default() {
252
253
  name: 'Delete Icon'
253
254
  }
254
255
  })))));
256
+ };
257
+ Default.parameters = {
258
+ design: {
259
+ type: 'figma',
260
+ url: FIGMA_LINKS.OnewayToBidirectionalArrow["default"]
261
+ }
255
262
  };
@@ -45,6 +45,7 @@ import table from '../../components/Table/Table.styles';
45
45
  import * as tab from '../../components/Tabs/Tabs.style';
46
46
  import timeZone from '../../components/TimeZonePicker/TimeZone.styles';
47
47
  import tooltip from '../../components/TooltipTrigger/Tooltip.styles';
48
+ import treeView from '../../components/TreeView/TreeView.styles';
48
49
  import panelHeader from '../../experimental/PanelHeader/PanelHeader.styles';
49
50
  export default _objectSpread({
50
51
  accordion: accordion,
@@ -82,5 +83,6 @@ export default _objectSpread({
82
83
  stepper: stepper,
83
84
  table: table,
84
85
  timeZone: timeZone,
85
- tooltip: tooltip
86
+ tooltip: tooltip,
87
+ treeView: treeView
86
88
  }, tab);
@@ -43,6 +43,9 @@ export var FIGMA_LINKS = {
43
43
  copyText: {
44
44
  "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=218-1442&t=8Wwd3tIBh3GEjCJB-0'
45
45
  },
46
+ countryPicker: {
47
+ "default": 'https://www.figma.com/file/Oa6VYtJcUJzEJuuRp0p4ls/Astro?type=design&node-id=4568-7532&mode=design&t=eSfQYHRFNPf37J4C-0'
48
+ },
46
49
  helpHint: {
47
50
  "default": 'https://www.figma.com/file/Oa6VYtJcUJzEJuuRp0p4ls/Astro?type=design&node-id=0%3A4534&t=We3h7LaaFJQnxdSy-1',
48
51
  withLink: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=28958%3A40081&mode=design&t=WmSYPx1hR8kxFiXf-1'
@@ -56,6 +59,9 @@ export var FIGMA_LINKS = {
56
59
  iconButton: {
57
60
  "default": 'https://www.figma.com/file/Oa6VYtJcUJzEJuuRp0p4ls/Astro?type=design&node-id=0%3A2520&t=We3h7LaaFJQnxdSy-1'
58
61
  },
62
+ inlineEditing: {
63
+ "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=5244-14864&mode=design&t=1pPbrQvGkdMYBNqk-0'
64
+ },
59
65
  link: {
60
66
  "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=8708-29543&t=8Wwd3tIBh3GEjCJB-0'
61
67
  },
@@ -83,6 +89,9 @@ export var FIGMA_LINKS = {
83
89
  navBar: {
84
90
  "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=548-3473&t=8Wwd3tIBh3GEjCJB-0'
85
91
  },
92
+ OnewayToBidirectionalArrow: {
93
+ "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?type=design&node-id=43504-1214&mode=design&t=R4kdj0liRHxsqbV5-0'
94
+ },
86
95
  popoverMenu: {
87
96
  "default": 'https://www.figma.com/file/Oa6VYtJcUJzEJuuRp0p4ls/Astro?type=design&node-id=0%3A3073&t=We3h7LaaFJQnxdSy-1'
88
97
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.20.0-alpha.1",
3
+ "version": "2.20.0-alpha.11",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",