@ballistix.digital/react-components 0.1.13 → 0.3.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/dist/index.esm.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
2
  import { ArrowPathIcon, ExclamationCircleIcon, CheckIcon, ChevronDownIcon, EllipsisVerticalIcon, ChevronRightIcon, HomeIcon, ChevronLeftIcon, ArrowLongLeftIcon, ArrowLongRightIcon } from '@heroicons/react/20/solid';
3
- import React, { useCallback, useMemo, Children, Fragment, useState, useEffect } from 'react';
3
+ import React, { useMemo, Children, Fragment, useState, useEffect, useCallback } from 'react';
4
+ import get from 'lodash/get';
4
5
  import { Menu, Transition, Dialog } from '@headlessui/react';
5
6
 
6
7
  /******************************************************************************
@@ -29,31 +30,32 @@ var __assign = function() {
29
30
  return __assign.apply(this, arguments);
30
31
  };
31
32
 
33
+ var toClassName = function () {
34
+ var values = [];
35
+ for (var _i = 0; _i < arguments.length; _i++) {
36
+ values[_i] = arguments[_i];
37
+ }
38
+ return values.filter(Boolean).join(' ');
39
+ };
40
+
32
41
  var AvatarElement = function (props) {
33
42
  var src = props.src, placeholder = props.placeholder,
34
43
  // alt = 'avatar',
35
- children = props.children, url = props.url, _a = props.size, size = _a === void 0 ? 'md' : _a, _b = props.figure, figure = _b === void 0 ? 'block' : _b, status = props.status, isDisabled = props.isDisabled, isLoading = props.isLoading, customStyles = props.styles;
36
- var toClassName = useCallback(function () {
37
- var values = [];
38
- for (var _i = 0; _i < arguments.length; _i++) {
39
- values[_i] = arguments[_i];
40
- }
41
- return values.filter(Boolean).join(' ');
42
- }, []);
44
+ children = props.children, url = props.url, _a = props.size, size = _a === void 0 ? 'md' : _a, _b = props.figure, figure = _b === void 0 ? 'block' : _b, status = props.status, isDisabled = props.isDisabled, isLoading = props.isLoading, stylesOverrides = props.styles;
43
45
  var style = useMemo(function () { return ({
44
- loading: toClassName(styles$h.base.loading, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.loading),
45
- spinner: toClassName(styles$h.base.spinner, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.spinner),
46
- empty: toClassName(styles$h.base.empty, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.empty),
47
- placeholder: toClassName(styles$h.base.placeholder, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.placeholder),
48
- container: toClassName(styles$h.base.container, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
49
- indicator: toClassName(styles$h.indicator.container, size && styles$h.indicator[size], figure && styles$h.indicator[figure], status && styles$h.indicator[status], isDisabled && styles$h.indicator.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.indicator),
46
+ loading: toClassName(styles$h.base.loading, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.loading),
47
+ spinner: toClassName(styles$h.base.spinner, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.spinner),
48
+ empty: toClassName(styles$h.base.empty, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.empty),
49
+ placeholder: toClassName(styles$h.base.placeholder, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.placeholder),
50
+ container: toClassName(styles$h.base.container, size && styles$h[size].container, figure && styles$h[figure].container, isDisabled && styles$h.disabled.container, isLoading && styles$h.loading.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
51
+ indicator: toClassName(styles$h.indicator.container, size && styles$h.indicator[size], figure && styles$h.indicator[figure], status && styles$h.indicator[status], isDisabled && styles$h.indicator.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.indicator),
50
52
  }); }, [
51
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
52
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.empty,
53
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.indicator,
54
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.loading,
55
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.placeholder,
56
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.spinner,
53
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container,
54
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.empty,
55
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.indicator,
56
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.loading,
57
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.placeholder,
58
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.spinner,
57
59
  figure,
58
60
  isDisabled,
59
61
  isLoading,
@@ -73,7 +75,7 @@ var AvatarElement = function (props) {
73
75
  return (jsx("a", __assign({ href: url }, { children: jsxs("div", __assign({ className: "flex items-center" }, { children: [jsxs("span", __assign({ className: "inline-block relative" }, { children: [jsx("div", { className: style.container, style: { backgroundImage: "url(".concat(src, ")") } }), status && jsx("span", { className: style.indicator })] })), children && jsx("div", __assign({ className: "ml-3" }, { children: children }))] })) })));
74
76
  };
75
77
 
76
- var base$5 = {
78
+ var base$4 = {
77
79
  loading: 'inline-block relative overflow-hidden bg-gray-50 flex items-center justify-center',
78
80
  empty: 'inline-block relative overflow-hidden bg-gray-50 text-red-400',
79
81
  placeholder: 'relative inline-flex items-center justify-center bg-gray-500',
@@ -121,7 +123,7 @@ var indicator$1 = {
121
123
  blocked: 'bg-red-400',
122
124
  };
123
125
  var styles$h = {
124
- base: base$5,
126
+ base: base$4,
125
127
  xs: xs$1,
126
128
  sm: sm$2,
127
129
  md: md$1,
@@ -135,29 +137,14 @@ var styles$h = {
135
137
  };
136
138
 
137
139
  var ButtonElement = function (props) {
138
- var ref = props.ref, children = props.children, _a = props.type, type = _a === void 0 ? 'primary' : _a, _b = props.size, size = _b === void 0 ? 'md' : _b, _c = props.figure, figure = _c === void 0 ? 'block' : _c, _d = props.status, status = _d === void 0 ? 'idle' : _d, isDisabled = props.isDisabled, customStyles = props.styles, onClick = props.onClick;
139
- var toClassName = useCallback(function () {
140
- var values = [];
141
- for (var _i = 0; _i < arguments.length; _i++) {
142
- values[_i] = arguments[_i];
143
- }
144
- return values.filter(Boolean).join(' ');
145
- }, []);
140
+ var ref = props.ref, children = props.children, _a = props.type, type = _a === void 0 ? 'primary' : _a, _b = props.size, size = _b === void 0 ? 'md' : _b, _c = props.figure, figure = _c === void 0 ? 'block' : _c, _d = props.status, status = _d === void 0 ? 'idle' : _d, isDisabled = props.isDisabled, stylesOverrides = props.styles, onClick = props.onClick;
146
141
  var style = useMemo(function () { return ({
147
- container: toClassName(styles$g.base.container, type && styles$g[type].container, size && styles$g[size].container, figure && styles$g[figure].container, status && styles$g[status].container, isDisabled && styles$g.disabled.container, status === 'loading' && styles$g.loading.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
148
- }); }, [
149
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
150
- figure,
151
- isDisabled,
152
- size,
153
- status,
154
- toClassName,
155
- type,
156
- ]);
142
+ container: toClassName(styles$g.base.container, type && styles$g[type].container, size && styles$g[size].container, figure && styles$g[figure].container, status && styles$g[status].container, isDisabled && styles$g.disabled.container, status === 'loading' && styles$g.loading.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
143
+ }); }, [stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container, figure, isDisabled, size, status, type]);
157
144
  return (jsxs("button", __assign({ type: "button", className: style.container, disabled: isDisabled || status !== 'idle', onClick: onClick, ref: ref }, { children: [status === 'idle' && children, status === 'loading' && (jsxs("div", __assign({ className: styles$g.base.loading }, { children: [jsx(ArrowPathIcon, { className: styles$g.base.spinner }), jsx("p", { children: "Loading..." })] }))), status === 'error' && (jsxs("div", __assign({ className: styles$g.base.loading }, { children: [jsx(ExclamationCircleIcon, { className: styles$g.base.icon }), jsx("p", { children: "Oops" })] }))), status === 'success' && (jsxs("div", __assign({ className: styles$g.base.loading }, { children: [jsx(CheckIcon, { className: styles$g.base.icon }), jsx("p", { children: "Success" })] })))] })));
158
145
  };
159
146
 
160
- var base$4 = {
147
+ var base$3 = {
161
148
  container: 'inline-flex items-center border border-transparent font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500',
162
149
  loading: 'flex gap-2',
163
150
  icon: 'w-5',
@@ -209,7 +196,7 @@ var disabled$1 = {
209
196
  container: 'opacity-20 cursor-not-allowed',
210
197
  };
211
198
  var styles$g = {
212
- base: base$4,
199
+ base: base$3,
213
200
  primary: primary$1,
214
201
  secondary: secondary$1,
215
202
  outline: outline$1,
@@ -227,69 +214,76 @@ var styles$g = {
227
214
  disabled: disabled$1,
228
215
  };
229
216
 
230
- var ButtonGroupElement = function (props) {
231
- var children = props.children, customStyles = props.styles;
232
- var toClassName = useCallback(function () {
233
- var values = [];
234
- for (var _i = 0; _i < arguments.length; _i++) {
235
- values[_i] = arguments[_i];
217
+ var calculateNestedKeys = function (obj, prefix) {
218
+ if (prefix === void 0) { prefix = ''; }
219
+ return Object.keys(obj).reduce(function (acc, k) {
220
+ var pre = prefix.length ? "".concat(prefix, ".") : '';
221
+ // decide to traverse deeper into the object, or just push the key and move on
222
+ if (typeof obj[k] === 'object') {
223
+ acc.push.apply(acc, calculateNestedKeys(obj[k], pre + k));
224
+ }
225
+ else {
226
+ acc.push(pre + k);
236
227
  }
237
- return values.filter(Boolean).join(' ');
228
+ return acc;
238
229
  }, []);
239
- var style = useMemo(function () { return ({
240
- container: toClassName(styles$f.base.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
241
- firstButton: toClassName(styles$f.base.firstButton, customStyles === null || customStyles === void 0 ? void 0 : customStyles.firstButton),
242
- button: toClassName(styles$f.base.button, customStyles === null || customStyles === void 0 ? void 0 : customStyles.button),
243
- lastButton: toClassName(styles$f.base.lastButton, customStyles === null || customStyles === void 0 ? void 0 : customStyles.lastButton),
244
- }); }, [
245
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.button,
246
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
247
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.firstButton,
248
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.lastButton,
249
- toClassName,
250
- ]);
251
- return (jsx("span", __assign({ className: style.container }, { children: Children.map(children, function (child, index) {
230
+ };
231
+
232
+ var toMergedClasses = function (_a) {
233
+ var styles = _a.styles, stylesOverrides = _a.stylesOverrides, customStyles = _a.customStyles, identifier = _a.identifier, type = _a.type;
234
+ return toClassName(get(type ? get(styles, type) : styles, identifier), get(type ? get(stylesOverrides, type) : stylesOverrides, identifier), customStyles);
235
+ };
236
+
237
+ var ButtonGroupElement = function (props) {
238
+ var children = props.children, stylesOverrides = props.styles;
239
+ var styles = useMemo(function () {
240
+ var styleKeys = calculateNestedKeys(styles$f);
241
+ var customStyles = {};
242
+ styleKeys.forEach(function (key) {
243
+ toMergedClasses({
244
+ styles: styles$f,
245
+ stylesOverrides: stylesOverrides,
246
+ identifier: key,
247
+ customStyles: get(customStyles, key),
248
+ });
249
+ });
250
+ return styles;
251
+ }, [stylesOverrides]);
252
+ return (jsx("span", __assign({ className: styles.container }, { children: Children.map(children, function (child, index) {
252
253
  var _a;
253
- var className = style.button;
254
+ var className = styles.button;
254
255
  if (index === 0) {
255
- className = style.firstButton;
256
+ className = styles.firstButton;
256
257
  }
257
258
  if (index === children.length - 1) {
258
- className = style.lastButton;
259
+ className = styles.lastButton;
259
260
  }
260
261
  return (jsx("button", __assign({ className: className }, { children: child }), (_a = child.key) !== null && _a !== void 0 ? _a : index));
261
262
  }) })));
262
263
  };
263
264
 
264
- var base$3 = {
265
+ var styles$f = {
265
266
  container: 'relative z-0 inline-flex shadow-sm rounded-md',
266
267
  firstButton: 'relative inline-flex items-center px-4 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50 focus:z-10 focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500',
267
268
  button: '-ml-px relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50 focus:z-10 focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500',
268
269
  lastButton: '-ml-px relative inline-flex items-center px-4 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50 focus:z-10 focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500',
269
- };
270
- var styles$f = { base: base$3 };
270
+ };
271
271
 
272
272
  var Container$4 = function (props) {
273
- var children = props.children, label = props.label, _a = props.type, type = _a === void 0 ? 'button' : _a, _b = props.direction, direction = _b === void 0 ? 'left' : _b, customStyles = props.styles;
274
- var toClassName = useCallback(function () {
275
- var values = [];
276
- for (var _i = 0; _i < arguments.length; _i++) {
277
- values[_i] = arguments[_i];
278
- }
279
- return values.filter(Boolean).join(' ');
280
- }, []);
273
+ var children = props.children, label = props.label, _a = props.type, type = _a === void 0 ? 'button' : _a, _b = props.direction, direction = _b === void 0 ? 'left' : _b, stylesOverrides = props.styles;
274
+ // TODO: update to mergedClassnames
281
275
  var style = useMemo(function () { return ({
282
- container: toClassName(styles$e.base.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
283
- button: toClassName(styles$e.base.button, customStyles === null || customStyles === void 0 ? void 0 : customStyles.button),
284
- compact: toClassName(styles$e.base.compact, customStyles === null || customStyles === void 0 ? void 0 : customStyles.compact),
285
- dots: toClassName(styles$e.base.dots, customStyles === null || customStyles === void 0 ? void 0 : customStyles.dots),
286
- items: toClassName(styles$e.base.items, direction && (styles$e === null || styles$e === void 0 ? void 0 : styles$e[direction].items), customStyles === null || customStyles === void 0 ? void 0 : customStyles.items),
276
+ container: toClassName(styles$e.base.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
277
+ button: toClassName(styles$e.base.button, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button),
278
+ compact: toClassName(styles$e.base.compact, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.compact),
279
+ dots: toClassName(styles$e.base.dots, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.dots),
280
+ items: toClassName(styles$e.base.items, direction && (styles$e === null || styles$e === void 0 ? void 0 : styles$e[direction].items), stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.items),
287
281
  }); }, [
288
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.button,
289
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.compact,
290
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
291
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.dots,
292
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.items,
282
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button,
283
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.compact,
284
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container,
285
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.dots,
286
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.items,
293
287
  direction,
294
288
  toClassName,
295
289
  ]);
@@ -320,28 +314,20 @@ var styles$e = {
320
314
  };
321
315
 
322
316
  var BadgeElement = function (props) {
323
- var children = props.children, _a = props.color, color = _a === void 0 ? 'gray' : _a, _b = props.type, type = _b === void 0 ? 'normal' : _b, _c = props.size, size = _c === void 0 ? 'sm' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, isDisabled = props.isDisabled, isLoading = props.isLoading, onClose = props.onClose, customStyles = props.styles;
324
- var toClassName = useCallback(function () {
325
- var values = [];
326
- for (var _i = 0; _i < arguments.length; _i++) {
327
- values[_i] = arguments[_i];
328
- }
329
- return values.filter(Boolean).join(' ');
330
- }, []);
317
+ var children = props.children, _a = props.color, color = _a === void 0 ? 'gray' : _a, _b = props.type, type = _b === void 0 ? 'normal' : _b, _c = props.size, size = _c === void 0 ? 'sm' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, isDisabled = props.isDisabled, isLoading = props.isLoading, onClose = props.onClose, stylesOverrides = props.styles;
331
318
  var style = useMemo(function () { return ({
332
- container: toClassName(type && styles$d[type].container, color && styles$d[color].container, size && styles$d[size].container, figure && styles$d[figure].container, isDisabled && styles$d.disabled.container, isLoading && styles$d.loading.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
333
- indicator: toClassName(color && styles$d[color].indicator, size && styles$d[size].indicator, customStyles === null || customStyles === void 0 ? void 0 : customStyles.indicator),
334
- button: toClassName('flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center focus:text-white focus:outline-none', color && styles$d[color].button, size && styles$d[size].button, customStyles === null || customStyles === void 0 ? void 0 : customStyles.button),
319
+ container: toClassName(type && styles$d[type].container, color && styles$d[color].container, size && styles$d[size].container, figure && styles$d[figure].container, isDisabled && styles$d.disabled.container, isLoading && styles$d.loading.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
320
+ indicator: toClassName(color && styles$d[color].indicator, size && styles$d[size].indicator, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.indicator),
321
+ button: toClassName('flex-shrink-0 ml-0.5 h-4 w-4 rounded-full inline-flex items-center justify-center focus:text-white focus:outline-none', color && styles$d[color].button, size && styles$d[size].button, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button),
335
322
  }); }, [
336
323
  color,
337
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.button,
338
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
339
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.indicator,
324
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button,
325
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container,
326
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.indicator,
340
327
  figure,
341
328
  isDisabled,
342
329
  isLoading,
343
330
  size,
344
- toClassName,
345
331
  type,
346
332
  ]);
347
333
  if (isLoading) {
@@ -454,41 +440,35 @@ var styles$d = {
454
440
  };
455
441
 
456
442
  var ContainerLayout = function (props) {
457
- var children = props.children, _a = props.type, type = _a === void 0 ? 'break' : _a, customStyles = props.styles;
458
- var toClassName = useCallback(function () {
459
- var values = [];
460
- for (var _i = 0; _i < arguments.length; _i++) {
461
- values[_i] = arguments[_i];
462
- }
463
- return values.filter(Boolean).join(' ');
464
- }, []);
465
- var style = useMemo(function () { return ({
466
- break: {
467
- container: toClassName(initialStyles.break.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
468
- },
469
- center: {
470
- container: toClassName(initialStyles.center.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
471
- content: toClassName(initialStyles.center.content, customStyles === null || customStyles === void 0 ? void 0 : customStyles.content),
472
- },
473
- fill: {
474
- container: toClassName(initialStyles.fill.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
475
- },
476
- }); }, [customStyles]);
443
+ var children = props.children, _a = props.type, type = _a === void 0 ? 'break' : _a, stylesOverrides = props.styles;
444
+ var styles = useMemo(function () {
445
+ var styleKeys = calculateNestedKeys(initialStyles);
446
+ var customStyles = {};
447
+ styleKeys.forEach(function (key) {
448
+ toMergedClasses({
449
+ styles: initialStyles,
450
+ stylesOverrides: stylesOverrides,
451
+ identifier: key,
452
+ customStyles: get(customStyles, key),
453
+ });
454
+ });
455
+ return styles;
456
+ }, [stylesOverrides]);
477
457
  var $component = useMemo(function () {
478
458
  var result;
479
459
  switch (type) {
480
460
  case 'break':
481
- result = jsx("div", __assign({ className: style.break.container }, { children: children }));
461
+ result = jsx("div", __assign({ className: styles.break.container }, { children: children }));
482
462
  break;
483
463
  case 'center':
484
- result = (jsx("div", __assign({ className: style.center.container }, { children: jsx("div", __assign({ className: style.center.content }, { children: children })) })));
464
+ result = (jsx("div", __assign({ className: styles.center.container }, { children: jsx("div", __assign({ className: styles.center.content }, { children: children })) })));
485
465
  break;
486
466
  case 'fill':
487
- result = jsx("div", __assign({ className: style.fill.container }, { children: children }));
467
+ result = jsx("div", __assign({ className: styles.fill.container }, { children: children }));
488
468
  break;
489
469
  }
490
470
  return result;
491
- }, [style]);
471
+ }, [children, styles, type]);
492
472
  return $component;
493
473
  };
494
474
 
@@ -509,30 +489,21 @@ var initialStyles = {
509
489
  };
510
490
 
511
491
  var DividerLayout = function (props) {
512
- var children = props.children, _a = props.type, type = _a === void 0 ? 'left' : _a, customStyles = props.styles;
513
- var toClassName = useCallback(function () {
514
- var values = [];
515
- for (var _i = 0; _i < arguments.length; _i++) {
516
- values[_i] = arguments[_i];
517
- }
518
- return values.filter(Boolean).join(' ');
519
- }, []);
520
- var style = useMemo(function () { return ({
521
- container: toClassName(styles$c.base.container, type && styles$c[type].container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
522
- head: toClassName(styles$c.base.head, type && styles$c[type].head, customStyles === null || customStyles === void 0 ? void 0 : customStyles.head),
523
- line: toClassName(styles$c.base.line, type && styles$c[type].line, customStyles === null || customStyles === void 0 ? void 0 : customStyles.line),
524
- body: toClassName(styles$c.base.body, type && styles$c[type].body, customStyles === null || customStyles === void 0 ? void 0 : customStyles.body),
525
- content: toClassName(styles$c.base.content, type && styles$c[type].content, customStyles === null || customStyles === void 0 ? void 0 : customStyles.content),
526
- }); }, [
527
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.body,
528
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
529
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.content,
530
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.head,
531
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.line,
532
- toClassName,
533
- type,
534
- ]);
535
- return (jsxs("div", __assign({ className: style.container }, { children: [jsx("div", __assign({ className: style.head, "aria-hidden": "true" }, { children: jsx("div", { className: style.line }) })), jsx("div", __assign({ className: style.body }, { children: jsx("div", __assign({ className: style.content }, { children: children })) }))] })));
492
+ var children = props.children; props.type; var stylesOverrides = props.styles;
493
+ var styles = useMemo(function () {
494
+ var styleKeys = calculateNestedKeys(styles$c);
495
+ var customStyles = {};
496
+ styleKeys.forEach(function (key) {
497
+ toMergedClasses({
498
+ styles: styles$c,
499
+ stylesOverrides: stylesOverrides,
500
+ identifier: key,
501
+ customStyles: get(customStyles, key),
502
+ });
503
+ });
504
+ return styles;
505
+ }, [stylesOverrides]);
506
+ return (jsxs("div", __assign({ className: styles.container }, { children: [jsx("div", __assign({ className: styles.head, "aria-hidden": "true" }, { children: jsx("div", { className: styles.line }) })), jsx("div", __assign({ className: styles.body }, { children: jsx("div", __assign({ className: styles.content }, { children: children })) }))] })));
536
507
  };
537
508
 
538
509
  var base$1 = {
@@ -572,33 +543,25 @@ var styles$c = {
572
543
 
573
544
  var ListContainerLayout = function (props) {
574
545
  var _a;
575
- var children = props.children, _b = props.type, type = _b === void 0 ? 'fill' : _b, customStyles = props.styles;
546
+ var children = props.children, _b = props.type, type = _b === void 0 ? 'fill' : _b, stylesOverrides = props.styles;
576
547
  var isSticky = type.includes('-sticky');
577
548
  var selector = isSticky ? (_a = type === null || type === void 0 ? void 0 : type.split('-')) === null || _a === void 0 ? void 0 : _a[0] : type;
578
- var toClassName = useCallback(function () {
579
- var values = [];
580
- for (var _i = 0; _i < arguments.length; _i++) {
581
- values[_i] = arguments[_i];
582
- }
583
- return values.filter(Boolean).join(' ');
584
- }, []);
585
549
  var style = useMemo(function () { return ({
586
550
  container: toClassName(isSticky
587
551
  ? styles$b["".concat(selector, "_sticky")].container
588
- : styles$b[selector].container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
552
+ : styles$b[selector].container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
589
553
  list: toClassName(isSticky
590
554
  ? styles$b["".concat(selector, "_sticky")].list
591
- : styles$b[selector].list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list),
555
+ : styles$b[selector].list, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list),
592
556
  item: toClassName(isSticky
593
557
  ? styles$b["".concat(selector, "_sticky")].item
594
- : styles$b[selector].item, customStyles === null || customStyles === void 0 ? void 0 : customStyles.item),
558
+ : styles$b[selector].item, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.item),
595
559
  }); }, [
596
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
597
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.item,
598
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.list,
560
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container,
561
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.item,
562
+ stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list,
599
563
  isSticky,
600
564
  selector,
601
- toClassName,
602
565
  ]);
603
566
  return (jsx("div", __assign({ className: style.container }, { children: jsx("ul", __assign({ className: style.list }, { children: Children.map(children, function (child, index) {
604
567
  var _a;
@@ -643,42 +606,34 @@ var styles$b = {
643
606
 
644
607
  var MediaObjectLayout = function (props) {
645
608
  var _a;
646
- var title = props.title, paragraph = props.paragraph, customFigure = props.figure, _b = props.type, type = _b === void 0 ? 'top' : _b, customStyles = props.styles;
609
+ var title = props.title, paragraph = props.paragraph, customFigure = props.figure, _b = props.type, type = _b === void 0 ? 'top' : _b, stylesOverrides = props.styles;
647
610
  var isReversed = type.includes('-reversed');
648
- var selector = isReversed ? (_a = type === null || type === void 0 ? void 0 : type.split('-')) === null || _a === void 0 ? void 0 : _a[0] : type;
649
- var toClassName = useCallback(function () {
650
- var values = [];
651
- for (var _i = 0; _i < arguments.length; _i++) {
652
- values[_i] = arguments[_i];
653
- }
654
- return values.filter(Boolean).join(' ');
655
- }, []);
656
- var style = useMemo(function () { return ({
657
- container: toClassName(styles$a[selector].container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container, isReversed && 'flex-row-reverse'),
658
- figure: toClassName(styles$a[selector].figure, customStyles === null || customStyles === void 0 ? void 0 : customStyles.figure),
659
- svg: toClassName(styles$a[selector].svg, customStyles === null || customStyles === void 0 ? void 0 : customStyles.svg),
660
- title: toClassName(styles$a[selector].title, customStyles === null || customStyles === void 0 ? void 0 : customStyles.title),
661
- paragraph: toClassName(styles$a[selector].paragraph, customStyles === null || customStyles === void 0 ? void 0 : customStyles.paragraph),
662
- }); }, [
663
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.container,
664
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.figure,
665
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.paragraph,
666
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.svg,
667
- customStyles === null || customStyles === void 0 ? void 0 : customStyles.title,
668
- isReversed,
669
- selector,
670
- toClassName,
671
- ]);
611
+ isReversed
612
+ ? (_a = type === null || type === void 0 ? void 0 : type.split('-')) === null || _a === void 0 ? void 0 : _a[0]
613
+ : type;
614
+ var styles = useMemo(function () {
615
+ var styleKeys = calculateNestedKeys(styles$a[type]);
616
+ var customStyles = {};
617
+ styleKeys.forEach(function (key) {
618
+ toMergedClasses({
619
+ styles: styles$a[type],
620
+ stylesOverrides: stylesOverrides,
621
+ identifier: key,
622
+ customStyles: get(customStyles, key),
623
+ });
624
+ });
625
+ return styles;
626
+ }, [stylesOverrides, type]);
672
627
  var $svg = useMemo(function () {
673
- var result = (jsx("svg", __assign({ className: style.svg, preserveAspectRatio: "none", stroke: "currentColor", fill: "none", viewBox: "0 0 200 200", "aria-hidden": "true" }, { children: jsx("path", { vectorEffect: "non-scaling-stroke", strokeWidth: 1, d: "M0 0l200 200M0 200L200 0" }) })));
628
+ var result = (jsx("svg", __assign({ className: styles.svg, preserveAspectRatio: "none", stroke: "currentColor", fill: "none", viewBox: "0 0 200 200", "aria-hidden": "true" }, { children: jsx("path", { vectorEffect: "non-scaling-stroke", strokeWidth: 1, d: "M0 0l200 200M0 200L200 0" }) })));
674
629
  if (customFigure) {
675
630
  result = React.cloneElement(customFigure, {
676
- className: style.svg,
631
+ className: styles.svg,
677
632
  });
678
633
  }
679
634
  return result;
680
- }, [customFigure, style.svg]);
681
- return (jsxs("div", __assign({ className: style.container }, { children: [jsx("div", __assign({ className: style.figure }, { children: $svg })), jsxs("div", { children: [jsx("h4", __assign({ className: style.title }, { children: title })), jsx("p", __assign({ className: style.paragraph }, { children: paragraph }))] })] })));
635
+ }, [customFigure, styles.svg]);
636
+ return (jsxs("div", __assign({ className: styles.container }, { children: [jsx("div", __assign({ className: styles.figure }, { children: $svg })), jsxs("div", { children: [jsx("h4", __assign({ className: styles.title }, { children: title })), jsx("p", __assign({ className: styles.paragraph }, { children: paragraph }))] })] })));
682
637
  };
683
638
 
684
639
  var base = {
@@ -740,7 +695,7 @@ var styles$a = {
740
695
  };
741
696
 
742
697
  var Container$3 = function (props) {
743
- var children = props.children, _a = props.type, type = _a === void 0 ? 'normal' : _a, customStyles = props.styles;
698
+ var children = props.children, _a = props.type, type = _a === void 0 ? 'normal' : _a, stylesOverrides = props.styles;
744
699
  var typeStyle = useMemo(function () {
745
700
  var result;
746
701
  switch (type) {
@@ -753,30 +708,16 @@ var Container$3 = function (props) {
753
708
  }
754
709
  return result;
755
710
  }, [type]);
756
- var toClassName = useCallback(function () {
757
- var values = [];
758
- for (var _i = 0; _i < arguments.length; _i++) {
759
- values[_i] = arguments[_i];
760
- }
761
- return values.filter(Boolean).join(' ');
762
- }, []);
763
711
  var style = useMemo(function () { return ({
764
- container: toClassName(styles$9.container, typeStyle, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
765
- }); }, [customStyles === null || customStyles === void 0 ? void 0 : customStyles.container, toClassName, typeStyle]);
712
+ container: toClassName(styles$9.container, typeStyle, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
713
+ }); }, [stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container, typeStyle]);
766
714
  return jsx("div", __assign({ className: style.container }, { children: children }));
767
715
  };
768
716
  var Section = function (props) {
769
- var children = props.children, customStyles = props.styles;
770
- var toClassName = useCallback(function () {
771
- var values = [];
772
- for (var _i = 0; _i < arguments.length; _i++) {
773
- values[_i] = arguments[_i];
774
- }
775
- return values.filter(Boolean).join(' ');
776
- }, []);
717
+ var children = props.children, stylesOverrides = props.styles;
777
718
  var style = useMemo(function () { return ({
778
- container: toClassName(styles$9.section, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
779
- }); }, [customStyles === null || customStyles === void 0 ? void 0 : customStyles.container, toClassName]);
719
+ container: toClassName(styles$9.section, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
720
+ }); }, [stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container]);
780
721
  return jsx("div", __assign({ className: style.container }, { children: children }));
781
722
  };
782
723
  var LayoutPanel = {
@@ -790,63 +731,50 @@ var styles$9 = {
790
731
  };
791
732
 
792
733
  var BreadcrumbsNavigation = function (props) {
793
- var _a = props.href, href = _a === void 0 ? '/' : _a, pages = props.pages, _b = props.type, type = _b === void 0 ? 'slashes' : _b, customSeparator = props.separator, customStyles = props.styles;
794
- var toClassName = useCallback(function () {
795
- var values = [];
796
- for (var _i = 0; _i < arguments.length; _i++) {
797
- values[_i] = arguments[_i];
798
- }
799
- return values.filter(Boolean).join(' ');
800
- }, []);
801
- var style = useMemo(function () {
802
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
803
- return ({
804
- container: toClassName(type && styles$8[type].container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _a === void 0 ? void 0 : _a.container),
805
- list: toClassName(type && styles$8[type].list, (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _b === void 0 ? void 0 : _b.list),
806
- separator: toClassName(type && styles$8[type].separator, (_c = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _c === void 0 ? void 0 : _c.separator),
807
- home: {
808
- container: toClassName(type && ((_d = styles$8[type].home) === null || _d === void 0 ? void 0 : _d.container), (_f = (_e = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _e === void 0 ? void 0 : _e.home) === null || _f === void 0 ? void 0 : _f.container),
809
- content: toClassName(type && ((_g = styles$8[type].home) === null || _g === void 0 ? void 0 : _g.content), (_j = (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _h === void 0 ? void 0 : _h.home) === null || _j === void 0 ? void 0 : _j.content),
810
- link: toClassName(type && ((_k = styles$8[type].home) === null || _k === void 0 ? void 0 : _k.link), (_m = (_l = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _l === void 0 ? void 0 : _l.home) === null || _m === void 0 ? void 0 : _m.link),
811
- icon: toClassName(type && ((_o = styles$8[type].home) === null || _o === void 0 ? void 0 : _o.icon), (_q = (_p = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _p === void 0 ? void 0 : _p.home) === null || _q === void 0 ? void 0 : _q.icon),
812
- span: toClassName(type && ((_r = styles$8[type].home) === null || _r === void 0 ? void 0 : _r.span), (_t = (_s = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _s === void 0 ? void 0 : _s.home) === null || _t === void 0 ? void 0 : _t.span),
813
- },
814
- page: {
815
- container: toClassName(type && ((_u = styles$8[type].page) === null || _u === void 0 ? void 0 : _u.container), (_w = (_v = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _v === void 0 ? void 0 : _v.page) === null || _w === void 0 ? void 0 : _w.container),
816
- content: toClassName(type && ((_x = styles$8[type].page) === null || _x === void 0 ? void 0 : _x.content), (_z = (_y = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _y === void 0 ? void 0 : _y.page) === null || _z === void 0 ? void 0 : _z.content),
817
- link: toClassName(type && ((_0 = styles$8[type].page) === null || _0 === void 0 ? void 0 : _0.link), (_2 = (_1 = customStyles === null || customStyles === void 0 ? void 0 : customStyles[type]) === null || _1 === void 0 ? void 0 : _1.page) === null || _2 === void 0 ? void 0 : _2.link),
818
- },
734
+ var _a = props.href, href = _a === void 0 ? '/' : _a, pages = props.pages, _b = props.type, type = _b === void 0 ? 'slashes' : _b, customSeparator = props.separator, stylesOverrides = props.styles;
735
+ var styles = useMemo(function () {
736
+ var styleKeys = calculateNestedKeys(styles$8);
737
+ var customStyles = {};
738
+ styleKeys.forEach(function (key) {
739
+ toMergedClasses({
740
+ styles: styles$8,
741
+ stylesOverrides: stylesOverrides,
742
+ identifier: key,
743
+ type: type,
744
+ customStyles: get(customStyles, key),
745
+ });
819
746
  });
820
- }, [customStyles, toClassName, type]);
747
+ return styles;
748
+ }, [stylesOverrides, type]);
821
749
  var separator = useMemo(function () {
822
750
  var component;
823
751
  switch (type) {
824
752
  case 'slashes':
825
- component = (jsx("svg", __assign({ className: style.separator, fill: "currentColor", viewBox: "0 0 20 20", "aria-hidden": "true" }, { children: jsx("path", { d: "M5.555 17.776l8-16 .894.448-8 16-.894-.448z" }) })));
753
+ component = (jsx("svg", __assign({ className: styles.separator, fill: "currentColor", viewBox: "0 0 20 20", "aria-hidden": "true" }, { children: jsx("path", { d: "M5.555 17.776l8-16 .894.448-8 16-.894-.448z" }) })));
826
754
  break;
827
755
  case 'chevrons':
828
- component = (jsx(ChevronRightIcon, { className: style.separator, "aria-hidden": "true" }));
756
+ component = (jsx(ChevronRightIcon, { className: styles.separator, "aria-hidden": "true" }));
829
757
  break;
830
758
  case 'panel':
831
- component = (jsx("svg", __assign({ className: style.separator, viewBox: "0 0 24 44", preserveAspectRatio: "none", fill: "currentColor", "aria-hidden": "true" }, { children: jsx("path", { d: "M.293 0l22 22-22 22h1.414l22-22-22-22H.293z" }) })));
759
+ component = (jsx("svg", __assign({ className: styles.separator, viewBox: "0 0 24 44", preserveAspectRatio: "none", fill: "currentColor", "aria-hidden": "true" }, { children: jsx("path", { d: "M.293 0l22 22-22 22h1.414l22-22-22-22H.293z" }) })));
832
760
  break;
833
761
  case 'bar':
834
- component = (jsx("svg", __assign({ className: style.separator, viewBox: "0 0 24 44", preserveAspectRatio: "none", fill: "currentColor", "aria-hidden": "true" }, { children: jsx("path", { d: "M.293 0l22 22-22 22h1.414l22-22-22-22H.293z" }) })));
762
+ component = (jsx("svg", __assign({ className: styles.separator, viewBox: "0 0 24 44", preserveAspectRatio: "none", fill: "currentColor", "aria-hidden": "true" }, { children: jsx("path", { d: "M.293 0l22 22-22 22h1.414l22-22-22-22H.293z" }) })));
835
763
  break;
836
764
  }
837
765
  if (customSeparator) {
838
766
  component = customSeparator;
839
767
  }
840
768
  return component;
841
- }, [customSeparator, style.separator, type]);
769
+ }, [customSeparator, styles.separator, type]);
842
770
  var HomeLink = function () {
843
- return (jsx("li", __assign({ className: style.home.container }, { children: jsx("div", __assign({ className: style.home.content }, { children: jsxs("a", __assign({ href: href, className: style.home.link }, { children: [jsx(HomeIcon, { className: style.home.icon, "aria-hidden": "true" }), jsx("span", __assign({ className: style.home.span }, { children: "Home" }))] })) })) })));
771
+ return (jsx("li", __assign({ className: styles.home.container }, { children: jsx("div", __assign({ className: styles.home.content }, { children: jsxs("a", __assign({ href: href, className: styles.home.link }, { children: [jsx(HomeIcon, { className: styles.home.icon, "aria-hidden": "true" }), jsx("span", __assign({ className: styles.home.span }, { children: "Home" }))] })) })) })));
844
772
  };
845
773
  var PageLink = function (props) {
846
774
  var page = props.page;
847
- return (jsx("li", __assign({ className: style.page.container }, { children: jsxs("div", __assign({ className: style.page.content }, { children: [separator, jsx("a", __assign({ href: page.href, className: style.page.link, "aria-current": page.isCurrent ? 'page' : undefined }, { children: page.name }))] })) }), page.name));
775
+ return (jsx("li", __assign({ className: styles.page.container }, { children: jsxs("div", __assign({ className: styles.page.content }, { children: [separator, jsx("a", __assign({ href: page.href, className: styles.page.link, "aria-current": page.isCurrent ? 'page' : undefined }, { children: page.name }))] })) }), page.name));
848
776
  };
849
- return (jsx("nav", __assign({ className: style.container, "aria-label": "Breadcrumb" }, { children: jsxs("ol", __assign({ className: style.list }, { children: [jsx(HomeLink, {}), pages.map(function (page) { return (jsx(PageLink, { page: page }, page.name)); })] })) })));
777
+ return (jsx("nav", __assign({ className: styles.container, "aria-label": "Breadcrumb" }, { children: jsxs("ol", __assign({ className: styles.list }, { children: [jsx(HomeLink, {}), pages.map(function (page) { return (jsx(PageLink, { page: page }, page.name)); })] })) })));
850
778
  };
851
779
 
852
780
  var slashes = {
@@ -925,37 +853,30 @@ var styles$8 = {
925
853
  };
926
854
 
927
855
  var PanelPaginationNavigation = function (props) {
928
- var _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, customStyles = props.styles, children = props.children, onChange = props.onChange;
856
+ var _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, stylesOverrides = props.styles, children = props.children, onChange = props.onChange;
929
857
  var _c = useState(2), current = _c[0], setCurrent = _c[1];
930
- var toClassName = useCallback(function () {
931
- var values = [];
932
- for (var _i = 0; _i < arguments.length; _i++) {
933
- values[_i] = arguments[_i];
934
- }
935
- return values.filter(Boolean).join(' ');
936
- }, []);
937
858
  var style = useMemo(function () {
938
859
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
939
860
  return ({
940
- container: toClassName(styles$7.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
861
+ container: toClassName(styles$7.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
941
862
  mobile: {
942
- container: toClassName(styles$7.mobile.container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.mobile) === null || _a === void 0 ? void 0 : _a.container),
943
- button: toClassName(styles$7.mobile.button, (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.mobile) === null || _b === void 0 ? void 0 : _b.button),
863
+ container: toClassName(styles$7.mobile.container, (_a = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.mobile) === null || _a === void 0 ? void 0 : _a.container),
864
+ button: toClassName(styles$7.mobile.button, (_b = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.mobile) === null || _b === void 0 ? void 0 : _b.button),
944
865
  },
945
866
  desktop: {
946
- container: toClassName(styles$7.desktop.container, (_c = customStyles === null || customStyles === void 0 ? void 0 : customStyles.desktop) === null || _c === void 0 ? void 0 : _c.container),
947
- leftButton: toClassName(styles$7.desktop.leftButton, (_d = customStyles === null || customStyles === void 0 ? void 0 : customStyles.desktop) === null || _d === void 0 ? void 0 : _d.leftButton),
948
- rightButton: toClassName(styles$7.desktop.rightButton, (_e = customStyles === null || customStyles === void 0 ? void 0 : customStyles.desktop) === null || _e === void 0 ? void 0 : _e.rightButton),
949
- navigation: toClassName(styles$7.desktop.navigation, (_f = customStyles === null || customStyles === void 0 ? void 0 : customStyles.desktop) === null || _f === void 0 ? void 0 : _f.navigation),
867
+ container: toClassName(styles$7.desktop.container, (_c = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.desktop) === null || _c === void 0 ? void 0 : _c.container),
868
+ leftButton: toClassName(styles$7.desktop.leftButton, (_d = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.desktop) === null || _d === void 0 ? void 0 : _d.leftButton),
869
+ rightButton: toClassName(styles$7.desktop.rightButton, (_e = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.desktop) === null || _e === void 0 ? void 0 : _e.rightButton),
870
+ navigation: toClassName(styles$7.desktop.navigation, (_f = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.desktop) === null || _f === void 0 ? void 0 : _f.navigation),
950
871
  },
951
872
  button: {
952
- default: toClassName(styles$7.button.default, (_g = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _g === void 0 ? void 0 : _g.default),
953
- active: toClassName(styles$7.button.active, (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _h === void 0 ? void 0 : _h.active),
954
- disabled: toClassName(styles$7.button.disabled, (_j = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _j === void 0 ? void 0 : _j.disabled),
873
+ default: toClassName(styles$7.button.default, (_g = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button) === null || _g === void 0 ? void 0 : _g.default),
874
+ active: toClassName(styles$7.button.active, (_h = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button) === null || _h === void 0 ? void 0 : _h.active),
875
+ disabled: toClassName(styles$7.button.disabled, (_j = stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.button) === null || _j === void 0 ? void 0 : _j.disabled),
955
876
  },
956
- divider: toClassName(styles$7.divider, customStyles === null || customStyles === void 0 ? void 0 : customStyles.divider),
957
- label: toClassName(styles$7.label, customStyles === null || customStyles === void 0 ? void 0 : customStyles.label),
958
- icon: toClassName(styles$7.icon, customStyles === null || customStyles === void 0 ? void 0 : customStyles.icon),
877
+ divider: toClassName(styles$7.divider, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.divider),
878
+ label: toClassName(styles$7.label, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.label),
879
+ icon: toClassName(styles$7.icon, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.icon),
959
880
  });
960
881
  }, []);
961
882
  var pageType = useMemo(function () {
@@ -1011,40 +932,21 @@ var styles$7 = {
1011
932
  };
1012
933
 
1013
934
  var PagePaginationNavigation = function (props) {
1014
- var _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, customStyles = props.styles, onChange = props.onChange;
935
+ var _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, stylesOverrides = props.styles, onChange = props.onChange;
1015
936
  var _c = useState(2), current = _c[0], setCurrent = _c[1];
1016
- var toClassName = useCallback(function () {
1017
- var values = [];
1018
- for (var _i = 0; _i < arguments.length; _i++) {
1019
- values[_i] = arguments[_i];
1020
- }
1021
- return values.filter(Boolean).join(' ');
1022
- }, []);
1023
- var style = useMemo(function () {
1024
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1025
- return ({
1026
- container: toClassName(styles$6.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
1027
- left: {
1028
- container: toClassName(styles$6.left.container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.left) === null || _a === void 0 ? void 0 : _a.container),
1029
- button: toClassName(styles$6.left.button, (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.left) === null || _b === void 0 ? void 0 : _b.button),
1030
- icon: toClassName(styles$6.left.icon, (_c = customStyles === null || customStyles === void 0 ? void 0 : customStyles.left) === null || _c === void 0 ? void 0 : _c.icon),
1031
- },
1032
- center: {
1033
- container: toClassName(styles$6.center.container, (_d = customStyles === null || customStyles === void 0 ? void 0 : customStyles.center) === null || _d === void 0 ? void 0 : _d.container),
1034
- },
1035
- right: {
1036
- container: toClassName(styles$6.right.container, (_e = customStyles === null || customStyles === void 0 ? void 0 : customStyles.right) === null || _e === void 0 ? void 0 : _e.container),
1037
- button: toClassName(styles$6.right.button, (_f = customStyles === null || customStyles === void 0 ? void 0 : customStyles.right) === null || _f === void 0 ? void 0 : _f.button),
1038
- icon: toClassName(styles$6.right.icon, (_g = customStyles === null || customStyles === void 0 ? void 0 : customStyles.right) === null || _g === void 0 ? void 0 : _g.icon),
1039
- },
1040
- button: {
1041
- default: toClassName(styles$6.button.default, (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _h === void 0 ? void 0 : _h.default),
1042
- active: toClassName(styles$6.button.active, (_j = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _j === void 0 ? void 0 : _j.active),
1043
- disabled: toClassName(styles$6.button.disabled, (_k = customStyles === null || customStyles === void 0 ? void 0 : customStyles.button) === null || _k === void 0 ? void 0 : _k.disabled),
1044
- },
1045
- divider: toClassName(styles$6.divider, customStyles === null || customStyles === void 0 ? void 0 : customStyles.divider),
937
+ var styles = useMemo(function () {
938
+ var styleKeys = calculateNestedKeys(styles$6);
939
+ var customStyles = {};
940
+ styleKeys.forEach(function (key) {
941
+ toMergedClasses({
942
+ styles: styles$6,
943
+ stylesOverrides: stylesOverrides,
944
+ identifier: key,
945
+ customStyles: get(customStyles, key),
946
+ });
1046
947
  });
1047
- }, []);
948
+ return styles;
949
+ }, [stylesOverrides]);
1048
950
  var pageType = useMemo(function () {
1049
951
  var result = 'center';
1050
952
  if (current < min + 3) {
@@ -1058,13 +960,13 @@ var PagePaginationNavigation = function (props) {
1058
960
  var component;
1059
961
  switch (pageType) {
1060
962
  case 'first':
1061
- component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: toClassName(style.button.default, current === min && style.button.active), onClick: function () { return setCurrent(min); } }, { children: min })), jsx("button", __assign({ className: toClassName(style.button.default, current === min + 1 && style.button.active), onClick: function () { return setCurrent(min + 1); } }, { children: min + 1 })), jsx("button", __assign({ className: toClassName(style.button.default, current === min + 2 && style.button.active), onClick: function () { return setCurrent(min + 2); } }, { children: min + 2 })), jsx("span", __assign({ className: style.divider }, { children: "..." })), jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(max); } }, { children: max }))] }));
963
+ component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: toClassName(styles.button.default, current === min && styles.button.active), onClick: function () { return setCurrent(min); } }, { children: min })), jsx("button", __assign({ className: toClassName(styles.button.default, current === min + 1 && styles.button.active), onClick: function () { return setCurrent(min + 1); } }, { children: min + 1 })), jsx("button", __assign({ className: toClassName(styles.button.default, current === min + 2 && styles.button.active), onClick: function () { return setCurrent(min + 2); } }, { children: min + 2 })), jsx("span", __assign({ className: styles.divider }, { children: "..." })), jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(max); } }, { children: max }))] }));
1062
964
  break;
1063
965
  case 'center':
1064
- component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(min); } }, { children: min })), jsx("span", __assign({ className: style.divider }, { children: "..." })), jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(current - 1); } }, { children: current - 1 })), jsx("button", __assign({ className: toClassName(style.button.default, style.button.active), onClick: function () { return setCurrent(current); } }, { children: current })), jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(current + 1); } }, { children: current + 1 })), jsx("span", __assign({ className: style.divider }, { children: "..." })), jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(max); } }, { children: max }))] }));
966
+ component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(min); } }, { children: min })), jsx("span", __assign({ className: styles.divider }, { children: "..." })), jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(current - 1); } }, { children: current - 1 })), jsx("button", __assign({ className: toClassName(styles.button.default, styles.button.active), onClick: function () { return setCurrent(current); } }, { children: current })), jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(current + 1); } }, { children: current + 1 })), jsx("span", __assign({ className: styles.divider }, { children: "..." })), jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(max); } }, { children: max }))] }));
1065
967
  break;
1066
968
  case 'last':
1067
- component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: style.button.default, onClick: function () { return setCurrent(min); } }, { children: min })), jsx("span", __assign({ className: style.divider }, { children: "..." })), jsx("button", __assign({ className: toClassName(style.button.default, current === max - 2 && style.button.active), onClick: function () { return setCurrent(max - 2); } }, { children: max - 2 })), jsx("button", __assign({ className: toClassName(style.button.default, current === max - 1 && style.button.active), onClick: function () { return setCurrent(max - 1); } }, { children: max - 1 })), jsx("button", __assign({ className: toClassName(style.button.default, current === max && style.button.active), onClick: function () { return setCurrent(max); } }, { children: max }))] }));
969
+ component = (jsxs(Fragment$1, { children: [jsx("button", __assign({ className: styles.button.default, onClick: function () { return setCurrent(min); } }, { children: min })), jsx("span", __assign({ className: styles.divider }, { children: "..." })), jsx("button", __assign({ className: toClassName(styles.button.default, current === max - 2 && styles.button.active), onClick: function () { return setCurrent(max - 2); } }, { children: max - 2 })), jsx("button", __assign({ className: toClassName(styles.button.default, current === max - 1 && styles.button.active), onClick: function () { return setCurrent(max - 1); } }, { children: max - 1 })), jsx("button", __assign({ className: toClassName(styles.button.default, current === max && styles.button.active), onClick: function () { return setCurrent(max); } }, { children: max }))] }));
1068
970
  break;
1069
971
  }
1070
972
  useEffect(function () {
@@ -1072,7 +974,7 @@ var PagePaginationNavigation = function (props) {
1072
974
  onChange && onChange(current);
1073
975
  }
1074
976
  }, [onChange, current]);
1075
- return (jsxs("nav", __assign({ className: style.container }, { children: [jsx("div", __assign({ className: style.left.container }, { children: jsxs("button", __assign({ className: toClassName(style.left.button, current === min && style.button.disabled), disabled: current === min, onClick: function () { return setCurrent(current - 1); } }, { children: [jsx(ArrowLongLeftIcon, { className: style.left.icon }), "Previous"] })) })), jsx("div", __assign({ className: style.center.container }, { children: component })), jsx("div", __assign({ className: style.right.container }, { children: jsxs("button", __assign({ className: toClassName(style.right.button, current === max && style.button.disabled), disabled: current === max, onClick: function () { return setCurrent(current + 1); } }, { children: ["Next", jsx(ArrowLongRightIcon, { className: style.right.icon })] })) }))] })));
977
+ return (jsxs("nav", __assign({ className: styles.container }, { children: [jsx("div", __assign({ className: styles.left.container }, { children: jsxs("button", __assign({ className: toClassName(styles.left.button, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return setCurrent(current - 1); } }, { children: [jsx(ArrowLongLeftIcon, { className: styles.left.icon }), "Previous"] })) })), jsx("div", __assign({ className: styles.center.container }, { children: component })), jsx("div", __assign({ className: styles.right.container }, { children: jsxs("button", __assign({ className: toClassName(styles.right.button, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return setCurrent(current + 1); } }, { children: ["Next", jsx(ArrowLongRightIcon, { className: styles.right.icon })] })) }))] })));
1076
978
  };
1077
979
 
1078
980
  var styles$6 = {
@@ -1099,55 +1001,35 @@ var styles$6 = {
1099
1001
  };
1100
1002
 
1101
1003
  var Container$2 = function (props) {
1102
- var children = props.children, customStyles = props.styles;
1004
+ var children = props.children, stylesOverrides = props.styles;
1103
1005
  var _a = useState(''), active = _a[0], setActive = _a[1];
1104
- var toClassName = useCallback(function () {
1105
- var values = [];
1106
- for (var _i = 0; _i < arguments.length; _i++) {
1107
- values[_i] = arguments[_i];
1108
- }
1109
- return values.filter(Boolean).join(' ');
1110
- }, []);
1111
1006
  var style = useMemo(function () { return ({
1112
- root: toClassName(styles$5.root, customStyles === null || customStyles === void 0 ? void 0 : customStyles.root),
1113
- panel: toClassName(styles$5.panel, customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel),
1114
- container: toClassName(styles$5.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
1115
- content: toClassName(styles$5.content, customStyles === null || customStyles === void 0 ? void 0 : customStyles.content),
1007
+ root: toClassName(styles$5.root, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.root),
1008
+ panel: toClassName(styles$5.panel, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.panel),
1009
+ container: toClassName(styles$5.container, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container),
1010
+ content: toClassName(styles$5.content, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.content),
1116
1011
  }); }, []);
1117
1012
  return (jsx("div", __assign({ className: style.root, style: { maxWidth: '22rem' } }, { children: jsxs("div", __assign({ className: style.panel }, { children: [jsx("div", __assign({ className: style.container }, { children: jsx("div", __assign({ className: style.content }, { children: jsx("img", { className: "h-8 w-auto", src: "https://tailwindui.com/img/logos/mark.svg?color=indigo&shade=600", alt: "Logo" }) })) })), children({ active: active, setActive: setActive })] })) })));
1118
1013
  };
1119
1014
  var List$2 = function (props) {
1120
- var children = props.children, setActive = props.setActive, customStyles = props.styles;
1121
- var toClassName = useCallback(function () {
1122
- var values = [];
1123
- for (var _i = 0; _i < arguments.length; _i++) {
1124
- values[_i] = arguments[_i];
1125
- }
1126
- return values.filter(Boolean).join(' ');
1127
- }, []);
1015
+ var children = props.children, setActive = props.setActive, stylesOverrides = props.styles;
1128
1016
  useEffect(function () {
1129
- var _a, _b;
1130
- var tab = (_a = Children.map(children, function (child) { return child; })) === null || _a === void 0 ? void 0 : _a[0];
1131
- var initialTab = (_b = Children.map(children, function (child) { return child; })) === null || _b === void 0 ? void 0 : _b.find(function (tab) { return tab.props.isInitial; });
1017
+ var tab;
1018
+ var tabs = Children.map(children, function (child) { return child; });
1019
+ var initialTab = tabs === null || tabs === void 0 ? void 0 : tabs.find(function (tab) { return tab.props.isInitial; });
1132
1020
  if (initialTab !== undefined) {
1133
1021
  tab = initialTab;
1134
1022
  }
1023
+ else {
1024
+ tab = tabs[0];
1025
+ }
1135
1026
  setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1136
1027
  }, []);
1137
- return (jsx("nav", __assign({ className: toClassName(styles$5.list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list) }, { children: children })));
1028
+ return (jsx("nav", __assign({ className: toClassName(styles$5.list, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list) }, { children: children })));
1138
1029
  };
1139
1030
  var Item$2 = function (props) {
1140
- var children = props.children, href = props.href, isCurrent = props.isCurrent, onClick = props.onClick;
1141
- var toClassName = useCallback(function () {
1142
- var values = [];
1143
- for (var _i = 0; _i < arguments.length; _i++) {
1144
- values[_i] = arguments[_i];
1145
- }
1146
- return values.filter(Boolean).join(' ');
1147
- }, []);
1148
- return (jsx("a", __assign({ href: href, className: toClassName(isCurrent
1149
- ? styles$5.item.active
1150
- : styles$5.item.notActive, styles$5 === null || styles$5 === void 0 ? void 0 : styles$5.item.base), onClick: onClick }, { children: children })));
1031
+ var children = props.children, href = props.href, isCurrent = props.isCurrent, _a = props.linkComponent, LinkComponent = _a === void 0 ? 'a' : _a, onClick = props.onClick;
1032
+ return (jsx(LinkComponent, __assign({ href: href, className: toClassName(styles$5.item[isCurrent ? 'active' : 'notActive'], styles$5 === null || styles$5 === void 0 ? void 0 : styles$5.item.base), onClick: onClick }, { children: children })));
1151
1033
  };
1152
1034
  var Footer = function (props) {
1153
1035
  var children = props.children;
@@ -1174,16 +1056,16 @@ var styles$5 = {
1174
1056
  };
1175
1057
 
1176
1058
  var Container$1 = function (props) {
1177
- var children = props.children, customStyles = props.styles;
1059
+ var children = props.children, stylesOverrides = props.styles;
1178
1060
  var _a = useState(''), active = _a[0], setActive = _a[1];
1179
- return (jsx("div", __assign({ className: customStyles === null || customStyles === void 0 ? void 0 : customStyles.container }, { children: children({ active: active, setActive: setActive }) })));
1061
+ return (jsx("div", __assign({ className: stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container }, { children: children({ active: active, setActive: setActive }) })));
1180
1062
  };
1181
1063
  var List$1 = function (props) {
1182
- var children = props.children, active = props.active, setActive = props.setActive, customStyles = props.styles;
1064
+ var children = props.children, active = props.active, setActive = props.setActive, stylesOverrides = props.styles;
1183
1065
  var handleChangeSelect = useCallback(function (e) {
1184
- var _a;
1185
- var key = e.currentTarget.value;
1186
- var tab = (_a = Children.map(children, function (child) { return child; })) === null || _a === void 0 ? void 0 : _a.find(function (child) { return child.props.accessor === key; });
1066
+ var _a, _b;
1067
+ var key = (_a = e === null || e === void 0 ? void 0 : e.currentTarget) === null || _a === void 0 ? void 0 : _a.value;
1068
+ var tab = (_b = Children.map(children, function (child) { return child; })) === null || _b === void 0 ? void 0 : _b.find(function (child) { return child.props.accessor === key; });
1187
1069
  if (tab === null || tab === void 0 ? void 0 : tab.props.href) {
1188
1070
  window.location.href = tab.props.href;
1189
1071
  }
@@ -1191,40 +1073,26 @@ var List$1 = function (props) {
1191
1073
  setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1192
1074
  }
1193
1075
  }, []);
1194
- var toClassName = useCallback(function () {
1195
- var values = [];
1196
- for (var _i = 0; _i < arguments.length; _i++) {
1197
- values[_i] = arguments[_i];
1198
- }
1199
- return values.filter(Boolean).join(' ');
1200
- }, []);
1201
1076
  useEffect(function () {
1202
- var _a, _b;
1203
- var tab = (_a = Children.map(children, function (child) { return child; })) === null || _a === void 0 ? void 0 : _a[0];
1204
- var initialTab = (_b = Children.map(children, function (child) { return child; })) === null || _b === void 0 ? void 0 : _b.find(function (tab) { return tab.props.isInitial; });
1077
+ var tab;
1078
+ var tabs = Children.map(children, function (child) { return child; });
1079
+ var initialTab = tabs === null || tabs === void 0 ? void 0 : tabs.find(function (tab) { return tab.props.isInitial; });
1205
1080
  if (initialTab !== undefined) {
1206
1081
  tab = initialTab;
1207
1082
  }
1083
+ else {
1084
+ tab = tabs[0];
1085
+ }
1208
1086
  setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1209
- // eslint-disable-next-line react-hooks/exhaustive-deps
1210
- }, [setActive]);
1211
- return (jsxs(Fragment$1, { children: [jsxs("div", __assign({ className: "sm:hidden" }, { children: [jsx("label", __assign({ htmlFor: "tabs", className: "sr-only" }, { children: "Select a tab" })), jsx("select", __assign({ id: "tabs", name: "tabs", value: active, className: toClassName(styles$4.select, customStyles === null || customStyles === void 0 ? void 0 : customStyles.select), onChange: handleChangeSelect }, { children: Children.map(children, function (child) {
1087
+ }, []);
1088
+ return (jsxs(Fragment$1, { children: [jsxs("div", __assign({ className: "sm:hidden" }, { children: [jsx("label", __assign({ htmlFor: "tabs", className: "sr-only" }, { children: "Select a tab" })), jsx("select", __assign({ id: "tabs", name: "tabs", value: active, className: toClassName(styles$4.select, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.select), onChange: handleChangeSelect }, { children: Children.map(children, function (child) {
1212
1089
  var _a;
1213
1090
  return (jsx("option", __assign({ value: child.props.accessor }, { children: child.props.children }), (_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.accessor));
1214
- }) }))] })), jsx("div", __assign({ className: "hidden sm:block" }, { children: jsx("nav", __assign({ className: toClassName(styles$4.navigation, customStyles === null || customStyles === void 0 ? void 0 : customStyles.navigation) }, { children: children })) }))] }));
1091
+ }) }))] })), jsx("div", __assign({ className: "hidden sm:block" }, { children: jsx("nav", __assign({ className: toClassName(styles$4.navigation, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.navigation) }, { children: children })) }))] }));
1215
1092
  };
1216
1093
  var Item$1 = function (props) {
1217
- var children = props.children, _a = props.type, type = _a === void 0 ? 'underline' : _a, href = props.href, isCurrent = props.isCurrent, onClick = props.onClick;
1218
- var toClassName = useCallback(function () {
1219
- var values = [];
1220
- for (var _i = 0; _i < arguments.length; _i++) {
1221
- values[_i] = arguments[_i];
1222
- }
1223
- return values.filter(Boolean).join(' ');
1224
- }, []);
1225
- return (jsx("a", __assign({ href: href, className: toClassName(isCurrent
1226
- ? styles$4.tab[type].active
1227
- : styles$4.tab[type].notActive, styles$4.tab[type].base), onClick: onClick }, { children: children })));
1094
+ var children = props.children, _a = props.type, type = _a === void 0 ? 'underline' : _a, _b = props.linkComponent, LinkComponent = _b === void 0 ? 'a' : _b, href = props.href, isCurrent = props.isCurrent, onClick = props.onClick;
1095
+ return (jsx(LinkComponent, __assign({ href: href, className: toClassName(styles$4.tab[type][isCurrent ? 'active' : 'notActive'], styles$4.tab[type].base), onClick: onClick }, { children: children })));
1228
1096
  };
1229
1097
  var View$1 = function (props) {
1230
1098
  var children = props.children;
@@ -1261,42 +1129,29 @@ var styles$4 = {
1261
1129
  };
1262
1130
 
1263
1131
  var Container = function (props) {
1264
- var children = props.children, customStyles = props.styles;
1132
+ var children = props.children, stylesOverrides = props.styles;
1265
1133
  var _a = useState(''), active = _a[0], setActive = _a[1];
1266
- return (jsx("div", __assign({ className: customStyles === null || customStyles === void 0 ? void 0 : customStyles.container }, { children: children({ active: active, setActive: setActive }) })));
1134
+ return (jsx("div", __assign({ className: stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.container }, { children: children({ active: active, setActive: setActive }) })));
1267
1135
  };
1268
1136
  var List = function (props) {
1269
- var children = props.children, setActive = props.setActive, customStyles = props.styles;
1270
- var toClassName = useCallback(function () {
1271
- var values = [];
1272
- for (var _i = 0; _i < arguments.length; _i++) {
1273
- values[_i] = arguments[_i];
1274
- }
1275
- return values.filter(Boolean).join(' ');
1276
- }, []);
1137
+ var children = props.children, setActive = props.setActive, stylesOverrides = props.styles;
1277
1138
  useEffect(function () {
1278
- var _a, _b;
1279
- var tab = (_a = Children.map(children, function (child) { return child; })) === null || _a === void 0 ? void 0 : _a[0];
1280
- var initialTab = (_b = Children.map(children, function (child) { return child; })) === null || _b === void 0 ? void 0 : _b.find(function (tab) { return tab.props.isInitial; });
1139
+ var tab;
1140
+ var tabs = Children.map(children, function (child) { return child; });
1141
+ var initialTab = tabs === null || tabs === void 0 ? void 0 : tabs.find(function (tab) { return tab.props.isInitial; });
1281
1142
  if (initialTab !== undefined) {
1282
1143
  tab = initialTab;
1283
1144
  }
1145
+ else {
1146
+ tab = tabs[0];
1147
+ }
1284
1148
  setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1285
1149
  }, []);
1286
- return (jsx("nav", __assign({ className: toClassName(styles$3.list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list) }, { children: children })));
1150
+ return (jsx("nav", __assign({ className: toClassName(styles$3.list, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list) }, { children: children })));
1287
1151
  };
1288
1152
  var Item = function (props) {
1289
- var children = props.children, href = props.href, isCurrent = props.isCurrent, onClick = props.onClick;
1290
- var toClassName = useCallback(function () {
1291
- var values = [];
1292
- for (var _i = 0; _i < arguments.length; _i++) {
1293
- values[_i] = arguments[_i];
1294
- }
1295
- return values.filter(Boolean).join(' ');
1296
- }, []);
1297
- return (jsx("a", __assign({ href: href, className: toClassName(isCurrent
1298
- ? styles$3.item.active
1299
- : styles$3.item.notActive, styles$3 === null || styles$3 === void 0 ? void 0 : styles$3.item.base), onClick: onClick }, { children: children })));
1153
+ var children = props.children, href = props.href, isCurrent = props.isCurrent, _a = props.linkComponent, LinkComponent = _a === void 0 ? 'a' : _a, onClick = props.onClick;
1154
+ return (jsx(LinkComponent, __assign({ href: href, className: toClassName(styles$3.item[isCurrent ? 'active' : 'notActive'], styles$3.item.base), onClick: onClick }, { children: children })));
1300
1155
  };
1301
1156
  var View = function (props) {
1302
1157
  var children = props.children;
@@ -1320,52 +1175,28 @@ var styles$3 = {
1320
1175
  };
1321
1176
 
1322
1177
  var ModalOverlay = function (props) {
1323
- var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1178
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, stylesOverrides = props.styles;
1324
1179
  var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1325
1180
  var options = useMemo(function () { return ({
1326
1181
  onOpen: function () { return setIsOpen(true); },
1327
1182
  onClose: function () { return setIsOpen(false); },
1328
1183
  }); }, []);
1329
- var toClassName = useCallback(function () {
1330
- var values = [];
1331
- for (var _i = 0; _i < arguments.length; _i++) {
1332
- values[_i] = arguments[_i];
1333
- }
1334
- return values.filter(Boolean).join(' ');
1335
- }, []);
1336
- var style = useMemo(function () {
1337
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
1338
- return ({
1339
- container: toClassName(styles$2.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
1340
- background: {
1341
- container: toClassName(styles$2.background.container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _a === void 0 ? void 0 : _a.container),
1342
- transition: {
1343
- enter: toClassName(styles$2.background.transition.enter, (_c = (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _b === void 0 ? void 0 : _b.transition) === null || _c === void 0 ? void 0 : _c.enter),
1344
- enterFrom: toClassName(styles$2.background.transition.enterFrom, (_e = (_d = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _d === void 0 ? void 0 : _d.transition) === null || _e === void 0 ? void 0 : _e.enterFrom),
1345
- enterTo: toClassName(styles$2.background.transition.enterTo, (_g = (_f = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _f === void 0 ? void 0 : _f.transition) === null || _g === void 0 ? void 0 : _g.enterTo),
1346
- leave: toClassName(styles$2.background.transition.leave, (_j = (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _h === void 0 ? void 0 : _h.transition) === null || _j === void 0 ? void 0 : _j.leave),
1347
- leaveFrom: toClassName(styles$2.background.transition.leaveFrom, (_l = (_k = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _k === void 0 ? void 0 : _k.transition) === null || _l === void 0 ? void 0 : _l.leaveFrom),
1348
- leaveTo: toClassName(styles$2.background.transition.leaveTo, (_o = (_m = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _m === void 0 ? void 0 : _m.transition) === null || _o === void 0 ? void 0 : _o.leaveTo),
1349
- },
1350
- },
1351
- layout: {
1352
- container: toClassName(styles$2.layout.container, (_p = customStyles === null || customStyles === void 0 ? void 0 : customStyles.layout) === null || _p === void 0 ? void 0 : _p.container),
1353
- content: toClassName(styles$2.layout.content, (_q = customStyles === null || customStyles === void 0 ? void 0 : customStyles.layout) === null || _q === void 0 ? void 0 : _q.content),
1354
- },
1355
- panel: {
1356
- container: toClassName(styles$2.panel.container, size && styles$2[size], (_r = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _r === void 0 ? void 0 : _r.container),
1357
- transition: {
1358
- enter: toClassName(styles$2.panel.transition.enter, (_t = (_s = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _s === void 0 ? void 0 : _s.transition) === null || _t === void 0 ? void 0 : _t.enter),
1359
- enterFrom: toClassName(styles$2.panel.transition.enterFrom, (_v = (_u = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _u === void 0 ? void 0 : _u.transition) === null || _v === void 0 ? void 0 : _v.enterFrom),
1360
- enterTo: toClassName(styles$2.panel.transition.enterTo, (_x = (_w = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _w === void 0 ? void 0 : _w.transition) === null || _x === void 0 ? void 0 : _x.enterTo),
1361
- leave: toClassName(styles$2.panel.transition.leave, (_z = (_y = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _y === void 0 ? void 0 : _y.transition) === null || _z === void 0 ? void 0 : _z.leave),
1362
- leaveFrom: toClassName(styles$2.panel.transition.leaveFrom, (_1 = (_0 = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _0 === void 0 ? void 0 : _0.transition) === null || _1 === void 0 ? void 0 : _1.leaveFrom),
1363
- leaveTo: toClassName(styles$2.panel.transition.leaveTo, (_3 = (_2 = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _2 === void 0 ? void 0 : _2.transition) === null || _3 === void 0 ? void 0 : _3.leaveTo),
1364
- },
1365
- },
1184
+ var styles = useMemo(function () {
1185
+ var styleKeys = calculateNestedKeys(styles$2);
1186
+ var customStyles = {
1187
+ 'panel.container': size && styles$2[size],
1188
+ };
1189
+ styleKeys.forEach(function (key) {
1190
+ toMergedClasses({
1191
+ styles: styles$2,
1192
+ stylesOverrides: stylesOverrides,
1193
+ identifier: key,
1194
+ customStyles: get(customStyles, key),
1195
+ });
1366
1196
  });
1367
- }, []);
1368
- return (jsxs(Fragment$1, { children: [jsx(Transition.Root, __assign({ show: isOpen, as: Fragment }, { children: jsxs(Dialog, __assign({ as: "div", className: style.container, onClose: setIsOpen }, { children: [jsx(Transition.Child, __assign({ as: Fragment, enter: style.background.transition.enter, enterFrom: style.background.transition.enterFrom, enterTo: style.background.transition.enterTo, leave: style.background.transition.leave, leaveFrom: style.background.transition.leaveFrom, leaveTo: style.background.transition.leaveTo }, { children: jsx("div", { className: style.background.container }) })), jsx("div", __assign({ className: style.layout.container }, { children: jsx("div", __assign({ className: style.layout.content }, { children: jsx(Transition.Child, __assign({ as: Fragment, enter: style.panel.transition.enter, enterFrom: style.panel.transition.enterFrom, enterTo: style.panel.transition.enterTo, leave: style.panel.transition.leave, leaveFrom: style.panel.transition.leaveFrom, leaveTo: style.panel.transition.leaveTo }, { children: jsx(Dialog.Panel, __assign({ className: style.panel.container }, { children: children(options) })) })) })) }))] })) })), trigger && trigger(options)] }));
1197
+ return styles;
1198
+ }, [size, stylesOverrides]);
1199
+ return (jsxs(Fragment$1, { children: [jsx(Transition.Root, __assign({ show: isOpen, as: Fragment }, { children: jsxs(Dialog, __assign({ as: "div", className: styles.container, onClose: setIsOpen }, { children: [jsx(Transition.Child, __assign({ as: Fragment, enter: styles.background.transition.enter, enterFrom: styles.background.transition.enterFrom, enterTo: styles.background.transition.enterTo, leave: styles.background.transition.leave, leaveFrom: styles.background.transition.leaveFrom, leaveTo: styles.background.transition.leaveTo }, { children: jsx("div", { className: styles.background.container }) })), jsx("div", __assign({ className: styles.layout.container }, { children: jsx("div", __assign({ className: styles.layout.content }, { children: jsx(Transition.Child, __assign({ as: Fragment, enter: styles.panel.transition.enter, enterFrom: styles.panel.transition.enterFrom, enterTo: styles.panel.transition.enterTo, leave: styles.panel.transition.leave, leaveFrom: styles.panel.transition.leaveFrom, leaveTo: styles.panel.transition.leaveTo }, { children: jsx(Dialog.Panel, __assign({ className: styles.panel.container }, { children: children(options) })) })) })) }))] })) })), trigger && trigger(options)] }));
1369
1200
  };
1370
1201
 
1371
1202
  var styles$2 = {
@@ -1404,60 +1235,43 @@ var styles$2 = {
1404
1235
  };
1405
1236
 
1406
1237
  var NotificationOverlayContainer = function (_a) {
1407
- var children = _a.children, customStyles = _a.styles;
1408
- var toClassName = useCallback(function () {
1409
- var values = [];
1410
- for (var _i = 0; _i < arguments.length; _i++) {
1411
- values[_i] = arguments[_i];
1412
- }
1413
- return values.filter(Boolean).join(' ');
1414
- }, []);
1415
- var style = useMemo(function () {
1416
- var _a, _b;
1417
- return ({
1418
- outer: toClassName(styles$1.container.outer, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.container) === null || _a === void 0 ? void 0 : _a.outer),
1419
- inner: toClassName(styles$1.container.inner, (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.container) === null || _b === void 0 ? void 0 : _b.inner),
1238
+ var children = _a.children, stylesOverrides = _a.styles;
1239
+ var styles = useMemo(function () {
1240
+ var styleKeys = calculateNestedKeys(styles$1.container);
1241
+ styleKeys.forEach(function (key) {
1242
+ toMergedClasses({
1243
+ styles: styles$1,
1244
+ stylesOverrides: stylesOverrides,
1245
+ identifier: key,
1246
+ });
1420
1247
  });
1421
- }, []);
1422
- return (jsx("div", __assign({ "aria-live": "assertive", className: style.outer }, { children: jsx("div", __assign({ className: style.inner }, { children: children })) })));
1248
+ return styles;
1249
+ }, [stylesOverrides]);
1250
+ return (jsx("div", __assign({ "aria-live": "assertive", className: styles.outer }, { children: jsx("div", __assign({ className: styles.inner }, { children: children })) })));
1423
1251
  };
1424
1252
  var NotificationOverlayItem = function (props) {
1425
- var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1253
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, stylesOverrides = props.styles;
1426
1254
  var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1427
1255
  var options = useMemo(function () { return ({
1428
1256
  onOpen: function () { return setIsOpen(true); },
1429
1257
  onClose: function () { return setIsOpen(false); },
1430
1258
  }); }, []);
1431
- var toClassName = useCallback(function () {
1432
- var values = [];
1433
- for (var _i = 0; _i < arguments.length; _i++) {
1434
- values[_i] = arguments[_i];
1435
- }
1436
- return values.filter(Boolean).join(' ');
1437
- }, []);
1438
- var style = useMemo(function () {
1439
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
1440
- return ({
1441
- container: toClassName(styles$1.item.container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _a === void 0 ? void 0 : _a.container),
1442
- layout: {
1443
- container: toClassName(styles$1.item.layout.container, (_c = (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.container),
1444
- content: toClassName(styles$1.item.layout.content, (_e = (_d = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _d === void 0 ? void 0 : _d.layout) === null || _e === void 0 ? void 0 : _e.content),
1445
- inner: toClassName(styles$1.item.layout.inner, (_g = (_f = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _f === void 0 ? void 0 : _f.layout) === null || _g === void 0 ? void 0 : _g.inner),
1446
- },
1447
- panel: {
1448
- container: toClassName(styles$1.item.panel.container, size && styles$1[size], (_j = (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _h === void 0 ? void 0 : _h.panel) === null || _j === void 0 ? void 0 : _j.container),
1449
- transition: {
1450
- enter: toClassName(styles$1.item.panel.transition.enter, (_m = (_l = (_k = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _k === void 0 ? void 0 : _k.panel) === null || _l === void 0 ? void 0 : _l.transition) === null || _m === void 0 ? void 0 : _m.enter),
1451
- enterFrom: toClassName(styles$1.item.panel.transition.enterFrom, (_q = (_p = (_o = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _o === void 0 ? void 0 : _o.panel) === null || _p === void 0 ? void 0 : _p.transition) === null || _q === void 0 ? void 0 : _q.enterFrom),
1452
- enterTo: toClassName(styles$1.item.panel.transition.enterTo, (_t = (_s = (_r = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _r === void 0 ? void 0 : _r.panel) === null || _s === void 0 ? void 0 : _s.transition) === null || _t === void 0 ? void 0 : _t.enterTo),
1453
- leave: toClassName(styles$1.item.panel.transition.leave, (_w = (_v = (_u = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _u === void 0 ? void 0 : _u.panel) === null || _v === void 0 ? void 0 : _v.transition) === null || _w === void 0 ? void 0 : _w.leave),
1454
- leaveFrom: toClassName(styles$1.item.panel.transition.leaveFrom, (_z = (_y = (_x = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _x === void 0 ? void 0 : _x.panel) === null || _y === void 0 ? void 0 : _y.transition) === null || _z === void 0 ? void 0 : _z.leaveFrom),
1455
- leaveTo: toClassName(styles$1.item.panel.transition.leaveTo, (_2 = (_1 = (_0 = customStyles === null || customStyles === void 0 ? void 0 : customStyles.item) === null || _0 === void 0 ? void 0 : _0.panel) === null || _1 === void 0 ? void 0 : _1.transition) === null || _2 === void 0 ? void 0 : _2.leaveTo),
1456
- },
1457
- },
1259
+ var styles = useMemo(function () {
1260
+ var styleKeys = calculateNestedKeys(styles$1.item);
1261
+ var customStyles = {
1262
+ 'panel.container': size && styles$1[size],
1263
+ };
1264
+ styleKeys.forEach(function (key) {
1265
+ toMergedClasses({
1266
+ styles: styles$1.item,
1267
+ stylesOverrides: stylesOverrides,
1268
+ identifier: key,
1269
+ customStyles: get(customStyles, key),
1270
+ });
1458
1271
  });
1459
- }, []);
1460
- return (jsxs(Fragment$1, { children: [jsx(Transition, __assign({ show: isOpen, as: Fragment, enter: style.panel.transition.enter, enterFrom: style.panel.transition.enterFrom, enterTo: style.panel.transition.enterTo, leave: style.panel.transition.leave, leaveFrom: style.panel.transition.leaveFrom, leaveTo: style.panel.transition.leaveTo }, { children: jsx("div", __assign({ className: style.panel.container }, { children: children(options) })) })), trigger && trigger(options)] }));
1272
+ return styles;
1273
+ }, [size, stylesOverrides]);
1274
+ return (jsxs(Fragment$1, { children: [jsx(Transition, __assign({ show: isOpen, as: Fragment, enter: styles.panel.transition.enter, enterFrom: styles.panel.transition.enterFrom, enterTo: styles.panel.transition.enterTo, leave: styles.panel.transition.leave, leaveFrom: styles.panel.transition.leaveFrom, leaveTo: styles.panel.transition.leaveTo }, { children: jsx("div", __assign({ className: styles.panel.container }, { children: children(options) })) })), trigger && trigger(options)] }));
1461
1275
  };
1462
1276
  var NotificationOverlay = {
1463
1277
  Container: NotificationOverlayContainer,
@@ -1496,53 +1310,28 @@ var styles$1 = {
1496
1310
  };
1497
1311
 
1498
1312
  var SlideOverOverlay = function (props) {
1499
- var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1313
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, stylesOverrides = props.styles;
1500
1314
  var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1501
1315
  var options = useMemo(function () { return ({
1502
1316
  onOpen: function () { return setIsOpen(true); },
1503
1317
  onClose: function () { return setIsOpen(false); },
1504
1318
  }); }, []);
1505
- var toClassName = useCallback(function () {
1506
- var values = [];
1507
- for (var _i = 0; _i < arguments.length; _i++) {
1508
- values[_i] = arguments[_i];
1509
- }
1510
- return values.filter(Boolean).join(' ');
1511
- }, []);
1512
- var style = useMemo(function () {
1513
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
1514
- return ({
1515
- container: toClassName(styles.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
1516
- background: {
1517
- container: toClassName(styles.background.container, (_a = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _a === void 0 ? void 0 : _a.container),
1518
- transition: {
1519
- enter: toClassName(styles.background.transition.enter, (_c = (_b = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _b === void 0 ? void 0 : _b.transition) === null || _c === void 0 ? void 0 : _c.enter),
1520
- enterFrom: toClassName(styles.background.transition.enterFrom, (_e = (_d = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _d === void 0 ? void 0 : _d.transition) === null || _e === void 0 ? void 0 : _e.enterFrom),
1521
- enterTo: toClassName(styles.background.transition.enterTo, (_g = (_f = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _f === void 0 ? void 0 : _f.transition) === null || _g === void 0 ? void 0 : _g.enterTo),
1522
- leave: toClassName(styles.background.transition.leave, (_j = (_h = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _h === void 0 ? void 0 : _h.transition) === null || _j === void 0 ? void 0 : _j.leave),
1523
- leaveFrom: toClassName(styles.background.transition.leaveFrom, (_l = (_k = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _k === void 0 ? void 0 : _k.transition) === null || _l === void 0 ? void 0 : _l.leaveFrom),
1524
- leaveTo: toClassName(styles.background.transition.leaveTo, (_o = (_m = customStyles === null || customStyles === void 0 ? void 0 : customStyles.background) === null || _m === void 0 ? void 0 : _m.transition) === null || _o === void 0 ? void 0 : _o.leaveTo),
1525
- },
1526
- },
1527
- layout: {
1528
- container: toClassName(styles.layout.container, (_p = customStyles === null || customStyles === void 0 ? void 0 : customStyles.layout) === null || _p === void 0 ? void 0 : _p.container),
1529
- content: toClassName(styles.layout.content, (_q = customStyles === null || customStyles === void 0 ? void 0 : customStyles.layout) === null || _q === void 0 ? void 0 : _q.content),
1530
- inner: toClassName(styles.layout.inner, (_r = customStyles === null || customStyles === void 0 ? void 0 : customStyles.layout) === null || _r === void 0 ? void 0 : _r.inner),
1531
- },
1532
- panel: {
1533
- container: toClassName(styles.panel.container, size && styles[size], (_s = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _s === void 0 ? void 0 : _s.container),
1534
- transition: {
1535
- enter: toClassName(styles.panel.transition.enter, (_u = (_t = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _t === void 0 ? void 0 : _t.transition) === null || _u === void 0 ? void 0 : _u.enter),
1536
- enterFrom: toClassName(styles.panel.transition.enterFrom, (_w = (_v = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _v === void 0 ? void 0 : _v.transition) === null || _w === void 0 ? void 0 : _w.enterFrom),
1537
- enterTo: toClassName(styles.panel.transition.enterTo, (_y = (_x = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _x === void 0 ? void 0 : _x.transition) === null || _y === void 0 ? void 0 : _y.enterTo),
1538
- leave: toClassName(styles.panel.transition.leave, (_0 = (_z = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _z === void 0 ? void 0 : _z.transition) === null || _0 === void 0 ? void 0 : _0.leave),
1539
- leaveFrom: toClassName(styles.panel.transition.leaveFrom, (_2 = (_1 = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _1 === void 0 ? void 0 : _1.transition) === null || _2 === void 0 ? void 0 : _2.leaveFrom),
1540
- leaveTo: toClassName(styles.panel.transition.leaveTo, (_4 = (_3 = customStyles === null || customStyles === void 0 ? void 0 : customStyles.panel) === null || _3 === void 0 ? void 0 : _3.transition) === null || _4 === void 0 ? void 0 : _4.leaveTo),
1541
- },
1542
- },
1319
+ var styles$1 = useMemo(function () {
1320
+ var styleKeys = calculateNestedKeys(styles);
1321
+ var customStyles = {
1322
+ 'panel.container': size && styles[size],
1323
+ };
1324
+ styleKeys.forEach(function (key) {
1325
+ toMergedClasses({
1326
+ styles: styles,
1327
+ stylesOverrides: stylesOverrides,
1328
+ identifier: key,
1329
+ customStyles: get(customStyles, key),
1330
+ });
1543
1331
  });
1544
- }, []);
1545
- return (jsxs(Fragment$1, { children: [jsx(Transition.Root, __assign({ show: isOpen, as: Fragment }, { children: jsxs(Dialog, __assign({ as: "div", className: style.container, onClose: setIsOpen }, { children: [jsx(Transition.Child, __assign({ as: Fragment, enter: style.background.transition.enter, enterFrom: style.background.transition.enterFrom, enterTo: style.background.transition.enterTo, leave: style.background.transition.leave, leaveFrom: style.background.transition.leaveFrom, leaveTo: style.background.transition.leaveTo }, { children: jsx("div", { className: style.background.container }) })), jsx("div", __assign({ className: style.layout.container }, { children: jsx("div", __assign({ className: style.layout.content }, { children: jsx("div", __assign({ className: style.layout.inner }, { children: jsx(Transition.Child, __assign({ as: Fragment, enter: style.panel.transition.enter, enterFrom: style.panel.transition.enterFrom, enterTo: style.panel.transition.enterTo, leave: style.panel.transition.leave, leaveFrom: style.panel.transition.leaveFrom, leaveTo: style.panel.transition.leaveTo }, { children: jsx(Dialog.Panel, __assign({ className: style.panel.container }, { children: children(options) })) })) })) })) }))] })) })), trigger && trigger(options)] }));
1332
+ return styles$1;
1333
+ }, [size, stylesOverrides]);
1334
+ return (jsxs(Fragment$1, { children: [jsx(Transition.Root, __assign({ show: isOpen, as: Fragment }, { children: jsxs(Dialog, __assign({ as: "div", className: styles$1.container, onClose: setIsOpen }, { children: [jsx(Transition.Child, __assign({ as: Fragment, enter: styles$1.background.transition.enter, enterFrom: styles$1.background.transition.enterFrom, enterTo: styles$1.background.transition.enterTo, leave: styles$1.background.transition.leave, leaveFrom: styles$1.background.transition.leaveFrom, leaveTo: styles$1.background.transition.leaveTo }, { children: jsx("div", { className: styles$1.background.container }) })), jsx("div", __assign({ className: styles$1.layout.container }, { children: jsx("div", __assign({ className: styles$1.layout.content }, { children: jsx("div", __assign({ className: styles$1.layout.inner }, { children: jsx(Transition.Child, __assign({ as: Fragment, enter: styles$1.panel.transition.enter, enterFrom: styles$1.panel.transition.enterFrom, enterTo: styles$1.panel.transition.enterTo, leave: styles$1.panel.transition.leave, leaveFrom: styles$1.panel.transition.leaveFrom, leaveTo: styles$1.panel.transition.leaveTo }, { children: jsx(Dialog.Panel, __assign({ className: styles$1.panel.container }, { children: children(options) })) })) })) })) }))] })) })), trigger && trigger(options)] }));
1546
1335
  };
1547
1336
 
1548
1337
  var styles = {