@pingux/astro 1.7.0 → 1.8.0-alpha.2

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 (93) hide show
  1. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +1 -0
  2. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +3 -0
  3. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +3 -0
  4. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +10 -4
  5. package/lib/cjs/components/ArrayField/ArrayField.test.js +13 -0
  6. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +3 -8
  7. package/lib/cjs/components/AstroWrapper/AstroWrapper.js +4 -4
  8. package/lib/cjs/components/CodeView/CodeView.js +11 -4
  9. package/lib/cjs/components/CodeView/CodeView.stories.js +33 -2
  10. package/lib/cjs/components/ComboBoxField/ComboBoxField.js +1 -1
  11. package/lib/cjs/components/ComboBoxField/ComboBoxField.test.js +8 -4
  12. package/lib/cjs/components/Image/Image.js +132 -11
  13. package/lib/cjs/components/Image/Image.stories.js +52 -6
  14. package/lib/cjs/components/Image/Image.test.js +138 -2
  15. package/lib/cjs/components/Image/imageConstants.js +13 -0
  16. package/lib/cjs/components/ImageUploadField/ImageUploadField.test.js +27 -8
  17. package/lib/cjs/components/ListViewItem/ListViewItem.js +2 -1
  18. package/lib/cjs/components/MultiselectFilter/MultiselectFilter.js +1 -1
  19. package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.js +32 -11
  20. package/lib/cjs/components/MultiselectFilterItem/MultiselectFilterItem.test.js +13 -1
  21. package/lib/cjs/components/NavBar/NavBar.js +20 -8
  22. package/lib/cjs/components/NavBar/NavBar.stories.js +3 -2
  23. package/lib/cjs/components/NavBarSection/NavBarItem.js +1 -1
  24. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +1 -1
  25. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +61 -4
  26. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +1 -1
  27. package/lib/cjs/components/NavBarSection/NavBarSection.js +5 -2
  28. package/lib/cjs/components/NumberField/NumberField.js +32 -2
  29. package/lib/cjs/components/Text/Text.js +5 -1
  30. package/lib/cjs/components/Text/Text.stories.js +56 -2
  31. package/lib/cjs/components/Text/Text.test.js +46 -0
  32. package/lib/cjs/components/TimeZonePicker/TimeZonePicker.js +21 -10
  33. package/lib/cjs/hooks/index.js +10 -1
  34. package/lib/cjs/hooks/useFallbackImage/index.js +18 -0
  35. package/lib/cjs/hooks/useFallbackImage/useFallbackImage.js +46 -0
  36. package/lib/cjs/hooks/useFallbackImage/useFallbackImage.test.js +65 -0
  37. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +3 -3
  38. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +4 -4
  39. package/lib/cjs/recipes/MultiselectListContainer.stories.js +352 -0
  40. package/lib/cjs/styles/forms/input.js +2 -1
  41. package/lib/cjs/styles/variants/accordion.js +1 -1
  42. package/lib/cjs/styles/variants/boxes.js +2 -2
  43. package/lib/cjs/styles/variants/multiselectListContainer.js +4 -6
  44. package/lib/cjs/styles/variants/navBar.js +10 -1
  45. package/lib/cjs/styles/variants/separator.js +3 -3
  46. package/lib/cjs/styles/variants/text.js +5 -3
  47. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +1 -0
  48. package/lib/components/AccordionGridItem/AccordionGridItem.js +3 -0
  49. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +3 -0
  50. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +10 -4
  51. package/lib/components/ArrayField/ArrayField.test.js +9 -0
  52. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +3 -8
  53. package/lib/components/AstroWrapper/AstroWrapper.js +4 -4
  54. package/lib/components/CodeView/CodeView.js +12 -5
  55. package/lib/components/CodeView/CodeView.stories.js +26 -0
  56. package/lib/components/ComboBoxField/ComboBoxField.js +1 -1
  57. package/lib/components/ComboBoxField/ComboBoxField.test.js +8 -4
  58. package/lib/components/Image/Image.js +123 -9
  59. package/lib/components/Image/Image.stories.js +39 -4
  60. package/lib/components/Image/Image.test.js +118 -1
  61. package/lib/components/Image/imageConstants.js +2 -0
  62. package/lib/components/ImageUploadField/ImageUploadField.test.js +27 -7
  63. package/lib/components/ListViewItem/ListViewItem.js +2 -1
  64. package/lib/components/MultiselectFilter/MultiselectFilter.js +1 -1
  65. package/lib/components/MultiselectFilterItem/MultiselectFilterItem.js +35 -12
  66. package/lib/components/MultiselectFilterItem/MultiselectFilterItem.test.js +11 -1
  67. package/lib/components/NavBar/NavBar.js +20 -8
  68. package/lib/components/NavBar/NavBar.stories.js +3 -2
  69. package/lib/components/NavBarSection/NavBarItem.js +1 -1
  70. package/lib/components/NavBarSection/NavBarItemButton.js +1 -1
  71. package/lib/components/NavBarSection/NavBarItemHeader.js +46 -4
  72. package/lib/components/NavBarSection/NavBarItemLink.js +1 -1
  73. package/lib/components/NavBarSection/NavBarSection.js +5 -2
  74. package/lib/components/NumberField/NumberField.js +32 -2
  75. package/lib/components/Text/Text.js +7 -2
  76. package/lib/components/Text/Text.stories.js +50 -0
  77. package/lib/components/Text/Text.test.js +36 -0
  78. package/lib/components/TimeZonePicker/TimeZonePicker.js +21 -10
  79. package/lib/hooks/index.js +2 -1
  80. package/lib/hooks/useFallbackImage/index.js +1 -0
  81. package/lib/hooks/useFallbackImage/useFallbackImage.js +32 -0
  82. package/lib/hooks/useFallbackImage/useFallbackImage.test.js +51 -0
  83. package/lib/hooks/useNavBarPress/useNavBarPress.js +3 -3
  84. package/lib/hooks/useNavBarPress/useNavBarPress.test.js +4 -4
  85. package/lib/recipes/MultiselectListContainer.stories.js +306 -0
  86. package/lib/styles/forms/input.js +2 -1
  87. package/lib/styles/variants/accordion.js +1 -1
  88. package/lib/styles/variants/boxes.js +2 -2
  89. package/lib/styles/variants/multiselectListContainer.js +4 -6
  90. package/lib/styles/variants/navBar.js +10 -1
  91. package/lib/styles/variants/separator.js +3 -3
  92. package/lib/styles/variants/text.js +5 -3
  93. package/package.json +2 -1
@@ -2,27 +2,72 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+
5
7
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
8
 
9
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
10
+
11
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
12
+
7
13
  _Object$defineProperty(exports, "__esModule", {
8
14
  value: true
9
15
  });
10
16
 
11
17
  exports["default"] = void 0;
12
18
 
13
- var _react = _interopRequireDefault(require("react"));
19
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
20
+
21
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
+
23
+ var _react = _interopRequireWildcard(require("react"));
14
24
 
15
25
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
26
 
27
+ var _MenuDownIcon = _interopRequireDefault(require("mdi-react/MenuDownIcon"));
28
+
29
+ var _MenuUpIcon = _interopRequireDefault(require("mdi-react/MenuUpIcon"));
30
+
17
31
  var _index = require("../../index");
18
32
 
33
+ var _AccordionGridContext = require("../../context/AccordionGridContext");
34
+
35
+ var _NavBarContext = require("../../context/NavBarContext");
36
+
37
+ var _hooks = require("../../hooks");
38
+
19
39
  var _react2 = require("@emotion/react");
20
40
 
41
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
42
+
43
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
+
21
45
  var NavBarItemHeader = function NavBarItemHeader(props) {
46
+ var _state$selectionManag, _context;
47
+
22
48
  var item = props.item;
23
- var icon = item.icon;
49
+ var icon = item.icon,
50
+ key = item.key,
51
+ className = item.className;
52
+
53
+ var _useContext = (0, _react.useContext)(_AccordionGridContext.AccordionGridContext),
54
+ state = _useContext.state;
55
+
56
+ var navState = (0, _react.useContext)(_NavBarContext.NavBarContext);
57
+ var isExpanded = (_state$selectionManag = state.selectionManager.selectedKeys) === null || _state$selectionManag === void 0 ? void 0 : _state$selectionManag.has(key);
58
+ var array = (0, _map["default"])(_context = item.children).call(_context, function (i) {
59
+ return i.key;
60
+ });
61
+ var childSelected = (0, _includes["default"])(array).call(array, navState.selectedKey);
62
+
63
+ var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
64
+ isSelected: childSelected && !isExpanded
65
+ }),
66
+ classNames = _useStatusClasses.classNames;
67
+
24
68
  return (0, _react2.jsx)(_index.Box, {
25
69
  variant: "navBar.itemHeaderContainer",
70
+ className: classNames,
26
71
  isRow: true
27
72
  }, icon && (0, _react2.jsx)(_index.Icon, {
28
73
  icon: icon,
@@ -34,13 +79,25 @@ var NavBarItemHeader = function NavBarItemHeader(props) {
34
79
  }
35
80
  }), (0, _react2.jsx)(_index.Text, {
36
81
  variant: "navBarHeaderText"
37
- }, props.item.heading));
82
+ }, props.item.heading), (0, _react2.jsx)(_index.Box, {
83
+ isRow: true,
84
+ alignItems: "center",
85
+ sx: {
86
+ ml: 'auto'
87
+ }
88
+ }, (0, _react2.jsx)(_index.Icon, {
89
+ icon: isExpanded ? _MenuUpIcon["default"] : _MenuDownIcon["default"],
90
+ size: 20
91
+ })));
38
92
  };
39
93
 
40
94
  NavBarItemHeader.propTypes = {
41
95
  item: _propTypes["default"].shape({
42
96
  heading: _propTypes["default"].string,
43
- icon: _propTypes["default"].elementType
97
+ icon: _propTypes["default"].elementType,
98
+ className: _propTypes["default"].string,
99
+ children: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])),
100
+ key: _propTypes["default"].string
44
101
  })
45
102
  };
46
103
  var _default = NavBarItemHeader;
@@ -58,7 +58,7 @@ var NavBarItemLink = function NavBarItemLink(props) {
58
58
  onPressCallback = props.onPress,
59
59
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
60
60
  var state = (0, _NavBarContext.useNavBarContext)();
61
- var isSelected = (0, _includes["default"])(_context = state.selectedKeys).call(_context, key);
61
+ var isSelected = (0, _includes["default"])(_context = state.selectedKey).call(_context, key);
62
62
 
63
63
  var _useNavBarPress = (0, _hooks.useNavBarPress)({
64
64
  key: key,
@@ -42,7 +42,8 @@ var NavBarSection = function NavBarSection(props) {
42
42
  }, function (item) {
43
43
  return (0, _react2.jsx)(_index.Item, {
44
44
  headerProps: {
45
- variant: 'accordion.accordionGridHeaderNav'
45
+ variant: 'accordion.accordionGridHeaderNav',
46
+ hasCaret: false
46
47
  },
47
48
  bodyProps: {
48
49
  variant: 'navBar.sectionBody'
@@ -57,7 +58,9 @@ var NavBarSection = function NavBarSection(props) {
57
58
  sx: {
58
59
  pl: '15px',
59
60
  pr: '15px',
60
- my: '10px'
61
+ my: '10px',
62
+ mt: '15px',
63
+ mb: '15px'
61
64
  }
62
65
  }, (0, _react2.jsx)(_index.Separator, {
63
66
  variant: "separator.navBarSeparator"
@@ -30,6 +30,8 @@ exports["default"] = void 0;
30
30
 
31
31
  var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
32
32
 
33
+ var _trim = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/trim"));
34
+
33
35
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
34
36
 
35
37
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
@@ -66,7 +68,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
66
68
 
67
69
  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; }
68
70
 
69
- 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) { (0, _defineProperty2["default"])(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; }
71
+ 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) { (0, _defineProperty2["default"])(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; }
70
72
 
71
73
  /**
72
74
  * Number fields allow users to enter a number, and increment or
@@ -146,6 +148,32 @@ var NumberField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
146
148
  onBlur: onInputBlur
147
149
  });
148
150
  }, [fieldControlProps, onInputBlur, onInputFocus]);
151
+
152
+ var onInputChange = function onInputChange(e) {
153
+ var _context;
154
+
155
+ var minValue = props.minValue;
156
+ var trimmedInputValue = (0, _trim["default"])(_context = e.target.value).call(_context);
157
+
158
+ var trimmedValueEvent = _objectSpread(_objectSpread({}, e), {}, {
159
+ target: _objectSpread(_objectSpread({}, e.target), {}, {
160
+ value: trimmedInputValue
161
+ })
162
+ });
163
+
164
+ if (!trimmedInputValue && typeof minValue !== 'undefined') {
165
+ var minValueEvent = _objectSpread(_objectSpread({}, e), {}, {
166
+ target: _objectSpread(_objectSpread({}, e.target), {}, {
167
+ value: minValue.toString()
168
+ })
169
+ });
170
+
171
+ inputProps.onChange(minValueEvent);
172
+ } else {
173
+ inputProps.onChange(trimmedValueEvent);
174
+ }
175
+ };
176
+
149
177
  return (0, _react2.jsx)(_index.Box, fieldContainerProps, (0, _react2.jsx)(_index.Label, (0, _utils.mergeProps)(fieldLabelProps, labelProps)), (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
150
178
  variant: "numberField.noDefaultArrows"
151
179
  }, groupProps), (0, _react2.jsx)(_index.Box, {
@@ -156,7 +184,9 @@ var NumberField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
156
184
  ref: inputRef // we don't want to merge this props, we want to
157
185
  // overwrite them like defaultValue, value, ect.
158
186
 
159
- }, updatedFieldControlProps, (0, _omit["default"])(inputProps, ['name', 'onFocus', 'onBlur']))), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
187
+ }, updatedFieldControlProps, (0, _omit["default"])(inputProps, ['name', 'onFocus', 'onBlur']), {
188
+ onChange: onInputChange
189
+ })), ControlArrows), helperText && (0, _react2.jsx)(_index.FieldHelperText, {
160
190
  status: status
161
191
  }, helperText)));
162
192
  });
@@ -31,7 +31,11 @@ var ExtendedText = ( /*#__PURE__*/0, _base["default"])(_themeUi.Text, process.en
31
31
  } : {
32
32
  target: "eifd86o0",
33
33
  label: "ExtendedText"
34
- })(_styledSystem.layout, _styledSystem.flexbox, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RleHQvVGV4dC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dC9UZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBsYXlvdXQsIGZsZXhib3ggfSBmcm9tICdzdHlsZWQtc3lzdGVtJztcbmltcG9ydCB7IFRleHQgYXMgVGhlbWVVSVRleHQgfSBmcm9tICd0aGVtZS11aSc7XG5cbmltcG9ydCB7IHRleHRWYXJpYW50cyB9IGZyb20gJy4uLy4uL3V0aWxzL2RldlV0aWxzL2NvbnN0YW50cy92YXJpYW50cyc7XG5cbmNvbnN0IEV4dGVuZGVkVGV4dCA9IHN0eWxlZChUaGVtZVVJVGV4dCkobGF5b3V0LCBmbGV4Ym94KTtcblxuY29uc3QgVGV4dCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IChcbiAgPEV4dGVuZGVkVGV4dCB2YXJpYW50PVwiYmFzZVwiIHsuLi5wcm9wc30gcmVmPXtyZWZ9IC8+XG4pKTtcblxuVGV4dC5wcm9wVHlwZXMgPSB7XG4gIHZhcmlhbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5cblRleHQuZGVmYXVsdFByb3BzID0ge1xuICB2YXJpYW50OiB0ZXh0VmFyaWFudHMuQkFTRSxcbn07XG5cblRleHQuZGlzcGxheU5hbWUgPSAnVGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IFRleHQ7XG4iXX0= */");
34
+ })(_styledSystem.layout, _styledSystem.flexbox, _styledSystem.typography, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RleHQvVGV4dC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dC9UZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBsYXlvdXQsIGZsZXhib3gsIHR5cG9ncmFwaHkgfSBmcm9tICdzdHlsZWQtc3lzdGVtJztcbmltcG9ydCB7IFRleHQgYXMgVGhlbWVVSVRleHQgfSBmcm9tICd0aGVtZS11aSc7XG5cbmltcG9ydCB7IHRleHRWYXJpYW50cyB9IGZyb20gJy4uLy4uL3V0aWxzL2RldlV0aWxzL2NvbnN0YW50cy92YXJpYW50cyc7XG5cbmNvbnN0IEV4dGVuZGVkVGV4dCA9IHN0eWxlZChUaGVtZVVJVGV4dCkobGF5b3V0LCBmbGV4Ym94LCB0eXBvZ3JhcGh5KTtcblxuLyoqXG4gKiBUaGUgVGV4dCBjb21wb25lbnQgaXMgdXNlZCBmb3IgZGlzcGxheWluZyB0ZXh0LlxuICogVGV4dCBzdXBwb3J0cyBbVHlwb2dyYXBoeSBQcm9wcyBmcm9tIFN0eWxlZCBTeXN0ZW0gXShodHRwczovL3N0eWxlZC1zeXN0ZW0uY29tL3RhYmxlLyN0eXBvZ3JhcGh5KS5cbiAqL1xuXG5jb25zdCBUZXh0ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4gKFxuICA8RXh0ZW5kZWRUZXh0IHZhcmlhbnQ9XCJiYXNlXCIgey4uLnByb3BzfSByZWY9e3JlZn0gLz5cbikpO1xuXG5UZXh0LnByb3BUeXBlcyA9IHtcbiAgdmFyaWFudDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cblxuVGV4dC5kZWZhdWx0UHJvcHMgPSB7XG4gIHZhcmlhbnQ6IHRleHRWYXJpYW50cy5CQVNFLFxufTtcblxuVGV4dC5kaXNwbGF5TmFtZSA9ICdUZXh0JztcblxuZXhwb3J0IGRlZmF1bHQgVGV4dDtcbiJdfQ== */");
35
+ /**
36
+ * The Text component is used for displaying text.
37
+ * Text supports [Typography Props from Styled System ](https://styled-system.com/table/#typography).
38
+ */
35
39
 
36
40
  var Text = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
37
41
  return (0, _react2.jsx)(ExtendedText, (0, _extends2["default"])({
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
 
11
- exports["default"] = exports.WithCustomWidth = exports.Default = void 0;
11
+ exports["default"] = exports.WithCustomWidth = exports.TypographyStyleProps = exports.Default = void 0;
12
12
 
13
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
14
 
@@ -24,6 +24,8 @@ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
24
24
 
25
25
  var _react = _interopRequireDefault(require("react"));
26
26
 
27
+ var _themeUi = require("theme-ui");
28
+
27
29
  var _Text = _interopRequireDefault(require("./Text"));
28
30
 
29
31
  var _variants = require("../../utils/devUtils/constants/variants.js");
@@ -123,4 +125,56 @@ var WithCustomWidth = function WithCustomWidth() {
123
125
  }, "superlongtextinonelinewithnowhitespacessoitcanbelongerthatanywidth"));
124
126
  };
125
127
 
126
- exports.WithCustomWidth = WithCustomWidth;
128
+ exports.WithCustomWidth = WithCustomWidth;
129
+
130
+ var TypographyStyleProps = function TypographyStyleProps() {
131
+ var textProps = {
132
+ fontFamily: 'times',
133
+ fontSize: 'md',
134
+ fontWeight: 900,
135
+ lineHeight: '2em',
136
+ letterSpacing: '5px',
137
+ textAlign: 'right',
138
+ fontStyle: 'italic'
139
+ };
140
+ var loremText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.';
141
+ return (0, _react2.jsx)(_index.Box, {
142
+ p: "xx",
143
+ gap: "md"
144
+ }, (0, _react2.jsx)(_Text["default"], {
145
+ variant: "title"
146
+ }, "The Text component allows typography style props to be passed in directly."), (0, _react2.jsx)(_Text["default"], textProps, loremText), (0, _react2.jsx)(_themeUi.Divider, null), (0, _react2.jsx)(_Text["default"], {
147
+ variant: "title"
148
+ }, "Typography styles can also be passed in through the sx prop for the same result."), (0, _react2.jsx)(_Text["default"], {
149
+ sx: textProps
150
+ }, loremText));
151
+ };
152
+
153
+ exports.TypographyStyleProps = TypographyStyleProps;
154
+ TypographyStyleProps.argTypes = {
155
+ variant: {
156
+ control: {
157
+ type: 'none'
158
+ }
159
+ },
160
+ children: {
161
+ control: {
162
+ type: 'none'
163
+ }
164
+ },
165
+ color: {
166
+ control: {
167
+ type: 'none'
168
+ }
169
+ },
170
+ bg: {
171
+ control: {
172
+ type: 'none'
173
+ }
174
+ },
175
+ tabPanelProps: {
176
+ control: {
177
+ type: 'none'
178
+ }
179
+ }
180
+ };
@@ -2,6 +2,24 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
8
+
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+
11
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
12
+
13
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
14
+
15
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
16
+
17
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
18
+
19
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
20
+
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+
5
23
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
24
 
7
25
  var _react = _interopRequireDefault(require("react"));
@@ -18,6 +36,10 @@ var _testTheme = _interopRequireDefault(require("../../utils/testUtils/testTheme
18
36
 
19
37
  var _react2 = require("@emotion/react");
20
38
 
39
+ 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; }
40
+
41
+ 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) { (0, _defineProperty2["default"])(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; }
42
+
21
43
  var testId = 'test-text';
22
44
  var defaultProps = {
23
45
  'data-testid': testId
@@ -40,4 +62,28 @@ test('default text', function () {
40
62
 
41
63
  expect(text).toBeInstanceOf(HTMLSpanElement);
42
64
  expect(text).toBeInTheDocument();
65
+ });
66
+ test('typography props will be applied', function () {
67
+ var customTypographyProps = {
68
+ fontFamily: 'times',
69
+ fontSize: 'xx',
70
+ fontWeight: 900,
71
+ lineHeight: '2em',
72
+ letterSpacing: '5px',
73
+ textAlign: 'right',
74
+ fontStyle: 'italic'
75
+ };
76
+ getComponent(_objectSpread({}, customTypographyProps));
77
+
78
+ var text = _testWrapper.screen.getByTestId(testId);
79
+
80
+ expect(text).toHaveStyle({
81
+ fontFamily: 'times',
82
+ fontSize: '23px',
83
+ fontWeight: 900,
84
+ lineHeight: '2em',
85
+ letterSpacing: '5px',
86
+ textAlign: 'right',
87
+ fontStyle: 'italic'
88
+ });
43
89
  });
@@ -187,16 +187,16 @@ var TimeZonePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
187
187
  return aNum - bNum;
188
188
  };
189
189
 
190
- var items = (0, _react.useMemo)(function () {
191
- var _context7;
190
+ var checkIsSelectedItem = function checkIsSelectedItem() {
191
+ return (0, _filter["default"])(timeZones).call(timeZones, function (tz) {
192
+ return tz.timeZone === search;
193
+ }).length > 0;
194
+ };
192
195
 
193
- if (filteredTimezones.length === 0) {
194
- return (0, _react2.jsx)(_index.Item, {
195
- key: emptySearchText
196
- }, emptySearchText);
197
- }
196
+ var renderTimeZones = function renderTimeZones(timeZonesToRender) {
197
+ var _context7;
198
198
 
199
- return (0, _map["default"])(_context7 = (0, _sort["default"])(filteredTimezones).call(filteredTimezones, sortByGMT)).call(_context7, function (_ref4) {
199
+ return (0, _map["default"])(_context7 = (0, _sort["default"])(timeZonesToRender).call(timeZonesToRender, sortByGMT)).call(_context7, function (_ref4) {
200
200
  var gmt = _ref4.gmt,
201
201
  time = _ref4.time,
202
202
  timeZone = _ref4.timeZone;
@@ -218,7 +218,17 @@ var TimeZonePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
218
218
  variant: "timeZone.time"
219
219
  }, time))));
220
220
  });
221
- }, [emptySearchText, filteredTimezones]);
221
+ };
222
+
223
+ var items = (0, _react.useMemo)(function () {
224
+ if (filteredTimezones.length === 0) {
225
+ return (0, _react2.jsx)(_index.Item, {
226
+ key: emptySearchText
227
+ }, emptySearchText);
228
+ }
229
+
230
+ return renderTimeZones(checkIsSelectedItem() ? timeZones : filteredTimezones);
231
+ }, [emptySearchText, filteredTimezones, search, timeZones]);
222
232
  var comboBoxFieldProps = (0, _react.useMemo)(function () {
223
233
  return _objectSpread({
224
234
  controlProps: {
@@ -239,7 +249,8 @@ var TimeZonePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
239
249
  }, otherProps);
240
250
  }, [emptySearchText, filteredTimezones, otherProps]);
241
251
  return (0, _react2.jsx)(_index.ComboBoxField, (0, _extends2["default"])({}, comboBoxFieldProps, {
242
- disabledKeys: [emptySearchText]
252
+ disabledKeys: [emptySearchText],
253
+ menuTrigger: "focus"
243
254
  }), items);
244
255
  });
245
256
  TimeZonePicker.propTypes = {
@@ -36,6 +36,13 @@ _Object$defineProperty(exports, "useDeprecationWarning", {
36
36
  }
37
37
  });
38
38
 
39
+ _Object$defineProperty(exports, "useFallbackImage", {
40
+ enumerable: true,
41
+ get: function get() {
42
+ return _useFallbackImage["default"];
43
+ }
44
+ });
45
+
39
46
  _Object$defineProperty(exports, "useField", {
40
47
  enumerable: true,
41
48
  get: function get() {
@@ -123,4 +130,6 @@ var _useSelectField = _interopRequireDefault(require("./useSelectField"));
123
130
 
124
131
  var _useStatusClasses = _interopRequireDefault(require("./useStatusClasses"));
125
132
 
126
- var _useDebounce = _interopRequireDefault(require("./useDebounce"));
133
+ var _useDebounce = _interopRequireDefault(require("./useDebounce"));
134
+
135
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ _Object$defineProperty(exports, "default", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _useFallbackImage["default"];
15
+ }
16
+ });
17
+
18
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
14
+
15
+ var _react = require("react");
16
+
17
+ var useFallbackImage = function useFallbackImage(_ref) {
18
+ var imageSrc = _ref.src,
19
+ onImageLoad = _ref.onImageLoad,
20
+ onImageError = _ref.onImageError,
21
+ fallbackTimeout = _ref.fallbackTimeout,
22
+ onFallbackTimeout = _ref.onFallbackTimeout;
23
+ var displayImage = (0, _react.useMemo)(function () {
24
+ return document.createElement('img');
25
+ }, []);
26
+ (0, _react.useEffect)(function () {
27
+ displayImage.src = imageSrc;
28
+ displayImage.onload = onImageLoad;
29
+ displayImage.onerror = onImageError;
30
+ return function () {
31
+ displayImage.onload = null;
32
+ displayImage.onerror = null;
33
+ };
34
+ }, []);
35
+ (0, _react.useEffect)(function () {
36
+ var timeoutId = 0;
37
+ timeoutId = (0, _setTimeout2["default"])(onFallbackTimeout, fallbackTimeout);
38
+ return function () {
39
+ return clearTimeout(timeoutId);
40
+ };
41
+ }, []);
42
+ return displayImage;
43
+ };
44
+
45
+ var _default = useFallbackImage;
46
+ exports["default"] = _default;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
8
+
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+
11
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
12
+
13
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
14
+
15
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
16
+
17
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
18
+
19
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
20
+
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+
23
+ var _reactHooks = require("@testing-library/react-hooks");
24
+
25
+ var _useFallbackImage = _interopRequireDefault(require("./useFallbackImage"));
26
+
27
+ 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; }
28
+
29
+ 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) { (0, _defineProperty2["default"])(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; }
30
+
31
+ var defaultProps = {
32
+ src: 'test-src',
33
+ fallbackImage: 'test-fallback-src',
34
+ onImageLoad: jest.fn(),
35
+ onImageError: jest.fn(),
36
+ fallbackTimeout: 5,
37
+ onFallbackTimeout: jest.fn()
38
+ };
39
+ test('should return node if all props are correct ', function () {
40
+ var _renderHook = (0, _reactHooks.renderHook)(function () {
41
+ return (0, _useFallbackImage["default"])(defaultProps);
42
+ }),
43
+ current = _renderHook.result.current;
44
+
45
+ expect(current).toBeInstanceOf(HTMLImageElement);
46
+ });
47
+ test('should not trigger onImageLoad if no fallback passed', function () {
48
+ (0, _reactHooks.renderHook)(function () {
49
+ return (0, _useFallbackImage["default"])(_objectSpread(_objectSpread({}, defaultProps), {}, {
50
+ fallbackImage: null
51
+ }));
52
+ });
53
+ expect(defaultProps.onImageLoad).not.toHaveBeenCalled();
54
+ });
55
+ test('should not trigger onImageLoad if component unmounted', function () {
56
+ var _renderHook2 = (0, _reactHooks.renderHook)(function () {
57
+ return (0, _useFallbackImage["default"])(_objectSpread(_objectSpread({}, defaultProps), {}, {
58
+ fallbackImage: null
59
+ }));
60
+ }),
61
+ unmount = _renderHook2.unmount;
62
+
63
+ unmount();
64
+ expect(defaultProps.onImageLoad).not.toHaveBeenCalled();
65
+ });
@@ -13,16 +13,16 @@ exports["default"] = void 0;
13
13
  * @param {Object} params The accepted parameters object
14
14
  * @param {string} props.key The unique identifier that is assigned to the element being pressed
15
15
  * @param {Object} state The state object tracking selected keys
16
- * @param {function} state.setSelectedKeys The function that sets the selected keys
16
+ * @param {function} state.setSelectedKey The function that sets the selected keys
17
17
  * @callback props.onPressCallback The callback that will be called only if provided
18
18
  */
19
19
  var useNavBarPress = function useNavBarPress(_ref, state) {
20
20
  var key = _ref.key,
21
21
  onPressCallback = _ref.onPressCallback;
22
- var setSelectedKeys = state.setSelectedKeys;
22
+ var setSelectedKey = state.setSelectedKey;
23
23
 
24
24
  var onNavPress = function onNavPress() {
25
- setSelectedKeys(key);
25
+ setSelectedKey(key);
26
26
 
27
27
  if (onPressCallback) {
28
28
  onPressCallback();
@@ -9,14 +9,14 @@ var _ = _interopRequireDefault(require("./"));
9
9
  var key = 'testKey';
10
10
  test('using the onPress prop works as a callback', function () {
11
11
  var onPress = jest.fn();
12
- var setSelectedKeys = jest.fn();
12
+ var setSelectedKey = jest.fn();
13
13
 
14
14
  var _renderHook = (0, _reactHooks.renderHook)(function () {
15
15
  return (0, _["default"])({
16
16
  key: key,
17
17
  onPressCallback: onPress
18
18
  }, {
19
- setSelectedKeys: setSelectedKeys
19
+ setSelectedKey: setSelectedKey
20
20
  });
21
21
  }),
22
22
  result = _renderHook.result;
@@ -26,13 +26,13 @@ test('using the onPress prop works as a callback', function () {
26
26
  });
27
27
  test('if no onPress prop there is no callback', function () {
28
28
  var onPress = jest.fn();
29
- var setSelectedKeys = jest.fn();
29
+ var setSelectedKey = jest.fn();
30
30
 
31
31
  var _renderHook2 = (0, _reactHooks.renderHook)(function () {
32
32
  return (0, _["default"])({
33
33
  key: key
34
34
  }, {
35
- setSelectedKeys: setSelectedKeys
35
+ setSelectedKey: setSelectedKey
36
36
  });
37
37
  }),
38
38
  result = _renderHook2.result;