@fuf-stack/pixels 0.5.3 → 0.5.4

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.
Files changed (44) hide show
  1. package/dist/Button/index.cjs +4 -2
  2. package/dist/Button/index.d.cts +4 -2
  3. package/dist/Button/index.d.ts +4 -2
  4. package/dist/Button/index.js +4 -2
  5. package/dist/Button-DS4qK4Lf.d.cts +169 -0
  6. package/dist/Button-DS4qK4Lf.d.ts +169 -0
  7. package/dist/Card/index.cjs +4 -2
  8. package/dist/Card/index.d.cts +2 -2
  9. package/dist/Card/index.d.ts +2 -2
  10. package/dist/Card/index.js +4 -2
  11. package/dist/{Card-C3mjLa6d.d.cts → Card-D5kspciY.d.cts} +1 -1
  12. package/dist/{Card-C3mjLa6d.d.ts → Card-D5kspciY.d.ts} +1 -1
  13. package/dist/Json/index.cjs +3 -3
  14. package/dist/Json/index.js +2 -2
  15. package/dist/Tooltip/index.cjs +2 -2
  16. package/dist/Tooltip/index.js +1 -1
  17. package/dist/{chunk-4Q6KBGE5.js → chunk-236GX7PP.js} +2 -4
  18. package/dist/{chunk-4Q6KBGE5.js.map → chunk-236GX7PP.js.map} +1 -1
  19. package/dist/{chunk-MBKSGWDJ.cjs → chunk-7GYTJLD6.cjs} +3 -3
  20. package/dist/{chunk-3PQUCG6P.cjs → chunk-BSBPQXNG.cjs} +2 -4
  21. package/dist/chunk-BSBPQXNG.cjs.map +1 -0
  22. package/dist/{chunk-CNELFUYE.js → chunk-BTBF633Q.js} +2 -2
  23. package/dist/{chunk-WL6ENU44.cjs → chunk-GIM2W4JH.cjs} +3 -2
  24. package/dist/{chunk-WL6ENU44.cjs.map → chunk-GIM2W4JH.cjs.map} +1 -1
  25. package/dist/{chunk-2Q6M4DC3.js → chunk-HYXTFS4R.js} +40 -3
  26. package/dist/chunk-HYXTFS4R.js.map +1 -0
  27. package/dist/{chunk-2BPC6HYE.js → chunk-IEZVKZFP.js} +2 -1
  28. package/dist/{chunk-2BPC6HYE.js.map → chunk-IEZVKZFP.js.map} +1 -1
  29. package/dist/{chunk-IAE5EJ7Z.cjs → chunk-ND4VZZVU.cjs} +42 -5
  30. package/dist/chunk-ND4VZZVU.cjs.map +1 -0
  31. package/dist/index.cjs +9 -5
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +4 -4
  34. package/dist/index.d.ts +4 -4
  35. package/dist/index.js +10 -6
  36. package/dist/index.js.map +1 -1
  37. package/package.json +3 -3
  38. package/dist/Button-BgDaXYKX.d.cts +0 -38
  39. package/dist/Button-BgDaXYKX.d.ts +0 -38
  40. package/dist/chunk-2Q6M4DC3.js.map +0 -1
  41. package/dist/chunk-3PQUCG6P.cjs.map +0 -1
  42. package/dist/chunk-IAE5EJ7Z.cjs.map +0 -1
  43. /package/dist/{chunk-MBKSGWDJ.cjs.map → chunk-7GYTJLD6.cjs.map} +0 -0
  44. /package/dist/{chunk-CNELFUYE.js.map → chunk-BTBF633Q.js.map} +0 -0
@@ -1,9 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkIAE5EJ7Zcjs = require('../chunk-IAE5EJ7Z.cjs');
5
4
 
5
+ var _chunkND4VZZVUcjs = require('../chunk-ND4VZZVU.cjs');
6
6
 
7
7
 
8
- exports.Button = _chunkIAE5EJ7Zcjs.Button_default; exports.default = _chunkIAE5EJ7Zcjs.Button_default2;
8
+
9
+
10
+ exports.Button = _chunkND4VZZVUcjs.Button_default; exports.buttonVariants = _chunkND4VZZVUcjs.buttonVariants; exports.default = _chunkND4VZZVUcjs.Button_default2;
9
11
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,8 @@
1
- import { B as Button } from '../Button-BgDaXYKX.cjs';
2
- export { a as ButtonProps } from '../Button-BgDaXYKX.cjs';
1
+ import { B as Button } from '../Button-DS4qK4Lf.cjs';
2
+ export { a as ButtonProps, b as buttonVariants } from '../Button-DS4qK4Lf.cjs';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants';
5
+ import 'tailwind-variants/dist/config.js';
4
6
  import '@nextui-org/button';
5
7
  import 'react';
6
8
 
@@ -1,6 +1,8 @@
1
- import { B as Button } from '../Button-BgDaXYKX.js';
2
- export { a as ButtonProps } from '../Button-BgDaXYKX.js';
1
+ import { B as Button } from '../Button-DS4qK4Lf.js';
2
+ export { a as ButtonProps, b as buttonVariants } from '../Button-DS4qK4Lf.js';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants';
5
+ import 'tailwind-variants/dist/config.js';
4
6
  import '@nextui-org/button';
5
7
  import 'react';
6
8
 
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  Button_default,
3
- Button_default2
4
- } from "../chunk-2Q6M4DC3.js";
3
+ Button_default2,
4
+ buttonVariants
5
+ } from "../chunk-HYXTFS4R.js";
5
6
  export {
6
7
  Button_default as Button,
8
+ buttonVariants,
7
9
  Button_default2 as default
8
10
  };
9
11
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,169 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants from 'tailwind-variants';
3
+ import { VariantProps } from 'tailwind-variants';
4
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
5
+ import { ButtonProps as ButtonProps$1 } from '@nextui-org/button';
6
+ import { ReactNode } from 'react';
7
+
8
+ declare const buttonVariants: tailwind_variants.TVReturnType<{
9
+ color: {
10
+ default: string;
11
+ primary: string;
12
+ secondary: string;
13
+ success: string;
14
+ warning: string;
15
+ danger: string;
16
+ };
17
+ variant: {
18
+ solid: string;
19
+ bordered: string;
20
+ light: string;
21
+ flat: string;
22
+ faded: string;
23
+ shadow: string;
24
+ ghost: string;
25
+ };
26
+ }, undefined, "", tailwind_variants_dist_config_js.TVConfig<{
27
+ color: {
28
+ default: string;
29
+ primary: string;
30
+ secondary: string;
31
+ success: string;
32
+ warning: string;
33
+ danger: string;
34
+ };
35
+ variant: {
36
+ solid: string;
37
+ bordered: string;
38
+ light: string;
39
+ flat: string;
40
+ faded: string;
41
+ shadow: string;
42
+ ghost: string;
43
+ };
44
+ }, {
45
+ color: {
46
+ default: string;
47
+ primary: string;
48
+ secondary: string;
49
+ success: string;
50
+ warning: string;
51
+ danger: string;
52
+ };
53
+ variant: {
54
+ solid: string;
55
+ bordered: string;
56
+ light: string;
57
+ flat: string;
58
+ faded: string;
59
+ shadow: string;
60
+ ghost: string;
61
+ };
62
+ }>, {
63
+ color: {
64
+ default: string;
65
+ primary: string;
66
+ secondary: string;
67
+ success: string;
68
+ warning: string;
69
+ danger: string;
70
+ };
71
+ variant: {
72
+ solid: string;
73
+ bordered: string;
74
+ light: string;
75
+ flat: string;
76
+ faded: string;
77
+ shadow: string;
78
+ ghost: string;
79
+ };
80
+ }, undefined, tailwind_variants.TVReturnType<{
81
+ color: {
82
+ default: string;
83
+ primary: string;
84
+ secondary: string;
85
+ success: string;
86
+ warning: string;
87
+ danger: string;
88
+ };
89
+ variant: {
90
+ solid: string;
91
+ bordered: string;
92
+ light: string;
93
+ flat: string;
94
+ faded: string;
95
+ shadow: string;
96
+ ghost: string;
97
+ };
98
+ }, undefined, "", tailwind_variants_dist_config_js.TVConfig<{
99
+ color: {
100
+ default: string;
101
+ primary: string;
102
+ secondary: string;
103
+ success: string;
104
+ warning: string;
105
+ danger: string;
106
+ };
107
+ variant: {
108
+ solid: string;
109
+ bordered: string;
110
+ light: string;
111
+ flat: string;
112
+ faded: string;
113
+ shadow: string;
114
+ ghost: string;
115
+ };
116
+ }, {
117
+ color: {
118
+ default: string;
119
+ primary: string;
120
+ secondary: string;
121
+ success: string;
122
+ warning: string;
123
+ danger: string;
124
+ };
125
+ variant: {
126
+ solid: string;
127
+ bordered: string;
128
+ light: string;
129
+ flat: string;
130
+ faded: string;
131
+ shadow: string;
132
+ ghost: string;
133
+ };
134
+ }>, unknown, unknown, undefined>>;
135
+ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
136
+ interface ButtonProps extends ButtonVariantProps {
137
+ /** sets HTML aria-label attribute */
138
+ ariaLabel?: string;
139
+ /** child components */
140
+ children?: ReactNode;
141
+ /** CSS class name */
142
+ className?: string | string[];
143
+ /** next ui button color */
144
+ color?: ButtonProps$1['color'];
145
+ /** disables function of the button. */
146
+ disabled?: boolean;
147
+ /** disables all button animations */
148
+ disableAnimation?: boolean;
149
+ /** If set loading animation is shown */
150
+ loading?: boolean;
151
+ /** optional icon */
152
+ icon?: ReactNode;
153
+ /** on click event */
154
+ onClick?: ButtonProps$1['onPress'];
155
+ /** 3 size options */
156
+ size?: ButtonProps$1['size'];
157
+ /** HTML data-testid attribute used in e2e tests */
158
+ testId?: string;
159
+ /** sets the button type. */
160
+ type?: 'button' | 'submit' | 'reset' | undefined;
161
+ /** next ui button variants */
162
+ variant?: ButtonProps$1['variant'];
163
+ }
164
+ /**
165
+ * Button component based on [NextUI Button](https://nextui.org/docs/components/button)
166
+ */
167
+ declare const Button: ({ ariaLabel, children, className, color, disabled, disableAnimation, icon, loading, onClick, size, testId, type, variant, }: ButtonProps) => react_jsx_runtime.JSX.Element;
168
+
169
+ export { Button as B, type ButtonProps as a, buttonVariants as b };
@@ -0,0 +1,169 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants from 'tailwind-variants';
3
+ import { VariantProps } from 'tailwind-variants';
4
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
5
+ import { ButtonProps as ButtonProps$1 } from '@nextui-org/button';
6
+ import { ReactNode } from 'react';
7
+
8
+ declare const buttonVariants: tailwind_variants.TVReturnType<{
9
+ color: {
10
+ default: string;
11
+ primary: string;
12
+ secondary: string;
13
+ success: string;
14
+ warning: string;
15
+ danger: string;
16
+ };
17
+ variant: {
18
+ solid: string;
19
+ bordered: string;
20
+ light: string;
21
+ flat: string;
22
+ faded: string;
23
+ shadow: string;
24
+ ghost: string;
25
+ };
26
+ }, undefined, "", tailwind_variants_dist_config_js.TVConfig<{
27
+ color: {
28
+ default: string;
29
+ primary: string;
30
+ secondary: string;
31
+ success: string;
32
+ warning: string;
33
+ danger: string;
34
+ };
35
+ variant: {
36
+ solid: string;
37
+ bordered: string;
38
+ light: string;
39
+ flat: string;
40
+ faded: string;
41
+ shadow: string;
42
+ ghost: string;
43
+ };
44
+ }, {
45
+ color: {
46
+ default: string;
47
+ primary: string;
48
+ secondary: string;
49
+ success: string;
50
+ warning: string;
51
+ danger: string;
52
+ };
53
+ variant: {
54
+ solid: string;
55
+ bordered: string;
56
+ light: string;
57
+ flat: string;
58
+ faded: string;
59
+ shadow: string;
60
+ ghost: string;
61
+ };
62
+ }>, {
63
+ color: {
64
+ default: string;
65
+ primary: string;
66
+ secondary: string;
67
+ success: string;
68
+ warning: string;
69
+ danger: string;
70
+ };
71
+ variant: {
72
+ solid: string;
73
+ bordered: string;
74
+ light: string;
75
+ flat: string;
76
+ faded: string;
77
+ shadow: string;
78
+ ghost: string;
79
+ };
80
+ }, undefined, tailwind_variants.TVReturnType<{
81
+ color: {
82
+ default: string;
83
+ primary: string;
84
+ secondary: string;
85
+ success: string;
86
+ warning: string;
87
+ danger: string;
88
+ };
89
+ variant: {
90
+ solid: string;
91
+ bordered: string;
92
+ light: string;
93
+ flat: string;
94
+ faded: string;
95
+ shadow: string;
96
+ ghost: string;
97
+ };
98
+ }, undefined, "", tailwind_variants_dist_config_js.TVConfig<{
99
+ color: {
100
+ default: string;
101
+ primary: string;
102
+ secondary: string;
103
+ success: string;
104
+ warning: string;
105
+ danger: string;
106
+ };
107
+ variant: {
108
+ solid: string;
109
+ bordered: string;
110
+ light: string;
111
+ flat: string;
112
+ faded: string;
113
+ shadow: string;
114
+ ghost: string;
115
+ };
116
+ }, {
117
+ color: {
118
+ default: string;
119
+ primary: string;
120
+ secondary: string;
121
+ success: string;
122
+ warning: string;
123
+ danger: string;
124
+ };
125
+ variant: {
126
+ solid: string;
127
+ bordered: string;
128
+ light: string;
129
+ flat: string;
130
+ faded: string;
131
+ shadow: string;
132
+ ghost: string;
133
+ };
134
+ }>, unknown, unknown, undefined>>;
135
+ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
136
+ interface ButtonProps extends ButtonVariantProps {
137
+ /** sets HTML aria-label attribute */
138
+ ariaLabel?: string;
139
+ /** child components */
140
+ children?: ReactNode;
141
+ /** CSS class name */
142
+ className?: string | string[];
143
+ /** next ui button color */
144
+ color?: ButtonProps$1['color'];
145
+ /** disables function of the button. */
146
+ disabled?: boolean;
147
+ /** disables all button animations */
148
+ disableAnimation?: boolean;
149
+ /** If set loading animation is shown */
150
+ loading?: boolean;
151
+ /** optional icon */
152
+ icon?: ReactNode;
153
+ /** on click event */
154
+ onClick?: ButtonProps$1['onPress'];
155
+ /** 3 size options */
156
+ size?: ButtonProps$1['size'];
157
+ /** HTML data-testid attribute used in e2e tests */
158
+ testId?: string;
159
+ /** sets the button type. */
160
+ type?: 'button' | 'submit' | 'reset' | undefined;
161
+ /** next ui button variants */
162
+ variant?: ButtonProps$1['variant'];
163
+ }
164
+ /**
165
+ * Button component based on [NextUI Button](https://nextui.org/docs/components/button)
166
+ */
167
+ declare const Button: ({ ariaLabel, children, className, color, disabled, disableAnimation, icon, loading, onClick, size, testId, type, variant, }: ButtonProps) => react_jsx_runtime.JSX.Element;
168
+
169
+ export { Button as B, type ButtonProps as a, buttonVariants as b };
@@ -1,9 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkWL6ENU44cjs = require('../chunk-WL6ENU44.cjs');
5
4
 
5
+ var _chunkGIM2W4JHcjs = require('../chunk-GIM2W4JH.cjs');
6
6
 
7
7
 
8
- exports.Card = _chunkWL6ENU44cjs.Card_default; exports.default = _chunkWL6ENU44cjs.Card_default2;
8
+
9
+
10
+ exports.Card = _chunkGIM2W4JHcjs.Card_default; exports.cardVariants = _chunkGIM2W4JHcjs.cardVariants; exports.default = _chunkGIM2W4JHcjs.Card_default2;
9
11
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { C as Card } from '../Card-C3mjLa6d.cjs';
2
- export { a as CardProps } from '../Card-C3mjLa6d.cjs';
1
+ import { C as Card } from '../Card-D5kspciY.cjs';
2
+ export { a as CardProps, c as cardVariants } from '../Card-D5kspciY.cjs';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants/dist/config.js';
5
5
  import 'tailwind-variants';
@@ -1,5 +1,5 @@
1
- import { C as Card } from '../Card-C3mjLa6d.js';
2
- export { a as CardProps } from '../Card-C3mjLa6d.js';
1
+ import { C as Card } from '../Card-D5kspciY.js';
2
+ export { a as CardProps, c as cardVariants } from '../Card-D5kspciY.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants/dist/config.js';
5
5
  import 'tailwind-variants';
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  Card_default,
3
- Card_default2
4
- } from "../chunk-2BPC6HYE.js";
3
+ Card_default2,
4
+ cardVariants
5
+ } from "../chunk-IEZVKZFP.js";
5
6
  export {
6
7
  Card_default as Card,
8
+ cardVariants,
7
9
  Card_default2 as default
8
10
  };
9
11
  //# sourceMappingURL=index.js.map
@@ -92,4 +92,4 @@ interface CardProps extends CardVariantProps {
92
92
  */
93
93
  declare const Card: ({ children, className, testId, header, footer, }: CardProps) => react_jsx_runtime.JSX.Element;
94
94
 
95
- export { Card as C, type CardProps as a };
95
+ export { Card as C, type CardProps as a, cardVariants as c };
@@ -92,4 +92,4 @@ interface CardProps extends CardVariantProps {
92
92
  */
93
93
  declare const Card: ({ children, className, testId, header, footer, }: CardProps) => react_jsx_runtime.JSX.Element;
94
94
 
95
- export { Card as C, type CardProps as a };
95
+ export { Card as C, type CardProps as a, cardVariants as c };
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkMBKSGWDJcjs = require('../chunk-MBKSGWDJ.cjs');
5
- require('../chunk-IAE5EJ7Z.cjs');
4
+ var _chunk7GYTJLD6cjs = require('../chunk-7GYTJLD6.cjs');
5
+ require('../chunk-ND4VZZVU.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.Json = _chunkMBKSGWDJcjs.Json_default; exports.default = _chunkMBKSGWDJcjs.Json_default2;
9
+ exports.Json = _chunk7GYTJLD6cjs.Json_default; exports.default = _chunk7GYTJLD6cjs.Json_default2;
10
10
  //# sourceMappingURL=index.cjs.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  Json_default,
3
3
  Json_default2
4
- } from "../chunk-CNELFUYE.js";
5
- import "../chunk-2Q6M4DC3.js";
4
+ } from "../chunk-BTBF633Q.js";
5
+ import "../chunk-HYXTFS4R.js";
6
6
  export {
7
7
  Json_default as Json,
8
8
  Json_default2 as default
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk3PQUCG6Pcjs = require('../chunk-3PQUCG6P.cjs');
5
+ var _chunkBSBPQXNGcjs = require('../chunk-BSBPQXNG.cjs');
6
6
 
7
7
 
8
8
 
9
9
 
10
- exports.Tooltip = _chunk3PQUCG6Pcjs.Tooltip_default; exports.default = _chunk3PQUCG6Pcjs.Tooltip_default2; exports.tooltipPlacementOptions = _chunk3PQUCG6Pcjs.tooltipPlacementOptions;
10
+ exports.Tooltip = _chunkBSBPQXNGcjs.Tooltip_default; exports.default = _chunkBSBPQXNGcjs.Tooltip_default2; exports.tooltipPlacementOptions = _chunkBSBPQXNGcjs.tooltipPlacementOptions;
11
11
  //# sourceMappingURL=index.cjs.map
@@ -2,7 +2,7 @@ import {
2
2
  Tooltip_default,
3
3
  Tooltip_default2,
4
4
  tooltipPlacementOptions
5
- } from "../chunk-4Q6KBGE5.js";
5
+ } from "../chunk-236GX7PP.js";
6
6
  export {
7
7
  Tooltip_default as Tooltip,
8
8
  Tooltip_default2 as default,
@@ -23,9 +23,7 @@ var Tooltip = ({
23
23
  containerPadding,
24
24
  content,
25
25
  defaultOpen,
26
- onClick: (e) => {
27
- e.preventDefault();
28
- },
26
+ onClick: (e) => e.preventDefault(),
29
27
  onOpenChange,
30
28
  placement,
31
29
  shouldFlip: true,
@@ -43,4 +41,4 @@ export {
43
41
  Tooltip_default,
44
42
  Tooltip_default2
45
43
  };
46
- //# sourceMappingURL=chunk-4Q6KBGE5.js.map
44
+ //# sourceMappingURL=chunk-236GX7PP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Tooltip as NextTooltip } from '@nextui-org/tooltip';\nimport cn from 'classnames';\n\nexport const tooltipPlacementOptions = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n] as const;\nexport type TooltipPlacement = (typeof tooltipPlacementOptions)[number];\n\nexport interface TooltipProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n}\n\n/**\n * Tooltip component based on [NextUI Tooltip](https://nextui.org/docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className = undefined,\n content,\n placement = 'top',\n defaultOpen = false,\n onOpenChange = undefined,\n containerPadding = 0,\n}: TooltipProps) => (\n <NextTooltip\n className={cn(className)}\n containerPadding={containerPadding}\n content={content}\n defaultOpen={defaultOpen}\n onClick={(e) => {\n e.preventDefault();\n }}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\n >\n <span className=\"cursor-pointer\">{children}</span>\n </NextTooltip>\n);\n\nexport default Tooltip;\n","import Tooltip, { tooltipPlacementOptions } from './Tooltip';\n\nexport type { TooltipProps } from './Tooltip';\n\nexport { Tooltip, tooltipPlacementOptions };\n\nexport default Tooltip;\n"],"mappings":";AAEA,SAAS,WAAW,mBAAmB;AACvC,OAAO,QAAQ;AAoDX;AAlDG,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAuBA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AACrB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,CAAC,MAAM;AACd,QAAE,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAU;AAAA,IACV,WAAS;AAAA,IAET,8BAAC,UAAK,WAAU,kBAAkB,UAAS;AAAA;AAC7C;AAGF,IAAO,kBAAQ;;;ACrDf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
1
+ {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Tooltip as NextTooltip } from '@nextui-org/tooltip';\nimport cn from 'classnames';\n\nexport const tooltipPlacementOptions = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n] as const;\nexport type TooltipPlacement = (typeof tooltipPlacementOptions)[number];\n\nexport interface TooltipProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n}\n\n/**\n * Tooltip component based on [NextUI Tooltip](https://nextui.org/docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className = undefined,\n content,\n placement = 'top',\n defaultOpen = false,\n onOpenChange = undefined,\n containerPadding = 0,\n}: TooltipProps) => (\n <NextTooltip\n className={cn(className)}\n containerPadding={containerPadding}\n content={content}\n defaultOpen={defaultOpen}\n onClick={(e) => e.preventDefault()}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\n >\n <span className=\"cursor-pointer\">{children}</span>\n </NextTooltip>\n);\n\nexport default Tooltip;\n","import Tooltip, { tooltipPlacementOptions } from './Tooltip';\n\nexport type { TooltipProps } from './Tooltip';\n\nexport { Tooltip, tooltipPlacementOptions };\n\nexport default Tooltip;\n"],"mappings":";AAEA,SAAS,WAAW,mBAAmB;AACvC,OAAO,QAAQ;AAkDX;AAhDG,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAuBA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AACrB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,CAAC,MAAM,EAAE,eAAe;AAAA,IACjC;AAAA,IACA;AAAA,IACA,YAAU;AAAA,IACV,WAAS;AAAA,IAET,8BAAC,UAAK,WAAU,kBAAkB,UAAS;AAAA;AAC7C;AAGF,IAAO,kBAAQ;;;ACnDf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkIAE5EJ7Zcjs = require('./chunk-IAE5EJ7Z.cjs');
3
+ var _chunkND4VZZVUcjs = require('./chunk-ND4VZZVU.cjs');
4
4
 
5
5
  // src/Json/Json.tsx
6
6
  var _react = require('react');
@@ -79,7 +79,7 @@ var Json = ({ className = null, collapsed = false, value }) => {
79
79
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium", children: "Failed to parse JSON data" })
80
80
  ] }),
81
81
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
82
- _chunkIAE5EJ7Zcjs.Button_default2,
82
+ _chunkND4VZZVUcjs.Button_default2,
83
83
  {
84
84
  color: "danger",
85
85
  size: "sm",
@@ -124,4 +124,4 @@ var Json_default2 = Json_default;
124
124
 
125
125
 
126
126
  exports.Json_default = Json_default; exports.Json_default2 = Json_default2;
127
- //# sourceMappingURL=chunk-MBKSGWDJ.cjs.map
127
+ //# sourceMappingURL=chunk-7GYTJLD6.cjs.map
@@ -23,9 +23,7 @@ var Tooltip = ({
23
23
  containerPadding,
24
24
  content,
25
25
  defaultOpen,
26
- onClick: (e) => {
27
- e.preventDefault();
28
- },
26
+ onClick: (e) => e.preventDefault(),
29
27
  onOpenChange,
30
28
  placement,
31
29
  shouldFlip: true,
@@ -43,4 +41,4 @@ var Tooltip_default2 = Tooltip_default;
43
41
 
44
42
 
45
43
  exports.tooltipPlacementOptions = tooltipPlacementOptions; exports.Tooltip_default = Tooltip_default; exports.Tooltip_default2 = Tooltip_default2;
46
- //# sourceMappingURL=chunk-3PQUCG6P.cjs.map
44
+ //# sourceMappingURL=chunk-BSBPQXNG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"names":["Tooltip_default"],"mappings":";AAEA,SAAS,WAAW,mBAAmB;AACvC,OAAO,QAAQ;AAkDX;AAhDG,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAuBA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AACrB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,CAAC,MAAM,EAAE,eAAe;AAAA,IACjC;AAAA,IACA;AAAA,IACA,YAAU;AAAA,IACV,WAAS;AAAA,IAET,8BAAC,UAAK,WAAU,kBAAkB,UAAS;AAAA;AAC7C;AAGF,IAAO,kBAAQ;;;ACnDf,IAAOA,mBAAQ","sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Tooltip as NextTooltip } from '@nextui-org/tooltip';\nimport cn from 'classnames';\n\nexport const tooltipPlacementOptions = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n] as const;\nexport type TooltipPlacement = (typeof tooltipPlacementOptions)[number];\n\nexport interface TooltipProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n}\n\n/**\n * Tooltip component based on [NextUI Tooltip](https://nextui.org/docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className = undefined,\n content,\n placement = 'top',\n defaultOpen = false,\n onOpenChange = undefined,\n containerPadding = 0,\n}: TooltipProps) => (\n <NextTooltip\n className={cn(className)}\n containerPadding={containerPadding}\n content={content}\n defaultOpen={defaultOpen}\n onClick={(e) => e.preventDefault()}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\n >\n <span className=\"cursor-pointer\">{children}</span>\n </NextTooltip>\n);\n\nexport default Tooltip;\n","import Tooltip, { tooltipPlacementOptions } from './Tooltip';\n\nexport type { TooltipProps } from './Tooltip';\n\nexport { Tooltip, tooltipPlacementOptions };\n\nexport default Tooltip;\n"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button_default2 as Button_default
3
- } from "./chunk-2Q6M4DC3.js";
3
+ } from "./chunk-HYXTFS4R.js";
4
4
 
5
5
  // src/Json/Json.tsx
6
6
  import { useState } from "react";
@@ -124,4 +124,4 @@ export {
124
124
  Json_default,
125
125
  Json_default2
126
126
  };
127
- //# sourceMappingURL=chunk-CNELFUYE.js.map
127
+ //# sourceMappingURL=chunk-BTBF633Q.js.map
@@ -70,5 +70,6 @@ var Card_default2 = Card_default;
70
70
 
71
71
 
72
72
 
73
- exports.Card_default = Card_default; exports.Card_default2 = Card_default2;
74
- //# sourceMappingURL=chunk-WL6ENU44.cjs.map
73
+
74
+ exports.cardVariants = cardVariants; exports.Card_default = Card_default; exports.Card_default2 = Card_default2;
75
+ //# sourceMappingURL=chunk-GIM2W4JH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"names":["Card_default"],"mappings":";AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AAsDf,SAcI,UAdJ,KAcI,YAdJ;AAnDG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAuBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,EAC5D;AAEA,QAAM,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA;AAAA,EACjE;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC9Ff,IAAOA,gBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\nimport { tv } from 'tailwind-variants';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype CardVariantProps = VariantProps<typeof cardVariants>;\ntype CardVariantSlots = Partial<\n Record<keyof ReturnType<typeof cardVariants>, string>\n>;\n\nexport interface CardProps extends CardVariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | CardVariantSlots;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n header: variants.header({ className: classNameObj.header }),\n body: variants.body({ className: classNameObj.body }),\n footer: variants.footer({ className: classNameObj.footer }),\n };\n\n const divider = (\n <NextDivider\n className={variants.divider({ className: classNameObj.divider })}\n />\n );\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card };\n\nexport default Card;\n"]}
1
+ {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"names":["Card_default"],"mappings":";AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AAsDf,SAcI,UAdJ,KAcI,YAdJ;AAnDG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAuBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,EAC5D;AAEA,QAAM,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA;AAAA,EACjE;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC9Ff,IAAOA,gBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\nimport { tv } from 'tailwind-variants';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype CardVariantProps = VariantProps<typeof cardVariants>;\ntype CardVariantSlots = Partial<\n Record<keyof ReturnType<typeof cardVariants>, string>\n>;\n\nexport interface CardProps extends CardVariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | CardVariantSlots;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n header: variants.header({ className: classNameObj.header }),\n body: variants.body({ className: classNameObj.body }),\n footer: variants.footer({ className: classNameObj.footer }),\n };\n\n const divider = (\n <NextDivider\n className={variants.divider({ className: classNameObj.divider })}\n />\n );\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"]}
@@ -1,6 +1,6 @@
1
1
  // src/Button/Button.tsx
2
2
  import { Button as NextButton } from "@nextui-org/button";
3
- import cn from "classnames";
3
+ import { tv } from "tailwind-variants";
4
4
 
5
5
  // src/Button/subcomponents/LoadingSpinner.tsx
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -37,6 +37,42 @@ var LoadingSpinner_default = () => /* @__PURE__ */ jsxs(
37
37
 
38
38
  // src/Button/Button.tsx
39
39
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
40
+ var buttonVariants = tv({
41
+ base: "",
42
+ variants: {
43
+ color: {
44
+ default: "",
45
+ primary: "",
46
+ secondary: "",
47
+ success: "",
48
+ warning: "",
49
+ danger: ""
50
+ },
51
+ variant: {
52
+ solid: "",
53
+ bordered: "",
54
+ light: "",
55
+ flat: "",
56
+ faded: "",
57
+ shadow: "",
58
+ ghost: ""
59
+ }
60
+ },
61
+ compoundVariants: [
62
+ // white text on solid / shadow success button
63
+ {
64
+ color: "success",
65
+ variant: ["solid", "shadow"],
66
+ class: "text-white"
67
+ },
68
+ // white text on solid / shadow warning button
69
+ {
70
+ color: "warning",
71
+ variant: ["solid", "shadow"],
72
+ class: "text-white"
73
+ }
74
+ ]
75
+ });
40
76
  var Button = ({
41
77
  ariaLabel = void 0,
42
78
  children = void 0,
@@ -56,7 +92,7 @@ var Button = ({
56
92
  NextButton,
57
93
  {
58
94
  "aria-label": ariaLabel,
59
- className: cn(className),
95
+ className: buttonVariants({ color, variant, className }),
60
96
  color,
61
97
  "data-testid": testId,
62
98
  disableAnimation,
@@ -82,7 +118,8 @@ var Button_default = Button;
82
118
  var Button_default2 = Button_default;
83
119
 
84
120
  export {
121
+ buttonVariants,
85
122
  Button_default,
86
123
  Button_default2
87
124
  };
88
- //# sourceMappingURL=chunk-2Q6M4DC3.js.map
125
+ //# sourceMappingURL=chunk-HYXTFS4R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { Button as NextButton } from '@nextui-org/button';\nimport { tv } from 'tailwind-variants';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n base: '',\n variants: {\n color: {\n default: '',\n primary: '',\n secondary: '',\n success: '',\n warning: '',\n danger: '',\n },\n variant: {\n solid: '',\n bordered: '',\n light: '',\n flat: '',\n faded: '',\n shadow: '',\n ghost: '',\n },\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n ],\n});\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends ButtonVariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={buttonVariants({ color, variant, className })}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"],"mappings":";AAIA,SAAS,UAAU,kBAAkB;AACrC,SAAS,UAAU;;;ACAjB,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADwEE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAvFG,IAAM,iBAAiB,GAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA;AAAA,IAEA;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAoCD,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,eAAe,EAAE,OAAO,SAAS,UAAU,CAAC;AAAA,MACvD;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AEhHf,IAAOE,kBAAQ;","names":["jsx","jsxs","Button_default"]}
@@ -68,7 +68,8 @@ var Card_default = Card;
68
68
  var Card_default2 = Card_default;
69
69
 
70
70
  export {
71
+ cardVariants,
71
72
  Card_default,
72
73
  Card_default2
73
74
  };
74
- //# sourceMappingURL=chunk-2BPC6HYE.js.map
75
+ //# sourceMappingURL=chunk-IEZVKZFP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\nimport { tv } from 'tailwind-variants';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype CardVariantProps = VariantProps<typeof cardVariants>;\ntype CardVariantSlots = Partial<\n Record<keyof ReturnType<typeof cardVariants>, string>\n>;\n\nexport interface CardProps extends CardVariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | CardVariantSlots;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n header: variants.header({ className: classNameObj.header }),\n body: variants.body({ className: classNameObj.body }),\n footer: variants.footer({ className: classNameObj.footer }),\n };\n\n const divider = (\n <NextDivider\n className={variants.divider({ className: classNameObj.divider })}\n />\n );\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card };\n\nexport default Card;\n"],"mappings":";AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AAsDf,SAcI,UAdJ,KAcI,YAdJ;AAnDG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAuBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,EAC5D;AAEA,QAAM,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA;AAAA,EACjE;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC9Ff,IAAOA,gBAAQ;","names":["Card_default"]}
1
+ {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\nimport { tv } from 'tailwind-variants';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype CardVariantProps = VariantProps<typeof cardVariants>;\ntype CardVariantSlots = Partial<\n Record<keyof ReturnType<typeof cardVariants>, string>\n>;\n\nexport interface CardProps extends CardVariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | CardVariantSlots;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n header: variants.header({ className: classNameObj.header }),\n body: variants.body({ className: classNameObj.body }),\n footer: variants.footer({ className: classNameObj.footer }),\n };\n\n const divider = (\n <NextDivider\n className={variants.divider({ className: classNameObj.divider })}\n />\n );\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"],"mappings":";AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AAsDf,SAcI,UAdJ,KAcI,YAdJ;AAnDG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAuBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,EAC5D;AAEA,QAAM,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA;AAAA,EACjE;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC9Ff,IAAOA,gBAAQ;","names":["Card_default"]}
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/Button/Button.tsx
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/Button/Button.tsx
2
2
  var _button = require('@nextui-org/button');
3
- var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
3
+ var _tailwindvariants = require('tailwind-variants');
4
4
 
5
5
  // src/Button/subcomponents/LoadingSpinner.tsx
6
6
  var _jsxruntime = require('react/jsx-runtime');
@@ -37,6 +37,42 @@ var LoadingSpinner_default = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37
37
 
38
38
  // src/Button/Button.tsx
39
39
 
40
+ var buttonVariants = _tailwindvariants.tv.call(void 0, {
41
+ base: "",
42
+ variants: {
43
+ color: {
44
+ default: "",
45
+ primary: "",
46
+ secondary: "",
47
+ success: "",
48
+ warning: "",
49
+ danger: ""
50
+ },
51
+ variant: {
52
+ solid: "",
53
+ bordered: "",
54
+ light: "",
55
+ flat: "",
56
+ faded: "",
57
+ shadow: "",
58
+ ghost: ""
59
+ }
60
+ },
61
+ compoundVariants: [
62
+ // white text on solid / shadow success button
63
+ {
64
+ color: "success",
65
+ variant: ["solid", "shadow"],
66
+ class: "text-white"
67
+ },
68
+ // white text on solid / shadow warning button
69
+ {
70
+ color: "warning",
71
+ variant: ["solid", "shadow"],
72
+ class: "text-white"
73
+ }
74
+ ]
75
+ });
40
76
  var Button = ({
41
77
  ariaLabel = void 0,
42
78
  children = void 0,
@@ -56,7 +92,7 @@ var Button = ({
56
92
  _button.Button,
57
93
  {
58
94
  "aria-label": ariaLabel,
59
- className: _classnames2.default.call(void 0, className),
95
+ className: buttonVariants({ color, variant, className }),
60
96
  color,
61
97
  "data-testid": testId,
62
98
  disableAnimation,
@@ -84,5 +120,6 @@ var Button_default2 = Button_default;
84
120
 
85
121
 
86
122
 
87
- exports.Button_default = Button_default; exports.Button_default2 = Button_default2;
88
- //# sourceMappingURL=chunk-IAE5EJ7Z.cjs.map
123
+
124
+ exports.buttonVariants = buttonVariants; exports.Button_default = Button_default; exports.Button_default2 = Button_default2;
125
+ //# sourceMappingURL=chunk-ND4VZZVU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"names":["jsx","jsxs","Button_default"],"mappings":";AAIA,SAAS,UAAU,kBAAkB;AACrC,SAAS,UAAU;;;ACAjB,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADwEE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAvFG,IAAM,iBAAiB,GAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA;AAAA,IAEA;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAoCD,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,eAAe,EAAE,OAAO,SAAS,UAAU,CAAC;AAAA,MACvD;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AEhHf,IAAOE,kBAAQ","sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { Button as NextButton } from '@nextui-org/button';\nimport { tv } from 'tailwind-variants';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n base: '',\n variants: {\n color: {\n default: '',\n primary: '',\n secondary: '',\n success: '',\n warning: '',\n danger: '',\n },\n variant: {\n solid: '',\n bordered: '',\n light: '',\n flat: '',\n faded: '',\n shadow: '',\n ghost: '',\n },\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n ],\n});\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends ButtonVariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={buttonVariants({ color, variant, className })}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"]}
package/dist/index.cjs CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkWL6ENU44cjs = require('./chunk-WL6ENU44.cjs');
4
3
 
4
+ var _chunkGIM2W4JHcjs = require('./chunk-GIM2W4JH.cjs');
5
5
 
6
- var _chunkMBKSGWDJcjs = require('./chunk-MBKSGWDJ.cjs');
7
6
 
7
+ var _chunk7GYTJLD6cjs = require('./chunk-7GYTJLD6.cjs');
8
8
 
9
- var _chunkIAE5EJ7Zcjs = require('./chunk-IAE5EJ7Z.cjs');
9
+
10
+
11
+ var _chunkND4VZZVUcjs = require('./chunk-ND4VZZVU.cjs');
10
12
 
11
13
 
12
14
  var _chunkBMKGS5PKcjs = require('./chunk-BMKGS5PK.cjs');
@@ -23,7 +25,7 @@ var _chunkB35F4645cjs = require('./chunk-B35F4645.cjs');
23
25
 
24
26
 
25
27
 
26
- var _chunk3PQUCG6Pcjs = require('./chunk-3PQUCG6P.cjs');
28
+ var _chunkBSBPQXNGcjs = require('./chunk-BSBPQXNG.cjs');
27
29
 
28
30
  // src/hooks/useDebounce.ts
29
31
  var _react = require('react');
@@ -105,5 +107,7 @@ var useLocalStorage_default = useLocalStorage;
105
107
 
106
108
 
107
109
 
108
- exports.Button = _chunkIAE5EJ7Zcjs.Button_default; exports.Card = _chunkWL6ENU44cjs.Card_default; exports.Json = _chunkMBKSGWDJcjs.Json_default; exports.Label = _chunkBMKGS5PKcjs.Label_default; exports.Menu = _chunkHHTTNYDCcjs.Menu_default; exports.Modal = _chunkYO6VJ2OUcjs.Modal_default; exports.Popover = _chunkB35F4645cjs.Popover_default; exports.Tooltip = _chunk3PQUCG6Pcjs.Tooltip_default; exports.modalVariants = _chunkYO6VJ2OUcjs.modalVariants; exports.tooltipPlacementOptions = _chunk3PQUCG6Pcjs.tooltipPlacementOptions; exports.useDebounce = useDebounce_default; exports.useLocalStorage = useLocalStorage_default;
110
+
111
+
112
+ exports.Button = _chunkND4VZZVUcjs.Button_default; exports.Card = _chunkGIM2W4JHcjs.Card_default; exports.Json = _chunk7GYTJLD6cjs.Json_default; exports.Label = _chunkBMKGS5PKcjs.Label_default; exports.Menu = _chunkHHTTNYDCcjs.Menu_default; exports.Modal = _chunkYO6VJ2OUcjs.Modal_default; exports.Popover = _chunkB35F4645cjs.Popover_default; exports.Tooltip = _chunkBSBPQXNGcjs.Tooltip_default; exports.buttonVariants = _chunkND4VZZVUcjs.buttonVariants; exports.cardVariants = _chunkGIM2W4JHcjs.cardVariants; exports.modalVariants = _chunkYO6VJ2OUcjs.modalVariants; exports.tooltipPlacementOptions = _chunkBSBPQXNGcjs.tooltipPlacementOptions; exports.useDebounce = useDebounce_default; exports.useLocalStorage = useLocalStorage_default;
109
113
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"names":["useEffect","useState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"]}
1
+ {"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"names":["useEffect","useState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"]}
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- export { B as Button, a as ButtonProps } from './Button-BgDaXYKX.cjs';
3
- export { C as Card, a as CardProps } from './Card-C3mjLa6d.cjs';
2
+ export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-DS4qK4Lf.cjs';
3
+ export { C as Card, a as CardProps, c as cardVariants } from './Card-D5kspciY.cjs';
4
4
  export { J as Json, a as JsonProps } from './Json-ClGDcbcp.cjs';
5
5
  export { L as Label, a as LabelProps } from './Label-DzZDW95M.cjs';
6
6
  export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.cjs';
@@ -8,9 +8,9 @@ export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-Ck13vTa
8
8
  export { _ as Popover, P as PopoverProps } from './Popover-DbTTk7_N.cjs';
9
9
  export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-D4znH2L3.cjs';
10
10
  import 'react/jsx-runtime';
11
- import '@nextui-org/button';
12
- import 'tailwind-variants/dist/config.js';
13
11
  import 'tailwind-variants';
12
+ import 'tailwind-variants/dist/config.js';
13
+ import '@nextui-org/button';
14
14
  import '@nextui-org/chip';
15
15
  import '@nextui-org/popover';
16
16
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- export { B as Button, a as ButtonProps } from './Button-BgDaXYKX.js';
3
- export { C as Card, a as CardProps } from './Card-C3mjLa6d.js';
2
+ export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-DS4qK4Lf.js';
3
+ export { C as Card, a as CardProps, c as cardVariants } from './Card-D5kspciY.js';
4
4
  export { J as Json, a as JsonProps } from './Json-ClGDcbcp.js';
5
5
  export { L as Label, a as LabelProps } from './Label-DzZDW95M.js';
6
6
  export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.js';
@@ -8,9 +8,9 @@ export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-Ck13vTa
8
8
  export { _ as Popover, P as PopoverProps } from './Popover-DbTTk7_N.js';
9
9
  export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-D4znH2L3.js';
10
10
  import 'react/jsx-runtime';
11
- import '@nextui-org/button';
12
- import 'tailwind-variants/dist/config.js';
13
11
  import 'tailwind-variants';
12
+ import 'tailwind-variants/dist/config.js';
13
+ import '@nextui-org/button';
14
14
  import '@nextui-org/chip';
15
15
  import '@nextui-org/popover';
16
16
 
package/dist/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import {
2
- Card_default
3
- } from "./chunk-2BPC6HYE.js";
2
+ Card_default,
3
+ cardVariants
4
+ } from "./chunk-IEZVKZFP.js";
4
5
  import {
5
6
  Json_default
6
- } from "./chunk-CNELFUYE.js";
7
+ } from "./chunk-BTBF633Q.js";
7
8
  import {
8
- Button_default
9
- } from "./chunk-2Q6M4DC3.js";
9
+ Button_default,
10
+ buttonVariants
11
+ } from "./chunk-HYXTFS4R.js";
10
12
  import {
11
13
  Label_default
12
14
  } from "./chunk-S2WOGSQV.js";
@@ -23,7 +25,7 @@ import {
23
25
  import {
24
26
  Tooltip_default,
25
27
  tooltipPlacementOptions
26
- } from "./chunk-4Q6KBGE5.js";
28
+ } from "./chunk-236GX7PP.js";
27
29
 
28
30
  // src/hooks/useDebounce.ts
29
31
  import { useEffect, useState } from "react";
@@ -101,6 +103,8 @@ export {
101
103
  Modal_default as Modal,
102
104
  Popover_default as Popover,
103
105
  Tooltip_default as Tooltip,
106
+ buttonVariants,
107
+ cardVariants,
104
108
  modalVariants,
105
109
  tooltipPlacementOptions,
106
110
  useDebounce_default as useDebounce,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ;","names":["useEffect","useState"]}
1
+ {"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ;","names":["useEffect","useState"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fuf-stack/pixels",
3
3
  "description": "fuf react component library",
4
4
  "author": "Hannes Tiede",
5
- "version": "0.5.3",
5
+ "version": "0.5.4",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.cjs",
@@ -99,8 +99,8 @@
99
99
  "@types/react-dom": "18.2.25",
100
100
  "@repo/storybook-config": "0.0.1",
101
101
  "@repo/tailwind-config": "0.0.1",
102
- "@repo/vite-config": "0.0.1",
103
- "@repo/tsup-config": "0.0.1"
102
+ "@repo/tsup-config": "0.0.1",
103
+ "@repo/vite-config": "0.0.1"
104
104
  },
105
105
  "scripts": {
106
106
  "build": "tsup --config node_modules/@repo/tsup-config/config.ts",
@@ -1,38 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps as ButtonProps$1 } from '@nextui-org/button';
3
- import { ReactNode } from 'react';
4
-
5
- interface ButtonProps {
6
- /** sets HTML aria-label attribute */
7
- ariaLabel?: string;
8
- /** child components */
9
- children?: ReactNode;
10
- /** CSS class name */
11
- className?: string | string[];
12
- /** next ui button color */
13
- color?: ButtonProps$1['color'];
14
- /** disables function of the button. */
15
- disabled?: boolean;
16
- /** disables all button animations */
17
- disableAnimation?: boolean;
18
- /** If set loading animation is shown */
19
- loading?: boolean;
20
- /** optional icon */
21
- icon?: ReactNode;
22
- /** on click event */
23
- onClick?: ButtonProps$1['onPress'];
24
- /** 3 size options */
25
- size?: ButtonProps$1['size'];
26
- /** HTML data-testid attribute used in e2e tests */
27
- testId?: string;
28
- /** sets the button type. */
29
- type?: 'button' | 'submit' | 'reset' | undefined;
30
- /** next ui button variants */
31
- variant?: ButtonProps$1['variant'];
32
- }
33
- /**
34
- * Button component based on [NextUI Button](https://nextui.org/docs/components/button)
35
- */
36
- declare const Button: ({ ariaLabel, children, className, color, disabled, disableAnimation, icon, loading, onClick, size, testId, type, variant, }: ButtonProps) => react_jsx_runtime.JSX.Element;
37
-
38
- export { Button as B, type ButtonProps as a };
@@ -1,38 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps as ButtonProps$1 } from '@nextui-org/button';
3
- import { ReactNode } from 'react';
4
-
5
- interface ButtonProps {
6
- /** sets HTML aria-label attribute */
7
- ariaLabel?: string;
8
- /** child components */
9
- children?: ReactNode;
10
- /** CSS class name */
11
- className?: string | string[];
12
- /** next ui button color */
13
- color?: ButtonProps$1['color'];
14
- /** disables function of the button. */
15
- disabled?: boolean;
16
- /** disables all button animations */
17
- disableAnimation?: boolean;
18
- /** If set loading animation is shown */
19
- loading?: boolean;
20
- /** optional icon */
21
- icon?: ReactNode;
22
- /** on click event */
23
- onClick?: ButtonProps$1['onPress'];
24
- /** 3 size options */
25
- size?: ButtonProps$1['size'];
26
- /** HTML data-testid attribute used in e2e tests */
27
- testId?: string;
28
- /** sets the button type. */
29
- type?: 'button' | 'submit' | 'reset' | undefined;
30
- /** next ui button variants */
31
- variant?: ButtonProps$1['variant'];
32
- }
33
- /**
34
- * Button component based on [NextUI Button](https://nextui.org/docs/components/button)
35
- */
36
- declare const Button: ({ ariaLabel, children, className, color, disabled, disableAnimation, icon, loading, onClick, size, testId, type, variant, }: ButtonProps) => react_jsx_runtime.JSX.Element;
37
-
38
- export { Button as B, type ButtonProps as a };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\n\nimport { Button as NextButton } from '@nextui-org/button';\nimport cn from 'classnames';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport interface ButtonProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={cn(className)}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button };\n\nexport default Button;\n"],"mappings":";AAGA,SAAS,UAAU,kBAAkB;AACrC,OAAO,QAAQ;;;ACCb,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADgCE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAhBJ,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AExEf,IAAOE,kBAAQ;","names":["jsx","jsxs","Button_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"names":["Tooltip_default"],"mappings":";AAEA,SAAS,WAAW,mBAAmB;AACvC,OAAO,QAAQ;AAoDX;AAlDG,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAuBA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,mBAAmB;AACrB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,CAAC,MAAM;AACd,QAAE,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAU;AAAA,IACV,WAAS;AAAA,IAET,8BAAC,UAAK,WAAU,kBAAkB,UAAS;AAAA;AAC7C;AAGF,IAAO,kBAAQ;;;ACrDf,IAAOA,mBAAQ","sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Tooltip as NextTooltip } from '@nextui-org/tooltip';\nimport cn from 'classnames';\n\nexport const tooltipPlacementOptions = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n] as const;\nexport type TooltipPlacement = (typeof tooltipPlacementOptions)[number];\n\nexport interface TooltipProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n}\n\n/**\n * Tooltip component based on [NextUI Tooltip](https://nextui.org/docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className = undefined,\n content,\n placement = 'top',\n defaultOpen = false,\n onOpenChange = undefined,\n containerPadding = 0,\n}: TooltipProps) => (\n <NextTooltip\n className={cn(className)}\n containerPadding={containerPadding}\n content={content}\n defaultOpen={defaultOpen}\n onClick={(e) => {\n e.preventDefault();\n }}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\n >\n <span className=\"cursor-pointer\">{children}</span>\n </NextTooltip>\n);\n\nexport default Tooltip;\n","import Tooltip, { tooltipPlacementOptions } from './Tooltip';\n\nexport type { TooltipProps } from './Tooltip';\n\nexport { Tooltip, tooltipPlacementOptions };\n\nexport default Tooltip;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"names":["jsx","jsxs","Button_default"],"mappings":";AAGA,SAAS,UAAU,kBAAkB;AACrC,OAAO,QAAQ;;;ACCb,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADgCE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAhBJ,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,GAAG,SAAS;AAAA,MACvB;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AExEf,IAAOE,kBAAQ","sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\n\nimport { Button as NextButton } from '@nextui-org/button';\nimport cn from 'classnames';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport interface ButtonProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={cn(className)}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button };\n\nexport default Button;\n"]}