@semcore/pills 16.0.11 → 17.0.0-prerelease.18

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.0.0] - 2026-02-18
6
+
7
+ ### BREAK
8
+
9
+ - New major version.
10
+
5
11
  ## [16.0.11] - 2025-10-29
6
12
 
7
13
  ### Changed
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![version](https://img.shields.io/npm/v/@semcore/pills.svg)](https://www.npmjs.com/@semcore/pills)
4
4
  [![downloads](https://img.shields.io/npm/dt/@semcore/pills.svg)](https://www.npmjs.com/package/@semcore/pills)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/semrush/intergalactic/blob/master/LICENSE)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/semrush/intergalactic/blob/HEAD/LICENSE)
6
6
 
7
7
  > This component is part of the Intergalactic Design System
8
8
 
@@ -20,7 +20,7 @@ npm install @semcore/pills
20
20
 
21
21
  ## 👤 Author
22
22
 
23
- [UI-kit team](https://github.com/semrush/intergalactic/blob/master/MAINTAINERS)
23
+ [UI-kit team](https://github.com/semrush/intergalactic/blob/HEAD/MAINTAINERS)
24
24
  and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors)
25
25
 
26
26
  ## 🤝 Contributing
@@ -28,7 +28,7 @@ and [others ❤️](https://github.com/semrush/intergalactic/graphs/contributors
28
28
  Contributions, issues and feature requests are welcome!
29
29
 
30
30
  Feel free to check [issues page](https://github.com/semrush/intergalactic/issues). You can also take a look at
31
- the [contributing guide](https://github.com/semrush/intergalactic/blob/master/CONTRIBUTING.md).
31
+ the [contributing guide](https://github.com/semrush/intergalactic/blob/HEAD/CONTRIBUTING.md).
32
32
 
33
33
  ## Show your support
34
34
 
@@ -36,4 +36,4 @@ Give a ⭐️ if this project helped you!
36
36
 
37
37
  ## 📝 License
38
38
 
39
- This project is [MIT](https://github.com/semrush/intergalactic/blob/master/LICENSE) licensed.
39
+ This project is [MIT](https://github.com/semrush/intergalactic/blob/HEAD/LICENSE) licensed.
package/lib/cjs/Pills.js CHANGED
@@ -1,215 +1,192 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.wrapPills = exports["default"] = void 0;
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
7
+ exports.wrapPills = exports.default = void 0;
14
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
9
  var _core = require("@semcore/core");
10
+ var _baseComponents = require("@semcore/base-components");
16
11
  var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
17
12
  var _a11yEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/a11yEnhance"));
18
- var _logger = _interopRequireDefault(require("@semcore/core/lib/utils/logger"));
19
- var _flexBox = require("@semcore/flex-box");
20
- var _neighborLocation = _interopRequireWildcard(require("@semcore/neighbor-location"));
21
13
  var _react = _interopRequireDefault(require("react"));
22
14
  /*!__reshadow-styles__:"./style/pills.shadow.css"*/
23
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPills_7x4a8_gg_{display:inline-flex;align-items:center;justify-content:center;isolation:isolate;border-radius:var(--intergalactic-control-rounded, 6px)}.___SPills_7x4a8_gg_ .___SPill_7x4a8_gg_.__selected_7x4a8_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:3}.___SPills_7x4a8_gg_ .___SPill_7x4a8_gg_.__selected_7x4a8_gg_,.___SPills_7x4a8_gg_ .___SPill_7x4a8_gg_:focus-visible{z-index:3}.___SPills_7x4a8_gg_ .___SPill_7x4a8_gg_:active{z-index:2}@media (hover:hover){.___SPills_7x4a8_gg_ .___SPill_7x4a8_gg_:hover{z-index:2}}.___SPill_7x4a8_gg_{display:inline-flex;align-items:center;justify-content:center;line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_7x4a8_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_7x4a8_gg_:active{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_7x4a8_gg_:hover{background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_7x4a8_gg_.__disabled_7x4a8_gg_{cursor:default;pointer-events:none}.___SPill_7x4a8_gg_.__disabled_7x4a8_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SText_7x4a8_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_7x4a8_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_7x4a8_gg_._size_m_7x4a8_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_7x4a8_gg_._size_l_7x4a8_gg_ .___SText_7x4a8_gg_,.___SPill_7x4a8_gg_._size_m_7x4a8_gg_ .___SText_7x4a8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7x4a8_gg_._size_m_7x4a8_gg_ .___SAddon_7x4a8_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_7x4a8_gg_._size_m_7x4a8_gg_ .___SAddon_7x4a8_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7x4a8_gg_._size_m_7x4a8_gg_ .___SAddon_7x4a8_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7x4a8_gg_._size_l_7x4a8_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_7x4a8_gg_._size_l_7x4a8_gg_ .___SAddon_7x4a8_gg_:only-child,.___SPill_7x4a8_gg_._size_l_7x4a8_gg_ .___SText_7x4a8_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7x4a8_gg_._size_l_7x4a8_gg_ .___SAddon_7x4a8_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_7x4a8_gg_._size_l_7x4a8_gg_ .___SAddon_7x4a8_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7x4a8_gg_._neighborLocation_right_7x4a8_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_7x4a8_gg_._neighborLocation_both_7x4a8_gg_{border-radius:0;margin-left:-1px}.___SPill_7x4a8_gg_._neighborLocation_left_7x4a8_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}", /*__inner_css_end__*/"7x4a8_gg_"),
15
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPills_1x82a_gg_{display:inline-flex;align-items:center;justify-content:center;isolation:isolate;border-radius:var(--intergalactic-control-rounded, 6px)}.___SPills_1x82a_gg_ .___SPill_1x82a_gg_.__selected_1x82a_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:3}.___SPills_1x82a_gg_ .___SPill_1x82a_gg_.__selected_1x82a_gg_,.___SPills_1x82a_gg_ .___SPill_1x82a_gg_:focus-visible{z-index:3}.___SPills_1x82a_gg_ .___SPill_1x82a_gg_:active{z-index:2}@media (hover:hover){.___SPills_1x82a_gg_ .___SPill_1x82a_gg_:hover{z-index:2}}.___SPill_1x82a_gg_{display:inline-flex;align-items:center;justify-content:center;line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_1x82a_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_1x82a_gg_:active{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_1x82a_gg_:hover{background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_1x82a_gg_.__disabled_1x82a_gg_{cursor:default;pointer-events:none}.___SPill_1x82a_gg_.__disabled_1x82a_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SText_1x82a_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_1x82a_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_1x82a_gg_._size_m_1x82a_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_1x82a_gg_._size_l_1x82a_gg_ .___SText_1x82a_gg_,.___SPill_1x82a_gg_._size_m_1x82a_gg_ .___SText_1x82a_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1x82a_gg_._size_m_1x82a_gg_ .___SAddon_1x82a_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_1x82a_gg_._size_m_1x82a_gg_ .___SAddon_1x82a_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1x82a_gg_._size_m_1x82a_gg_ .___SAddon_1x82a_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1x82a_gg_._size_l_1x82a_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_1x82a_gg_._size_l_1x82a_gg_ .___SAddon_1x82a_gg_:only-child,.___SPill_1x82a_gg_._size_l_1x82a_gg_ .___SText_1x82a_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1x82a_gg_._size_l_1x82a_gg_ .___SAddon_1x82a_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_1x82a_gg_._size_l_1x82a_gg_ .___SAddon_1x82a_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1x82a_gg_._neighborLocation_right_1x82a_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_1x82a_gg_._neighborLocation_both_1x82a_gg_{border-radius:0;margin-left:-1px}.___SPill_1x82a_gg_._neighborLocation_left_1x82a_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}", /*__inner_css_end__*/"1x82a_gg_"),
24
16
  /*__reshadow_css_end__*/
25
17
  {
26
- "__SText": "___SText_7x4a8_gg_",
27
- "__SAddon": "___SAddon_7x4a8_gg_",
28
- "__SPill": "___SPill_7x4a8_gg_",
29
- "_neighborLocation_right": "_neighborLocation_right_7x4a8_gg_",
30
- "_neighborLocation_both": "_neighborLocation_both_7x4a8_gg_",
31
- "_neighborLocation_left": "_neighborLocation_left_7x4a8_gg_",
32
- "__SPills": "___SPills_7x4a8_gg_",
33
- "_selected": "__selected_7x4a8_gg_",
34
- "_disabled": "__disabled_7x4a8_gg_",
35
- "_size_m": "_size_m_7x4a8_gg_",
36
- "_size_l": "_size_l_7x4a8_gg_"
18
+ "__SText": "___SText_1x82a_gg_",
19
+ "__SAddon": "___SAddon_1x82a_gg_",
20
+ "__SPill": "___SPill_1x82a_gg_",
21
+ "_neighborLocation_right": "_neighborLocation_right_1x82a_gg_",
22
+ "_neighborLocation_both": "_neighborLocation_both_1x82a_gg_",
23
+ "_neighborLocation_left": "_neighborLocation_left_1x82a_gg_",
24
+ "__SPills": "___SPills_1x82a_gg_",
25
+ "_selected": "__selected_1x82a_gg_",
26
+ "_disabled": "__disabled_1x82a_gg_",
27
+ "_size_m": "_size_m_1x82a_gg_",
28
+ "_size_l": "_size_l_1x82a_gg_"
37
29
  });
38
- var optionsA11yEnhance = {
39
- onNeighborChange: function onNeighborChange(neighborElement, props) {
30
+ const optionsA11yEnhance = {
31
+ onNeighborChange: (neighborElement, props) => {
40
32
  if (neighborElement) {
41
33
  neighborElement.focus();
42
- if (props.behavior === 'auto' || props.behavior === 'radio') {
34
+ if (props.behavior === 'auto') {
43
35
  neighborElement.click();
44
36
  }
45
37
  }
46
38
  },
47
- childSelector: function childSelector(props) {
48
- return props.behavior === 'auto' || props.behavior === 'radio' ? ['role', 'radio'] : ['role', 'tab'];
49
- }
39
+ childSelector: props => props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab']
50
40
  };
51
- var RootPills = /*#__PURE__*/function (_Component) {
52
- function RootPills() {
53
- var _this;
54
- (0, _classCallCheck2["default"])(this, RootPills);
55
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
- args[_key] = arguments[_key];
57
- }
58
- _this = (0, _callSuper2["default"])(this, RootPills, [].concat(args));
59
- (0, _defineProperty2["default"])(_this, "itemValues", []);
60
- (0, _defineProperty2["default"])(_this, "bindHandlerClick", function (value) {
61
- return function (e) {
62
- _this.handlers.value(value, e);
63
- };
41
+ class RootPills extends _core.Component {
42
+ constructor(...args) {
43
+ super(...args);
44
+ (0, _defineProperty2.default)(this, "itemValues", []);
45
+ (0, _defineProperty2.default)(this, "bindHandlerClick", value => e => {
46
+ this.handlers.value(value, e);
64
47
  });
65
- (0, _defineProperty2["default"])(_this, "bindHandleKeyDown", function (value) {
66
- return function (event) {
67
- if (event.key === 'Enter' || event.key === ' ') {
68
- event.preventDefault();
69
- _this.handlers.value(value, event);
70
- }
71
- };
48
+ (0, _defineProperty2.default)(this, "bindHandleKeyDown", value => event => {
49
+ if (event.key === 'Enter' || event.key === ' ') {
50
+ event.preventDefault();
51
+ this.handlers.value(value, event);
52
+ }
72
53
  });
73
- (0, _defineProperty2["default"])(_this, "changeIndex", function (startIndex, type) {
74
- var selectable = false;
75
- while (!selectable && startIndex >= 0 && startIndex < _this.itemValues.length) {
54
+ (0, _defineProperty2.default)(this, "changeIndex", (startIndex, type) => {
55
+ let selectable = false;
56
+ while (!selectable && startIndex >= 0 && startIndex < this.itemValues.length) {
76
57
  if (type === 'increment') startIndex++;
77
58
  if (type === 'decrement') startIndex--;
78
- var element = _this.itemRefs[startIndex];
79
- if ((element === null || element === void 0 ? void 0 : element.disabled) === false) {
59
+ const element = this.itemRefs[startIndex];
60
+ if (element?.disabled === false) {
80
61
  selectable = true;
81
62
  }
82
63
  }
83
- return startIndex >= 0 && startIndex < _this.itemValues.length ? startIndex : undefined;
64
+ return startIndex >= 0 && startIndex < this.itemValues.length ? startIndex : undefined;
84
65
  });
85
- return _this;
86
66
  }
87
- (0, _inherits2["default"])(RootPills, _Component);
88
- return (0, _createClass2["default"])(RootPills, [{
89
- key: "componentDidMount",
90
- value: function componentDidMount() {
91
- _logger["default"].warn(this.asProps.behavior === 'tabs', 'Use behavior `manual` instead of `tabs`. \n`tabs` is deprecated and will be removed in the next major release.', 'Pills');
92
- _logger["default"].warn(this.asProps.behavior === 'radio', 'Use behavior `auto` (or nothing, it is default value) instead of `radio`. \n`radio` is deprecated and will be removed in the next major release.', 'Pills');
93
- }
94
- }, {
95
- key: "uncontrolledProps",
96
- value: function uncontrolledProps() {
97
- return {
98
- value: null
99
- };
100
- }
101
- }, {
102
- key: "getItemProps",
103
- value: function getItemProps(props, index) {
104
- var _this$asProps = this.asProps,
105
- value = _this$asProps.value,
106
- size = _this$asProps.size,
107
- disabled = _this$asProps.disabled,
108
- behavior = _this$asProps.behavior;
109
- var isSelected = value === props.value;
110
- this.itemValues[index] = props.value;
111
- return {
112
- index: index,
113
- size: size,
114
- disabled: disabled,
115
- selected: isSelected,
116
- behavior: behavior,
117
- tabIndex: isSelected ? 0 : -1,
118
- onClick: this.bindHandlerClick(props.value),
119
- onKeyDown: this.bindHandleKeyDown(props.value)
120
- };
121
- }
122
- }, {
123
- key: "render",
124
- value: function render() {
125
- var _ref = this.asProps,
126
- _ref5;
127
- var SPills = _flexBox.Box;
128
- var _this$asProps2 = this.asProps,
129
- Children = _this$asProps2.Children,
130
- styles = _this$asProps2.styles,
131
- controlsLength = _this$asProps2.controlsLength,
132
- disabled = _this$asProps2.disabled,
133
- behavior = _this$asProps2.behavior,
134
- value = _this$asProps2.value;
135
- return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPills, _ref5.cn("SPills", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
136
- "role": behavior === 'radio' || behavior === 'auto' ? 'radiogroup' : 'tablist',
67
+ uncontrolledProps() {
68
+ return {
69
+ value: null
70
+ };
71
+ }
72
+ getItemProps(props, index) {
73
+ const {
74
+ value,
75
+ size,
76
+ disabled,
77
+ behavior
78
+ } = this.asProps;
79
+ const isSelected = value === props.value;
80
+ this.itemValues[index] = props.value;
81
+ return {
82
+ index: index,
83
+ size,
84
+ disabled,
85
+ selected: isSelected,
86
+ behavior,
87
+ tabIndex: isSelected ? 0 : -1,
88
+ onClick: this.bindHandlerClick(props.value),
89
+ onKeyDown: this.bindHandleKeyDown(props.value)
90
+ };
91
+ }
92
+ render() {
93
+ var _ref = this.asProps,
94
+ _ref5;
95
+ const SPills = _baseComponents.Box;
96
+ const {
97
+ Children,
98
+ styles,
99
+ controlsLength,
100
+ disabled,
101
+ behavior,
102
+ value
103
+ } = this.asProps;
104
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SPills, _ref5.cn("SPills", {
105
+ ...(0, _core.assignProps)({
106
+ "role": behavior === 'auto' ? 'radiogroup' : 'tablist',
137
107
  "aria-disabled": disabled,
138
108
  "use:tabIndex": value !== null ? -1 : 0
139
- }, _ref))), /*#__PURE__*/_react["default"].createElement(_neighborLocation["default"], _ref5.cn("NeighborLocation", {
140
- "controlsLength": controlsLength
141
- }), /*#__PURE__*/_react["default"].createElement(Children, _ref5.cn("Children", {}))));
142
- }
143
- }]);
144
- }(_core.Component);
145
- (0, _defineProperty2["default"])(RootPills, "displayName", 'Pills');
146
- (0, _defineProperty2["default"])(RootPills, "style", style);
147
- (0, _defineProperty2["default"])(RootPills, "defaultProps", function (_ref9) {
148
- var behavior = _ref9.behavior;
149
- return {
150
- size: 'm',
151
- defaultValue: null,
152
- behavior: behavior !== null && behavior !== void 0 ? behavior : 'auto'
153
- };
154
- });
155
- (0, _defineProperty2["default"])(RootPills, "enhance", [(0, _a11yEnhance["default"])(optionsA11yEnhance)]);
109
+ }, _ref)
110
+ }), /*#__PURE__*/_react.default.createElement(_baseComponents.NeighborLocation, _ref5.cn("NeighborLocation", {
111
+ "controlsLength": controlsLength
112
+ }), /*#__PURE__*/_react.default.createElement(Children, _ref5.cn("Children", {}))));
113
+ }
114
+ }
115
+ (0, _defineProperty2.default)(RootPills, "displayName", 'Pills');
116
+ (0, _defineProperty2.default)(RootPills, "style", style);
117
+ (0, _defineProperty2.default)(RootPills, "defaultProps", ({
118
+ behavior
119
+ }) => ({
120
+ size: 'm',
121
+ defaultValue: null,
122
+ behavior: behavior ?? 'auto'
123
+ }));
124
+ (0, _defineProperty2.default)(RootPills, "enhance", [(0, _a11yEnhance.default)(optionsA11yEnhance)]);
156
125
  function Pill(props) {
157
126
  var _ref2 = arguments[0],
158
127
  _ref6;
159
- var SPill = _flexBox.Box;
160
- var Children = props.Children,
161
- styles = props.styles,
162
- addonLeft = props.addonLeft,
163
- addonRight = props.addonRight,
164
- selected = props.selected,
165
- disabled = props.disabled,
166
- index = props.index,
167
- behavior = props.behavior;
168
- var neighborLocation = (0, _neighborLocation.useNeighborLocationDetect)(index);
169
- var roleAreaProps = {};
170
- if (behavior === 'radio' || behavior === 'auto') {
128
+ const SPill = _baseComponents.Box;
129
+ const {
130
+ Children,
131
+ styles,
132
+ addonLeft,
133
+ addonRight,
134
+ selected,
135
+ disabled,
136
+ index,
137
+ behavior
138
+ } = props;
139
+ const neighborLocation = (0, _baseComponents.useNeighborLocationDetect)(index);
140
+ const roleAreaProps = {};
141
+ if (behavior === 'auto') {
171
142
  roleAreaProps.role = 'radio';
172
143
  roleAreaProps['aria-checked'] = selected;
173
144
  } else {
174
145
  roleAreaProps.role = 'tab';
175
146
  roleAreaProps['aria-selected'] = selected;
176
147
  }
177
- return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPill, _ref6.cn("SPill", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({
178
- "tag": 'button',
179
- "type": 'button',
180
- "tabIndex": 0,
181
- "neighborLocation": neighborLocation,
182
- "aria-disabled": disabled
183
- }, roleAreaProps), _ref2))), addonLeft ? /*#__PURE__*/_react["default"].createElement(Pills.Item.Addon, {
148
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SPill, _ref6.cn("SPill", {
149
+ ...(0, _core.assignProps)({
150
+ "tag": 'button',
151
+ "type": 'button',
152
+ "tabIndex": 0,
153
+ "neighborLocation": neighborLocation,
154
+ "aria-disabled": disabled,
155
+ ...roleAreaProps
156
+ }, _ref2)
157
+ }), addonLeft ? /*#__PURE__*/_react.default.createElement(Pills.Item.Addon, {
184
158
  tag: addonLeft
185
- }) : null, (0, _addonTextChildren["default"])(Children, Pills.Item.Text, Pills.Item.Addon), addonRight ? /*#__PURE__*/_react["default"].createElement(Pills.Item.Addon, {
159
+ }) : null, (0, _addonTextChildren.default)(Children, Pills.Item.Text, Pills.Item.Addon), addonRight ? /*#__PURE__*/_react.default.createElement(Pills.Item.Addon, {
186
160
  tag: addonRight
187
161
  }) : null);
188
162
  }
189
163
  function Text(props) {
190
164
  var _ref3 = arguments[0],
191
165
  _ref7;
192
- var SText = _flexBox.Box;
193
- return _ref7 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SText, _ref7.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
194
- "tag": 'span'
195
- }, _ref3))));
166
+ const SText = _baseComponents.Box;
167
+ return _ref7 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react.default.createElement(SText, _ref7.cn("SText", {
168
+ ...(0, _core.assignProps)({
169
+ "tag": 'span'
170
+ }, _ref3)
171
+ }));
196
172
  }
197
173
  function Addon(props) {
198
174
  var _ref4 = arguments[0],
199
175
  _ref8;
200
- var SAddon = _flexBox.Box;
201
- return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref8.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
202
- "tag": 'span'
203
- }, _ref4))));
176
+ const SAddon = _baseComponents.Box;
177
+ return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react.default.createElement(SAddon, _ref8.cn("SAddon", {
178
+ ...(0, _core.assignProps)({
179
+ "tag": 'span'
180
+ }, _ref4)
181
+ }));
204
182
  }
205
- var Pills = (0, _core.createComponent)(RootPills, {
183
+ const Pills = (0, _core.createComponent)(RootPills, {
206
184
  Item: [Pill, {
207
- Text: Text,
208
- Addon: Addon
185
+ Text,
186
+ Addon
209
187
  }]
210
188
  });
211
- var wrapPills = exports.wrapPills = function wrapPills(wrapper) {
212
- return wrapper;
213
- };
214
- var _default = exports["default"] = Pills;
189
+ const wrapPills = wrapper => wrapper;
190
+ exports.wrapPills = wrapPills;
191
+ var _default = exports.default = Pills;
215
192
  //# sourceMappingURL=Pills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pills.js","names":["_core","require","_addonTextChildren","_interopRequireDefault","_a11yEnhance","_logger","_flexBox","_neighborLocation","_interopRequireWildcard","_react","style","sstyled","insert","optionsA11yEnhance","onNeighborChange","neighborElement","props","focus","behavior","click","childSelector","RootPills","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","value","e","handlers","event","key","preventDefault","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","_inherits2","_createClass2","componentDidMount","log","warn","asProps","uncontrolledProps","getItemProps","index","_this$asProps","size","isSelected","selected","tabIndex","onClick","bindHandlerClick","onKeyDown","bindHandleKeyDown","render","_ref","_ref5","SPills","Box","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread2","assignProps","Component","_ref9","defaultValue","a11yEnhance","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","useNeighborLocationDetect","roleAreaProps","role","Pills","Item","Addon","tag","addonTextChildren","Text","_ref3","_ref7","SText","_ref4","_ref8","SAddon","createComponent","wrapPills","exports","wrapper","_default"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport a11yEnhance from '@semcore/core/lib/utils/enhances/a11yEnhance';\nimport log from '@semcore/core/lib/utils/logger';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';\nimport React from 'react';\n\nimport style from './style/pills.shadow.css';\n\nconst optionsA11yEnhance = {\n onNeighborChange: (neighborElement, props) => {\n if (neighborElement) {\n neighborElement.focus();\n if (props.behavior === 'auto' || props.behavior === 'radio') {\n neighborElement.click();\n }\n }\n },\n childSelector: (props) =>\n props.behavior === 'auto' || props.behavior === 'radio' ? ['role', 'radio'] : ['role', 'tab'],\n};\n\nclass RootPills extends Component {\n static displayName = 'Pills';\n static style = style;\n static defaultProps = ({ behavior }) => ({\n size: 'm',\n defaultValue: null,\n behavior: behavior ?? 'auto',\n });\n\n itemValues = [];\n static enhance = [a11yEnhance(optionsA11yEnhance)];\n\n componentDidMount() {\n log.warn(\n this.asProps.behavior === 'tabs',\n 'Use behavior `manual` instead of `tabs`. \\n`tabs` is deprecated and will be removed in the next major release.',\n 'Pills',\n );\n\n log.warn(\n this.asProps.behavior === 'radio',\n 'Use behavior `auto` (or nothing, it is default value) instead of `radio`. \\n`radio` is deprecated and will be removed in the next major release.',\n 'Pills',\n );\n }\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n bindHandlerClick = (value) => (e) => {\n this.handlers.value(value, e);\n };\n\n bindHandleKeyDown = (value) => (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handlers.value(value, event);\n }\n };\n\n getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n const isSelected = value === props.value;\n\n this.itemValues[index] = props.value;\n return {\n index: index,\n size,\n disabled,\n selected: isSelected,\n behavior,\n tabIndex: isSelected ? 0 : -1,\n onClick: this.bindHandlerClick(props.value),\n onKeyDown: this.bindHandleKeyDown(props.value),\n };\n }\n\n changeIndex = (startIndex, type) => {\n let selectable = false;\n\n while (!selectable && startIndex >= 0 && startIndex < this.itemValues.length) {\n if (type === 'increment') startIndex++;\n if (type === 'decrement') startIndex--;\n\n const element = this.itemRefs[startIndex];\n\n if (element?.disabled === false) {\n selectable = true;\n }\n }\n\n return startIndex >= 0 && startIndex < this.itemValues.length ? startIndex : undefined;\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior, value } = this.asProps;\n\n return sstyled(styles)(\n <SPills\n render={Box}\n role={behavior === 'radio' || behavior === 'auto' ? 'radiogroup' : 'tablist'}\n aria-disabled={disabled}\n use:tabIndex={value !== null ? -1 : 0}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n </SPills>,\n );\n }\n}\n\nfunction Pill(props) {\n const SPill = Root;\n const { Children, styles, addonLeft, addonRight, selected, disabled, index, behavior } = props;\n const neighborLocation = useNeighborLocationDetect(index);\n const roleAreaProps = {};\n if (behavior === 'radio' || behavior === 'auto') {\n roleAreaProps.role = 'radio';\n roleAreaProps['aria-checked'] = selected;\n } else {\n roleAreaProps.role = 'tab';\n roleAreaProps['aria-selected'] = selected;\n }\n return sstyled(styles)(\n <SPill\n render={Box}\n tag='button'\n type='button'\n tabIndex={0}\n neighborLocation={neighborLocation}\n aria-disabled={disabled}\n {...roleAreaProps}\n >\n {addonLeft ? <Pills.Item.Addon tag={addonLeft} /> : null}\n {addonTextChildren(Children, Pills.Item.Text, Pills.Item.Addon)}\n {addonRight ? <Pills.Item.Addon tag={addonRight} /> : null}\n </SPill>,\n );\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Pills = createComponent(RootPills, {\n Item: [Pill, { Text, Addon }],\n});\n\nexport const wrapPills = (wrapper) => wrapper;\n\nexport default Pills;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Pills.js","names":["_core","require","_baseComponents","_addonTextChildren","_interopRequireDefault","_a11yEnhance","_react","style","sstyled","insert","optionsA11yEnhance","onNeighborChange","neighborElement","props","focus","behavior","click","childSelector","RootPills","Component","constructor","args","_defineProperty2","default","value","e","handlers","event","key","preventDefault","startIndex","type","selectable","itemValues","length","element","itemRefs","disabled","undefined","uncontrolledProps","getItemProps","index","size","asProps","isSelected","selected","tabIndex","onClick","bindHandlerClick","onKeyDown","bindHandleKeyDown","render","_ref","_ref5","SPills","Box","Children","styles","controlsLength","createElement","cn","assignProps","NeighborLocation","defaultValue","a11yEnhance","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","useNeighborLocationDetect","roleAreaProps","role","Pills","Item","Addon","tag","addonTextChildren","Text","_ref3","_ref7","SText","_ref4","_ref8","SAddon","createComponent","wrapPills","wrapper","exports","_default"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import { NeighborLocation, Box, useNeighborLocationDetect } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport a11yEnhance from '@semcore/core/lib/utils/enhances/a11yEnhance';\nimport React from 'react';\n\nimport style from './style/pills.shadow.css';\n\nconst optionsA11yEnhance = {\n onNeighborChange: (neighborElement, props) => {\n if (neighborElement) {\n neighborElement.focus();\n if (props.behavior === 'auto') {\n neighborElement.click();\n }\n }\n },\n childSelector: (props) =>\n props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab'],\n};\n\nclass RootPills extends Component {\n static displayName = 'Pills';\n static style = style;\n static defaultProps = ({ behavior }) => ({\n size: 'm',\n defaultValue: null,\n behavior: behavior ?? 'auto',\n });\n\n itemValues = [];\n static enhance = [a11yEnhance(optionsA11yEnhance)];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n bindHandlerClick = (value) => (e) => {\n this.handlers.value(value, e);\n };\n\n bindHandleKeyDown = (value) => (event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handlers.value(value, event);\n }\n };\n\n getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n const isSelected = value === props.value;\n\n this.itemValues[index] = props.value;\n return {\n index: index,\n size,\n disabled,\n selected: isSelected,\n behavior,\n tabIndex: isSelected ? 0 : -1,\n onClick: this.bindHandlerClick(props.value),\n onKeyDown: this.bindHandleKeyDown(props.value),\n };\n }\n\n changeIndex = (startIndex, type) => {\n let selectable = false;\n\n while (!selectable && startIndex >= 0 && startIndex < this.itemValues.length) {\n if (type === 'increment') startIndex++;\n if (type === 'decrement') startIndex--;\n\n const element = this.itemRefs[startIndex];\n\n if (element?.disabled === false) {\n selectable = true;\n }\n }\n\n return startIndex >= 0 && startIndex < this.itemValues.length ? startIndex : undefined;\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior, value } = this.asProps;\n\n return sstyled(styles)(\n <SPills\n render={Box}\n role={behavior === 'auto' ? 'radiogroup' : 'tablist'}\n aria-disabled={disabled}\n use:tabIndex={value !== null ? -1 : 0}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n </SPills>,\n );\n }\n}\n\nfunction Pill(props) {\n const SPill = Root;\n const { Children, styles, addonLeft, addonRight, selected, disabled, index, behavior } = props;\n const neighborLocation = useNeighborLocationDetect(index);\n const roleAreaProps = {};\n if (behavior === 'auto') {\n roleAreaProps.role = 'radio';\n roleAreaProps['aria-checked'] = selected;\n } else {\n roleAreaProps.role = 'tab';\n roleAreaProps['aria-selected'] = selected;\n }\n return sstyled(styles)(\n <SPill\n render={Box}\n tag='button'\n type='button'\n tabIndex={0}\n neighborLocation={neighborLocation}\n aria-disabled={disabled}\n {...roleAreaProps}\n >\n {addonLeft ? <Pills.Item.Addon tag={addonLeft} /> : null}\n {addonTextChildren(Children, Pills.Item.Text, Pills.Item.Addon)}\n {addonRight ? <Pills.Item.Addon tag={addonRight} /> : null}\n </SPill>,\n );\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Pills = createComponent(RootPills, {\n Item: [Pill, { Text, Addon }],\n});\n\nexport const wrapPills = (wrapper) => wrapper;\n\nexport default Pills;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport type { Box, BoxProps } from '@semcore/flex-box';\nimport type { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';\nimport type React from 'react';\n\nexport type PillsValue = string | number | boolean | null;\n\n/**\n * @deprecated\n * use `manual`\n */\nexport type DeprecatedBehaviorTabs = 'tabs';\n/**\n * @deprecated\n * use `auto`\n */\nexport type DeprecatedBehaviorRadio = 'radio';\n\n/** @deprecated */\nexport interface IPillsProps<T extends PillsValue = PillsValue>\n extends PillsProps<T>,\n UnknownProperties {}\nexport type PillsProps<T extends PillsValue = PillsValue> = NeighborLocationProps &\n BoxProps & {\n /** Pills size */\n size?: 'l' | 'm';\n /** Disabled state */\n disabled?: boolean;\n /** Called when the selection is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLSpanElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Value for the selected pill */\n value?: T;\n /** Default value for the selected pill */\n defaultValue?: T;\n /** Sets semantic role for corresponding behavior,\n * when set to `auto` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `auto` behavior in forms\n * while `manual` behavior for navigation and layout.\n * @default tabs\n */\n behavior?:\n DeprecatedBehaviorTabs | DeprecatedBehaviorRadio\n | 'auto'\n | 'manual';\n };\n\n/** @deprecated */\nexport interface IPillProps extends PillProps, UnknownProperties {}\nexport type PillProps = BoxProps &\n NeighborItemProps & {\n /** Pill value */\n value?: PillsValue;\n /** Disabled state */\n disabled?: boolean;\n /** Selected state */\n selected?: boolean;\n /** Left addon text */\n addonLeft?: React.ElementType;\n /** Right addon tag */\n addonRight?: React.ElementType;\n };\n\n/** @deprecated */\nexport interface IPillsContext extends PillsContext, UnknownProperties {}\nexport type PillsContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IPillsHandlers extends PillsHandlers, UnknownProperties {}\nexport type PillsHandlers = {\n value: (value: PillsValue) => void;\n};\n\ntype IntergalacticPillsComponent<PropsExtending = {}> = (<\n Value extends PillsValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n PillsProps<Value>,\n PillsContext,\n [handlers: PillsHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', PillsProps>;\n\ndeclare const Pills: IntergalacticPillsComponent & {\n Item: Intergalactic.Component<'button', PillProps, [handlers: PillsHandlers]> & {\n Text: typeof Box;\n Addon: typeof Box;\n };\n};\n\ndeclare const wrapPills: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticPillsComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticPillsComponent<PropsExtending>;\nexport { wrapPills };\n\nexport default Pills;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Box, BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nexport type PillsValue = string | number | boolean | null;\n\nexport type PillsProps<T extends PillsValue = PillsValue> = NeighborLocationProps &\n BoxProps & {\n /** Pills size */\n size?: 'l' | 'm';\n /** Disabled state */\n disabled?: boolean;\n /** Called when the selection is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLSpanElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Value for the selected pill */\n value?: T;\n /** Default value for the selected pill */\n defaultValue?: T;\n /** Sets semantic role for corresponding behavior,\n * when set to `auto` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `auto` behavior in forms\n * while `manual` behavior for navigation and layout.\n * @default tabs\n */\n behavior?:\n | 'auto'\n | 'manual';\n };\n\nexport type PillProps = BoxProps &\n NeighborItemProps & {\n /** Pill value */\n value?: PillsValue;\n /** Disabled state */\n disabled?: boolean;\n /** Selected state */\n selected?: boolean;\n /** Left addon text */\n addonLeft?: React.ElementType;\n /** Right addon tag */\n addonRight?: React.ElementType;\n };\n\nexport type PillsContext = {\n getItemProps: PropGetterFn;\n};\n\nexport type PillsHandlers = {\n value: (value: PillsValue) => void;\n};\n\ntype IntergalacticPillsComponent<PropsExtending = {}> = (<\n Value extends PillsValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n PillsProps<Value>,\n PillsContext,\n [handlers: PillsHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\nIntergalactic.InternalTypings.ComponentAdditive<'div', 'div', PillsProps>;\n\ndeclare const Pills: IntergalacticPillsComponent & {\n Item: Intergalactic.Component<'button', PillProps, [handlers: PillsHandlers]> & {\n Text: typeof Box;\n Addon: typeof Box;\n };\n};\n\ndeclare const wrapPills: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticPillsComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticPillsComponent<PropsExtending>;\nexport { wrapPills };\n\nexport default Pills;\n"],"mappings":"","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  var _exportNames = {};
8
8
  Object.defineProperty(exports, "default", {
9
9
  enumerable: true,
10
- get: function get() {
11
- return _Pills["default"];
10
+ get: function () {
11
+ return _Pills.default;
12
12
  }
13
13
  });
14
14
  var _Pills = _interopRequireWildcard(require("./Pills"));
@@ -18,7 +18,7 @@ Object.keys(_Pills).forEach(function (key) {
18
18
  if (key in exports && exports[key] === _Pills[key]) return;
19
19
  Object.defineProperty(exports, key, {
20
20
  enumerable: true,
21
- get: function get() {
21
+ get: function () {
22
22
  return _Pills[key];
23
23
  }
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Pills","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Pills';\nexport * from './Pills';\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,MAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAd,MAAA,CAAAM,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Pills","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Pills';\nexport * from './Pills';\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,MAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,MAAA,CAAAM,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}