@atlaskit/tag-group
Version:
A tag group controls the layout and alignment for a collection of tags.
55 lines (53 loc) • 3.08 kB
JavaScript
/* index.tsx generated by @compiled/babel-plugin v3.0.4 */
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof3 = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("./index.compiled.css");
var _react = _interopRequireWildcard(require("react"));
var React = _react;
var _runtime = require("@compiled/react/runtime");
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _exitingPersistence = _interopRequireDefault(require("@atlaskit/motion/exiting-persistence"));
var _fg = require("@atlaskit/platform-feature-flags/fg");
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" != _typeof3(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); }
var tagMotionCapability = Symbol.for('@atlaskit/tag/motion-capable');
var isMotionCapableTag = function isMotionCapableTag(child) {
if (! /*#__PURE__*/(0, _react.isValidElement)(child)) {
return false;
}
var childType = child.type;
return (typeof childType === 'function' || (0, _typeof2.default)(childType) === 'object' && childType !== null) && Reflect.get(childType, tagMotionCapability) === true;
};
var baseStyles = null;
var justifyStartStyles = null;
var justifyEndStyles = null;
/**
* __Tag group__
*
* A tag group controls the layout and alignment for a collection of tags.
*
* - [Examples](https://atlassian.design/components/tag-group/examples)
* - [Code](https://atlassian.design/components/tag-group/code)
* - [Usage](https://atlassian.design/components/tag-group/usage)
*/
var TagGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
var _ref$alignment = _ref.alignment,
alignment = _ref$alignment === void 0 ? 'start' : _ref$alignment,
titleId = _ref.titleId,
label = _ref.label,
children = _ref.children;
var isTagMotionEnabled = (0, _fg.fg)('platform-dst-motion-uplift-labels');
var shouldProvideMotionBoundary = isTagMotionEnabled && _react.Children.toArray(children).every(isMotionCapableTag);
return /*#__PURE__*/React.createElement("div", {
role: "group",
ref: ref,
"aria-label": label,
"aria-labelledby": titleId,
className: (0, _runtime.ax)(["_1e0c1txw _1bsb1osq _1n261g80", alignment === 'start' && "_1bah1y6m", alignment === 'end' && "_1bahesu3"])
}, shouldProvideMotionBoundary ? /*#__PURE__*/React.createElement(_exitingPersistence.default, null, children) : children);
});
var _default = exports.default = TagGroup;