@ballistix.digital/react-components 0.1.12 → 0.1.13

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.
@@ -0,0 +1,1585 @@
1
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
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';
4
+ import { Menu, Transition, Dialog } from '@headlessui/react';
5
+
6
+ /******************************************************************************
7
+ Copyright (c) Microsoft Corporation.
8
+
9
+ Permission to use, copy, modify, and/or distribute this software for any
10
+ purpose with or without fee is hereby granted.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
13
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
14
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
16
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
+ PERFORMANCE OF THIS SOFTWARE.
19
+ ***************************************************************************** */
20
+
21
+ var __assign = function() {
22
+ __assign = Object.assign || function __assign(t) {
23
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
24
+ s = arguments[i];
25
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
26
+ }
27
+ return t;
28
+ };
29
+ return __assign.apply(this, arguments);
30
+ };
31
+
32
+ var AvatarElement = function (props) {
33
+ var src = props.src, placeholder = props.placeholder,
34
+ // 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
+ }, []);
43
+ 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),
50
+ }); }, [
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,
57
+ figure,
58
+ isDisabled,
59
+ isLoading,
60
+ size,
61
+ status,
62
+ toClassName,
63
+ ]);
64
+ if (isLoading) {
65
+ return (jsx("span", __assign({ className: style.loading }, { children: jsx(ArrowPathIcon, { className: style.spinner }) })));
66
+ }
67
+ if (!placeholder && !src) {
68
+ return (jsxs("span", __assign({ className: style.empty }, { children: [jsx("svg", __assign({ className: "h-full w-full text-gray-300", fill: "currentColor", viewBox: "0 0 24 24" }, { children: jsx("path", { d: "M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z" }) })), status && jsx("span", { className: style.indicator })] })));
69
+ }
70
+ if (!src) {
71
+ return (jsxs("span", __assign({ className: style.placeholder }, { children: [jsx("span", __assign({ className: "text-".concat(size, " font-medium leading-none text-white") }, { children: placeholder })), status && jsx("span", { className: style.indicator })] })));
72
+ }
73
+ 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
+ };
75
+
76
+ var base$5 = {
77
+ loading: 'inline-block relative overflow-hidden bg-gray-50 flex items-center justify-center',
78
+ empty: 'inline-block relative overflow-hidden bg-gray-50 text-red-400',
79
+ placeholder: 'relative inline-flex items-center justify-center bg-gray-500',
80
+ container: 'inline-block bg-gray-100 bg-cover bg-center',
81
+ spinner: 'w-5 h-5 animate-spin text-gray-400',
82
+ };
83
+ var xs$1 = {
84
+ container: 'h-6 w-6',
85
+ };
86
+ var sm$2 = {
87
+ container: 'h-8 w-8',
88
+ };
89
+ var md$1 = {
90
+ container: 'h-10 w-10',
91
+ };
92
+ var lg$2 = {
93
+ container: 'h-12 w-12',
94
+ };
95
+ var xl$1 = {
96
+ container: 'h-14 w-14',
97
+ };
98
+ var block$2 = {
99
+ container: 'rounded-md',
100
+ };
101
+ var rounded$2 = {
102
+ container: 'rounded-full',
103
+ };
104
+ var disabled$2 = {
105
+ container: 'opacity-20 cursor-not-allowed',
106
+ };
107
+ var loading$2 = {
108
+ container: 'cursor-progress',
109
+ };
110
+ var indicator$1 = {
111
+ container: 'absolute top-0 right-0 block h-2.5 w-2.5 rounded-full ring-2 ring-white',
112
+ rounded: '',
113
+ block: 'transform -translate-y-1/2 translate-x-1/2',
114
+ xs: 'h-1.5 w-1.5',
115
+ sm: 'h-2 w-2',
116
+ md: 'h-2.5 w-2.5',
117
+ lg: 'h-3 w-3',
118
+ xl: 'h-3.5 w-3.5',
119
+ offline: 'bg-gray-300',
120
+ online: 'bg-green-400',
121
+ blocked: 'bg-red-400',
122
+ };
123
+ var styles$h = {
124
+ base: base$5,
125
+ xs: xs$1,
126
+ sm: sm$2,
127
+ md: md$1,
128
+ lg: lg$2,
129
+ xl: xl$1,
130
+ block: block$2,
131
+ rounded: rounded$2,
132
+ disabled: disabled$2,
133
+ loading: loading$2,
134
+ indicator: indicator$1,
135
+ };
136
+
137
+ 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
+ }, []);
146
+ 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
+ ]);
157
+ 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
+ };
159
+
160
+ var base$4 = {
161
+ 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
+ loading: 'flex gap-2',
163
+ icon: 'w-5',
164
+ spinner: 'w-5 animate-spin',
165
+ };
166
+ var primary$1 = {
167
+ container: "shadow-sm text-white bg-indigo-600 hover:bg-indigo-700",
168
+ };
169
+ var secondary$1 = {
170
+ container: "shadow-none text-indigo-700 bg-indigo-100 hover:bg-indigo-200",
171
+ };
172
+ var outline$1 = {
173
+ container: "border-gray-300 text-gray-700 bg-white hover:bg-gray-50",
174
+ };
175
+ var xs = {
176
+ container: 'px-3 py-1.5 text-xs',
177
+ };
178
+ var sm$1 = {
179
+ container: 'px-3.5 py-2 text-sm',
180
+ };
181
+ var md = {
182
+ container: 'px-4 py-2.5 text-sm',
183
+ };
184
+ var lg$1 = {
185
+ container: 'px-5 py-2.5 text-base',
186
+ };
187
+ var xl = {
188
+ container: 'px-6 py-3 text-base',
189
+ };
190
+ var block$1 = {
191
+ container: 'rounded-md',
192
+ };
193
+ var rounded$1 = {
194
+ container: 'rounded-full',
195
+ };
196
+ var idle = {
197
+ container: '',
198
+ };
199
+ var loading$1 = {
200
+ container: 'cursor-progress',
201
+ };
202
+ var success = {
203
+ container: 'bg-emerald-500 hover:bg-emerald-600',
204
+ };
205
+ var error = {
206
+ container: 'bg-rose-400 hover:bg-rose-500',
207
+ };
208
+ var disabled$1 = {
209
+ container: 'opacity-20 cursor-not-allowed',
210
+ };
211
+ var styles$g = {
212
+ base: base$4,
213
+ primary: primary$1,
214
+ secondary: secondary$1,
215
+ outline: outline$1,
216
+ xs: xs,
217
+ sm: sm$1,
218
+ md: md,
219
+ lg: lg$1,
220
+ xl: xl,
221
+ block: block$1,
222
+ rounded: rounded$1,
223
+ idle: idle,
224
+ loading: loading$1,
225
+ success: success,
226
+ error: error,
227
+ disabled: disabled$1,
228
+ };
229
+
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];
236
+ }
237
+ return values.filter(Boolean).join(' ');
238
+ }, []);
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) {
252
+ var _a;
253
+ var className = style.button;
254
+ if (index === 0) {
255
+ className = style.firstButton;
256
+ }
257
+ if (index === children.length - 1) {
258
+ className = style.lastButton;
259
+ }
260
+ return (jsx("button", __assign({ className: className }, { children: child }), (_a = child.key) !== null && _a !== void 0 ? _a : index));
261
+ }) })));
262
+ };
263
+
264
+ var base$3 = {
265
+ container: 'relative z-0 inline-flex shadow-sm rounded-md',
266
+ 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
+ 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
+ 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 };
271
+
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
+ }, []);
281
+ 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),
287
+ }); }, [
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,
293
+ direction,
294
+ toClassName,
295
+ ]);
296
+ return (jsxs(Menu, __assign({ as: "div", className: style.container }, { children: [jsxs("div", { children: [type === 'button' && (jsxs(Menu.Button, __assign({ className: style.button }, { children: [label, jsx(ChevronDownIcon, { className: "-mr-1 ml-2 h-5 w-5", "aria-hidden": "true" })] }))), type === 'compact' && (jsxs(Menu.Button, __assign({ className: style.compact }, { children: [jsx("span", __assign({ className: "sr-only" }, { children: label })), jsx(EllipsisVerticalIcon, { className: style.dots, "aria-hidden": "true" })] })))] }), jsx(Transition, __assign({ as: Fragment, enter: "transition ease-out duration-100", enterFrom: "transform opacity-0 scale-95", enterTo: "transform opacity-100 scale-100", leave: "transition ease-in duration-75", leaveFrom: "transform opacity-100 scale-100", leaveTo: "transform opacity-0 scale-95" }, { children: jsx(Menu.Items, __assign({ className: style.items }, { children: children })) }))] })));
297
+ };
298
+ var DropdownElement = {
299
+ Container: Container$4,
300
+ Item: Menu.Item,
301
+ };
302
+
303
+ var base$2 = {
304
+ container: 'relative inline-block text-left',
305
+ button: 'inline-flex justify-center w-full rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-100 focus:ring-indigo-500',
306
+ compact: 'bg-gray-100 rounded-full flex items-center text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-100 focus:ring-indigo-500',
307
+ dots: 'h-7 w-7 p-1',
308
+ items: 'absolute mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 focus:outline-none',
309
+ };
310
+ var left$1 = {
311
+ items: 'origin-top-right right-0',
312
+ };
313
+ var right$1 = {
314
+ items: 'origin-top-left left-0',
315
+ };
316
+ var styles$e = {
317
+ base: base$2,
318
+ left: left$1,
319
+ right: right$1,
320
+ };
321
+
322
+ 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
+ }, []);
331
+ 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),
335
+ }); }, [
336
+ 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,
340
+ figure,
341
+ isDisabled,
342
+ isLoading,
343
+ size,
344
+ toClassName,
345
+ type,
346
+ ]);
347
+ if (isLoading) {
348
+ return (jsxs("span", __assign({ className: style.container }, { children: [type === 'indicator' && (jsx("svg", __assign({ className: style.indicator, fill: "currentColor", viewBox: "0 0 8 8" }, { children: jsx("circle", { cx: 4, cy: 4, r: 3 }) }))), "Loading..."] })));
349
+ }
350
+ return (jsxs("span", __assign({ className: style.container }, { children: [type === 'indicator' && (jsx("svg", __assign({ className: style.indicator, fill: "currentColor", viewBox: "0 0 8 8" }, { children: jsx("circle", { cx: 4, cy: 4, r: 3 }) }))), children, type === 'close' && (jsxs("button", __assign({ type: "button", className: style.button, onClick: onClose }, { children: [jsx("span", __assign({ className: "sr-only" }, { children: "Remove large option" })), jsx("svg", __assign({ className: "h-2 w-2", stroke: "currentColor", fill: "none", viewBox: "0 0 8 8" }, { children: jsx("path", { strokeLinecap: "round", strokeWidth: "1.5", d: "M1 1l6 6m0-6L1 7" }) }))] })))] })));
351
+ };
352
+
353
+ var normal = {
354
+ container: 'inline-flex items-center px-2.5 py-0.5 font-medium',
355
+ };
356
+ var indicator = {
357
+ container: 'inline-flex items-center px-2.5 py-0.5 font-medium',
358
+ };
359
+ var close = {
360
+ container: 'inline-flex items-center pl-2.5 pr-1 py-0.5 font-medium',
361
+ };
362
+ var primary = {
363
+ container: "shadow-sm text-white bg-indigo-600 hover:bg-indigo-700",
364
+ };
365
+ var secondary = {
366
+ container: "shadow-none text-indigo-700 bg-indigo-100 hover:bg-indigo-200",
367
+ };
368
+ var outline = {
369
+ container: "border-gray-300 text-gray-700 bg-white hover:bg-gray-50",
370
+ };
371
+ var sm = {
372
+ container: 'text-xs',
373
+ indicator: 'mr-1.5 h-2 w-2 ',
374
+ button: '',
375
+ };
376
+ var lg = {
377
+ container: 'text-sm',
378
+ indicator: '-ml-0.5 mr-1.5 h-2 w-2',
379
+ button: '',
380
+ };
381
+ var block = {
382
+ container: 'rounded-md',
383
+ };
384
+ var rounded = {
385
+ container: 'rounded-full',
386
+ };
387
+ var gray = {
388
+ container: 'bg-gray-100 text-gray-800',
389
+ indicator: 'text-gray-400',
390
+ button: 'text-gray-400 hover:bg-gray-200 hover:text-gray-500 focus:bg-gray-500',
391
+ };
392
+ var red = {
393
+ container: 'bg-red-100 text-red-800',
394
+ indicator: 'text-red-400',
395
+ button: 'text-red-400 hover:bg-red-200 hover:text-red-500 focus:bg-red-500',
396
+ };
397
+ var yellow = {
398
+ container: 'bg-yellow-100 text-yellow-800',
399
+ indicator: 'text-yellow-400',
400
+ button: 'text-yellow-400 hover:bg-yellow-200 hover:text-yellow-500 focus:bg-yellow-500',
401
+ };
402
+ var green = {
403
+ container: 'bg-green-100 text-green-800',
404
+ indicator: 'text-green-400',
405
+ button: 'text-green-400 hover:bg-green-200 hover:text-green-500 focus:bg-green-500',
406
+ };
407
+ var blue = {
408
+ container: 'bg-blue-100 text-blue-800',
409
+ indicator: 'text-blue-400',
410
+ button: 'text-blue-400 hover:bg-blue-200 hover:text-blue-500 focus:bg-blue-500',
411
+ };
412
+ var indigo = {
413
+ container: 'bg-indigo-100 text-indigo-800',
414
+ indicator: 'text-indigo-400',
415
+ button: 'text-indigo-400 hover:bg-indigo-200 hover:text-indigo-500 focus:outline-none focus:bg-indigo-500',
416
+ };
417
+ var purple = {
418
+ container: 'bg-purple-100 text-purple-800',
419
+ indicator: 'text-purple-400',
420
+ button: 'text-purple-400 hover:bg-purple-200 hover:text-purple-500 focus:bg-purple-500',
421
+ };
422
+ var pink = {
423
+ container: 'bg-pink-100 text-pink-800',
424
+ indicator: 'text-pink-400',
425
+ button: 'text-pink-400 hover:bg-pink-200 hover:text-pink-500 focus:bg-purple-500',
426
+ };
427
+ var disabled = {
428
+ container: 'opacity-20 cursor-not-allowed',
429
+ };
430
+ var loading = {
431
+ container: 'cursor-progress',
432
+ };
433
+ var styles$d = {
434
+ normal: normal,
435
+ indicator: indicator,
436
+ close: close,
437
+ primary: primary,
438
+ secondary: secondary,
439
+ outline: outline,
440
+ sm: sm,
441
+ lg: lg,
442
+ block: block,
443
+ rounded: rounded,
444
+ gray: gray,
445
+ red: red,
446
+ yellow: yellow,
447
+ green: green,
448
+ blue: blue,
449
+ indigo: indigo,
450
+ purple: purple,
451
+ pink: pink,
452
+ disabled: disabled,
453
+ loading: loading,
454
+ };
455
+
456
+ 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]);
477
+ var $component = useMemo(function () {
478
+ var result;
479
+ switch (type) {
480
+ case 'break':
481
+ result = jsx("div", __assign({ className: style.break.container }, { children: children }));
482
+ break;
483
+ case 'center':
484
+ result = (jsx("div", __assign({ className: style.center.container }, { children: jsx("div", __assign({ className: style.center.content }, { children: children })) })));
485
+ break;
486
+ case 'fill':
487
+ result = jsx("div", __assign({ className: style.fill.container }, { children: children }));
488
+ break;
489
+ }
490
+ return result;
491
+ }, [style]);
492
+ return $component;
493
+ };
494
+
495
+ var breakStyles = {
496
+ container: 'container mx-auto sm:px-6 lg:px-8',
497
+ };
498
+ var centerStyles = {
499
+ container: 'max-w-7xl mx-auto px-4 sm:px-6 lg:px-8',
500
+ content: 'max-w-4xl mx-auto',
501
+ };
502
+ var fillStyles = {
503
+ container: 'max-w-7xl mx-auto sm:px-6 lg:px-8',
504
+ };
505
+ var initialStyles = {
506
+ break: breakStyles,
507
+ center: centerStyles,
508
+ fill: fillStyles,
509
+ };
510
+
511
+ 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 })) }))] })));
536
+ };
537
+
538
+ var base$1 = {
539
+ container: 'relative',
540
+ head: 'absolute inset-0 flex items-center',
541
+ line: 'w-full border-t border-gray-300',
542
+ body: 'relative flex',
543
+ content: 'bg-white text-sm text-gray-500',
544
+ };
545
+ var left = {
546
+ container: '',
547
+ head: '',
548
+ line: '',
549
+ body: 'justify-start',
550
+ content: '',
551
+ };
552
+ var center$2 = {
553
+ container: '',
554
+ head: '',
555
+ line: '',
556
+ body: 'justify-center',
557
+ content: '',
558
+ };
559
+ var right = {
560
+ container: '',
561
+ head: '',
562
+ line: '',
563
+ body: 'justify-end',
564
+ content: '',
565
+ };
566
+ var styles$c = {
567
+ base: base$1,
568
+ left: left,
569
+ center: center$2,
570
+ right: right,
571
+ };
572
+
573
+ var ListContainerLayout = function (props) {
574
+ var _a;
575
+ var children = props.children, _b = props.type, type = _b === void 0 ? 'fill' : _b, customStyles = props.styles;
576
+ var isSticky = type.includes('-sticky');
577
+ 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
+ var style = useMemo(function () { return ({
586
+ container: toClassName(isSticky
587
+ ? styles$b["".concat(selector, "_sticky")].container
588
+ : styles$b[selector].container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
589
+ list: toClassName(isSticky
590
+ ? styles$b["".concat(selector, "_sticky")].list
591
+ : styles$b[selector].list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list),
592
+ item: toClassName(isSticky
593
+ ? styles$b["".concat(selector, "_sticky")].item
594
+ : styles$b[selector].item, customStyles === null || customStyles === void 0 ? void 0 : customStyles.item),
595
+ }); }, [
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,
599
+ isSticky,
600
+ selector,
601
+ toClassName,
602
+ ]);
603
+ return (jsx("div", __assign({ className: style.container }, { children: jsx("ul", __assign({ className: style.list }, { children: Children.map(children, function (child, index) {
604
+ var _a;
605
+ return (jsx("li", __assign({ className: style.item }, { children: child }), (_a = child.key) !== null && _a !== void 0 ? _a : index));
606
+ }) })) })));
607
+ };
608
+
609
+ var fill = {
610
+ list: 'divide-y divide-gray-200',
611
+ item: 'py-4',
612
+ };
613
+ var fill_sticky = {
614
+ list: 'divide-y divide-gray-200',
615
+ item: 'px-4 py-4 sm:px-0',
616
+ };
617
+ var center$1 = {
618
+ container: 'bg-white shadow overflow-hidden rounded-md',
619
+ list: 'divide-y divide-gray-200',
620
+ item: 'px-6 py-4',
621
+ };
622
+ var center_sticky = {
623
+ container: 'bg-white shadow overflow-hidden sm:rounded-md',
624
+ list: 'divide-y divide-gray-200',
625
+ item: 'px-4 py-4 sm:px-6',
626
+ };
627
+ var card = {
628
+ list: 'space-y-3',
629
+ item: 'bg-white shadow overflow-hidden rounded-md px-6 py-4',
630
+ };
631
+ var card_sticky = {
632
+ list: 'space-y-3',
633
+ item: 'bg-white shadow overflow-hidden px-4 py-4 sm:px-6 sm:rounded-md',
634
+ };
635
+ var styles$b = {
636
+ fill: fill,
637
+ fill_sticky: fill_sticky,
638
+ center: center$1,
639
+ center_sticky: center_sticky,
640
+ card: card,
641
+ card_sticky: card_sticky,
642
+ };
643
+
644
+ var MediaObjectLayout = function (props) {
645
+ 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;
647
+ 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
+ ]);
672
+ 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" }) })));
674
+ if (customFigure) {
675
+ result = React.cloneElement(customFigure, {
676
+ className: style.svg,
677
+ });
678
+ }
679
+ 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 }))] })] })));
682
+ };
683
+
684
+ var base = {
685
+ container: 'flex',
686
+ figure: 'mr-4 flex-shrink-0',
687
+ svg: 'h-16 w-16 border border-gray-300 bg-white text-gray-300',
688
+ title: 'text-lg font-bold',
689
+ paragraph: 'mt-1',
690
+ };
691
+ var top = {
692
+ container: "".concat(base.container),
693
+ figure: "".concat(base.figure),
694
+ svg: "".concat(base.svg),
695
+ title: "".concat(base.title),
696
+ paragraph: "".concat(base.paragraph),
697
+ };
698
+ var center = {
699
+ container: "".concat(base.container),
700
+ figure: "".concat(base.figure, " self-center"),
701
+ svg: "".concat(base.svg),
702
+ title: "".concat(base.title),
703
+ paragraph: "".concat(base.paragraph),
704
+ };
705
+ var bottom = {
706
+ container: "".concat(base.container),
707
+ figure: "".concat(base.figure, " self-end"),
708
+ svg: "".concat(base.svg),
709
+ title: "".concat(base.title),
710
+ paragraph: "".concat(base.paragraph),
711
+ };
712
+ var stretch = {
713
+ container: "".concat(base.container),
714
+ figure: "".concat(base.figure),
715
+ svg: "".concat(base.svg, " h-full"),
716
+ title: "".concat(base.title),
717
+ paragraph: "".concat(base.paragraph),
718
+ };
719
+ var responsive = {
720
+ container: 'sm:flex',
721
+ figure: "".concat(base.figure, " sm:mb-0 sm:mr-4"),
722
+ svg: "".concat(base.svg),
723
+ title: "".concat(base.title),
724
+ paragraph: "".concat(base.paragraph),
725
+ };
726
+ var wide = {
727
+ container: 'sm:flex',
728
+ figure: "".concat(base.figure, " mb-4 md:mb-0 sm:mr-4 sm:mb-4 "),
729
+ svg: "".concat(base.svg, " h-32 w-full sm:w-32"),
730
+ title: "".concat(base.title),
731
+ paragraph: "".concat(base.paragraph),
732
+ };
733
+ var styles$a = {
734
+ top: top,
735
+ center: center,
736
+ bottom: bottom,
737
+ stretch: stretch,
738
+ responsive: responsive,
739
+ wide: wide,
740
+ };
741
+
742
+ var Container$3 = function (props) {
743
+ var children = props.children, _a = props.type, type = _a === void 0 ? 'normal' : _a, customStyles = props.styles;
744
+ var typeStyle = useMemo(function () {
745
+ var result;
746
+ switch (type) {
747
+ case 'normal':
748
+ result = 'rounded-lg';
749
+ break;
750
+ case 'sticky':
751
+ result = 'sm:rounded-lg';
752
+ break;
753
+ }
754
+ return result;
755
+ }, [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
+ 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]);
766
+ return jsx("div", __assign({ className: style.container }, { children: children }));
767
+ };
768
+ 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
+ }, []);
777
+ 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]);
780
+ return jsx("div", __assign({ className: style.container }, { children: children }));
781
+ };
782
+ var LayoutPanel = {
783
+ Container: Container$3,
784
+ Section: Section,
785
+ };
786
+
787
+ var styles$9 = {
788
+ container: 'bg-white overflow-hidden shadow',
789
+ section: 'px-4 py-5 sm:px-6',
790
+ };
791
+
792
+ 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
+ },
819
+ });
820
+ }, [customStyles, toClassName, type]);
821
+ var separator = useMemo(function () {
822
+ var component;
823
+ switch (type) {
824
+ 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" }) })));
826
+ break;
827
+ case 'chevrons':
828
+ component = (jsx(ChevronRightIcon, { className: style.separator, "aria-hidden": "true" }));
829
+ break;
830
+ 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" }) })));
832
+ break;
833
+ 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" }) })));
835
+ break;
836
+ }
837
+ if (customSeparator) {
838
+ component = customSeparator;
839
+ }
840
+ return component;
841
+ }, [customSeparator, style.separator, type]);
842
+ 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" }))] })) })) })));
844
+ };
845
+ var PageLink = function (props) {
846
+ 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));
848
+ };
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)); })] })) })));
850
+ };
851
+
852
+ var slashes = {
853
+ container: 'flex',
854
+ list: 'flex items-center space-x-4',
855
+ separator: 'h-5 w-5 flex-shrink-0 text-gray-300',
856
+ home: {
857
+ container: 'flex',
858
+ content: 'flex items-center',
859
+ link: 'text-gray-400 hover:text-gray-500',
860
+ icon: 'h-5 w-5 flex-shrink-0',
861
+ span: 'sr-only',
862
+ },
863
+ page: {
864
+ container: 'flex',
865
+ content: 'flex items-center',
866
+ link: 'ml-4 text-sm font-medium text-gray-500 hover:text-gray-700',
867
+ },
868
+ };
869
+ var chevrons = {
870
+ container: 'flex',
871
+ list: 'flex items-center space-x-4',
872
+ separator: 'h-5 w-5 flex-shrink-0 text-gray-400',
873
+ home: {
874
+ container: 'flex',
875
+ content: 'flex items-center',
876
+ link: 'text-gray-400 hover:text-gray-500',
877
+ icon: 'h-5 w-5 flex-shrink-0',
878
+ span: 'sr-only',
879
+ },
880
+ page: {
881
+ container: 'flex',
882
+ content: 'flex items-center',
883
+ link: 'ml-4 text-sm font-medium text-gray-500 hover:text-gray-700',
884
+ },
885
+ };
886
+ var panel = {
887
+ container: 'flex',
888
+ list: 'flex space-x-4 rounded-md bg-white px-6 shadow',
889
+ separator: 'h-full w-6 flex-shrink-0 text-gray-200',
890
+ home: {
891
+ container: 'flex',
892
+ content: 'flex items-center',
893
+ link: 'text-gray-400 hover:text-gray-500',
894
+ icon: 'h-5 w-5 flex-shrink-0',
895
+ span: 'sr-only',
896
+ },
897
+ page: {
898
+ container: 'flex',
899
+ content: 'flex items-center',
900
+ link: 'ml-4 text-sm font-medium text-gray-500 hover:text-gray-700',
901
+ },
902
+ };
903
+ var bar = {
904
+ container: 'flex border-b border-gray-200 bg-white',
905
+ list: 'mx-auto flex w-full max-w-screen-xl space-x-4 px-4 sm:px-6 lg:px-8',
906
+ separator: 'h-full w-6 flex-shrink-0 text-gray-200',
907
+ home: {
908
+ container: 'flex',
909
+ content: 'flex items-center',
910
+ link: 'text-gray-400 hover:text-gray-500',
911
+ icon: 'h-5 w-5 flex-shrink-0',
912
+ span: 'sr-only',
913
+ },
914
+ page: {
915
+ container: 'flex',
916
+ content: 'flex items-center',
917
+ link: 'ml-4 text-sm font-medium text-gray-500 hover:text-gray-700',
918
+ },
919
+ };
920
+ var styles$8 = {
921
+ slashes: slashes,
922
+ chevrons: chevrons,
923
+ panel: panel,
924
+ bar: bar,
925
+ };
926
+
927
+ 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;
929
+ 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
+ var style = useMemo(function () {
938
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
939
+ return ({
940
+ container: toClassName(styles$7.container, customStyles === null || customStyles === void 0 ? void 0 : customStyles.container),
941
+ 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),
944
+ },
945
+ 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),
950
+ },
951
+ 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),
955
+ },
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),
959
+ });
960
+ }, []);
961
+ var pageType = useMemo(function () {
962
+ var result = 'center';
963
+ if (current < min + 3) {
964
+ result = 'first';
965
+ }
966
+ if (current > max - 3) {
967
+ result = 'last';
968
+ }
969
+ return result;
970
+ }, [current, min, max]);
971
+ var component;
972
+ switch (pageType) {
973
+ case 'first':
974
+ 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 }))] }));
975
+ break;
976
+ case 'center':
977
+ 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 }))] }));
978
+ break;
979
+ case 'last':
980
+ 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 }))] }));
981
+ break;
982
+ }
983
+ useEffect(function () {
984
+ if (current) {
985
+ onChange && onChange(current);
986
+ }
987
+ }, [onChange, current]);
988
+ return (jsxs("div", __assign({ className: style.container }, { children: [jsxs("div", __assign({ className: "flex flex-1 justify-between sm:hidden" }, { children: [jsx("button", __assign({ className: toClassName(style.mobile.button, current === min && style.button.disabled), disabled: current === min, onClick: function () { return setCurrent(current - 1); } }, { children: "Previous" })), jsx("button", __assign({ className: toClassName(style.mobile.button, current === max && style.button.disabled), disabled: current === max, onClick: function () { return setCurrent(current + 1); } }, { children: "Next" }))] })), jsxs("div", __assign({ className: style.desktop.container }, { children: [jsx("div", { children: jsx("p", __assign({ className: "text-sm text-gray-700" }, { children: children({ min: min, max: max, current: current }) })) }), jsx("div", { children: jsxs("nav", __assign({ className: style.desktop.navigation, "aria-label": "Pagination" }, { children: [jsxs("button", __assign({ className: toClassName(style.desktop.leftButton, current === min && style.button.disabled), disabled: current === min, onClick: function () { return setCurrent(current - 1); } }, { children: [jsx("span", __assign({ className: style.label }, { children: "Previous" })), jsx(ChevronLeftIcon, { className: style.icon, "aria-hidden": "true" })] })), component, jsxs("button", __assign({ className: toClassName(style.desktop.rightButton, current === max && style.button.disabled), disabled: current === max, onClick: function () { return setCurrent(current + 1); } }, { children: [jsx("span", __assign({ className: style.label }, { children: "Next" })), jsx(ChevronRightIcon, { className: style.icon, "aria-hidden": "true" })] }))] })) })] }))] })));
989
+ };
990
+
991
+ var styles$7 = {
992
+ container: 'flex items-center justify-between border-t border-gray-200 bg-white px-4 py-3 sm:px-6',
993
+ mobile: {
994
+ container: '',
995
+ button: 'relative inline-flex items-center rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50',
996
+ },
997
+ desktop: {
998
+ container: 'hidden sm:flex sm:flex-1 sm:items-center sm:justify-between',
999
+ leftButton: 'relative inline-flex items-center rounded-l-md border border-gray-300 bg-white px-2 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20',
1000
+ rightButton: 'relative inline-flex items-center rounded-r-md border border-gray-300 bg-white px-2 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-20',
1001
+ navigation: 'isolate inline-flex -space-x-px rounded-md shadow-sm',
1002
+ },
1003
+ button: {
1004
+ default: 'relative inline-flex items-center border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50',
1005
+ active: 'border-indigo-500 bg-indigo-50 text-indigo-600 z-20',
1006
+ disabled: 'opacity-20 cursor-not-allowed',
1007
+ },
1008
+ divider: 'relative inline-flex items-center border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-500',
1009
+ label: 'sr-only',
1010
+ icon: 'w-5 h-5',
1011
+ };
1012
+
1013
+ 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;
1015
+ 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),
1046
+ });
1047
+ }, []);
1048
+ var pageType = useMemo(function () {
1049
+ var result = 'center';
1050
+ if (current < min + 3) {
1051
+ result = 'first';
1052
+ }
1053
+ if (current > max - 3) {
1054
+ result = 'last';
1055
+ }
1056
+ return result;
1057
+ }, [current, min, max]);
1058
+ var component;
1059
+ switch (pageType) {
1060
+ 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 }))] }));
1062
+ break;
1063
+ 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 }))] }));
1065
+ break;
1066
+ 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 }))] }));
1068
+ break;
1069
+ }
1070
+ useEffect(function () {
1071
+ if (current) {
1072
+ onChange && onChange(current);
1073
+ }
1074
+ }, [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 })] })) }))] })));
1076
+ };
1077
+
1078
+ var styles$6 = {
1079
+ container: 'flex items-center justify-between border-t border-gray-200 px-4 sm:px-0',
1080
+ left: {
1081
+ container: '-mt-px flex w-0 flex-1',
1082
+ button: 'inline-flex items-center border-t-2 border-transparent pt-4 pr-1 text-sm font-medium text-gray-500 hover:border-gray-300 hover:text-gray-700',
1083
+ icon: 'mr-3 h-5 w-5 text-gray-400',
1084
+ },
1085
+ center: {
1086
+ container: 'hidden md:-mt-px md:flex',
1087
+ },
1088
+ right: {
1089
+ container: '-mt-px flex w-0 flex-1 justify-end',
1090
+ button: 'inline-flex items-center border-t-2 border-transparent pt-4 pr-1 text-sm font-medium text-gray-500 hover:border-gray-300 hover:text-gray-700',
1091
+ icon: 'ml-3 h-5 w-5 text-gray-400',
1092
+ },
1093
+ button: {
1094
+ default: 'inline-flex items-center border-t-2 border-transparent px-4 pt-4 text-sm font-medium text-gray-500 hover:border-gray-300 hover:text-gray-700',
1095
+ active: 'border-indigo-500 text-indigo-600',
1096
+ disabled: 'opacity-20 cursor-not-allowed',
1097
+ },
1098
+ divider: 'inline-flex items-center border-t-2 border-transparent px-4 pt-4 text-sm font-medium text-gray-500',
1099
+ };
1100
+
1101
+ var Container$2 = function (props) {
1102
+ var children = props.children, customStyles = props.styles;
1103
+ 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
+ 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),
1116
+ }); }, []);
1117
+ 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
+ };
1119
+ 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
+ }, []);
1128
+ 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; });
1132
+ if (initialTab !== undefined) {
1133
+ tab = initialTab;
1134
+ }
1135
+ setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1136
+ }, []);
1137
+ return (jsx("nav", __assign({ className: toClassName(styles$5.list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list) }, { children: children })));
1138
+ };
1139
+ 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 })));
1151
+ };
1152
+ var Footer = function (props) {
1153
+ var children = props.children;
1154
+ return jsx("div", __assign({ className: "flex border-t border-gray-200 p-4" }, { children: children }));
1155
+ };
1156
+ var SidebarNavigation = {
1157
+ Container: Container$2,
1158
+ List: List$2,
1159
+ Item: Item$2,
1160
+ Footer: Footer,
1161
+ };
1162
+
1163
+ var styles$5 = {
1164
+ root: 'z-10 fixed top-0 left-0 bottom-0 bg-red-50 sm:w-1/6',
1165
+ panel: 'flex min-h-0 flex-1 flex-col border-r border-gray-200 bg-white h-full pt-16',
1166
+ container: 'flex flex-col overflow-y-auto pt-5 pb-4',
1167
+ content: 'flex flex-shrink-0 items-center px-4',
1168
+ list: 'mt-5 flex-1 space-y-1 bg-white px-2 ',
1169
+ item: {
1170
+ base: 'group flex items-center px-2 py-2 text-sm font-medium rounded-md cursor-pointer',
1171
+ active: 'bg-gray-100 text-gray-900 hover:text-gray-900 hover:bg-gray-100',
1172
+ notActive: 'text-gray-600 hover:text-gray-900 hover:bg-gray-50',
1173
+ },
1174
+ };
1175
+
1176
+ var Container$1 = function (props) {
1177
+ var children = props.children, customStyles = props.styles;
1178
+ 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 }) })));
1180
+ };
1181
+ var List$1 = function (props) {
1182
+ var children = props.children, active = props.active, setActive = props.setActive, customStyles = props.styles;
1183
+ 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; });
1187
+ if (tab === null || tab === void 0 ? void 0 : tab.props.href) {
1188
+ window.location.href = tab.props.href;
1189
+ }
1190
+ else if (tab === null || tab === void 0 ? void 0 : tab.props.onClick) {
1191
+ setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1192
+ }
1193
+ }, []);
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
+ 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; });
1205
+ if (initialTab !== undefined) {
1206
+ tab = initialTab;
1207
+ }
1208
+ 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) {
1212
+ var _a;
1213
+ 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 })) }))] }));
1215
+ };
1216
+ 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 })));
1228
+ };
1229
+ var View$1 = function (props) {
1230
+ var children = props.children;
1231
+ return jsx(Fragment$1, { children: children });
1232
+ };
1233
+ var TabNavigation = {
1234
+ Container: Container$1,
1235
+ List: List$1,
1236
+ Item: Item$1,
1237
+ View: View$1,
1238
+ };
1239
+
1240
+ var styles$4 = {
1241
+ container: '',
1242
+ select: 'block w-full rounded-md border border-gray-300 py-2 px-3 text-base focus:border-indigo-500 focus:outline-none focus:ring-indigo-500 sm:text-sm',
1243
+ navigation: 'border-b border-gray-200 -mb-px flex space-x-8',
1244
+ tab: {
1245
+ underline: {
1246
+ base: 'whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm cursor-pointer',
1247
+ active: 'border-indigo-500 text-indigo-600',
1248
+ notActive: 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300',
1249
+ },
1250
+ pills: {
1251
+ base: 'px-3 py-2 font-medium text-sm rounded-md cursor-pointer',
1252
+ active: 'bg-gray-100 text-gray-700',
1253
+ notActive: 'text-gray-500 hover:text-gray-700',
1254
+ },
1255
+ buttons: {
1256
+ base: 'whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm cursor-pointer',
1257
+ active: 'border-indigo-500 text-indigo-600',
1258
+ notActive: 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300',
1259
+ },
1260
+ },
1261
+ };
1262
+
1263
+ var Container = function (props) {
1264
+ var children = props.children, customStyles = props.styles;
1265
+ 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 }) })));
1267
+ };
1268
+ 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
+ }, []);
1277
+ 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; });
1281
+ if (initialTab !== undefined) {
1282
+ tab = initialTab;
1283
+ }
1284
+ setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
1285
+ }, []);
1286
+ return (jsx("nav", __assign({ className: toClassName(styles$3.list, customStyles === null || customStyles === void 0 ? void 0 : customStyles.list) }, { children: children })));
1287
+ };
1288
+ 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 })));
1300
+ };
1301
+ var View = function (props) {
1302
+ var children = props.children;
1303
+ return jsx(Fragment$1, { children: children });
1304
+ };
1305
+ var VerticalNavigation = {
1306
+ Container: Container,
1307
+ List: List,
1308
+ Item: Item,
1309
+ View: View,
1310
+ };
1311
+
1312
+ var styles$3 = {
1313
+ container: '',
1314
+ list: 'space-y-1',
1315
+ item: {
1316
+ base: 'flex items-center px-3 py-2 text-sm font-medium rounded-md cursor-pointer',
1317
+ active: 'bg-gray-100 text-gray-900',
1318
+ notActive: 'text-gray-600 hover:bg-gray-50 hover:text-gray-900',
1319
+ },
1320
+ };
1321
+
1322
+ var ModalOverlay = function (props) {
1323
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1324
+ var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1325
+ var options = useMemo(function () { return ({
1326
+ onOpen: function () { return setIsOpen(true); },
1327
+ onClose: function () { return setIsOpen(false); },
1328
+ }); }, []);
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
+ },
1366
+ });
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)] }));
1369
+ };
1370
+
1371
+ var styles$2 = {
1372
+ container: 'relative z-20',
1373
+ background: {
1374
+ container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
1375
+ transition: {
1376
+ enter: 'ease-out duration-300',
1377
+ enterFrom: 'opacity-0',
1378
+ enterTo: 'opacity-100',
1379
+ leave: 'ease-in duration-200',
1380
+ leaveFrom: 'opacity-100',
1381
+ leaveTo: 'opacity-0',
1382
+ },
1383
+ },
1384
+ layout: {
1385
+ container: 'fixed inset-0 z-10 overflow-y-auto',
1386
+ content: 'flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0',
1387
+ },
1388
+ panel: {
1389
+ container: 'relative transform overflow-hidden rounded-lg bg-white w-full shadow-xl transition-all sm:w-full text-left',
1390
+ transition: {
1391
+ enter: 'ease-out duration-300',
1392
+ enterFrom: 'opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95',
1393
+ enterTo: 'opacity-100 translate-y-0 sm:scale-100',
1394
+ leave: 'ease-in duration-200',
1395
+ leaveFrom: 'opacity-100 translate-y-0 sm:scale-100',
1396
+ leaveTo: 'opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95',
1397
+ },
1398
+ },
1399
+ xs: 'sm:max-w-xs',
1400
+ sm: 'sm:max-w-sm',
1401
+ md: 'sm:max-w-md',
1402
+ lg: 'sm:max-w-2xl',
1403
+ xl: 'sm:max-w-4xl',
1404
+ };
1405
+
1406
+ 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),
1420
+ });
1421
+ }, []);
1422
+ return (jsx("div", __assign({ "aria-live": "assertive", className: style.outer }, { children: jsx("div", __assign({ className: style.inner }, { children: children })) })));
1423
+ };
1424
+ var NotificationOverlayItem = function (props) {
1425
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1426
+ var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1427
+ var options = useMemo(function () { return ({
1428
+ onOpen: function () { return setIsOpen(true); },
1429
+ onClose: function () { return setIsOpen(false); },
1430
+ }); }, []);
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
+ },
1458
+ });
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)] }));
1461
+ };
1462
+ var NotificationOverlay = {
1463
+ Container: NotificationOverlayContainer,
1464
+ Item: NotificationOverlayItem,
1465
+ };
1466
+
1467
+ var styles$1 = {
1468
+ container: {
1469
+ outer: 'pointer-events-none fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6 z-20',
1470
+ inner: 'flex w-full flex-col items-center space-y-4 sm:items-end',
1471
+ },
1472
+ item: {
1473
+ container: 'relative',
1474
+ layout: {
1475
+ container: 'fixed inset-0 overflow-hidden',
1476
+ content: 'absolute inset-0 overflow-hidden',
1477
+ inner: 'pointer-events-none fixed inset-y-0 right-0 flex max-w-full pl-10',
1478
+ },
1479
+ panel: {
1480
+ container: 'pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-white shadow-lg ring-1 ring-black ring-opacity-5',
1481
+ transition: {
1482
+ enter: 'transform ease-out duration-300 transition',
1483
+ enterFrom: 'translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2',
1484
+ enterTo: 'translate-y-0 opacity-100 sm:translate-x-0',
1485
+ leave: 'transition ease-in duration-100',
1486
+ leaveFrom: 'opacity-100',
1487
+ leaveTo: 'opacity-0',
1488
+ },
1489
+ },
1490
+ },
1491
+ xs: 'max-w-xs',
1492
+ sm: 'max-w-sm',
1493
+ md: 'max-w-md',
1494
+ lg: 'max-w-2xl',
1495
+ xl: 'max-w-4xl',
1496
+ };
1497
+
1498
+ var SlideOverOverlay = function (props) {
1499
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, customStyles = props.styles;
1500
+ var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
1501
+ var options = useMemo(function () { return ({
1502
+ onOpen: function () { return setIsOpen(true); },
1503
+ onClose: function () { return setIsOpen(false); },
1504
+ }); }, []);
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
+ },
1543
+ });
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)] }));
1546
+ };
1547
+
1548
+ var styles = {
1549
+ container: 'relative z-20',
1550
+ background: {
1551
+ container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
1552
+ transition: {
1553
+ enter: 'ease-in-out duration-500',
1554
+ enterFrom: 'opacity-0',
1555
+ enterTo: 'opacity-100',
1556
+ leave: 'ease-in-out duration-500',
1557
+ leaveFrom: 'opacity-100',
1558
+ leaveTo: 'opacity-0',
1559
+ },
1560
+ },
1561
+ layout: {
1562
+ container: 'fixed inset-0 overflow-hidden',
1563
+ content: 'absolute inset-0 overflow-hidden',
1564
+ inner: 'pointer-events-none fixed inset-y-0 right-0 flex max-w-full pl-10',
1565
+ },
1566
+ panel: {
1567
+ container: 'pointer-events-auto w-screen bg-white',
1568
+ transition: {
1569
+ enter: 'transform transition ease-in-out duration-500 sm:duration-700',
1570
+ enterFrom: 'translate-x-full',
1571
+ enterTo: 'translate-x-0',
1572
+ leave: 'transform transition ease-in-out duration-500 sm:duration-700',
1573
+ leaveFrom: 'translate-x-0',
1574
+ leaveTo: 'translate-x-full',
1575
+ },
1576
+ },
1577
+ xs: 'max-w-xs',
1578
+ sm: 'max-w-sm',
1579
+ md: 'max-w-md',
1580
+ lg: 'max-w-2xl',
1581
+ xl: 'max-w-4xl',
1582
+ };
1583
+
1584
+ export { AvatarElement as Avatar, BadgeElement as Badge, BreadcrumbsNavigation as Breadcrumbs, ButtonElement as Button, ButtonGroupElement as ButtonGroup, ContainerLayout as Container, DividerLayout as Divider, DropdownElement as Dropdown, ListContainerLayout as ListContainer, MediaObjectLayout as MediaObject, ModalOverlay as Modal, NotificationOverlay as Notification, PagePaginationNavigation as PagePagination, LayoutPanel as Panel, PanelPaginationNavigation as PanelPagination, SidebarNavigation as Sidebar, SlideOverOverlay as SlideOver, TabNavigation as Tab, VerticalNavigation as Vertical };
1585
+ //# sourceMappingURL=index.esm.js.map