UNPKG

baseui

Version:

A React Component library implementing the Base design language

81 lines (79 loc) 4.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _styles = require("../styles"); var _pinHead = _interopRequireDefault(require("./pin-head")); var _overrides = require("../helpers/overrides"); var _styledComponents = require("./styled-components"); var _constants = require("./constants"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* Copyright (c) Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ // @ts-ignore function getAnchorPinHeadSize(anchorType) { if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.circle) { return _constants.PINHEAD_SIZES_SHAPES.xSmallCircle; } else if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.square) { return _constants.PINHEAD_SIZES_SHAPES.xSmallSquare; } else if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.xxSmallSquare) { return _constants.PINHEAD_SIZES_SHAPES.xxSmallSquare; } else { return _constants.PINHEAD_SIZES_SHAPES.xxSmallCircle; } } const FloatingMarker = ({ label, secondaryLabel, size = _constants.PINHEAD_SIZES_SHAPES.medium, anchor = _constants.FLOATING_MARKER_ANCHOR_POSITIONS.bottomLeft, endEnhancer, startEnhancer, anchorType = _constants.FLOATING_MARKER_ANCHOR_TYPES.circle, overrides = {} }) => { const [, theme] = (0, _styles.useStyletron)(); const { colors: { backgroundPrimary, backgroundInversePrimary, primaryA, primaryB } } = theme; const anchorPinHeadSize = getAnchorPinHeadSize(anchorType); const [Root, rootProps] = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledFloatingMarkerRoot); const [FloatingMarkerPinHeadContainer, floatingMarkerPinHeadContainerProps] = (0, _overrides.getOverrides)(overrides.PinHeadContainer, _styledComponents.StyledFloatingMarkerPinHeadContainer); const [FloatingMarkerAnchorContainer, floatingMarkerAnchorContainerProps] = (0, _overrides.getOverrides)(overrides.AnchorContainer, _styledComponents.StyledFloatingMarkerAnchorContainer); return /*#__PURE__*/React.createElement(Root, _extends({ "data-baseweb": "floating-map-marker", $size: _constants.PINHEAD_DIMENSIONS[anchorPinHeadSize].height }, rootProps), /*#__PURE__*/React.createElement(FloatingMarkerPinHeadContainer, _extends({ $anchor: anchor, $anchorSize: _constants.PINHEAD_DIMENSIONS[anchorPinHeadSize].height }, floatingMarkerPinHeadContainerProps), /*#__PURE__*/React.createElement(_pinHead.default, { size: size, color: primaryA, background: backgroundPrimary, type: _constants.PINHEAD_TYPES.floating, label: label, secondaryLabel: secondaryLabel, startEnhancer: startEnhancer, endEnhancer: endEnhancer, overrides: overrides })), anchor !== _constants.FLOATING_MARKER_ANCHOR_POSITIONS.none && /*#__PURE__*/React.createElement(FloatingMarkerAnchorContainer, floatingMarkerAnchorContainerProps, /*#__PURE__*/React.createElement(_pinHead.default, { size: anchorPinHeadSize, color: primaryB, background: backgroundInversePrimary, type: _constants.PINHEAD_TYPES.fixed, overrides: overrides }))); }; var _default = exports.default = FloatingMarker;