@semcore/pills 5.15.1 → 5.16.0
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 +7 -1
- package/lib/cjs/Pills.js +22 -18
- package/lib/cjs/Pills.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/index.js +14 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/es6/Pills.js +20 -17
- package/lib/es6/Pills.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/types/index.d.ts +14 -3
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [5.
|
|
5
|
+
## [5.16.0-prerelease.1] - 2024-01-19
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version preminor update due to children dependencies update (`@semcore/flex-box` [5.14.1 ~> 5.15.0], `@semcore/neighbor-location` [4.13.1 ~> 4.14.0], `@semcore/core` [2.13.1 ~> 2.14.0]).
|
|
10
|
+
|
|
11
|
+
## [5.15.1] - 2024-01-10
|
|
6
12
|
|
|
7
13
|
### Changed
|
|
8
14
|
|
package/lib/cjs/Pills.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = void 0;
|
|
8
|
+
exports.wrapPills = exports["default"] = void 0;
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -21,23 +21,23 @@ var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/e
|
|
|
21
21
|
var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
|
|
22
22
|
var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
|
|
23
23
|
/*__reshadow-styles__:"./style/pills.shadow.css"*/
|
|
24
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__SPills": "
|
|
26
|
-
"__SPill": "
|
|
27
|
-
"_selected": "
|
|
28
|
-
"_keyboardFocused": "
|
|
29
|
-
"_behavior_auto": "
|
|
30
|
-
"_behavior_radio": "
|
|
31
|
-
"__SText": "
|
|
32
|
-
"__SAddon": "
|
|
33
|
-
"_neighborLocation_right": "
|
|
34
|
-
"_neighborLocation_both": "
|
|
35
|
-
"_neighborLocation_left": "
|
|
36
|
-
"_disabled": "
|
|
37
|
-
"_behavior_manual": "
|
|
38
|
-
"_behavior_tabs": "
|
|
39
|
-
"_size_m": "
|
|
40
|
-
"_size_l": "
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPill_7csjd_gg_,.___SPills_7csjd_gg_{display:inline-flex;align-items:center;justify-content:center;outline:0}.___SPills_7csjd_gg_{isolation:isolate}.___SPill_7csjd_gg_{line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_7csjd_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_7csjd_gg_:active,.___SPill_7csjd_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_7csjd_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_7csjd_gg_.__selected_7csjd_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:1}.___SPill_7csjd_gg_.__disabled_7csjd_gg_{cursor:default;pointer-events:none}.___SPill_7csjd_gg_.__disabled_7csjd_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_auto_7csjd_gg_,.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_radio_7csjd_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_manual_7csjd_gg_>.___SPill_7csjd_gg_.__keyboardFocused_7csjd_gg_,.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_tabs_7csjd_gg_>.___SPill_7csjd_gg_.__keyboardFocused_7csjd_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SText_7csjd_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_7csjd_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_7csjd_gg_._size_m_7csjd_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SText_7csjd_gg_,.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SText_7csjd_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:only-child,.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SText_7csjd_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._neighborLocation_right_7csjd_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_7csjd_gg_._neighborLocation_both_7csjd_gg_{border-radius:0;margin-left:-1px}.___SPill_7csjd_gg_._neighborLocation_left_7csjd_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}" /*__inner_css_end__*/, "7csjd_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SPills": "___SPills_7csjd_gg_",
|
|
26
|
+
"__SPill": "___SPill_7csjd_gg_",
|
|
27
|
+
"_selected": "__selected_7csjd_gg_",
|
|
28
|
+
"_keyboardFocused": "__keyboardFocused_7csjd_gg_",
|
|
29
|
+
"_behavior_auto": "_behavior_auto_7csjd_gg_",
|
|
30
|
+
"_behavior_radio": "_behavior_radio_7csjd_gg_",
|
|
31
|
+
"__SText": "___SText_7csjd_gg_",
|
|
32
|
+
"__SAddon": "___SAddon_7csjd_gg_",
|
|
33
|
+
"_neighborLocation_right": "_neighborLocation_right_7csjd_gg_",
|
|
34
|
+
"_neighborLocation_both": "_neighborLocation_both_7csjd_gg_",
|
|
35
|
+
"_neighborLocation_left": "_neighborLocation_left_7csjd_gg_",
|
|
36
|
+
"_disabled": "__disabled_7csjd_gg_",
|
|
37
|
+
"_behavior_manual": "_behavior_manual_7csjd_gg_",
|
|
38
|
+
"_behavior_tabs": "_behavior_tabs_7csjd_gg_",
|
|
39
|
+
"_size_m": "_size_m_7csjd_gg_",
|
|
40
|
+
"_size_l": "_size_l_7csjd_gg_"
|
|
41
41
|
});
|
|
42
42
|
var RootPills = /*#__PURE__*/function (_Component) {
|
|
43
43
|
(0, _inherits2["default"])(RootPills, _Component);
|
|
@@ -223,6 +223,10 @@ var Pills = (0, _core["default"])(RootPills, {
|
|
|
223
223
|
Addon: Addon
|
|
224
224
|
}]
|
|
225
225
|
});
|
|
226
|
+
var wrapPills = function wrapPills(wrapper) {
|
|
227
|
+
return wrapper;
|
|
228
|
+
};
|
|
229
|
+
exports.wrapPills = wrapPills;
|
|
226
230
|
var _default = Pills;
|
|
227
231
|
exports["default"] = _default;
|
|
228
232
|
//# sourceMappingURL=Pills.js.map
|
package/lib/cjs/Pills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","style","sstyled","insert","RootPills","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","value","e","handlers","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","event","key","behavior","asProps","selectedIndex","findIndex","changeIndex","_this$itemRefs$select","focus","focusedIndex","item","document","activeElement","_this$itemRefs$focuse","_createClass2","componentDidMount","log","warn","uncontrolledProps","getItemProps","props","index","_this2","_this$asProps","size","ref","node","selected","tabIndex","onClick","bindHandlerClick","render","_ref","_ref5","SPills","Box","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread2","assignProps","handleKeyDown","Component","_ref9","defaultValue","keyboardFocusEnhance","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","useNeighborLocationDetect","roleAreaProps","role","Pills","Item","Addon","tag","addonTextChildren","Text","enhance","_ref3","_ref7","SText","_ref4","_ref8","SAddon","createComponent","_default","exports"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport log from '@semcore/utils/lib/logger';\n\nimport style from './style/pills.shadow.css';\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 tabIndex: behavior === 'tabs' || behavior === 'manual' ? -1 : 0,\n });\n itemRefs = [];\n itemValues = [];\n static enhance = [keyboardFocusEnhance()];\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 getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n this.itemValues[index] = props.value;\n return {\n ref: (node) => {\n this.itemRefs[index] = node;\n },\n index: index,\n size,\n disabled,\n selected: value === props.value,\n behavior,\n tabIndex: behavior === 'tabs' || behavior === 'manual' ? 0 : -1,\n onClick: this.bindHandlerClick(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 handleKeyDown = (event) => {\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return;\n const behavior = this.asProps.behavior;\n if (behavior === 'radio' || behavior === 'auto') {\n let selectedIndex = this.itemValues.findIndex((value) => value === this.asProps.value);\n if (selectedIndex === -1) return;\n\n selectedIndex = this.changeIndex(\n selectedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (selectedIndex !== undefined) {\n this.handlers.value(this.itemValues[selectedIndex], event);\n this.itemRefs[selectedIndex]?.focus();\n }\n } else {\n let focusedIndex = this.itemRefs.findIndex((item) => item === document.activeElement);\n if (focusedIndex === -1) return;\n\n focusedIndex = this.changeIndex(\n focusedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (focusedIndex !== undefined) {\n this.itemRefs[focusedIndex]?.focus();\n }\n }\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior } = 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 onKeyDown={this.handleKeyDown}\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 neighborLocation={neighborLocation}\n aria-disabled={disabled}\n aria-posinset={index + 1}\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\nPill.enhance = [keyboardFocusEnhance()];\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 default Pills;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pills.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","style","sstyled","insert","RootPills","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","value","e","handlers","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","event","key","behavior","asProps","selectedIndex","findIndex","changeIndex","_this$itemRefs$select","focus","focusedIndex","item","document","activeElement","_this$itemRefs$focuse","_createClass2","componentDidMount","log","warn","uncontrolledProps","getItemProps","props","index","_this2","_this$asProps","size","ref","node","selected","tabIndex","onClick","bindHandlerClick","render","_ref","_ref5","SPills","Box","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread2","assignProps","handleKeyDown","Component","_ref9","defaultValue","keyboardFocusEnhance","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","useNeighborLocationDetect","roleAreaProps","role","Pills","Item","Addon","tag","addonTextChildren","Text","enhance","_ref3","_ref7","SText","_ref4","_ref8","SAddon","createComponent","wrapPills","wrapper","exports","_default"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport log from '@semcore/utils/lib/logger';\n\nimport style from './style/pills.shadow.css';\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 tabIndex: behavior === 'tabs' || behavior === 'manual' ? -1 : 0,\n });\n itemRefs = [];\n itemValues = [];\n static enhance = [keyboardFocusEnhance()];\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 getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n this.itemValues[index] = props.value;\n return {\n ref: (node) => {\n this.itemRefs[index] = node;\n },\n index: index,\n size,\n disabled,\n selected: value === props.value,\n behavior,\n tabIndex: behavior === 'tabs' || behavior === 'manual' ? 0 : -1,\n onClick: this.bindHandlerClick(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 handleKeyDown = (event) => {\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return;\n const behavior = this.asProps.behavior;\n if (behavior === 'radio' || behavior === 'auto') {\n let selectedIndex = this.itemValues.findIndex((value) => value === this.asProps.value);\n if (selectedIndex === -1) return;\n\n selectedIndex = this.changeIndex(\n selectedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (selectedIndex !== undefined) {\n this.handlers.value(this.itemValues[selectedIndex], event);\n this.itemRefs[selectedIndex]?.focus();\n }\n } else {\n let focusedIndex = this.itemRefs.findIndex((item) => item === document.activeElement);\n if (focusedIndex === -1) return;\n\n focusedIndex = this.changeIndex(\n focusedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (focusedIndex !== undefined) {\n this.itemRefs[focusedIndex]?.focus();\n }\n }\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior } = 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 onKeyDown={this.handleKeyDown}\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 neighborLocation={neighborLocation}\n aria-disabled={disabled}\n aria-posinset={index + 1}\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\nPill.enhance = [keyboardFocusEnhance()];\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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"}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type PillsValue = string | number | boolean | null;\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 KeyboardFocusProps &\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 `radio` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `radio` behavior in forms\n * while `tabs` behavior for navigation and layout.\n * @default tabs\n */\n behavior?: /** @deprecated use `manual` */\n | 'tabs'\n /** @deprecated use `auto` */\n | 'radio'\n | 'auto'\n | 'manual';\n };\n\n/** @deprecated */\nexport interface IPillProps extends PillProps, UnknownProperties {}\nexport type PillProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\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 = (<\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
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type PillsValue = string | number | boolean | null;\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 KeyboardFocusProps &\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 `radio` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `radio` behavior in forms\n * while `tabs` behavior for navigation and layout.\n * @default tabs\n */\n behavior?: /** @deprecated use `manual` */\n | 'tabs'\n /** @deprecated use `auto` */\n | 'radio'\n | 'auto'\n | 'manual';\n };\n\n/** @deprecated */\nexport interface IPillProps extends PillProps, UnknownProperties {}\nexport type PillProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\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) &\n Intergalactic.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":""}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
var _exportNames = {};
|
|
7
8
|
Object.defineProperty(exports, "default", {
|
|
8
9
|
enumerable: true,
|
|
9
10
|
get: function get() {
|
|
10
11
|
return _Pills["default"];
|
|
11
12
|
}
|
|
12
13
|
});
|
|
13
|
-
var _Pills =
|
|
14
|
+
var _Pills = _interopRequireWildcard(require("./Pills"));
|
|
15
|
+
Object.keys(_Pills).forEach(function (key) {
|
|
16
|
+
if (key === "default" || key === "__esModule") return;
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
18
|
+
if (key in exports && exports[key] === _Pills[key]) return;
|
|
19
|
+
Object.defineProperty(exports, key, {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _Pills[key];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
14
26
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Pills","
|
|
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"}
|
package/lib/es6/Pills.js
CHANGED
|
@@ -18,23 +18,23 @@ import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhan
|
|
|
18
18
|
import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
|
|
19
19
|
import log from '@semcore/utils/lib/logger';
|
|
20
20
|
/*__reshadow-styles__:"./style/pills.shadow.css"*/
|
|
21
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
22
|
-
"__SPills": "
|
|
23
|
-
"__SPill": "
|
|
24
|
-
"_selected": "
|
|
25
|
-
"_keyboardFocused": "
|
|
26
|
-
"_behavior_auto": "
|
|
27
|
-
"_behavior_radio": "
|
|
28
|
-
"__SText": "
|
|
29
|
-
"__SAddon": "
|
|
30
|
-
"_neighborLocation_right": "
|
|
31
|
-
"_neighborLocation_both": "
|
|
32
|
-
"_neighborLocation_left": "
|
|
33
|
-
"_disabled": "
|
|
34
|
-
"_behavior_manual": "
|
|
35
|
-
"_behavior_tabs": "
|
|
36
|
-
"_size_m": "
|
|
37
|
-
"_size_l": "
|
|
21
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPill_7csjd_gg_,.___SPills_7csjd_gg_{display:inline-flex;align-items:center;justify-content:center;outline:0}.___SPills_7csjd_gg_{isolation:isolate}.___SPill_7csjd_gg_{line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;box-shadow:none;-webkit-text-decoration:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;text-align:center;vertical-align:middle;font-family:inherit;cursor:pointer;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:var(--intergalactic-control-rounded, 6px)}.___SPill_7csjd_gg_::-moz-focus-inner{border:0;padding:0}.___SPill_7csjd_gg_:active,.___SPill_7csjd_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPill_7csjd_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none;background:var(--intergalactic-bg-primary-neutral-hover, #f4f5f9)}}.___SPill_7csjd_gg_.__selected_7csjd_gg_{background:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));border-color:var(--intergalactic-border-info-active, #006dca);z-index:1}.___SPill_7csjd_gg_.__disabled_7csjd_gg_{cursor:default;pointer-events:none}.___SPill_7csjd_gg_.__disabled_7csjd_gg_>*{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_auto_7csjd_gg_,.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_radio_7csjd_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_manual_7csjd_gg_>.___SPill_7csjd_gg_.__keyboardFocused_7csjd_gg_,.___SPills_7csjd_gg_.__keyboardFocused_7csjd_gg_._behavior_tabs_7csjd_gg_>.___SPill_7csjd_gg_.__keyboardFocused_7csjd_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SText_7csjd_gg_{color:var(--intergalactic-text-primary, #191b23);display:inline-flex}.___SAddon_7csjd_gg_{color:var(--intergalactic-text-secondary, #6c6e79);display:inline-flex;align-items:center;justify-content:center}.___SPill_7csjd_gg_._size_m_7csjd_gg_{height:var(--intergalactic-form-control-m, 28px);min-width:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SText_7csjd_gg_,.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SText_7csjd_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_m_7csjd_gg_ .___SAddon_7csjd_gg_:only-child{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_{height:var(--intergalactic-form-control-l, 40px);min-width:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:only-child,.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SText_7csjd_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._size_l_7csjd_gg_ .___SAddon_7csjd_gg_:not(:only-child):last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SPill_7csjd_gg_._neighborLocation_right_7csjd_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SPill_7csjd_gg_._neighborLocation_both_7csjd_gg_{border-radius:0;margin-left:-1px}.___SPill_7csjd_gg_._neighborLocation_left_7csjd_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}" /*__inner_css_end__*/, "7csjd_gg_") /*__reshadow_css_end__*/, {
|
|
22
|
+
"__SPills": "___SPills_7csjd_gg_",
|
|
23
|
+
"__SPill": "___SPill_7csjd_gg_",
|
|
24
|
+
"_selected": "__selected_7csjd_gg_",
|
|
25
|
+
"_keyboardFocused": "__keyboardFocused_7csjd_gg_",
|
|
26
|
+
"_behavior_auto": "_behavior_auto_7csjd_gg_",
|
|
27
|
+
"_behavior_radio": "_behavior_radio_7csjd_gg_",
|
|
28
|
+
"__SText": "___SText_7csjd_gg_",
|
|
29
|
+
"__SAddon": "___SAddon_7csjd_gg_",
|
|
30
|
+
"_neighborLocation_right": "_neighborLocation_right_7csjd_gg_",
|
|
31
|
+
"_neighborLocation_both": "_neighborLocation_both_7csjd_gg_",
|
|
32
|
+
"_neighborLocation_left": "_neighborLocation_left_7csjd_gg_",
|
|
33
|
+
"_disabled": "__disabled_7csjd_gg_",
|
|
34
|
+
"_behavior_manual": "_behavior_manual_7csjd_gg_",
|
|
35
|
+
"_behavior_tabs": "_behavior_tabs_7csjd_gg_",
|
|
36
|
+
"_size_m": "_size_m_7csjd_gg_",
|
|
37
|
+
"_size_l": "_size_l_7csjd_gg_"
|
|
38
38
|
});
|
|
39
39
|
var RootPills = /*#__PURE__*/function (_Component) {
|
|
40
40
|
_inherits(RootPills, _Component);
|
|
@@ -220,5 +220,8 @@ var Pills = createComponent(RootPills, {
|
|
|
220
220
|
Addon: Addon
|
|
221
221
|
}]
|
|
222
222
|
});
|
|
223
|
+
export var wrapPills = function wrapPills(wrapper) {
|
|
224
|
+
return wrapper;
|
|
225
|
+
};
|
|
223
226
|
export default Pills;
|
|
224
227
|
//# sourceMappingURL=Pills.js.map
|
package/lib/es6/Pills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pills.js","names":["React","createComponent","Component","sstyled","Root","Box","NeighborLocation","useNeighborLocationDetect","keyboardFocusEnhance","addonTextChildren","log","style","_sstyled","insert","RootPills","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","value","e","handlers","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","event","key","behavior","asProps","selectedIndex","findIndex","changeIndex","_this$itemRefs$select","focus","focusedIndex","item","document","activeElement","_this$itemRefs$focuse","_createClass","componentDidMount","warn","uncontrolledProps","getItemProps","props","index","_this2","_this$asProps","size","ref","node","selected","tabIndex","onClick","bindHandlerClick","render","_ref","_ref5","SPills","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread","_assignProps","handleKeyDown","_ref9","defaultValue","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","roleAreaProps","role","_assignProps2","Pills","Item","Addon","tag","Text","enhance","_ref3","_ref7","SText","_assignProps3","_ref4","_ref8","SAddon","_assignProps4"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport log from '@semcore/utils/lib/logger';\n\nimport style from './style/pills.shadow.css';\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 tabIndex: behavior === 'tabs' || behavior === 'manual' ? -1 : 0,\n });\n itemRefs = [];\n itemValues = [];\n static enhance = [keyboardFocusEnhance()];\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 getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n this.itemValues[index] = props.value;\n return {\n ref: (node) => {\n this.itemRefs[index] = node;\n },\n index: index,\n size,\n disabled,\n selected: value === props.value,\n behavior,\n tabIndex: behavior === 'tabs' || behavior === 'manual' ? 0 : -1,\n onClick: this.bindHandlerClick(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 handleKeyDown = (event) => {\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return;\n const behavior = this.asProps.behavior;\n if (behavior === 'radio' || behavior === 'auto') {\n let selectedIndex = this.itemValues.findIndex((value) => value === this.asProps.value);\n if (selectedIndex === -1) return;\n\n selectedIndex = this.changeIndex(\n selectedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (selectedIndex !== undefined) {\n this.handlers.value(this.itemValues[selectedIndex], event);\n this.itemRefs[selectedIndex]?.focus();\n }\n } else {\n let focusedIndex = this.itemRefs.findIndex((item) => item === document.activeElement);\n if (focusedIndex === -1) return;\n\n focusedIndex = this.changeIndex(\n focusedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (focusedIndex !== undefined) {\n this.itemRefs[focusedIndex]?.focus();\n }\n }\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior } = 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 onKeyDown={this.handleKeyDown}\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 neighborLocation={neighborLocation}\n aria-disabled={disabled}\n aria-posinset={index + 1}\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\nPill.enhance = [keyboardFocusEnhance()];\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 default Pills;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pills.js","names":["React","createComponent","Component","sstyled","Root","Box","NeighborLocation","useNeighborLocationDetect","keyboardFocusEnhance","addonTextChildren","log","style","_sstyled","insert","RootPills","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","value","e","handlers","startIndex","type","selectable","itemValues","element","itemRefs","disabled","undefined","event","key","behavior","asProps","selectedIndex","findIndex","changeIndex","_this$itemRefs$select","focus","focusedIndex","item","document","activeElement","_this$itemRefs$focuse","_createClass","componentDidMount","warn","uncontrolledProps","getItemProps","props","index","_this2","_this$asProps","size","ref","node","selected","tabIndex","onClick","bindHandlerClick","render","_ref","_ref5","SPills","_this$asProps2","Children","styles","controlsLength","createElement","cn","_objectSpread","_assignProps","handleKeyDown","_ref9","defaultValue","Pill","_ref2","arguments[0]","_ref6","SPill","addonLeft","addonRight","neighborLocation","roleAreaProps","role","_assignProps2","Pills","Item","Addon","tag","Text","enhance","_ref3","_ref7","SText","_assignProps3","_ref4","_ref8","SAddon","_assignProps4","wrapPills","wrapper"],"sources":["../../src/Pills.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport NeighborLocation, { useNeighborLocationDetect } from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport log from '@semcore/utils/lib/logger';\n\nimport style from './style/pills.shadow.css';\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 tabIndex: behavior === 'tabs' || behavior === 'manual' ? -1 : 0,\n });\n itemRefs = [];\n itemValues = [];\n static enhance = [keyboardFocusEnhance()];\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 getItemProps(props, index) {\n const { value, size, disabled, behavior } = this.asProps;\n this.itemValues[index] = props.value;\n return {\n ref: (node) => {\n this.itemRefs[index] = node;\n },\n index: index,\n size,\n disabled,\n selected: value === props.value,\n behavior,\n tabIndex: behavior === 'tabs' || behavior === 'manual' ? 0 : -1,\n onClick: this.bindHandlerClick(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 handleKeyDown = (event) => {\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') return;\n const behavior = this.asProps.behavior;\n if (behavior === 'radio' || behavior === 'auto') {\n let selectedIndex = this.itemValues.findIndex((value) => value === this.asProps.value);\n if (selectedIndex === -1) return;\n\n selectedIndex = this.changeIndex(\n selectedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (selectedIndex !== undefined) {\n this.handlers.value(this.itemValues[selectedIndex], event);\n this.itemRefs[selectedIndex]?.focus();\n }\n } else {\n let focusedIndex = this.itemRefs.findIndex((item) => item === document.activeElement);\n if (focusedIndex === -1) return;\n\n focusedIndex = this.changeIndex(\n focusedIndex,\n event.key === 'ArrowLeft' ? 'decrement' : 'increment',\n );\n\n if (focusedIndex !== undefined) {\n this.itemRefs[focusedIndex]?.focus();\n }\n }\n };\n\n render() {\n const SPills = Root;\n const { Children, styles, controlsLength, disabled, behavior } = 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 onKeyDown={this.handleKeyDown}\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 neighborLocation={neighborLocation}\n aria-disabled={disabled}\n aria-posinset={index + 1}\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\nPill.enhance = [keyboardFocusEnhance()];\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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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type PillsValue = string | number | boolean | null;\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 KeyboardFocusProps &\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 `radio` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `radio` behavior in forms\n * while `tabs` behavior for navigation and layout.\n * @default tabs\n */\n behavior?: /** @deprecated use `manual` */\n | 'tabs'\n /** @deprecated use `auto` */\n | 'radio'\n | 'auto'\n | 'manual';\n };\n\n/** @deprecated */\nexport interface IPillProps extends PillProps, UnknownProperties {}\nexport type PillProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\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 = (<\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
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps, NeighborLocationProps } from '@semcore/neighbor-location';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type PillsValue = string | number | boolean | null;\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 KeyboardFocusProps &\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 `radio` pressing left and right arrows\n * selects corresponding sibling pill.\n *\n * It's recommended to use `radio` behavior in forms\n * while `tabs` behavior for navigation and layout.\n * @default tabs\n */\n behavior?: /** @deprecated use `manual` */\n | 'tabs'\n /** @deprecated use `auto` */\n | 'radio'\n | 'auto'\n | 'manual';\n };\n\n/** @deprecated */\nexport interface IPillProps extends PillProps, UnknownProperties {}\nexport type PillProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\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) &\n Intergalactic.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":""}
|
package/lib/es6/index.js
CHANGED
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Pills';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,SAAS"}
|
|
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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ export type PillsHandlers = {
|
|
|
70
70
|
value: (value: PillsValue) => void;
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
-
type IntergalacticPillsComponent = (<
|
|
73
|
+
type IntergalacticPillsComponent<PropsExtending = {}> = (<
|
|
74
74
|
Value extends PillsValue,
|
|
75
75
|
Tag extends Intergalactic.Tag = 'div',
|
|
76
76
|
>(
|
|
@@ -80,9 +80,10 @@ type IntergalacticPillsComponent = (<
|
|
|
80
80
|
PillsProps<Value>,
|
|
81
81
|
PillsContext,
|
|
82
82
|
[handlers: PillsHandlers]
|
|
83
|
-
|
|
83
|
+
> &
|
|
84
|
+
PropsExtending,
|
|
84
85
|
) => Intergalactic.InternalTypings.ComponentRenderingResults) &
|
|
85
|
-
Intergalactic.InternalTypings.ComponentAdditive<'div'>;
|
|
86
|
+
Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', PillsProps>;
|
|
86
87
|
|
|
87
88
|
declare const Pills: IntergalacticPillsComponent & {
|
|
88
89
|
Item: Intergalactic.Component<'button', PillProps, [handlers: PillsHandlers]> & {
|
|
@@ -91,4 +92,14 @@ declare const Pills: IntergalacticPillsComponent & {
|
|
|
91
92
|
};
|
|
92
93
|
};
|
|
93
94
|
|
|
95
|
+
declare const wrapPills: <PropsExtending extends {}>(
|
|
96
|
+
wrapper: (
|
|
97
|
+
props: Intergalactic.InternalTypings.UntypeRefAndTag<
|
|
98
|
+
Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticPillsComponent>
|
|
99
|
+
> &
|
|
100
|
+
PropsExtending,
|
|
101
|
+
) => React.ReactNode,
|
|
102
|
+
) => IntergalacticPillsComponent<PropsExtending>;
|
|
103
|
+
export { wrapPills };
|
|
104
|
+
|
|
94
105
|
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": "5.
|
|
4
|
+
"version": "5.16.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@semcore/flex-box": "5.
|
|
13
|
-
"@semcore/neighbor-location": "4.
|
|
14
|
-
"@semcore/utils": "4.
|
|
12
|
+
"@semcore/flex-box": "5.15.0",
|
|
13
|
+
"@semcore/neighbor-location": "4.14.0",
|
|
14
|
+
"@semcore/utils": "4.17.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@semcore/core": "^2.
|
|
17
|
+
"@semcore/core": "^2.14.0",
|
|
18
18
|
"react": "16.8 - 18",
|
|
19
19
|
"react-dom": "16.8 - 18"
|
|
20
20
|
},
|