@semcore/pills 16.1.0 → 16.1.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.
- package/CHANGELOG.md +1 -1
- package/lib/cjs/Pills.js +71 -49
- package/lib/cjs/Pills.js.map +1 -1
- package/lib/cjs/index.d.js +2 -0
- package/lib/cjs/index.d.js.map +1 -0
- package/lib/cjs/index.js +4 -13
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/pills.shadow.css +1 -1
- package/lib/es6/Pills.js +64 -43
- package/lib/es6/Pills.js.map +1 -1
- package/lib/es6/index.d.js +2 -0
- package/lib/es6/index.d.js.map +1 -0
- package/lib/es6/index.js +2 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/pills.shadow.css +1 -1
- package/lib/esm/Pills.mjs +66 -45
- package/lib/esm/index.mjs +0 -1
- package/lib/esm/style/pills.shadow.css +1 -1
- package/lib/types/index.d.ts +111 -2
- package/package.json +5 -5
- package/lib/cjs/Pills.type.js +0 -2
- package/lib/cjs/Pills.type.js.map +0 -1
- package/lib/es6/Pills.type.js +0 -2
- package/lib/es6/Pills.type.js.map +0 -1
- package/lib/esm/Pills.type.mjs +0 -1
- package/lib/types/Pills.d.ts +0 -6
- package/lib/types/Pills.type.d.ts +0 -74
package/CHANGELOG.md
CHANGED
package/lib/cjs/Pills.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -12,26 +13,41 @@ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSup
|
|
|
12
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
15
|
var _core = require("@semcore/core");
|
|
15
|
-
var _baseComponents = require("@semcore/base-components");
|
|
16
16
|
var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
|
|
17
17
|
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"));
|
|
18
21
|
var _react = _interopRequireDefault(require("react"));
|
|
19
22
|
/*!__reshadow-styles__:"./style/pills.shadow.css"*/
|
|
20
|
-
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
23
|
+
var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPills_1kwud_gg_{display:inline-flex;align-items:center;justify-content:center;isolation:isolate;border-radius:var(--intergalactic-control-rounded, 6px)}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039));border-color:var(--intergalactic-border-info-active, rgba(0, 40, 230, 0.419));z-index:3}@supports (color:color(display-p3 0 0 0%)){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039))}@media (color-gamut:p3){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, color(display-p3 0.12567 0.31309 0.96324 / 0.039))}}}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_,.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:focus-visible{z-index:3}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:active{z-index:2}@media (hover:hover){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:hover{z-index:2}}.___SPill_1kwud_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, rgb(255, 255, 255));border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));border-radius:var(--intergalactic-control-rounded, 6px)}@supports (color:color(display-p3 0 0 0%)){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SPill_1kwud_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_1kwud_gg_:active{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_1kwud_gg_:hover{background:var(--intergalactic-bg-primary-neutral-hover, rgb(248, 249, 248))}}.___SPill_1kwud_gg_.__disabled_1kwud_gg_{cursor:default;pointer-events:none}.___SPill_1kwud_gg_.__disabled_1kwud_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.4)}.___SText_1kwud_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));display:inline-flex}.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));display:inline-flex;align-items:center;justify-content:center}@supports (color:color(display-p3 0 0 0%)){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPill_1kwud_gg_._size_m_1kwud_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_,.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SText_1kwud_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:only-child,.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._neighborLocation_right_1kwud_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_1kwud_gg_._neighborLocation_both_1kwud_gg_{border-radius:0;margin-left:-1px}.___SPill_1kwud_gg_._neighborLocation_left_1kwud_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}", /*__inner_css_end__*/"1kwud_gg_"),
|
|
21
24
|
/*__reshadow_css_end__*/
|
|
22
25
|
{
|
|
23
|
-
"__SText": "
|
|
24
|
-
"__SAddon": "
|
|
25
|
-
"__SPill": "
|
|
26
|
-
"_neighborLocation_right": "
|
|
27
|
-
"_neighborLocation_both": "
|
|
28
|
-
"_neighborLocation_left": "
|
|
29
|
-
"__SPills": "
|
|
30
|
-
"_selected": "
|
|
31
|
-
"_disabled": "
|
|
32
|
-
"_size_m": "
|
|
33
|
-
"_size_l": "
|
|
26
|
+
"__SText": "___SText_1kwud_gg_",
|
|
27
|
+
"__SAddon": "___SAddon_1kwud_gg_",
|
|
28
|
+
"__SPill": "___SPill_1kwud_gg_",
|
|
29
|
+
"_neighborLocation_right": "_neighborLocation_right_1kwud_gg_",
|
|
30
|
+
"_neighborLocation_both": "_neighborLocation_both_1kwud_gg_",
|
|
31
|
+
"_neighborLocation_left": "_neighborLocation_left_1kwud_gg_",
|
|
32
|
+
"__SPills": "___SPills_1kwud_gg_",
|
|
33
|
+
"_selected": "__selected_1kwud_gg_",
|
|
34
|
+
"_disabled": "__disabled_1kwud_gg_",
|
|
35
|
+
"_size_m": "_size_m_1kwud_gg_",
|
|
36
|
+
"_size_l": "_size_l_1kwud_gg_"
|
|
34
37
|
});
|
|
38
|
+
var optionsA11yEnhance = {
|
|
39
|
+
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
40
|
+
if (neighborElement) {
|
|
41
|
+
neighborElement.focus();
|
|
42
|
+
if (props.behavior === 'auto' || props.behavior === 'radio') {
|
|
43
|
+
neighborElement.click();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
childSelector: function childSelector(props) {
|
|
48
|
+
return props.behavior === 'auto' || props.behavior === 'radio' ? ['role', 'radio'] : ['role', 'tab'];
|
|
49
|
+
}
|
|
50
|
+
};
|
|
35
51
|
var RootPills = /*#__PURE__*/function (_Component) {
|
|
36
52
|
function RootPills() {
|
|
37
53
|
var _this;
|
|
@@ -47,23 +63,39 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
47
63
|
};
|
|
48
64
|
});
|
|
49
65
|
(0, _defineProperty2["default"])(_this, "bindHandleKeyDown", function (value) {
|
|
50
|
-
return function (
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
_this.handlers.value(value,
|
|
66
|
+
return function (event) {
|
|
67
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
_this.handlers.value(value, event);
|
|
54
70
|
}
|
|
55
71
|
};
|
|
56
72
|
});
|
|
73
|
+
(0, _defineProperty2["default"])(_this, "changeIndex", function (startIndex, type) {
|
|
74
|
+
var selectable = false;
|
|
75
|
+
while (!selectable && startIndex >= 0 && startIndex < _this.itemValues.length) {
|
|
76
|
+
if (type === 'increment') startIndex++;
|
|
77
|
+
if (type === 'decrement') startIndex--;
|
|
78
|
+
var element = _this.itemRefs[startIndex];
|
|
79
|
+
if ((element === null || element === void 0 ? void 0 : element.disabled) === false) {
|
|
80
|
+
selectable = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return startIndex >= 0 && startIndex < _this.itemValues.length ? startIndex : undefined;
|
|
84
|
+
});
|
|
57
85
|
return _this;
|
|
58
86
|
}
|
|
59
87
|
(0, _inherits2["default"])(RootPills, _Component);
|
|
60
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
|
+
}, {
|
|
61
95
|
key: "uncontrolledProps",
|
|
62
96
|
value: function uncontrolledProps() {
|
|
63
97
|
return {
|
|
64
|
-
value:
|
|
65
|
-
return _value;
|
|
66
|
-
}
|
|
98
|
+
value: null
|
|
67
99
|
};
|
|
68
100
|
}
|
|
69
101
|
}, {
|
|
@@ -92,7 +124,7 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
92
124
|
value: function render() {
|
|
93
125
|
var _ref = this.asProps,
|
|
94
126
|
_ref5;
|
|
95
|
-
var SPills =
|
|
127
|
+
var SPills = _flexBox.Box;
|
|
96
128
|
var _this$asProps2 = this.asProps,
|
|
97
129
|
Children = _this$asProps2.Children,
|
|
98
130
|
styles = _this$asProps2.styles,
|
|
@@ -101,10 +133,10 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
101
133
|
behavior = _this$asProps2.behavior,
|
|
102
134
|
value = _this$asProps2.value;
|
|
103
135
|
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPills, _ref5.cn("SPills", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
104
|
-
"role": behavior === 'auto' ? 'radiogroup' : 'tablist',
|
|
136
|
+
"role": behavior === 'radio' || behavior === 'auto' ? 'radiogroup' : 'tablist',
|
|
105
137
|
"aria-disabled": disabled,
|
|
106
138
|
"use:tabIndex": value !== null ? -1 : 0
|
|
107
|
-
}, _ref))), /*#__PURE__*/_react["default"].createElement(
|
|
139
|
+
}, _ref))), /*#__PURE__*/_react["default"].createElement(_neighborLocation["default"], _ref5.cn("NeighborLocation", {
|
|
108
140
|
"controlsLength": controlsLength
|
|
109
141
|
}), /*#__PURE__*/_react["default"].createElement(Children, _ref5.cn("Children", {}))));
|
|
110
142
|
}
|
|
@@ -120,24 +152,11 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
120
152
|
behavior: behavior !== null && behavior !== void 0 ? behavior : 'auto'
|
|
121
153
|
};
|
|
122
154
|
});
|
|
123
|
-
(0, _defineProperty2["default"])(RootPills, "enhance", [(0, _a11yEnhance["default"])(
|
|
124
|
-
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
125
|
-
if (neighborElement) {
|
|
126
|
-
neighborElement.focus();
|
|
127
|
-
if (props.behavior === 'auto') {
|
|
128
|
-
neighborElement.click();
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
childSelector: function childSelector(props) {
|
|
133
|
-
var selector = props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab'];
|
|
134
|
-
return selector;
|
|
135
|
-
}
|
|
136
|
-
})]);
|
|
155
|
+
(0, _defineProperty2["default"])(RootPills, "enhance", [(0, _a11yEnhance["default"])(optionsA11yEnhance)]);
|
|
137
156
|
function Pill(props) {
|
|
138
157
|
var _ref2 = arguments[0],
|
|
139
158
|
_ref6;
|
|
140
|
-
var SPill =
|
|
159
|
+
var SPill = _flexBox.Box;
|
|
141
160
|
var Children = props.Children,
|
|
142
161
|
styles = props.styles,
|
|
143
162
|
addonLeft = props.addonLeft,
|
|
@@ -146,12 +165,15 @@ function Pill(props) {
|
|
|
146
165
|
disabled = props.disabled,
|
|
147
166
|
index = props.index,
|
|
148
167
|
behavior = props.behavior;
|
|
149
|
-
var neighborLocation = (0,
|
|
150
|
-
var roleAreaProps = {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
'aria-
|
|
154
|
-
}
|
|
168
|
+
var neighborLocation = (0, _neighborLocation.useNeighborLocationDetect)(index);
|
|
169
|
+
var roleAreaProps = {};
|
|
170
|
+
if (behavior === 'radio' || behavior === 'auto') {
|
|
171
|
+
roleAreaProps.role = 'radio';
|
|
172
|
+
roleAreaProps['aria-checked'] = selected;
|
|
173
|
+
} else {
|
|
174
|
+
roleAreaProps.role = 'tab';
|
|
175
|
+
roleAreaProps['aria-selected'] = selected;
|
|
176
|
+
}
|
|
155
177
|
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPill, _ref6.cn("SPill", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({
|
|
156
178
|
"tag": 'button',
|
|
157
179
|
"type": 'button',
|
|
@@ -167,7 +189,7 @@ function Pill(props) {
|
|
|
167
189
|
function Text(props) {
|
|
168
190
|
var _ref3 = arguments[0],
|
|
169
191
|
_ref7;
|
|
170
|
-
var SText =
|
|
192
|
+
var SText = _flexBox.Box;
|
|
171
193
|
return _ref7 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SText, _ref7.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
172
194
|
"tag": 'span'
|
|
173
195
|
}, _ref3))));
|
|
@@ -175,19 +197,19 @@ function Text(props) {
|
|
|
175
197
|
function Addon(props) {
|
|
176
198
|
var _ref4 = arguments[0],
|
|
177
199
|
_ref8;
|
|
178
|
-
var SAddon =
|
|
200
|
+
var SAddon = _flexBox.Box;
|
|
179
201
|
return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref8.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
180
202
|
"tag": 'span'
|
|
181
203
|
}, _ref4))));
|
|
182
204
|
}
|
|
183
|
-
var wrapPills = exports.wrapPills = function wrapPills(wrapper) {
|
|
184
|
-
return wrapper;
|
|
185
|
-
};
|
|
186
205
|
var Pills = (0, _core.createComponent)(RootPills, {
|
|
187
206
|
Item: [Pill, {
|
|
188
207
|
Text: Text,
|
|
189
208
|
Addon: Addon
|
|
190
209
|
}]
|
|
191
210
|
});
|
|
211
|
+
var wrapPills = exports.wrapPills = function wrapPills(wrapper) {
|
|
212
|
+
return wrapper;
|
|
213
|
+
};
|
|
192
214
|
var _default = exports["default"] = Pills;
|
|
193
215
|
//# sourceMappingURL=Pills.js.map
|
package/lib/cjs/Pills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.js","names":["_core","require","_baseComponents","_addonTextChildren","_interopRequireDefault","_a11yEnhance","_react","style","sstyled","insert","RootPills","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","value","e","handlers","key","preventDefault","_inherits2","_createClass2","uncontrolledProps","getItemProps","props","index","_this$asProps","asProps","size","disabled","behavior","isSelected","itemValues","selected","tabIndex","onClick","bindHandlerClick","onKeyDown","bindHandleKeyDown","render","_ref","_ref5","SPills","Box","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread2","assignProps","NeighborLocation","Component","_ref9","defaultValue","a11yEnhance","onNeighborChange","neighborElement","focus","click","childSelector","selector","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","useNeighborLocationDetect","roleAreaProps","undefined","Pills","Item","Addon","tag","addonTextChildren","Text","_ref3","_ref7","SText","_ref4","_ref8","SAddon","wrapPills","exports","wrapper","createComponent","_default"],"sources":["../../src/Pills.tsx"],"sourcesContent":["import { NeighborLocation, Box, useNeighborLocationDetect } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\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 type { NSPills } from './Pills.type';\nimport style from './style/pills.shadow.css';\n\nclass RootPills extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPills.Component>,\n typeof RootPills.enhance,\n NSPills.Handlers\n> {\n static displayName = 'Pills';\n static style = style;\n static defaultProps = ({ behavior }: NSPills.Props) => ({\n size: 'm',\n defaultValue: null,\n behavior: behavior ?? 'auto',\n });\n\n itemValues: Array<NSPills.Pill.Props['value']> = [];\n\n static enhance = [a11yEnhance({\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 const selector = props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab'];\n\n return selector as [string, string];\n },\n })] as const;\n\n uncontrolledProps() {\n return {\n value: (value: NSPills.Pill.Props['value'], e: React.SyntheticEvent) => value,\n };\n }\n\n bindHandlerClick = (value: NSPills.Pill.Props['value']) => (e: React.MouseEvent) => {\n this.handlers.value(value, e);\n };\n\n bindHandleKeyDown = (value: NSPills.Pill.Props['value']) => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handlers.value(value, e);\n }\n };\n\n getItemProps(props: NSPills.Pill.Props, index: number) {\n const { value, size, disabled, behavior } = this.asProps;\n const isSelected = value === props.value;\n\n this.itemValues[index] = props.value;\n\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 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: Intergalactic.InternalTypings.InferChildComponentProps<NSPills.Pill.Component, typeof RootPills, 'Item'>) {\n const SPill = Root;\n const { Children, styles, addonLeft, addonRight, selected, disabled, index, behavior } = props;\n const neighborLocation = useNeighborLocationDetect(index);\n\n const roleAreaProps = {\n 'role': behavior === 'auto' ? 'radio' : 'tab',\n 'aria-checked': behavior === 'auto' ? selected : undefined,\n 'aria-selected': behavior !== 'auto' ? selected : undefined,\n };\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: Intergalactic.InternalTypings.InferComponentProps<NSPills.Pill.Text.Component>) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props: Intergalactic.InternalTypings.InferComponentProps<NSPills.Pill.Addon.Component>) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nexport const wrapPills = <PropsExtending extends {}>(wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSPills.WrapComponent>\n > &\n PropsExtending,\n) => React.ReactNode) => wrapper as NSPills.WrapComponent<PropsExtending>;\n\nconst Pills = createComponent(RootPills, {\n Item: [Pill, { Text, Addon }],\n}) as unknown as NSPills.Component;\n\nexport default Pills;\n"],"mappings":"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","ignoreList":[]}
|
|
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":[]}
|
|
@@ -0,0 +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":[]}
|
package/lib/cjs/index.js
CHANGED
|
@@ -4,31 +4,22 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
var _exportNames = {
|
|
8
|
-
wrapPills: true
|
|
9
|
-
};
|
|
7
|
+
var _exportNames = {};
|
|
10
8
|
Object.defineProperty(exports, "default", {
|
|
11
9
|
enumerable: true,
|
|
12
10
|
get: function get() {
|
|
13
11
|
return _Pills["default"];
|
|
14
12
|
}
|
|
15
13
|
});
|
|
16
|
-
Object.defineProperty(exports, "wrapPills", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function get() {
|
|
19
|
-
return _Pills.wrapPills;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
14
|
var _Pills = _interopRequireWildcard(require("./Pills"));
|
|
23
|
-
|
|
24
|
-
Object.keys(_Pills2).forEach(function (key) {
|
|
15
|
+
Object.keys(_Pills).forEach(function (key) {
|
|
25
16
|
if (key === "default" || key === "__esModule") return;
|
|
26
17
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
27
|
-
if (key in exports && exports[key] ===
|
|
18
|
+
if (key in exports && exports[key] === _Pills[key]) return;
|
|
28
19
|
Object.defineProperty(exports, key, {
|
|
29
20
|
enumerable: true,
|
|
30
21
|
get: function get() {
|
|
31
|
-
return
|
|
22
|
+
return _Pills[key];
|
|
32
23
|
}
|
|
33
24
|
});
|
|
34
25
|
});
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Pills","_interopRequireWildcard","require","
|
|
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":[]}
|
|
@@ -7,7 +7,7 @@ SPills {
|
|
|
7
7
|
|
|
8
8
|
SPill[selected] {
|
|
9
9
|
background: var(--intergalactic-control-secondary-info, oklch(0.527 0.264 262.9 / 0.039));
|
|
10
|
-
border-color: var(--intergalactic-border-info-active, oklch(0.
|
|
10
|
+
border-color: var(--intergalactic-border-info-active, oklch(0.443 0.273 264.2 / 0.419));
|
|
11
11
|
z-index: 3;
|
|
12
12
|
}
|
|
13
13
|
SPill:focus-visible, SPill[selected] {
|
package/lib/es6/Pills.js
CHANGED
|
@@ -9,27 +9,42 @@ import { assignProps as _assignProps4 } from "@semcore/core";
|
|
|
9
9
|
import { assignProps as _assignProps3 } from "@semcore/core";
|
|
10
10
|
import { assignProps as _assignProps2 } from "@semcore/core";
|
|
11
11
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
12
|
-
import { NeighborLocation, Box, useNeighborLocationDetect } from '@semcore/base-components';
|
|
13
12
|
import { createComponent, Component, sstyled, Root } from '@semcore/core';
|
|
14
13
|
import addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';
|
|
15
14
|
import a11yEnhance from '@semcore/core/lib/utils/enhances/a11yEnhance';
|
|
15
|
+
import log from '@semcore/core/lib/utils/logger';
|
|
16
|
+
import { Box } from '@semcore/flex-box';
|
|
17
|
+
import NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';
|
|
16
18
|
import React from 'react';
|
|
17
19
|
/*!__reshadow-styles__:"./style/pills.shadow.css"*/
|
|
18
|
-
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
20
|
+
var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPills_1kwud_gg_{display:inline-flex;align-items:center;justify-content:center;isolation:isolate;border-radius:var(--intergalactic-control-rounded, 6px)}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039));border-color:var(--intergalactic-border-info-active, rgba(0, 40, 230, 0.419));z-index:3}@supports (color:color(display-p3 0 0 0%)){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039))}@media (color-gamut:p3){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, color(display-p3 0.12567 0.31309 0.96324 / 0.039))}}}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_,.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:focus-visible{z-index:3}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:active{z-index:2}@media (hover:hover){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:hover{z-index:2}}.___SPill_1kwud_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, rgb(255, 255, 255));border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));border-radius:var(--intergalactic-control-rounded, 6px)}@supports (color:color(display-p3 0 0 0%)){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SPill_1kwud_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_1kwud_gg_:active{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_1kwud_gg_:hover{background:var(--intergalactic-bg-primary-neutral-hover, rgb(248, 249, 248))}}.___SPill_1kwud_gg_.__disabled_1kwud_gg_{cursor:default;pointer-events:none}.___SPill_1kwud_gg_.__disabled_1kwud_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.4)}.___SText_1kwud_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));display:inline-flex}.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));display:inline-flex;align-items:center;justify-content:center}@supports (color:color(display-p3 0 0 0%)){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPill_1kwud_gg_._size_m_1kwud_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_,.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SText_1kwud_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:only-child,.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._neighborLocation_right_1kwud_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_1kwud_gg_._neighborLocation_both_1kwud_gg_{border-radius:0;margin-left:-1px}.___SPill_1kwud_gg_._neighborLocation_left_1kwud_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}", /*__inner_css_end__*/"1kwud_gg_"),
|
|
19
21
|
/*__reshadow_css_end__*/
|
|
20
22
|
{
|
|
21
|
-
"__SText": "
|
|
22
|
-
"__SAddon": "
|
|
23
|
-
"__SPill": "
|
|
24
|
-
"_neighborLocation_right": "
|
|
25
|
-
"_neighborLocation_both": "
|
|
26
|
-
"_neighborLocation_left": "
|
|
27
|
-
"__SPills": "
|
|
28
|
-
"_selected": "
|
|
29
|
-
"_disabled": "
|
|
30
|
-
"_size_m": "
|
|
31
|
-
"_size_l": "
|
|
23
|
+
"__SText": "___SText_1kwud_gg_",
|
|
24
|
+
"__SAddon": "___SAddon_1kwud_gg_",
|
|
25
|
+
"__SPill": "___SPill_1kwud_gg_",
|
|
26
|
+
"_neighborLocation_right": "_neighborLocation_right_1kwud_gg_",
|
|
27
|
+
"_neighborLocation_both": "_neighborLocation_both_1kwud_gg_",
|
|
28
|
+
"_neighborLocation_left": "_neighborLocation_left_1kwud_gg_",
|
|
29
|
+
"__SPills": "___SPills_1kwud_gg_",
|
|
30
|
+
"_selected": "__selected_1kwud_gg_",
|
|
31
|
+
"_disabled": "__disabled_1kwud_gg_",
|
|
32
|
+
"_size_m": "_size_m_1kwud_gg_",
|
|
33
|
+
"_size_l": "_size_l_1kwud_gg_"
|
|
32
34
|
});
|
|
35
|
+
var optionsA11yEnhance = {
|
|
36
|
+
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
37
|
+
if (neighborElement) {
|
|
38
|
+
neighborElement.focus();
|
|
39
|
+
if (props.behavior === 'auto' || props.behavior === 'radio') {
|
|
40
|
+
neighborElement.click();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
childSelector: function childSelector(props) {
|
|
45
|
+
return props.behavior === 'auto' || props.behavior === 'radio' ? ['role', 'radio'] : ['role', 'tab'];
|
|
46
|
+
}
|
|
47
|
+
};
|
|
33
48
|
var RootPills = /*#__PURE__*/function (_Component) {
|
|
34
49
|
function RootPills() {
|
|
35
50
|
var _this;
|
|
@@ -45,23 +60,39 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
45
60
|
};
|
|
46
61
|
});
|
|
47
62
|
_defineProperty(_this, "bindHandleKeyDown", function (value) {
|
|
48
|
-
return function (
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
_this.handlers.value(value,
|
|
63
|
+
return function (event) {
|
|
64
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
_this.handlers.value(value, event);
|
|
52
67
|
}
|
|
53
68
|
};
|
|
54
69
|
});
|
|
70
|
+
_defineProperty(_this, "changeIndex", function (startIndex, type) {
|
|
71
|
+
var selectable = false;
|
|
72
|
+
while (!selectable && startIndex >= 0 && startIndex < _this.itemValues.length) {
|
|
73
|
+
if (type === 'increment') startIndex++;
|
|
74
|
+
if (type === 'decrement') startIndex--;
|
|
75
|
+
var element = _this.itemRefs[startIndex];
|
|
76
|
+
if ((element === null || element === void 0 ? void 0 : element.disabled) === false) {
|
|
77
|
+
selectable = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return startIndex >= 0 && startIndex < _this.itemValues.length ? startIndex : undefined;
|
|
81
|
+
});
|
|
55
82
|
return _this;
|
|
56
83
|
}
|
|
57
84
|
_inherits(RootPills, _Component);
|
|
58
85
|
return _createClass(RootPills, [{
|
|
86
|
+
key: "componentDidMount",
|
|
87
|
+
value: function componentDidMount() {
|
|
88
|
+
log.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');
|
|
89
|
+
log.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');
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
59
92
|
key: "uncontrolledProps",
|
|
60
93
|
value: function uncontrolledProps() {
|
|
61
94
|
return {
|
|
62
|
-
value:
|
|
63
|
-
return _value;
|
|
64
|
-
}
|
|
95
|
+
value: null
|
|
65
96
|
};
|
|
66
97
|
}
|
|
67
98
|
}, {
|
|
@@ -99,7 +130,7 @@ var RootPills = /*#__PURE__*/function (_Component) {
|
|
|
99
130
|
behavior = _this$asProps2.behavior,
|
|
100
131
|
value = _this$asProps2.value;
|
|
101
132
|
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SPills, _ref5.cn("SPills", _objectSpread({}, _assignProps({
|
|
102
|
-
"role": behavior === 'auto' ? 'radiogroup' : 'tablist',
|
|
133
|
+
"role": behavior === 'radio' || behavior === 'auto' ? 'radiogroup' : 'tablist',
|
|
103
134
|
"aria-disabled": disabled,
|
|
104
135
|
"use:tabIndex": value !== null ? -1 : 0
|
|
105
136
|
}, _ref))), /*#__PURE__*/React.createElement(NeighborLocation, _ref5.cn("NeighborLocation", {
|
|
@@ -118,20 +149,7 @@ _defineProperty(RootPills, "defaultProps", function (_ref9) {
|
|
|
118
149
|
behavior: behavior !== null && behavior !== void 0 ? behavior : 'auto'
|
|
119
150
|
};
|
|
120
151
|
});
|
|
121
|
-
_defineProperty(RootPills, "enhance", [a11yEnhance(
|
|
122
|
-
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
123
|
-
if (neighborElement) {
|
|
124
|
-
neighborElement.focus();
|
|
125
|
-
if (props.behavior === 'auto') {
|
|
126
|
-
neighborElement.click();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
childSelector: function childSelector(props) {
|
|
131
|
-
var selector = props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab'];
|
|
132
|
-
return selector;
|
|
133
|
-
}
|
|
134
|
-
})]);
|
|
152
|
+
_defineProperty(RootPills, "enhance", [a11yEnhance(optionsA11yEnhance)]);
|
|
135
153
|
function Pill(props) {
|
|
136
154
|
var _ref2 = arguments[0],
|
|
137
155
|
_ref6;
|
|
@@ -145,11 +163,14 @@ function Pill(props) {
|
|
|
145
163
|
index = props.index,
|
|
146
164
|
behavior = props.behavior;
|
|
147
165
|
var neighborLocation = useNeighborLocationDetect(index);
|
|
148
|
-
var roleAreaProps = {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
'aria-
|
|
152
|
-
}
|
|
166
|
+
var roleAreaProps = {};
|
|
167
|
+
if (behavior === 'radio' || behavior === 'auto') {
|
|
168
|
+
roleAreaProps.role = 'radio';
|
|
169
|
+
roleAreaProps['aria-checked'] = selected;
|
|
170
|
+
} else {
|
|
171
|
+
roleAreaProps.role = 'tab';
|
|
172
|
+
roleAreaProps['aria-selected'] = selected;
|
|
173
|
+
}
|
|
153
174
|
return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SPill, _ref6.cn("SPill", _objectSpread({}, _assignProps2(_objectSpread({
|
|
154
175
|
"tag": 'button',
|
|
155
176
|
"type": 'button',
|
|
@@ -178,14 +199,14 @@ function Addon(props) {
|
|
|
178
199
|
"tag": 'span'
|
|
179
200
|
}, _ref4))));
|
|
180
201
|
}
|
|
181
|
-
export var wrapPills = function wrapPills(wrapper) {
|
|
182
|
-
return wrapper;
|
|
183
|
-
};
|
|
184
202
|
var Pills = createComponent(RootPills, {
|
|
185
203
|
Item: [Pill, {
|
|
186
204
|
Text: Text,
|
|
187
205
|
Addon: Addon
|
|
188
206
|
}]
|
|
189
207
|
});
|
|
208
|
+
export var wrapPills = function wrapPills(wrapper) {
|
|
209
|
+
return wrapper;
|
|
210
|
+
};
|
|
190
211
|
export default Pills;
|
|
191
212
|
//# sourceMappingURL=Pills.js.map
|
package/lib/es6/Pills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.js","names":["NeighborLocation","Box","useNeighborLocationDetect","createComponent","Component","sstyled","Root","addonTextChildren","a11yEnhance","React","style","_sstyled","insert","RootPills","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","value","e","handlers","key","preventDefault","_inherits","_createClass","uncontrolledProps","getItemProps","props","index","_this$asProps","asProps","size","disabled","behavior","isSelected","itemValues","selected","tabIndex","onClick","bindHandlerClick","onKeyDown","bindHandleKeyDown","render","_ref","_ref5","SPills","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread","_assignProps","_ref9","defaultValue","onNeighborChange","neighborElement","focus","click","childSelector","selector","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","roleAreaProps","undefined","_assignProps2","Pills","Item","Addon","tag","Text","_ref3","_ref7","SText","_assignProps3","_ref4","_ref8","SAddon","_assignProps4","wrapPills","wrapper"],"sources":["../../src/Pills.tsx"],"sourcesContent":["import { NeighborLocation, Box, useNeighborLocationDetect } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\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 type { NSPills } from './Pills.type';\nimport style from './style/pills.shadow.css';\n\nclass RootPills extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPills.Component>,\n typeof RootPills.enhance,\n NSPills.Handlers\n> {\n static displayName = 'Pills';\n static style = style;\n static defaultProps = ({ behavior }: NSPills.Props) => ({\n size: 'm',\n defaultValue: null,\n behavior: behavior ?? 'auto',\n });\n\n itemValues: Array<NSPills.Pill.Props['value']> = [];\n\n static enhance = [a11yEnhance({\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 const selector = props.behavior === 'auto' ? ['role', 'radio'] : ['role', 'tab'];\n\n return selector as [string, string];\n },\n })] as const;\n\n uncontrolledProps() {\n return {\n value: (value: NSPills.Pill.Props['value'], e: React.SyntheticEvent) => value,\n };\n }\n\n bindHandlerClick = (value: NSPills.Pill.Props['value']) => (e: React.MouseEvent) => {\n this.handlers.value(value, e);\n };\n\n bindHandleKeyDown = (value: NSPills.Pill.Props['value']) => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handlers.value(value, e);\n }\n };\n\n getItemProps(props: NSPills.Pill.Props, index: number) {\n const { value, size, disabled, behavior } = this.asProps;\n const isSelected = value === props.value;\n\n this.itemValues[index] = props.value;\n\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 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: Intergalactic.InternalTypings.InferChildComponentProps<NSPills.Pill.Component, typeof RootPills, 'Item'>) {\n const SPill = Root;\n const { Children, styles, addonLeft, addonRight, selected, disabled, index, behavior } = props;\n const neighborLocation = useNeighborLocationDetect(index);\n\n const roleAreaProps = {\n 'role': behavior === 'auto' ? 'radio' : 'tab',\n 'aria-checked': behavior === 'auto' ? selected : undefined,\n 'aria-selected': behavior !== 'auto' ? selected : undefined,\n };\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: Intergalactic.InternalTypings.InferComponentProps<NSPills.Pill.Text.Component>) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props: Intergalactic.InternalTypings.InferComponentProps<NSPills.Pill.Addon.Component>) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nexport const wrapPills = <PropsExtending extends {}>(wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSPills.WrapComponent>\n > &\n PropsExtending,\n) => React.ReactNode) => wrapper as NSPills.WrapComponent<PropsExtending>;\n\nconst Pills = createComponent(RootPills, {\n Item: [Pill, { Text, Addon }],\n}) as unknown as NSPills.Component;\n\nexport default Pills;\n"],"mappings":";;;;;;;;;;;AAAA,SAASA,gBAAgB,EAAEC,GAAG,EAAEC,yBAAyB,QAAQ,0BAA0B;AAE3F,SAASC,eAAe,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACzE,OAAOC,iBAAiB,MAAM,2CAA2C;AACzE,OAAOC,WAAW,MAAM,8CAA8C;AACtE,OAAOC,KAAK,MAAM,OAAO;AAAC;AAAA,IAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAKpBC,SAAS,0BAAAC,UAAA;EAAA,SAAAD,UAAA;IAAA,IAAAE,KAAA;IAAAC,eAAA,OAAAH,SAAA;IAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAQ,UAAA,OAAAV,SAAA,KAAAW,MAAA,CAAAJ,IAAA;IAAAK,eAAA,CAAAV,KAAA,gBAaoC,EAAE;IAAAU,eAAA,CAAAV,KAAA,sBAwBhC,UAACW,KAAkC;MAAA,OAAK,UAACC,CAAmB,EAAK;QAClFZ,KAAA,CAAKa,QAAQ,CAACF,KAAK,CAACA,KAAK,EAAEC,CAAC,CAAC;MAC/B,CAAC;IAAA;IAAAF,eAAA,CAAAV,KAAA,uBAEmB,UAACW,KAAkC;MAAA,OAAK,UAACC,CAAsB,EAAK;QACtF,IAAIA,CAAC,CAACE,GAAG,KAAK,OAAO,IAAIF,CAAC,CAACE,GAAG,KAAK,GAAG,EAAE;UACtCF,CAAC,CAACG,cAAc,CAAC,CAAC;UAClBf,KAAA,CAAKa,QAAQ,CAACF,KAAK,CAACA,KAAK,EAAEC,CAAC,CAAC;QAC/B;MACF,CAAC;IAAA;IAAA,OAAAZ,KAAA;EAAA;EAAAgB,SAAA,CAAAlB,SAAA,EAAAC,UAAA;EAAA,OAAAkB,YAAA,CAAAnB,SAAA;IAAAgB,GAAA;IAAAH,KAAA,EAfD,SAAAO,iBAAiBA,CAAA,EAAG;MAClB,OAAO;QACLP,KAAK,EAAE,SAAPA,KAAKA,CAAGA,MAAkC,EAAEC,CAAuB;UAAA,OAAKD,MAAK;QAAA;MAC/E,CAAC;IACH;EAAC;IAAAG,GAAA;IAAAH,KAAA,EAaD,SAAAQ,YAAYA,CAACC,KAAyB,EAAEC,KAAa,EAAE;MACrD,IAAAC,aAAA,GAA4C,IAAI,CAACC,OAAO;QAAhDZ,KAAK,GAAAW,aAAA,CAALX,KAAK;QAAEa,IAAI,GAAAF,aAAA,CAAJE,IAAI;QAAEC,QAAQ,GAAAH,aAAA,CAARG,QAAQ;QAAEC,QAAQ,GAAAJ,aAAA,CAARI,QAAQ;MACvC,IAAMC,UAAU,GAAGhB,KAAK,KAAKS,KAAK,CAACT,KAAK;MAExC,IAAI,CAACiB,UAAU,CAACP,KAAK,CAAC,GAAGD,KAAK,CAACT,KAAK;MAEpC,OAAO;QACLU,KAAK,EAAEA,KAAK;QACZG,IAAI,EAAJA,IAAI;QACJC,QAAQ,EAARA,QAAQ;QACRI,QAAQ,EAAEF,UAAU;QACpBD,QAAQ,EAARA,QAAQ;QACRI,QAAQ,EAAEH,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7BI,OAAO,EAAE,IAAI,CAACC,gBAAgB,CAACZ,KAAK,CAACT,KAAK,CAAC;QAC3CsB,SAAS,EAAE,IAAI,CAACC,iBAAiB,CAACd,KAAK,CAACT,KAAK;MAC/C,CAAC;IACH;EAAC;IAAAG,GAAA;IAAAH,KAAA,EAED,SAAAwB,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA,QAAAb,OAAA;QAAAc,KAAA;MACP,IAAMC,MAAM,GAKApD,GAAG;MAJf,IAAAqD,cAAA,GAAwE,IAAI,CAAChB,OAAO;QAA5EiB,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEC,cAAc,GAAAH,cAAA,CAAdG,cAAc;QAAEjB,QAAQ,GAAAc,cAAA,CAARd,QAAQ;QAAEC,QAAQ,GAAAa,cAAA,CAARb,QAAQ;QAAEf,KAAK,GAAA4B,cAAA,CAAL5B,KAAK;MAEnE,OAAA0B,KAAA,GAAO/C,OAAO,CAACmD,MAAM,CAAC,eACpB/C,KAAA,CAAAiD,aAAA,CAACL,MAAM,EAAAD,KAAA,CAAAO,EAAA,WAAAC,aAAA,KAAAC,YAAA;QAAA,QAECpB,QAAQ,KAAK,MAAM,GAAG,YAAY,GAAG,SAAS;QAAA,iBACrCD,QAAQ;QAAA,gBACTd,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG;MAAC,GAAAyB,IAAA,kBAErC1C,KAAA,CAAAiD,aAAA,CAAC1D,gBAAgB,EAAAoD,KAAA,CAAAO,EAAA;QAAA,kBAAiBF;MAAc,iBAC9ChD,KAAA,CAAAiD,aAAA,CAACH,QAAQ,EAAAH,KAAA,CAAAO,EAAA,gBAAE,CACK,CACZ,CAAC;IAEb;EAAC;AAAA,EAlFqBvD,SAAS;AAAAqB,eAAA,CAA3BZ,SAAS,iBAKQ,OAAO;AAAAY,eAAA,CALxBZ,SAAS,WAMEH,KAAK;AAAAe,eAAA,CANhBZ,SAAS,kBAOS,UAAAiD,KAAA;EAAA,IAAGrB,QAAQ,GAAAqB,KAAA,CAARrB,QAAQ;EAAA,OAAuB;IACtDF,IAAI,EAAE,GAAG;IACTwB,YAAY,EAAE,IAAI;IAClBtB,QAAQ,EAAEA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI;EACxB,CAAC;AAAA,CAAC;AAAAhB,eAAA,CAXEZ,SAAS,aAeI,CAACL,WAAW,CAAC;EAC5BwD,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAGC,eAAe,EAAE9B,KAAK,EAAK;IAC5C,IAAI8B,eAAe,EAAE;MACnBA,eAAe,CAACC,KAAK,CAAC,CAAC;MACvB,IAAI/B,KAAK,CAACM,QAAQ,KAAK,MAAM,EAAE;QAC7BwB,eAAe,CAACE,KAAK,CAAC,CAAC;MACzB;IACF;EACF,CAAC;EACDC,aAAa,EAAE,SAAfA,aAAaA,CAAGjC,KAAK,EAAK;IACxB,IAAMkC,QAAQ,GAAGlC,KAAK,CAACM,QAAQ,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAEhF,OAAO4B,QAAQ;EACjB;AACF,CAAC,CAAC,CAAC;AAwDL,SAASC,IAAIA,CAACnC,KAA+G,EAAE;EAAA,IAAAoC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAC7H,IAAMC,KAAK,GAYCzE,GAAG;EAXf,IAAQsD,QAAQ,GAAyEpB,KAAK,CAAtFoB,QAAQ;IAAEC,MAAM,GAAiErB,KAAK,CAA5EqB,MAAM;IAAEmB,SAAS,GAAsDxC,KAAK,CAApEwC,SAAS;IAAEC,UAAU,GAA0CzC,KAAK,CAAzDyC,UAAU;IAAEhC,QAAQ,GAAgCT,KAAK,CAA7CS,QAAQ;IAAEJ,QAAQ,GAAsBL,KAAK,CAAnCK,QAAQ;IAAEJ,KAAK,GAAeD,KAAK,CAAzBC,KAAK;IAAEK,QAAQ,GAAKN,KAAK,CAAlBM,QAAQ;EACpF,IAAMoC,gBAAgB,GAAG3E,yBAAyB,CAACkC,KAAK,CAAC;EAEzD,IAAM0C,aAAa,GAAG;IACpB,MAAM,EAAErC,QAAQ,KAAK,MAAM,GAAG,OAAO,GAAG,KAAK;IAC7C,cAAc,EAAEA,QAAQ,KAAK,MAAM,GAAGG,QAAQ,GAAGmC,SAAS;IAC1D,eAAe,EAAEtC,QAAQ,KAAK,MAAM,GAAGG,QAAQ,GAAGmC;EACpD,CAAC;EAED,OAAAN,KAAA,GAAOpE,OAAO,CAACmD,MAAM,CAAC,eACpB/C,KAAA,CAAAiD,aAAA,CAACgB,KAAK,EAAAD,KAAA,CAAAd,EAAA,UAAAC,aAAA,KAAAoB,aAAA,CAAApB,aAAA;IAAA,OAEA,QAAQ;IAAA,QACP,QAAQ;IAAA,YACH,CAAC;IAAA,oBACOiB,gBAAgB;IAAA,iBACnBrC;EAAQ,GACnBsC,aAAa,GAAAP,KAAA,KAEhBI,SAAS,gBAAGlE,KAAA,CAAAiD,aAAA,CAACuB,KAAK,CAACC,IAAI,CAACC,KAAK;IAACC,GAAG,EAAET;EAAU,CAAE,CAAC,GAAG,IAAI,EACvDpE,iBAAiB,CAACgD,QAAQ,EAAE0B,KAAK,CAACC,IAAI,CAACG,IAAI,EAAEJ,KAAK,CAACC,IAAI,CAACC,KAAK,CAAC,EAC9DP,UAAU,gBAAGnE,KAAA,CAAAiD,aAAA,CAACuB,KAAK,CAACC,IAAI,CAACC,KAAK;IAACC,GAAG,EAAER;EAAW,CAAE,CAAC,GAAG,IACjD,CAAC;AAEZ;AAEA,SAASS,IAAIA,CAAClD,KAAqF,EAAE;EAAA,IAAAmD,KAAA,GAAAd,YAAA;IAAAe,KAAA;EACnG,IAAMC,KAAK,GACiCvF,GAAG;EAA/C,OAAAsF,KAAA,GAAOlF,OAAO,CAAC8B,KAAK,CAACqB,MAAM,CAAC,eAAC/C,KAAA,CAAAiD,aAAA,CAAC8B,KAAK,EAAAD,KAAA,CAAA5B,EAAA,UAAAC,aAAA,KAAA6B,aAAA;IAAA,OAAkB;EAAM,GAAAH,KAAA,GAAE,CAAC;AAChE;AAEA,SAASH,KAAKA,CAAChD,KAAsF,EAAE;EAAA,IAAAuD,KAAA,GAAAlB,YAAA;IAAAmB,KAAA;EACrG,IAAMC,MAAM,GACiC3F,GAAG;EAAhD,OAAA0F,KAAA,GAAOtF,OAAO,CAAC8B,KAAK,CAACqB,MAAM,CAAC,eAAC/C,KAAA,CAAAiD,aAAA,CAACkC,MAAM,EAAAD,KAAA,CAAAhC,EAAA,WAAAC,aAAA,KAAAiC,aAAA;IAAA,OAAkB;EAAM,GAAAH,KAAA,GAAE,CAAC;AACjE;AAEA,OAAO,IAAMI,SAAS,GAAG,SAAZA,SAASA,CAA+BC,OAKjC;EAAA,OAAKA,OAAO;AAAA,CAAyC;AAEzE,IAAMd,KAAK,GAAG9E,eAAe,CAACU,SAAS,EAAE;EACvCqE,IAAI,EAAE,CAACZ,IAAI,EAAE;IAAEe,IAAI,EAAJA,IAAI;IAAEF,KAAK,EAALA;EAAM,CAAC;AAC9B,CAAC,CAAiC;AAElC,eAAeF,KAAK","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Pills.js","names":["createComponent","Component","sstyled","Root","addonTextChildren","a11yEnhance","log","Box","NeighborLocation","useNeighborLocationDetect","React","style","_sstyled","insert","optionsA11yEnhance","onNeighborChange","neighborElement","props","focus","behavior","click","childSelector","RootPills","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","value","e","handlers","event","key","preventDefault","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","_inherits","_createClass","componentDidMount","warn","asProps","uncontrolledProps","getItemProps","index","_this$asProps","size","isSelected","selected","tabIndex","onClick","bindHandlerClick","onKeyDown","bindHandleKeyDown","render","_ref","_ref5","SPills","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread","_assignProps","_ref9","defaultValue","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","roleAreaProps","role","_assignProps2","Pills","Item","Addon","tag","Text","_ref3","_ref7","SText","_assignProps3","_ref4","_ref8","SAddon","_assignProps4","wrapPills","wrapper"],"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":[]}
|
|
@@ -0,0 +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":[]}
|
package/lib/es6/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { default
|
|
2
|
-
export * from './Pills
|
|
1
|
+
export { default } from './Pills';
|
|
2
|
+
export * from './Pills';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Pills';\nexport * from './Pills';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,SAAS;AACjC,cAAc,SAAS","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ SPills {
|
|
|
7
7
|
|
|
8
8
|
SPill[selected] {
|
|
9
9
|
background: var(--intergalactic-control-secondary-info, oklch(0.527 0.264 262.9 / 0.039));
|
|
10
|
-
border-color: var(--intergalactic-border-info-active, oklch(0.
|
|
10
|
+
border-color: var(--intergalactic-border-info-active, oklch(0.443 0.273 264.2 / 0.419));
|
|
11
11
|
z-index: 3;
|
|
12
12
|
}
|
|
13
13
|
SPill:focus-visible, SPill[selected] {
|
package/lib/esm/Pills.mjs
CHANGED
|
@@ -4,34 +4,49 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
4
4
|
import _callSuper from "@babel/runtime/helpers/esm/callSuper";
|
|
5
5
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
6
6
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
7
|
-
import { sstyled, assignProps, Component
|
|
8
|
-
import { Box, NeighborLocation, useNeighborLocationDetect } from "@semcore/base-components";
|
|
7
|
+
import { sstyled, createComponent, assignProps, Component } from "@semcore/core";
|
|
9
8
|
import addonTextChildren from "@semcore/core/lib/utils/addonTextChildren";
|
|
10
9
|
import a11yEnhance from "@semcore/core/lib/utils/enhances/a11yEnhance";
|
|
10
|
+
import log from "@semcore/core/lib/utils/logger";
|
|
11
|
+
import { Box } from "@semcore/flex-box";
|
|
12
|
+
import NeighborLocation, { useNeighborLocationDetect } from "@semcore/neighbor-location";
|
|
11
13
|
import React from "react";
|
|
12
14
|
/*!__reshadow-styles__:"./style/pills.shadow.css"*/
|
|
13
15
|
var style = (
|
|
14
16
|
/*__reshadow_css_start__*/
|
|
15
17
|
(sstyled.insert(
|
|
16
18
|
/*__inner_css_start__*/
|
|
17
|
-
".
|
|
19
|
+
".___SPills_1kwud_gg_{display:inline-flex;align-items:center;justify-content:center;isolation:isolate;border-radius:var(--intergalactic-control-rounded, 6px)}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039));border-color:var(--intergalactic-border-info-active, rgba(0, 40, 230, 0.419));z-index:3}@supports (color:color(display-p3 0 0 0%)){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 81, 255, 0.039))}@media (color-gamut:p3){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_{background:var(--intergalactic-control-secondary-info, color(display-p3 0.12567 0.31309 0.96324 / 0.039))}}}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_.__selected_1kwud_gg_,.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:focus-visible{z-index:3}.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:active{z-index:2}@media (hover:hover){.___SPills_1kwud_gg_ .___SPill_1kwud_gg_:hover{z-index:2}}.___SPill_1kwud_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, rgb(255, 255, 255));border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));border-radius:var(--intergalactic-control-rounded, 6px)}@supports (color:color(display-p3 0 0 0%)){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPill_1kwud_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SPill_1kwud_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_1kwud_gg_:active{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_1kwud_gg_:hover{background:var(--intergalactic-bg-primary-neutral-hover, rgb(248, 249, 248))}}.___SPill_1kwud_gg_.__disabled_1kwud_gg_{cursor:default;pointer-events:none}.___SPill_1kwud_gg_.__disabled_1kwud_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.4)}.___SText_1kwud_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));display:inline-flex}.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));display:inline-flex;align-items:center;justify-content:center}@supports (color:color(display-p3 0 0 0%)){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SAddon_1kwud_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPill_1kwud_gg_._size_m_1kwud_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_,.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SText_1kwud_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_m_1kwud_gg_ .___SAddon_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:only-child,.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SText_1kwud_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._size_l_1kwud_gg_ .___SAddon_1kwud_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_1kwud_gg_._neighborLocation_right_1kwud_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_1kwud_gg_._neighborLocation_both_1kwud_gg_{border-radius:0;margin-left:-1px}.___SPill_1kwud_gg_._neighborLocation_left_1kwud_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}",
|
|
18
20
|
/*__inner_css_end__*/
|
|
19
|
-
"
|
|
21
|
+
"1kwud_gg_"
|
|
20
22
|
), /*__reshadow_css_end__*/
|
|
21
23
|
{
|
|
22
|
-
"__SText": "
|
|
23
|
-
"__SAddon": "
|
|
24
|
-
"__SPill": "
|
|
25
|
-
"_neighborLocation_right": "
|
|
26
|
-
"_neighborLocation_both": "
|
|
27
|
-
"_neighborLocation_left": "
|
|
28
|
-
"__SPills": "
|
|
29
|
-
"_selected": "
|
|
30
|
-
"_disabled": "
|
|
31
|
-
"_size_m": "
|
|
32
|
-
"_size_l": "
|
|
24
|
+
"__SText": "___SText_1kwud_gg_",
|
|
25
|
+
"__SAddon": "___SAddon_1kwud_gg_",
|
|
26
|
+
"__SPill": "___SPill_1kwud_gg_",
|
|
27
|
+
"_neighborLocation_right": "_neighborLocation_right_1kwud_gg_",
|
|
28
|
+
"_neighborLocation_both": "_neighborLocation_both_1kwud_gg_",
|
|
29
|
+
"_neighborLocation_left": "_neighborLocation_left_1kwud_gg_",
|
|
30
|
+
"__SPills": "___SPills_1kwud_gg_",
|
|
31
|
+
"_selected": "__selected_1kwud_gg_",
|
|
32
|
+
"_disabled": "__disabled_1kwud_gg_",
|
|
33
|
+
"_size_m": "_size_m_1kwud_gg_",
|
|
34
|
+
"_size_l": "_size_l_1kwud_gg_"
|
|
33
35
|
})
|
|
34
36
|
);
|
|
37
|
+
var optionsA11yEnhance = {
|
|
38
|
+
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
39
|
+
if (neighborElement) {
|
|
40
|
+
neighborElement.focus();
|
|
41
|
+
if (props.behavior === "auto" || props.behavior === "radio") {
|
|
42
|
+
neighborElement.click();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
childSelector: function childSelector(props) {
|
|
47
|
+
return props.behavior === "auto" || props.behavior === "radio" ? ["role", "radio"] : ["role", "tab"];
|
|
48
|
+
}
|
|
49
|
+
};
|
|
35
50
|
var RootPills = /* @__PURE__ */ (function(_Component) {
|
|
36
51
|
function RootPills2() {
|
|
37
52
|
var _this;
|
|
@@ -47,23 +62,39 @@ var RootPills = /* @__PURE__ */ (function(_Component) {
|
|
|
47
62
|
};
|
|
48
63
|
});
|
|
49
64
|
_defineProperty(_this, "bindHandleKeyDown", function(value) {
|
|
50
|
-
return function(
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
_this.handlers.value(value,
|
|
65
|
+
return function(event) {
|
|
66
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
67
|
+
event.preventDefault();
|
|
68
|
+
_this.handlers.value(value, event);
|
|
54
69
|
}
|
|
55
70
|
};
|
|
56
71
|
});
|
|
72
|
+
_defineProperty(_this, "changeIndex", function(startIndex, type) {
|
|
73
|
+
var selectable = false;
|
|
74
|
+
while (!selectable && startIndex >= 0 && startIndex < _this.itemValues.length) {
|
|
75
|
+
if (type === "increment") startIndex++;
|
|
76
|
+
if (type === "decrement") startIndex--;
|
|
77
|
+
var element = _this.itemRefs[startIndex];
|
|
78
|
+
if ((element === null || element === void 0 ? void 0 : element.disabled) === false) {
|
|
79
|
+
selectable = true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return startIndex >= 0 && startIndex < _this.itemValues.length ? startIndex : void 0;
|
|
83
|
+
});
|
|
57
84
|
return _this;
|
|
58
85
|
}
|
|
59
86
|
_inherits(RootPills2, _Component);
|
|
60
87
|
return _createClass(RootPills2, [{
|
|
88
|
+
key: "componentDidMount",
|
|
89
|
+
value: function componentDidMount() {
|
|
90
|
+
log.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");
|
|
91
|
+
log.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");
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
61
94
|
key: "uncontrolledProps",
|
|
62
95
|
value: function uncontrolledProps() {
|
|
63
96
|
return {
|
|
64
|
-
value:
|
|
65
|
-
return _value;
|
|
66
|
-
}
|
|
97
|
+
value: null
|
|
67
98
|
};
|
|
68
99
|
}
|
|
69
100
|
}, {
|
|
@@ -90,7 +121,7 @@ var RootPills = /* @__PURE__ */ (function(_Component) {
|
|
|
90
121
|
var SPills = Box;
|
|
91
122
|
var _this$asProps2 = this.asProps, Children = _this$asProps2.Children, styles = _this$asProps2.styles, controlsLength = _this$asProps2.controlsLength, disabled = _this$asProps2.disabled, behavior = _this$asProps2.behavior, value = _this$asProps2.value;
|
|
92
123
|
return _ref5 = sstyled(styles), /* @__PURE__ */ React.createElement(SPills, _ref5.cn("SPills", _objectSpread({}, assignProps({
|
|
93
|
-
"role": behavior === "auto" ? "radiogroup" : "tablist",
|
|
124
|
+
"role": behavior === "radio" || behavior === "auto" ? "radiogroup" : "tablist",
|
|
94
125
|
"aria-disabled": disabled,
|
|
95
126
|
"use:tabIndex": value !== null ? -1 : 0
|
|
96
127
|
}, _ref))), /* @__PURE__ */ React.createElement(NeighborLocation, _ref5.cn("NeighborLocation", {
|
|
@@ -109,30 +140,20 @@ _defineProperty(RootPills, "defaultProps", function(_ref9) {
|
|
|
109
140
|
behavior: behavior !== null && behavior !== void 0 ? behavior : "auto"
|
|
110
141
|
};
|
|
111
142
|
});
|
|
112
|
-
_defineProperty(RootPills, "enhance", [a11yEnhance(
|
|
113
|
-
onNeighborChange: function onNeighborChange(neighborElement, props) {
|
|
114
|
-
if (neighborElement) {
|
|
115
|
-
neighborElement.focus();
|
|
116
|
-
if (props.behavior === "auto") {
|
|
117
|
-
neighborElement.click();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
childSelector: function childSelector(props) {
|
|
122
|
-
var selector = props.behavior === "auto" ? ["role", "radio"] : ["role", "tab"];
|
|
123
|
-
return selector;
|
|
124
|
-
}
|
|
125
|
-
})]);
|
|
143
|
+
_defineProperty(RootPills, "enhance", [a11yEnhance(optionsA11yEnhance)]);
|
|
126
144
|
function Pill(props) {
|
|
127
145
|
var _ref2 = arguments[0], _ref6;
|
|
128
146
|
var SPill = Box;
|
|
129
147
|
var Children = props.Children, styles = props.styles, addonLeft = props.addonLeft, addonRight = props.addonRight, selected = props.selected, disabled = props.disabled, index = props.index, behavior = props.behavior;
|
|
130
148
|
var neighborLocation = useNeighborLocationDetect(index);
|
|
131
|
-
var roleAreaProps = {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
"aria-
|
|
135
|
-
}
|
|
149
|
+
var roleAreaProps = {};
|
|
150
|
+
if (behavior === "radio" || behavior === "auto") {
|
|
151
|
+
roleAreaProps.role = "radio";
|
|
152
|
+
roleAreaProps["aria-checked"] = selected;
|
|
153
|
+
} else {
|
|
154
|
+
roleAreaProps.role = "tab";
|
|
155
|
+
roleAreaProps["aria-selected"] = selected;
|
|
156
|
+
}
|
|
136
157
|
return _ref6 = sstyled(styles), /* @__PURE__ */ React.createElement(SPill, _ref6.cn("SPill", _objectSpread({}, assignProps(_objectSpread({
|
|
137
158
|
"tag": "button",
|
|
138
159
|
"type": "button",
|
|
@@ -159,15 +180,15 @@ function Addon(props) {
|
|
|
159
180
|
"tag": "span"
|
|
160
181
|
}, _ref4))));
|
|
161
182
|
}
|
|
162
|
-
var wrapPills = function wrapPills2(wrapper) {
|
|
163
|
-
return wrapper;
|
|
164
|
-
};
|
|
165
183
|
var Pills = createComponent(RootPills, {
|
|
166
184
|
Item: [Pill, {
|
|
167
185
|
Text,
|
|
168
186
|
Addon
|
|
169
187
|
}]
|
|
170
188
|
});
|
|
189
|
+
var wrapPills = function wrapPills2(wrapper) {
|
|
190
|
+
return wrapper;
|
|
191
|
+
};
|
|
171
192
|
export {
|
|
172
193
|
Pills as default,
|
|
173
194
|
wrapPills
|
package/lib/esm/index.mjs
CHANGED
|
@@ -7,7 +7,7 @@ SPills {
|
|
|
7
7
|
|
|
8
8
|
SPill[selected] {
|
|
9
9
|
background: var(--intergalactic-control-secondary-info, oklch(0.527 0.264 262.9 / 0.039));
|
|
10
|
-
border-color: var(--intergalactic-border-info-active, oklch(0.
|
|
10
|
+
border-color: var(--intergalactic-border-info-active, oklch(0.443 0.273 264.2 / 0.419));
|
|
11
11
|
z-index: 3;
|
|
12
12
|
}
|
|
13
13
|
SPill:focus-visible, SPill[selected] {
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,2 +1,111 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
|
|
2
|
+
import type { Box, BoxProps } from '@semcore/flex-box';
|
|
3
|
+
import type { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';
|
|
4
|
+
import type React from 'react';
|
|
5
|
+
|
|
6
|
+
export type PillsValue = string | number | boolean | null;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
* use `manual`
|
|
11
|
+
*/
|
|
12
|
+
export type DeprecatedBehaviorTabs = 'tabs';
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
* use `auto`
|
|
16
|
+
*/
|
|
17
|
+
export type DeprecatedBehaviorRadio = 'radio';
|
|
18
|
+
|
|
19
|
+
/** @deprecated */
|
|
20
|
+
export interface IPillsProps<T extends PillsValue = PillsValue>
|
|
21
|
+
extends PillsProps<T>,
|
|
22
|
+
UnknownProperties {}
|
|
23
|
+
export type PillsProps<T extends PillsValue = PillsValue> = NeighborLocationProps &
|
|
24
|
+
BoxProps & {
|
|
25
|
+
/** Pills size */
|
|
26
|
+
size?: 'l' | 'm';
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Called when the selection is changed */
|
|
30
|
+
onChange?:
|
|
31
|
+
| ((value: T, e?: React.SyntheticEvent<HTMLSpanElement>) => void)
|
|
32
|
+
| React.Dispatch<React.SetStateAction<T>>;
|
|
33
|
+
/** Value for the selected pill */
|
|
34
|
+
value?: T;
|
|
35
|
+
/** Default value for the selected pill */
|
|
36
|
+
defaultValue?: T;
|
|
37
|
+
/** Sets semantic role for corresponding behavior,
|
|
38
|
+
* when set to `auto` pressing left and right arrows
|
|
39
|
+
* selects corresponding sibling pill.
|
|
40
|
+
*
|
|
41
|
+
* It's recommended to use `auto` behavior in forms
|
|
42
|
+
* while `manual` behavior for navigation and layout.
|
|
43
|
+
* @default tabs
|
|
44
|
+
*/
|
|
45
|
+
behavior?:
|
|
46
|
+
DeprecatedBehaviorTabs | DeprecatedBehaviorRadio
|
|
47
|
+
| 'auto'
|
|
48
|
+
| 'manual';
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** @deprecated */
|
|
52
|
+
export interface IPillProps extends PillProps, UnknownProperties {}
|
|
53
|
+
export type PillProps = BoxProps &
|
|
54
|
+
NeighborItemProps & {
|
|
55
|
+
/** Pill value */
|
|
56
|
+
value?: PillsValue;
|
|
57
|
+
/** Disabled state */
|
|
58
|
+
disabled?: boolean;
|
|
59
|
+
/** Selected state */
|
|
60
|
+
selected?: boolean;
|
|
61
|
+
/** Left addon text */
|
|
62
|
+
addonLeft?: React.ElementType;
|
|
63
|
+
/** Right addon tag */
|
|
64
|
+
addonRight?: React.ElementType;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/** @deprecated */
|
|
68
|
+
export interface IPillsContext extends PillsContext, UnknownProperties {}
|
|
69
|
+
export type PillsContext = {
|
|
70
|
+
getItemProps: PropGetterFn;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/** @deprecated */
|
|
74
|
+
export interface IPillsHandlers extends PillsHandlers, UnknownProperties {}
|
|
75
|
+
export type PillsHandlers = {
|
|
76
|
+
value: (value: PillsValue) => void;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
type IntergalacticPillsComponent<PropsExtending = {}> = (<
|
|
80
|
+
Value extends PillsValue,
|
|
81
|
+
Tag extends Intergalactic.Tag = 'div',
|
|
82
|
+
>(
|
|
83
|
+
props: Intergalactic.InternalTypings.ComponentProps<
|
|
84
|
+
Tag,
|
|
85
|
+
'div',
|
|
86
|
+
PillsProps<Value>,
|
|
87
|
+
PillsContext,
|
|
88
|
+
[handlers: PillsHandlers]
|
|
89
|
+
> &
|
|
90
|
+
PropsExtending,
|
|
91
|
+
) => Intergalactic.InternalTypings.ComponentRenderingResults) &
|
|
92
|
+
Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', PillsProps>;
|
|
93
|
+
|
|
94
|
+
declare const Pills: IntergalacticPillsComponent & {
|
|
95
|
+
Item: Intergalactic.Component<'button', PillProps, [handlers: PillsHandlers]> & {
|
|
96
|
+
Text: typeof Box;
|
|
97
|
+
Addon: typeof Box;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
declare const wrapPills: <PropsExtending extends {}>(
|
|
102
|
+
wrapper: (
|
|
103
|
+
props: Intergalactic.InternalTypings.UntypeRefAndTag<
|
|
104
|
+
Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticPillsComponent>
|
|
105
|
+
> &
|
|
106
|
+
PropsExtending,
|
|
107
|
+
) => React.ReactNode,
|
|
108
|
+
) => IntergalacticPillsComponent<PropsExtending>;
|
|
109
|
+
export { wrapPills };
|
|
110
|
+
|
|
111
|
+
export default Pills;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/pills",
|
|
3
3
|
"description": "Semrush Pills Component",
|
|
4
|
-
"version": "16.1.
|
|
4
|
+
"version": "16.1.1",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/flex-box": "16.1.
|
|
18
|
-
"@semcore/neighbor-location": "16.1.
|
|
17
|
+
"@semcore/flex-box": "16.1.1",
|
|
18
|
+
"@semcore/neighbor-location": "16.1.1"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"@semcore/base-components": "^16.6.0"
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@semcore/core": "16.6.0",
|
|
30
30
|
"@semcore/testing-utils": "1.0.0",
|
|
31
|
-
"@semcore/
|
|
32
|
-
"@semcore/
|
|
31
|
+
"@semcore/icon": "16.8.1",
|
|
32
|
+
"@semcore/badge": "16.1.1"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|
package/lib/cjs/Pills.type.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.type.js","names":[],"sources":["../../src/Pills.type.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\ndeclare namespace NSPills {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = string | number | boolean | null;\n type Props<T extends NSPills.Value = NSPills.Value> = NeighborLocationProps & 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 type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: (value: Props['value'], event: React.SyntheticEvent) => Props['value'];\n };\n namespace Pill {\n type Props = BoxProps & NeighborItemProps & {\n /** Pill value */\n value?: NSPills.Value;\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 namespace Text {\n type Component = typeof Box;\n }\n namespace Addon {\n type Component = typeof Box;\n }\n\n type Component = Intergalactic.Component<'button', Props, [handlers: Handlers]>;\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx,\n [handlers: Handlers]\n > &\n PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Pill.Component & {\n Text: Pill.Text.Component;\n Addon: Pill.Addon.Component;\n };\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PillsValue = NSPills.Value;\n/** @deprecated It will be removed in v18. */\nexport type PillsProps<T extends PillsValue = PillsValue> = NSPills.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type PillProps = NSPills.Pill.Props;\n/** @deprecated It will be removed in v18. */\nexport type PillsContext = NSPills.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PillsHandlers = NSPills.Handlers;\n\nexport type { NSPills };\n"],"mappings":"","ignoreList":[]}
|
package/lib/es6/Pills.type.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.type.js","names":[],"sources":["../../src/Pills.type.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\ndeclare namespace NSPills {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = string | number | boolean | null;\n type Props<T extends NSPills.Value = NSPills.Value> = NeighborLocationProps & 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 type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: (value: Props['value'], event: React.SyntheticEvent) => Props['value'];\n };\n namespace Pill {\n type Props = BoxProps & NeighborItemProps & {\n /** Pill value */\n value?: NSPills.Value;\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 namespace Text {\n type Component = typeof Box;\n }\n namespace Addon {\n type Component = typeof Box;\n }\n\n type Component = Intergalactic.Component<'button', Props, [handlers: Handlers]>;\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx,\n [handlers: Handlers]\n > &\n PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Pill.Component & {\n Text: Pill.Text.Component;\n Addon: Pill.Addon.Component;\n };\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PillsValue = NSPills.Value;\n/** @deprecated It will be removed in v18. */\nexport type PillsProps<T extends PillsValue = PillsValue> = NSPills.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type PillProps = NSPills.Pill.Props;\n/** @deprecated It will be removed in v18. */\nexport type PillsContext = NSPills.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PillsHandlers = NSPills.Handlers;\n\nexport type { NSPills };\n"],"mappings":"","ignoreList":[]}
|
package/lib/esm/Pills.type.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
package/lib/types/Pills.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { Intergalactic } from '@semcore/core';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import type { NSPills } from './Pills.type';
|
|
4
|
-
export declare const wrapPills: <PropsExtending extends {}>(wrapper: (props: Intergalactic.InternalTypings.UntypeRefAndTag<Intergalactic.InternalTypings.ComponentPropsNesting<NSPills.WrapComponent>> & PropsExtending) => React.ReactNode) => NSPills.WrapComponent<PropsExtending>;
|
|
5
|
-
declare const Pills: NSPills.Component;
|
|
6
|
-
export default Pills;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { Box, BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';
|
|
2
|
-
import type { PropGetterFn, Intergalactic } from '@semcore/core';
|
|
3
|
-
import type React from 'react';
|
|
4
|
-
declare namespace NSPills {
|
|
5
|
-
type Value = string | number | boolean | null;
|
|
6
|
-
type Props<T extends NSPills.Value = NSPills.Value> = NeighborLocationProps & BoxProps & {
|
|
7
|
-
/** Pills size */
|
|
8
|
-
size?: 'l' | 'm';
|
|
9
|
-
/** Disabled state */
|
|
10
|
-
disabled?: boolean;
|
|
11
|
-
/** Called when the selection is changed */
|
|
12
|
-
onChange?: ((value: T, e?: React.SyntheticEvent<HTMLSpanElement>) => void) | React.Dispatch<React.SetStateAction<T>>;
|
|
13
|
-
/** Value for the selected pill */
|
|
14
|
-
value?: T;
|
|
15
|
-
/** Default value for the selected pill */
|
|
16
|
-
defaultValue?: T;
|
|
17
|
-
/** Sets semantic role for corresponding behavior,
|
|
18
|
-
* when set to `auto` pressing left and right arrows
|
|
19
|
-
* selects corresponding sibling pill.
|
|
20
|
-
*
|
|
21
|
-
* It's recommended to use `auto` behavior in forms
|
|
22
|
-
* while `manual` behavior for navigation and layout.
|
|
23
|
-
* @default tabs
|
|
24
|
-
*/
|
|
25
|
-
behavior?: 'auto' | 'manual';
|
|
26
|
-
};
|
|
27
|
-
type Ctx = {
|
|
28
|
-
getItemProps: PropGetterFn;
|
|
29
|
-
};
|
|
30
|
-
type Handlers = {
|
|
31
|
-
value: (value: Props['value'], event: React.SyntheticEvent) => Props['value'];
|
|
32
|
-
};
|
|
33
|
-
namespace Pill {
|
|
34
|
-
type Props = BoxProps & NeighborItemProps & {
|
|
35
|
-
/** Pill value */
|
|
36
|
-
value?: NSPills.Value;
|
|
37
|
-
/** Disabled state */
|
|
38
|
-
disabled?: boolean;
|
|
39
|
-
/** Selected state */
|
|
40
|
-
selected?: boolean;
|
|
41
|
-
/** Left addon text */
|
|
42
|
-
addonLeft?: React.ElementType;
|
|
43
|
-
/** Right addon tag */
|
|
44
|
-
addonRight?: React.ElementType;
|
|
45
|
-
};
|
|
46
|
-
namespace Text {
|
|
47
|
-
type Component = typeof Box;
|
|
48
|
-
}
|
|
49
|
-
namespace Addon {
|
|
50
|
-
type Component = typeof Box;
|
|
51
|
-
}
|
|
52
|
-
type Component = Intergalactic.Component<'button', Props, [handlers: Handlers]>;
|
|
53
|
-
}
|
|
54
|
-
type WrapComponent<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', Props<V>, Ctx, [
|
|
55
|
-
handlers: Handlers
|
|
56
|
-
]> & PropsExtending) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;
|
|
57
|
-
type Component = WrapComponent & {
|
|
58
|
-
Item: Pill.Component & {
|
|
59
|
-
Text: Pill.Text.Component;
|
|
60
|
-
Addon: Pill.Addon.Component;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/** @deprecated It will be removed in v18. */
|
|
65
|
-
export type PillsValue = NSPills.Value;
|
|
66
|
-
/** @deprecated It will be removed in v18. */
|
|
67
|
-
export type PillsProps<T extends PillsValue = PillsValue> = NSPills.Props<T>;
|
|
68
|
-
/** @deprecated It will be removed in v18. */
|
|
69
|
-
export type PillProps = NSPills.Pill.Props;
|
|
70
|
-
/** @deprecated It will be removed in v18. */
|
|
71
|
-
export type PillsContext = NSPills.Ctx;
|
|
72
|
-
/** @deprecated It will be removed in v18. */
|
|
73
|
-
export type PillsHandlers = NSPills.Handlers;
|
|
74
|
-
export type { NSPills };
|