UNPKG

17.6 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5var React = require('react');
6var provider = require('@chakra-ui/provider');
7var theme = require('@chakra-ui/theme');
8var toast = require('@chakra-ui/toast');
9var utils = require('@chakra-ui/utils');
10var accordion = require('@chakra-ui/accordion');
11var alert = require('@chakra-ui/alert');
12var avatar = require('@chakra-ui/avatar');
13var breadcrumb = require('@chakra-ui/breadcrumb');
14var button = require('@chakra-ui/button');
15var checkbox = require('@chakra-ui/checkbox');
16var closeButton = require('@chakra-ui/close-button');
17var counter = require('@chakra-ui/counter');
18var cssReset = require('@chakra-ui/css-reset');
19var editable = require('@chakra-ui/editable');
20var formControl = require('@chakra-ui/form-control');
21var controlBox = require('@chakra-ui/control-box');
22var hooks = require('@chakra-ui/hooks');
23var icon = require('@chakra-ui/icon');
24var image = require('@chakra-ui/image');
25var input = require('@chakra-ui/input');
26var layout = require('@chakra-ui/layout');
27var mediaQuery = require('@chakra-ui/media-query');
28var table = require('@chakra-ui/table');
29var menu = require('@chakra-ui/menu');
30var modal = require('@chakra-ui/modal');
31var numberInput = require('@chakra-ui/number-input');
32var pinInput = require('@chakra-ui/pin-input');
33var popover = require('@chakra-ui/popover');
34var popper = require('@chakra-ui/popper');
35var portal = require('@chakra-ui/portal');
36var progress = require('@chakra-ui/progress');
37var radio = require('@chakra-ui/radio');
38var select = require('@chakra-ui/select');
39var skeleton = require('@chakra-ui/skeleton');
40var slider = require('@chakra-ui/slider');
41var spinner = require('@chakra-ui/spinner');
42var stat = require('@chakra-ui/stat');
43var _switch = require('@chakra-ui/switch');
44var system = require('@chakra-ui/system');
45var tabs = require('@chakra-ui/tabs');
46var tag = require('@chakra-ui/tag');
47var textarea = require('@chakra-ui/textarea');
48var tooltip = require('@chakra-ui/tooltip');
49var transition = require('@chakra-ui/transition');
50var visuallyHidden = require('@chakra-ui/visually-hidden');
51
52function _interopNamespace(e) {
53 if (e && e.__esModule) return e;
54 var n = Object.create(null);
55 if (e) {
56 Object.keys(e).forEach(function (k) {
57 if (k !== 'default') {
58 var d = Object.getOwnPropertyDescriptor(e, k);
59 Object.defineProperty(n, k, d.get ? d : {
60 enumerable: true,
61 get: function () { return e[k]; }
62 });
63 }
64 });
65 }
66 n["default"] = e;
67 return Object.freeze(n);
68}
69
70var React__namespace = /*#__PURE__*/_interopNamespace(React);
71
72function _objectWithoutPropertiesLoose(source, excluded) {
73 if (source == null) return {};
74 var target = {};
75 var sourceKeys = Object.keys(source);
76 var key, i;
77
78 for (i = 0; i < sourceKeys.length; i++) {
79 key = sourceKeys[i];
80 if (excluded.indexOf(key) >= 0) continue;
81 target[key] = source[key];
82 }
83
84 return target;
85}
86
87var _excluded = ["children", "toastOptions"];
88var ChakraProvider = function ChakraProvider(_ref) {
89 var children = _ref.children,
90 toastOptions = _ref.toastOptions,
91 restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
92
93 return /*#__PURE__*/React__namespace.createElement(provider.ChakraProvider, restProps, /*#__PURE__*/React__namespace.createElement(toast.ToastProvider, toastOptions, children));
94};
95ChakraProvider.defaultProps = {
96 theme: theme.theme
97};
98
99/**
100 * NOTE: This got too complex to manage, and it's not worth the extra complexity.
101 * We'll re-evaluate this API in the future releases.
102 *
103 * Function to override or customize the Chakra UI theme conveniently.
104 * First extension overrides the baseTheme and following extensions override the preceding extensions.
105 *
106 * @example:
107 * import { theme as baseTheme, extendTheme, withDefaultColorScheme } from '@chakra-ui/react'
108 *
109 * const customTheme = extendTheme(
110 * {
111 * colors: {
112 * brand: {
113 * 500: "#b4d455",
114 * },
115 * },
116 * },
117 * withDefaultColorScheme({ colorScheme: "red" }),
118 * baseTheme // optional
119 * )
120 */
121function extendTheme() {
122 for (var _len = arguments.length, extensions = new Array(_len), _key = 0; _key < _len; _key++) {
123 extensions[_key] = arguments[_key];
124 }
125
126 var overrides = [].concat(extensions);
127 var baseTheme = extensions[extensions.length - 1];
128
129 if (theme.isChakraTheme(baseTheme) && // this ensures backward compatibility
130 // previously only `extendTheme(override, baseTheme?)` was allowed
131 overrides.length > 1) {
132 overrides = overrides.slice(0, overrides.length - 1);
133 } else {
134 baseTheme = theme.theme;
135 }
136
137 return utils.pipe.apply(void 0, overrides.map(function (extension) {
138 return function (prevTheme) {
139 return utils.isFunction(extension) ? extension(prevTheme) : mergeThemeOverride(prevTheme, extension);
140 };
141 }))(baseTheme);
142}
143function mergeThemeOverride() {
144 for (var _len2 = arguments.length, overrides = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
145 overrides[_key2] = arguments[_key2];
146 }
147
148 return utils.mergeWith.apply(void 0, [{}].concat(overrides, [mergeThemeCustomizer]));
149}
150
151function mergeThemeCustomizer(source, override, key, object) {
152 if ((utils.isFunction(source) || utils.isFunction(override)) && Object.prototype.hasOwnProperty.call(object, key)) {
153 return function () {
154 var sourceValue = utils.isFunction(source) ? source.apply(void 0, arguments) : source;
155 var overrideValue = utils.isFunction(override) ? override.apply(void 0, arguments) : override;
156 return utils.mergeWith({}, sourceValue, overrideValue, mergeThemeCustomizer);
157 };
158 } // fallback to default behaviour
159
160
161 return undefined;
162}
163
164function withDefaultColorScheme(_ref) {
165 var colorScheme = _ref.colorScheme,
166 components = _ref.components;
167 return function (theme) {
168 var names = Object.keys(theme.components || {});
169
170 if (Array.isArray(components)) {
171 names = components;
172 } else if (utils.isObject(components)) {
173 names = Object.keys(components);
174 }
175
176 return mergeThemeOverride(theme, {
177 components: utils.fromEntries(names.map(function (componentName) {
178 var withColorScheme = {
179 defaultProps: {
180 colorScheme: colorScheme
181 }
182 };
183 return [componentName, withColorScheme];
184 }))
185 });
186 };
187}
188
189function withDefaultSize(_ref) {
190 var size = _ref.size,
191 components = _ref.components;
192 return function (theme) {
193 var names = Object.keys(theme.components || {});
194
195 if (Array.isArray(components)) {
196 names = components;
197 } else if (utils.isObject(components)) {
198 names = Object.keys(components);
199 }
200
201 return mergeThemeOverride(theme, {
202 components: utils.fromEntries(names.map(function (componentName) {
203 var withSize = {
204 defaultProps: {
205 size: size
206 }
207 };
208 return [componentName, withSize];
209 }))
210 });
211 };
212}
213
214function withDefaultVariant(_ref) {
215 var variant = _ref.variant,
216 components = _ref.components;
217 return function (theme) {
218 var names = Object.keys(theme.components || {});
219
220 if (Array.isArray(components)) {
221 names = components;
222 } else if (utils.isObject(components)) {
223 names = Object.keys(components);
224 }
225
226 return mergeThemeOverride(theme, {
227 components: utils.fromEntries(names.map(function (componentName) {
228 var withVariant = {
229 defaultProps: {
230 variant: variant
231 }
232 };
233 return [componentName, withVariant];
234 }))
235 });
236 };
237}
238
239function withDefaultProps(_ref) {
240 var _ref$defaultProps = _ref.defaultProps,
241 colorScheme = _ref$defaultProps.colorScheme,
242 variant = _ref$defaultProps.variant,
243 size = _ref$defaultProps.size,
244 components = _ref.components;
245
246 var identity = function identity(t) {
247 return t;
248 };
249
250 var fns = [colorScheme ? withDefaultColorScheme({
251 colorScheme: colorScheme,
252 components: components
253 }) : identity, size ? withDefaultSize({
254 size: size,
255 components: components
256 }) : identity, variant ? withDefaultVariant({
257 variant: variant,
258 components: components
259 }) : identity];
260 return function (theme) {
261 return mergeThemeOverride(utils.pipe.apply(void 0, fns)(theme));
262 };
263}
264
265exports.ChakraProvider = ChakraProvider;
266exports.extendTheme = extendTheme;
267exports.mergeThemeOverride = mergeThemeOverride;
268exports.withDefaultColorScheme = withDefaultColorScheme;
269exports.withDefaultProps = withDefaultProps;
270exports.withDefaultSize = withDefaultSize;
271exports.withDefaultVariant = withDefaultVariant;
272Object.keys(theme).forEach(function (k) {
273 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
274 enumerable: true,
275 get: function () { return theme[k]; }
276 });
277});
278Object.keys(toast).forEach(function (k) {
279 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
280 enumerable: true,
281 get: function () { return toast[k]; }
282 });
283});
284Object.keys(accordion).forEach(function (k) {
285 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
286 enumerable: true,
287 get: function () { return accordion[k]; }
288 });
289});
290Object.keys(alert).forEach(function (k) {
291 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
292 enumerable: true,
293 get: function () { return alert[k]; }
294 });
295});
296Object.keys(avatar).forEach(function (k) {
297 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
298 enumerable: true,
299 get: function () { return avatar[k]; }
300 });
301});
302Object.keys(breadcrumb).forEach(function (k) {
303 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
304 enumerable: true,
305 get: function () { return breadcrumb[k]; }
306 });
307});
308Object.keys(button).forEach(function (k) {
309 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
310 enumerable: true,
311 get: function () { return button[k]; }
312 });
313});
314Object.keys(checkbox).forEach(function (k) {
315 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
316 enumerable: true,
317 get: function () { return checkbox[k]; }
318 });
319});
320Object.keys(closeButton).forEach(function (k) {
321 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
322 enumerable: true,
323 get: function () { return closeButton[k]; }
324 });
325});
326Object.keys(counter).forEach(function (k) {
327 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
328 enumerable: true,
329 get: function () { return counter[k]; }
330 });
331});
332Object.keys(cssReset).forEach(function (k) {
333 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
334 enumerable: true,
335 get: function () { return cssReset[k]; }
336 });
337});
338Object.keys(editable).forEach(function (k) {
339 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
340 enumerable: true,
341 get: function () { return editable[k]; }
342 });
343});
344Object.keys(formControl).forEach(function (k) {
345 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
346 enumerable: true,
347 get: function () { return formControl[k]; }
348 });
349});
350Object.keys(controlBox).forEach(function (k) {
351 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
352 enumerable: true,
353 get: function () { return controlBox[k]; }
354 });
355});
356Object.keys(hooks).forEach(function (k) {
357 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
358 enumerable: true,
359 get: function () { return hooks[k]; }
360 });
361});
362Object.keys(icon).forEach(function (k) {
363 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
364 enumerable: true,
365 get: function () { return icon[k]; }
366 });
367});
368Object.keys(image).forEach(function (k) {
369 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
370 enumerable: true,
371 get: function () { return image[k]; }
372 });
373});
374Object.keys(input).forEach(function (k) {
375 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
376 enumerable: true,
377 get: function () { return input[k]; }
378 });
379});
380Object.keys(layout).forEach(function (k) {
381 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
382 enumerable: true,
383 get: function () { return layout[k]; }
384 });
385});
386Object.keys(mediaQuery).forEach(function (k) {
387 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
388 enumerable: true,
389 get: function () { return mediaQuery[k]; }
390 });
391});
392Object.keys(table).forEach(function (k) {
393 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
394 enumerable: true,
395 get: function () { return table[k]; }
396 });
397});
398Object.keys(menu).forEach(function (k) {
399 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
400 enumerable: true,
401 get: function () { return menu[k]; }
402 });
403});
404Object.keys(modal).forEach(function (k) {
405 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
406 enumerable: true,
407 get: function () { return modal[k]; }
408 });
409});
410Object.keys(numberInput).forEach(function (k) {
411 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
412 enumerable: true,
413 get: function () { return numberInput[k]; }
414 });
415});
416Object.keys(pinInput).forEach(function (k) {
417 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
418 enumerable: true,
419 get: function () { return pinInput[k]; }
420 });
421});
422Object.keys(popover).forEach(function (k) {
423 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
424 enumerable: true,
425 get: function () { return popover[k]; }
426 });
427});
428Object.keys(popper).forEach(function (k) {
429 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
430 enumerable: true,
431 get: function () { return popper[k]; }
432 });
433});
434Object.keys(portal).forEach(function (k) {
435 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
436 enumerable: true,
437 get: function () { return portal[k]; }
438 });
439});
440Object.keys(progress).forEach(function (k) {
441 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
442 enumerable: true,
443 get: function () { return progress[k]; }
444 });
445});
446Object.keys(radio).forEach(function (k) {
447 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
448 enumerable: true,
449 get: function () { return radio[k]; }
450 });
451});
452Object.keys(select).forEach(function (k) {
453 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
454 enumerable: true,
455 get: function () { return select[k]; }
456 });
457});
458Object.keys(skeleton).forEach(function (k) {
459 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
460 enumerable: true,
461 get: function () { return skeleton[k]; }
462 });
463});
464Object.keys(slider).forEach(function (k) {
465 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
466 enumerable: true,
467 get: function () { return slider[k]; }
468 });
469});
470Object.keys(spinner).forEach(function (k) {
471 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
472 enumerable: true,
473 get: function () { return spinner[k]; }
474 });
475});
476Object.keys(stat).forEach(function (k) {
477 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
478 enumerable: true,
479 get: function () { return stat[k]; }
480 });
481});
482Object.keys(_switch).forEach(function (k) {
483 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
484 enumerable: true,
485 get: function () { return _switch[k]; }
486 });
487});
488Object.keys(system).forEach(function (k) {
489 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
490 enumerable: true,
491 get: function () { return system[k]; }
492 });
493});
494Object.keys(tabs).forEach(function (k) {
495 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
496 enumerable: true,
497 get: function () { return tabs[k]; }
498 });
499});
500Object.keys(tag).forEach(function (k) {
501 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
502 enumerable: true,
503 get: function () { return tag[k]; }
504 });
505});
506Object.keys(textarea).forEach(function (k) {
507 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
508 enumerable: true,
509 get: function () { return textarea[k]; }
510 });
511});
512Object.keys(tooltip).forEach(function (k) {
513 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
514 enumerable: true,
515 get: function () { return tooltip[k]; }
516 });
517});
518Object.keys(transition).forEach(function (k) {
519 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
520 enumerable: true,
521 get: function () { return transition[k]; }
522 });
523});
524Object.keys(visuallyHidden).forEach(function (k) {
525 if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
526 enumerable: true,
527 get: function () { return visuallyHidden[k]; }
528 });
529});