@pingux/astro 2.130.2 → 2.130.3-alpha.1

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 (53) hide show
  1. package/lib/cjs/components/Input/Input.styles.js +1 -1
  2. package/lib/cjs/components/RockerButton/RockerButton.d.ts +4 -0
  3. package/lib/cjs/components/RockerButton/RockerButton.js +31 -67
  4. package/lib/cjs/components/RockerButton/RockerButton.styles.d.ts +59 -0
  5. package/lib/cjs/components/RockerButton/RockerButton.styles.js +4 -0
  6. package/lib/cjs/components/RockerButton/index.d.ts +1 -0
  7. package/lib/cjs/components/RockerButton/index.js +2 -21
  8. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +43 -22
  9. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +9 -4
  10. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +62 -17
  11. package/lib/cjs/context/RockerButtonGroupContext/index.d.ts +7 -1
  12. package/lib/cjs/hooks/index.d.ts +0 -1
  13. package/lib/cjs/hooks/index.js +0 -7
  14. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +1 -0
  15. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/customProperties/index.d.ts +1 -0
  16. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +16 -0
  17. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +19 -3
  18. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +1 -0
  19. package/lib/cjs/styles/themes/astro/customProperties/index.js +2 -1
  20. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +1 -1
  21. package/lib/cjs/styles/themes/next-gen/customProperties/index.d.ts +1 -0
  22. package/lib/cjs/styles/themes/next-gen/customProperties/index.js +2 -1
  23. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +2 -0
  24. package/lib/cjs/styles/themes/next-gen/variants/input.js +8 -2
  25. package/lib/cjs/styles/themes/next-gen/variants/label.js +2 -1
  26. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +2 -0
  27. package/lib/cjs/styles/themes/next-gen/variants/variants.js +3 -1
  28. package/lib/cjs/types/rockerButton.d.ts +13 -0
  29. package/lib/cjs/types/rockerButton.js +6 -0
  30. package/lib/cjs/types/rockerButtonGroup.d.ts +7 -3
  31. package/lib/components/Input/Input.styles.js +1 -1
  32. package/lib/components/RockerButton/RockerButton.js +32 -68
  33. package/lib/components/RockerButton/RockerButton.styles.js +4 -0
  34. package/lib/components/RockerButton/index.js +1 -2
  35. package/lib/components/RockerButtonGroup/RockerButtonGroup.js +45 -22
  36. package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +9 -4
  37. package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +61 -17
  38. package/lib/hooks/index.js +0 -1
  39. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +19 -3
  40. package/lib/styles/themes/astro/customProperties/index.js +2 -1
  41. package/lib/styles/themes/next-gen/convertedComponentList.js +1 -1
  42. package/lib/styles/themes/next-gen/customProperties/index.js +2 -1
  43. package/lib/styles/themes/next-gen/variants/input.js +8 -2
  44. package/lib/styles/themes/next-gen/variants/label.js +2 -1
  45. package/lib/styles/themes/next-gen/variants/variants.js +3 -1
  46. package/lib/types/rockerButton.js +1 -0
  47. package/package.json +4 -3
  48. package/lib/cjs/hooks/useRockerButton/index.d.ts +0 -1
  49. package/lib/cjs/hooks/useRockerButton/index.js +0 -14
  50. package/lib/cjs/hooks/useRockerButton/useRockerButton.d.ts +0 -241
  51. package/lib/cjs/hooks/useRockerButton/useRockerButton.js +0 -44
  52. package/lib/hooks/useRockerButton/index.js +0 -1
  53. package/lib/hooks/useRockerButton/useRockerButton.js +0 -36
@@ -522,5 +522,21 @@ declare const _default: {
522
522
  color: string;
523
523
  };
524
524
  };
525
+ fieldHelperText: {
526
+ title: {
527
+ '&.is-default': {
528
+ color: string;
529
+ };
530
+ '&.is-error': {
531
+ color: string;
532
+ };
533
+ '&.is-warning': {
534
+ color: string;
535
+ };
536
+ '&.is-success': {
537
+ color: string;
538
+ };
539
+ };
540
+ };
525
541
  };
526
542
  export default _default;
@@ -73,13 +73,13 @@ var rockerButton = {
73
73
  backgroundColor: 'gray-900',
74
74
  color: 'blue-400',
75
75
  '&.is-selected': {
76
- color: 'gray-900'
76
+ color: 'black'
77
77
  },
78
78
  '&.is-hovered': {
79
- color: 'gray-900'
79
+ color: 'black'
80
80
  },
81
81
  '&.is-pressed': {
82
- color: 'gray-900'
82
+ color: 'black'
83
83
  }
84
84
  }
85
85
  }
@@ -148,6 +148,22 @@ var _default = {
148
148
  data: {
149
149
  color: 'text.secondary'
150
150
  }
151
+ },
152
+ fieldHelperText: {
153
+ title: {
154
+ '&.is-default': {
155
+ color: 'text.fieldHelper'
156
+ },
157
+ '&.is-error': {
158
+ color: 'critical.bright'
159
+ },
160
+ '&.is-warning': {
161
+ color: 'warning.bright'
162
+ },
163
+ '&.is-success': {
164
+ color: 'success.bright'
165
+ }
166
+ }
151
167
  }
152
168
  };
153
169
  exports["default"] = _default;
@@ -21,4 +21,5 @@ export declare const astroThemeValues: {
21
21
  md: number;
22
22
  lg: number;
23
23
  };
24
+ rockerButtonGap: string;
24
25
  };
@@ -18,6 +18,7 @@ var astroThemeValues = {
18
18
  icons: _icons["default"],
19
19
  styles: _styles["default"],
20
20
  tShirtSizes: _tShirtSizes["default"],
21
- iconWrapperSizes: _tShirtSizes.iconWrapperSizes
21
+ iconWrapperSizes: _tShirtSizes.iconWrapperSizes,
22
+ rockerButtonGap: '3px'
22
23
  };
23
24
  exports.astroThemeValues = astroThemeValues;
@@ -5,7 +5,7 @@ _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.nextGenOnlyComponents = exports["default"] = exports.componentSpecificNextGenBlacklist = exports.astroBlacklistStory = void 0;
8
- var nextGenConvertedComponents = ['DataTable', 'Message', 'Button', 'Badge', 'IconButton', 'CheckboxField', 'Messages', 'PopoverMenu', 'TextField', 'PasswordField', 'SearchField', 'SelectField', 'Modal', 'RadioField', 'MultiValuesField', 'TextAreaField', 'RadioGroupField', 'RockerButtonGroup', 'Tabs', 'ProgressBar', 'NavBar', 'OverlayPanel', 'AstroProvider', 'ListView', 'NavigationHeader', 'Avatar', 'MultivaluesField', 'Text', 'Link', 'Card', 'IconWrapper', 'ComboBoxField', 'CodeView', 'Sticker Sheet', 'NextGen ListViewItem', 'Skeleton', 'TooltipTrigger', 'ListViewItem', 'Pagination', 'Callout', 'Table', 'TableBase'];
8
+ var nextGenConvertedComponents = ['DataTable', 'Message', 'Button', 'Badge', 'IconButton', 'CheckboxField', 'Messages', 'PopoverMenu', 'TextField', 'PasswordField', 'SearchField', 'SelectField', 'Modal', 'RadioField', 'MultiValuesField', 'TextAreaField', 'RadioGroupField', 'RockerButtonGroup', 'Tabs', 'ProgressBar', 'NavBar', 'OverlayPanel', 'AstroProvider', 'ListView', 'NavigationHeader', 'Avatar', 'MultivaluesField', 'Text', 'Link', 'Card', 'IconWrapper', 'ComboBoxField', 'CodeView', 'Sticker Sheet', 'NextGen ListViewItem', 'Skeleton', 'TooltipTrigger', 'ListViewItem', 'Pagination', 'Callout', 'Table', 'TableBase', 'ArrayField', 'ColorField', 'LinkSelectField', 'NumberField', 'SwitchField', 'Base Components', 'SliderField'];
9
9
  var componentSpecificNextGenBlacklist = {
10
10
  AstroProvider: ['Default', 'With Custom Theme Override'],
11
11
  Badge: ['Status Badge Variants', 'Badge With Left Slot And Icon', 'Callout Badges', 'Removable'],
@@ -30,4 +30,5 @@ export declare const nextGenThemeValues: {
30
30
  md: number;
31
31
  lg: number;
32
32
  };
33
+ rockerButtonGap: string;
33
34
  };
@@ -18,6 +18,7 @@ var nextGenThemeValues = {
18
18
  styles: _styles["default"],
19
19
  icons: _icons["default"],
20
20
  tShirtSizes: _tShirtSizes["default"],
21
- iconWrapperSizes: _tShirtSizes.iconWrapperSizes
21
+ iconWrapperSizes: _tShirtSizes.iconWrapperSizes,
22
+ rockerButtonGap: '0px'
22
23
  };
23
24
  exports.nextGenThemeValues = nextGenThemeValues;
@@ -3667,6 +3667,8 @@ declare const _default: {
3667
3667
  outline: string;
3668
3668
  outlineColor: string;
3669
3669
  outlineOffset: string;
3670
+ position: string;
3671
+ zIndex: string;
3670
3672
  };
3671
3673
  };
3672
3674
  'button:not(:first-child)': {
@@ -27,6 +27,7 @@ var readOnlyandDisabledStyles = {
27
27
  opacity: 1
28
28
  };
29
29
  var input = {
30
+ height: '50px',
30
31
  fontSize: 'md',
31
32
  fontFamily: 'standard',
32
33
  p: '0.75rem',
@@ -35,9 +36,15 @@ var input = {
35
36
  '&.is-focused': _objectSpread({}, defaultFocus),
36
37
  borderRadius: '4px',
37
38
  fontWeight: 1,
38
- '&::placeholder': _text.text.placeholder
39
+ '&::placeholder': _text.text.placeholder,
40
+ '.is-float-label &': {
41
+ height: '50px'
42
+ }
39
43
  };
40
44
  exports.input = input;
45
+ input.large = _objectSpread(_objectSpread({}, input), {}, {
46
+ height: '4em'
47
+ });
41
48
  input.promptInput = _objectSpread(_objectSpread({}, input), {}, {
42
49
  position: 'absolute',
43
50
  pl: '0px',
@@ -55,7 +62,6 @@ input.promptInput = _objectSpread(_objectSpread({}, input), {}, {
55
62
  }
56
63
  });
57
64
  input.search = _objectSpread(_objectSpread({}, input), {}, {
58
- height: '50px',
59
65
  pl: '4em !important',
60
66
  pr: 'xl',
61
67
  color: 'font.base',
@@ -10,7 +10,8 @@ var label = {
10
10
  fontSize: '.9375rem',
11
11
  '&.is-float-label': {
12
12
  fontSize: 'md',
13
- fontWeight: 1
13
+ fontWeight: 1,
14
+ top: '15px'
14
15
  },
15
16
  '.is-float-label-active &.is-float-label': {
16
17
  fontSize: 'sm',
@@ -1266,6 +1266,8 @@ declare const _default: {
1266
1266
  outline: string;
1267
1267
  outlineColor: string;
1268
1268
  outlineOffset: string;
1269
+ position: string;
1270
+ zIndex: string;
1269
1271
  };
1270
1272
  };
1271
1273
  'button:not(:first-child)': {
@@ -337,7 +337,9 @@ var rockerButton = {
337
337
  '&.is-focused': {
338
338
  outline: '2px solid',
339
339
  outlineColor: 'focus',
340
- outlineOffset: '2px'
340
+ outlineOffset: '2px',
341
+ position: 'relative',
342
+ zIndex: '1000'
341
343
  }
342
344
  },
343
345
  'button:not(:first-child)': {
@@ -0,0 +1,13 @@
1
+ import type { AriaToggleButtonProps } from '@react-types/button';
2
+ import { StylePropertyValue } from 'theme-ui';
3
+ type SelectedStyles = {
4
+ bg?: StylePropertyValue<string | undefined>;
5
+ };
6
+ export interface RockerButtonProps extends AriaToggleButtonProps {
7
+ className?: string;
8
+ name: string;
9
+ title?: string;
10
+ key: string;
11
+ selectedStyles?: SelectedStyles;
12
+ }
13
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -2,13 +2,17 @@ import { TabListProps } from '@react-stately/tabs';
2
2
  import { TestingAttributes } from './shared/test';
3
3
  import { BoxProps } from './box';
4
4
  export interface RockerButtonGroupProps extends BoxProps, TestingAttributes {
5
- /** The default button key to be selected. (uncontrolled) */
5
+ /** The default button key to be selected. (uncontrolled) (deprecated) */
6
6
  defaultSelectedKey?: string;
7
- /** The button key that is currently selected. (controlled) */
7
+ /** The default button keys to be selected. (uncontrolled) */
8
+ defaultSelectedKeys?: string[];
9
+ /** The button key that is currently selected. (controlled) (deprecated) */
8
10
  selectedKey?: string;
11
+ /** The button key that is currently selected. (controlled) */
12
+ selectedKeys?: string[];
9
13
  /** Which keys should be disabled. */
10
14
  disabledKeys?: string[];
11
15
  /** Handler that is called when the selected button has changed. */
12
- onSelectionChange?: (key: string) => void;
16
+ onSelectionChange?: (key: string | string[]) => void;
13
17
  tabListProps?: TabListProps<object>;
14
18
  }
@@ -33,7 +33,7 @@ export var input = _objectSpread(_objectSpread({}, text.inputValue), {}, {
33
33
  height: '40px',
34
34
  textOverflow: 'ellipsis',
35
35
  paddingRight: '100px',
36
- bg: 'background.base',
36
+ bg: 'white',
37
37
  borderWidth: 1,
38
38
  borderStyle: 'solid',
39
39
  borderColor: 'neutral.80',
@@ -8,55 +8,51 @@ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/obje
8
8
  import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
9
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
10
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
11
12
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
13
  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; }
13
- import React, { forwardRef, useContext, useImperativeHandle, useRef } from 'react';
14
+ import React, { forwardRef, useContext } from 'react';
14
15
  import { FocusRing } from 'react-aria';
15
- import { Item } from 'react-stately';
16
- import { useHover, usePress } from '@react-aria/interactions';
16
+ import { useToggleButtonGroupItem } from '@react-aria/button';
17
+ import { useHover } from '@react-aria/interactions';
17
18
  import { mergeProps } from '@react-aria/utils';
18
- import PropTypes from 'prop-types';
19
19
  import { RockerContext } from '../../context/RockerButtonGroupContext';
20
- import { usePropWarning, useRockerButton, useStatusClasses } from '../../hooks';
20
+ import { useLocalOrForwardRef, usePropWarning, useStatusClasses } from '../../hooks';
21
21
  import { Box } from '../../index';
22
22
  import { accent, getBaseHexColor, getDarkerColor } from '../../styles/colors';
23
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
24
- export var CollectionRockerButton = /*#__PURE__*/forwardRef(function (props, ref) {
25
- var _itemProps$selectedSt, _itemProps$selectedSt2;
24
+ export var RockerButton = /*#__PURE__*/forwardRef(function (props, ref) {
26
25
  var className = props.className,
27
- item = props.item;
28
- var key = item.key,
29
- rendered = item.rendered,
30
- itemProps = item.props;
31
- var state = useContext(RockerContext);
32
- var isDisabled = state.disabledKeys.has(key);
33
- var isSelected = state.selectedKey === key;
34
- var rockerButtonRef = useRef();
26
+ children = props.children,
27
+ isDisabled = props.isDisabled,
28
+ name = props.name,
29
+ selectedStyles = props.selectedStyles;
30
+ var _useContext = useContext(RockerContext),
31
+ state = _useContext.state,
32
+ disabledKeys = _useContext.disabledKeys;
33
+ var rockerButtonRef = useLocalOrForwardRef(ref);
35
34
  var _useHover = useHover({}),
36
35
  hoverProps = _useHover.hoverProps,
37
36
  isHovered = _useHover.isHovered;
38
- var _usePress = usePress(rockerButtonRef),
39
- pressProps = _usePress.pressProps,
40
- isPressed = _usePress.isPressed;
37
+ var backgroundHexColor = selectedStyles !== null && selectedStyles !== void 0 && selectedStyles.bg ? getBaseHexColor(selectedStyles === null || selectedStyles === void 0 ? void 0 : selectedStyles.bg) : accent[20];
38
+ usePropWarning(props, 'disabled', 'isDisabled');
39
+ var id = name;
40
+ var _useToggleButtonGroup = useToggleButtonGroupItem(_objectSpread(_objectSpread({
41
+ id: id
42
+ }, props), {}, {
43
+ isDisabled: isDisabled || (disabledKeys === null || disabledKeys === void 0 ? void 0 : _includesInstanceProperty(disabledKeys).call(disabledKeys, id))
44
+ }), state, rockerButtonRef),
45
+ rockerButtonProps = _useToggleButtonGroup.buttonProps,
46
+ isSelected = _useToggleButtonGroup.isSelected,
47
+ raIsDisabled = _useToggleButtonGroup.isDisabled,
48
+ isPressed = _useToggleButtonGroup.isPressed;
41
49
  var _useStatusClasses = useStatusClasses(className, {
42
50
  isHovered: isHovered,
43
51
  isPressed: isPressed,
44
- isSelected: isSelected,
45
- isDisabled: isDisabled
52
+ isDisabled: raIsDisabled,
53
+ isSelected: isSelected
46
54
  }),
47
55
  classNames = _useStatusClasses.classNames;
48
- var backgroundHexColor = (_itemProps$selectedSt = itemProps.selectedStyles) !== null && _itemProps$selectedSt !== void 0 && _itemProps$selectedSt.bg ? getBaseHexColor((_itemProps$selectedSt2 = itemProps.selectedStyles) === null || _itemProps$selectedSt2 === void 0 ? void 0 : _itemProps$selectedSt2.bg) : accent[20];
49
- usePropWarning(props, 'disabled', 'isDisabled');
50
- /* istanbul ignore next */
51
- useImperativeHandle(ref, function () {
52
- return rockerButtonRef.current;
53
- });
54
- var _useRockerButton = useRockerButton({
55
- item: item,
56
- isDisabled: isDisabled,
57
- isSelected: isSelected
58
- }, state, rockerButtonRef),
59
- rockerButtonProps = _useRockerButton.rockerButtonProps;
60
56
  return ___EmotionJSX(FocusRing, {
61
57
  focusRingClass: "is-focused"
62
58
  }, ___EmotionJSX(Box, _extends({
@@ -65,46 +61,14 @@ export var CollectionRockerButton = /*#__PURE__*/forwardRef(function (props, ref
65
61
  variant: "variants.rockerButton.thumbSwitch",
66
62
  ref: rockerButtonRef,
67
63
  sx: {
68
- '&.is-selected': _objectSpread({}, itemProps.selectedStyles),
64
+ '&.is-selected': _objectSpread({}, selectedStyles),
69
65
  '&.is-selected.is-hovered': {
70
66
  bg: getDarkerColor(backgroundHexColor, 0.2)
71
67
  },
72
- '&.is-selected.is-pressed': {
68
+ '&.is-pressed': {
73
69
  bg: getDarkerColor(backgroundHexColor, 0.4)
74
70
  }
75
71
  }
76
- }, mergeProps(hoverProps, pressProps, itemProps, rockerButtonProps)), rendered));
72
+ }, mergeProps(hoverProps, rockerButtonProps)), children || name));
77
73
  });
78
- CollectionRockerButton.displayName = 'CollectionRockerButton';
79
- CollectionRockerButton.propTypes = {
80
- /** Allows custom styles to be passed to button. */
81
- selectedStyles: PropTypes.shape({
82
- bg: PropTypes.string
83
- }),
84
- // adding to surface in props table
85
- /** @ignore */
86
- item: PropTypes.shape({
87
- key: PropTypes.string,
88
- props: PropTypes.shape({
89
- selectedStyles: PropTypes.shape({
90
- bg: PropTypes.string
91
- })
92
- }),
93
- rendered: PropTypes.node
94
- })
95
- };
96
- CollectionRockerButton.defaultProps = {
97
- selectedStyles: {
98
- bg: 'active'
99
- },
100
- item: {
101
- props: {
102
- selectedStyles: {
103
- bg: 'active'
104
- }
105
- }
106
- }
107
- };
108
- // Export Item as default for simplicity, convert to CollectionRockerButton within
109
- // RockerButtonGroup component.
110
- export default Item;
74
+ export default RockerButton;
@@ -33,6 +33,7 @@ var thumbSwitch = _objectSpread(_objectSpread({}, base), {}, {
33
33
  paddingBottom: '0px',
34
34
  textTransform: 'uppercase',
35
35
  bg: 'accent.95',
36
+ pl: '15px',
36
37
  '&.is-selected': {
37
38
  bg: 'accent.20',
38
39
  color: 'white',
@@ -41,6 +42,9 @@ var thumbSwitch = _objectSpread(_objectSpread({}, base), {}, {
41
42
  '&.is-focused': _objectSpread({}, defaultFocus),
42
43
  '&.is-hovered': {
43
44
  bg: 'white'
45
+ },
46
+ '&.is-pressed': {
47
+ color: 'white'
44
48
  }
45
49
  });
46
50
  export default {
@@ -1,2 +1 @@
1
- export { default } from './RockerButton';
2
- export * from './RockerButton';
1
+ export { default } from './RockerButton';
@@ -1,29 +1,56 @@
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";
1
9
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["tabListProps"];
4
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
5
- import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
6
- import React, { forwardRef } from 'react';
7
- import { useTabList } from 'react-aria';
8
- import { useTabListState } from 'react-stately';
12
+ var _excluded = ["defaultSelectedKey", "defaultSelectedKeys", "disabledKeys", "selectedKey", "selectedKeys", "tabListProps"];
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, useMemo } from 'react';
16
+ import { useToggleButtonGroup } from '@react-aria/button';
17
+ import { useToggleGroupState } from '@react-stately/toggle';
9
18
  import { RockerContext } from '../../context/RockerButtonGroupContext';
10
- import { useLocalOrForwardRef, usePropWarning } from '../../hooks';
19
+ import { useGetTheme, useLocalOrForwardRef, usePropWarning } from '../../hooks';
11
20
  import Box from '../Box';
12
- import { CollectionRockerButton } from '../RockerButton';
13
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
22
  var RockerButtonGroup = /*#__PURE__*/forwardRef(function (props, ref) {
15
- var _context;
16
- var tabListProps = props.tabListProps,
23
+ var defaultSelectedKeyProp = props.defaultSelectedKey,
24
+ defaultSelectedKeysProp = props.defaultSelectedKeys,
25
+ disabledKeys = props.disabledKeys,
26
+ selectedKeyProp = props.selectedKey,
27
+ selectedKeysProp = props.selectedKeys,
28
+ tabListProps = props.tabListProps,
17
29
  others = _objectWithoutProperties(props, _excluded);
18
30
  var buttonGroupRef = useLocalOrForwardRef(ref);
19
31
  usePropWarning(props, 'disabled', 'isDisabled');
20
- var state = useTabListState(props);
21
- var _useTabList = useTabList(props, state, buttonGroupRef),
22
- raTabListProps = _useTabList.tabListProps;
23
- // removed tabList role for now as this isn't really the role we are looking for
32
+ var selectedKeys = selectedKeysProp || (selectedKeyProp ? [selectedKeyProp] : null);
33
+ var defaultSelectedKeys = defaultSelectedKeysProp || (defaultSelectedKeyProp ? [defaultSelectedKeyProp] : null);
34
+ var theseProps = _objectSpread(_objectSpread(_objectSpread({}, others), defaultSelectedKeys && {
35
+ defaultSelectedKeys: defaultSelectedKeys
36
+ }), selectedKeys && {
37
+ selectedKeys: selectedKeys
38
+ });
39
+ var state = useToggleGroupState(theseProps);
40
+ var _useToggleButtonGroup = useToggleButtonGroup(theseProps, state, buttonGroupRef),
41
+ raTabListProps = _useToggleButtonGroup.groupProps;
24
42
  delete raTabListProps.role;
43
+ delete raTabListProps['data-testid'];
44
+ var contextValue = useMemo(function () {
45
+ return {
46
+ state: state,
47
+ disabledKeys: disabledKeys
48
+ };
49
+ }, [state, disabledKeys]);
50
+ var _useGetTheme = useGetTheme(),
51
+ rockerButtonGap = _useGetTheme.rockerButtonGap;
25
52
  return ___EmotionJSX(RockerContext.Provider, {
26
- value: state
53
+ value: contextValue
27
54
  }, ___EmotionJSX(Box, _extends({
28
55
  variant: "rockerButton.container"
29
56
  }, others), ___EmotionJSX(Box, _extends({
@@ -31,13 +58,9 @@ var RockerButtonGroup = /*#__PURE__*/forwardRef(function (props, ref) {
31
58
  isRow: true
32
59
  }, tabListProps, raTabListProps, {
33
60
  ref: buttonGroupRef,
34
- role: "toolbar"
35
- }), _mapInstanceProperty(_context = _Array$from(state.collection)).call(_context, function (item) {
36
- return ___EmotionJSX(CollectionRockerButton, {
37
- key: item.key,
38
- item: item
39
- });
40
- }))));
61
+ role: "toolbar",
62
+ gap: rockerButtonGap
63
+ }), props.children)));
41
64
  });
42
65
  RockerButtonGroup.displayName = 'RockerButtonGroup';
43
66
  export default RockerButtonGroup;
@@ -36,7 +36,9 @@ export default {
36
36
  };
37
37
  export var Default = function Default(_ref) {
38
38
  var args = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
39
- return ___EmotionJSX(RockerButtonGroup, args, ___EmotionJSX(RockerButton, {
39
+ return ___EmotionJSX(RockerButtonGroup, _extends({}, args, {
40
+ defaultSelectedKeys: ['and']
41
+ }), ___EmotionJSX(RockerButton, {
40
42
  name: "and",
41
43
  key: "and"
42
44
  }, "And"), ___EmotionJSX(RockerButton, {
@@ -63,13 +65,16 @@ Uncontrolled.parameters = {
63
65
  codesandbox: false
64
66
  };
65
67
  export var Controlled = function Controlled() {
66
- var _useState = useState('and'),
68
+ var _useState = useState(['and']),
67
69
  _useState2 = _slicedToArray(_useState, 2),
68
70
  currentTab = _useState2[0],
69
71
  setCurrentTab = _useState2[1];
72
+ var onSelectionChange = function onSelectionChange(e) {
73
+ setCurrentTab(e);
74
+ };
70
75
  return ___EmotionJSX(RockerButtonGroup, {
71
- selectedKey: currentTab,
72
- onSelectionChange: setCurrentTab
76
+ selectedKeys: currentTab,
77
+ onSelectionChange: onSelectionChange
73
78
  }, ___EmotionJSX(RockerButton, {
74
79
  name: "and",
75
80
  key: "and"