@carbonplan/components 11.0.5-develop.4 → 11.1.0-develop.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.js CHANGED
@@ -1,2927 +1,2 @@
1
- var React = require('react');
2
- var themeUi = require('theme-ui');
3
- var color = require('@theme-ui/color');
4
- var NextLink = require('next/link');
5
- var icons = require('@carbonplan/icons');
6
- var emoji = require('@carbonplan/emoji');
7
- var Head = require('next/head');
8
- var react = require('@emotion/react');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var NextLink__default = /*#__PURE__*/_interopDefaultLegacy(NextLink);
14
- var Head__default = /*#__PURE__*/_interopDefaultLegacy(Head);
15
-
16
- function _extends() {
17
- _extends = Object.assign || function (target) {
18
- for (var i = 1; i < arguments.length; i++) {
19
- var source = arguments[i];
20
-
21
- for (var key in source) {
22
- if (Object.prototype.hasOwnProperty.call(source, key)) {
23
- target[key] = source[key];
24
- }
25
- }
26
- }
27
-
28
- return target;
29
- };
30
-
31
- return _extends.apply(this, arguments);
32
- }
33
-
34
- function _objectWithoutPropertiesLoose(source, excluded) {
35
- if (source == null) return {};
36
- var target = {};
37
- var sourceKeys = Object.keys(source);
38
- var key, i;
39
-
40
- for (i = 0; i < sourceKeys.length; i++) {
41
- key = sourceKeys[i];
42
- if (excluded.indexOf(key) >= 0) continue;
43
- target[key] = source[key];
44
- }
45
-
46
- return target;
47
- }
48
-
49
- var Badge = function Badge(_ref) {
50
- var sx = _ref.sx,
51
- children = _ref.children,
52
- props = _objectWithoutPropertiesLoose(_ref, ["sx", "children"]);
53
-
54
- var color$1 = sx && sx.color ? sx.color : 'primary';
55
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
56
- sx: _extends({
57
- display: 'inline-block',
58
- width: 'fit-content',
59
- height: ['24px', '24px', '24px', '26px'],
60
- borderRadius: '5px',
61
- backgroundColor: color$1 == 'primary' || color$1 == 'secondary' ? 'muted' : color.transparentize(color$1, 0.7),
62
- textAlign: 'center',
63
- userSelect: 'none',
64
- fontSize: [2, 2, 2, 3]
65
- }, sx)
66
- }, props), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
67
- sx: {
68
- letterSpacing: '0.02em',
69
- fontFamily: 'mono',
70
- mt: ['1px', '1px', '1px', '0px'],
71
- px: [1, 1, 1, '5px'],
72
- color: color$1
73
- }
74
- }, children));
75
- };
76
-
77
- var event = function event(_ref) {
78
- var action = _ref.action,
79
- category = _ref.category,
80
- label = _ref.label,
81
- value = _ref.value;
82
-
83
- if (typeof window.gtag !== 'function') {
84
- console.warn("Missing window.gtag, skipping analytics action: '" + action + "'.");
85
- return;
86
- }
87
-
88
- window.gtag('event', action, {
89
- event_category: category,
90
- event_label: label,
91
- value: value
92
- });
93
- };
94
-
95
- var Link = function Link(_ref2, ref) {
96
- var href = _ref2.href,
97
- children = _ref2.children,
98
- _ref2$internal = _ref2.internal,
99
- internal = _ref2$internal === void 0 ? false : _ref2$internal,
100
- _ref2$tracking = _ref2.tracking,
101
- tracking = _ref2$tracking === void 0 ? false : _ref2$tracking,
102
- props = _objectWithoutPropertiesLoose(_ref2, ["href", "children", "internal", "tracking"]);
103
-
104
- if (internal || href && href.startsWith('/')) {
105
- return /*#__PURE__*/React__default['default'].createElement(NextLink__default['default'], {
106
- href: href,
107
- passHref: true
108
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Link, _extends({
109
- ref: ref
110
- }, props), children));
111
- } else if (tracking) {
112
- var action;
113
- var category;
114
-
115
- if (href && href.includes('pdf')) {
116
- action = 'PDF';
117
- category = 'download';
118
- } else {
119
- action = 'website';
120
- category = 'external';
121
- }
122
-
123
- var track = function track(e) {
124
- event({
125
- action: action,
126
- category: category,
127
- label: href
128
- });
129
- };
130
-
131
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Link, _extends({
132
- ref: ref,
133
- onClick: track,
134
- onContextMenu: track,
135
- href: href
136
- }, props), children);
137
- } else {
138
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Link, _extends({
139
- ref: ref,
140
- href: href
141
- }, props), children);
142
- }
143
- };
144
-
145
- var Link$1 = React.forwardRef(Link);
146
-
147
- var getSizeStyles = function getSizeStyles(size) {
148
- if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {
149
- throw new Error('Size must be xs, sm, md, lg, or xl');
150
- }
151
-
152
- var fontSize, fontFamily, letterSpacing, lineHeight;
153
-
154
- if (size === 'xs') {
155
- fontSize = [2, 2, 2, 3];
156
- fontFamily = 'body';
157
- letterSpacing = 'body';
158
- lineHeight = [1.2];
159
- }
160
-
161
- if (size === 'sm') {
162
- fontSize = [3, 3, 3, 4];
163
- fontFamily = 'body';
164
- letterSpacing = 'body';
165
- lineHeight = [1.2];
166
- }
167
-
168
- if (size === 'md') {
169
- fontSize = [4, 4, 4, 5];
170
- fontFamily = 'body';
171
- letterSpacing = 'body';
172
- lineHeight = [1.2];
173
- }
174
-
175
- if (size === 'lg') {
176
- fontSize = [5, 5, 6, 7];
177
- fontFamily = 'heading';
178
- letterSpacing = 'heading';
179
- lineHeight = [1.2, 1.2, 1.25, 1.25];
180
- }
181
-
182
- if (size === 'xl') {
183
- fontSize = [6, 7, 8, 9];
184
- fontFamily = 'heading';
185
- letterSpacing = 'heading';
186
- lineHeight = [1.25];
187
- }
188
-
189
- return {
190
- fontSize: fontSize,
191
- fontFamily: fontFamily,
192
- letterSpacing: letterSpacing,
193
- lineHeight: lineHeight
194
- };
195
- };
196
-
197
- var Button = function Button(_ref, ref) {
198
- var _ref$size = _ref.size,
199
- size = _ref$size === void 0 ? 'sm' : _ref$size,
200
- prefix = _ref.prefix,
201
- suffix = _ref.suffix,
202
- inverted = _ref.inverted,
203
- sx = _ref.sx,
204
- children = _ref.children,
205
- align = _ref.align,
206
- href = _ref.href,
207
- internal = _ref.internal,
208
- tracking = _ref.tracking,
209
- props = _objectWithoutPropertiesLoose(_ref, ["size", "prefix", "suffix", "inverted", "sx", "children", "align", "href", "internal", "tracking"]);
210
-
211
- if (!['xs', 'sm', 'md', 'lg', 'xl'].includes(size)) {
212
- throw new Error('Size must be xs, sm, md, lg, or xl');
213
- }
214
-
215
- var offset, margin, height, width, strokeWidth;
216
- var color = sx && sx.color ? sx.color : null;
217
- var baseColor = color || (inverted ? 'secondary' : 'primary');
218
- var hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary';
219
-
220
- if (size === 'xs') {
221
- margin = ['6px', '6px', '6px', '6px'];
222
- height = [12, 12, 12, 13];
223
- width = [12, 12, 12, 13];
224
- strokeWidth = [1.5, 1.5, 1.5, 1.5];
225
- offset = {
226
- transform: 'translateY(0.25px)'
227
- };
228
- }
229
-
230
- if (size === 'sm') {
231
- margin = ['7px', '7px', '7px', '7px'];
232
- height = [13, 13, 13, 18];
233
- width = [13, 13, 13, 18];
234
- strokeWidth = [1.5, 1.5, 1.5, 2];
235
- offset = {
236
- transform: 'translateY(0.25px)'
237
- };
238
- }
239
-
240
- if (size === 'md') {
241
- margin = ['8px', '8px', '8px', '8px'];
242
- height = [18, 18, 18, 24];
243
- width = [18, 18, 18, 24];
244
- strokeWidth = [2, 2, 2, 3];
245
- }
246
-
247
- if (size === 'lg') {
248
- margin = ['10px', '10px', '12px', '16px'];
249
- height = [24, 24, 34, 46];
250
- width = [24, 24, 34, 46];
251
- strokeWidth = [3, 3, 4, 5];
252
- }
253
-
254
- if (size === 'xl') {
255
- margin = ['12px', '16px', '18px', '20px'];
256
- height = [34, 46, 56, 68];
257
- width = [34, 46, 56, 68];
258
- strokeWidth = [4, 5, 6, 7];
259
- }
260
-
261
- var prefixHover, suffixHover, prefixAlign, suffixAlign, prefixOffset, suffixOffset;
262
-
263
- if (align) {
264
- prefixAlign = align;
265
- suffixAlign = align;
266
- } else {
267
- if (prefix && suffix) {
268
- prefixAlign = 'initial';
269
- suffixAlign = 'initial';
270
- } else if (prefix) {
271
- prefixAlign = 'initial';
272
- } else if (suffix) {
273
- suffixAlign = 'middle';
274
- }
275
- }
276
-
277
- if (prefixAlign === 'middle') {
278
- prefixOffset = {};
279
- } else {
280
- prefixOffset = offset;
281
- }
282
-
283
- if (suffixAlign === 'middle') {
284
- suffixOffset = {};
285
- } else {
286
- suffixOffset = offset;
287
- }
288
-
289
- if (prefix) {
290
- prefixHover = {
291
- '&:hover > #prefix-span > #prefix': _extends({
292
- color: hoverColor
293
- }, prefix.type.hover)
294
- };
295
- prefix = React.cloneElement(prefix, {
296
- id: 'prefix',
297
- sx: _extends({
298
- position: 'relative',
299
- height: height,
300
- width: width,
301
- mr: children ? margin : [0],
302
- strokeWidth: strokeWidth,
303
- verticalAlign: prefixAlign,
304
- transition: 'color 0.15s, transform 0.15s'
305
- }, prefix.props.sx)
306
- });
307
- }
308
-
309
- if (suffix) {
310
- suffixHover = {
311
- '&:hover > #suffix-span >#suffix': _extends({
312
- color: hoverColor
313
- }, suffix.type.hover)
314
- };
315
- suffix = React.cloneElement(suffix, {
316
- id: 'suffix',
317
- sx: _extends({
318
- height: height,
319
- width: width,
320
- ml: children ? margin : [0],
321
- strokeWidth: strokeWidth,
322
- verticalAlign: suffixAlign,
323
- transition: 'color 0.15s, transform 0.15s'
324
- }, suffix.props.sx)
325
- });
326
- }
327
-
328
- var sizeStyles = getSizeStyles(size);
329
-
330
- var style = _extends({}, sizeStyles, {
331
- lineHeight: 1.05,
332
- border: 'none',
333
- background: 'transparent',
334
- display: 'block',
335
- color: baseColor,
336
- padding: [0],
337
- textAlign: 'left',
338
- cursor: 'pointer',
339
- width: 'fit-content',
340
- '@media (hover: hover) and (pointer: fine)': _extends({
341
- '&:hover': {
342
- color: hoverColor
343
- }
344
- }, suffixHover, prefixHover)
345
- }, sx);
346
-
347
- var Inner = /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
348
- as: "span",
349
- id: "prefix-span",
350
- sx: _extends({
351
- display: 'inline-block'
352
- }, prefixOffset)
353
- }, prefix && prefix), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
354
- as: "span",
355
- sx: {
356
- transition: 'color 0.15s'
357
- }
358
- }, children), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
359
- as: "span",
360
- id: "suffix-span",
361
- sx: _extends({
362
- display: 'inline-block'
363
- }, suffixOffset)
364
- }, suffix && suffix));
365
-
366
- if (href) {
367
- return /*#__PURE__*/React__default['default'].createElement(Link$1, _extends({
368
- ref: ref,
369
- href: href,
370
- internal: internal,
371
- tracking: tracking,
372
- sx: _extends({}, style, {
373
- textDecoration: 'none'
374
- })
375
- }, props), Inner);
376
- } else {
377
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
378
- ref: ref,
379
- as: "button",
380
- sx: style
381
- }, props), Inner);
382
- }
383
- };
384
-
385
- var button = React.forwardRef(Button);
386
-
387
- var Callout = function Callout(_ref, ref) {
388
- var label = _ref.label,
389
- children = _ref.children,
390
- inverted = _ref.inverted,
391
- color = _ref.color,
392
- href = _ref.href,
393
- internal = _ref.internal,
394
- tracking = _ref.tracking,
395
- sx = _ref.sx,
396
- props = _objectWithoutPropertiesLoose(_ref, ["label", "children", "inverted", "color", "href", "internal", "tracking", "sx"]);
397
-
398
- var baseColor = color || (inverted ? 'secondary' : 'primary');
399
- var hoverColor = color ? 'primary' : inverted ? 'primary' : 'secondary';
400
-
401
- var style = _extends({
402
- border: 'none',
403
- padding: [0],
404
- fontSize: [3, 3, 3, 4],
405
- color: baseColor,
406
- background: 'transparent',
407
- textDecoration: 'none',
408
- fontFamily: 'body',
409
- lineHeight: 'h3',
410
- letterSpacing: 'body',
411
- width: 'fit-content',
412
- cursor: 'pointer',
413
- textAlign: 'left',
414
- mb: [1],
415
- '@media (hover: hover) and (pointer: fine)': {
416
- '&:hover > #container > #arrow': {
417
- transform: 'rotate(45deg)',
418
- fill: hoverColor
419
- },
420
- '&:hover': {
421
- color: hoverColor
422
- }
423
- }
424
- }, sx);
425
-
426
- var Inner = /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
427
- sx: {
428
- transition: '0.15s',
429
- letterSpacing: 'body',
430
- pb: ['6px']
431
- }
432
- }, children), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
433
- sx: {
434
- transition: '0.15s',
435
- display: 'inline-block',
436
- textTransform: 'uppercase',
437
- letterSpacing: 'smallcaps',
438
- fontFamily: 'heading',
439
- fontSize: [2, 2, 2, 3]
440
- }
441
- }, label), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
442
- as: "span",
443
- id: "container",
444
- sx: {
445
- ml: [2],
446
- display: 'inline-block'
447
- }
448
- }, /*#__PURE__*/React__default['default'].createElement(icons.Arrow, {
449
- id: "arrow",
450
- sx: {
451
- transition: 'fill 0.15s, transform 0.15s',
452
- position: 'relative',
453
- top: ['2px'],
454
- color: baseColor,
455
- height: [15, 15, 15, 17],
456
- width: [15, 15, 15, 17]
457
- }
458
- })));
459
-
460
- if (href) {
461
- return /*#__PURE__*/React__default['default'].createElement(Link$1, _extends({
462
- ref: ref,
463
- href: href,
464
- internal: internal,
465
- tracking: tracking,
466
- sx: style
467
- }, props), Inner);
468
- } else {
469
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
470
- ref: ref,
471
- as: "button",
472
- sx: style
473
- }, props), Inner);
474
- }
475
- };
476
-
477
- var callout = React.forwardRef(Callout);
478
-
479
- var styles = {
480
- clim: function clim(setClim) {
481
- return {
482
- fontFamily: 'mono',
483
- fontSize: ['9px', 0, 0, 1],
484
- letterSpacing: 'smallcaps',
485
- textTransform: 'uppercase',
486
- '@media (hover: hover) and (pointer: fine)': {
487
- '&:hover': {
488
- borderBottom: setClim ? function (_ref) {
489
- var colors = _ref.colors;
490
- return "solid 1px " + colors.primary + " !important";
491
- } : 'unset'
492
- }
493
- },
494
- '&:focus': {
495
- outline: 'none',
496
- borderBottom: setClim ? function (_ref2) {
497
- var colors = _ref2.colors;
498
- return "solid 1px " + colors.primary + " !important";
499
- } : 'unset'
500
- },
501
- transition: 'border 0.15s',
502
- userSelect: setClim ? 'none !important' : 'unset',
503
- width: 'fit-content',
504
- minWidth: 'fit-content'
505
- };
506
- }
507
- };
508
- var DIMENSIONS = {
509
- width: ['10px', '16px', '16px', '17px'],
510
- height: ['80px', '110px', '110px', '130px']
511
- };
512
-
513
- var Gradient = function Gradient(_ref3) {
514
- var colormap = _ref3.colormap,
515
- discrete = _ref3.discrete,
516
- horizontal = _ref3.horizontal,
517
- width = _ref3.width,
518
- height = _ref3.height;
519
- var step = 1 / colormap.length * 100;
520
- var values = colormap.map(function (d, i) {
521
- return "rgb(" + d + ") " + i * step + "% " + (discrete && i < colormap.length - 1 ? (i + 1) * step + "%" : '');
522
- });
523
- var css = "linear-gradient(to " + (horizontal ? 'right' : 'top') + ", " + values.join(',') + ")";
524
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
525
- sx: _extends({}, horizontal ? {
526
- width: width || DIMENSIONS.height,
527
- height: height || DIMENSIONS.width
528
- } : {
529
- width: width || DIMENSIONS.width,
530
- minHeight: height || DIMENSIONS.height
531
- }, {
532
- mt: horizontal ? ['1px', '1px', '1px', 0] : 0,
533
- border: function border(_ref4) {
534
- var colors = _ref4.colors;
535
- return "solid 1px " + colors.hinted;
536
- },
537
- background: css
538
- })
539
- });
540
- };
541
-
542
- var Label = function Label(_ref5) {
543
- var label = _ref5.label,
544
- units = _ref5.units,
545
- horizontal = _ref5.horizontal;
546
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
547
- sx: !horizontal && {
548
- width: ['13px', '17px', '17px', '19px'],
549
- alignSelf: 'flex-end'
550
- }
551
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
552
- sx: _extends({
553
- mb: horizontal ? 0 : ['-4px', '-4px', '-4px', '-3px'],
554
- fontFamily: 'mono',
555
- fontSize: ['9px', 0, 0, 1],
556
- letterSpacing: 'smallcaps',
557
- textTransform: 'uppercase'
558
- }, horizontal ? {} : {
559
- writingMode: 'vertical-rl',
560
- transform: 'rotate(180deg)',
561
- whiteSpace: 'nowrap',
562
- display: 'inline-block',
563
- overflow: 'visible'
564
- })
565
- }, label, ' ', /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
566
- as: "span",
567
- sx: {
568
- textTransform: 'none',
569
- color: 'secondary',
570
- display: 'inline-block'
571
- }
572
- }, units)));
573
- };
574
-
575
- var Colorbar = function Colorbar(_ref6) {
576
- var colormap = _ref6.colormap,
577
- label = _ref6.label,
578
- clim = _ref6.clim,
579
- setClim = _ref6.setClim,
580
- _ref6$setClimStep = _ref6.setClimStep,
581
- setClimStep = _ref6$setClimStep === void 0 ? 1 : _ref6$setClimStep,
582
- discrete = _ref6.discrete,
583
- units = _ref6.units,
584
- width = _ref6.width,
585
- height = _ref6.height,
586
- _ref6$format = _ref6.format,
587
- format = _ref6$format === void 0 ? function (d) {
588
- return d;
589
- } : _ref6$format,
590
- _ref6$horizontal = _ref6.horizontal,
591
- horizontal = _ref6$horizontal === void 0 ? false : _ref6$horizontal,
592
- _ref6$bottom = _ref6.bottom,
593
- bottom = _ref6$bottom === void 0 ? false : _ref6$bottom,
594
- sx = _ref6.sx,
595
- sxClim = _ref6.sxClim,
596
- props = _objectWithoutPropertiesLoose(_ref6, ["colormap", "label", "clim", "setClim", "setClimStep", "discrete", "units", "width", "height", "format", "horizontal", "bottom", "sx", "sxClim"]);
597
-
598
- if (!Array.isArray(colormap)) {
599
- throw new Error("expected array for colormap, got '" + colormap + "'.");
600
- }
601
-
602
- var climRef = [React.useRef(), React.useRef()];
603
-
604
- var _useState = React.useState(false),
605
- climMinDragging = _useState[0],
606
- setClimMinDragging = _useState[1];
607
-
608
- var _useState2 = React.useState(false),
609
- climMaxDragging = _useState2[0],
610
- setClimMaxDragging = _useState2[1];
611
-
612
- var x,
613
- y,
614
- dx,
615
- dy = 0;
616
- var id = null;
617
- var init = [0, 0];
618
- var scale = setClimStep;
619
-
620
- var draggingFunction = function draggingFunction(e) {
621
- if (id === 'min' && !climMinDragging) setClimMinDragging(true);
622
- if (id === 'max' && !climMaxDragging) setClimMaxDragging(true);
623
- dx = e.pageX - x;
624
- dy = e.pageY - y;
625
-
626
- if (horizontal) {
627
- if (id === 'min') setClim(function (prev) {
628
- return [Math.min(init[0] + dx * scale, init[1]), prev[1]];
629
- });
630
- if (id === 'max') setClim(function (prev) {
631
- return [prev[0], Math.max(init[1] + dx * scale, init[0])];
632
- });
633
- } else {
634
- if (id === 'min') setClim(function (prev) {
635
- return [Math.min(init[0] - dy * scale, init[1]), prev[1]];
636
- });
637
- if (id === 'max') setClim(function (prev) {
638
- return [prev[0], Math.max(init[1] - dy * scale, init[0])];
639
- });
640
- }
641
- };
642
-
643
- var handleMouseDown = function handleMouseDown(e) {
644
- y = e.pageY;
645
- x = e.pageX;
646
- id = e.target.id;
647
- init = clim;
648
- document.body.setAttribute('style', horizontal ? 'cursor: ew-resize !important' : 'cursor: ns-resize !important');
649
- document.addEventListener('mousemove', draggingFunction);
650
-
651
- var updater = function updater() {
652
- document.body.setAttribute('style', 'cursor: unset');
653
- document.removeEventListener('mousemove', draggingFunction);
654
- window.removeEventListener('mouseup', updater);
655
- if (id === 'min') setClimMinDragging(false);
656
- if (id === 'max') setClimMaxDragging(false);
657
- };
658
-
659
- window.addEventListener('mouseup', updater);
660
- };
661
-
662
- var increment = function increment(e) {
663
- if (climRef[0].current === document.activeElement) {
664
- e.preventDefault();
665
- setClim(function (prev) {
666
- return [Math.min(prev[0] + scale, prev[1]), prev[1]];
667
- });
668
- climRef[0].current.focus();
669
- }
670
-
671
- if (climRef[1].current === document.activeElement) {
672
- e.preventDefault();
673
- setClim(function (prev) {
674
- return [prev[0], Math.max(prev[1] + scale, prev[0])];
675
- });
676
- climRef[1].current.focus();
677
- }
678
- };
679
-
680
- var decrement = function decrement(e) {
681
- if (climRef[0].current === document.activeElement) {
682
- e.preventDefault();
683
- setClim(function (prev) {
684
- return [Math.min(prev[0] - scale, prev[1]), prev[1]];
685
- });
686
- climRef[0].current.focus();
687
- }
688
-
689
- if (climRef[1].current === document.activeElement) {
690
- e.preventDefault();
691
- setClim(function (prev) {
692
- return [prev[0], Math.max(prev[1] - scale, prev[0])];
693
- });
694
- climRef[1].current.focus();
695
- }
696
- };
697
-
698
- React.useEffect(function () {
699
- var listener = function listener(e) {
700
- if (['ArrowUp', 'ArrowRight'].includes(e.code) || ['ArrowUp', 'ArrowRight'].includes(e.key)) {
701
- increment(e);
702
- }
703
-
704
- if (['ArrowDown', 'ArrowLeft'].includes(e.code) || ['ArrowDown', 'ArrowLeft'].includes(e.key)) {
705
- decrement(e);
706
- }
707
- };
708
-
709
- window.addEventListener('keydown', listener);
710
- return function () {
711
- window.removeEventListener('keydown', listener);
712
- };
713
- }, [clim]);
714
-
715
- var ClimMin = function ClimMin() {
716
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
717
- id: "min",
718
- ref: climRef[0],
719
- tabIndex: 0,
720
- sx: _extends({}, styles.clim(setClim), {
721
- ml: label ? horizontal ? bottom ? '0px' : '10px' : ['2px', '1px', '1px', '2px'] : 0,
722
- mr: horizontal ? ['2px', '1px', '1px', '2px'] : 0,
723
- mb: horizontal ? 0 : ['-2px', '-2px', '-2px', '-3px'],
724
- borderBottom: setClim ? climMinDragging ? function (_ref7) {
725
- var colors = _ref7.colors;
726
- return "solid 1px " + colors.primary;
727
- } : function (_ref8) {
728
- var colors = _ref8.colors;
729
- return "solid 1px " + colors.secondary;
730
- } : 'unset',
731
- cursor: setClim ? horizontal ? 'ew-resize' : 'ns-resize' : 'default'
732
- }, sxClim),
733
- onMouseDown: setClim ? handleMouseDown : function () {},
734
- onClick: function onClick() {
735
- return climRef[0].current.focus();
736
- }
737
- }, format(clim[0]));
738
- };
739
-
740
- var ClimMax = function ClimMax() {
741
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
742
- id: "max",
743
- ref: climRef[1],
744
- tabIndex: 0,
745
- sx: _extends({}, styles.clim(setClim), {
746
- ml: horizontal ? ['2px', '1px', '1px', '2px'] : ['2px', '1px', '1px', '2px'],
747
- mt: horizontal ? 0 : ['-2px', '-3px', '-3px', '-3px'],
748
- borderBottom: setClim ? climMaxDragging ? function (_ref9) {
749
- var colors = _ref9.colors;
750
- return "solid 1px " + colors.primary;
751
- } : function (_ref10) {
752
- var colors = _ref10.colors;
753
- return "solid 1px " + colors.secondary;
754
- } : 'unset',
755
- cursor: setClim ? horizontal ? 'ew-resize' : 'ns-resize' : 'default'
756
- }, sxClim),
757
- onMouseDown: setClim ? handleMouseDown : function () {},
758
- onClick: function onClick() {
759
- return climRef[1].current.focus();
760
- }
761
- }, format(clim[1]));
762
- };
763
-
764
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, _extends({}, props, {
765
- sx: _extends({
766
- flexDirection: 'row',
767
- alignItems: 'start',
768
- justifyContent: 'flex-start',
769
- gap: ['3px', '6px', '6px', '7px'],
770
- height: !horizontal ? '100%' : 'unset'
771
- }, sx)
772
- }), label && /*#__PURE__*/React__default['default'].createElement(Label, {
773
- label: label,
774
- units: units,
775
- horizontal: horizontal
776
- }), /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
777
- sx: {
778
- flexGrow: horizontal ? 1 : 'unset',
779
- flexDirection: 'column',
780
- ml: bottom && label ? '4px' : '0px',
781
- height: !horizontal ? '100%' : 'unset'
782
- }
783
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
784
- sx: {
785
- gap: ['3px', '6px', '6px', '7px'],
786
- height: !horizontal ? '100%' : 'unset'
787
- }
788
- }, horizontal && clim && !bottom && /*#__PURE__*/React__default['default'].createElement(ClimMin, null), /*#__PURE__*/React__default['default'].createElement(Gradient, {
789
- colormap: colormap,
790
- horizontal: horizontal,
791
- discrete: discrete,
792
- width: width,
793
- height: height
794
- }), horizontal && clim && !bottom && /*#__PURE__*/React__default['default'].createElement(ClimMax, null)), horizontal && clim && bottom && /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
795
- sx: {
796
- justifyContent: 'space-between'
797
- }
798
- }, /*#__PURE__*/React__default['default'].createElement(ClimMin, null), /*#__PURE__*/React__default['default'].createElement(ClimMax, null))), !horizontal && /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
799
- sx: {
800
- flexDirection: 'column-reverse',
801
- justifyContent: 'space-between',
802
- height: height || DIMENSIONS.height
803
- }
804
- }, clim && /*#__PURE__*/React__default['default'].createElement(ClimMin, null), clim && /*#__PURE__*/React__default['default'].createElement(ClimMax, null)));
805
- };
806
-
807
- var Column = function Column(_ref) {
808
- var start = _ref.start,
809
- width = _ref.width,
810
- dl = _ref.dl,
811
- dr = _ref.dr,
812
- children = _ref.children,
813
- sx = _ref.sx,
814
- props = _objectWithoutPropertiesLoose(_ref, ["start", "width", "dl", "dr", "children", "sx"]);
815
-
816
- start = start || 'auto';
817
- width = width || 'auto';
818
-
819
- var makeArray = function makeArray(input) {
820
- if (input && !Array.isArray(input)) {
821
- input = [input];
822
- }
823
-
824
- if (![1, 2, 4].includes(input.length)) {
825
- throw new Error('Array length must be 1, 2, or 4');
826
- }
827
-
828
- if (Array.isArray(input) && input.length == 1) {
829
- input = input.map(function (d) {
830
- return [d, d, d, d];
831
- }).flat();
832
- } else if (Array.isArray(input) && input.length == 2) {
833
- input = input.map(function (d) {
834
- return [d, d];
835
- }).flat();
836
- }
837
-
838
- return input;
839
- };
840
-
841
- start = makeArray(start);
842
- width = makeArray(width);
843
- var end = start.map(function (d, i) {
844
- if (d == 'auto') return 'auto';
845
- return d + width[i];
846
- });
847
- var ml, mr;
848
-
849
- if (dl) {
850
- if (![0.5, 1].includes(dl)) {
851
- throw new Error('dl must be 0.5 or 1');
852
- }
853
-
854
- if (dl === 0.5) {
855
- ml = ['-12px', -3, -3, -4];
856
- }
857
-
858
- if (dl === 1) {
859
- ml = [-4, -5, -5, -6];
860
- }
861
- }
862
-
863
- if (dr) {
864
- if (![0.5, 1].includes(dr)) {
865
- throw new Error('dr must be 0.5 or 1');
866
- }
867
-
868
- if (dr === 0.5) {
869
- mr = ['-12px', -3, -3, -4];
870
- }
871
-
872
- if (dr === 1) {
873
- mr = [-4, -5, -5, -6];
874
- }
875
- }
876
-
877
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({}, props, {
878
- sx: _extends({
879
- gridColumnStart: start,
880
- gridColumnEnd: end,
881
- ml: ml,
882
- mr: mr
883
- }, sx)
884
- }), children);
885
- };
886
-
887
- var Meta = function Meta(_ref) {
888
- var title = _ref.title,
889
- description = _ref.description,
890
- card = _ref.card;
891
- title = title ? title : 'carbonplan';
892
- description = description ? description : 'Data and science for climate action.';
893
- card = card ? card : 'https://images.carbonplan.org/social/homepage.png';
894
- return /*#__PURE__*/React__default['default'].createElement(Head__default['default'], null, /*#__PURE__*/React__default['default'].createElement("title", null, title), /*#__PURE__*/React__default['default'].createElement("meta", {
895
- name: "description",
896
- content: description
897
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
898
- name: "viewport",
899
- content: "initial-scale=1.0, width=device-width"
900
- }), /*#__PURE__*/React__default['default'].createElement("link", {
901
- rel: "canonical",
902
- content: "https://carbonplan.org/"
903
- }), /*#__PURE__*/React__default['default'].createElement("link", {
904
- rel: "icon",
905
- type: "image/svg+xml",
906
- href: "https://images.carbonplan.org/favicon.svg"
907
- }), /*#__PURE__*/React__default['default'].createElement("link", {
908
- rel: "preload",
909
- href: "https://fonts.carbonplan.org/relative/relative-book-pro.woff2",
910
- as: "font",
911
- type: "font/woff2",
912
- crossOrigin: "anonymous"
913
- }), /*#__PURE__*/React__default['default'].createElement("link", {
914
- rel: "preload",
915
- href: "https://fonts.carbonplan.org/relative/relative-medium-pro.woff2",
916
- as: "font",
917
- type: "font/woff2",
918
- crossOrigin: "anonymous"
919
- }), /*#__PURE__*/React__default['default'].createElement("link", {
920
- rel: "preload",
921
- href: "https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2",
922
- as: "font",
923
- type: "font/woff2",
924
- crossOrigin: "anonymous"
925
- }), /*#__PURE__*/React__default['default'].createElement("link", {
926
- rel: "preload",
927
- href: "https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2",
928
- as: "font",
929
- type: "font/woff2",
930
- crossOrigin: "anonymous"
931
- }), /*#__PURE__*/React__default['default'].createElement("link", {
932
- rel: "manifest",
933
- href: "https://images.carbonplan.org/manifest.json"
934
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
935
- name: "theme-color",
936
- content: "#1b1e23"
937
- }), /*#__PURE__*/React__default['default'].createElement("link", {
938
- rel: "alternate icon",
939
- type: "image/png",
940
- href: "https://images.carbonplan.org/favicon.png"
941
- }), /*#__PURE__*/React__default['default'].createElement("link", {
942
- rel: "mask-icon",
943
- href: "https://images.carbonplan.org/safari-pinned-tab.svg",
944
- color: "#000000"
945
- }), /*#__PURE__*/React__default['default'].createElement("link", {
946
- rel: "apple-touch-icon",
947
- sizes: "180x180",
948
- href: "https://images.carbonplan.org/apple-touch-icon.png"
949
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
950
- name: "msapplication-TileColor",
951
- content: "#1b1e23"
952
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
953
- name: "msapplication-TileImage",
954
- content: "https://images.carbonplan.org/mstile-144x144.png"
955
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
956
- name: "msapplication-config",
957
- content: "https://images.carbonplan.org/browserconfig.xml"
958
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
959
- property: "og:title",
960
- content: title
961
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
962
- property: "og:description",
963
- content: description
964
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
965
- property: "og:image",
966
- content: card
967
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
968
- property: "og:url",
969
- content: "https://carbonplan.org"
970
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
971
- name: "twitter:title",
972
- content: title
973
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
974
- name: "twitter:description",
975
- content: description
976
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
977
- name: "twitter:image",
978
- content: card
979
- }), /*#__PURE__*/React__default['default'].createElement("meta", {
980
- name: "twitter:card",
981
- content: "summary_large_image"
982
- }));
983
- };
984
-
985
- var Logo = function Logo(_ref) {
986
- var props = _extends({}, _ref);
987
-
988
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
989
- as: "svg",
990
- width: "150",
991
- fill: "currentColor",
992
- stroke: "none",
993
- viewBox: "0 0 151.1 28.8"
994
- }, props), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
995
- d: "M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3 c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8 c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2 c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3 c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z"
996
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
997
- d: "M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1 c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3 c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6 c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2 C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9 c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z"
998
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
999
- d: "M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6 c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8 c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z"
1000
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1001
- d: "M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6 c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1 c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3 s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3 C52.9,10.2,51.9,10.7,51.2,11.5z"
1002
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1003
- d: "M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2 c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5 c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4 c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z"
1004
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1005
- d: "M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8 c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1 c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z"
1006
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1007
- d: "M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6 c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3 H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3 c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z"
1008
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1009
- d: "M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2 C117.3,21.8,117.2,21.7,117.2,21.6z"
1010
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1011
- d: "M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1 c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3 c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6 c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2 C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9 c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z"
1012
- })), /*#__PURE__*/React__default['default'].createElement("g", null, /*#__PURE__*/React__default['default'].createElement("path", {
1013
- d: "M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8 c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1 c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z"
1014
- })), /*#__PURE__*/React__default['default'].createElement("path", {
1015
- d: "M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2 s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z"
1016
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1017
- d: "M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2 s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z"
1018
- })));
1019
- };
1020
-
1021
- var Row = function Row(_ref) {
1022
- var children = _ref.children,
1023
- sx = _ref.sx,
1024
- columns = _ref.columns,
1025
- gap = _ref.gap,
1026
- props = _objectWithoutPropertiesLoose(_ref, ["children", "sx", "columns", "gap"]);
1027
-
1028
- var makeArray = function makeArray(input) {
1029
- if (!Array.isArray(input)) {
1030
- input = [input, input, input, input];
1031
- }
1032
-
1033
- if (Array.isArray(input) && ![1, 2, 4].includes(input.length)) {
1034
- throw new Error('Array length must be 1, 2, or 4');
1035
- }
1036
-
1037
- if (Array.isArray(input) && input.length == 1) {
1038
- input = input.map(function (d) {
1039
- return [d];
1040
- }).flat();
1041
- }
1042
-
1043
- if (Array.isArray(input) && input.length == 2) {
1044
- input = input.map(function (d) {
1045
- return [d, d];
1046
- }).flat();
1047
- }
1048
-
1049
- return input;
1050
- };
1051
-
1052
- var columnGap, rowGap;
1053
-
1054
- if (Number.isInteger(gap) || Array.isArray(gap)) {
1055
- gap = makeArray(gap);
1056
- columnGap = gap;
1057
- rowGap = gap;
1058
- } else {
1059
- columnGap = [4, 5, 5, 6];
1060
- rowGap = [0, 0, 0, 0];
1061
- }
1062
-
1063
- if (Number.isInteger(columns) || Array.isArray(columns)) {
1064
- columns = makeArray(columns);
1065
- } else {
1066
- columns = [6, 8, 12, 12];
1067
- }
1068
-
1069
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Grid, _extends({}, props, {
1070
- columns: columns,
1071
- sx: _extends({
1072
- columnGap: columnGap,
1073
- rowGap: rowGap
1074
- }, sx)
1075
- }), children);
1076
- };
1077
-
1078
- var Menu = function Menu(_ref) {
1079
- var value = _ref.value,
1080
- sx = _ref.sx,
1081
- props = _objectWithoutPropertiesLoose(_ref, ["value", "sx"]);
1082
-
1083
- return /*#__PURE__*/React__default['default'].createElement(themeUi.IconButton, _extends({
1084
- sx: _extends({
1085
- cursor: 'pointer',
1086
- fill: 'none',
1087
- strokeWidth: '2px',
1088
- stroke: 'text',
1089
- '.paren': {
1090
- opacity: '0'
1091
- },
1092
- '@media (hover: hover) and (pointer: fine)': {
1093
- '&:hover .paren': {
1094
- opacity: '1'
1095
- }
1096
- }
1097
- }, sx),
1098
- "aria-label": "Toggle Menu"
1099
- }, props), !value && /*#__PURE__*/React__default['default'].createElement("svg", {
1100
- style: {
1101
- width: '50px',
1102
- height: '30px',
1103
- transform: 'scale(2)',
1104
- marginTop: '-3px'
1105
- },
1106
- xmlns: "http://www.w3.org/2000/svg",
1107
- viewBox: "0 0 68 36"
1108
- }, /*#__PURE__*/React__default['default'].createElement("line", {
1109
- x1: "52",
1110
- y1: "29.9",
1111
- x2: "16",
1112
- y2: "29.9"
1113
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1114
- x1: "52",
1115
- y1: "6.1",
1116
- x2: "16",
1117
- y2: "6.1"
1118
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1119
- x1: "52",
1120
- y1: "18",
1121
- x2: "16",
1122
- y2: "18"
1123
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1124
- style: {
1125
- transition: 'all 0.2s'
1126
- },
1127
- className: "paren",
1128
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
1129
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1130
- style: {
1131
- transition: 'all 0.2s'
1132
- },
1133
- className: "paren",
1134
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
1135
- })), value && /*#__PURE__*/React__default['default'].createElement("svg", {
1136
- style: {
1137
- width: '50px',
1138
- height: '30px',
1139
- transform: 'scale(2)',
1140
- marginTop: '-3px'
1141
- },
1142
- xmlns: "http://www.w3.org/2000/svg",
1143
- viewBox: "0 0 68 36"
1144
- }, /*#__PURE__*/React__default['default'].createElement("line", {
1145
- x1: "50.85",
1146
- y1: "29.79",
1147
- x2: "17.15",
1148
- y2: "6.21"
1149
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1150
- x1: "17.15",
1151
- y1: "29.79",
1152
- x2: "50.85",
1153
- y2: "6.21"
1154
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1155
- style: {
1156
- transition: 'all 0.2s'
1157
- },
1158
- className: "paren",
1159
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
1160
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1161
- style: {
1162
- transition: 'all 0.2s'
1163
- },
1164
- className: "paren",
1165
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
1166
- })));
1167
- };
1168
-
1169
- var sx = {
1170
- link: function link(current, label, first) {
1171
- if (first === void 0) {
1172
- first = false;
1173
- }
1174
-
1175
- return {
1176
- width: 'auto',
1177
- color: current === label ? 'secondary' : 'text',
1178
- fontSize: [6, 6, 7, 8],
1179
- fontFamily: 'heading',
1180
- letterSpacing: 'heading',
1181
- borderStyle: 'solid',
1182
- borderColor: 'muted',
1183
- borderWidth: '0px',
1184
- borderBottomWidth: '1px',
1185
- borderTopWidth: first ? '1px' : '0px',
1186
- py: [3, 3, 4, 5],
1187
- textDecoration: 'none',
1188
- display: 'block',
1189
- position: 'relative',
1190
- transition: 'color 0.15s',
1191
- '@media (hover: hover) and (pointer: fine)': {
1192
- '&:hover > #arrow': {
1193
- opacity: 1
1194
- }
1195
- },
1196
- '&:hover': {
1197
- color: current == label ? 'secondary' : 'text'
1198
- }
1199
- };
1200
- }
1201
- };
1202
- var links = [{
1203
- url: 'about',
1204
- display: 'About'
1205
- }, {
1206
- url: 'research',
1207
- display: 'Research'
1208
- }, {
1209
- url: 'blog',
1210
- display: 'Blog'
1211
- }, {
1212
- url: 'press',
1213
- display: 'Press'
1214
- }];
1215
-
1216
- var HoverArrow = function HoverArrow() {
1217
- return /*#__PURE__*/React__default['default'].createElement(icons.Arrow, {
1218
- id: "arrow",
1219
- sx: {
1220
- pointerEvents: 'none',
1221
- display: 'inline-block',
1222
- position: 'absolute',
1223
- left: ['-60px', '-68px', '-80px', '-104px'],
1224
- top: ['32px', '32px', '46px', '62px'],
1225
- opacity: 0,
1226
- transition: 'opacity 0.2s ease-out',
1227
- transform: 'rotate(45deg)',
1228
- width: [36, 36, 48, 56],
1229
- height: [36, 36, 48, 56]
1230
- }
1231
- });
1232
- };
1233
-
1234
- var Nav = function Nav(_ref) {
1235
- var link = _ref.link,
1236
- mode = _ref.mode,
1237
- nav = _ref.nav,
1238
- first = _ref.first,
1239
- setExpanded = _ref.setExpanded;
1240
- var url = link.url,
1241
- display = link.display;
1242
- var href = mode === 'remote' ? 'https://carbonplan.org/' + url : '/' + url;
1243
-
1244
- if (mode === 'homepage' || mode === 'local' && nav === url) {
1245
- return /*#__PURE__*/React__default['default'].createElement(NextLink__default['default'], {
1246
- href: href,
1247
- passHref: true
1248
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1249
- onClick: function onClick() {
1250
- if (nav === url) setExpanded(false);
1251
- },
1252
- sx: sx.link(nav, url, first)
1253
- }, /*#__PURE__*/React__default['default'].createElement(HoverArrow, null), display));
1254
- } else {
1255
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1256
- href: href,
1257
- sx: sx.link(nav, url, first)
1258
- }, /*#__PURE__*/React__default['default'].createElement(HoverArrow, null), display);
1259
- }
1260
- };
1261
-
1262
- var NavGroup = function NavGroup(_ref2) {
1263
- var links = _ref2.links,
1264
- nav = _ref2.nav,
1265
- mode = _ref2.mode,
1266
- setExpanded = _ref2.setExpanded;
1267
- return links.map(function (d, i) {
1268
- return /*#__PURE__*/React__default['default'].createElement(Nav, {
1269
- key: i,
1270
- link: d,
1271
- mode: mode,
1272
- nav: nav,
1273
- first: i === 0,
1274
- setExpanded: setExpanded
1275
- });
1276
- });
1277
- };
1278
-
1279
- var Header = function Header(_ref3) {
1280
- var status = _ref3.status,
1281
- mode = _ref3.mode,
1282
- nav = _ref3.nav,
1283
- menuItems = _ref3.menuItems;
1284
-
1285
- var _useState = React.useState(false),
1286
- expanded = _useState[0],
1287
- setExpanded = _useState[1];
1288
-
1289
- var toggle = function toggle(e) {
1290
- setExpanded(!expanded);
1291
- };
1292
-
1293
- return /*#__PURE__*/React__default['default'].createElement(Row, {
1294
- sx: {
1295
- pt: ['12px'],
1296
- pb: [3]
1297
- }
1298
- }, /*#__PURE__*/React__default['default'].createElement(Column, {
1299
- start: [1],
1300
- width: [2]
1301
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1302
- sx: {
1303
- display: 'block',
1304
- width: 'fit-content'
1305
- }
1306
- }, (mode == 'homepage' || mode == 'local') && /*#__PURE__*/React__default['default'].createElement(NextLink__default['default'], {
1307
- href: "/",
1308
- passHref: true
1309
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1310
- "aria-label": "CarbonPlan Homepage",
1311
- sx: {
1312
- display: 'block'
1313
- }
1314
- }, /*#__PURE__*/React__default['default'].createElement(Logo, {
1315
- id: "logo",
1316
- sx: {
1317
- cursor: 'pointer',
1318
- color: 'primary'
1319
- }
1320
- }))), (mode == null || mode == 'remote') && /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1321
- href: "https://carbonplan.org",
1322
- "aria-label": "CarbonPlan Homepage",
1323
- sx: {
1324
- display: 'block'
1325
- }
1326
- }, /*#__PURE__*/React__default['default'].createElement(Logo, {
1327
- sx: {
1328
- cursor: 'pointer',
1329
- color: 'primary'
1330
- }
1331
- })))), /*#__PURE__*/React__default['default'].createElement(Column, {
1332
- start: [4, 9],
1333
- width: [2, 2],
1334
- dr: 1,
1335
- sx: {
1336
- display: [status ? 'flex' : 'none', 'flex', 'flex', 'flex'],
1337
- alignItems: 'center'
1338
- }
1339
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1340
- sx: {
1341
- fontSize: [1, 2, 3],
1342
- position: 'relative',
1343
- top: ['-2px', '-3px', '-3px']
1344
- }
1345
- }, status ? "(" + status + ")" : '')), /*#__PURE__*/React__default['default'].createElement(Column, {
1346
- start: [status ? 6 : 4, 6, 11, 11],
1347
- width: [status ? 1 : 3, 3, 2, 2],
1348
- sx: {
1349
- zIndex: 5000
1350
- }
1351
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
1352
- sx: {
1353
- justifyContent: 'flex-end'
1354
- }
1355
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
1356
- sx: {
1357
- mr: '18px',
1358
- gap: '18px',
1359
- opacity: expanded ? 0 : 1,
1360
- transition: 'opacity 0.15s',
1361
- justifyContent: 'space-between',
1362
- alignItems: 'center'
1363
- }
1364
- }, menuItems), /*#__PURE__*/React__default['default'].createElement(Menu, {
1365
- sx: {
1366
- mr: ['-2px']
1367
- },
1368
- value: expanded,
1369
- onClick: toggle
1370
- }))), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1371
- sx: {
1372
- opacity: expanded ? 1 : 0,
1373
- pointerEvents: expanded ? 'all' : 'none',
1374
- position: 'fixed',
1375
- top: '0px',
1376
- right: '0px',
1377
- bottom: '0px',
1378
- minWidth: '0px',
1379
- maxHeight: '100vh',
1380
- width: '100vw',
1381
- backgroundColor: 'background',
1382
- zIndex: 4000,
1383
- pt: ['79px'],
1384
- transition: 'opacity 0.25s'
1385
- }
1386
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Container, null, /*#__PURE__*/React__default['default'].createElement(Row, null, /*#__PURE__*/React__default['default'].createElement(Column, {
1387
- start: [2, 4, 7, 7],
1388
- width: [5, 4, 5, 5]
1389
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1390
- as: "nav",
1391
- sx: {
1392
- display: expanded ? 'inherit' : 'none',
1393
- mt: [5, 5, 5, 6]
1394
- }
1395
- }, /*#__PURE__*/React__default['default'].createElement(NavGroup, {
1396
- links: links,
1397
- nav: nav,
1398
- mode: mode,
1399
- setExpanded: setExpanded
1400
- })))))));
1401
- };
1402
-
1403
- var Monogram = function Monogram(_ref) {
1404
- var props = _extends({}, _ref);
1405
-
1406
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
1407
- as: "svg",
1408
- width: "80",
1409
- stroke: "none",
1410
- fill: "currentColor",
1411
- viewBox: "0 0 32 32"
1412
- }, props), /*#__PURE__*/React__default['default'].createElement("path", {
1413
- d: "M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z"
1414
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1415
- d: "M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4"
1416
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1417
- d: "M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15"
1418
- }));
1419
- };
1420
-
1421
- var Footer = function Footer() {
1422
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1423
- sx: {
1424
- mt: [7, 7, 7, 8],
1425
- mb: [7, 7, 7, 8],
1426
- pb: [2, 1, 0, 0]
1427
- }
1428
- }, /*#__PURE__*/React__default['default'].createElement(Row, {
1429
- sx: {
1430
- mb: [0, 0, 4, 5]
1431
- }
1432
- }, /*#__PURE__*/React__default['default'].createElement(Column, {
1433
- start: [1, 2],
1434
- width: [3, 3]
1435
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1436
- sx: {
1437
- fontSize: [2, 2, 2, 3],
1438
- fontFamily: 'heading',
1439
- letterSpacing: 'mono',
1440
- mb: [2]
1441
- }
1442
- }, "EMAIL"), /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1443
- href: "mailto:hello@carbonplan.org",
1444
- sx: {
1445
- textDecoration: 'none',
1446
- fontSize: [2, 2, 2, 3]
1447
- }
1448
- }, "hello@carbonplan.org"))), /*#__PURE__*/React__default['default'].createElement(Column, {
1449
- start: [5],
1450
- width: [1],
1451
- dl: 1,
1452
- dr: 1,
1453
- sx: {
1454
- display: ['flex', 'none', 'none', 'none'],
1455
- justifyContent: ['center']
1456
- }
1457
- }, /*#__PURE__*/React__default['default'].createElement(Monogram, {
1458
- sx: {
1459
- mt: ['-4px'],
1460
- width: '60px',
1461
- height: '60px'
1462
- }
1463
- })), /*#__PURE__*/React__default['default'].createElement(Column, {
1464
- start: [1, 5, 5, 5],
1465
- width: [3, 3],
1466
- sx: {
1467
- mt: [3, 0, 0, 0]
1468
- }
1469
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1470
- sx: {
1471
- fontSize: [2, 2, 2, 3],
1472
- fontFamily: 'heading',
1473
- letterSpacing: 'mono',
1474
- mb: [2]
1475
- }
1476
- }, "FOLLOW"), /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1477
- href: "https://twitter.com/carbonplanorg",
1478
- sx: {
1479
- textDecoration: 'none',
1480
- fontSize: [2, 2, 2, 3]
1481
- }
1482
- }, "@carbonplanorg"))), /*#__PURE__*/React__default['default'].createElement(Column, {
1483
- start: [1, 9],
1484
- width: [5, 4, 3, 3],
1485
- sx: {
1486
- mt: ['42px', '42px', 0, 0],
1487
- mb: [3, 3, 0, 0]
1488
- }
1489
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1490
- sx: {
1491
- fontSize: [2, 2, 2, 3],
1492
- fontFamily: 'body',
1493
- color: 'secondary'
1494
- }
1495
- }, "CarbonPlan is a registered non-profit public benefit corporation in California with 501(c)(3) status.")))), /*#__PURE__*/React__default['default'].createElement(Row, {
1496
- sx: {
1497
- mb: ['2px'],
1498
- mt: [5, 5, 4]
1499
- }
1500
- }, /*#__PURE__*/React__default['default'].createElement(Column, {
1501
- start: [1, 1, 2, 2],
1502
- width: [3, 2, 3, 3],
1503
- sx: {
1504
- display: 'flex',
1505
- alignItems: ['flex-start', 'flex-start', 'flex-end']
1506
- }
1507
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1508
- sx: {
1509
- bottom: '0px',
1510
- borderStyle: 'solid',
1511
- borderColor: 'muted',
1512
- borderWidth: '0px',
1513
- borderTopWidth: '1px',
1514
- pt: [2]
1515
- }
1516
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1517
- sx: {
1518
- color: 'secondary',
1519
- fontSize: [1, 1, 1, 2],
1520
- fontFamily: 'mono',
1521
- letterSpacing: 'mono'
1522
- }
1523
- }, "(c) 2021 CARBONPLAN"))), /*#__PURE__*/React__default['default'].createElement(Column, {
1524
- start: [4, 3, 5, 5],
1525
- width: [2, 2, 3, 3],
1526
- sx: {
1527
- display: 'flex',
1528
- alignItems: ['flex-start', 'flex-start', 'flex-end'],
1529
- mt: [0, 0, 0, 0]
1530
- }
1531
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1532
- sx: {
1533
- bottom: '0px',
1534
- borderStyle: 'solid',
1535
- borderColor: 'muted',
1536
- borderWidth: '0px',
1537
- borderTopWidth: '1px',
1538
- width: ['100%', 'auto', 'auto', 'auto'],
1539
- pt: [2]
1540
- }
1541
- }, /*#__PURE__*/React__default['default'].createElement(NextLink__default['default'], {
1542
- href: "/terms",
1543
- passHref: true
1544
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1545
- as: "a",
1546
- sx: {
1547
- textDecoration: 'none',
1548
- fontSize: [1, 1, 1, 2],
1549
- color: 'secondary',
1550
- fontFamily: 'mono',
1551
- letterSpacing: 'mono',
1552
- display: 'block'
1553
- }
1554
- }, "READ OUR TERMS")))), /*#__PURE__*/React__default['default'].createElement(Column, {
1555
- start: [5, 7, 9, 9],
1556
- width: [2, 3, 3, 3],
1557
- sx: {
1558
- display: ['none', 'initial', 'initial', 'initial']
1559
- }
1560
- }, /*#__PURE__*/React__default['default'].createElement(Monogram, {
1561
- sx: {
1562
- width: 80,
1563
- height: 80,
1564
- mt: [0, '-10px', 4, 5],
1565
- mb: ['-12px']
1566
- }
1567
- }))));
1568
- };
1569
-
1570
- var Dimmer = function Dimmer(_ref) {
1571
- var sx = _ref.sx,
1572
- props = _objectWithoutPropertiesLoose(_ref, ["sx"]);
1573
-
1574
- var _useColorMode = themeUi.useColorMode(),
1575
- colorMode = _useColorMode[0],
1576
- setColorMode = _useColorMode[1];
1577
-
1578
- var toggle = React.useCallback(function () {
1579
- setColorMode(colorMode === 'light' ? 'dark' : 'light');
1580
- }, [colorMode]);
1581
- return /*#__PURE__*/React__default['default'].createElement(themeUi.IconButton, _extends({
1582
- "aria-label": "Toggle dark mode",
1583
- onClick: toggle,
1584
- role: "checkbox",
1585
- sx: _extends({
1586
- width: 32,
1587
- height: 32,
1588
- display: 'inline-block',
1589
- cursor: 'pointer',
1590
- color: 'secondary'
1591
- }, sx)
1592
- }, props), /*#__PURE__*/React__default['default'].createElement(icons.Sun, {
1593
- sx: {
1594
- strokeWidth: '1.75',
1595
- transition: 'stroke 0.15s',
1596
- '@media (hover: hover) and (pointer: fine)': {
1597
- '&:hover': {
1598
- stroke: 'primary'
1599
- }
1600
- }
1601
- }
1602
- }));
1603
- };
1604
-
1605
- var GitSha = function GitSha() {
1606
- var sha = process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA;
1607
- var owner = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER;
1608
- var slug = process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG;
1609
-
1610
- var _useThemeUI = themeUi.useThemeUI(),
1611
- theme = _useThemeUI.theme;
1612
-
1613
- var color = theme.rawColors.secondary;
1614
-
1615
- if (sha && owner && slug) {
1616
- var shortSha = sha.substring(0, 7);
1617
- var href = 'https://github.com/' + owner + '/' + slug + '/tree/' + sha;
1618
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1619
- sx: {
1620
- display: 'inline-block',
1621
- width: '87px'
1622
- }
1623
- }, /*#__PURE__*/React__default['default'].createElement(Separator, {
1624
- color: color
1625
- }), /*#__PURE__*/React__default['default'].createElement(themeUi.Link, {
1626
- href: href,
1627
- sx: {
1628
- whiteSpace: 'nowrap',
1629
- display: 'inline-block',
1630
- ml: [2],
1631
- fontFamily: 'mono',
1632
- letterSpacing: 'body',
1633
- color: color,
1634
- fontSize: [1],
1635
- textTransform: 'uppercase',
1636
- textDecoration: 'none'
1637
- }
1638
- }, shortSha));
1639
- } else {
1640
- // fallback
1641
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1642
- sx: {
1643
- display: 'inline-block',
1644
- width: '87px'
1645
- }
1646
- }, /*#__PURE__*/React__default['default'].createElement(Separator, {
1647
- color: color
1648
- }), /*#__PURE__*/React__default['default'].createElement(themeUi.Text, {
1649
- sx: {
1650
- whiteSpace: 'nowrap',
1651
- display: 'inline-block',
1652
- ml: [2],
1653
- fontFamily: 'mono',
1654
- letterSpacing: 'body',
1655
- color: color,
1656
- fontSize: [1],
1657
- textTransform: 'uppercase'
1658
- }
1659
- }, color));
1660
- }
1661
- };
1662
-
1663
- var Separator = function Separator(_ref) {
1664
- var color = _ref.color;
1665
- return /*#__PURE__*/React__default['default'].createElement("svg", {
1666
- fill: color,
1667
- opacity: "0.8",
1668
- viewBox: "0 0 24 24",
1669
- width: "24",
1670
- height: "24"
1671
- }, /*#__PURE__*/React__default['default'].createElement("circle", {
1672
- r: 5,
1673
- cx: 19,
1674
- cy: 19
1675
- }));
1676
- };
1677
-
1678
- var Value = function Value(_ref) {
1679
- var mode = _ref.mode;
1680
-
1681
- var _useState = React.useState(init(mode)),
1682
- display = _useState[0],
1683
- setDisplay = _useState[1];
1684
-
1685
- React.useEffect(function () {
1686
- if (mode === 'mouse') {
1687
- var setFromEvent = function setFromEvent(e) {
1688
- var x = format(e.clientX, 4);
1689
- var y = format(e.clientY, 4);
1690
- setDisplay("X,Y: " + x + "," + y);
1691
- };
1692
-
1693
- window.addEventListener('mousemove', setFromEvent);
1694
- return function () {
1695
- window.removeEventListener('mousemove', setFromEvent);
1696
- };
1697
- }
1698
-
1699
- if (mode === 'scroll') {
1700
- var _setFromEvent = function _setFromEvent(e) {
1701
- var y = scrollFraction(window);
1702
- setDisplay("SCROLL: 0." + format((y * 100).toFixed(0), 2));
1703
- };
1704
-
1705
- window.addEventListener('scroll', _setFromEvent);
1706
- return function () {
1707
- window.removeEventListener('scroll', _setFromEvent);
1708
- };
1709
- }
1710
- }, []);
1711
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Text, {
1712
- sx: {
1713
- whiteSpace: 'nowrap',
1714
- display: 'inline-block',
1715
- mr: '-6px',
1716
- fontFamily: 'mono',
1717
- letterSpacing: 'body',
1718
- color: 'secondary',
1719
- fontSize: [1],
1720
- textTransform: 'uppercase'
1721
- }
1722
- }, display);
1723
- };
1724
-
1725
- var Metadata = function Metadata(_ref2) {
1726
- var mode = _ref2.mode;
1727
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1728
- sx: {
1729
- userSelect: 'none',
1730
- position: 'fixed',
1731
- bottom: '42px',
1732
- right: '24px',
1733
- transformOrigin: 'right',
1734
- transform: 'rotate(90deg)',
1735
- display: ['none', 'none', 'initial']
1736
- }
1737
- }, /*#__PURE__*/React__default['default'].createElement(Value, {
1738
- mode: mode
1739
- }), /*#__PURE__*/React__default['default'].createElement(GitSha, null));
1740
- };
1741
-
1742
- function init(mode) {
1743
- if (mode === 'mouse') {
1744
- return "X,Y: " + format(0, 4) + "," + format(0, 4);
1745
- } else if (mode === 'scroll') {
1746
- return "SCROLL: 0." + format(0 .toFixed(0), 2);
1747
- } else {
1748
- return mode;
1749
- }
1750
- }
1751
-
1752
- function format(num, pad) {
1753
- return num.toString().padStart(pad, '0');
1754
- }
1755
-
1756
- function scrollFraction(window, documnt) {
1757
- return Math.min(window.scrollY / (document.body.offsetHeight - 770), 0.99);
1758
- }
1759
-
1760
- var fade = react.keyframes({
1761
- from: {
1762
- opacity: 0
1763
- },
1764
- to: {
1765
- opacity: 1
1766
- }
1767
- });
1768
-
1769
- var FadeIn = function FadeIn(_ref) {
1770
- var _ref$duration = _ref.duration,
1771
- duration = _ref$duration === void 0 ? 300 : _ref$duration,
1772
- _ref$delay = _ref.delay,
1773
- delay = _ref$delay === void 0 ? 0 : _ref$delay,
1774
- children = _ref.children,
1775
- delegated = _objectWithoutPropertiesLoose(_ref, ["duration", "delay", "children"]);
1776
-
1777
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({}, delegated, {
1778
- sx: {
1779
- animationDuration: duration + 'ms',
1780
- animationDelay: delay + 'ms',
1781
- animationName: fade.toString(),
1782
- animationFillMode: 'backwards'
1783
- }
1784
- }), children);
1785
- };
1786
-
1787
- var getScrollbarWidth = function getScrollbarWidth(document) {
1788
- var outer = document.createElement('div');
1789
- outer.style.visibility = 'hidden';
1790
- outer.style.width = '100px';
1791
- document.body.appendChild(outer);
1792
- outer.style.overflow = 'scroll';
1793
- var inner = document.createElement('div');
1794
- inner.style.width = '100%';
1795
- outer.appendChild(inner);
1796
- var delta = outer.offsetWidth - inner.offsetWidth;
1797
- outer.parentNode.removeChild(outer);
1798
- return delta;
1799
- };
1800
-
1801
- var Scrollbar = function Scrollbar() {
1802
- React.useEffect(function () {
1803
- if (typeof document !== 'undefined') {
1804
- var delta = getScrollbarWidth(document);
1805
-
1806
- if (delta > 0) {
1807
- document.body.classList.add('custom-scrollbar');
1808
- document.getElementsByTagName('html')[0].classList.add('custom-scrollbar');
1809
- }
1810
- }
1811
- }, []);
1812
- return null;
1813
- };
1814
-
1815
- var Guide = function Guide(_ref) {
1816
- var _ref$color = _ref.color,
1817
- color = _ref$color === void 0 ? 'muted' : _ref$color;
1818
-
1819
- var _useState = React.useState(false),
1820
- display = _useState[0],
1821
- setDisplay = _useState[1];
1822
-
1823
- React.useEffect(function () {
1824
- function handler(event) {
1825
- var key = event.key,
1826
- metaKey = event.metaKey;
1827
-
1828
- if (key === ';' && metaKey) {
1829
- setDisplay(function (prev) {
1830
- return !prev;
1831
- });
1832
- }
1833
- }
1834
-
1835
- document.addEventListener('keydown', handler);
1836
- return function () {
1837
- document.removeEventListener('keydown', handler);
1838
- };
1839
- }, []);
1840
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1841
- sx: {
1842
- position: 'fixed',
1843
- width: '100%',
1844
- left: 0,
1845
- top: 0,
1846
- zIndex: color === 'teal' ? 5000 : -1,
1847
- pointerEvents: 'none',
1848
- display: display ? 'initial' : 'none'
1849
- }
1850
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Container, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1851
- sx: {
1852
- display: ['none', 'none', 'initial', 'initial']
1853
- }
1854
- }, /*#__PURE__*/React__default['default'].createElement(GuideColumns, {
1855
- indices: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1856
- color: color
1857
- })), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1858
- sx: {
1859
- display: ['none', 'initial', 'none', 'none']
1860
- }
1861
- }, /*#__PURE__*/React__default['default'].createElement(GuideColumns, {
1862
- indices: [1, 2, 3, 4, 5, 6, 7, 8],
1863
- color: color
1864
- })), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1865
- sx: {
1866
- display: ['initial', 'none', 'none', 'none']
1867
- }
1868
- }, /*#__PURE__*/React__default['default'].createElement(GuideColumns, {
1869
- indices: [1, 2, 3, 4, 5, 6],
1870
- color: color
1871
- }))));
1872
- };
1873
-
1874
- var colorCycle = ['red', 'orange', 'yellow', 'green', 'teal', 'blue', 'purple', 'pink'];
1875
-
1876
- function GuideColumns(_ref2) {
1877
- var indices = _ref2.indices,
1878
- color = _ref2.color;
1879
- var sx = {
1880
- outerGuideColumn: {
1881
- borderStyle: 'solid',
1882
- borderWidth: '0px',
1883
- borderLeftWidth: color === 'teal' ? '0px' : '1px',
1884
- borderRightWidth: color === 'teal' ? '0px' : '1px',
1885
- opacity: color == 'teal' ? 0.4 : 1
1886
- },
1887
- innerGuideColumn: {
1888
- borderStyle: 'solid',
1889
- borderWidth: '0px',
1890
- borderLeftWidth: '0px',
1891
- borderRightWidth: '0px',
1892
- opacity: color == 'teal' ? 0.4 : 1
1893
- }
1894
- };
1895
- return /*#__PURE__*/React__default['default'].createElement(Row, null, indices.map(function (i) {
1896
- return /*#__PURE__*/React__default['default'].createElement(Column, {
1897
- key: i,
1898
- start: [i],
1899
- width: [1, 1],
1900
- dl: 0.5,
1901
- dr: 0.5,
1902
- sx: _extends({
1903
- bg: color === 'teal' ? 'teal' : 'transparent',
1904
- height: '100vh'
1905
- }, sx.innerGuideColumn)
1906
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
1907
- sx: _extends({
1908
- mx: ['12px', 3, 3, 4],
1909
- bg: color === 'teal' ? 'background' : 'transparent',
1910
- height: '100%',
1911
- borderLeftColor: color === 'rainbow' ? colorCycle[i % 8] : 'muted',
1912
- borderRightColor: color === 'rainbow' ? colorCycle[i % 8] : 'muted'
1913
- }, sx.outerGuideColumn)
1914
- }));
1915
- }));
1916
- }
1917
-
1918
- var Settings = function Settings(_ref) {
1919
- var value = _ref.value,
1920
- sx = _ref.sx,
1921
- props = _objectWithoutPropertiesLoose(_ref, ["value", "sx"]);
1922
-
1923
- return /*#__PURE__*/React__default['default'].createElement(themeUi.IconButton, _extends({
1924
- sx: _extends({
1925
- cursor: 'pointer',
1926
- fill: 'none',
1927
- strokeWidth: '2px',
1928
- stroke: 'text',
1929
- '.paren': {
1930
- opacity: '0'
1931
- },
1932
- '@media (hover: hover) and (pointer: fine)': {
1933
- '&:hover .paren': {
1934
- opacity: '1'
1935
- }
1936
- }
1937
- }, sx),
1938
- "aria-label": "Toggle Menu"
1939
- }, props), !value && /*#__PURE__*/React__default['default'].createElement("svg", {
1940
- style: {
1941
- width: '50px',
1942
- height: '30px',
1943
- transform: 'scale(2)',
1944
- marginTop: '-3px'
1945
- },
1946
- xmlns: "http://www.w3.org/2000/svg",
1947
- viewBox: "0 0 68 36"
1948
- }, /*#__PURE__*/React__default['default'].createElement("line", {
1949
- x1: "24",
1950
- y1: "2.1",
1951
- x2: "24",
1952
- y2: "6.1"
1953
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1954
- x1: "24",
1955
- y1: "24.1",
1956
- x2: "24",
1957
- y2: "33.9"
1958
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1959
- x1: "44",
1960
- y1: "2.1",
1961
- x2: "44",
1962
- y2: "12.1"
1963
- }), /*#__PURE__*/React__default['default'].createElement("line", {
1964
- x1: "44",
1965
- y1: "30.1",
1966
- x2: "44",
1967
- y2: "33.9"
1968
- }), /*#__PURE__*/React__default['default'].createElement("circle", {
1969
- cx: "24",
1970
- cy: "15.1",
1971
- r: "5"
1972
- }), /*#__PURE__*/React__default['default'].createElement("circle", {
1973
- cx: "44",
1974
- cy: "21.1",
1975
- r: "5"
1976
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1977
- style: {
1978
- transition: 'all 0.2s'
1979
- },
1980
- className: "paren",
1981
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
1982
- }), /*#__PURE__*/React__default['default'].createElement("path", {
1983
- style: {
1984
- transition: 'all 0.2s'
1985
- },
1986
- className: "paren",
1987
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
1988
- })), value && /*#__PURE__*/React__default['default'].createElement("svg", {
1989
- style: {
1990
- width: '50px',
1991
- height: '30px',
1992
- transform: 'scale(2)',
1993
- marginTop: '-3px'
1994
- },
1995
- xmlns: "http://www.w3.org/2000/svg",
1996
- viewBox: "0 0 68 36"
1997
- }, /*#__PURE__*/React__default['default'].createElement("line", {
1998
- x1: "50.85",
1999
- y1: "29.79",
2000
- x2: "17.15",
2001
- y2: "6.21"
2002
- }), /*#__PURE__*/React__default['default'].createElement("line", {
2003
- x1: "17.15",
2004
- y1: "29.79",
2005
- x2: "50.85",
2006
- y2: "6.21"
2007
- }), /*#__PURE__*/React__default['default'].createElement("path", {
2008
- style: {
2009
- transition: 'all 0.2s'
2010
- },
2011
- className: "paren",
2012
- d: "M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"
2013
- }), /*#__PURE__*/React__default['default'].createElement("path", {
2014
- style: {
2015
- transition: 'all 0.2s'
2016
- },
2017
- className: "paren",
2018
- d: "M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"
2019
- })));
2020
- };
2021
-
2022
- var Layout = function Layout(_ref) {
2023
- var title = _ref.title,
2024
- description = _ref.description,
2025
- card = _ref.card,
2026
- children = _ref.children,
2027
- status = _ref.status,
2028
- nav = _ref.nav,
2029
- settings = _ref.settings,
2030
- _ref$footer = _ref.footer,
2031
- footer = _ref$footer === void 0 ? true : _ref$footer,
2032
- _ref$header = _ref.header,
2033
- header = _ref$header === void 0 ? true : _ref$header,
2034
- _ref$metadata = _ref.metadata,
2035
- metadata = _ref$metadata === void 0 ? 'mouse' : _ref$metadata,
2036
- _ref$links = _ref.links,
2037
- links = _ref$links === void 0 ? 'remote' : _ref$links,
2038
- _ref$dimmer = _ref.dimmer,
2039
- dimmer = _ref$dimmer === void 0 ? 'bottom' : _ref$dimmer,
2040
- _ref$guide = _ref.guide,
2041
- guide = _ref$guide === void 0 ? true : _ref$guide,
2042
- _ref$scrollbar = _ref.scrollbar,
2043
- scrollbar = _ref$scrollbar === void 0 ? true : _ref$scrollbar,
2044
- _ref$fade = _ref.fade,
2045
- fade = _ref$fade === void 0 ? true : _ref$fade,
2046
- _ref$container = _ref.container,
2047
- container = _ref$container === void 0 ? true : _ref$container;
2048
- var content = children;
2049
-
2050
- if (fade) {
2051
- content = /*#__PURE__*/React__default['default'].createElement(FadeIn, {
2052
- duration: 250
2053
- }, content);
2054
- }
2055
-
2056
- if (container) {
2057
- content = /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2058
- sx: {
2059
- mb: [8, 8, 9, 10]
2060
- }
2061
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Container, null, content));
2062
- }
2063
-
2064
- var _useThemeUI = themeUi.useThemeUI(),
2065
- theme = _useThemeUI.theme;
2066
-
2067
- React.useEffect(function () {
2068
- if (!theme) return;
2069
-
2070
- var handler = function handler(e) {
2071
- if (e.matches && settings != null && settings.value && settings != null && settings.onClick) {
2072
- settings == null ? void 0 : settings.onClick();
2073
- }
2074
- };
2075
-
2076
- var query = window.matchMedia("(min-width: " + theme.breakpoints[1] + ")");
2077
- query.onchange = handler;
2078
- return function () {
2079
- query.onchange = null;
2080
- };
2081
- }, [theme == null ? void 0 : theme.breakpoints, settings == null ? void 0 : settings.value, settings == null ? void 0 : settings.onClick]);
2082
- var menuItems = [/*#__PURE__*/React__default['default'].createElement(Dimmer, {
2083
- key: "dimmer",
2084
- sx: {
2085
- color: 'primary',
2086
- mt: '-2px',
2087
- display: ['block', 'block', dimmer === 'top' ? 'block' : 'none', dimmer === 'top' ? 'block' : 'none']
2088
- }
2089
- })];
2090
-
2091
- if (settings) {
2092
- menuItems.push( /*#__PURE__*/React__default['default'].createElement(Settings, _extends({
2093
- key: "settings",
2094
- sx: {
2095
- mr: ['2px'],
2096
- display: ['inherit', 'inherit', 'none', 'none']
2097
- }
2098
- }, settings)));
2099
- }
2100
-
2101
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, guide && /*#__PURE__*/React__default['default'].createElement(Guide, {
2102
- color: guide
2103
- }), scrollbar && /*#__PURE__*/React__default['default'].createElement(Scrollbar, null), /*#__PURE__*/React__default['default'].createElement(Meta, {
2104
- card: card,
2105
- description: description,
2106
- title: title
2107
- }), /*#__PURE__*/React__default['default'].createElement(themeUi.Flex, {
2108
- sx: {
2109
- flexDirection: 'column',
2110
- minHeight: '100vh'
2111
- }
2112
- }, header && /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2113
- as: "header",
2114
- sx: {
2115
- width: '100%',
2116
- borderStyle: 'solid',
2117
- borderColor: 'muted',
2118
- borderWidth: '0px',
2119
- borderBottomWidth: '1px',
2120
- position: 'sticky',
2121
- top: 0,
2122
- bg: 'background',
2123
- height: '56px',
2124
- zIndex: 2000
2125
- }
2126
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Container, null, /*#__PURE__*/React__default['default'].createElement(Header, {
2127
- mode: links,
2128
- status: status,
2129
- nav: nav,
2130
- menuItems: menuItems
2131
- }))), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2132
- sx: {
2133
- width: '100%',
2134
- flex: '1 1 auto'
2135
- }
2136
- }, content), footer && /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2137
- as: "footer",
2138
- sx: {
2139
- width: '100%',
2140
- borderStyle: 'solid',
2141
- borderColor: 'muted',
2142
- borderWidth: '0px',
2143
- borderTopWidth: '1px'
2144
- }
2145
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Container, null, /*#__PURE__*/React__default['default'].createElement(Footer, null))), dimmer === 'bottom' && /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2146
- sx: {
2147
- display: ['none', 'none', 'initial', 'initial'],
2148
- position: ['fixed'],
2149
- right: [13],
2150
- bottom: [17, 17, 15, 15]
2151
- }
2152
- }, /*#__PURE__*/React__default['default'].createElement(Dimmer, null)), metadata && /*#__PURE__*/React__default['default'].createElement(Metadata, {
2153
- mode: metadata
2154
- })));
2155
- };
2156
-
2157
- var Custom404 = function Custom404() {
2158
- return /*#__PURE__*/React__default['default'].createElement(Layout, {
2159
- footer: false,
2160
- title: '404 / carbonplan'
2161
- }, /*#__PURE__*/React__default['default'].createElement(Row, {
2162
- sx: {
2163
- mb: [5, 0, 0],
2164
- pt: [0, 0, 6]
2165
- }
2166
- }, /*#__PURE__*/React__default['default'].createElement(Column, {
2167
- start: [1, 1, 3, 3],
2168
- width: [6, 4, 4, 4]
2169
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Styled.h1, null, "Oops!"), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2170
- sx: {
2171
- fontSize: [4, 4, 4, 5],
2172
- lineHeight: 'h3',
2173
- mt: [3, 4, 4],
2174
- mb: [2, 3, 3],
2175
- maxWidth: ['90%', '90%', '400px']
2176
- }
2177
- }, "Sorry but we can't seem to find the page you are looking for."), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2178
- sx: {
2179
- color: 'secondary',
2180
- fontFamily: 'mono',
2181
- letterSpacing: 'mono',
2182
- fontSize: [2, 2, 2, 3],
2183
- mt: [4, 5, 5]
2184
- }
2185
- }, "ERROR CODE 404")), /*#__PURE__*/React__default['default'].createElement(Column, {
2186
- start: [2, 5, 7, 7],
2187
- width: [4, 4, 4, 4]
2188
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2189
- sx: {
2190
- width: ['100%'],
2191
- mt: [2, 4, 4, 5],
2192
- fill: 'primary'
2193
- }
2194
- }, /*#__PURE__*/React__default['default'].createElement(emoji.PoopSad, {
2195
- sx: {
2196
- width: '100%',
2197
- height: 'auto'
2198
- }
2199
- })))));
2200
- };
2201
-
2202
- var Expander = function Expander(_ref) {
2203
- var value = _ref.value,
2204
- id = _ref.id,
2205
- onClick = _ref.onClick,
2206
- sx = _ref.sx;
2207
- return /*#__PURE__*/React__default['default'].createElement(themeUi.IconButton, {
2208
- onClick: onClick,
2209
- id: id,
2210
- role: "checkbox",
2211
- "aria-checked": value,
2212
- "aria-label": "Expand",
2213
- sx: _extends({
2214
- display: 'inline-block',
2215
- width: 24,
2216
- height: 24,
2217
- p: [1],
2218
- cursor: 'pointer',
2219
- fill: 'secondary',
2220
- stroke: 'secondary',
2221
- '@media (hover: hover) and (pointer: fine)': {
2222
- '&:hover': {
2223
- fill: 'primary',
2224
- stroke: 'primary'
2225
- }
2226
- }
2227
- }, sx)
2228
- }, /*#__PURE__*/React__default['default'].createElement("svg", {
2229
- viewBox: "0 0 16 16"
2230
- }, /*#__PURE__*/React__default['default'].createElement("path", {
2231
- d: "M8,0 V16 M0,8 H16",
2232
- style: {
2233
- strokeWidth: 2,
2234
- transition: '0.25s all',
2235
- transformOrigin: '8px 8px',
2236
- transform: value ? 'rotate(45deg)' : ''
2237
- }
2238
- })));
2239
- };
2240
-
2241
- var Tag = function Tag(_ref) {
2242
- var label = _ref.label,
2243
- value = _ref.value,
2244
- sx = _ref.sx,
2245
- children = _ref.children,
2246
- props = _objectWithoutPropertiesLoose(_ref, ["label", "value", "sx", "children"]);
2247
-
2248
- var color = sx && sx.color ? sx.color : 'primary';
2249
- var isClickable = props && (props.onClick || props.onDoubleClick);
2250
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
2251
- as: isClickable ? 'button' : 'span',
2252
- role: "checkbox",
2253
- "aria-checked": value,
2254
- "aria-label": label,
2255
- sx: _extends({
2256
- display: 'inline-block',
2257
- fontSize: [1, 1, 1, 2],
2258
- fontFamily: 'mono',
2259
- letterSpacing: 'mono',
2260
- cursor: isClickable ? 'pointer' : 'inherit',
2261
- color: color,
2262
- backgroundColor: 'transparent',
2263
- borderStyle: 'solid',
2264
- borderColor: color,
2265
- lineHeight: 'body',
2266
- borderWidth: '0px',
2267
- borderBottomWidth: '1px',
2268
- textTransform: 'uppercase',
2269
- userSelect: 'none',
2270
- transition: 'opacity 0.05s',
2271
- pt: ['1px'],
2272
- pb: ['2px'],
2273
- px: [0],
2274
- m: [0],
2275
- opacity: value == null || value ? 1 : color == 'primary' ? 0.24 : 0.33
2276
- }, sx)
2277
- }, props), children);
2278
- };
2279
-
2280
- var sx$1 = {
2281
- label: {
2282
- fontFamily: 'mono',
2283
- letterSpacing: 'mono',
2284
- fontSize: [1, 1, 1, 2],
2285
- color: 'secondary',
2286
- userSelect: 'none',
2287
- textTransform: 'uppercase'
2288
- }
2289
- };
2290
-
2291
- var duplicateOptions = function duplicateOptions(options, defaultValue, overrides) {
2292
- if (overrides === void 0) {
2293
- overrides = {};
2294
- }
2295
-
2296
- return Object.keys(options).reduce(function (o, key) {
2297
- var _Object$assign;
2298
-
2299
- return Object.assign(o, (_Object$assign = {}, _Object$assign[key] = overrides[key] || defaultValue, _Object$assign));
2300
- }, {});
2301
- };
2302
-
2303
- var isAll = function isAll(option) {
2304
- return Object.keys(option).filter(function (d) {
2305
- return option[d];
2306
- }).length == Object.keys(option).length;
2307
- };
2308
-
2309
- var updateValues = function updateValues(_ref) {
2310
- var values = _ref.values,
2311
- multiSelect = _ref.multiSelect,
2312
- setValues = _ref.setValues,
2313
- value = _ref.value;
2314
- var isAllAlreadySelected = isAll(values);
2315
- var isSelectingAll = value === 'all';
2316
- var updatedToggle;
2317
-
2318
- if (multiSelect) {
2319
- if (isSelectingAll && !isAllAlreadySelected) {
2320
- // select all
2321
- updatedToggle = duplicateOptions(values, true);
2322
- } else if (isSelectingAll && isAllAlreadySelected) {
2323
- // deselect all
2324
- updatedToggle = duplicateOptions(values, false);
2325
- } else {
2326
- var _extends2;
2327
-
2328
- // de/select value, inherit other values
2329
- updatedToggle = _extends({}, values, (_extends2 = {}, _extends2[value] = !values[value], _extends2));
2330
- }
2331
- } else {
2332
- if (isSelectingAll && !isAllAlreadySelected) {
2333
- // select all
2334
- updatedToggle = duplicateOptions(values, true);
2335
- } else if (isSelectingAll && isAllAlreadySelected) ; else {
2336
- var _duplicateOptions;
2337
-
2338
- // select only value
2339
- updatedToggle = duplicateOptions(values, false, (_duplicateOptions = {}, _duplicateOptions[value] = true, _duplicateOptions));
2340
- }
2341
- }
2342
-
2343
- if (updatedToggle) {
2344
- setValues(updatedToggle);
2345
- }
2346
- };
2347
-
2348
- var Filter = function Filter(_ref2) {
2349
- var values = _ref2.values,
2350
- setValues = _ref2.setValues,
2351
- label = _ref2.label,
2352
- colors = _ref2.colors,
2353
- _ref2$showAll = _ref2.showAll,
2354
- showAll = _ref2$showAll === void 0 ? false : _ref2$showAll,
2355
- _ref2$multiSelect = _ref2.multiSelect,
2356
- multiSelect = _ref2$multiSelect === void 0 ? false : _ref2$multiSelect,
2357
- props = _objectWithoutPropertiesLoose(_ref2, ["values", "setValues", "label", "colors", "showAll", "multiSelect"]);
2358
-
2359
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, props, label && /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2360
- sx: sx$1.label
2361
- }, label), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2362
- sx: {
2363
- mt: label ? [3] : 0
2364
- }
2365
- }, showAll && /*#__PURE__*/React__default['default'].createElement(Tag, {
2366
- onClick: function onClick() {
2367
- return updateValues({
2368
- values: values,
2369
- multiSelect: multiSelect,
2370
- setValues: setValues,
2371
- value: 'all'
2372
- });
2373
- },
2374
- value: isAll(values),
2375
- sx: {
2376
- mr: [2]
2377
- }
2378
- }, "All"), Object.keys(values).map(function (d, i) {
2379
- return /*#__PURE__*/React__default['default'].createElement(Tag, {
2380
- onClick: function onClick() {
2381
- return updateValues({
2382
- values: values,
2383
- multiSelect: multiSelect,
2384
- setValues: setValues,
2385
- value: d
2386
- });
2387
- },
2388
- onDoubleClick: function onDoubleClick() {
2389
- return updateValues({
2390
- values: values,
2391
- multiSelect: false,
2392
- setValues: setValues,
2393
- value: d
2394
- });
2395
- },
2396
- key: i,
2397
- value: values[d],
2398
- sx: {
2399
- width: 'max-content',
2400
- color: colors ? colors[d] : 'primary',
2401
- mr: [2],
2402
- mb: [1]
2403
- }
2404
- }, d);
2405
- })));
2406
- };
2407
-
2408
- var sizes = {
2409
- xs: [1],
2410
- sm: [3],
2411
- md: [5],
2412
- lg: [7],
2413
- xl: [9]
2414
- };
2415
-
2416
- var Group = function Group(_ref) {
2417
- var children = _ref.children,
2418
- _ref$direction = _ref.direction,
2419
- direction = _ref$direction === void 0 ? 'vertical' : _ref$direction,
2420
- _ref$spacing = _ref.spacing,
2421
- spacing = _ref$spacing === void 0 ? 'md' : _ref$spacing;
2422
- var marginValue;
2423
-
2424
- if (typeof spacing === 'string') {
2425
- marginValue = sizes[spacing];
2426
- } else if (typeof spacing === 'number') {
2427
- marginValue = [spacing];
2428
- } else if (Array.isArray(spacing) && spacing.every(function (el) {
2429
- return typeof el === 'number';
2430
- })) {
2431
- marginValue = spacing;
2432
- }
2433
-
2434
- if (!marginValue) {
2435
- throw new Error('Invalid spacing size. Must be numeric value(s) or one of xs, sm, md, lg, or xl');
2436
- }
2437
-
2438
- if (!['horizontal', 'vertical'].includes(direction)) {
2439
- throw new Error('Invalid direction value. Must be either horizontal or vertical');
2440
- }
2441
-
2442
- var marginProperty = direction === 'vertical' ? 'mt' : 'ml';
2443
- var additionalStyles = direction === 'horizontal' ? {
2444
- display: 'inline-block'
2445
- } : {};
2446
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, null, React__default['default'].Children.map(children, function (child, i) {
2447
- var _extends2;
2448
-
2449
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2450
- sx: _extends((_extends2 = {}, _extends2[marginProperty] = i > 0 ? marginValue : 0, _extends2), additionalStyles)
2451
- }, child);
2452
- }));
2453
- };
2454
-
2455
- var Input = function Input(_ref, ref) {
2456
- var _extends2;
2457
-
2458
- var _ref$size = _ref.size,
2459
- size = _ref$size === void 0 ? 'sm' : _ref$size,
2460
- inverted = _ref.inverted,
2461
- sx = _ref.sx,
2462
- props = _objectWithoutPropertiesLoose(_ref, ["size", "inverted", "sx"]);
2463
-
2464
- var defaultColor = inverted ? 'secondary' : 'primary';
2465
-
2466
- var styles = _extends((_extends2 = {
2467
- color: defaultColor,
2468
- borderColor: 'secondary',
2469
- borderStyle: 'solid',
2470
- borderWidth: '0px',
2471
- borderBottomWidth: '1px',
2472
- borderRadius: '0px',
2473
- transition: 'border 0.15s'
2474
- }, _extends2["borderBottomWidth"] = '1px', _extends2.width = 'calc(min(15ch, 100%))', _extends2.p = [0], _extends2.py = ['2px'], _extends2['input::-webkit-outer-spin-button'] = {
2475
- WebkitAppearance: 'none',
2476
- margin: 0
2477
- }, _extends2['input::-webkit-inner-spin-button'] = {
2478
- WebkitAppearance: 'none',
2479
- margin: 0
2480
- }, _extends2[':focus'] = {
2481
- borderColor: 'primary'
2482
- }, _extends2[':focus-visible'] = {
2483
- outline: 'none !important',
2484
- background: 'none !important'
2485
- }, _extends2), getSizeStyles(size), sx);
2486
-
2487
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Input, _extends({}, props, {
2488
- ref: ref,
2489
- sx: styles
2490
- }));
2491
- };
2492
-
2493
- var input = React.forwardRef(Input);
2494
-
2495
- var getProps = function getProps(test) {
2496
- return function (props) {
2497
- var next = {};
2498
-
2499
- for (var key in props) {
2500
- if (test(key || '')) next[key] = props[key];
2501
- }
2502
-
2503
- return next;
2504
- };
2505
- };
2506
-
2507
- var Select = function Select(_ref) {
2508
- var _extends2;
2509
-
2510
- var children = _ref.children,
2511
- _ref$size = _ref.size,
2512
- size = _ref$size === void 0 ? 'sm' : _ref$size,
2513
- sx = _ref.sx,
2514
- sxSelect = _ref.sxSelect,
2515
- props = _objectWithoutPropertiesLoose(_ref, ["children", "size", "sx", "sxSelect"]);
2516
-
2517
- var color = sx && sx.color ? sx.color : 'primary';
2518
- var sizeStyles = getSizeStyles(size);
2519
- var ref = React.useRef(null);
2520
- var _onChange = props.onChange;
2521
- var omitOnChange = getProps(function (k) {
2522
- return k !== 'onChange';
2523
- })(props);
2524
-
2525
- if (!['xs', 'sm', 'md'].includes(size)) {
2526
- throw new Error('Size must be xs, sm, or md');
2527
- }
2528
-
2529
- var pr, height, width, ml, top;
2530
-
2531
- if (size === 'xs') {
2532
- height = [14, 14, 14, 16];
2533
- width = [14, 14, 14, 14];
2534
- top = ['1px'];
2535
- ml = ['-14px', '-14px', '-14px', '-16px'];
2536
- }
2537
-
2538
- if (size === 'sm') {
2539
- height = [15, 15, 15, 20];
2540
- width = [15, 15, 15, 20];
2541
- top = ['1px'];
2542
- ml = ['-16px', '-16px', '-16px', '-20px'];
2543
- }
2544
-
2545
- if (size === 'md') {
2546
- height = [20, 20, 20, 20];
2547
- width = [20, 20, 20, 20];
2548
- top = ['2px'];
2549
- ml = ['-20px', '-20px', '-20px', '-20px'];
2550
- }
2551
-
2552
- pr = width.map(function (d) {
2553
- return d + 12;
2554
- });
2555
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2556
- sx: _extends({
2557
- display: 'inline-block'
2558
- }, sx)
2559
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
2560
- as: "select",
2561
- ref: ref,
2562
- onChange: function onChange(e) {
2563
- ref.current.blur();
2564
- if (_onChange) _onChange(e);
2565
- },
2566
- sx: _extends({}, sizeStyles, (_extends2 = {
2567
- lineHeight: 'normal',
2568
- cursor: 'pointer',
2569
- WebkitAppearance: 'none',
2570
- MozAppearance: 'none',
2571
- pb: ['5px'],
2572
- bg: 'transparent',
2573
- pr: pr,
2574
- border: 'none',
2575
- borderBottomStyle: 'solid',
2576
- borderBottomWidth: '1px',
2577
- borderBottomColor: 'primary',
2578
- borderRadius: '0px',
2579
- color: 'text',
2580
- width: 'fit-content'
2581
- }, _extends2["color"] = color, _extends2.userSelect = 'none', _extends2['@media (hover: none) and (pointer: coarse)'] = {
2582
- '&:focus-visible': {
2583
- outline: 'none !important',
2584
- background: 'transparent !important'
2585
- }
2586
- }, _extends2), sxSelect)
2587
- }, omitOnChange), children), /*#__PURE__*/React__default['default'].createElement(icons.Arrow, {
2588
- sx: {
2589
- width: width,
2590
- height: height,
2591
- position: 'relative',
2592
- ml: ml,
2593
- top: top,
2594
- fill: 'secondary',
2595
- transform: 'rotate(135deg)',
2596
- pointerEvents: 'none'
2597
- }
2598
- }));
2599
- };
2600
-
2601
- var Slider = function Slider(_ref, ref) {
2602
- var sx = _ref.sx,
2603
- props = _objectWithoutPropertiesLoose(_ref, ["sx"]);
2604
-
2605
- var color = sx && sx.color ? sx.color : 'primary';
2606
-
2607
- var _useThemeUI = themeUi.useThemeUI(),
2608
- colors = _useThemeUI.theme.rawColors;
2609
-
2610
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Slider, _extends({
2611
- ref: ref,
2612
- sx: _extends({
2613
- '&::-webkit-slider-thumb': {
2614
- height: [22, 18, 16],
2615
- width: [22, 18, 16],
2616
- boxShadow: "0 0 0 0px " + colors.secondary,
2617
- transition: 'box-shadow .15s ease'
2618
- },
2619
- '&::-moz-range-thumb': {
2620
- height: [22, 18, 16],
2621
- width: [22, 18, 16],
2622
- boxShadow: "0 0 0 0px " + colors.secondary,
2623
- transition: 'box-shadow .15s ease'
2624
- },
2625
- ':focus-visible': {
2626
- outline: 'none !important',
2627
- background: colors.secondary + " !important"
2628
- },
2629
- ':focus': {
2630
- color: color,
2631
- '&::-webkit-slider-thumb': {
2632
- boxShadow: "0 0 0 4px " + colors.secondary
2633
- },
2634
- '&::-moz-range-thumb': {
2635
- boxShadow: "0 0 0 4px " + colors.secondary
2636
- }
2637
- },
2638
- color: color
2639
- }, sx)
2640
- }, props));
2641
- };
2642
-
2643
- var slider = React.forwardRef(Slider);
2644
-
2645
- var styles$1 = {
2646
- reset: {
2647
- verticalAlign: 'baseline',
2648
- border: 0,
2649
- outline: 0,
2650
- margin: 0,
2651
- padding: 0
2652
- },
2653
- row: {
2654
- borderStyle: 'solid',
2655
- borderWidth: '0px',
2656
- borderTopWidth: '1px',
2657
- borderColor: 'muted',
2658
- pt: [3, 3, 3, '20px'],
2659
- pb: [3, 3, 3, '20px'],
2660
- mb: ['2px']
2661
- },
2662
- header: {
2663
- display: 'block',
2664
- textTransform: 'uppercase',
2665
- letterSpacing: 'smallcaps',
2666
- fontFamily: 'heading',
2667
- fontSize: [2, 2, 2, 3]
2668
- },
2669
- index: {
2670
- display: 'block',
2671
- textTransform: 'uppercase',
2672
- letterSpacing: 'smallcaps',
2673
- fontFamily: 'heading',
2674
- fontSize: [2, 2, 2, 3]
2675
- },
2676
- entry: {
2677
- display: 'block',
2678
- fontSize: [2, 2, 2, 3],
2679
- fontFamily: 'faux',
2680
- letterSpacing: 'faux',
2681
- mb: ['1px'],
2682
- mt: [2, 0, 0, 0]
2683
- }
2684
- };
2685
-
2686
- var Table = function Table(_ref) {
2687
- var data = _ref.data,
2688
- sx = _ref.sx,
2689
- color = _ref.color,
2690
- header = _ref.header,
2691
- columns = _ref.columns,
2692
- start = _ref.start,
2693
- width = _ref.width,
2694
- _ref$index = _ref.index,
2695
- index = _ref$index === void 0 ? true : _ref$index,
2696
- _ref$borderBottom = _ref.borderBottom,
2697
- borderBottom = _ref$borderBottom === void 0 ? true : _ref$borderBottom,
2698
- _ref$borderTop = _ref.borderTop,
2699
- borderTop = _ref$borderTop === void 0 ? true : _ref$borderTop;
2700
-
2701
- if (!start || !columns || !width) {
2702
- throw new Error('Must provide columns, start, and width');
2703
- }
2704
-
2705
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2706
- as: "table",
2707
- sx: _extends({
2708
- display: 'block'
2709
- }, sx)
2710
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2711
- as: "tbody",
2712
- sx: {
2713
- display: 'block'
2714
- }
2715
- }, header && /*#__PURE__*/React__default['default'].createElement(Row, {
2716
- as: "tr",
2717
- sx: _extends({}, styles$1.reset, styles$1.header, styles$1.row, {
2718
- color: color,
2719
- borderTopWidth: !borderTop ? '0px' : '1px'
2720
- })
2721
- }, /*#__PURE__*/React__default['default'].createElement(Column, {
2722
- as: "td",
2723
- start: [1],
2724
- width: columns,
2725
- sx: styles$1.index
2726
- }, header)), data.map(function (row, i) {
2727
- return /*#__PURE__*/React__default['default'].createElement(Row, {
2728
- as: "tr",
2729
- columns: columns,
2730
- key: i,
2731
- sx: _extends({}, styles$1.reset, styles$1.row, {
2732
- pb: borderBottom && i === data.length - 1 ? ['18px', '18px', '18px', '22px'] : [3, 3, 3, '20px'],
2733
- borderBottomWidth: borderBottom && i === data.length - 1 ? '1px' : '0px',
2734
- borderTopWidth: !borderTop && i === 0 && !header ? '0px' : '1px'
2735
- })
2736
- }, row.map(function (column, j) {
2737
- return /*#__PURE__*/React__default['default'].createElement(Column, {
2738
- as: "td",
2739
- key: j,
2740
- start: start[j],
2741
- width: width[j],
2742
- sx: j == 0 && index ? _extends({}, styles$1.reset, styles$1.index) : _extends({}, styles$1.reset, styles$1.entry)
2743
- }, column);
2744
- }));
2745
- })));
2746
- };
2747
-
2748
- var Toggle = function Toggle(_ref, ref) {
2749
- var value = _ref.value,
2750
- onClick = _ref.onClick,
2751
- disabled = _ref.disabled,
2752
- sx = _ref.sx,
2753
- props = _objectWithoutPropertiesLoose(_ref, ["value", "onClick", "disabled", "sx"]);
2754
-
2755
- var color$1 = sx && sx.color ? sx.color : 'primary';
2756
- value = disabled ? false : value;
2757
- return /*#__PURE__*/React__default['default'].createElement(themeUi.Box, _extends({
2758
- ref: ref,
2759
- as: "button",
2760
- onClick: onClick,
2761
- role: "checkbox",
2762
- "aria-checked": value,
2763
- "aria-label": "Toggle",
2764
- sx: _extends({
2765
- border: 'none',
2766
- background: 'none',
2767
- cursor: disabled ? 'default' : 'pointer',
2768
- p: [0],
2769
- m: [0],
2770
- display: 'inline-block'
2771
- }, sx)
2772
- }, props), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2773
- sx: {
2774
- width: '50px',
2775
- height: '20px',
2776
- borderRadius: '20px',
2777
- backgroundColor: value ? color.transparentize(color$1, color$1 == 'primary' ? 0.5 : 0.45) : 'muted',
2778
- position: 'relative',
2779
- transition: '0.15s',
2780
- display: 'inline-block'
2781
- }
2782
- }, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2783
- sx: {
2784
- width: '14px',
2785
- height: '14px',
2786
- borderRadius: '7px',
2787
- position: 'absolute',
2788
- left: value ? '32px' : '4px',
2789
- top: '3px',
2790
- backgroundColor: value ? color$1 : 'secondary',
2791
- transition: '0.15s'
2792
- }
2793
- })));
2794
- };
2795
-
2796
- var toggle = React.forwardRef(Toggle);
2797
-
2798
- var Tracking = function Tracking(_ref) {
2799
- var id = _ref.id;
2800
-
2801
- if (!id) {
2802
- return null;
2803
- }
2804
-
2805
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("script", {
2806
- async: true,
2807
- src: "https://www.googletagmanager.com/gtag/js?id=" + id
2808
- }), /*#__PURE__*/React__default['default'].createElement("script", {
2809
- dangerouslySetInnerHTML: {
2810
- __html: "\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '" + id + "', {\n page_path: window.location.pathname,\n });\n "
2811
- }
2812
- }));
2813
- };
2814
-
2815
- var Tray = function Tray(_ref) {
2816
- var expanded = _ref.expanded,
2817
- sx = _ref.sx,
2818
- children = _ref.children;
2819
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2820
- sx: {
2821
- position: 'fixed',
2822
- top: '56px',
2823
- bottom: '0px',
2824
- left: '0px',
2825
- width: 'calc(100vw)',
2826
- mt: ['56px'],
2827
- bg: 'background',
2828
- zIndex: 1000,
2829
- transition: 'opacity 0.15s',
2830
- opacity: expanded ? 0.9 : 0,
2831
- pointerEvents: expanded ? 'all' : 'none'
2832
- }
2833
- }), /*#__PURE__*/React__default['default'].createElement(themeUi.Box, {
2834
- sx: _extends({
2835
- position: 'fixed',
2836
- width: 'calc(100vw)',
2837
- top: '0px',
2838
- mt: ['56px'],
2839
- pb: [6, 7, 7, 8],
2840
- pt: [5, 6, 7, 8],
2841
- bg: 'background',
2842
- zIndex: 1100,
2843
- borderStyle: 'solid',
2844
- borderColor: 'muted',
2845
- borderWidth: '0px',
2846
- borderBottomWidth: '1px',
2847
- transition: 'transform 0.15s',
2848
- ml: [-3, -4, -5, -6],
2849
- pl: [3, 4, 5, 6],
2850
- pr: [3, 4, 5, 6],
2851
- transform: expanded ? 'translateY(0)' : 'translateY(-100%)'
2852
- }, sx)
2853
- }, /*#__PURE__*/React__default['default'].createElement(Row, null, /*#__PURE__*/React__default['default'].createElement(Column, {
2854
- start: [1, 1, 1, 1],
2855
- width: [6, 8, 10, 10]
2856
- }, children))));
2857
- };
2858
-
2859
- var defaultOptions = {
2860
- month: 'short',
2861
- day: 'numeric',
2862
- year: 'numeric'
2863
- };
2864
-
2865
- var formatDateElement = function formatDateElement(date, element, option) {
2866
- var _date$toLocaleString;
2867
-
2868
- if (!option) {
2869
- return null;
2870
- }
2871
-
2872
- var format = typeof option === 'string' ? option : defaultOptions[element];
2873
- var result = date.toLocaleString('default', (_date$toLocaleString = {}, _date$toLocaleString[element] = format, _date$toLocaleString));
2874
-
2875
- if (format === 'numeric' && element === 'day') {
2876
- return result.padStart(2, '0');
2877
- } else {
2878
- return result;
2879
- }
2880
- };
2881
-
2882
- var formatDate = function formatDate(date, options) {
2883
- if (options === void 0) {
2884
- options = defaultOptions;
2885
- }
2886
-
2887
- var d = new Date(date.replace(/-/g, '/'));
2888
- var month = formatDateElement(d, 'month', options.month);
2889
- var day = formatDateElement(d, 'day', options.day);
2890
- var year = formatDateElement(d, 'year', options.year);
2891
- return [month, day, year].filter(Boolean).join(' ');
2892
- };
2893
-
2894
- exports.Badge = Badge;
2895
- exports.Button = button;
2896
- exports.Callout = callout;
2897
- exports.Colorbar = Colorbar;
2898
- exports.Column = Column;
2899
- exports.Custom404 = Custom404;
2900
- exports.Dimmer = Dimmer;
2901
- exports.Expander = Expander;
2902
- exports.FadeIn = FadeIn;
2903
- exports.Filter = Filter;
2904
- exports.Footer = Footer;
2905
- exports.Group = Group;
2906
- exports.Guide = Guide;
2907
- exports.Header = Header;
2908
- exports.Input = input;
2909
- exports.Layout = Layout;
2910
- exports.Link = Link$1;
2911
- exports.Logo = Logo;
2912
- exports.Menu = Menu;
2913
- exports.Meta = Meta;
2914
- exports.Monogram = Monogram;
2915
- exports.Row = Row;
2916
- exports.Scrollbar = Scrollbar;
2917
- exports.Select = Select;
2918
- exports.Settings = Settings;
2919
- exports.Slider = slider;
2920
- exports.Table = Table;
2921
- exports.Tag = Tag;
2922
- exports.Toggle = toggle;
2923
- exports.Tracking = Tracking;
2924
- exports.Tray = Tray;
2925
- exports.formatDate = formatDate;
2926
- exports.getScrollbarWidth = getScrollbarWidth;
1
+ var e=require("react"),t=require("theme-ui"),n=require("@theme-ui/color"),r=require("next/link"),a=require("@carbonplan/icons"),o=require("@carbonplan/emoji"),l=require("next/head"),i=require("@emotion/react");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=c(e),s=c(r),u=c(l);function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function p(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var f=["sx","children"],x=["href","children","internal","tracking"],h=e.forwardRef(function(e,n){var r=e.href,a=e.children,o=e.internal,l=void 0!==o&&o,i=e.tracking,c=void 0!==i&&i,u=p(e,x);if(l||r&&r.startsWith("/"))return d.default.createElement(s.default,{href:r,passHref:!0},d.default.createElement(t.Link,m({ref:n},u),a));if(c){var f,h;r&&r.includes("pdf")?(f="PDF",h="download"):(f="website",h="external");var g=function(e){!function(e){var t=e.action;"function"==typeof window.gtag?window.gtag("event",t,{event_category:e.category,event_label:e.label,value:e.value}):console.warn("Missing window.gtag, skipping analytics action: '"+t+"'.")}({action:f,category:h,label:r})};return d.default.createElement(t.Link,m({ref:n,onClick:g,onContextMenu:g,href:r},u),a)}return d.default.createElement(t.Link,m({ref:n,href:r},u),a)}),g=function(e){if(!["xs","sm","md","lg","xl"].includes(e))throw new Error("Size must be xs, sm, md, lg, or xl");var t,n,r,a;return"xs"===e&&(t=[2,2,2,3],n="body",r="body",a=[1.2]),"sm"===e&&(t=[3,3,3,4],n="body",r="body",a=[1.2]),"md"===e&&(t=[4,4,4,5],n="body",r="body",a=[1.2]),"lg"===e&&(t=[5,5,6,7],n="heading",r="heading",a=[1.2,1.2,1.25,1.25]),"xl"===e&&(t=[6,7,8,9],n="heading",r="heading",a=[1.25]),{fontSize:t,fontFamily:n,letterSpacing:r,lineHeight:a}},y=["size","prefix","suffix","inverted","sx","children","align","href","internal","tracking"],E=e.forwardRef(function(n,r){var a,o,l,i,c,s=n.size,u=void 0===s?"sm":s,f=n.prefix,x=n.suffix,E=n.inverted,b=n.sx,v=n.children,w=n.align,k=n.href,C=n.internal,S=n.tracking,B=p(n,y);if(!["xs","sm","md","lg","xl"].includes(u))throw new Error("Size must be xs, sm, md, lg, or xl");var z,L,M,A,T,W,F=b&&b.color?b.color:null,I=F||(E?"secondary":"primary"),R=F||E?"primary":"secondary";"xs"===u&&(o=["6px","6px","6px","6px"],l=[12,12,12,13],i=[12,12,12,13],c=[1.5,1.5,1.5,1.5],a={transform:"translateY(0.25px)"}),"sm"===u&&(o=["7px","7px","7px","7px"],l=[13,13,13,18],i=[13,13,13,18],c=[1.5,1.5,1.5,2],a={transform:"translateY(0.25px)"}),"md"===u&&(o=["8px","8px","8px","8px"],l=[18,18,18,24],i=[18,18,18,24],c=[2,2,2,3]),"lg"===u&&(o=["10px","10px","12px","16px"],l=[24,24,34,46],i=[24,24,34,46],c=[3,3,4,5]),"xl"===u&&(o=["12px","16px","18px","20px"],l=[34,46,56,68],i=[34,46,56,68],c=[4,5,6,7]),w?(M=w,A=w):f&&x?(M="initial",A="initial"):f?M="initial":x&&(A="middle"),T="middle"===M?{}:a,W="middle"===A?{}:a,f&&(z={"&:hover > #prefix-span > #prefix":m({color:R},f.type.hover)},f=e.cloneElement(f,{id:"prefix",sx:m({position:"relative",height:l,width:i,mr:v?o:[0],strokeWidth:c,verticalAlign:M,transition:"color 0.15s, transform 0.15s"},f.props.sx)})),x&&(L={"&:hover > #suffix-span >#suffix":m({color:R},x.type.hover)},x=e.cloneElement(x,{id:"suffix",sx:m({height:l,width:i,ml:v?o:[0],strokeWidth:c,verticalAlign:A,transition:"color 0.15s, transform 0.15s"},x.props.sx)}));var D=m({},g(u),{lineHeight:1.05,border:"none",background:"transparent",display:"block",color:I,padding:[0],textAlign:"left",cursor:"pointer",width:"fit-content","@media (hover: hover) and (pointer: fine)":m({"&:hover":{color:R}},L,z)},b),O=d.default.createElement(d.default.Fragment,null,d.default.createElement(t.Box,{as:"span",id:"prefix-span",sx:m({display:"inline-block"},T)},f&&f),d.default.createElement(t.Box,{as:"span",sx:{transition:"color 0.15s"}},v),d.default.createElement(t.Box,{as:"span",id:"suffix-span",sx:m({display:"inline-block"},W)},x&&x));return k?d.default.createElement(h,m({ref:r,href:k,internal:C,tracking:S,sx:m({},D,{textDecoration:"none"})},B),O):d.default.createElement(t.Box,m({ref:r,as:"button",sx:D},B),O)}),b=["label","children","inverted","color","href","internal","tracking","sx"],v=e.forwardRef(function(e,n){var r=e.label,o=e.children,l=e.inverted,i=e.color,c=e.href,s=e.internal,u=e.tracking,f=e.sx,x=p(e,b),g=i||(l?"secondary":"primary"),y=i||l?"primary":"secondary",E=m({border:"none",padding:[0],fontSize:[3,3,3,4],color:g,background:"transparent",textDecoration:"none",fontFamily:"body",lineHeight:"h3",letterSpacing:"body",width:"fit-content",cursor:"pointer",textAlign:"left",mb:[1],"@media (hover: hover) and (pointer: fine)":{"&:hover > #container > #arrow":{transform:"rotate(45deg)",fill:y},"&:hover":{color:y}}},f),v=d.default.createElement(d.default.Fragment,null,d.default.createElement(t.Box,{sx:{transition:"0.15s",letterSpacing:"body",pb:["6px"]}},o),d.default.createElement(t.Box,{sx:{transition:"0.15s",display:"inline-block",textTransform:"uppercase",letterSpacing:"smallcaps",fontFamily:"heading",fontSize:[2,2,2,3]}},r),d.default.createElement(t.Box,{as:"span",id:"container",sx:{ml:[2],display:"inline-block"}},d.default.createElement(a.Arrow,{id:"arrow",sx:{transition:"fill 0.15s, transform 0.15s",position:"relative",top:["2px"],color:g,height:[15,15,15,17],width:[15,15,15,17]}})));return c?d.default.createElement(h,m({ref:n,href:c,internal:s,tracking:u,sx:E},x),v):d.default.createElement(t.Box,m({ref:n,as:"button",sx:E},x),v)}),w=["colormap","label","clim","setClim","setClimStep","discrete","units","width","height","format","horizontal","bottom","sx","sxClim"],k=function(e){return{fontFamily:"mono",fontSize:["9px",0,0,1],letterSpacing:"smallcaps",textTransform:"uppercase","@media (hover: hover) and (pointer: fine)":{"&:hover":{borderBottom:e?function(e){return"solid 1px "+e.colors.primary+" !important"}:"unset"}},"&:focus":{outline:"none",borderBottom:e?function(e){return"solid 1px "+e.colors.primary+" !important"}:"unset"},transition:"border 0.15s",userSelect:e?"none !important":"unset",width:"fit-content",minWidth:"fit-content"}},C={width:["10px","16px","16px","17px"],height:["80px","110px","110px","130px"]},S=function(e){var n=e.colormap,r=e.discrete,a=e.horizontal,o=e.width,l=e.height,i=1/n.length*100,c="linear-gradient(to "+(a?"right":"top")+", "+n.map(function(e,t){return"rgb("+e+") "+t*i+"% "+(r&&t<n.length-1?(t+1)*i+"%":"")}).join(",")+")";return d.default.createElement(t.Box,{sx:m({},a?{width:o||C.height,height:l||C.width}:{width:o||C.width,minHeight:l||C.height},{mt:a?["1px","1px","1px",0]:0,border:function(e){return"solid 1px "+e.colors.hinted},background:c})})},B=function(e){var n=e.label,r=e.units,a=e.horizontal;return d.default.createElement(t.Box,{sx:!a&&{width:["13px","17px","17px","19px"],alignSelf:"flex-end"}},d.default.createElement(t.Box,{sx:m({mb:a?0:["-4px","-4px","-4px","-3px"],fontFamily:"mono",fontSize:["9px",0,0,1],letterSpacing:"smallcaps",textTransform:"uppercase"},a?{}:{writingMode:"vertical-rl",transform:"rotate(180deg)",whiteSpace:"nowrap",display:"inline-block",overflow:"visible"})},n," ",d.default.createElement(t.Box,{as:"span",sx:{textTransform:"none",color:"secondary",display:"inline-block"}},r)))},z=["start","width","dl","dr","children","sx"],L=function(e){var n=e.start,r=e.width,a=e.dl,o=e.dr,l=e.children,i=e.sx,c=p(e,z);r=r||"auto";var s=function(e){if(e&&!Array.isArray(e)&&(e=[e]),![1,2,4].includes(e.length))throw new Error("Array length must be 1, 2, or 4");return Array.isArray(e)&&1==e.length?e=e.map(function(e){return[e,e,e,e]}).flat():Array.isArray(e)&&2==e.length&&(e=e.map(function(e){return[e,e]}).flat()),e};n=s(n=n||"auto"),r=s(r);var u,f,x=n.map(function(e,t){return"auto"==e?"auto":e+r[t]});if(a){if(![.5,1].includes(a))throw new Error("dl must be 0.5 or 1");.5===a&&(u=["-12px",-3,-3,-4]),1===a&&(u=[-4,-5,-5,-6])}if(o){if(![.5,1].includes(o))throw new Error("dr must be 0.5 or 1");.5===o&&(f=["-12px",-3,-3,-4]),1===o&&(f=[-4,-5,-5,-6])}return d.default.createElement(t.Box,m({},c,{sx:m({gridColumnStart:n,gridColumnEnd:x,ml:u,mr:f},i)}),l)},M=function(e){var t=e.title,n=e.description,r=e.card;return n=n||"Data and science for climate action.",r=r||"https://images.carbonplan.org/social/homepage.png",d.default.createElement(u.default,null,d.default.createElement("title",null,t=t||"carbonplan"),d.default.createElement("meta",{name:"description",content:n}),d.default.createElement("meta",{name:"viewport",content:"initial-scale=1.0, width=device-width"}),d.default.createElement("link",{rel:"canonical",content:"https://carbonplan.org/"}),d.default.createElement("link",{rel:"icon",type:"image/svg+xml",href:"https://images.carbonplan.org/favicon.svg"}),d.default.createElement("link",{rel:"preload",href:"https://fonts.carbonplan.org/relative/relative-book-pro.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),d.default.createElement("link",{rel:"preload",href:"https://fonts.carbonplan.org/relative/relative-medium-pro.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),d.default.createElement("link",{rel:"preload",href:"https://fonts.carbonplan.org/relative/relative-mono-11-pitch-pro.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),d.default.createElement("link",{rel:"preload",href:"https://fonts.carbonplan.org/relative/relative-faux-book-pro.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),d.default.createElement("link",{rel:"manifest",href:"https://images.carbonplan.org/manifest.json"}),d.default.createElement("meta",{name:"theme-color",content:"#1b1e23"}),d.default.createElement("link",{rel:"alternate icon",type:"image/png",href:"https://images.carbonplan.org/favicon.png"}),d.default.createElement("link",{rel:"mask-icon",href:"https://images.carbonplan.org/safari-pinned-tab.svg",color:"#000000"}),d.default.createElement("link",{rel:"apple-touch-icon",sizes:"180x180",href:"https://images.carbonplan.org/apple-touch-icon.png"}),d.default.createElement("meta",{name:"msapplication-TileColor",content:"#1b1e23"}),d.default.createElement("meta",{name:"msapplication-TileImage",content:"https://images.carbonplan.org/mstile-144x144.png"}),d.default.createElement("meta",{name:"msapplication-config",content:"https://images.carbonplan.org/browserconfig.xml"}),d.default.createElement("meta",{property:"og:title",content:t}),d.default.createElement("meta",{property:"og:description",content:n}),d.default.createElement("meta",{property:"og:image",content:r}),d.default.createElement("meta",{property:"og:url",content:"https://carbonplan.org"}),d.default.createElement("meta",{name:"twitter:title",content:t}),d.default.createElement("meta",{name:"twitter:description",content:n}),d.default.createElement("meta",{name:"twitter:image",content:r}),d.default.createElement("meta",{name:"twitter:card",content:"summary_large_image"}))},A=function(e){var n=m({},e);return d.default.createElement(t.Box,m({as:"svg",width:"150",fill:"currentColor",stroke:"none",viewBox:"0 0 151.1 28.8"},n),d.default.createElement("g",null,d.default.createElement("g",null,d.default.createElement("path",{d:"M9.7,20.1c-1.3-1.4-2-3.1-2-5.2c0-2.1,0.7-3.9,2-5.2c1.3-1.4,3-2,5.1-2c1.7,0,3.1,0.4,4.3,1.3 c1.1,0.9,1.8,2.1,2.1,3.5c0,0.1,0,0.2,0,0.3s-0.1,0.2-0.2,0.2h-2.3c-0.2,0-0.3-0.1-0.4-0.2c-0.3-0.8-0.7-1.4-1.3-1.8 c-0.6-0.4-1.4-0.6-2.2-0.6c-1.3,0-2.3,0.4-3,1.2c-0.8,0.8-1.1,1.9-1.1,3.4c0,1.5,0.4,2.6,1.1,3.4c0.8,0.8,1.8,1.2,3,1.2 c0.8,0,1.6-0.2,2.2-0.6c0.6-0.4,1.1-1,1.3-1.8c0.1-0.2,0.2-0.2,0.4-0.3H21c0.1,0,0.2,0.1,0.2,0.2c0,0.1,0,0.2,0,0.3 c-0.3,1.4-1,2.6-2.1,3.5c-1.1,0.9-2.5,1.3-4.3,1.3C12.7,22.1,11,21.4,9.7,20.1z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M22.5,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1 c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3 c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1C30.6,7.6,32,8.1,33,9c1,0.9,1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6 c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2 C23,20.1,22.5,19,22.5,17.6z M25.4,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9 c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C25.7,16.3,25.4,16.8,25.4,17.5z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M37,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.1c1-1.1,2.3-1.6,3.7-1.6 c0.8,0,1.7,0.1,2.5,0.4c0.2,0.1,0.3,0.3,0.3,0.5v2.2c0,0.2-0.1,0.3-0.2,0.3c0,0-0.1,0-0.2-0.1c-1.1-0.5-2-0.8-2.9-0.8 c-0.9,0-1.7,0.4-2.3,1.1c-0.6,0.7-0.9,1.7-0.9,3v7.3c0,0.2-0.1,0.3-0.3,0.3h-2.2C37.1,21.8,37,21.7,37,21.6z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M47.6,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3H50c0.2,0,0.3,0.1,0.3,0.3v6.5c1.3-1.1,2.7-1.6,4.3-1.6 c1.9,0,3.4,0.7,4.6,2c1.1,1.3,1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.8,0-3.2-0.5-4.3-1.6v1 c0,0.2-0.1,0.3-0.3,0.3h-2.2C47.7,21.8,47.6,21.7,47.6,21.6z M51.2,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3 s1.7,1.3,2.9,1.3c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3 C52.9,10.2,51.9,10.7,51.2,11.5z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M64.3,20.1c-1.4-1.4-2.1-3.1-2.1-5.2c0-2.1,0.7-3.9,2.1-5.2c1.4-1.4,3.1-2,5.2-2c2.1,0,3.8,0.7,5.2,2 c1.4,1.4,2.1,3.1,2.1,5.2c0,2.1-0.7,3.9-2.1,5.2c-1.4,1.4-3.1,2-5.2,2C67.4,22.1,65.7,21.4,64.3,20.1z M66.4,11.5 c-0.8,0.8-1.2,2-1.2,3.4c0,1.4,0.4,2.5,1.2,3.4s1.9,1.3,3.1,1.3c1.3,0,2.3-0.4,3.1-1.3c0.8-0.8,1.2-2,1.2-3.4 c0-1.4-0.4-2.5-1.2-3.4c-0.8-0.8-1.9-1.3-3.1-1.3C68.2,10.2,67.2,10.7,66.4,11.5z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M78.7,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8 c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1 c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C78.7,21.8,78.7,21.7,78.7,21.6z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M101.7,27.1V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1c1.1-1.1,2.5-1.6,4.3-1.6 c1.9,0,3.4,0.7,4.6,2s1.7,3.1,1.7,5.3c0,2.2-0.6,4-1.7,5.3c-1.1,1.3-2.7,2-4.6,2c-1.5,0-3-0.5-4.3-1.6v6.6c0,0.2-0.1,0.3-0.3,0.3 H102C101.8,27.3,101.7,27.2,101.7,27.1z M105.3,11.5c-0.7,0.9-1.1,2-1.1,3.3c0,1.4,0.4,2.5,1.1,3.3s1.7,1.3,2.9,1.3 c1.2,0,2.2-0.4,2.9-1.3c0.7-0.9,1.1-2,1.1-3.3c0-1.4-0.4-2.5-1.1-3.3c-0.7-0.9-1.7-1.3-2.9-1.3C107,10.2,106,10.7,105.3,11.5z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M117.2,21.6V2.7c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v18.9c0,0.2-0.1,0.3-0.3,0.3h-2.2 C117.3,21.8,117.2,21.7,117.2,21.6z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M122,17.6c0-1.5,0.5-2.6,1.6-3.5c1.1-0.8,2.4-1.2,4.1-1.2c1.1,0,2.4,0.2,3.7,0.6V13c0-0.9-0.3-1.6-0.8-2.1 c-0.5-0.5-1.2-0.8-2.2-0.8c-1.4,0-2.4,0.6-2.9,1.8c-0.1,0.2-0.2,0.2-0.4,0.2h-2.3c-0.1,0-0.2-0.1-0.2-0.2c0-0.1,0-0.2,0-0.3 c0.3-1.2,0.9-2.2,1.9-2.9c1-0.8,2.3-1.1,3.8-1.1c1.7,0,3.1,0.5,4.2,1.4s1.5,2.2,1.5,3.8V19c0,1.1,0.2,1.9,0.5,2.6 c0,0.1,0.1,0.1,0.1,0.1c0,0.1-0.1,0.1-0.3,0.1h-2.8c-0.2,0-0.3-0.1-0.3-0.3v-1c-1.1,1.1-2.5,1.6-4.3,1.6c-1.4,0-2.6-0.4-3.6-1.2 C122.5,20.1,122,19,122,17.6z M124.9,17.5c0,0.6,0.2,1.1,0.7,1.5c0.4,0.4,1.1,0.5,1.9,0.5c1.1,0,2-0.3,2.8-0.9 c0.8-0.6,1.1-1.5,1.1-2.6c-1.3-0.4-2.5-0.6-3.6-0.6c-0.8,0-1.5,0.2-2.1,0.5C125.2,16.3,124.9,16.8,124.9,17.5z"})),d.default.createElement("g",null,d.default.createElement("path",{d:"M136.9,21.6V8.2c0-0.2,0.1-0.3,0.3-0.3h2.2c0.2,0,0.3,0.1,0.3,0.3v1.3c1.3-1.2,2.7-1.8,4.4-1.8 c1.5,0,2.7,0.4,3.5,1.3c0.8,0.9,1.3,2,1.3,3.6v9.1c0,0.2-0.1,0.3-0.3,0.3h-2.2c-0.2,0-0.3-0.1-0.3-0.3v-8.3c0-2-0.9-3.1-2.8-3.1 c-1.1,0-1.9,0.4-2.7,1.2c-0.7,0.8-1.1,2-1.1,3.5v6.6c0,0.2-0.1,0.3-0.3,0.3h-2.2C137,21.8,136.9,21.7,136.9,21.6z"})),d.default.createElement("path",{d:"M97.6,14.9c0,4.2-0.6,8.3-1.6,12.3c0,0.1-0.1,0.2-0.2,0.2h-2.4c-0.1,0-0.2-0.1-0.2-0.3c1.1-3.9,1.7-8,1.7-12.2 s-0.6-8.3-1.7-12.2c0-0.1,0.1-0.3,0.2-0.3l2.4,0c0.1,0,0.2,0.1,0.2,0.2C97.1,6.5,97.6,10.6,97.6,14.9z"}),d.default.createElement("path",{d:"M1.4,14.9C1.4,10.6,2,6.5,3,2.6c0-0.1,0.1-0.2,0.2-0.2l2.4,0c0.1,0,0.2,0.1,0.2,0.3c-1.1,3.9-1.7,8-1.7,12.2 s0.6,8.3,1.7,12.2c0,0.1-0.1,0.3-0.2,0.3H3.3c-0.1,0-0.2-0.1-0.2-0.2C2,23.2,1.4,19.1,1.4,14.9z"})))},T=["children","sx","columns","gap"],W=function(e){var n,r,a=e.children,o=e.sx,l=e.columns,i=e.gap,c=p(e,T),s=function(e){if(Array.isArray(e)||(e=[e,e,e,e]),Array.isArray(e)&&![1,2,4].includes(e.length))throw new Error("Array length must be 1, 2, or 4");return Array.isArray(e)&&1==e.length&&(e=e.map(function(e){return[e]}).flat()),Array.isArray(e)&&2==e.length&&(e=e.map(function(e){return[e,e]}).flat()),e};return Number.isInteger(i)||Array.isArray(i)?(n=i=s(i),r=i):(n=[4,5,5,6],r=[0,0,0,0]),l=Number.isInteger(l)||Array.isArray(l)?s(l):[6,8,12,12],d.default.createElement(t.Grid,m({},c,{columns:l,sx:m({columnGap:n,rowGap:r},o)}),a)},F=["value","sx"],I=function(e){var n=e.value,r=e.sx,a=p(e,F);return d.default.createElement(t.IconButton,m({sx:m({cursor:"pointer",fill:"none",strokeWidth:"2px",stroke:"text",".paren":{opacity:"0"},"@media (hover: hover) and (pointer: fine)":{"&:hover .paren":{opacity:"1"}}},r),"aria-label":"Toggle Menu"},a),!n&&d.default.createElement("svg",{style:{width:"50px",height:"30px",transform:"scale(2)",marginTop:"-3px"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 68 36"},d.default.createElement("line",{x1:"52",y1:"29.9",x2:"16",y2:"29.9"}),d.default.createElement("line",{x1:"52",y1:"6.1",x2:"16",y2:"6.1"}),d.default.createElement("line",{x1:"52",y1:"18",x2:"16",y2:"18"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"})),n&&d.default.createElement("svg",{style:{width:"50px",height:"30px",transform:"scale(2)",marginTop:"-3px"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 68 36"},d.default.createElement("line",{x1:"50.85",y1:"29.79",x2:"17.15",y2:"6.21"}),d.default.createElement("line",{x1:"17.15",y1:"29.79",x2:"50.85",y2:"6.21"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"})))},R=function(e,t,n){return void 0===n&&(n=!1),{width:"auto",color:e===t?"secondary":"text",fontSize:[6,6,7,8],fontFamily:"heading",letterSpacing:"heading",borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderBottomWidth:"1px",borderTopWidth:n?"1px":"0px",py:[3,3,4,5],textDecoration:"none",display:"block",position:"relative",transition:"color 0.15s","@media (hover: hover) and (pointer: fine)":{"&:hover > #arrow":{opacity:1}},"&:hover":{color:e==t?"secondary":"text"}}},D=[{url:"about",display:"About"},{url:"research",display:"Research"},{url:"blog",display:"Blog"},{url:"press",display:"Press"}],O=function(){return d.default.createElement(a.Arrow,{id:"arrow",sx:{pointerEvents:"none",display:"inline-block",position:"absolute",left:["-60px","-68px","-80px","-104px"],top:["32px","32px","46px","62px"],opacity:0,transition:"opacity 0.2s ease-out",transform:"rotate(45deg)",width:[36,36,48,56],height:[36,36,48,56]}})},H=function(e){var n=e.link,r=e.mode,a=e.nav,o=e.first,l=e.setExpanded,i=n.url,c=n.display,u="remote"===r?"https://carbonplan.org/"+i:"/"+i;return"homepage"===r||"local"===r&&a===i?d.default.createElement(s.default,{href:u,passHref:!0},d.default.createElement(t.Link,{onClick:function(){a===i&&l(!1)},sx:R(a,i,o)},d.default.createElement(O,null),c)):d.default.createElement(t.Link,{href:u,sx:R(a,i,o)},d.default.createElement(O,null),c)},_=function(e){var t=e.nav,n=e.mode,r=e.setExpanded;return e.links.map(function(e,a){return d.default.createElement(H,{key:a,link:e,mode:n,nav:t,first:0===a,setExpanded:r})})},j=function(n){var r=n.status,a=n.mode,o=n.nav,l=n.menuItems,i=e.useState(!1),c=i[0],u=i[1];return d.default.createElement(W,{sx:{pt:["12px"],pb:[3]}},d.default.createElement(L,{start:[1],width:[2]},d.default.createElement(t.Box,{sx:{display:"block",width:"fit-content"}},("homepage"==a||"local"==a)&&d.default.createElement(s.default,{href:"/",passHref:!0},d.default.createElement(t.Link,{"aria-label":"CarbonPlan Homepage",sx:{display:"block"}},d.default.createElement(A,{id:"logo",sx:{cursor:"pointer",color:"primary"}}))),(null==a||"remote"==a)&&d.default.createElement(t.Link,{href:"https://carbonplan.org","aria-label":"CarbonPlan Homepage",sx:{display:"block"}},d.default.createElement(A,{sx:{cursor:"pointer",color:"primary"}})))),d.default.createElement(L,{start:[4,9],width:[2,2],dr:1,sx:{display:[r?"flex":"none","flex","flex","flex"],alignItems:"center"}},d.default.createElement(t.Box,{sx:{fontSize:[1,2,3],position:"relative",top:["-2px","-3px","-3px"]}},r?"("+r+")":"")),d.default.createElement(L,{start:[r?6:4,6,11,11],width:[r?1:3,3,2,2],sx:{zIndex:5e3}},d.default.createElement(t.Flex,{sx:{justifyContent:"flex-end"}},d.default.createElement(t.Flex,{sx:{mr:"18px",gap:"18px",opacity:c?0:1,transition:"opacity 0.15s",justifyContent:"space-between",alignItems:"center"}},l),d.default.createElement(I,{sx:{mr:["-2px"]},value:c,onClick:function(e){u(!c)}}))),d.default.createElement(t.Box,{sx:{opacity:c?1:0,pointerEvents:c?"all":"none",position:"fixed",top:"0px",right:"0px",bottom:"0px",minWidth:"0px",maxHeight:"100vh",width:"100vw",backgroundColor:"background",zIndex:4e3,pt:["79px"],transition:"opacity 0.25s"}},d.default.createElement(t.Container,null,d.default.createElement(W,null,d.default.createElement(L,{start:[2,4,7,7],width:[5,4,5,5]},d.default.createElement(t.Box,{as:"nav",sx:{display:c?"inherit":"none",mt:[5,5,5,6]}},d.default.createElement(_,{links:D,nav:o,mode:a,setExpanded:u})))))))},V=function(e){var n=m({},e);return d.default.createElement(t.Box,m({as:"svg",width:"80",stroke:"none",fill:"currentColor",viewBox:"0 0 32 32"},n),d.default.createElement("path",{d:"M21.9395,14.9395 L17.5005,19.3785 L17.5005,7.0005 L14.5005,7.0005 L14.5005,19.3785 L10.0605,14.9395 L7.9395,17.0605 L14.9395,24.0605 C15.2325,24.3535 15.6165,24.5005 16.0005,24.5005 C16.3835,24.5005 16.7675,24.3535 17.0605,24.0605 L24.0605,17.0605 L21.9395,14.9395 Z"}),d.default.createElement("path",{d:"M27.5986,4 L22.8966,4 C26.5556,6.303 28.9996,10.366 28.9996,15 C28.9996,20.4 25.6896,25.039 20.9926,27 L26.5586,27 C29.8886,24.068 31.9996,19.785 31.9996,15 C31.9996,10.734 30.3196,6.868 27.5986,4"}),d.default.createElement("path",{d:"M3,15 C3,10.366 5.444,6.303 9.104,4 L4.401,4 C1.68,6.868 0,10.734 0,15 C0,19.785 2.112,24.068 5.441,27 L11.008,27 C6.311,25.039 3,20.4 3,15"}))},N=function(){return d.default.createElement(t.Box,{sx:{mt:[7,7,7,8],mb:[7,7,7,8],pb:[2,1,0,0]}},d.default.createElement(W,{sx:{mb:[0,0,4,5]}},d.default.createElement(L,{start:[1,2],width:[3,3]},d.default.createElement(t.Box,null,d.default.createElement(t.Box,{sx:{fontSize:[2,2,2,3],fontFamily:"heading",letterSpacing:"mono",mb:[2]}},"EMAIL"),d.default.createElement(t.Link,{href:"mailto:hello@carbonplan.org",sx:{textDecoration:"none",fontSize:[2,2,2,3]}},"hello@carbonplan.org"))),d.default.createElement(L,{start:[5],width:[1],dl:1,dr:1,sx:{display:["flex","none","none","none"],justifyContent:["center"]}},d.default.createElement(V,{sx:{mt:["-4px"],width:"60px",height:"60px"}})),d.default.createElement(L,{start:[1,5,5,5],width:[3,3],sx:{mt:[3,0,0,0]}},d.default.createElement(t.Box,null,d.default.createElement(t.Box,{sx:{fontSize:[2,2,2,3],fontFamily:"heading",letterSpacing:"mono",mb:[2]}},"FOLLOW"),d.default.createElement(t.Link,{href:"https://twitter.com/carbonplanorg",sx:{textDecoration:"none",fontSize:[2,2,2,3]}},"@carbonplanorg"))),d.default.createElement(L,{start:[1,9],width:[5,4,3,3],sx:{mt:["42px","42px",0,0],mb:[3,3,0,0]}},d.default.createElement(t.Box,null,d.default.createElement(t.Box,{sx:{fontSize:[2,2,2,3],fontFamily:"body",color:"secondary"}},"CarbonPlan is a registered non-profit public benefit corporation in California with 501(c)(3) status.")))),d.default.createElement(W,{sx:{mb:["2px"],mt:[5,5,4]}},d.default.createElement(L,{start:[1,1,2,2],width:[3,2,3,3],sx:{display:"flex",alignItems:["flex-start","flex-start","flex-end"]}},d.default.createElement(t.Box,{sx:{bottom:"0px",borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderTopWidth:"1px",pt:[2]}},d.default.createElement(t.Box,{sx:{color:"secondary",fontSize:[1,1,1,2],fontFamily:"mono",letterSpacing:"mono"}},"(c) 2021 CARBONPLAN"))),d.default.createElement(L,{start:[4,3,5,5],width:[2,2,3,3],sx:{display:"flex",alignItems:["flex-start","flex-start","flex-end"],mt:[0,0,0,0]}},d.default.createElement(t.Box,{sx:{bottom:"0px",borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderTopWidth:"1px",width:["100%","auto","auto","auto"],pt:[2]}},d.default.createElement(s.default,{href:"/terms",passHref:!0},d.default.createElement(t.Box,{as:"a",sx:{textDecoration:"none",fontSize:[1,1,1,2],color:"secondary",fontFamily:"mono",letterSpacing:"mono",display:"block"}},"READ OUR TERMS")))),d.default.createElement(L,{start:[5,7,9,9],width:[2,3,3,3],sx:{display:["none","initial","initial","initial"]}},d.default.createElement(V,{sx:{width:80,height:80,mt:[0,"-10px",4,5],mb:["-12px"]}}))))},G=["sx"],P=function(n){var r=n.sx,o=p(n,G),l=t.useColorMode(),i=l[0],c=l[1],s=e.useCallback(function(){c("light"===i?"dark":"light")},[i]);return d.default.createElement(t.IconButton,m({"aria-label":"Toggle dark mode",onClick:s,role:"checkbox",sx:m({width:32,height:32,display:"inline-block",cursor:"pointer",color:"secondary"},r)},o),d.default.createElement(a.Sun,{sx:{strokeWidth:"1.75",transition:"stroke 0.15s","@media (hover: hover) and (pointer: fine)":{"&:hover":{stroke:"primary"}}}}))},U=function(){var e=process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA,n=process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_OWNER,r=process.env.NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG,a=t.useThemeUI().theme.rawColors.secondary;if(e&&n&&r){var o=e.substring(0,7),l="https://github.com/"+n+"/"+r+"/tree/"+e;return d.default.createElement(t.Box,{sx:{display:"inline-block",width:"87px"}},d.default.createElement(Y,{color:a}),d.default.createElement(t.Link,{href:l,sx:{whiteSpace:"nowrap",display:"inline-block",ml:[2],fontFamily:"mono",letterSpacing:"body",color:a,fontSize:[1],textTransform:"uppercase",textDecoration:"none"}},o))}return d.default.createElement(t.Box,{sx:{display:"inline-block",width:"87px"}},d.default.createElement(Y,{color:a}),d.default.createElement(t.Text,{sx:{whiteSpace:"nowrap",display:"inline-block",ml:[2],fontFamily:"mono",letterSpacing:"body",color:a,fontSize:[1],textTransform:"uppercase"}},a))},Y=function(e){return d.default.createElement("svg",{fill:e.color,opacity:"0.8",viewBox:"0 0 24 24",width:"24",height:"24"},d.default.createElement("circle",{r:5,cx:19,cy:19}))},q=function(n){var r=n.mode,a=e.useState(function(e){return"mouse"===e?"X,Y: "+K(0,4)+","+K(0,4):"scroll"===e?"SCROLL: 0."+K((0).toFixed(0),2):e}(r)),o=a[0],l=a[1];return e.useEffect(function(){if("mouse"===r){var e=function(e){var t=K(e.clientX,4),n=K(e.clientY,4);l("X,Y: "+t+","+n)};return window.addEventListener("mousemove",e),function(){window.removeEventListener("mousemove",e)}}if("scroll"===r){var t=function(e){var t=function(e,t){return Math.min(e.scrollY/(document.body.offsetHeight-770),.99)}(window);l("SCROLL: 0."+K((100*t).toFixed(0),2))};return window.addEventListener("scroll",t),function(){window.removeEventListener("scroll",t)}}},[]),d.default.createElement(t.Text,{sx:{whiteSpace:"nowrap",display:"inline-block",mr:"-6px",fontFamily:"mono",letterSpacing:"body",color:"secondary",fontSize:[1],textTransform:"uppercase"}},o)},X=function(e){return d.default.createElement(t.Box,{sx:{userSelect:"none",position:"fixed",bottom:"42px",right:"24px",transformOrigin:"right",transform:"rotate(90deg)",display:["none","none","initial"]}},d.default.createElement(q,{mode:e.mode}),d.default.createElement(U,null))};function K(e,t){return e.toString().padStart(t,"0")}var Z=["duration","delay","children"],J=i.keyframes({from:{opacity:0},to:{opacity:1}}),Q=function(e){var n=e.duration,r=void 0===n?300:n,a=e.delay,o=void 0===a?0:a,l=e.children,i=p(e,Z);return d.default.createElement(t.Box,m({},i,{sx:{animationDuration:r+"ms",animationDelay:o+"ms",animationName:J.toString(),animationFillMode:"backwards"}}),l)},$=function(e){var t=e.createElement("div");t.style.visibility="hidden",t.style.width="100px",e.body.appendChild(t),t.style.overflow="scroll";var n=e.createElement("div");n.style.width="100%",t.appendChild(n);var r=t.offsetWidth-n.offsetWidth;return t.parentNode.removeChild(t),r},ee=function(){return e.useEffect(function(){"undefined"!=typeof document&&$(document)>0&&(document.body.classList.add("custom-scrollbar"),document.getElementsByTagName("html")[0].classList.add("custom-scrollbar"))},[]),null},te=function(n){var r=n.color,a=void 0===r?"muted":r,o=e.useState(!1),l=o[0],i=o[1];return e.useEffect(function(){function e(e){";"===e.key&&e.metaKey&&i(function(e){return!e})}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[]),d.default.createElement(t.Box,{sx:{position:"fixed",width:"100%",left:0,top:0,zIndex:"teal"===a?5e3:-1,pointerEvents:"none",display:l?"initial":"none"}},d.default.createElement(t.Container,null,d.default.createElement(t.Box,{sx:{display:["none","none","initial","initial"]}},d.default.createElement(re,{indices:[1,2,3,4,5,6,7,8,9,10,11,12],color:a})),d.default.createElement(t.Box,{sx:{display:["none","initial","none","none"]}},d.default.createElement(re,{indices:[1,2,3,4,5,6,7,8],color:a})),d.default.createElement(t.Box,{sx:{display:["initial","none","none","none"]}},d.default.createElement(re,{indices:[1,2,3,4,5,6],color:a}))))},ne=["red","orange","yellow","green","teal","blue","purple","pink"];function re(e){var n=e.color,r={outerGuideColumn:{borderStyle:"solid",borderWidth:"0px",borderLeftWidth:"teal"===n?"0px":"1px",borderRightWidth:"teal"===n?"0px":"1px",opacity:"teal"==n?.4:1},innerGuideColumn:{borderStyle:"solid",borderWidth:"0px",borderLeftWidth:"0px",borderRightWidth:"0px",opacity:"teal"==n?.4:1}};return d.default.createElement(W,null,e.indices.map(function(e){return d.default.createElement(L,{key:e,start:[e],width:[1,1],dl:.5,dr:.5,sx:m({bg:"teal"===n?"teal":"transparent",height:"100vh"},r.innerGuideColumn)},d.default.createElement(t.Box,{sx:m({mx:["12px",3,3,4],bg:"teal"===n?"background":"transparent",height:"100%",borderLeftColor:"rainbow"===n?ne[e%8]:"muted",borderRightColor:"rainbow"===n?ne[e%8]:"muted"},r.outerGuideColumn)}))}))}var ae=["value","sx"],oe=function(e){var n=e.value,r=e.sx,a=p(e,ae);return d.default.createElement(t.IconButton,m({sx:m({cursor:"pointer",fill:"none",strokeWidth:"2px",stroke:"text",".paren":{opacity:"0"},"@media (hover: hover) and (pointer: fine)":{"&:hover .paren":{opacity:"1"}}},r),"aria-label":"Toggle Menu"},a),!n&&d.default.createElement("svg",{style:{width:"50px",height:"30px",transform:"scale(2)",marginTop:"-3px"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 68 36"},d.default.createElement("line",{x1:"24",y1:"2.1",x2:"24",y2:"6.1"}),d.default.createElement("line",{x1:"24",y1:"24.1",x2:"24",y2:"33.9"}),d.default.createElement("line",{x1:"44",y1:"2.1",x2:"44",y2:"12.1"}),d.default.createElement("line",{x1:"44",y1:"30.1",x2:"44",y2:"33.9"}),d.default.createElement("circle",{cx:"24",cy:"15.1",r:"5"}),d.default.createElement("circle",{cx:"44",cy:"21.1",r:"5"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"})),n&&d.default.createElement("svg",{style:{width:"50px",height:"30px",transform:"scale(2)",marginTop:"-3px"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 68 36"},d.default.createElement("line",{x1:"50.85",y1:"29.79",x2:"17.15",y2:"6.21"}),d.default.createElement("line",{x1:"17.15",y1:"29.79",x2:"50.85",y2:"6.21"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M6.4,1.2c-6.3,10.3-6.3,23.3,0,33.6"}),d.default.createElement("path",{style:{transition:"all 0.2s"},className:"paren",d:"M61.6,34.8c6.3-10.3,6.3-23.3,0-33.6"})))},le=function(n){var r=n.title,a=n.description,o=n.card,l=n.status,i=n.nav,c=n.settings,s=n.footer,u=void 0===s||s,p=n.header,f=void 0===p||p,x=n.metadata,h=void 0===x?"mouse":x,g=n.links,y=void 0===g?"remote":g,E=n.dimmer,b=void 0===E?"bottom":E,v=n.guide,w=void 0===v||v,k=n.scrollbar,C=void 0===k||k,S=n.fade,B=n.container,z=void 0===B||B,L=n.children;(void 0===S||S)&&(L=d.default.createElement(Q,{duration:250},L)),z&&(L=d.default.createElement(t.Box,{sx:{mb:[8,8,9,10]}},d.default.createElement(t.Container,null,L)));var A=t.useThemeUI().theme;e.useEffect(function(){if(A){var e=window.matchMedia("(min-width: "+A.breakpoints[1]+")");return e.onchange=function(e){e.matches&&null!=c&&c.value&&null!=c&&c.onClick&&(null==c||c.onClick())},function(){e.onchange=null}}},[null==A?void 0:A.breakpoints,null==c?void 0:c.value,null==c?void 0:c.onClick]);var T=[d.default.createElement(P,{key:"dimmer",sx:{color:"primary",mt:"-2px",display:["block","block","top"===b?"block":"none","top"===b?"block":"none"]}})];return c&&T.push(d.default.createElement(oe,m({key:"settings",sx:{mr:["2px"],display:["inherit","inherit","none","none"]}},c))),d.default.createElement(d.default.Fragment,null,w&&d.default.createElement(te,{color:w}),C&&d.default.createElement(ee,null),d.default.createElement(M,{card:o,description:a,title:r}),d.default.createElement(t.Flex,{sx:{flexDirection:"column",minHeight:"100vh"}},f&&d.default.createElement(t.Box,{as:"header",sx:{width:"100%",borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderBottomWidth:"1px",position:"sticky",top:0,bg:"background",height:"56px",zIndex:2e3}},d.default.createElement(t.Container,null,d.default.createElement(j,{mode:y,status:l,nav:i,menuItems:T}))),d.default.createElement(t.Box,{sx:{width:"100%",flex:"1 1 auto"}},L),u&&d.default.createElement(t.Box,{as:"footer",sx:{width:"100%",borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderTopWidth:"1px"}},d.default.createElement(t.Container,null,d.default.createElement(N,null))),"bottom"===b&&d.default.createElement(t.Box,{sx:{display:["none","none","initial","initial"],position:["fixed"],right:[13],bottom:[17,17,15,15]}},d.default.createElement(P,null)),h&&d.default.createElement(X,{mode:h})))},ie=["label","value","sx","children"],ce=function(e){var n=e.label,r=e.value,a=e.sx,o=e.children,l=p(e,ie),i=a&&a.color?a.color:"primary",c=l&&(l.onClick||l.onDoubleClick);return d.default.createElement(t.Box,m({as:c?"button":"span",role:"checkbox","aria-checked":r,"aria-label":n,sx:m({display:"inline-block",fontSize:[1,1,1,2],fontFamily:"mono",letterSpacing:"mono",cursor:c?"pointer":"inherit",color:i,backgroundColor:"transparent",borderStyle:"solid",borderColor:i,lineHeight:"body",borderWidth:"0px",borderBottomWidth:"1px",textTransform:"uppercase",userSelect:"none",transition:"opacity 0.05s",pt:["1px"],pb:["2px"],px:[0],m:[0],opacity:null==r||r?1:"primary"==i?.24:.33},a)},l),o)},de=["values","setValues","label","colors","showAll","multiSelect"],se={label:{fontFamily:"mono",letterSpacing:"mono",fontSize:[1,1,1,2],color:"secondary",userSelect:"none",textTransform:"uppercase"}},ue=function(e,t,n){return void 0===n&&(n={}),Object.keys(e).reduce(function(e,r){var a;return Object.assign(e,((a={})[r]=n[r]||t,a))},{})},me=function(e){return Object.keys(e).filter(function(t){return e[t]}).length==Object.keys(e).length},pe=function(e){var t,n=e.values,r=e.multiSelect,a=e.setValues,o=e.value,l=me(n),i="all"===o;if(r)if(i&&!l)t=ue(n,!0);else if(i&&l)t=ue(n,!1);else{var c;t=m({},n,((c={})[o]=!n[o],c))}else if(i&&!l)t=ue(n,!0);else if(i&&l);else{var d;t=ue(n,!1,((d={})[o]=!0,d))}t&&a(t)},fe={xs:[1],sm:[3],md:[5],lg:[7],xl:[9]},xe=function(e){var n,r=e.children,a=e.variant,o=void 0===a?"h1":a;return"h1"===o&&(n=[4,"27px","42px","54px"]),"h2"===o&&(n=[4,4,"14px","54px"]),d.default.createElement(d.default.Fragment,null,d.default.createElement(L,{start:[1,4,8,8],width:[1,1,1,1]},d.default.createElement(t.Box,{sx:{mt:n,fontFamily:"faux",letterSpacing:"faux",fontSize:[2,2,2,3],textAlign:"right"}},"/")),d.default.createElement(L,{start:[2,5,9,9],width:[3,3,2,2]},d.default.createElement(t.Box,{sx:{mt:n,fontFamily:"faux",letterSpacing:"faux",fontSize:[2,2,2,3],height:["100%","0px","0px","0px"]}},r)))},he=["size","inverted","sx"],ge=e.forwardRef(function(e,n){var r,a=e.size,o=void 0===a?"sm":a,l=e.inverted,i=e.sx,c=p(e,he),s=m(((r={color:l?"secondary":"primary",borderColor:"secondary",borderStyle:"solid",borderWidth:"0px",borderBottomWidth:"1px",borderRadius:"0px",transition:"border 0.15s"}).borderBottomWidth="1px",r.width="calc(min(15ch, 100%))",r.p=[0],r.py=["2px"],r["input::-webkit-outer-spin-button"]={WebkitAppearance:"none",margin:0},r["input::-webkit-inner-spin-button"]={WebkitAppearance:"none",margin:0},r[":focus"]={borderColor:"primary"},r[":focus-visible"]={outline:"none !important",background:"none !important"},r),g(o),i);return d.default.createElement(t.Input,m({},c,{ref:n,sx:s}))}),ye=["children","size","sx","sxSelect"],Ee=["sx"],be=e.forwardRef(function(e,n){var r=e.sx,a=p(e,Ee),o=r&&r.color?r.color:"primary",l=t.useThemeUI().theme.rawColors;return d.default.createElement(t.Slider,m({ref:n,sx:m({"&::-webkit-slider-thumb":{height:[22,18,16],width:[22,18,16],boxShadow:"0 0 0 0px "+l.secondary,transition:"box-shadow .15s ease"},"&::-moz-range-thumb":{height:[22,18,16],width:[22,18,16],boxShadow:"0 0 0 0px "+l.secondary,transition:"box-shadow .15s ease"},":focus-visible":{outline:"none !important",background:l.secondary+" !important"},":focus":{color:o,"&::-webkit-slider-thumb":{boxShadow:"0 0 0 4px "+l.secondary},"&::-moz-range-thumb":{boxShadow:"0 0 0 4px "+l.secondary}},color:o},r)},a))}),ve={reset:{verticalAlign:"baseline",border:0,outline:0,margin:0,padding:0},row:{borderStyle:"solid",borderWidth:"0px",borderTopWidth:"1px",borderColor:"muted",pt:[3,3,3,"20px"],pb:[3,3,3,"20px"],mb:["2px"]},header:{display:"block",textTransform:"uppercase",letterSpacing:"smallcaps",fontFamily:"heading",fontSize:[2,2,2,3]},index:{display:"block",textTransform:"uppercase",letterSpacing:"smallcaps",fontFamily:"heading",fontSize:[2,2,2,3]},entry:{display:"block",fontSize:[2,2,2,3],fontFamily:"faux",letterSpacing:"faux",mb:["1px"],mt:[2,0,0,0]}},we=["value","onClick","disabled","sx"],ke=e.forwardRef(function(e,r){var a=e.value,o=e.onClick,l=e.disabled,i=e.sx,c=p(e,we),s=i&&i.color?i.color:"primary";return d.default.createElement(t.Box,m({ref:r,as:"button",onClick:o,role:"checkbox","aria-checked":a=!l&&a,"aria-label":"Toggle",sx:m({border:"none",background:"none",cursor:l?"default":"pointer",p:[0],m:[0],display:"inline-block"},i)},c),d.default.createElement(t.Box,{sx:{width:"50px",height:"20px",borderRadius:"20px",backgroundColor:a?n.transparentize(s,"primary"==s?.5:.45):"muted",position:"relative",transition:"0.15s",display:"inline-block"}},d.default.createElement(t.Box,{sx:{width:"14px",height:"14px",borderRadius:"7px",position:"absolute",left:a?"32px":"4px",top:"3px",backgroundColor:a?s:"secondary",transition:"0.15s"}})))}),Ce={month:"short",day:"numeric",year:"numeric"},Se=function(e,t,n){var r;if(!n)return null;var a="string"==typeof n?n:Ce[t],o=e.toLocaleString("default",((r={})[t]=a,r));return"numeric"===a&&"day"===t?o.padStart(2,"0"):o};exports.Badge=function(e){var r=e.sx,a=e.children,o=p(e,f),l=r&&r.color?r.color:"primary";return d.default.createElement(t.Box,m({sx:m({display:"inline-block",width:"fit-content",height:["24px","24px","24px","26px"],borderRadius:"5px",backgroundColor:"primary"==l||"secondary"==l?"muted":n.transparentize(l,.7),textAlign:"center",userSelect:"none",fontSize:[2,2,2,3]},r)},o),d.default.createElement(t.Box,{sx:{letterSpacing:"0.02em",fontFamily:"mono",mt:["1px","1px","1px","0px"],px:[1,1,1,"5px"],color:l}},a))},exports.Button=E,exports.Callout=v,exports.Colorbar=function(n){var r=n.colormap,a=n.label,o=n.clim,l=n.setClim,i=n.setClimStep,c=void 0===i?1:i,s=n.discrete,u=n.units,f=n.width,x=n.height,h=n.format,g=void 0===h?function(e){return e}:h,y=n.horizontal,E=void 0!==y&&y,b=n.bottom,v=void 0!==b&&b,z=n.sx,L=n.sxClim,M=p(n,w);if(!Array.isArray(r))throw new Error("expected array for colormap, got '"+r+"'.");var A,T,W,F=[e.useRef(),e.useRef()],I=e.useState(!1),R=I[0],D=I[1],O=e.useState(!1),H=O[0],_=O[1],j=0,V=null,N=[0,0],G=c,P=function(e){"min"!==V||R||D(!0),"max"!==V||H||_(!0),W=e.pageX-A,j=e.pageY-T,E?("min"===V&&l(function(e){return[Math.min(N[0]+W*G,N[1]),e[1]]}),"max"===V&&l(function(e){return[e[0],Math.max(N[1]+W*G,N[0])]})):("min"===V&&l(function(e){return[Math.min(N[0]-j*G,N[1]),e[1]]}),"max"===V&&l(function(e){return[e[0],Math.max(N[1]-j*G,N[0])]}))},U=function(e){T=e.pageY,A=e.pageX,V=e.target.id,N=o,document.body.setAttribute("style",E?"cursor: ew-resize !important":"cursor: ns-resize !important"),document.addEventListener("mousemove",P),window.addEventListener("mouseup",function e(){document.body.setAttribute("style","cursor: unset"),document.removeEventListener("mousemove",P),window.removeEventListener("mouseup",e),"min"===V&&D(!1),"max"===V&&_(!1)})};e.useEffect(function(){var e=function(e){(["ArrowUp","ArrowRight"].includes(e.code)||["ArrowUp","ArrowRight"].includes(e.key))&&function(e){F[0].current===document.activeElement&&(e.preventDefault(),l(function(e){return[Math.min(e[0]+G,e[1]),e[1]]}),F[0].current.focus()),F[1].current===document.activeElement&&(e.preventDefault(),l(function(e){return[e[0],Math.max(e[1]+G,e[0])]}),F[1].current.focus())}(e),(["ArrowDown","ArrowLeft"].includes(e.code)||["ArrowDown","ArrowLeft"].includes(e.key))&&function(e){F[0].current===document.activeElement&&(e.preventDefault(),l(function(e){return[Math.min(e[0]-G,e[1]),e[1]]}),F[0].current.focus()),F[1].current===document.activeElement&&(e.preventDefault(),l(function(e){return[e[0],Math.max(e[1]-G,e[0])]}),F[1].current.focus())}(e)};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}},[o]);var Y=function(){return d.default.createElement(t.Box,{id:"min",ref:F[0],tabIndex:0,sx:m({},k(l),{ml:a?E?v?"0px":"10px":["2px","1px","1px","2px"]:0,mr:E?["2px","1px","1px","2px"]:0,mb:E?0:["-2px","-2px","-2px","-3px"],borderBottom:l?R?function(e){return"solid 1px "+e.colors.primary}:function(e){return"solid 1px "+e.colors.secondary}:"unset",cursor:l?E?"ew-resize":"ns-resize":"default"},L),onMouseDown:l?U:function(){},onClick:function(){return F[0].current.focus()}},g(o[0]))},q=function(){return d.default.createElement(t.Box,{id:"max",ref:F[1],tabIndex:0,sx:m({},k(l),{ml:["2px","1px","1px","2px"],mt:E?0:["-2px","-3px","-3px","-3px"],borderBottom:l?H?function(e){return"solid 1px "+e.colors.primary}:function(e){return"solid 1px "+e.colors.secondary}:"unset",cursor:l?E?"ew-resize":"ns-resize":"default"},L),onMouseDown:l?U:function(){},onClick:function(){return F[1].current.focus()}},g(o[1]))};return d.default.createElement(t.Flex,m({},M,{sx:m({flexDirection:"row",alignItems:"start",justifyContent:"flex-start",gap:["3px","6px","6px","7px"],height:E?"unset":"100%"},z)}),a&&d.default.createElement(B,{label:a,units:u,horizontal:E}),d.default.createElement(t.Flex,{sx:{flexGrow:E?1:"unset",flexDirection:"column",ml:v&&a?"4px":"0px",height:E?"unset":"100%"}},d.default.createElement(t.Flex,{sx:{gap:["3px","6px","6px","7px"],height:E?"unset":"100%"}},E&&o&&!v&&d.default.createElement(Y,null),d.default.createElement(S,{colormap:r,horizontal:E,discrete:s,width:f,height:x}),E&&o&&!v&&d.default.createElement(q,null)),E&&o&&v&&d.default.createElement(t.Flex,{sx:{justifyContent:"space-between"}},d.default.createElement(Y,null),d.default.createElement(q,null))),!E&&d.default.createElement(t.Flex,{sx:{flexDirection:"column-reverse",justifyContent:"space-between",height:x||C.height}},o&&d.default.createElement(Y,null),o&&d.default.createElement(q,null)))},exports.Column=L,exports.Custom404=function(){return d.default.createElement(le,{footer:!1,title:"404 / carbonplan"},d.default.createElement(W,{sx:{mb:[5,0,0],pt:[0,0,6]}},d.default.createElement(L,{start:[1,1,3,3],width:[6,4,4,4]},d.default.createElement(t.Styled.h1,null,"Oops!"),d.default.createElement(t.Box,{sx:{fontSize:[4,4,4,5],lineHeight:"h3",mt:[3,4,4],mb:[2,3,3],maxWidth:["90%","90%","400px"]}},"Sorry but we can't seem to find the page you are looking for."),d.default.createElement(t.Box,{sx:{color:"secondary",fontFamily:"mono",letterSpacing:"mono",fontSize:[2,2,2,3],mt:[4,5,5]}},"ERROR CODE 404")),d.default.createElement(L,{start:[2,5,7,7],width:[4,4,4,4]},d.default.createElement(t.Box,{sx:{width:["100%"],mt:[2,4,4,5],fill:"primary"}},d.default.createElement(o.PoopSad,{sx:{width:"100%",height:"auto"}})))))},exports.Dimmer=P,exports.Expander=function(e){var n=e.value;return d.default.createElement(t.IconButton,{onClick:e.onClick,id:e.id,role:"checkbox","aria-checked":n,"aria-label":"Expand",sx:m({display:"inline-block",width:24,height:24,p:[1],cursor:"pointer",fill:"secondary",stroke:"secondary","@media (hover: hover) and (pointer: fine)":{"&:hover":{fill:"primary",stroke:"primary"}}},e.sx)},d.default.createElement("svg",{viewBox:"0 0 16 16"},d.default.createElement("path",{d:"M8,0 V16 M0,8 H16",style:{strokeWidth:2,transition:"0.25s all",transformOrigin:"8px 8px",transform:n?"rotate(45deg)":""}})))},exports.FadeIn=Q,exports.Filter=function(e){var n=e.values,r=e.setValues,a=e.label,o=e.colors,l=e.showAll,i=void 0!==l&&l,c=e.multiSelect,s=void 0!==c&&c,u=p(e,de);return d.default.createElement(t.Box,u,a&&d.default.createElement(t.Box,{sx:se.label},a),d.default.createElement(t.Box,{sx:{mt:a?[3]:0}},i&&d.default.createElement(ce,{onClick:function(){return pe({values:n,multiSelect:s,setValues:r,value:"all"})},value:me(n),sx:{mr:[2]}},"All"),Object.keys(n).map(function(e,t){return d.default.createElement(ce,{onClick:function(){return pe({values:n,multiSelect:s,setValues:r,value:e})},onDoubleClick:function(){return pe({values:n,multiSelect:!1,setValues:r,value:e})},key:t,value:n[e],sx:{width:"max-content",color:o?o[e]:"primary",mr:[2],mb:[1]}},e)})))},exports.Footer=N,exports.Group=function(e){var n,r=e.children,a=e.direction,o=void 0===a?"vertical":a,l=e.spacing,i=void 0===l?"md":l;if("string"==typeof i?n=fe[i]:"number"==typeof i?n=[i]:Array.isArray(i)&&i.every(function(e){return"number"==typeof e})&&(n=i),!n)throw new Error("Invalid spacing size. Must be numeric value(s) or one of xs, sm, md, lg, or xl");if(!["horizontal","vertical"].includes(o))throw new Error("Invalid direction value. Must be either horizontal or vertical");var c="vertical"===o?"mt":"ml",s="horizontal"===o?{display:"inline-block"}:{};return d.default.createElement(t.Box,null,d.default.Children.map(r,function(e,r){var a;return d.default.createElement(t.Box,{sx:m((a={},a[c]=r>0?n:0,a),s)},e)}))},exports.Guide=te,exports.Header=j,exports.Heading=function(e){var n=e.children,r=e.sidenote,a=e.description,o=e.descriptionStart,l=void 0===o?[1,3,5,5]:o,i=e.descriptionWidth,c=void 0===i?[5,5,5,4]:i;return d.default.createElement(W,{sx:{mt:[5,6,7,8],mb:[5,6,7,8]}},d.default.createElement(L,{start:[1,1,2,2],width:[6,2,3,3]},d.default.createElement(t.Box,{as:"h1",variant:"styles.h1",sx:m({my:[0,0,0,0]},e.sx)},n)),r&&d.default.createElement(xe,null,r),a&&d.default.createElement(L,{start:l,width:c},d.default.createElement(t.Box,{sx:{mt:[4,"5px","20px","31px"],fontSize:[2,2,2,3]}},a)))},exports.Input=ge,exports.Layout=le,exports.Link=h,exports.Logo=A,exports.Menu=I,exports.Meta=M,exports.Monogram=V,exports.Row=W,exports.Scrollbar=ee,exports.Select=function(n){var r,o,l,i,c,s,u,f=n.children,x=n.size,h=void 0===x?"sm":x,y=n.sx,E=n.sxSelect,b=p(n,ye),v=y&&y.color?y.color:"primary",w=g(h),k=e.useRef(null),C=b.onChange,S=(o=function(e){return"onChange"!==e},function(e){var t={};for(var n in e)o(n||"")&&(t[n]=e[n]);return t})(b);if(!["xs","sm","md"].includes(h))throw new Error("Size must be xs, sm, or md");return"xs"===h&&(i=[14,14,14,16],c=[14,14,14,14],u=["1px"],s=["-14px","-14px","-14px","-16px"]),"sm"===h&&(i=[15,15,15,20],c=[15,15,15,20],u=["1px"],s=["-16px","-16px","-16px","-20px"]),"md"===h&&(i=[20,20,20,20],c=[20,20,20,20],u=["2px"],s=["-20px","-20px","-20px","-20px"]),l=c.map(function(e){return e+12}),d.default.createElement(t.Box,{sx:m({display:"inline-block"},y)},d.default.createElement(t.Box,m({as:"select",ref:k,onChange:function(e){k.current.blur(),C&&C(e)},sx:m({},w,(r={lineHeight:"normal",cursor:"pointer",WebkitAppearance:"none",MozAppearance:"none",pb:["5px"],bg:"transparent",pr:l,border:"none",borderBottomStyle:"solid",borderBottomWidth:"1px",borderBottomColor:"primary",borderRadius:"0px",color:"text",width:"fit-content"},r.color=v,r.userSelect="none",r["@media (hover: none) and (pointer: coarse)"]={"&:focus-visible":{outline:"none !important",background:"transparent !important"}},r),E)},S),f),d.default.createElement(a.Arrow,{sx:{width:c,height:i,position:"relative",ml:s,top:u,fill:"secondary",transform:"rotate(135deg)",pointerEvents:"none"}}))},exports.Settings=oe,exports.Sidenote=xe,exports.Slider=be,exports.Table=function(e){var n=e.data,r=e.sx,a=e.color,o=e.header,l=e.columns,i=e.start,c=e.width,s=e.index,u=void 0===s||s,p=e.borderBottom,f=void 0===p||p,x=e.borderTop,h=void 0===x||x;if(!i||!l||!c)throw new Error("Must provide columns, start, and width");return d.default.createElement(t.Box,{as:"table",sx:m({display:"block"},r)},d.default.createElement(t.Box,{as:"tbody",sx:{display:"block"}},o&&d.default.createElement(W,{as:"tr",sx:m({},ve.reset,ve.header,ve.row,{color:a,borderTopWidth:h?"1px":"0px"})},d.default.createElement(L,{as:"td",start:[1],width:l,sx:ve.index},o)),n.map(function(e,t){return d.default.createElement(W,{as:"tr",columns:l,key:t,sx:m({},ve.reset,ve.row,{pb:f&&t===n.length-1?["18px","18px","18px","22px"]:[3,3,3,"20px"],borderBottomWidth:f&&t===n.length-1?"1px":"0px",borderTopWidth:h||0!==t||o?"1px":"0px"})},e.map(function(e,t){return d.default.createElement(L,{as:"td",key:t,start:i[t],width:c[t],sx:m({},ve.reset,0==t&&u?ve.index:ve.entry)},e)}))})))},exports.Tag=ce,exports.Toggle=ke,exports.Tracking=function(e){var t=e.id;return t?d.default.createElement(d.default.Fragment,null,d.default.createElement("script",{async:!0,src:"https://www.googletagmanager.com/gtag/js?id="+t}),d.default.createElement("script",{dangerouslySetInnerHTML:{__html:"\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '"+t+"', {\n page_path: window.location.pathname,\n });\n "}})):null},exports.Tray=function(e){var n=e.expanded,r=e.sx,a=e.children;return d.default.createElement(d.default.Fragment,null,d.default.createElement(t.Box,{sx:{position:"fixed",top:"56px",bottom:"0px",left:"0px",width:"calc(100vw)",mt:["56px"],bg:"background",zIndex:1e3,transition:"opacity 0.15s",opacity:n?.9:0,pointerEvents:n?"all":"none"}}),d.default.createElement(t.Box,{sx:m({position:"fixed",width:"calc(100vw)",top:"0px",mt:["56px"],pb:[6,7,7,8],pt:[5,6,7,8],bg:"background",zIndex:1100,borderStyle:"solid",borderColor:"muted",borderWidth:"0px",borderBottomWidth:"1px",transition:"transform 0.15s",ml:[-3,-4,-5,-6],pl:[3,4,5,6],pr:[3,4,5,6],transform:n?"translateY(0)":"translateY(-100%)"},r)},d.default.createElement(W,null,d.default.createElement(L,{start:[1,1,1,1],width:[6,8,10,10]},a))))},exports.formatDate=function(e,t){void 0===t&&(t=Ce);var n=new Date(e.replace(/-/g,"/"));return[Se(n,"month",t.month),Se(n,"day",t.day),Se(n,"year",t.year)].filter(Boolean).join(" ")},exports.getScrollbarWidth=$;
2927
2
  //# sourceMappingURL=index.js.map