baseui 10.8.0 → 10.9.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.
Files changed (170) hide show
  1. package/a11y/a11y.js +2 -2
  2. package/a11y/a11y.js.flow +3 -3
  3. package/button/styled-components.js +47 -18
  4. package/button/styled-components.js.flow +25 -5
  5. package/combobox/combobox.js +6 -3
  6. package/combobox/combobox.js.flow +4 -2
  7. package/combobox/types.js.flow +2 -0
  8. package/data-table/column-categorical.js +1 -1
  9. package/data-table/column-categorical.js.flow +2 -2
  10. package/data-table/column-numerical.js +307 -355
  11. package/data-table/column-numerical.js.flow +273 -287
  12. package/data-table/constants.js +17 -11
  13. package/data-table/constants.js.flow +11 -8
  14. package/data-table/data-table.js +53 -50
  15. package/data-table/data-table.js.flow +18 -13
  16. package/data-table/filter-shell.js +27 -4
  17. package/data-table/filter-shell.js.flow +33 -9
  18. package/data-table/locale.js +4 -2
  19. package/data-table/locale.js.flow +6 -2
  20. package/data-table/measure-column-widths.js +83 -121
  21. package/data-table/measure-column-widths.js.flow +87 -109
  22. package/datepicker/styled-components.js +1 -1
  23. package/datepicker/styled-components.js.flow +4 -1
  24. package/drawer/drawer.js +3 -1
  25. package/drawer/drawer.js.flow +7 -1
  26. package/es/a11y/a11y.js +2 -2
  27. package/es/button/styled-components.js +32 -2
  28. package/es/combobox/combobox.js +6 -3
  29. package/es/data-table/column-categorical.js +2 -2
  30. package/es/data-table/column-numerical.js +245 -317
  31. package/es/data-table/constants.js +12 -8
  32. package/es/data-table/data-table.js +18 -16
  33. package/es/data-table/filter-shell.js +26 -4
  34. package/es/data-table/locale.js +4 -2
  35. package/es/data-table/measure-column-widths.js +75 -86
  36. package/es/datepicker/styled-components.js +1 -1
  37. package/es/drawer/drawer.js +3 -1
  38. package/es/index.js +1 -1
  39. package/es/map-marker/badge-enhancer.js +61 -0
  40. package/es/map-marker/constants.js +146 -2
  41. package/es/map-marker/drag-shadow.js +32 -0
  42. package/es/map-marker/fixed-marker.js +54 -48
  43. package/es/map-marker/floating-marker.js +21 -12
  44. package/es/map-marker/index.js +1 -1
  45. package/es/map-marker/label-enhancer.js +39 -0
  46. package/es/map-marker/needle.js +26 -0
  47. package/es/map-marker/pin-head.js +42 -40
  48. package/es/map-marker/styled-components.js +177 -32
  49. package/es/map-marker/types.js +1 -1
  50. package/es/menu/maybe-child-menu.js +0 -2
  51. package/es/menu/nested-menus.js +49 -3
  52. package/es/menu/stateful-container.js +13 -12
  53. package/es/modal/modal.js +3 -1
  54. package/es/popover/popover.js +3 -1
  55. package/es/progress-bar/index.js +1 -1
  56. package/es/progress-bar/progressbar.js +25 -10
  57. package/es/progress-bar/styled-components.js +9 -5
  58. package/es/select/select-component.js +2 -10
  59. package/es/spinner/styled-components.js +34 -16
  60. package/es/table/filter.js +3 -1
  61. package/es/themes/dark-theme/color-component-tokens.js +4 -0
  62. package/es/themes/light-theme/color-component-tokens.js +4 -0
  63. package/es/timezonepicker/timezone-picker.js +53 -36
  64. package/es/timezonepicker/tzdata.js +2 -0
  65. package/es/timezonepicker/update-tzdata.js +69 -0
  66. package/esm/a11y/a11y.js +3 -3
  67. package/esm/button/styled-components.js +47 -18
  68. package/esm/combobox/combobox.js +6 -3
  69. package/esm/data-table/column-categorical.js +2 -2
  70. package/esm/data-table/column-numerical.js +304 -353
  71. package/esm/data-table/constants.js +12 -8
  72. package/esm/data-table/data-table.js +53 -50
  73. package/esm/data-table/filter-shell.js +26 -4
  74. package/esm/data-table/locale.js +4 -2
  75. package/esm/data-table/measure-column-widths.js +83 -121
  76. package/esm/datepicker/styled-components.js +1 -1
  77. package/esm/drawer/drawer.js +3 -1
  78. package/esm/index.js +1 -1
  79. package/esm/map-marker/badge-enhancer.js +79 -0
  80. package/esm/map-marker/constants.js +94 -4
  81. package/esm/map-marker/drag-shadow.js +53 -0
  82. package/esm/map-marker/fixed-marker.js +84 -80
  83. package/esm/map-marker/floating-marker.js +22 -13
  84. package/esm/map-marker/index.js +1 -1
  85. package/esm/map-marker/label-enhancer.js +60 -0
  86. package/esm/map-marker/needle.js +43 -0
  87. package/esm/map-marker/pin-head.js +77 -66
  88. package/esm/map-marker/styled-components.js +182 -51
  89. package/esm/map-marker/types.js +1 -1
  90. package/esm/menu/maybe-child-menu.js +0 -2
  91. package/esm/menu/nested-menus.js +66 -5
  92. package/esm/menu/stateful-container.js +15 -13
  93. package/esm/modal/modal.js +3 -1
  94. package/esm/popover/popover.js +3 -1
  95. package/esm/progress-bar/index.js +1 -1
  96. package/esm/progress-bar/progressbar.js +32 -10
  97. package/esm/progress-bar/styled-components.js +9 -4
  98. package/esm/select/select-component.js +2 -11
  99. package/esm/spinner/styled-components.js +35 -16
  100. package/esm/table/filter.js +3 -1
  101. package/esm/themes/dark-theme/color-component-tokens.js +4 -0
  102. package/esm/themes/light-theme/color-component-tokens.js +4 -0
  103. package/esm/timezonepicker/timezone-picker.js +64 -36
  104. package/esm/timezonepicker/tzdata.js +2 -0
  105. package/esm/timezonepicker/update-tzdata.js +160 -0
  106. package/index.js +6 -0
  107. package/index.js.flow +1 -1
  108. package/map-marker/badge-enhancer.js +90 -0
  109. package/map-marker/badge-enhancer.js.flow +86 -0
  110. package/map-marker/constants.js +103 -5
  111. package/map-marker/constants.js.flow +152 -0
  112. package/map-marker/drag-shadow.js +64 -0
  113. package/map-marker/drag-shadow.js.flow +52 -0
  114. package/map-marker/fixed-marker.js +84 -78
  115. package/map-marker/fixed-marker.js.flow +78 -66
  116. package/map-marker/floating-marker.js +22 -13
  117. package/map-marker/floating-marker.js.flow +30 -17
  118. package/map-marker/index.d.ts +125 -24
  119. package/map-marker/index.js +18 -0
  120. package/map-marker/index.js.flow +3 -0
  121. package/map-marker/label-enhancer.js +71 -0
  122. package/map-marker/label-enhancer.js.flow +63 -0
  123. package/map-marker/needle.js +54 -0
  124. package/map-marker/needle.js.flow +29 -0
  125. package/map-marker/pin-head.js +80 -69
  126. package/map-marker/pin-head.js.flow +122 -84
  127. package/map-marker/styled-components.js +200 -62
  128. package/map-marker/styled-components.js.flow +172 -22
  129. package/map-marker/types.js.flow +69 -20
  130. package/menu/index.d.ts +9 -4
  131. package/menu/maybe-child-menu.js +0 -2
  132. package/menu/maybe-child-menu.js.flow +0 -2
  133. package/menu/nested-menus.js +66 -5
  134. package/menu/nested-menus.js.flow +50 -5
  135. package/menu/stateful-container.js +15 -13
  136. package/menu/stateful-container.js.flow +19 -13
  137. package/menu/types.js.flow +7 -1
  138. package/modal/modal.js +3 -1
  139. package/modal/modal.js.flow +2 -0
  140. package/package.json +5 -4
  141. package/popover/popover.js +3 -1
  142. package/popover/popover.js.flow +2 -0
  143. package/progress-bar/index.d.ts +2 -0
  144. package/progress-bar/index.js +6 -0
  145. package/progress-bar/index.js.flow +1 -0
  146. package/progress-bar/progressbar.js +32 -10
  147. package/progress-bar/progressbar.js.flow +35 -9
  148. package/progress-bar/styled-components.js +9 -4
  149. package/progress-bar/styled-components.js.flow +15 -4
  150. package/progress-bar/types.js.flow +12 -2
  151. package/select/select-component.js +2 -11
  152. package/select/select-component.js.flow +5 -7
  153. package/spinner/styled-components.js +35 -16
  154. package/spinner/styled-components.js.flow +37 -19
  155. package/spinner/types.js.flow +10 -0
  156. package/styles/index.js.flow +1 -1
  157. package/table/filter.js +3 -1
  158. package/table/filter.js.flow +5 -1
  159. package/themes/dark-theme/color-component-tokens.js +4 -0
  160. package/themes/dark-theme/color-component-tokens.js.flow +4 -0
  161. package/themes/light-theme/color-component-tokens.js +4 -0
  162. package/themes/light-theme/color-component-tokens.js.flow +4 -0
  163. package/themes/types.js.flow +4 -0
  164. package/timezonepicker/timezone-picker.js +69 -41
  165. package/timezonepicker/timezone-picker.js.flow +52 -46
  166. package/timezonepicker/types.js.flow +1 -1
  167. package/timezonepicker/tzdata.js +10 -0
  168. package/timezonepicker/tzdata.js.flow +347 -0
  169. package/timezonepicker/update-tzdata.js +164 -0
  170. package/timezonepicker/update-tzdata.js.flow +70 -0
@@ -0,0 +1,64 @@
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 _overrides = require("../helpers/overrides.js");
13
+
14
+ var _constants = require("./constants.js");
15
+
16
+ var _styledComponents = require("./styled-components.js");
17
+
18
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
19
+
20
+ 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; }
21
+
22
+ 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); }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+
26
+ 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."); }
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
36
+ var DragShadow = function DragShadow(_ref) {
37
+ var background = _ref.background,
38
+ dragging = _ref.dragging,
39
+ height = _ref.height,
40
+ _ref$overrides = _ref.overrides,
41
+ overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
42
+
43
+ var _getOverrides = (0, _overrides.getOverrides)(overrides.DragShadowContainer, _styledComponents.StyledDragShadowContainer),
44
+ _getOverrides2 = _slicedToArray(_getOverrides, 2),
45
+ DragShadowContainer = _getOverrides2[0],
46
+ dragShadowContainerProps = _getOverrides2[1];
47
+
48
+ var _getOverrides3 = (0, _overrides.getOverrides)(overrides.DragShadow, _styledComponents.StyledDragShadow),
49
+ _getOverrides4 = _slicedToArray(_getOverrides3, 2),
50
+ DragShadow = _getOverrides4[0],
51
+ dragShadowProps = _getOverrides4[1];
52
+
53
+ return /*#__PURE__*/React.createElement(DragShadowContainer, _extends({
54
+ $width: _constants.dragShadowWidth,
55
+ $height: height,
56
+ $dragging: dragging
57
+ }, dragShadowContainerProps), /*#__PURE__*/React.createElement(DragShadow, _extends({
58
+ $width: _constants.dragShadowWidth,
59
+ $background: background
60
+ }, dragShadowProps)));
61
+ };
62
+
63
+ var _default = DragShadow;
64
+ exports.default = _default;
@@ -0,0 +1,52 @@
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 {getOverrides} from '../helpers/overrides.js';
10
+ import {dragShadowWidth} from './constants.js';
11
+ import {
12
+ StyledDragShadow,
13
+ StyledDragShadowContainer,
14
+ } from './styled-components.js';
15
+ import type {DragShadowPropsT} from './types.js';
16
+
17
+ const DragShadow = ({
18
+ background,
19
+ dragging,
20
+ height,
21
+ overrides = {},
22
+ }: DragShadowPropsT) => {
23
+ const [DragShadowContainer, dragShadowContainerProps] = getOverrides(
24
+ overrides.DragShadowContainer,
25
+ StyledDragShadowContainer,
26
+ );
27
+ const [DragShadow, dragShadowProps] = getOverrides(
28
+ overrides.DragShadow,
29
+ StyledDragShadow,
30
+ );
31
+
32
+ return (
33
+ <DragShadowContainer
34
+ $width={dragShadowWidth}
35
+ $height={height}
36
+ $dragging={dragging}
37
+ {...dragShadowContainerProps}
38
+ >
39
+ <DragShadow
40
+ $width={dragShadowWidth}
41
+ $background={background}
42
+ {...dragShadowProps}
43
+ />
44
+ </DragShadowContainer>
45
+ );
46
+ };
47
+
48
+ export default DragShadow;
49
+
50
+ declare var __DEV__: boolean;
51
+ declare var __NODE__: boolean;
52
+ declare var __BROWSER__: boolean;
@@ -17,6 +17,10 @@ var _constants = require("./constants.js");
17
17
 
18
18
  var _pinHead = _interopRequireDefault(require("./pin-head.js"));
19
19
 
20
+ var _needle = _interopRequireDefault(require("./needle.js"));
21
+
22
+ var _dragShadow = _interopRequireDefault(require("./drag-shadow.js"));
23
+
20
24
  var _styledComponents = require("./styled-components.js");
21
25
 
22
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -39,91 +43,88 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
39
43
 
40
44
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
45
 
42
- var Needle = function Needle(_ref) {
43
- var size = _ref.size,
44
- background = _ref.background,
46
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
47
+
48
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
49
+
50
+ function getColors(kind, theme) {
51
+ if (kind === _constants.KIND.accent) {
52
+ return {
53
+ color: theme.colors.contentInversePrimary,
54
+ backgroundColor: theme.colors.backgroundAccent
55
+ };
56
+ }
57
+
58
+ if (kind === _constants.KIND.negative) {
59
+ return {
60
+ color: theme.colors.contentInversePrimary,
61
+ backgroundColor: theme.colors.backgroundNegative
62
+ };
63
+ }
64
+
65
+ return {
66
+ color: theme.colors.contentInversePrimary,
67
+ backgroundColor: theme.colors.backgroundInversePrimary
68
+ };
69
+ }
70
+
71
+ var FixedMarker = function FixedMarker(_ref) {
72
+ var _ref$size = _ref.size,
73
+ size = _ref$size === void 0 ? _constants.PINHEAD_SIZES_SHAPES.medium : _ref$size,
74
+ _ref$needle = _ref.needle,
75
+ needle = _ref$needle === void 0 ? _constants.NEEDLE_SIZES.medium : _ref$needle,
76
+ label = _ref.label,
77
+ startEnhancer = _ref.startEnhancer,
78
+ endEnhancer = _ref.endEnhancer,
79
+ _ref$kind = _ref.kind,
80
+ kind = _ref$kind === void 0 ? _constants.KIND.default : _ref$kind,
81
+ _ref$dragging = _ref.dragging,
82
+ dragging = _ref$dragging === void 0 ? false : _ref$dragging,
45
83
  _ref$overrides = _ref.overrides,
46
- overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
47
-
48
- var _getOverrides = (0, _overrides.getOverrides)(overrides.Needle, _styledComponents.Needle),
49
- _getOverrides2 = _slicedToArray(_getOverrides, 2),
50
- Needle = _getOverrides2[0],
51
- needleProps = _getOverrides2[1];
52
-
53
- return /*#__PURE__*/React.createElement(Needle, _extends({
54
- $background: background,
55
- $height: _constants.NEEDLE_HEIGHTS[size]
56
- }, needleProps));
57
- };
58
-
59
- var DragShadow = function DragShadow(_ref2) {
60
- var background = _ref2.background,
61
- dragging = _ref2.dragging,
62
- height = _ref2.height,
63
- _ref2$overrides = _ref2.overrides,
64
- overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides;
65
-
66
- var _getOverrides3 = (0, _overrides.getOverrides)(overrides.DragShadowContainer, _styledComponents.DragShadowContainer),
67
- _getOverrides4 = _slicedToArray(_getOverrides3, 2),
68
- DragShadowContainer = _getOverrides4[0],
69
- dragShadowContainerProps = _getOverrides4[1];
70
-
71
- var _getOverrides5 = (0, _overrides.getOverrides)(overrides.DragShadow, _styledComponents.DragShadow),
72
- _getOverrides6 = _slicedToArray(_getOverrides5, 2),
73
- DragShadow = _getOverrides6[0],
74
- dragShadowProps = _getOverrides6[1];
75
-
76
- return /*#__PURE__*/React.createElement(DragShadowContainer, _extends({
77
- $width: _constants.dragShadowWidth,
78
- $height: height,
79
- $dragging: dragging
80
- }, dragShadowContainerProps), /*#__PURE__*/React.createElement(DragShadow, _extends({
81
- $width: _constants.dragShadowWidth,
82
- $background: background
83
- }, dragShadowProps)));
84
- };
85
-
86
- var FixedMarker = function FixedMarker(_ref3) {
87
- var _ref3$size = _ref3.size,
88
- size = _ref3$size === void 0 ? _constants.PINHEAD_SIZES_SHAPES.medium : _ref3$size,
89
- _ref3$needle = _ref3.needle,
90
- needle = _ref3$needle === void 0 ? _constants.NEEDLE_SIZES.medium : _ref3$needle,
91
- label = _ref3.label,
92
- startEnhancer = _ref3.startEnhancer,
93
- endEnhancer = _ref3.endEnhancer,
94
- color = _ref3.color,
95
- background = _ref3.background,
96
- _ref3$dragging = _ref3.dragging,
97
- dragging = _ref3$dragging === void 0 ? false : _ref3$dragging,
98
- _ref3$overrides = _ref3.overrides,
99
- overrides = _ref3$overrides === void 0 ? {} : _ref3$overrides;
84
+ overrides = _ref$overrides === void 0 ? {} : _ref$overrides,
85
+ _ref$labelEnhancerCon = _ref.labelEnhancerContent,
86
+ labelEnhancerContent = _ref$labelEnhancerCon === void 0 ? null : _ref$labelEnhancerCon,
87
+ _ref$labelEnhancerPos = _ref.labelEnhancerPosition,
88
+ labelEnhancerPosition = _ref$labelEnhancerPos === void 0 ? _constants.LABEL_ENHANCER_POSITIONS.bottom : _ref$labelEnhancerPos,
89
+ _ref$badgeEnhancerSiz = _ref.badgeEnhancerSize,
90
+ badgeEnhancerSize = _ref$badgeEnhancerSiz === void 0 ? null : _ref$badgeEnhancerSiz,
91
+ _ref$badgeEnhancerCon = _ref.badgeEnhancerContent,
92
+ badgeEnhancerContent = _ref$badgeEnhancerCon === void 0 ? null : _ref$badgeEnhancerCon,
93
+ restProps = _objectWithoutProperties(_ref, ["size", "needle", "label", "startEnhancer", "endEnhancer", "kind", "dragging", "overrides", "labelEnhancerContent", "labelEnhancerPosition", "badgeEnhancerSize", "badgeEnhancerContent"]);
100
94
 
101
95
  var _useStyletron = (0, _index.useStyletron)(),
102
96
  _useStyletron2 = _slicedToArray(_useStyletron, 2),
103
97
  theme = _useStyletron2[1];
104
98
 
105
- var _theme$colors = theme.colors,
106
- backgroundInversePrimary = _theme$colors.backgroundInversePrimary,
107
- primaryB = _theme$colors.primaryB;
108
- color = color || primaryB;
109
- background = background || backgroundInversePrimary;
110
- var doesPinHeadTransformOnDrag = needle !== _constants.NEEDLE_SIZES.none;
99
+ var _getColors = getColors(kind, theme),
100
+ color = _getColors.color,
101
+ backgroundColor = _getColors.backgroundColor;
102
+
103
+ var doesPinHeadTransformOnDrag = needle !== _constants.NEEDLE_SIZES.none && size !== _constants.PINHEAD_SIZES_SHAPES.xxSmallCircle && size !== _constants.PINHEAD_SIZES_SHAPES.xxSmallSquare;
104
+
105
+ var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledFixedMarkerRoot),
106
+ _getOverrides2 = _slicedToArray(_getOverrides, 2),
107
+ Root = _getOverrides2[0],
108
+ rootProps = _getOverrides2[1];
109
+
110
+ var _getOverrides3 = (0, _overrides.getOverrides)(overrides.DragContainer, _styledComponents.StyledFixedMarkerDragContainer),
111
+ _getOverrides4 = _slicedToArray(_getOverrides3, 2),
112
+ FixedMarkerDragContainer = _getOverrides4[0],
113
+ fixedMarkerDragContainerProps = _getOverrides4[1];
111
114
 
112
- var _getOverrides7 = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.FixedMarkerRoot),
113
- _getOverrides8 = _slicedToArray(_getOverrides7, 2),
114
- Root = _getOverrides8[0],
115
- rootProps = _getOverrides8[1];
115
+ var renderNeedle = needle !== _constants.NEEDLE_SIZES.none && ![_constants.PINHEAD_SIZES_SHAPES.xxSmallCircle, _constants.PINHEAD_SIZES_SHAPES.xxSmallSquare].includes(size);
116
116
 
117
- var _getOverrides9 = (0, _overrides.getOverrides)(overrides.DragContainer, _styledComponents.FixedMarkerDragContainer),
118
- _getOverrides10 = _slicedToArray(_getOverrides9, 2),
119
- FixedMarkerDragContainer = _getOverrides10[0],
120
- fixedMarkerDragContainerProps = _getOverrides10[1];
117
+ if (process.env.NODE_ENV !== "production") {
118
+ if (needle !== _constants.NEEDLE_SIZES.none && [_constants.PINHEAD_SIZES_SHAPES.xxSmallCircle, _constants.PINHEAD_SIZES_SHAPES.xxSmallSquare].includes(size)) {
119
+ console.warn("Needles cannot be rendered with ".concat(_constants.PINHEAD_SIZES_SHAPES.xxSmallCircle, " or ").concat(_constants.PINHEAD_SIZES_SHAPES.xxSmallSquare, " pin heads"));
120
+ }
121
+ }
121
122
 
122
123
  return /*#__PURE__*/React.createElement(Root, _extends({
123
124
  "data-baseweb": "fixed-map-marker"
124
125
  }, rootProps), /*#__PURE__*/React.createElement(FixedMarkerDragContainer, _extends({
125
126
  $translateAmount: _constants.dragShadowMarginTop + _constants.dragShadowHeight,
126
- $performTranslate: doesPinHeadTransformOnDrag && dragging
127
+ $performTranslate: doesPinHeadTransformOnDrag && !dragging
127
128
  }, fixedMarkerDragContainerProps), /*#__PURE__*/React.createElement(_pinHead.default, _extends({
128
129
  size: size,
129
130
  label: label
@@ -133,15 +134,20 @@ var FixedMarker = function FixedMarker(_ref3) {
133
134
  endEnhancer: endEnhancer
134
135
  } : {}, {
135
136
  color: color,
136
- background: background,
137
+ background: backgroundColor,
137
138
  type: _constants.PINHEAD_TYPES.fixed,
138
- overrides: overrides
139
- })), /*#__PURE__*/React.createElement(Needle, {
139
+ overrides: overrides,
140
+ badgeEnhancerSize: badgeEnhancerSize,
141
+ badgeEnhancerContent: badgeEnhancerContent,
142
+ labelEnhancerContent: labelEnhancerContent,
143
+ labelEnhancerPosition: labelEnhancerPosition,
144
+ needle: needle
145
+ })), renderNeedle && /*#__PURE__*/React.createElement(_needle.default, {
140
146
  size: needle,
141
- background: background,
147
+ background: backgroundColor,
142
148
  overrides: overrides
143
- })), doesPinHeadTransformOnDrag && /*#__PURE__*/React.createElement(DragShadow, {
144
- background: background,
149
+ })), doesPinHeadTransformOnDrag && /*#__PURE__*/React.createElement(_dragShadow.default, {
150
+ background: backgroundColor,
145
151
  dragging: dragging,
146
152
  height: _constants.dragShadowMarginTop + _constants.dragShadowHeight,
147
153
  overrides: overrides
@@ -6,72 +6,49 @@ LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  // @flow
8
8
  import * as React from 'react';
9
- import {useStyletron} from '../styles/index.js';
9
+ import {useStyletron, type ThemeT} from '../styles/index.js';
10
10
  import {getOverrides} from '../helpers/overrides.js';
11
11
  import {
12
12
  PINHEAD_TYPES,
13
13
  NEEDLE_SIZES,
14
- NEEDLE_HEIGHTS,
15
14
  PINHEAD_SIZES_SHAPES,
15
+ LABEL_ENHANCER_POSITIONS,
16
+ KIND,
16
17
  dragShadowHeight,
17
18
  dragShadowMarginTop,
18
- dragShadowWidth,
19
19
  } from './constants.js';
20
20
  import PinHead from './pin-head.js';
21
+ import Needle from './needle.js';
22
+ import DragShadow from './drag-shadow.js';
21
23
  import {
22
- FixedMarkerDragContainer as StyledFixedMarkerDragContainer,
23
- FixedMarkerRoot as StyledRoot,
24
- Needle as StyledNeedle,
25
- DragShadow as StyledDragShadow,
26
- DragShadowContainer as StyledDragShadowContainer,
24
+ StyledFixedMarkerDragContainer,
25
+ StyledFixedMarkerRoot,
27
26
  } from './styled-components.js';
28
- import type {
29
- FixedMarkerPropsT,
30
- NeedlePropsT,
31
- DragShadowPropsT,
32
- } from './types.js';
27
+ import type {FixedMarkerPropsT, KindT} from './types.js';
33
28
 
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
- );
29
+ type Colors = {
30
+ color: string,
31
+ backgroundColor: string,
43
32
  };
44
33
 
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
- };
34
+ function getColors(kind: KindT, theme: ThemeT): Colors {
35
+ if (kind === KIND.accent) {
36
+ return {
37
+ color: theme.colors.contentInversePrimary,
38
+ backgroundColor: theme.colors.backgroundAccent,
39
+ };
40
+ }
41
+ if (kind === KIND.negative) {
42
+ return {
43
+ color: theme.colors.contentInversePrimary,
44
+ backgroundColor: theme.colors.backgroundNegative,
45
+ };
46
+ }
47
+ return {
48
+ color: theme.colors.contentInversePrimary,
49
+ backgroundColor: theme.colors.backgroundInversePrimary,
50
+ };
51
+ }
75
52
 
76
53
  const FixedMarker = ({
77
54
  size = PINHEAD_SIZES_SHAPES.medium,
@@ -79,31 +56,55 @@ const FixedMarker = ({
79
56
  label,
80
57
  startEnhancer,
81
58
  endEnhancer,
82
- color,
83
- background,
59
+ kind = KIND.default,
84
60
  dragging = false,
85
61
  overrides = {},
62
+ labelEnhancerContent = null,
63
+ labelEnhancerPosition = LABEL_ENHANCER_POSITIONS.bottom,
64
+ badgeEnhancerSize = null,
65
+ badgeEnhancerContent = null,
66
+ ...restProps
86
67
  }: FixedMarkerPropsT) => {
87
68
  const [, theme] = useStyletron();
88
- const {
89
- colors: {backgroundInversePrimary, primaryB},
90
- } = theme;
91
-
92
- color = color || primaryB;
93
- background = background || backgroundInversePrimary;
69
+ const {color, backgroundColor} = getColors(kind, theme);
94
70
 
95
- const doesPinHeadTransformOnDrag = needle !== NEEDLE_SIZES.none;
71
+ const doesPinHeadTransformOnDrag =
72
+ needle !== NEEDLE_SIZES.none &&
73
+ size !== PINHEAD_SIZES_SHAPES.xxSmallCircle &&
74
+ size !== PINHEAD_SIZES_SHAPES.xxSmallSquare;
96
75
 
97
- const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
76
+ const [Root, rootProps] = getOverrides(overrides.Root, StyledFixedMarkerRoot);
98
77
  const [
99
78
  FixedMarkerDragContainer,
100
79
  fixedMarkerDragContainerProps,
101
80
  ] = getOverrides(overrides.DragContainer, StyledFixedMarkerDragContainer);
81
+
82
+ const renderNeedle =
83
+ needle !== NEEDLE_SIZES.none &&
84
+ ![
85
+ PINHEAD_SIZES_SHAPES.xxSmallCircle,
86
+ PINHEAD_SIZES_SHAPES.xxSmallSquare,
87
+ ].includes(size);
88
+
89
+ if (__DEV__) {
90
+ if (
91
+ needle !== NEEDLE_SIZES.none &&
92
+ [
93
+ PINHEAD_SIZES_SHAPES.xxSmallCircle,
94
+ PINHEAD_SIZES_SHAPES.xxSmallSquare,
95
+ ].includes(size)
96
+ ) {
97
+ console.warn(
98
+ `Needles cannot be rendered with ${PINHEAD_SIZES_SHAPES.xxSmallCircle} or ${PINHEAD_SIZES_SHAPES.xxSmallSquare} pin heads`,
99
+ );
100
+ }
101
+ }
102
+
102
103
  return (
103
104
  <Root data-baseweb="fixed-map-marker" {...rootProps}>
104
105
  <FixedMarkerDragContainer
105
106
  $translateAmount={dragShadowMarginTop + dragShadowHeight}
106
- $performTranslate={doesPinHeadTransformOnDrag && dragging}
107
+ $performTranslate={doesPinHeadTransformOnDrag && !dragging}
107
108
  {...fixedMarkerDragContainerProps}
108
109
  >
109
110
  <PinHead
@@ -112,15 +113,26 @@ const FixedMarker = ({
112
113
  {...(startEnhancer ? {startEnhancer} : {})}
113
114
  {...(endEnhancer ? {endEnhancer} : {})}
114
115
  color={color}
115
- background={background}
116
+ background={backgroundColor}
116
117
  type={PINHEAD_TYPES.fixed}
117
118
  overrides={overrides}
119
+ badgeEnhancerSize={badgeEnhancerSize}
120
+ badgeEnhancerContent={badgeEnhancerContent}
121
+ labelEnhancerContent={labelEnhancerContent}
122
+ labelEnhancerPosition={labelEnhancerPosition}
123
+ needle={needle}
118
124
  />
119
- <Needle size={needle} background={background} overrides={overrides} />
125
+ {renderNeedle && (
126
+ <Needle
127
+ size={needle}
128
+ background={backgroundColor}
129
+ overrides={overrides}
130
+ />
131
+ )}
120
132
  </FixedMarkerDragContainer>
121
133
  {doesPinHeadTransformOnDrag && (
122
134
  <DragShadow
123
- background={background}
135
+ background={backgroundColor}
124
136
  dragging={dragging}
125
137
  height={dragShadowMarginTop + dragShadowHeight}
126
138
  overrides={overrides}
@@ -39,10 +39,20 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
39
39
 
40
40
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
41
 
42
+ function getAnchorPinHeadSize(anchorType) {
43
+ if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.circle) {
44
+ return _constants.PINHEAD_SIZES_SHAPES.xSmallCircle;
45
+ } else if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.square) {
46
+ return _constants.PINHEAD_SIZES_SHAPES.xSmallSquare;
47
+ } else if (anchorType === _constants.FLOATING_MARKER_ANCHOR_TYPES.xxSmallSquare) {
48
+ return _constants.PINHEAD_SIZES_SHAPES.xxSmallSquare;
49
+ } else {
50
+ return _constants.PINHEAD_SIZES_SHAPES.xxSmallCircle;
51
+ }
52
+ }
53
+
42
54
  var FloatingMarker = function FloatingMarker(_ref) {
43
- var color = _ref.color,
44
- background = _ref.background,
45
- label = _ref.label,
55
+ var label = _ref.label,
46
56
  _ref$size = _ref.size,
47
57
  size = _ref$size === void 0 ? _constants.PINHEAD_SIZES_SHAPES.medium : _ref$size,
48
58
  _ref$anchor = _ref.anchor,
@@ -63,34 +73,33 @@ var FloatingMarker = function FloatingMarker(_ref) {
63
73
  backgroundInversePrimary = _theme$colors.backgroundInversePrimary,
64
74
  primaryA = _theme$colors.primaryA,
65
75
  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;
76
+ var anchorPinHeadSize = getAnchorPinHeadSize(anchorType);
69
77
 
70
- var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.FloatingMarkerRoot),
78
+ var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledFloatingMarkerRoot),
71
79
  _getOverrides2 = _slicedToArray(_getOverrides, 2),
72
80
  Root = _getOverrides2[0],
73
81
  rootProps = _getOverrides2[1];
74
82
 
75
- var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PinHeadContainer, _styledComponents.FloatingMarkerPinHeadContainer),
83
+ var _getOverrides3 = (0, _overrides.getOverrides)(overrides.PinHeadContainer, _styledComponents.StyledFloatingMarkerPinHeadContainer),
76
84
  _getOverrides4 = _slicedToArray(_getOverrides3, 2),
77
85
  FloatingMarkerPinHeadContainer = _getOverrides4[0],
78
86
  floatingMarkerPinHeadContainerProps = _getOverrides4[1];
79
87
 
80
- var _getOverrides5 = (0, _overrides.getOverrides)(overrides.AnchorContainer, _styledComponents.FloatingMarkerAnchorContainer),
88
+ var _getOverrides5 = (0, _overrides.getOverrides)(overrides.AnchorContainer, _styledComponents.StyledFloatingMarkerAnchorContainer),
81
89
  _getOverrides6 = _slicedToArray(_getOverrides5, 2),
82
90
  FloatingMarkerAnchorContainer = _getOverrides6[0],
83
91
  floatingMarkerAnchorContainerProps = _getOverrides6[1];
84
92
 
85
93
  return /*#__PURE__*/React.createElement(Root, _extends({
86
- "data-baseweb": "floating-map-marker"
94
+ "data-baseweb": "floating-map-marker",
95
+ $size: _constants.PINHEAD_DIMENSIONS[anchorPinHeadSize].height
87
96
  }, rootProps), /*#__PURE__*/React.createElement(FloatingMarkerPinHeadContainer, _extends({
88
97
  $anchor: anchor,
89
- $anchorSize: _constants.anchorSize
98
+ $anchorSize: _constants.PINHEAD_DIMENSIONS[anchorPinHeadSize].height
90
99
  }, floatingMarkerPinHeadContainerProps), /*#__PURE__*/React.createElement(_pinHead.default, {
91
100
  size: size,
92
- color: color,
93
- background: background,
101
+ color: primaryA,
102
+ background: backgroundPrimary,
94
103
  type: _constants.PINHEAD_TYPES.floating,
95
104
  label: label,
96
105
  startEnhancer: startEnhancer,
@@ -10,9 +10,9 @@ import {useStyletron} from '../styles/index.js';
10
10
  import PinHead from './pin-head.js';
11
11
  import {getOverrides} from '../helpers/overrides.js';
12
12
  import {
13
- FloatingMarkerRoot as StyledRoot,
14
- FloatingMarkerAnchorContainer as StyledFloatingMarkerAnchorContainer,
15
- FloatingMarkerPinHeadContainer as StyledFloatingMarkerPinHeadContainer,
13
+ StyledFloatingMarkerRoot,
14
+ StyledFloatingMarkerAnchorContainer,
15
+ StyledFloatingMarkerPinHeadContainer,
16
16
  } from './styled-components.js';
17
17
  import type {FloatingMarkerPropsT} from './types.js';
18
18
  import {
@@ -20,12 +20,22 @@ import {
20
20
  PINHEAD_SIZES_SHAPES,
21
21
  PINHEAD_TYPES,
22
22
  FLOATING_MARKER_ANCHOR_TYPES,
23
- anchorSize,
23
+ PINHEAD_DIMENSIONS,
24
24
  } from './constants.js';
25
25
 
26
+ function getAnchorPinHeadSize(anchorType) {
27
+ if (anchorType === FLOATING_MARKER_ANCHOR_TYPES.circle) {
28
+ return PINHEAD_SIZES_SHAPES.xSmallCircle;
29
+ } else if (anchorType === FLOATING_MARKER_ANCHOR_TYPES.square) {
30
+ return PINHEAD_SIZES_SHAPES.xSmallSquare;
31
+ } else if (anchorType === FLOATING_MARKER_ANCHOR_TYPES.xxSmallSquare) {
32
+ return PINHEAD_SIZES_SHAPES.xxSmallSquare;
33
+ } else {
34
+ return PINHEAD_SIZES_SHAPES.xxSmallCircle;
35
+ }
36
+ }
37
+
26
38
  const FloatingMarker = ({
27
- color,
28
- background,
29
39
  label,
30
40
  size = PINHEAD_SIZES_SHAPES.medium,
31
41
  anchor = FLOATING_MARKER_ANCHOR_POSITIONS.bottomLeft,
@@ -38,15 +48,13 @@ const FloatingMarker = ({
38
48
  const {
39
49
  colors: {backgroundPrimary, backgroundInversePrimary, primaryA, primaryB},
40
50
  } = theme;
41
- color = color || primaryA;
42
- background = background || backgroundPrimary;
43
51
 
44
- const anchorPinHeadSize =
45
- anchorType === FLOATING_MARKER_ANCHOR_TYPES.circle
46
- ? PINHEAD_SIZES_SHAPES.xSmallCircle
47
- : PINHEAD_SIZES_SHAPES.xSmallSquare;
52
+ const anchorPinHeadSize = getAnchorPinHeadSize(anchorType);
48
53
 
49
- const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
54
+ const [Root, rootProps] = getOverrides(
55
+ overrides.Root,
56
+ StyledFloatingMarkerRoot,
57
+ );
50
58
  const [
51
59
  FloatingMarkerPinHeadContainer,
52
60
  floatingMarkerPinHeadContainerProps,
@@ -62,17 +70,22 @@ const FloatingMarker = ({
62
70
  overrides.AnchorContainer,
63
71
  StyledFloatingMarkerAnchorContainer,
64
72
  );
73
+
65
74
  return (
66
- <Root data-baseweb="floating-map-marker" {...rootProps}>
75
+ <Root
76
+ data-baseweb="floating-map-marker"
77
+ $size={PINHEAD_DIMENSIONS[anchorPinHeadSize].height}
78
+ {...rootProps}
79
+ >
67
80
  <FloatingMarkerPinHeadContainer
68
81
  $anchor={anchor}
69
- $anchorSize={anchorSize}
82
+ $anchorSize={PINHEAD_DIMENSIONS[anchorPinHeadSize].height}
70
83
  {...floatingMarkerPinHeadContainerProps}
71
84
  >
72
85
  <PinHead
73
86
  size={size}
74
- color={color}
75
- background={background}
87
+ color={primaryA}
88
+ background={backgroundPrimary}
76
89
  type={PINHEAD_TYPES.floating}
77
90
  label={label}
78
91
  startEnhancer={startEnhancer}