baseui 10.4.0 → 10.7.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.
Files changed (195) hide show
  1. package/app-nav-bar/user-menu.js +1 -0
  2. package/app-nav-bar/user-menu.js.flow +1 -0
  3. package/button/styled-components.js +1 -1
  4. package/button/styled-components.js.flow +4 -1
  5. package/card/styled-components.js +0 -1
  6. package/card/styled-components.js.flow +0 -1
  7. package/combobox/combobox.js +5 -1
  8. package/combobox/combobox.js.flow +4 -0
  9. package/combobox/index.d.ts +6 -3
  10. package/data-table/column-datetime.js +2 -0
  11. package/data-table/column-datetime.js.flow +2 -0
  12. package/datepicker/calendar-header.js +255 -109
  13. package/datepicker/calendar-header.js.flow +282 -145
  14. package/datepicker/calendar.js +6 -1
  15. package/datepicker/calendar.js.flow +5 -1
  16. package/datepicker/constants.js +9 -2
  17. package/datepicker/constants.js.flow +7 -0
  18. package/datepicker/datepicker.js +135 -73
  19. package/datepicker/datepicker.js.flow +161 -62
  20. package/datepicker/day.js +2 -0
  21. package/datepicker/day.js.flow +2 -0
  22. package/datepicker/index.d.ts +8 -0
  23. package/datepicker/month.js +4 -0
  24. package/datepicker/month.js.flow +3 -0
  25. package/datepicker/styled-components.js +116 -56
  26. package/datepicker/styled-components.js.flow +101 -36
  27. package/datepicker/types.js.flow +18 -1
  28. package/datepicker/utils/calendar-header-helpers.js +51 -0
  29. package/datepicker/utils/calendar-header-helpers.js.flow +53 -0
  30. package/datepicker/utils/date-helpers.js +1 -1
  31. package/datepicker/utils/date-helpers.js.flow +1 -1
  32. package/datepicker/week.js +1 -0
  33. package/datepicker/week.js.flow +1 -0
  34. package/dnd-list/index.js.flow +2 -1
  35. package/dnd-list/list.js +1 -2
  36. package/dnd-list/list.js.flow +1 -1
  37. package/dnd-list/styled-components.js +1 -1
  38. package/dnd-list/styled-components.js.flow +1 -0
  39. package/drawer/drawer.js +2 -1
  40. package/drawer/drawer.js.flow +1 -1
  41. package/es/app-nav-bar/user-menu.js +1 -0
  42. package/es/button/styled-components.js +1 -1
  43. package/es/card/styled-components.js +0 -1
  44. package/es/combobox/combobox.js +5 -1
  45. package/es/data-table/column-datetime.js +2 -0
  46. package/es/datepicker/calendar-header.js +204 -93
  47. package/es/datepicker/calendar.js +7 -2
  48. package/es/datepicker/constants.js +6 -1
  49. package/es/datepicker/datepicker.js +70 -42
  50. package/es/datepicker/day.js +2 -0
  51. package/es/datepicker/month.js +3 -0
  52. package/es/datepicker/styled-components.js +98 -37
  53. package/es/datepicker/types.js +1 -1
  54. package/es/datepicker/utils/calendar-header-helpers.js +34 -0
  55. package/es/datepicker/utils/date-helpers.js +1 -1
  56. package/es/datepicker/week.js +1 -0
  57. package/es/dnd-list/index.js +2 -1
  58. package/es/dnd-list/list.js +1 -2
  59. package/es/dnd-list/styled-components.js +1 -0
  60. package/es/drawer/drawer.js +2 -1
  61. package/es/helper/helper.js +1 -0
  62. package/es/layer/layer.js +8 -0
  63. package/es/map-marker/constants.js +69 -0
  64. package/es/map-marker/fixed-marker.js +98 -0
  65. package/es/map-marker/floating-marker.js +65 -0
  66. package/es/map-marker/index.js +9 -0
  67. package/es/map-marker/pin-head.js +108 -0
  68. package/es/map-marker/styled-components.js +156 -0
  69. package/es/map-marker/types.js +8 -0
  70. package/es/menu/maybe-child-menu.js +1 -0
  71. package/es/popover/popover.js +6 -5
  72. package/es/popover/stateful-container.js +8 -2
  73. package/es/rating/emoticon-rating.js +3 -1
  74. package/es/rating/star-rating.js +3 -1
  75. package/es/select/select-component.js +20 -5
  76. package/es/select/styled-components.js +34 -4
  77. package/es/snackbar/snackbar-context.js +16 -4
  78. package/es/table-semantic/styled-components.js +6 -4
  79. package/es/table-semantic/table-builder.js +3 -0
  80. package/es/themes/dark-theme/color-component-tokens.js +1 -1
  81. package/es/themes/light-theme/color-component-tokens.js +9 -9
  82. package/es/themes/shared/lighting.js +5 -1
  83. package/es/timepicker/timepicker.js +16 -11
  84. package/es/tooltip/styled-components.js +8 -0
  85. package/es/tooltip/tooltip.js +1 -0
  86. package/esm/app-nav-bar/user-menu.js +1 -0
  87. package/esm/button/styled-components.js +1 -1
  88. package/esm/card/styled-components.js +0 -1
  89. package/esm/combobox/combobox.js +5 -1
  90. package/esm/data-table/column-datetime.js +2 -0
  91. package/esm/datepicker/calendar-header.js +255 -110
  92. package/esm/datepicker/calendar.js +7 -2
  93. package/esm/datepicker/constants.js +6 -1
  94. package/esm/datepicker/datepicker.js +136 -74
  95. package/esm/datepicker/day.js +2 -0
  96. package/esm/datepicker/month.js +3 -0
  97. package/esm/datepicker/styled-components.js +112 -55
  98. package/esm/datepicker/types.js +1 -1
  99. package/esm/datepicker/utils/calendar-header-helpers.js +45 -0
  100. package/esm/datepicker/utils/date-helpers.js +1 -1
  101. package/esm/datepicker/week.js +1 -0
  102. package/esm/dnd-list/index.js +2 -1
  103. package/esm/dnd-list/list.js +1 -2
  104. package/esm/dnd-list/styled-components.js +1 -1
  105. package/esm/drawer/drawer.js +2 -1
  106. package/esm/helper/helper.js +1 -0
  107. package/esm/layer/layer.js +8 -0
  108. package/esm/map-marker/constants.js +62 -0
  109. package/esm/map-marker/fixed-marker.js +137 -0
  110. package/esm/map-marker/floating-marker.js +94 -0
  111. package/esm/map-marker/index.js +9 -0
  112. package/esm/map-marker/pin-head.js +144 -0
  113. package/esm/map-marker/styled-components.js +168 -0
  114. package/esm/map-marker/types.js +8 -0
  115. package/esm/menu/maybe-child-menu.js +1 -0
  116. package/esm/popover/popover.js +6 -5
  117. package/esm/popover/stateful-container.js +8 -2
  118. package/esm/rating/emoticon-rating.js +2 -2
  119. package/esm/rating/star-rating.js +2 -2
  120. package/esm/select/select-component.js +19 -5
  121. package/esm/select/styled-components.js +28 -4
  122. package/esm/snackbar/snackbar-context.js +16 -4
  123. package/esm/table-semantic/styled-components.js +6 -4
  124. package/esm/table-semantic/table-builder.js +3 -0
  125. package/esm/themes/dark-theme/color-component-tokens.js +1 -1
  126. package/esm/themes/light-theme/color-component-tokens.js +9 -9
  127. package/esm/themes/shared/lighting.js +5 -1
  128. package/esm/timepicker/timepicker.js +17 -11
  129. package/esm/tooltip/styled-components.js +8 -0
  130. package/esm/tooltip/tooltip.js +1 -0
  131. package/helper/helper.js +1 -0
  132. package/helper/helper.js.flow +1 -0
  133. package/layer/layer.js +8 -0
  134. package/layer/layer.js.flow +9 -0
  135. package/link/index.d.ts +1 -0
  136. package/map-marker/constants.js +82 -0
  137. package/map-marker/constants.js.flow +74 -0
  138. package/map-marker/fixed-marker.js +152 -0
  139. package/map-marker/fixed-marker.js.flow +137 -0
  140. package/map-marker/floating-marker.js +109 -0
  141. package/map-marker/floating-marker.js.flow +102 -0
  142. package/map-marker/index.d.ts +105 -0
  143. package/map-marker/index.js +55 -0
  144. package/map-marker/index.js.flow +23 -0
  145. package/map-marker/package.json +4 -0
  146. package/map-marker/pin-head.js +159 -0
  147. package/map-marker/pin-head.js.flow +155 -0
  148. package/map-marker/styled-components.js +184 -0
  149. package/map-marker/styled-components.js.flow +177 -0
  150. package/map-marker/types.js +11 -0
  151. package/map-marker/types.js.flow +114 -0
  152. package/menu/index.d.ts +7 -0
  153. package/menu/maybe-child-menu.js +1 -0
  154. package/menu/maybe-child-menu.js.flow +1 -0
  155. package/menu/types.js.flow +12 -0
  156. package/modal/index.d.ts +1 -1
  157. package/modal/types.js.flow +4 -1
  158. package/package.json +5 -3
  159. package/popover/index.d.ts +2 -1
  160. package/popover/popover.js +6 -5
  161. package/popover/popover.js.flow +11 -4
  162. package/popover/stateful-container.js +8 -2
  163. package/popover/stateful-container.js.flow +5 -0
  164. package/popover/types.js.flow +6 -1
  165. package/rating/emoticon-rating.js +2 -2
  166. package/rating/emoticon-rating.js.flow +4 -1
  167. package/rating/star-rating.js +2 -2
  168. package/rating/star-rating.js.flow +4 -1
  169. package/select/select-component.js +19 -5
  170. package/select/select-component.js.flow +19 -5
  171. package/select/styled-components.js +28 -4
  172. package/select/styled-components.js.flow +30 -2
  173. package/select/types.js.flow +9 -0
  174. package/snackbar/index.d.ts +21 -16
  175. package/snackbar/snackbar-context.js +15 -4
  176. package/snackbar/snackbar-context.js.flow +15 -3
  177. package/table-semantic/styled-components.js +6 -4
  178. package/table-semantic/styled-components.js.flow +6 -4
  179. package/table-semantic/table-builder.js +3 -0
  180. package/table-semantic/table-builder.js.flow +3 -0
  181. package/themes/dark-theme/color-component-tokens.js +1 -1
  182. package/themes/dark-theme/color-component-tokens.js.flow +1 -1
  183. package/themes/light-theme/color-component-tokens.js +9 -9
  184. package/themes/light-theme/color-component-tokens.js.flow +9 -9
  185. package/themes/shared/lighting.js +5 -1
  186. package/themes/shared/lighting.js.flow +4 -0
  187. package/themes/types.js.flow +4 -0
  188. package/timepicker/index.d.ts +1 -0
  189. package/timepicker/timepicker.js +17 -11
  190. package/timepicker/timepicker.js.flow +31 -12
  191. package/timepicker/types.js.flow +10 -0
  192. package/tooltip/styled-components.js +8 -0
  193. package/tooltip/styled-components.js.flow +8 -0
  194. package/tooltip/tooltip.js +1 -0
  195. package/tooltip/tooltip.js.flow +6 -1
@@ -0,0 +1,137 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+
4
+ This source code is licensed under the MIT license found in the
5
+ LICENSE file in the root directory of this source tree.
6
+ */
7
+ // @flow
8
+ import * as React from 'react';
9
+ import {useStyletron} from '../styles/index.js';
10
+ import {getOverrides} from '../helpers/overrides.js';
11
+ import {
12
+ PINHEAD_TYPES,
13
+ NEEDLE_SIZES,
14
+ NEEDLE_HEIGHTS,
15
+ PINHEAD_SIZES_SHAPES,
16
+ dragShadowHeight,
17
+ dragShadowMarginTop,
18
+ dragShadowWidth,
19
+ } from './constants.js';
20
+ import PinHead from './pin-head.js';
21
+ import {
22
+ FixedMarkerDragContainer as StyledFixedMarkerDragContainer,
23
+ FixedMarkerRoot as StyledRoot,
24
+ Needle as StyledNeedle,
25
+ DragShadow as StyledDragShadow,
26
+ DragShadowContainer as StyledDragShadowContainer,
27
+ } from './styled-components.js';
28
+ import type {
29
+ FixedMarkerPropsT,
30
+ NeedlePropsT,
31
+ DragShadowPropsT,
32
+ } from './types.js';
33
+
34
+ const Needle = ({size, background, overrides = {}}: NeedlePropsT) => {
35
+ const [Needle, needleProps] = getOverrides(overrides.Needle, StyledNeedle);
36
+ return (
37
+ <Needle
38
+ $background={background}
39
+ $height={NEEDLE_HEIGHTS[size]}
40
+ {...needleProps}
41
+ />
42
+ );
43
+ };
44
+
45
+ const DragShadow = ({
46
+ background,
47
+ dragging,
48
+ height,
49
+ overrides = {},
50
+ }: DragShadowPropsT) => {
51
+ const [DragShadowContainer, dragShadowContainerProps] = getOverrides(
52
+ overrides.DragShadowContainer,
53
+ StyledDragShadowContainer,
54
+ );
55
+ const [DragShadow, dragShadowProps] = getOverrides(
56
+ overrides.DragShadow,
57
+ StyledDragShadow,
58
+ );
59
+
60
+ return (
61
+ <DragShadowContainer
62
+ $width={dragShadowWidth}
63
+ $height={height}
64
+ $dragging={dragging}
65
+ {...dragShadowContainerProps}
66
+ >
67
+ <DragShadow
68
+ $width={dragShadowWidth}
69
+ $background={background}
70
+ {...dragShadowProps}
71
+ />
72
+ </DragShadowContainer>
73
+ );
74
+ };
75
+
76
+ const FixedMarker = ({
77
+ size = PINHEAD_SIZES_SHAPES.medium,
78
+ needle = NEEDLE_SIZES.medium,
79
+ label,
80
+ startEnhancer,
81
+ endEnhancer,
82
+ color,
83
+ background,
84
+ dragging = false,
85
+ overrides = {},
86
+ }: FixedMarkerPropsT) => {
87
+ const [, theme] = useStyletron();
88
+ const {
89
+ colors: {backgroundInversePrimary, primaryB},
90
+ } = theme;
91
+
92
+ color = color || primaryB;
93
+ background = background || backgroundInversePrimary;
94
+
95
+ const doesPinHeadTransformOnDrag = needle !== NEEDLE_SIZES.none;
96
+
97
+ const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
98
+ const [
99
+ FixedMarkerDragContainer,
100
+ fixedMarkerDragContainerProps,
101
+ ] = getOverrides(overrides.DragContainer, StyledFixedMarkerDragContainer);
102
+ return (
103
+ <Root data-baseweb="fixed-map-marker" {...rootProps}>
104
+ <FixedMarkerDragContainer
105
+ $translateAmount={dragShadowMarginTop + dragShadowHeight}
106
+ $performTranslate={doesPinHeadTransformOnDrag && dragging}
107
+ {...fixedMarkerDragContainerProps}
108
+ >
109
+ <PinHead
110
+ size={size}
111
+ label={label}
112
+ {...(startEnhancer ? {startEnhancer} : {})}
113
+ {...(endEnhancer ? {endEnhancer} : {})}
114
+ color={color}
115
+ background={background}
116
+ type={PINHEAD_TYPES.fixed}
117
+ overrides={overrides}
118
+ />
119
+ <Needle size={needle} background={background} overrides={overrides} />
120
+ </FixedMarkerDragContainer>
121
+ {doesPinHeadTransformOnDrag && (
122
+ <DragShadow
123
+ background={background}
124
+ dragging={dragging}
125
+ height={dragShadowMarginTop + dragShadowHeight}
126
+ overrides={overrides}
127
+ />
128
+ )}
129
+ </Root>
130
+ );
131
+ };
132
+
133
+ export default FixedMarker;
134
+
135
+ declare var __DEV__: boolean;
136
+ declare var __NODE__: boolean;
137
+ declare var __BROWSER__: boolean;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _index = require("../styles/index.js");
13
+
14
+ var _pinHead = _interopRequireDefault(require("./pin-head.js"));
15
+
16
+ var _overrides = require("../helpers/overrides.js");
17
+
18
+ var _styledComponents = require("./styled-components.js");
19
+
20
+ var _constants = require("./constants.js");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
25
+
26
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function _extends() { _extends = Object.assign || 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); }
29
+
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
34
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
36
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
38
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ var FloatingMarker = function FloatingMarker(_ref) {
43
+ var color = _ref.color,
44
+ background = _ref.background,
45
+ label = _ref.label,
46
+ _ref$size = _ref.size,
47
+ size = _ref$size === void 0 ? _constants.PINHEAD_SIZES_SHAPES.medium : _ref$size,
48
+ _ref$anchor = _ref.anchor,
49
+ anchor = _ref$anchor === void 0 ? _constants.FLOATING_MARKER_ANCHOR_POSITIONS.bottomLeft : _ref$anchor,
50
+ endEnhancer = _ref.endEnhancer,
51
+ startEnhancer = _ref.startEnhancer,
52
+ _ref$anchorType = _ref.anchorType,
53
+ anchorType = _ref$anchorType === void 0 ? _constants.FLOATING_MARKER_ANCHOR_TYPES.circle : _ref$anchorType,
54
+ _ref$overrides = _ref.overrides,
55
+ overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
56
+
57
+ var _useStyletron = (0, _index.useStyletron)(),
58
+ _useStyletron2 = _slicedToArray(_useStyletron, 2),
59
+ theme = _useStyletron2[1];
60
+
61
+ var _theme$colors = theme.colors,
62
+ backgroundPrimary = _theme$colors.backgroundPrimary,
63
+ backgroundInversePrimary = _theme$colors.backgroundInversePrimary,
64
+ primaryA = _theme$colors.primaryA,
65
+ primaryB = _theme$colors.primaryB;
66
+ color = color || primaryA;
67
+ background = background || backgroundPrimary;
68
+ var anchorPinHeadSize = anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.circle ? _constants.PINHEAD_SIZES_SHAPES.xSmallCircle : _constants.PINHEAD_SIZES_SHAPES.xSmallSquare;
69
+
70
+ var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.FloatingMarkerRoot),
71
+ _getOverrides2 = _slicedToArray(_getOverrides, 2),
72
+ Root = _getOverrides2[0],
73
+ rootProps = _getOverrides2[1];
74
+
75
+ var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PinHeadContainer, _styledComponents.FloatingMarkerPinHeadContainer),
76
+ _getOverrides4 = _slicedToArray(_getOverrides3, 2),
77
+ FloatingMarkerPinHeadContainer = _getOverrides4[0],
78
+ floatingMarkerPinHeadContainerProps = _getOverrides4[1];
79
+
80
+ var _getOverrides5 = (0, _overrides.getOverrides)(overrides.AnchorContainer, _styledComponents.FloatingMarkerAnchorContainer),
81
+ _getOverrides6 = _slicedToArray(_getOverrides5, 2),
82
+ FloatingMarkerAnchorContainer = _getOverrides6[0],
83
+ floatingMarkerAnchorContainerProps = _getOverrides6[1];
84
+
85
+ return /*#__PURE__*/React.createElement(Root, _extends({
86
+ "data-baseweb": "floating-map-marker"
87
+ }, rootProps), /*#__PURE__*/React.createElement(FloatingMarkerPinHeadContainer, _extends({
88
+ $anchor: anchor,
89
+ $anchorSize: _constants.anchorSize
90
+ }, floatingMarkerPinHeadContainerProps), /*#__PURE__*/React.createElement(_pinHead.default, {
91
+ size: size,
92
+ color: color,
93
+ background: background,
94
+ type: _constants.PINHEAD_TYPES.floating,
95
+ label: label,
96
+ startEnhancer: startEnhancer,
97
+ endEnhancer: endEnhancer,
98
+ overrides: overrides
99
+ })), anchor !== _constants.FLOATING_MARKER_ANCHOR_POSITIONS.none && /*#__PURE__*/React.createElement(FloatingMarkerAnchorContainer, floatingMarkerAnchorContainerProps, /*#__PURE__*/React.createElement(_pinHead.default, {
100
+ size: anchorPinHeadSize,
101
+ color: primaryB,
102
+ background: backgroundInversePrimary,
103
+ type: _constants.PINHEAD_TYPES.fixed,
104
+ overrides: overrides
105
+ })));
106
+ };
107
+
108
+ var _default = FloatingMarker;
109
+ exports.default = _default;
@@ -0,0 +1,102 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+
4
+ This source code is licensed under the MIT license found in the
5
+ LICENSE file in the root directory of this source tree.
6
+ */
7
+ // @flow
8
+ import * as React from 'react';
9
+ import {useStyletron} from '../styles/index.js';
10
+ import PinHead from './pin-head.js';
11
+ import {getOverrides} from '../helpers/overrides.js';
12
+ import {
13
+ FloatingMarkerRoot as StyledRoot,
14
+ FloatingMarkerAnchorContainer as StyledFloatingMarkerAnchorContainer,
15
+ FloatingMarkerPinHeadContainer as StyledFloatingMarkerPinHeadContainer,
16
+ } from './styled-components.js';
17
+ import type {FloatingMarkerPropsT} from './types.js';
18
+ import {
19
+ FLOATING_MARKER_ANCHOR_POSITIONS,
20
+ PINHEAD_SIZES_SHAPES,
21
+ PINHEAD_TYPES,
22
+ FLOATING_MARKER_ANCHOR_TYPES,
23
+ anchorSize,
24
+ } from './constants.js';
25
+
26
+ const FloatingMarker = ({
27
+ color,
28
+ background,
29
+ label,
30
+ size = PINHEAD_SIZES_SHAPES.medium,
31
+ anchor = FLOATING_MARKER_ANCHOR_POSITIONS.bottomLeft,
32
+ endEnhancer,
33
+ startEnhancer,
34
+ anchorType = FLOATING_MARKER_ANCHOR_TYPES.circle,
35
+ overrides = {},
36
+ }: FloatingMarkerPropsT) => {
37
+ const [, theme] = useStyletron();
38
+ const {
39
+ colors: {backgroundPrimary, backgroundInversePrimary, primaryA, primaryB},
40
+ } = theme;
41
+ color = color || primaryA;
42
+ background = background || backgroundPrimary;
43
+
44
+ const anchorPinHeadSize =
45
+ anchorType === FLOATING_MARKER_ANCHOR_TYPES.circle
46
+ ? PINHEAD_SIZES_SHAPES.xSmallCircle
47
+ : PINHEAD_SIZES_SHAPES.xSmallSquare;
48
+
49
+ const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
50
+ const [
51
+ FloatingMarkerPinHeadContainer,
52
+ floatingMarkerPinHeadContainerProps,
53
+ ] = getOverrides(
54
+ overrides.PinHeadContainer,
55
+ StyledFloatingMarkerPinHeadContainer,
56
+ );
57
+
58
+ const [
59
+ FloatingMarkerAnchorContainer,
60
+ floatingMarkerAnchorContainerProps,
61
+ ] = getOverrides(
62
+ overrides.AnchorContainer,
63
+ StyledFloatingMarkerAnchorContainer,
64
+ );
65
+ return (
66
+ <Root data-baseweb="floating-map-marker" {...rootProps}>
67
+ <FloatingMarkerPinHeadContainer
68
+ $anchor={anchor}
69
+ $anchorSize={anchorSize}
70
+ {...floatingMarkerPinHeadContainerProps}
71
+ >
72
+ <PinHead
73
+ size={size}
74
+ color={color}
75
+ background={background}
76
+ type={PINHEAD_TYPES.floating}
77
+ label={label}
78
+ startEnhancer={startEnhancer}
79
+ endEnhancer={endEnhancer}
80
+ overrides={overrides}
81
+ />
82
+ </FloatingMarkerPinHeadContainer>
83
+ {anchor !== FLOATING_MARKER_ANCHOR_POSITIONS.none && (
84
+ <FloatingMarkerAnchorContainer {...floatingMarkerAnchorContainerProps}>
85
+ <PinHead
86
+ size={anchorPinHeadSize}
87
+ color={primaryB}
88
+ background={backgroundInversePrimary}
89
+ type={PINHEAD_TYPES.fixed}
90
+ overrides={overrides}
91
+ />
92
+ </FloatingMarkerAnchorContainer>
93
+ )}
94
+ </Root>
95
+ );
96
+ };
97
+
98
+ export default FloatingMarker;
99
+
100
+ declare var __DEV__: boolean;
101
+ declare var __NODE__: boolean;
102
+ declare var __BROWSER__: boolean;
@@ -0,0 +1,105 @@
1
+ import * as React from 'react';
2
+ import {Override} from '../overrides';
3
+
4
+ export interface FLOATING_MARKER_ANCHOR_POSITIONS {
5
+ none: 'none';
6
+ topLeft: 'top-left';
7
+ topRight: 'top-right';
8
+ bottomRight: 'bottom-right';
9
+ bottomLeft: 'bottom-left';
10
+ }
11
+
12
+ export interface NEEDLE_SIZES {
13
+ none: 'none';
14
+ short: 'short';
15
+ medium: 'medium';
16
+ tall: 'tall';
17
+ }
18
+
19
+ export interface PINHEAD_SIZES_SHAPES {
20
+ xSmallCircle: 'x-small-circle';
21
+ xSmallSquare: 'x-small-square';
22
+ small: 'small';
23
+ medium: 'medium';
24
+ large: 'large';
25
+ }
26
+
27
+ export interface PINHEAD_TYPES {
28
+ floating: 'floating';
29
+ fixed: 'fixed';
30
+ }
31
+
32
+ export interface FLOATING_MARKER_SIZES {
33
+ small: 'small';
34
+ medium: 'medium';
35
+ large: 'large';
36
+ }
37
+
38
+ export interface FLOATING_MARKER_ANCHOR_TYPES {
39
+ round: 'round';
40
+ square: 'square';
41
+ }
42
+
43
+ export type NeedleSizeT = NEEDLE_SIZES[keyof NEEDLE_SIZES];
44
+ export type PinHeadT = PINHEAD_TYPES[keyof PINHEAD_TYPES];
45
+ export type PinHeadSizeT = PINHEAD_SIZES_SHAPES[keyof PINHEAD_SIZES_SHAPES];
46
+ export type AnchorPositionsT = FLOATING_MARKER_ANCHOR_POSITIONS[keyof FLOATING_MARKER_ANCHOR_POSITIONS];
47
+ export type FloatingMarkerSizeT = FLOATING_MARKER_SIZES[keyof FLOATING_MARKER_SIZES];
48
+ export type FloatingMarkerAnchorTypeT = FLOATING_MARKER_ANCHOR_TYPES[keyof FLOATING_MARKER_ANCHOR_TYPES];
49
+
50
+ export type FixedMarkerOverridesT = {
51
+ Root?: Override<any>;
52
+ InnerAnchor?: Override<any>;
53
+ OuterAnchor?: Override<any>;
54
+ PinHead?: Override<any>;
55
+ PinHeadContent?: Override<any>;
56
+ PinHeadContainer?: Override<any>;
57
+ Needle?: Override<any>;
58
+ DragShadow?: Override<any>;
59
+ DragShadowContainer?: Override<any>;
60
+ DragContainer?: Override<any>;
61
+ };
62
+
63
+ export type FixedMarkerPropsT = {
64
+ size?: PinHeadSizeT;
65
+ needle?: NeedleSizeT;
66
+ label?: string;
67
+ startEnhancer?: (props: {size: number}) => React.ReactNode;
68
+ endEnhancer?: (props: {size: number}) => React.ReactNode;
69
+ color?: string;
70
+ background?: string;
71
+ dragging?: boolean;
72
+ overrides?: FixedMarkerOverridesT;
73
+ };
74
+
75
+ export type FloatingMarkerOverridesT = {
76
+ Root?: Override<any>;
77
+ InnerAnchor?: Override<any>;
78
+ OuterAnchor?: Override<any>;
79
+ PinHead?: Override<any>;
80
+ PinHeadContent?: Override<any>;
81
+ PinHeadContainer?: Override<any>;
82
+ AnchorContainer?: Override<any>;
83
+ };
84
+
85
+ export type FloatingMarkerPropsT = {
86
+ color?: string;
87
+ background?: string;
88
+ label?: string;
89
+ anchor?: AnchorPositionsT;
90
+ endEnhancer?: (props: {size: number}) => React.ReactNode;
91
+ startEnhancer?: (props: {size: number}) => React.ReactNode;
92
+ anchorType?: FloatingMarkerAnchorTypeT;
93
+ size?: FloatingMarkerSizeT;
94
+ overrides?: FloatingMarkerOverridesT;
95
+ };
96
+
97
+ export const FLOATING_MARKER_ANCHOR_POSITIONS: FLOATING_MARKER_ANCHOR_POSITIONS;
98
+ export const NEEDLE_SIZES: NEEDLE_SIZES;
99
+ export const PINHEAD_SIZES_SHAPES: PINHEAD_SIZES_SHAPES;
100
+ export const PINHEAD_TYPES: PINHEAD_TYPES;
101
+ export const FLOATING_MARKER_ANCHOR_TYPES: FLOATING_MARKER_ANCHOR_TYPES;
102
+ export const FLOATING_MARKER_SIZES: FLOATING_MARKER_SIZES;
103
+
104
+ export const FixedMarker: React.FC<FixedMarkerPropsT>;
105
+ export const FloatingMarker: React.FC<FloatingMarkerPropsT>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FixedMarker", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _fixedMarker.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FloatingMarker", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _floatingMarker.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "FLOATING_MARKER_ANCHOR_POSITIONS", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _constants.FLOATING_MARKER_ANCHOR_POSITIONS;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "FLOATING_MARKER_SIZES", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _constants.FLOATING_MARKER_SIZES;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "FLOATING_MARKER_ANCHOR_TYPES", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _constants.FLOATING_MARKER_ANCHOR_TYPES;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "NEEDLE_SIZES", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _constants.NEEDLE_SIZES;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "PINHEAD_SIZES_SHAPES", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _constants.PINHEAD_SIZES_SHAPES;
46
+ }
47
+ });
48
+
49
+ var _fixedMarker = _interopRequireDefault(require("./fixed-marker.js"));
50
+
51
+ var _floatingMarker = _interopRequireDefault(require("./floating-marker.js"));
52
+
53
+ var _constants = require("./constants.js");
54
+
55
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,23 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+
4
+ This source code is licensed under the MIT license found in the
5
+ LICENSE file in the root directory of this source tree.
6
+ */
7
+ // @flow
8
+ export {default as FixedMarker} from './fixed-marker.js';
9
+ export {default as FloatingMarker} from './floating-marker.js';
10
+
11
+ export {
12
+ FLOATING_MARKER_ANCHOR_POSITIONS,
13
+ FLOATING_MARKER_SIZES,
14
+ FLOATING_MARKER_ANCHOR_TYPES,
15
+ NEEDLE_SIZES,
16
+ PINHEAD_SIZES_SHAPES,
17
+ } from './constants.js';
18
+
19
+ export type * from './types.js';
20
+
21
+ declare var __DEV__: boolean;
22
+ declare var __NODE__: boolean;
23
+ declare var __BROWSER__: boolean;
@@ -0,0 +1,4 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../esm/map-marker/index.js"
4
+ }