@carbonplan/components 10.5.0 → 11.0.0-alpha.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.
package/dst/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import React, { cloneElement, useCallback, useState, useEffect, useRef } from 'react';
2
- import { Box, Link as Link$1, Flex, Grid, IconButton, useColorMode, Container, useThemeUI, Text, Styled, Input as Input$1, Slider as Slider$1 } from 'theme-ui';
1
+ import React, { forwardRef, cloneElement, useCallback, useState, useEffect, useRef } from 'react';
2
+ import { Box, Link as Link$2, Flex, Grid, IconButton, useColorMode, Container, useThemeUI, Text, Styled, Input as Input$1, Slider as Slider$1 } from 'theme-ui';
3
3
  import { transparentize } from '@theme-ui/color';
4
4
  import NextLink from 'next/link';
5
5
  import { Arrow, Sun } from '@carbonplan/icons';
@@ -90,7 +90,7 @@ var event = function event(_ref) {
90
90
  });
91
91
  };
92
92
 
93
- var Link = function Link(_ref2) {
93
+ var Link = function Link(_ref2, ref) {
94
94
  var href = _ref2.href,
95
95
  children = _ref2.children,
96
96
  _ref2$internal = _ref2.internal,
@@ -103,7 +103,9 @@ var Link = function Link(_ref2) {
103
103
  return /*#__PURE__*/React.createElement(NextLink, {
104
104
  href: href,
105
105
  passHref: true
106
- }, /*#__PURE__*/React.createElement(Link$1, props, children));
106
+ }, /*#__PURE__*/React.createElement(Link$2, _extends({
107
+ ref: ref
108
+ }, props), children));
107
109
  } else if (tracking) {
108
110
  var action;
109
111
  var category;
@@ -124,18 +126,22 @@ var Link = function Link(_ref2) {
124
126
  });
125
127
  };
126
128
 
127
- return /*#__PURE__*/React.createElement(Link$1, _extends({
129
+ return /*#__PURE__*/React.createElement(Link$2, _extends({
130
+ ref: ref,
128
131
  onClick: track,
129
132
  onContextMenu: track,
130
133
  href: href
131
134
  }, props), children);
132
135
  } else {
133
- return /*#__PURE__*/React.createElement(Link$1, _extends({
136
+ return /*#__PURE__*/React.createElement(Link$2, _extends({
137
+ ref: ref,
134
138
  href: href
135
139
  }, props), children);
136
140
  }
137
141
  };
138
142
 
143
+ var Link$1 = forwardRef(Link);
144
+
139
145
  var getSizeStyles = function getSizeStyles(size) {
140
146
  if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {
141
147
  throw new Error('Size must be xs, sm, md, lg, or xl');
@@ -188,7 +194,7 @@ var getSizeStyles = function getSizeStyles(size) {
188
194
 
189
195
  var _excluded$e = ["size", "prefix", "suffix", "inverted", "sx", "children", "align", "href", "internal", "tracking"];
190
196
 
191
- var Button = function Button(_ref) {
197
+ var Button = function Button(_ref, ref) {
192
198
  var _ref$size = _ref.size,
193
199
  size = _ref$size === void 0 ? 'sm' : _ref$size,
194
200
  prefix = _ref.prefix,
@@ -358,7 +364,8 @@ var Button = function Button(_ref) {
358
364
  }, suffix && suffix));
359
365
 
360
366
  if (href) {
361
- return /*#__PURE__*/React.createElement(Link, _extends({
367
+ return /*#__PURE__*/React.createElement(Link$1, _extends({
368
+ ref: ref,
362
369
  href: href,
363
370
  internal: internal,
364
371
  tracking: tracking,
@@ -368,15 +375,18 @@ var Button = function Button(_ref) {
368
375
  }, props), Inner);
369
376
  } else {
370
377
  return /*#__PURE__*/React.createElement(Box, _extends({
378
+ ref: ref,
371
379
  as: "button",
372
380
  sx: style
373
381
  }, props), Inner);
374
382
  }
375
383
  };
376
384
 
385
+ var button = forwardRef(Button);
386
+
377
387
  var _excluded$d = ["label", "children", "inverted", "color", "href", "internal", "tracking", "sx"];
378
388
 
379
- var Callout = function Callout(_ref) {
389
+ var Callout = function Callout(_ref, ref) {
380
390
  var label = _ref.label,
381
391
  children = _ref.children,
382
392
  inverted = _ref.inverted,
@@ -450,7 +460,8 @@ var Callout = function Callout(_ref) {
450
460
  })));
451
461
 
452
462
  if (href) {
453
- return /*#__PURE__*/React.createElement(Link, _extends({
463
+ return /*#__PURE__*/React.createElement(Link$1, _extends({
464
+ ref: ref,
454
465
  href: href,
455
466
  internal: internal,
456
467
  tracking: tracking,
@@ -458,12 +469,15 @@ var Callout = function Callout(_ref) {
458
469
  }, props), Inner);
459
470
  } else {
460
471
  return /*#__PURE__*/React.createElement(Box, _extends({
472
+ ref: ref,
461
473
  as: "button",
462
474
  sx: style
463
475
  }, props), Inner);
464
476
  }
465
477
  };
466
478
 
479
+ var callout = forwardRef(Callout);
480
+
467
481
  var _excluded$c = ["colormap", "label", "clim", "discrete", "units", "width", "height", "format", "horizontal"];
468
482
  var sx$2 = {
469
483
  clim: {
@@ -1194,14 +1208,14 @@ var Nav = function Nav(_ref) {
1194
1208
  return /*#__PURE__*/React.createElement(NextLink, {
1195
1209
  href: href,
1196
1210
  passHref: true
1197
- }, /*#__PURE__*/React.createElement(Link$1, {
1211
+ }, /*#__PURE__*/React.createElement(Link$2, {
1198
1212
  onClick: function onClick() {
1199
1213
  if (nav === url) setExpanded(false);
1200
1214
  },
1201
1215
  sx: sx$1.link(nav, url, first)
1202
1216
  }, /*#__PURE__*/React.createElement(HoverArrow, null), display));
1203
1217
  } else {
1204
- return /*#__PURE__*/React.createElement(Link$1, {
1218
+ return /*#__PURE__*/React.createElement(Link$2, {
1205
1219
  href: href,
1206
1220
  sx: sx$1.link(nav, url, first)
1207
1221
  }, /*#__PURE__*/React.createElement(HoverArrow, null), display);
@@ -1257,7 +1271,7 @@ var Header = function Header(_ref3) {
1257
1271
  }, (mode == 'homepage' || mode == 'local') && /*#__PURE__*/React.createElement(NextLink, {
1258
1272
  href: "/",
1259
1273
  passHref: true
1260
- }, /*#__PURE__*/React.createElement(Link$1, {
1274
+ }, /*#__PURE__*/React.createElement(Link$2, {
1261
1275
  "aria-label": "CarbonPlan Homepage",
1262
1276
  sx: {
1263
1277
  display: 'block'
@@ -1268,7 +1282,7 @@ var Header = function Header(_ref3) {
1268
1282
  cursor: 'pointer',
1269
1283
  color: 'primary'
1270
1284
  }
1271
- }))), (mode == null || mode == 'remote') && /*#__PURE__*/React.createElement(Link$1, {
1285
+ }))), (mode == null || mode == 'remote') && /*#__PURE__*/React.createElement(Link$2, {
1272
1286
  href: "https://carbonplan.org",
1273
1287
  "aria-label": "CarbonPlan Homepage",
1274
1288
  sx: {
@@ -1412,7 +1426,7 @@ var Footer = function Footer() {
1412
1426
  letterSpacing: 'mono',
1413
1427
  mb: [2]
1414
1428
  }
1415
- }, "EMAIL"), /*#__PURE__*/React.createElement(Link$1, {
1429
+ }, "EMAIL"), /*#__PURE__*/React.createElement(Link$2, {
1416
1430
  href: "mailto:hello@carbonplan.org",
1417
1431
  sx: {
1418
1432
  textDecoration: 'none',
@@ -1446,7 +1460,7 @@ var Footer = function Footer() {
1446
1460
  letterSpacing: 'mono',
1447
1461
  mb: [2]
1448
1462
  }
1449
- }, "FOLLOW"), /*#__PURE__*/React.createElement(Link$1, {
1463
+ }, "FOLLOW"), /*#__PURE__*/React.createElement(Link$2, {
1450
1464
  href: "https://twitter.com/carbonplanorg",
1451
1465
  sx: {
1452
1466
  textDecoration: 'none',
@@ -1559,7 +1573,7 @@ var GitSha = function GitSha() {
1559
1573
  }
1560
1574
  }, /*#__PURE__*/React.createElement(Separator, {
1561
1575
  color: color
1562
- }), /*#__PURE__*/React.createElement(Link$1, {
1576
+ }), /*#__PURE__*/React.createElement(Link$2, {
1563
1577
  href: href,
1564
1578
  sx: {
1565
1579
  whiteSpace: 'nowrap',
@@ -2250,7 +2264,7 @@ var Group = function Group(_ref) {
2250
2264
 
2251
2265
  var _excluded$3 = ["size", "inverted", "sx"];
2252
2266
 
2253
- var Input = function Input(_ref) {
2267
+ var Input = function Input(_ref, ref) {
2254
2268
  var _extends2;
2255
2269
 
2256
2270
  var _ref$size = _ref.size,
@@ -2283,10 +2297,13 @@ var Input = function Input(_ref) {
2283
2297
  }, _extends2), getSizeStyles(size), sx);
2284
2298
 
2285
2299
  return /*#__PURE__*/React.createElement(Input$1, _extends({}, props, {
2300
+ ref: ref,
2286
2301
  sx: styles
2287
2302
  }));
2288
2303
  };
2289
2304
 
2305
+ var input = forwardRef(Input);
2306
+
2290
2307
  var getProps = function getProps(test) {
2291
2308
  return function (props) {
2292
2309
  var next = {};
@@ -2396,7 +2413,7 @@ var Select = function Select(_ref) {
2396
2413
 
2397
2414
  var _excluded$1 = ["sx"];
2398
2415
 
2399
- var Slider = function Slider(_ref) {
2416
+ var Slider = function Slider(_ref, ref) {
2400
2417
  var sx = _ref.sx,
2401
2418
  props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
2402
2419
 
@@ -2406,6 +2423,7 @@ var Slider = function Slider(_ref) {
2406
2423
  colors = _useThemeUI.theme.rawColors;
2407
2424
 
2408
2425
  return /*#__PURE__*/React.createElement(Slider$1, _extends({
2426
+ ref: ref,
2409
2427
  sx: _extends({
2410
2428
  '&::-webkit-slider-thumb': {
2411
2429
  height: [22, 18, 16],
@@ -2437,6 +2455,8 @@ var Slider = function Slider(_ref) {
2437
2455
  }, props));
2438
2456
  };
2439
2457
 
2458
+ var slider = forwardRef(Slider);
2459
+
2440
2460
  var styles = {
2441
2461
  reset: {
2442
2462
  verticalAlign: 'baseline',
@@ -2542,7 +2562,7 @@ var Table = function Table(_ref) {
2542
2562
 
2543
2563
  var _excluded = ["value", "onClick", "disabled", "sx"];
2544
2564
 
2545
- var Toggle = function Toggle(_ref) {
2565
+ var Toggle = function Toggle(_ref, ref) {
2546
2566
  var value = _ref.value,
2547
2567
  onClick = _ref.onClick,
2548
2568
  disabled = _ref.disabled,
@@ -2552,6 +2572,7 @@ var Toggle = function Toggle(_ref) {
2552
2572
  var color = sx && sx.color ? sx.color : 'primary';
2553
2573
  value = disabled ? false : value;
2554
2574
  return /*#__PURE__*/React.createElement(Box, _extends({
2575
+ ref: ref,
2555
2576
  as: "button",
2556
2577
  onClick: onClick,
2557
2578
  role: "checkbox",
@@ -2589,6 +2610,8 @@ var Toggle = function Toggle(_ref) {
2589
2610
  })));
2590
2611
  };
2591
2612
 
2613
+ var toggle = forwardRef(Toggle);
2614
+
2592
2615
  var Tracking = function Tracking(_ref) {
2593
2616
  var id = _ref.id;
2594
2617
 
@@ -2687,5 +2710,5 @@ var formatDate = function formatDate(date, options) {
2687
2710
  return [month, day, year].filter(Boolean).join(' ');
2688
2711
  };
2689
2712
 
2690
- export { Badge, Button, Callout, Colorbar, Column, Custom404, Dimmer, Expander, FadeIn, Filter, Footer, Group, Guide, Header, Input, Layout, Link, Logo, Menu, Meta, Monogram, Row, Scrollbar, Select, Settings, Slider, Table, Tag, Toggle, Tracking, Tray, formatDate, getScrollbarWidth };
2713
+ export { Badge, button as Button, callout as Callout, Colorbar, Column, Custom404, Dimmer, Expander, FadeIn, Filter, Footer, Group, Guide, Header, input as Input, Layout, Link$1 as Link, Logo, Menu, Meta, Monogram, Row, Scrollbar, Select, Settings, slider as Slider, Table, Tag, toggle as Toggle, Tracking, Tray, formatDate, getScrollbarWidth };
2691
2714
  //# sourceMappingURL=index.esm.js.map