@ausbom/tabs 0.4.6 → 0.4.8
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classnames=_interopRequireDefault(require("classnames"));var _react=_interopRequireDefault(require("react"));var _excluded=["active","as","className","innerRef","label","tabId"];function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}var Tab=/*#__PURE__*/function(_React$PureComponent){function Tab(){(0,_classCallCheck2["default"])(this,Tab);return _callSuper(this,Tab,arguments)}(0,_inherits2["default"])(Tab,_React$PureComponent);return(0,_createClass2["default"])(Tab,[{key:"handleClick",value:function handleClick(event){var _this$props=this.props,active=_this$props.active,onClick=_this$props.onClick,onChange=_this$props.onChange,tabId=_this$props.tabId;if(!active&&onChange){onChange(event,tabId)}if(onClick){onClick(event)}}},{key:"handleFocus",value:function handleFocus(event){var _this$props2=this.props,selectionFollowsFocus=_this$props2.selectionFollowsFocus,active=_this$props2.active,onFocus=_this$props2.onFocus,onClick=_this$props2.onClick,onChange=_this$props2.onChange,tabId=_this$props2.tabId;if(selectionFollowsFocus){if(!active&&onChange){onChange(event,tabId)}if(onClick){onClick(event)}}if(onFocus){onFocus(event)}}},{key:"render",value:function render(){var _ref=this.props,active=_ref.active,Tag=_ref.as,className=_ref.className,innerRef=_ref.innerRef,label=_ref.label,tabId=_ref.tabId,restProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);var classes=(0,_classnames["default"])(className,"bom-tab",{"bom-tab--active":active});// NOTE: It was recommended to us by Intopia not to use standard 'role="tab"' here as their research
|
|
2
2
|
// found it was confusing for users
|
|
3
3
|
// NOTE remove aria-controls and aria-expanded from the <a> element based on Intopia comments
|
|
4
4
|
var tagAs=Tag;var tagLabelClasses=(0,_classnames["default"])("bom-tab__label");if(tagAs!=="a"){// Removes the inactive tab from the page Tab sequence.
|
|
5
|
-
var tabIndex=active?{}:{tabIndex:-1};return/*#__PURE__*/_react["default"].createElement(Tag,(0,_extends2["default"])({role:"tab","aria-controls":"bom-tab-panel-".concat(tabId),"aria-selected":!!active,className:classes,id:"bom-tab-".concat(tabId),ref:innerRef},tabIndex,{onClick:this.handleClick.bind(this),onFocus:this.handleFocus.bind(this)},restProps),/*#__PURE__*/_react["default"].createElement("span",{className:tagLabelClasses},label))}return/*#__PURE__*/_react["default"].createElement(Tag,(0,_extends2["default"])({role:"tab",className:classes,id:"bom-tab-".concat(tabId),ref:innerRef},restProps),/*#__PURE__*/_react["default"].createElement("span",{className:tagLabelClasses},label))}}])
|
|
5
|
+
var tabIndex=active?{}:{tabIndex:-1};return/*#__PURE__*/_react["default"].createElement(Tag,(0,_extends2["default"])({role:"tab","aria-controls":"bom-tab-panel-".concat(tabId),"aria-selected":!!active,className:classes,id:"bom-tab-".concat(tabId),ref:innerRef},tabIndex,{onClick:this.handleClick.bind(this),onFocus:this.handleFocus.bind(this)},restProps),/*#__PURE__*/_react["default"].createElement("span",{className:tagLabelClasses},label))}return/*#__PURE__*/_react["default"].createElement(Tag,(0,_extends2["default"])({role:"tab",className:classes,id:"bom-tab-".concat(tabId),ref:innerRef},restProps),/*#__PURE__*/_react["default"].createElement("span",{className:tagLabelClasses},label))}}])}(_react["default"].PureComponent);(0,_defineProperty2["default"])(Tab,"defaultProps",{as:"button"});var TabWithRef=/*#__PURE__*/_react["default"].forwardRef(function(props,ref){return/*#__PURE__*/_react["default"].createElement(Tab,(0,_extends2["default"])({innerRef:ref},props))});TabWithRef.displayName="Tab";var _default=exports["default"]=TabWithRef;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
},{key:"moveFocusToTab",value:function moveFocusToTab(currentTab){currentTab.focus()}},{key:"moveFocusToPreviousTab",value:function moveFocusToPreviousTab(currentTab){var index;if(currentTab===this.firstTab){this.moveFocusToTab(this.lastTab)}else{index=this.tabs.indexOf(currentTab);this.moveFocusToTab(this.tabs[index-1])}}},{key:"moveFocusToNextTab",value:function moveFocusToNextTab(currentTab){var index;if(currentTab===this.lastTab){this.moveFocusToTab(this.firstTab)}else{index=this.tabs.indexOf(currentTab);this.moveFocusToTab(this.tabs[index+1])}}},{key:"onKeydown",value:function onKeydown(event){var orientation=this.props.orientation;var target=event.currentTarget;var processed=false;switch(event.key){case"ArrowLeft":if(orientation==="horizontal"){this.moveFocusToPreviousTab(target);processed=true}break;case"ArrowRight":if(orientation==="horizontal"){this.moveFocusToNextTab(target);processed=true}break;case"ArrowUp":if(orientation==="vertical"){this.moveFocusToPreviousTab(target);processed=true}break;case"ArrowDown":if(orientation==="vertical"){this.moveFocusToNextTab(target);processed=true}break;case"Home":this.moveFocusToTab(this.firstTab);processed=true;break;case"End":this.moveFocusToTab(this.lastTab);processed=true;break;default:break
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classnames=_interopRequireDefault(require("classnames"));var _react=_interopRequireWildcard(require("react"));var _excluded=["children","className","dark","equalWidthOnMobile","innerRef","orientation","selectionFollowsFocus","onChange"];function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}var TabList=/*#__PURE__*/function(_React$PureComponent){function TabList(props){var _this;(0,_classCallCheck2["default"])(this,TabList);_this=_callSuper(this,TabList,[props]);(0,_defineProperty2["default"])(_this,"tabListRef",void 0);(0,_defineProperty2["default"])(_this,"tabs",[]);(0,_defineProperty2["default"])(_this,"firstTab",void 0);(0,_defineProperty2["default"])(_this,"lastTab",void 0);_this.tabListRef=/*#__PURE__*/_react["default"].createRef();return _this}(0,_inherits2["default"])(TabList,_React$PureComponent);return(0,_createClass2["default"])(TabList,[{key:"componentDidMount",value:function componentDidMount(){if(this.tabListRef.current){this.tabs=Array.from(this.tabListRef.current.querySelectorAll("[role=tab]:not(:disabled)"))}for(var i=0;i<this.tabs.length;i+=1){var tab=this.tabs[i];tab.addEventListener("keydown",this.onKeydown.bind(this));if(!this.firstTab){this.firstTab=tab}this.lastTab=tab}}// eslint-disable-next-line class-methods-use-this
|
|
2
|
+
},{key:"moveFocusToTab",value:function moveFocusToTab(currentTab){currentTab.focus()}},{key:"moveFocusToPreviousTab",value:function moveFocusToPreviousTab(currentTab){var index;if(currentTab===this.firstTab){this.moveFocusToTab(this.lastTab)}else{index=this.tabs.indexOf(currentTab);this.moveFocusToTab(this.tabs[index-1])}}},{key:"moveFocusToNextTab",value:function moveFocusToNextTab(currentTab){var index;if(currentTab===this.lastTab){this.moveFocusToTab(this.firstTab)}else{index=this.tabs.indexOf(currentTab);this.moveFocusToTab(this.tabs[index+1])}}},{key:"onKeydown",value:function onKeydown(event){var orientation=this.props.orientation;var target=event.currentTarget;var processed=false;switch(event.key){case"ArrowLeft":if(orientation==="horizontal"){this.moveFocusToPreviousTab(target);processed=true}break;case"ArrowRight":if(orientation==="horizontal"){this.moveFocusToNextTab(target);processed=true}break;case"ArrowUp":if(orientation==="vertical"){this.moveFocusToPreviousTab(target);processed=true}break;case"ArrowDown":if(orientation==="vertical"){this.moveFocusToNextTab(target);processed=true}break;case"Home":this.moveFocusToTab(this.firstTab);processed=true;break;case"End":this.moveFocusToTab(this.lastTab);processed=true;break;default:break}if(processed){event.stopPropagation();event.preventDefault()}}},{key:"render",value:function render(){var _this2=this;var _this$props=this.props,children=_this$props.children,className=_this$props.className,dark=_this$props.dark,equalWidthOnMobile=_this$props.equalWidthOnMobile,innerRef=_this$props.innerRef,orientation=_this$props.orientation,selectionFollowsFocus=_this$props.selectionFollowsFocus,onChange=_this$props.onChange,restProps=(0,_objectWithoutProperties2["default"])(_this$props,_excluded);var classes=(0,_classnames["default"])(className,"bom-tab-list",{"bom-tab-list--vertical":orientation==="vertical","bom-tab-list--equal-width":equalWidthOnMobile,"bom-tab-list--dark":dark});var safeChildren=children!=null&&children.filter(function(ch){return ch!=null})||[];// NOTE: It was recommended to us by Intopia not to use standard 'role="tablist"' here as their research
|
|
3
3
|
// found it was confusing for users
|
|
4
|
-
return/*#__PURE__*/_react["default"].createElement("div",(0,_extends2["default"])({role:"tablist",className:classes,ref:function ref(_ref){_this2.tabListRef.current=_ref;if(innerRef){innerRef.current=_ref}},"aria-orientation":orientation},restProps),_react.Children.map(safeChildren,function(child){return/*#__PURE__*/(0,_react.cloneElement)(child,{selectionFollowsFocus:selectionFollowsFocus,onChange:onChange})}))}}])
|
|
4
|
+
return/*#__PURE__*/_react["default"].createElement("div",(0,_extends2["default"])({role:"tablist",className:classes,ref:function ref(_ref){_this2.tabListRef.current=_ref;if(innerRef){innerRef.current=_ref}},"aria-orientation":orientation},restProps),_react.Children.map(safeChildren,function(child){return/*#__PURE__*/(0,_react.cloneElement)(child,{selectionFollowsFocus:selectionFollowsFocus,onChange:onChange})}))}}])}(_react["default"].PureComponent);(0,_defineProperty2["default"])(TabList,"defaultProps",{orientation:"horizontal"});var TabListWithRef=/*#__PURE__*/_react["default"].forwardRef(function(props,ref){return/*#__PURE__*/_react["default"].createElement(TabList,(0,_extends2["default"])({innerRef:ref},props))});TabListWithRef.displayName="TabList";var _default=exports["default"]=TabListWithRef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _classnames=_interopRequireDefault(require("classnames"));var _react=_interopRequireDefault(require("react"));var _excluded=["active","children","className","innerRef","tabId"];function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}var TabPanel=/*#__PURE__*/function(_React$PureComponent){function TabPanel(){(0,_classCallCheck2["default"])(this,TabPanel);return _callSuper(this,TabPanel,arguments)}(0,_inherits2["default"])(TabPanel,_React$PureComponent);return(0,_createClass2["default"])(TabPanel,[{key:"render",value:function render(){var _ref=this.props,active=_ref.active,children=_ref.children,className=_ref.className,innerRef=_ref.innerRef,tabId=_ref.tabId,restProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);var classes=(0,_classnames["default"])(className,"bom-tab-panel",{"bom-tab-panel--active":active});// NOTE: It was recommended to us by Intopia not to use standard 'role="tabpanel"' here as their research
|
|
2
2
|
// found it was confusing for users
|
|
3
|
-
return/*#__PURE__*/_react["default"].createElement("div",(0,_extends2["default"])({className:classes,"aria-labelledby":"bom-tab-".concat(tabId),id:"bom-tab-panel-".concat(tabId),ref:innerRef,hidden:!active,"aria-hidden":!active,role:"tabpanel"},restProps),children)}}])
|
|
3
|
+
return/*#__PURE__*/_react["default"].createElement("div",(0,_extends2["default"])({className:classes,"aria-labelledby":"bom-tab-".concat(tabId),id:"bom-tab-panel-".concat(tabId),ref:innerRef,hidden:!active,"aria-hidden":!active,role:"tabpanel"},restProps),children)}}])}(_react["default"].PureComponent);var TabPanelWithRef=/*#__PURE__*/_react["default"].forwardRef(function(props,ref){return/*#__PURE__*/_react["default"].createElement(TabPanel,(0,_extends2["default"])({innerRef:ref},props))});TabPanelWithRef.displayName="TabPanel";var _default=exports["default"]=TabPanelWithRef;
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Tab",{enumerable:true,get:function get(){return _Tab["default"]}});Object.defineProperty(exports,"TabList",{enumerable:true,get:function get(){return _TabList["default"]}});Object.defineProperty(exports,"TabPanel",{enumerable:true,get:function get(){return _TabPanel["default"]}});var _TabPanel=_interopRequireDefault(require("./components/TabPanel/TabPanel"));var _TabList=_interopRequireDefault(require("./components/TabList/TabList"));var _Tab=_interopRequireDefault(require("./components/Tab/Tab"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ausbom/tabs",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"react": ">= 16.3.x"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@ausbom/styles": "^0.14.
|
|
40
|
+
"@ausbom/styles": "^0.14.2"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "b2fb259306f6ff4acc90b41a8491469a9cea4d29"
|
|
43
43
|
}
|