baseui 10.7.2 → 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 (174) 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 +7 -3
  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 +19 -10
  62. package/es/themes/light-theme/color-component-tokens.js +19 -10
  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/es/toast/styled-components.js +18 -7
  67. package/esm/a11y/a11y.js +3 -3
  68. package/esm/button/styled-components.js +47 -18
  69. package/esm/combobox/combobox.js +6 -3
  70. package/esm/data-table/column-categorical.js +2 -2
  71. package/esm/data-table/column-numerical.js +304 -353
  72. package/esm/data-table/constants.js +12 -8
  73. package/esm/data-table/data-table.js +53 -50
  74. package/esm/data-table/filter-shell.js +26 -4
  75. package/esm/data-table/locale.js +4 -2
  76. package/esm/data-table/measure-column-widths.js +83 -121
  77. package/esm/datepicker/styled-components.js +1 -1
  78. package/esm/drawer/drawer.js +3 -1
  79. package/esm/index.js +1 -1
  80. package/esm/map-marker/badge-enhancer.js +79 -0
  81. package/esm/map-marker/constants.js +94 -4
  82. package/esm/map-marker/drag-shadow.js +53 -0
  83. package/esm/map-marker/fixed-marker.js +84 -80
  84. package/esm/map-marker/floating-marker.js +22 -13
  85. package/esm/map-marker/index.js +1 -1
  86. package/esm/map-marker/label-enhancer.js +60 -0
  87. package/esm/map-marker/needle.js +43 -0
  88. package/esm/map-marker/pin-head.js +77 -66
  89. package/esm/map-marker/styled-components.js +182 -51
  90. package/esm/map-marker/types.js +1 -1
  91. package/esm/menu/maybe-child-menu.js +0 -2
  92. package/esm/menu/nested-menus.js +66 -5
  93. package/esm/menu/stateful-container.js +15 -13
  94. package/esm/modal/modal.js +3 -1
  95. package/esm/popover/popover.js +7 -3
  96. package/esm/progress-bar/index.js +1 -1
  97. package/esm/progress-bar/progressbar.js +32 -10
  98. package/esm/progress-bar/styled-components.js +9 -4
  99. package/esm/select/select-component.js +2 -11
  100. package/esm/spinner/styled-components.js +35 -16
  101. package/esm/table/filter.js +3 -1
  102. package/esm/themes/dark-theme/color-component-tokens.js +19 -10
  103. package/esm/themes/light-theme/color-component-tokens.js +19 -10
  104. package/esm/timezonepicker/timezone-picker.js +64 -36
  105. package/esm/timezonepicker/tzdata.js +2 -0
  106. package/esm/timezonepicker/update-tzdata.js +160 -0
  107. package/esm/toast/styled-components.js +13 -5
  108. package/index.js +6 -0
  109. package/index.js.flow +1 -1
  110. package/map-marker/badge-enhancer.js +90 -0
  111. package/map-marker/badge-enhancer.js.flow +86 -0
  112. package/map-marker/constants.js +103 -5
  113. package/map-marker/constants.js.flow +152 -0
  114. package/map-marker/drag-shadow.js +64 -0
  115. package/map-marker/drag-shadow.js.flow +52 -0
  116. package/map-marker/fixed-marker.js +84 -78
  117. package/map-marker/fixed-marker.js.flow +78 -66
  118. package/map-marker/floating-marker.js +22 -13
  119. package/map-marker/floating-marker.js.flow +30 -17
  120. package/map-marker/index.d.ts +125 -24
  121. package/map-marker/index.js +18 -0
  122. package/map-marker/index.js.flow +3 -0
  123. package/map-marker/label-enhancer.js +71 -0
  124. package/map-marker/label-enhancer.js.flow +63 -0
  125. package/map-marker/needle.js +54 -0
  126. package/map-marker/needle.js.flow +29 -0
  127. package/map-marker/pin-head.js +80 -69
  128. package/map-marker/pin-head.js.flow +122 -84
  129. package/map-marker/styled-components.js +200 -62
  130. package/map-marker/styled-components.js.flow +172 -22
  131. package/map-marker/types.js.flow +69 -20
  132. package/menu/index.d.ts +9 -4
  133. package/menu/maybe-child-menu.js +0 -2
  134. package/menu/maybe-child-menu.js.flow +0 -2
  135. package/menu/nested-menus.js +66 -5
  136. package/menu/nested-menus.js.flow +50 -5
  137. package/menu/stateful-container.js +15 -13
  138. package/menu/stateful-container.js.flow +19 -13
  139. package/menu/types.js.flow +7 -1
  140. package/modal/modal.js +3 -1
  141. package/modal/modal.js.flow +2 -0
  142. package/package.json +5 -4
  143. package/popover/popover.js +7 -3
  144. package/popover/popover.js.flow +23 -17
  145. package/progress-bar/index.d.ts +2 -0
  146. package/progress-bar/index.js +6 -0
  147. package/progress-bar/index.js.flow +1 -0
  148. package/progress-bar/progressbar.js +32 -10
  149. package/progress-bar/progressbar.js.flow +35 -9
  150. package/progress-bar/styled-components.js +9 -4
  151. package/progress-bar/styled-components.js.flow +15 -4
  152. package/progress-bar/types.js.flow +12 -2
  153. package/select/select-component.js +2 -11
  154. package/select/select-component.js.flow +5 -7
  155. package/spinner/styled-components.js +35 -16
  156. package/spinner/styled-components.js.flow +37 -19
  157. package/spinner/types.js.flow +10 -0
  158. package/styles/index.js.flow +1 -1
  159. package/table/filter.js +3 -1
  160. package/table/filter.js.flow +5 -1
  161. package/themes/dark-theme/color-component-tokens.js +19 -10
  162. package/themes/dark-theme/color-component-tokens.js.flow +19 -10
  163. package/themes/light-theme/color-component-tokens.js +19 -10
  164. package/themes/light-theme/color-component-tokens.js.flow +19 -10
  165. package/themes/types.js.flow +9 -0
  166. package/timezonepicker/timezone-picker.js +69 -41
  167. package/timezonepicker/timezone-picker.js.flow +52 -46
  168. package/timezonepicker/types.js.flow +1 -1
  169. package/timezonepicker/tzdata.js +10 -0
  170. package/timezonepicker/tzdata.js.flow +347 -0
  171. package/timezonepicker/update-tzdata.js +164 -0
  172. package/timezonepicker/update-tzdata.js.flow +70 -0
  173. package/toast/styled-components.js +13 -5
  174. package/toast/styled-components.js.flow +17 -7
@@ -0,0 +1,160 @@
1
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
2
+
3
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
+
11
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
+
13
+ /*
14
+ Copyright (c) Uber Technologies, Inc.
15
+
16
+ This source code is licensed under the MIT license found in the
17
+ LICENSE file in the root directory of this source tree.
18
+ */
19
+
20
+ /* eslint-env node */
21
+ var fs = require('fs');
22
+
23
+ var path = require('path');
24
+
25
+ var util = require('util');
26
+
27
+ var exec = util.promisify(require('child_process').exec); // Download tzdata and collect a list of timezones. Baseui previously used a library
28
+ // to do this, but it grew stale and unmaintained. This approach is straightforward
29
+ // enough to update whenever necessary, but future improvements could include building
30
+ // this data set before baseui is published so that the data is always fresh.
31
+
32
+ function main() {
33
+ return _main.apply(this, arguments);
34
+ }
35
+
36
+ function _main() {
37
+ _main = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
38
+ var tmpDir, src, zoneTabPath, content, lines, zones, _iterator, _step, line, parts, file, _i, _zones, zone, tzdataPath;
39
+
40
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
41
+ while (1) {
42
+ switch (_context.prev = _context.next) {
43
+ case 0:
44
+ _context.prev = 0;
45
+ tmpDir = path.join(__dirname, 'tmp'); // $FlowFixMe - flow is not aware of recursive option
46
+
47
+ _context.next = 4;
48
+ return fs.promises.rmdir(tmpDir, {
49
+ recursive: true
50
+ });
51
+
52
+ case 4:
53
+ _context.next = 6;
54
+ return fs.promises.mkdir(tmpDir);
55
+
56
+ case 6:
57
+ src = "https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz";
58
+ _context.next = 9;
59
+ return exec("curl -L ".concat(src, " | gzip -dc | tar -xf - --directory ").concat(tmpDir));
60
+
61
+ case 9:
62
+ zoneTabPath = path.join(tmpDir, 'zone1970.tab');
63
+ _context.next = 12;
64
+ return fs.promises.readFile(zoneTabPath, 'utf-8');
65
+
66
+ case 12:
67
+ content = _context.sent;
68
+ lines = content.split('\n');
69
+ zones = [];
70
+ _iterator = _createForOfIteratorHelper(lines);
71
+ _context.prev = 16;
72
+
73
+ _iterator.s();
74
+
75
+ case 18:
76
+ if ((_step = _iterator.n()).done) {
77
+ _context.next = 26;
78
+ break;
79
+ }
80
+
81
+ line = _step.value;
82
+
83
+ if (!(line[0] === '#')) {
84
+ _context.next = 22;
85
+ break;
86
+ }
87
+
88
+ return _context.abrupt("continue", 24);
89
+
90
+ case 22:
91
+ parts = line.split(/\s+/);
92
+
93
+ if (parts.length >= 3) {
94
+ zones.push(parts[2]);
95
+ }
96
+
97
+ case 24:
98
+ _context.next = 18;
99
+ break;
100
+
101
+ case 26:
102
+ _context.next = 31;
103
+ break;
104
+
105
+ case 28:
106
+ _context.prev = 28;
107
+ _context.t0 = _context["catch"](16);
108
+
109
+ _iterator.e(_context.t0);
110
+
111
+ case 31:
112
+ _context.prev = 31;
113
+
114
+ _iterator.f();
115
+
116
+ return _context.finish(31);
117
+
118
+ case 34:
119
+ file = [];
120
+ file.push('/* eslint-disable header/header */');
121
+ file.push('// @flow');
122
+ file.push('');
123
+ file.push('export const zones = [');
124
+
125
+ for (_i = 0, _zones = zones; _i < _zones.length; _i++) {
126
+ zone = _zones[_i];
127
+ file.push(" '".concat(zone, "',"));
128
+ }
129
+
130
+ file.push('];');
131
+ tzdataPath = path.join(__dirname, 'tzdata.js');
132
+ _context.next = 44;
133
+ return fs.promises.writeFile(tzdataPath, file.join('\n'));
134
+
135
+ case 44:
136
+ _context.next = 46;
137
+ return fs.promises.rmdir(tmpDir, {
138
+ recursive: true
139
+ });
140
+
141
+ case 46:
142
+ _context.next = 51;
143
+ break;
144
+
145
+ case 48:
146
+ _context.prev = 48;
147
+ _context.t1 = _context["catch"](0);
148
+ console.error(_context.t1);
149
+
150
+ case 51:
151
+ case "end":
152
+ return _context.stop();
153
+ }
154
+ }
155
+ }, _callee, null, [[0, 48], [16, 28, 31, 34]]);
156
+ }));
157
+ return _main.apply(this, arguments);
158
+ }
159
+
160
+ main();
@@ -21,10 +21,18 @@ function getBackgroundColor(kind, type, theme) {
21
21
  return (_KIND$info$KIND$posit = {}, _defineProperty(_KIND$info$KIND$posit, KIND.info, isInline ? theme.colors.notificationInfoBackground : theme.colors.toastInfoBackground), _defineProperty(_KIND$info$KIND$posit, KIND.positive, isInline ? theme.colors.notificationPositiveBackground : theme.colors.toastPositiveBackground), _defineProperty(_KIND$info$KIND$posit, KIND.warning, isInline ? theme.colors.notificationWarningBackground : theme.colors.toastWarningBackground), _defineProperty(_KIND$info$KIND$posit, KIND.negative, isInline ? theme.colors.notificationNegativeBackground : theme.colors.toastNegativeBackground), _KIND$info$KIND$posit)[kind];
22
22
  }
23
23
 
24
- function getFontColor(kind, theme) {
25
- var _KIND$info$KIND$posit2;
24
+ function getFontColor(kind, type, theme) {
25
+ var _KIND$info$KIND$posit3;
26
26
 
27
- return (_KIND$info$KIND$posit2 = {}, _defineProperty(_KIND$info$KIND$posit2, KIND.info, theme.colors.notificationInfoText), _defineProperty(_KIND$info$KIND$posit2, KIND.positive, theme.colors.notificationPositiveText), _defineProperty(_KIND$info$KIND$posit2, KIND.warning, theme.colors.notificationWarningText), _defineProperty(_KIND$info$KIND$posit2, KIND.negative, theme.colors.notificationNegativeText), _KIND$info$KIND$posit2)[kind];
27
+ var isInline = type === TYPE.inline;
28
+
29
+ if (isInline) {
30
+ var _KIND$info$KIND$posit2;
31
+
32
+ return (_KIND$info$KIND$posit2 = {}, _defineProperty(_KIND$info$KIND$posit2, KIND.info, theme.colors.notificationInfoText), _defineProperty(_KIND$info$KIND$posit2, KIND.positive, theme.colors.notificationPositiveText), _defineProperty(_KIND$info$KIND$posit2, KIND.warning, theme.colors.notificationWarningText), _defineProperty(_KIND$info$KIND$posit2, KIND.negative, theme.colors.notificationNegativeText), _KIND$info$KIND$posit2)[kind];
33
+ }
34
+
35
+ return (_KIND$info$KIND$posit3 = {}, _defineProperty(_KIND$info$KIND$posit3, KIND.info, theme.colors.toastInfoText), _defineProperty(_KIND$info$KIND$posit3, KIND.positive, theme.colors.toastPositiveText), _defineProperty(_KIND$info$KIND$posit3, KIND.warning, theme.colors.toastWarningText), _defineProperty(_KIND$info$KIND$posit3, KIND.negative, theme.colors.toastNegativeText), _KIND$info$KIND$posit3)[kind];
28
36
  }
29
37
 
30
38
  export function getPlacement(placement) {
@@ -89,9 +97,9 @@ export var Body = styled('div', function (props) {
89
97
  $type = props.$type,
90
98
  $theme = props.$theme;
91
99
  var isInline = $type === TYPE.inline;
92
- return _objectSpread(_objectSpread({}, $theme.typography.font250), {}, {
100
+ return _objectSpread(_objectSpread({}, $theme.typography.font300), {}, {
93
101
  pointerEvents: 'auto',
94
- color: isInline ? getFontColor($kind, $theme) : $theme.colors.toastText,
102
+ color: getFontColor($kind, $type, $theme),
95
103
  height: 'auto',
96
104
  width: '288px',
97
105
  paddingTop: $theme.sizing.scale600,
package/index.js CHANGED
@@ -129,6 +129,12 @@ Object.defineProperty(exports, "BaseProvider", {
129
129
  return _baseProvider.default;
130
130
  }
131
131
  });
132
+ Object.defineProperty(exports, "getOverrides", {
133
+ enumerable: true,
134
+ get: function get() {
135
+ return _overrides.getOverrides;
136
+ }
137
+ });
132
138
  Object.defineProperty(exports, "mergeOverrides", {
133
139
  enumerable: true,
134
140
  get: function get() {
package/index.js.flow CHANGED
@@ -30,7 +30,7 @@ export {
30
30
  } from './themes/index.js';
31
31
  export {default as LocaleProvider} from './locale/index.js';
32
32
  export {default as BaseProvider} from './helpers/base-provider.js';
33
- export {mergeOverrides} from './helpers/overrides.js';
33
+ export {getOverrides, mergeOverrides} from './helpers/overrides.js';
34
34
  export type {PrimitivesT} from './themes/types.js';
35
35
  export type {ThemeT} from './styles/types.js';
36
36
 
@@ -0,0 +1,90 @@
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 _styledComponents = require("./styled-components.js");
15
+
16
+ var _constants = require("./constants.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 BadgeEnhancer = function BadgeEnhancer(_ref) {
37
+ var pinHeadSize = _ref.pinHeadSize,
38
+ markerType = _ref.markerType,
39
+ _ref$badgeEnhancerSiz = _ref.badgeEnhancerSize,
40
+ badgeEnhancerSize = _ref$badgeEnhancerSiz === void 0 ? _constants.BADGE_ENHANCER_SIZES.none : _ref$badgeEnhancerSiz,
41
+ BadgeEnhancerContent = _ref.badgeEnhancerContent,
42
+ _ref$overrides = _ref.overrides,
43
+ overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
44
+
45
+ if (badgeEnhancerSize === null || badgeEnhancerSize == _constants.BADGE_ENHANCER_SIZES.none) {
46
+ return null;
47
+ }
48
+
49
+ if (badgeEnhancerSize !== _constants.BADGE_ENHANCER_SIZES.xSmall && !BadgeEnhancerContent) {
50
+ if (process.env.NODE_ENV !== "production") {
51
+ console.warn("Badges (except for size ".concat(_constants.BADGE_ENHANCER_SIZES.xSmall, ") must contain content"));
52
+ }
53
+
54
+ return null;
55
+ }
56
+
57
+ if (markerType === _constants.PINHEAD_TYPES.floating) {
58
+ if (process.env.NODE_ENV !== "production") {
59
+ console.warn("Badges can only be rendered on fixed markers");
60
+ }
61
+
62
+ return null;
63
+ }
64
+
65
+ var positions = _constants.BADGE_ENHANCER_POSITIONS[pinHeadSize];
66
+ var position = positions ? positions[badgeEnhancerSize] : null;
67
+
68
+ if (!position) {
69
+ if (process.env.NODE_ENV !== "production") {
70
+ console.warn("Badge size ".concat(badgeEnhancerSize, " cannot be rendered with pinhead size ").concat(pinHeadSize));
71
+ }
72
+
73
+ return null;
74
+ }
75
+
76
+ var _getOverrides = (0, _overrides.getOverrides)(overrides.BadgeEnhancer, _styledComponents.StyledBadgeEnhancerRoot),
77
+ _getOverrides2 = _slicedToArray(_getOverrides, 2),
78
+ BadgeEnhancerRoot = _getOverrides2[0],
79
+ badgeEnhancerRootProps = _getOverrides2[1];
80
+
81
+ return /*#__PURE__*/React.createElement(BadgeEnhancerRoot, _extends({
82
+ $size: badgeEnhancerSize,
83
+ $position: position
84
+ }, badgeEnhancerRootProps), BadgeEnhancerContent && badgeEnhancerSize !== _constants.BADGE_ENHANCER_SIZES.xSmall && /*#__PURE__*/React.createElement(BadgeEnhancerContent, {
85
+ size: _constants.BADGE_ENHANCER_CONTENT_SIZE[badgeEnhancerSize]
86
+ }));
87
+ };
88
+
89
+ var _default = BadgeEnhancer;
90
+ exports.default = _default;
@@ -0,0 +1,86 @@
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
+
8
+ // @flow
9
+ import * as React from 'react';
10
+ import type {BadgeEnhancerComponentT} from './types.js';
11
+ import {getOverrides} from '../helpers/overrides.js';
12
+ import {StyledBadgeEnhancerRoot} from './styled-components.js';
13
+ import {
14
+ PINHEAD_TYPES,
15
+ BADGE_ENHANCER_SIZES,
16
+ BADGE_ENHANCER_POSITIONS,
17
+ BADGE_ENHANCER_CONTENT_SIZE,
18
+ } from './constants.js';
19
+
20
+ const BadgeEnhancer = ({
21
+ pinHeadSize,
22
+ markerType,
23
+ badgeEnhancerSize = BADGE_ENHANCER_SIZES.none,
24
+ badgeEnhancerContent: BadgeEnhancerContent,
25
+ overrides = {},
26
+ }: BadgeEnhancerComponentT) => {
27
+ if (
28
+ badgeEnhancerSize === null ||
29
+ badgeEnhancerSize == BADGE_ENHANCER_SIZES.none
30
+ ) {
31
+ return null;
32
+ }
33
+ if (
34
+ badgeEnhancerSize !== BADGE_ENHANCER_SIZES.xSmall &&
35
+ !BadgeEnhancerContent
36
+ ) {
37
+ if (__DEV__) {
38
+ console.warn(
39
+ `Badges (except for size ${BADGE_ENHANCER_SIZES.xSmall}) must contain content`,
40
+ );
41
+ }
42
+ return null;
43
+ }
44
+ if (markerType === PINHEAD_TYPES.floating) {
45
+ if (__DEV__) {
46
+ console.warn(`Badges can only be rendered on fixed markers`);
47
+ }
48
+ return null;
49
+ }
50
+ const positions = BADGE_ENHANCER_POSITIONS[pinHeadSize];
51
+ const position = positions ? positions[badgeEnhancerSize] : null;
52
+ if (!position) {
53
+ if (__DEV__) {
54
+ console.warn(
55
+ `Badge size ${badgeEnhancerSize} cannot be rendered with pinhead size ${pinHeadSize}`,
56
+ );
57
+ }
58
+ return null;
59
+ }
60
+
61
+ const [BadgeEnhancerRoot, badgeEnhancerRootProps] = getOverrides(
62
+ overrides.BadgeEnhancer,
63
+ StyledBadgeEnhancerRoot,
64
+ );
65
+
66
+ return (
67
+ <BadgeEnhancerRoot
68
+ $size={badgeEnhancerSize}
69
+ $position={position}
70
+ {...badgeEnhancerRootProps}
71
+ >
72
+ {BadgeEnhancerContent &&
73
+ badgeEnhancerSize !== BADGE_ENHANCER_SIZES.xSmall && (
74
+ <BadgeEnhancerContent
75
+ size={BADGE_ENHANCER_CONTENT_SIZE[badgeEnhancerSize]}
76
+ />
77
+ )}
78
+ </BadgeEnhancerRoot>
79
+ );
80
+ };
81
+
82
+ export default BadgeEnhancer;
83
+
84
+ declare var __DEV__: boolean;
85
+ declare var __NODE__: boolean;
86
+ declare var __BROWSER__: boolean;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.anchorSize = exports.dragShadowWidth = exports.dragShadowMarginTop = exports.dragShadowHeight = exports.FLOATING_MARKER_ANCHOR_TYPES = exports.FLOATING_MARKER_ANCHOR_POSITIONS = exports.FLOATING_MARKER_SIZES = exports.PINHEAD_TYPES = exports.PINHEAD_DIMENSIONS = exports.xSmallPinheadDimension = exports.PINHEAD_SIZES_SHAPES = exports.NEEDLE_HEIGHTS = exports.NEEDLE_SIZES = void 0;
6
+ exports.KIND = exports.BADGE_ENHANCER_CONTENT_SIZE = exports.BADGE_ENHANCER_STYLES = exports.BADGE_ENHANCER_POSITIONS = exports.BADGE_ENHANCER_SIZES = exports.LABEL_ENHANCER_POSITIONS = exports.LABEL_SIZES = exports.anchorSize = exports.dragShadowWidth = exports.dragShadowMarginTop = exports.dragShadowHeight = exports.FLOATING_MARKER_ANCHOR_TYPES = exports.FLOATING_MARKER_ANCHOR_POSITIONS = exports.FLOATING_MARKER_SIZES = exports.PINHEAD_TYPES = exports.PINHEAD_DIMENSIONS = exports.xxSmallPinheadDimension = exports.xSmallPinheadDimension = exports.PINHEAD_SIZES_SHAPES = exports.NEEDLE_HEIGHTS = exports.NEEDLE_SIZES = void 0;
7
7
 
8
- var _Object$freeze, _Object$freeze2;
8
+ var _Object$freeze, _Object$freeze2, _LABEL_SIZES, _xSmallPinheadBadge, _PINHEAD_SIZES_SHAPES, _PINHEAD_SIZES_SHAPES2, _PINHEAD_SIZES_SHAPES3, _BADGE_ENHANCER_POSIT, _BADGE_ENHANCER_STYLE, _BADGE_ENHANCER_CONTE;
9
9
 
10
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
 
@@ -25,6 +25,8 @@ exports.NEEDLE_SIZES = NEEDLE_SIZES;
25
25
  var NEEDLE_HEIGHTS = Object.freeze((_Object$freeze = {}, _defineProperty(_Object$freeze, NEEDLE_SIZES.none, 0), _defineProperty(_Object$freeze, NEEDLE_SIZES.short, 4), _defineProperty(_Object$freeze, NEEDLE_SIZES.medium, 12), _defineProperty(_Object$freeze, NEEDLE_SIZES.tall, 20), _Object$freeze));
26
26
  exports.NEEDLE_HEIGHTS = NEEDLE_HEIGHTS;
27
27
  var PINHEAD_SIZES_SHAPES = Object.freeze({
28
+ xxSmallCircle: 'xx-small-circle',
29
+ xxSmallSquare: 'xx-small-square',
28
30
  xSmallCircle: 'x-small-circle',
29
31
  xSmallSquare: 'x-small-square',
30
32
  small: 'small',
@@ -37,7 +39,12 @@ var xSmallPinheadDimension = {
37
39
  icon: 4
38
40
  };
39
41
  exports.xSmallPinheadDimension = xSmallPinheadDimension;
40
- var PINHEAD_DIMENSIONS = Object.freeze((_Object$freeze2 = {}, _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xSmallSquare, xSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xSmallCircle, xSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.small, {
42
+ var xxSmallPinheadDimension = {
43
+ height: 8,
44
+ icon: 4
45
+ };
46
+ exports.xxSmallPinheadDimension = xxSmallPinheadDimension;
47
+ var PINHEAD_DIMENSIONS = Object.freeze((_Object$freeze2 = {}, _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xxSmallSquare, xxSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xxSmallCircle, xxSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xSmallSquare, xSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.xSmallCircle, xSmallPinheadDimension), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.small, {
41
48
  height: 24,
42
49
  icon: 16
43
50
  }), _defineProperty(_Object$freeze2, PINHEAD_SIZES_SHAPES.medium, {
@@ -69,7 +76,9 @@ var FLOATING_MARKER_ANCHOR_POSITIONS = Object.freeze({
69
76
  exports.FLOATING_MARKER_ANCHOR_POSITIONS = FLOATING_MARKER_ANCHOR_POSITIONS;
70
77
  var FLOATING_MARKER_ANCHOR_TYPES = Object.freeze({
71
78
  circle: 'circle',
72
- square: 'square'
79
+ square: 'square',
80
+ xxSmallCircle: 'xx-small-circle',
81
+ xxSmallSquare: 'xx-small-square'
73
82
  });
74
83
  exports.FLOATING_MARKER_ANCHOR_TYPES = FLOATING_MARKER_ANCHOR_TYPES;
75
84
  var dragShadowHeight = 4;
@@ -79,4 +88,93 @@ exports.dragShadowMarginTop = dragShadowMarginTop;
79
88
  var dragShadowWidth = 6;
80
89
  exports.dragShadowWidth = dragShadowWidth;
81
90
  var anchorSize = 16;
82
- exports.anchorSize = anchorSize;
91
+ exports.anchorSize = anchorSize;
92
+ var labelSmall = 'LabelSmall';
93
+ var LABEL_SIZES = (_LABEL_SIZES = {}, _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.xxSmallCircle, labelSmall), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.xxSmallSquare, labelSmall), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.xSmallCircle, labelSmall), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.xSmallSquare, labelSmall), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.small, labelSmall), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.medium, 'LabelMedium'), _defineProperty(_LABEL_SIZES, PINHEAD_SIZES_SHAPES.large, 'LabelLarge'), _LABEL_SIZES);
94
+ exports.LABEL_SIZES = LABEL_SIZES;
95
+ var LABEL_ENHANCER_POSITIONS = Object.freeze({
96
+ none: 'none',
97
+ top: 'top',
98
+ left: 'left',
99
+ right: 'right',
100
+ bottom: 'bottom'
101
+ });
102
+ exports.LABEL_ENHANCER_POSITIONS = LABEL_ENHANCER_POSITIONS;
103
+ var BADGE_ENHANCER_SIZES = Object.freeze({
104
+ none: 'none',
105
+ xSmall: 'x-small',
106
+ small: 'small',
107
+ mediumText: 'medium-text',
108
+ mediumIcon: 'medium-icon'
109
+ });
110
+ exports.BADGE_ENHANCER_SIZES = BADGE_ENHANCER_SIZES;
111
+ var xSmallPinheadBadge = (_xSmallPinheadBadge = {}, _defineProperty(_xSmallPinheadBadge, BADGE_ENHANCER_SIZES.none, null), _defineProperty(_xSmallPinheadBadge, BADGE_ENHANCER_SIZES.xSmall, {
112
+ x: -5,
113
+ y: -3
114
+ }), _defineProperty(_xSmallPinheadBadge, BADGE_ENHANCER_SIZES.small, null), _defineProperty(_xSmallPinheadBadge, BADGE_ENHANCER_SIZES.mediumText, null), _defineProperty(_xSmallPinheadBadge, BADGE_ENHANCER_SIZES.mediumIcon, null), _xSmallPinheadBadge);
115
+ var BADGE_ENHANCER_POSITIONS = (_BADGE_ENHANCER_POSIT = {}, _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.xxSmallSquare, null), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.xxSmallCircle, null), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.xSmallSquare, xSmallPinheadBadge), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.xSmallCircle, xSmallPinheadBadge), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.small, (_PINHEAD_SIZES_SHAPES = {}, _defineProperty(_PINHEAD_SIZES_SHAPES, BADGE_ENHANCER_SIZES.none, null), _defineProperty(_PINHEAD_SIZES_SHAPES, BADGE_ENHANCER_SIZES.xSmall, {
116
+ x: -7,
117
+ y: -1
118
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES, BADGE_ENHANCER_SIZES.small, {
119
+ x: -8,
120
+ y: -8
121
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES, BADGE_ENHANCER_SIZES.mediumText, null), _defineProperty(_PINHEAD_SIZES_SHAPES, BADGE_ENHANCER_SIZES.mediumIcon, null), _PINHEAD_SIZES_SHAPES)), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.medium, (_PINHEAD_SIZES_SHAPES2 = {}, _defineProperty(_PINHEAD_SIZES_SHAPES2, BADGE_ENHANCER_SIZES.none, null), _defineProperty(_PINHEAD_SIZES_SHAPES2, BADGE_ENHANCER_SIZES.xSmall, {
122
+ x: -9,
123
+ y: 1
124
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES2, BADGE_ENHANCER_SIZES.small, {
125
+ x: -10,
126
+ y: -4
127
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES2, BADGE_ENHANCER_SIZES.mediumText, {
128
+ x: -12,
129
+ y: -8
130
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES2, BADGE_ENHANCER_SIZES.mediumIcon, {
131
+ x: -12,
132
+ y: -8
133
+ }), _PINHEAD_SIZES_SHAPES2)), _defineProperty(_BADGE_ENHANCER_POSIT, PINHEAD_SIZES_SHAPES.large, (_PINHEAD_SIZES_SHAPES3 = {}, _defineProperty(_PINHEAD_SIZES_SHAPES3, BADGE_ENHANCER_SIZES.none, null), _defineProperty(_PINHEAD_SIZES_SHAPES3, BADGE_ENHANCER_SIZES.xSmall, {
134
+ x: -11,
135
+ y: 3
136
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES3, BADGE_ENHANCER_SIZES.small, null), _defineProperty(_PINHEAD_SIZES_SHAPES3, BADGE_ENHANCER_SIZES.mediumText, {
137
+ x: -14,
138
+ y: -6
139
+ }), _defineProperty(_PINHEAD_SIZES_SHAPES3, BADGE_ENHANCER_SIZES.mediumIcon, {
140
+ x: -14,
141
+ y: -6
142
+ }), _PINHEAD_SIZES_SHAPES3)), _BADGE_ENHANCER_POSIT);
143
+ exports.BADGE_ENHANCER_POSITIONS = BADGE_ENHANCER_POSITIONS;
144
+ var BADGE_ENHANCER_STYLES = (_BADGE_ENHANCER_STYLE = {}, _defineProperty(_BADGE_ENHANCER_STYLE, BADGE_ENHANCER_SIZES.none, {}), _defineProperty(_BADGE_ENHANCER_STYLE, BADGE_ENHANCER_SIZES.xSmall, {
145
+ height: '8px',
146
+ width: '8px',
147
+ borderRadius: '50%'
148
+ }), _defineProperty(_BADGE_ENHANCER_STYLE, BADGE_ENHANCER_SIZES.small, {
149
+ height: '16px',
150
+ width: '16px',
151
+ borderRadius: '50%',
152
+ display: 'flex',
153
+ alignItems: 'center',
154
+ justifyContent: 'center',
155
+ fontSize: '10px'
156
+ }), _defineProperty(_BADGE_ENHANCER_STYLE, BADGE_ENHANCER_SIZES.mediumText, {
157
+ borderRadius: '10px',
158
+ height: '20px',
159
+ padding: '0px 8px',
160
+ display: 'flex',
161
+ alignItems: 'center',
162
+ boxSizing: 'border-box'
163
+ }), _defineProperty(_BADGE_ENHANCER_STYLE, BADGE_ENHANCER_SIZES.mediumIcon, {
164
+ height: '20px',
165
+ width: '20px',
166
+ borderRadius: '50%',
167
+ display: 'flex',
168
+ alignItems: 'center',
169
+ justifyContent: 'center',
170
+ boxSizing: 'border-box'
171
+ }), _BADGE_ENHANCER_STYLE);
172
+ exports.BADGE_ENHANCER_STYLES = BADGE_ENHANCER_STYLES;
173
+ var BADGE_ENHANCER_CONTENT_SIZE = (_BADGE_ENHANCER_CONTE = {}, _defineProperty(_BADGE_ENHANCER_CONTE, BADGE_ENHANCER_SIZES.none, 0), _defineProperty(_BADGE_ENHANCER_CONTE, BADGE_ENHANCER_SIZES.xSmall, 0), _defineProperty(_BADGE_ENHANCER_CONTE, BADGE_ENHANCER_SIZES.small, 10), _defineProperty(_BADGE_ENHANCER_CONTE, BADGE_ENHANCER_SIZES.mediumText, 12), _defineProperty(_BADGE_ENHANCER_CONTE, BADGE_ENHANCER_SIZES.mediumIcon, 12), _BADGE_ENHANCER_CONTE);
174
+ exports.BADGE_ENHANCER_CONTENT_SIZE = BADGE_ENHANCER_CONTENT_SIZE;
175
+ var KIND = Object.freeze({
176
+ default: 'default',
177
+ accent: 'accent',
178
+ negative: 'negative'
179
+ });
180
+ exports.KIND = KIND;