@fuf-stack/pixels 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJ5XN2HATcjs = require('../chunk-J5XN2HAT.cjs');
5
+ var _chunkJU7O2LCJcjs = require('../chunk-JU7O2LCJ.cjs');
6
6
  require('../chunk-DZUJEN5N.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
- exports.Accordion = _chunkJ5XN2HATcjs.Accordion_default; exports.accordionVariants = _chunkJ5XN2HATcjs.accordionVariants; exports.default = _chunkJ5XN2HATcjs.Accordion_default2;
11
+ exports.Accordion = _chunkJU7O2LCJcjs.Accordion_default; exports.accordionVariants = _chunkJU7O2LCJcjs.accordionVariants; exports.default = _chunkJU7O2LCJcjs.Accordion_default2;
12
12
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { A as Accordion } from '../Accordion-Drlhs2y_.cjs';
2
- export { c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from '../Accordion-Drlhs2y_.cjs';
1
+ import { A as Accordion } from '../Accordion-DkShJasa.cjs';
2
+ export { c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from '../Accordion-DkShJasa.cjs';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants';
5
5
  import 'tailwind-variants/dist/config.js';
@@ -1,5 +1,5 @@
1
- import { A as Accordion } from '../Accordion-Drlhs2y_.js';
2
- export { c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from '../Accordion-Drlhs2y_.js';
1
+ import { A as Accordion } from '../Accordion-DkShJasa.js';
2
+ export { c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from '../Accordion-DkShJasa.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'tailwind-variants';
5
5
  import 'tailwind-variants/dist/config.js';
@@ -2,7 +2,7 @@ import {
2
2
  Accordion_default,
3
3
  Accordion_default2,
4
4
  accordionVariants
5
- } from "../chunk-G5YPY6KS.js";
5
+ } from "../chunk-7SK2BLZJ.js";
6
6
  import "../chunk-5WRI5ZAA.js";
7
7
  export {
8
8
  Accordion_default as Accordion,
@@ -18,6 +18,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
18
18
  wrapper: string;
19
19
  };
20
20
  };
21
+ showBottomTopDivider: {
22
+ true: {
23
+ wrapper: string;
24
+ };
25
+ };
21
26
  }, {
22
27
  base: string;
23
28
  content: string;
@@ -42,6 +47,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
42
47
  wrapper: string;
43
48
  };
44
49
  };
50
+ showBottomTopDivider: {
51
+ true: {
52
+ wrapper: string;
53
+ };
54
+ };
45
55
  }, {
46
56
  indicatorLeft: {
47
57
  true: {
@@ -55,6 +65,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
55
65
  wrapper: string;
56
66
  };
57
67
  };
68
+ showBottomTopDivider: {
69
+ true: {
70
+ wrapper: string;
71
+ };
72
+ };
58
73
  }>, {
59
74
  indicatorLeft: {
60
75
  true: {
@@ -68,6 +83,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
68
83
  wrapper: string;
69
84
  };
70
85
  };
86
+ showBottomTopDivider: {
87
+ true: {
88
+ wrapper: string;
89
+ };
90
+ };
71
91
  }, {
72
92
  base: string;
73
93
  content: string;
@@ -92,6 +112,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
92
112
  wrapper: string;
93
113
  };
94
114
  };
115
+ showBottomTopDivider: {
116
+ true: {
117
+ wrapper: string;
118
+ };
119
+ };
95
120
  }, {
96
121
  base: string;
97
122
  content: string;
@@ -116,6 +141,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
116
141
  wrapper: string;
117
142
  };
118
143
  };
144
+ showBottomTopDivider: {
145
+ true: {
146
+ wrapper: string;
147
+ };
148
+ };
119
149
  }, {
120
150
  indicatorLeft: {
121
151
  true: {
@@ -129,6 +159,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
129
159
  wrapper: string;
130
160
  };
131
161
  };
162
+ showBottomTopDivider: {
163
+ true: {
164
+ wrapper: string;
165
+ };
166
+ };
132
167
  }>, unknown, unknown, undefined>>;
133
168
  interface AccordionItemProps {
134
169
  /** Content of the accordion item */
@@ -18,6 +18,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
18
18
  wrapper: string;
19
19
  };
20
20
  };
21
+ showBottomTopDivider: {
22
+ true: {
23
+ wrapper: string;
24
+ };
25
+ };
21
26
  }, {
22
27
  base: string;
23
28
  content: string;
@@ -42,6 +47,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
42
47
  wrapper: string;
43
48
  };
44
49
  };
50
+ showBottomTopDivider: {
51
+ true: {
52
+ wrapper: string;
53
+ };
54
+ };
45
55
  }, {
46
56
  indicatorLeft: {
47
57
  true: {
@@ -55,6 +65,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
55
65
  wrapper: string;
56
66
  };
57
67
  };
68
+ showBottomTopDivider: {
69
+ true: {
70
+ wrapper: string;
71
+ };
72
+ };
58
73
  }>, {
59
74
  indicatorLeft: {
60
75
  true: {
@@ -68,6 +83,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
68
83
  wrapper: string;
69
84
  };
70
85
  };
86
+ showBottomTopDivider: {
87
+ true: {
88
+ wrapper: string;
89
+ };
90
+ };
71
91
  }, {
72
92
  base: string;
73
93
  content: string;
@@ -92,6 +112,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
92
112
  wrapper: string;
93
113
  };
94
114
  };
115
+ showBottomTopDivider: {
116
+ true: {
117
+ wrapper: string;
118
+ };
119
+ };
95
120
  }, {
96
121
  base: string;
97
122
  content: string;
@@ -116,6 +141,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
116
141
  wrapper: string;
117
142
  };
118
143
  };
144
+ showBottomTopDivider: {
145
+ true: {
146
+ wrapper: string;
147
+ };
148
+ };
119
149
  }, {
120
150
  indicatorLeft: {
121
151
  true: {
@@ -129,6 +159,11 @@ declare const accordionVariants: tailwind_variants.TVReturnType<{
129
159
  wrapper: string;
130
160
  };
131
161
  };
162
+ showBottomTopDivider: {
163
+ true: {
164
+ wrapper: string;
165
+ };
166
+ };
132
167
  }>, unknown, unknown, undefined>>;
133
168
  interface AccordionItemProps {
134
169
  /** Content of the accordion item */
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBQJUB6VZcjs = require('../chunk-BQJUB6VZ.cjs');
4
+ var _chunkDARKAVXBcjs = require('../chunk-DARKAVXB.cjs');
5
5
  require('../chunk-UYNMOCDD.cjs');
6
6
  require('../chunk-DZUJEN5N.cjs');
7
7
 
8
8
 
9
9
 
10
- exports.Popover = _chunkBQJUB6VZcjs.Popover_default; exports.default = _chunkBQJUB6VZcjs.Popover_default2;
10
+ exports.Popover = _chunkDARKAVXBcjs.Popover_default; exports.default = _chunkDARKAVXBcjs.Popover_default2;
11
11
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,9 @@
1
- import { _ as _default } from '../Popover-IYjW04NG.cjs';
2
- export { P as PopoverProps } from '../Popover-IYjW04NG.cjs';
1
+ import { _ as _default } from '../Popover-DIRJ5iQj.cjs';
2
+ export { P as PopoverProps } from '../Popover-DIRJ5iQj.cjs';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants/dist/config.js';
5
+ import 'tailwind-variants';
6
+ import '@fuf-stack/pixel-utils';
4
7
  import '@nextui-org/popover';
5
8
  import 'react';
6
9
 
@@ -1,6 +1,9 @@
1
- import { _ as _default } from '../Popover-IYjW04NG.js';
2
- export { P as PopoverProps } from '../Popover-IYjW04NG.js';
1
+ import { _ as _default } from '../Popover-DIRJ5iQj.js';
2
+ export { P as PopoverProps } from '../Popover-DIRJ5iQj.js';
3
3
  import 'react/jsx-runtime';
4
+ import 'tailwind-variants/dist/config.js';
5
+ import 'tailwind-variants';
6
+ import '@fuf-stack/pixel-utils';
4
7
  import '@nextui-org/popover';
5
8
  import 'react';
6
9
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Popover_default,
3
3
  Popover_default2
4
- } from "../chunk-QCPUMTFP.js";
4
+ } from "../chunk-TGIUA5N3.js";
5
5
  import "../chunk-IBB2U3AH.js";
6
6
  import "../chunk-5WRI5ZAA.js";
7
7
  export {
@@ -0,0 +1,111 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+ import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
5
+ import { PopoverProps as PopoverProps$1 } from '@nextui-org/popover';
6
+ import { ReactNode } from 'react';
7
+
8
+ declare const popoverVariants: tailwind_variants.TVReturnType<{
9
+ [key: string]: {
10
+ [key: string]: tailwind_variants.ClassValue | {
11
+ body?: tailwind_variants.ClassValue;
12
+ content?: tailwind_variants.ClassValue;
13
+ footer?: tailwind_variants.ClassValue;
14
+ header?: tailwind_variants.ClassValue;
15
+ trigger?: tailwind_variants.ClassValue;
16
+ };
17
+ };
18
+ } | {
19
+ [x: string]: {
20
+ [x: string]: tailwind_variants.ClassValue | {
21
+ body?: tailwind_variants.ClassValue;
22
+ content?: tailwind_variants.ClassValue;
23
+ footer?: tailwind_variants.ClassValue;
24
+ header?: tailwind_variants.ClassValue;
25
+ trigger?: tailwind_variants.ClassValue;
26
+ };
27
+ };
28
+ } | {}, {
29
+ body: string;
30
+ content: string;
31
+ footer: string;
32
+ header: string;
33
+ trigger: string;
34
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
35
+ [key: string]: {
36
+ [key: string]: tailwind_variants.ClassValue | {
37
+ body?: tailwind_variants.ClassValue;
38
+ content?: tailwind_variants.ClassValue;
39
+ footer?: tailwind_variants.ClassValue;
40
+ header?: tailwind_variants.ClassValue;
41
+ trigger?: tailwind_variants.ClassValue;
42
+ };
43
+ };
44
+ } | {}>, {
45
+ [key: string]: {
46
+ [key: string]: tailwind_variants.ClassValue | {
47
+ body?: tailwind_variants.ClassValue;
48
+ content?: tailwind_variants.ClassValue;
49
+ footer?: tailwind_variants.ClassValue;
50
+ header?: tailwind_variants.ClassValue;
51
+ trigger?: tailwind_variants.ClassValue;
52
+ };
53
+ };
54
+ } | {}, {
55
+ body: string;
56
+ content: string;
57
+ footer: string;
58
+ header: string;
59
+ trigger: string;
60
+ }, tailwind_variants.TVReturnType<unknown, {
61
+ body: string;
62
+ content: string;
63
+ footer: string;
64
+ header: string;
65
+ trigger: string;
66
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
67
+ [key: string]: {
68
+ [key: string]: tailwind_variants.ClassValue | {
69
+ body?: tailwind_variants.ClassValue;
70
+ content?: tailwind_variants.ClassValue;
71
+ footer?: tailwind_variants.ClassValue;
72
+ header?: tailwind_variants.ClassValue;
73
+ trigger?: tailwind_variants.ClassValue;
74
+ };
75
+ };
76
+ } | {}>, unknown, unknown, undefined>>;
77
+ type VariantProps = TVProps<typeof popoverVariants>;
78
+ type ClassName = TVClassName<typeof popoverVariants>;
79
+ interface PopoverProps extends VariantProps {
80
+ /** child components */
81
+ children?: ReactNode;
82
+ /** CSS class name */
83
+ className?: ClassName;
84
+ /** content of the popover */
85
+ content: ReactNode;
86
+ /** HTML data-testid attribute used in e2e tests */
87
+ contentTestId?: string;
88
+ /** popover footer */
89
+ footer?: ReactNode;
90
+ /** use as controlled component */
91
+ openControlled?: {
92
+ open: boolean;
93
+ setOpen: (open: boolean) => void;
94
+ };
95
+ /** placement of the popover relative to its trigger reference */
96
+ placement?: PopoverProps$1['placement'];
97
+ /** The container element in which the overlay portal will be placed. */
98
+ portalContainer?: PopoverProps$1['portalContainer'];
99
+ /** Whether to block scrolling outside the popover */
100
+ shouldBlockScroll?: boolean;
101
+ /** HTML data-testid attribute used in e2e tests */
102
+ testId?: string;
103
+ /** popover title */
104
+ title?: ReactNode;
105
+ }
106
+ /**
107
+ * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)
108
+ */
109
+ declare const _default: ({ children, className: _className, content, contentTestId, footer, openControlled, placement, portalContainer, shouldBlockScroll, testId, title, }: PopoverProps) => react_jsx_runtime.JSX.Element;
110
+
111
+ export { type PopoverProps as P, _default as _ };
@@ -0,0 +1,111 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+ import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
5
+ import { PopoverProps as PopoverProps$1 } from '@nextui-org/popover';
6
+ import { ReactNode } from 'react';
7
+
8
+ declare const popoverVariants: tailwind_variants.TVReturnType<{
9
+ [key: string]: {
10
+ [key: string]: tailwind_variants.ClassValue | {
11
+ body?: tailwind_variants.ClassValue;
12
+ content?: tailwind_variants.ClassValue;
13
+ footer?: tailwind_variants.ClassValue;
14
+ header?: tailwind_variants.ClassValue;
15
+ trigger?: tailwind_variants.ClassValue;
16
+ };
17
+ };
18
+ } | {
19
+ [x: string]: {
20
+ [x: string]: tailwind_variants.ClassValue | {
21
+ body?: tailwind_variants.ClassValue;
22
+ content?: tailwind_variants.ClassValue;
23
+ footer?: tailwind_variants.ClassValue;
24
+ header?: tailwind_variants.ClassValue;
25
+ trigger?: tailwind_variants.ClassValue;
26
+ };
27
+ };
28
+ } | {}, {
29
+ body: string;
30
+ content: string;
31
+ footer: string;
32
+ header: string;
33
+ trigger: string;
34
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
35
+ [key: string]: {
36
+ [key: string]: tailwind_variants.ClassValue | {
37
+ body?: tailwind_variants.ClassValue;
38
+ content?: tailwind_variants.ClassValue;
39
+ footer?: tailwind_variants.ClassValue;
40
+ header?: tailwind_variants.ClassValue;
41
+ trigger?: tailwind_variants.ClassValue;
42
+ };
43
+ };
44
+ } | {}>, {
45
+ [key: string]: {
46
+ [key: string]: tailwind_variants.ClassValue | {
47
+ body?: tailwind_variants.ClassValue;
48
+ content?: tailwind_variants.ClassValue;
49
+ footer?: tailwind_variants.ClassValue;
50
+ header?: tailwind_variants.ClassValue;
51
+ trigger?: tailwind_variants.ClassValue;
52
+ };
53
+ };
54
+ } | {}, {
55
+ body: string;
56
+ content: string;
57
+ footer: string;
58
+ header: string;
59
+ trigger: string;
60
+ }, tailwind_variants.TVReturnType<unknown, {
61
+ body: string;
62
+ content: string;
63
+ footer: string;
64
+ header: string;
65
+ trigger: string;
66
+ }, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
67
+ [key: string]: {
68
+ [key: string]: tailwind_variants.ClassValue | {
69
+ body?: tailwind_variants.ClassValue;
70
+ content?: tailwind_variants.ClassValue;
71
+ footer?: tailwind_variants.ClassValue;
72
+ header?: tailwind_variants.ClassValue;
73
+ trigger?: tailwind_variants.ClassValue;
74
+ };
75
+ };
76
+ } | {}>, unknown, unknown, undefined>>;
77
+ type VariantProps = TVProps<typeof popoverVariants>;
78
+ type ClassName = TVClassName<typeof popoverVariants>;
79
+ interface PopoverProps extends VariantProps {
80
+ /** child components */
81
+ children?: ReactNode;
82
+ /** CSS class name */
83
+ className?: ClassName;
84
+ /** content of the popover */
85
+ content: ReactNode;
86
+ /** HTML data-testid attribute used in e2e tests */
87
+ contentTestId?: string;
88
+ /** popover footer */
89
+ footer?: ReactNode;
90
+ /** use as controlled component */
91
+ openControlled?: {
92
+ open: boolean;
93
+ setOpen: (open: boolean) => void;
94
+ };
95
+ /** placement of the popover relative to its trigger reference */
96
+ placement?: PopoverProps$1['placement'];
97
+ /** The container element in which the overlay portal will be placed. */
98
+ portalContainer?: PopoverProps$1['portalContainer'];
99
+ /** Whether to block scrolling outside the popover */
100
+ shouldBlockScroll?: boolean;
101
+ /** HTML data-testid attribute used in e2e tests */
102
+ testId?: string;
103
+ /** popover title */
104
+ title?: ReactNode;
105
+ }
106
+ /**
107
+ * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)
108
+ */
109
+ declare const _default: ({ children, className: _className, content, contentTestId, footer, openControlled, placement, portalContainer, shouldBlockScroll, testId, title, }: PopoverProps) => react_jsx_runtime.JSX.Element;
110
+
111
+ export { type PopoverProps as P, _default as _ };
@@ -31,6 +31,11 @@ var accordionVariants = tv({
31
31
  true: {
32
32
  wrapper: "divide-y divide-solid divide-divider"
33
33
  }
34
+ },
35
+ showBottomTopDivider: {
36
+ true: {
37
+ wrapper: "border-b border-t border-solid border-divider"
38
+ }
34
39
  }
35
40
  }
36
41
  });
@@ -50,7 +55,8 @@ var Accordion = ({
50
55
  }) => {
51
56
  const variants = accordionVariants({
52
57
  indicatorLeft,
53
- showDivider: showDivider && variant !== "splitted"
58
+ showDivider: showDivider && variant !== "splitted",
59
+ showBottomTopDivider: showDivider && variant === "light"
54
60
  });
55
61
  const classNames = variantsToClassNames(variants, _className, "wrapper");
56
62
  return /* @__PURE__ */ jsx(
@@ -88,4 +94,4 @@ export {
88
94
  Accordion_default,
89
95
  Accordion_default2
90
96
  };
91
- //# sourceMappingURL=chunk-G5YPY6KS.js.map
97
+ //# sourceMappingURL=chunk-7SK2BLZJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: 'px-4',\n heading: 'px-4',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: 'px-0',\n },\n variants: {\n indicatorLeft: {\n true: {\n content: 'pl-7',\n indicator: '-rotate-180 data-[open=true]:-rotate-90',\n trigger: 'flex-row-reverse',\n },\n },\n showDivider: {\n true: {\n wrapper: 'divide-y divide-solid divide-divider',\n },\n },\n showBottomTopDivider: {\n true: {\n wrapper: 'border-b border-t border-solid border-divider',\n },\n },\n },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className: _className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({\n indicatorLeft,\n showDivider: showDivider && variant !== 'splitted',\n showBottomTopDivider: showDivider && variant === 'light',\n });\n const classNames = variantsToClassNames(variants, _className, 'wrapper');\n\n return (\n <NextAccordion\n className={classNames.wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={classNames}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={false}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"],"mappings":";AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAEP,SAAS,IAAI,4BAA4B;AAwHjC;AApHD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,QACJ,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM;AAAA,QACJ,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AA8CD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,WAAW,aAAa;AAAA,EACxB,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB;AAAA,IACjC;AAAA,IACA,aAAa,eAAe,YAAY;AAAA,IACxC,sBAAsB,eAAe,YAAY;AAAA,EACnD,CAAC;AACD,QAAM,aAAa,qBAAqB,UAAU,YAAY,SAAS;AAEvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;ACvIf,IAAOA,qBAAQ;","names":["Accordion_default"]}
@@ -6,9 +6,18 @@ var _chunkUYNMOCDDcjs = require('./chunk-UYNMOCDD.cjs');
6
6
  var _popover = require('@nextui-org/popover');
7
7
  var _pixelutils = require('@fuf-stack/pixel-utils');
8
8
  var _jsxruntime = require('react/jsx-runtime');
9
+ var popoverVariants = _pixelutils.tv.call(void 0, {
10
+ slots: {
11
+ body: "w-full px-2.5 py-1",
12
+ content: "flex max-h-[80vh] w-[400px] flex-col p-0",
13
+ footer: "w-full px-2.5 py-1",
14
+ header: "w-full px-2.5 py-1",
15
+ trigger: ""
16
+ }
17
+ });
9
18
  var Popover_default = ({
10
19
  children = null,
11
- className = void 0,
20
+ className: _className = void 0,
12
21
  content,
13
22
  contentTestId = void 0,
14
23
  footer = void 0,
@@ -19,10 +28,12 @@ var Popover_default = ({
19
28
  testId = void 0,
20
29
  title = void 0
21
30
  }) => {
31
+ const variants = popoverVariants();
32
+ const className = _pixelutils.variantsToClassNames.call(void 0, variants, _className, "trigger");
22
33
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23
34
  _popover.Popover,
24
35
  {
25
- classNames: { content: "p-0" },
36
+ classNames: className,
26
37
  placement,
27
38
  portalContainer,
28
39
  radius: "sm",
@@ -30,18 +41,18 @@ var Popover_default = ({
30
41
  showArrow: true,
31
42
  ...openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {},
32
43
  children: [
33
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _popover.PopoverTrigger, { className: _pixelutils.cn.call(void 0, className), "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { children }) }),
34
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _popover.PopoverContent, { "data-testid": contentTestId, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex max-h-[80vh] flex-col", children: [
35
- title && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "px-2.5 py-1", children: [
44
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _popover.PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { children }) }),
45
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _popover.PopoverContent, { "data-testid": contentTestId, children: [
46
+ title && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: className.header, children: [
36
47
  title,
37
48
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", {})
38
49
  ] }),
39
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUYNMOCDDcjs.ScrollShadow_default, { className: "px-2.5 py-1", children: content }),
40
- footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "px-2.5 py-1", children: [
50
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUYNMOCDDcjs.ScrollShadow_default, { className: className.body, children: content }),
51
+ footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: className.footer, children: [
41
52
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", {}),
42
53
  footer
43
54
  ] })
44
- ] }) })
55
+ ] })
45
56
  ]
46
57
  }
47
58
  );
@@ -54,4 +65,4 @@ var Popover_default2 = Popover_default;
54
65
 
55
66
 
56
67
  exports.Popover_default = Popover_default; exports.Popover_default2 = Popover_default2;
57
- //# sourceMappingURL=chunk-BQJUB6VZ.cjs.map
68
+ //# sourceMappingURL=chunk-DARKAVXB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-DARKAVXB.cjs","../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACAA,8CAAwD;AAExD,oDAAyC;AA+EjC,+CAAA;AA1ED,IAAM,gBAAA,EAAkB,4BAAA;AAAG,EAChC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,0CAAA;AAAA,IACT,MAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IACR,OAAA,EAAS;AAAA,EACX;AACF,CAAC,CAAA;AAiCD,IAAO,gBAAA,EAAQ,CAAC;AAAA,EACd,SAAA,EAAW,IAAA;AAAA,EACX,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,OAAA;AAAA,EACA,cAAA,EAAgB,KAAA,CAAA;AAAA,EAChB,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,eAAA,EAAiB,KAAA,CAAA;AAAA,EACjB,UAAA,EAAY,KAAA;AAAA,EACZ,gBAAA,EAAkB,KAAA,CAAA;AAAA,EAClB,kBAAA,EAAoB,KAAA,CAAA;AAAA,EACpB,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,MAAA,EAAQ,KAAA;AACV,CAAA,EAAA,GAAoB;AAElB,EAAA,MAAM,SAAA,EAAW,eAAA,CAAgB,CAAA;AACjC,EAAA,MAAM,UAAA,EAAY,8CAAA,QAAqB,EAAU,UAAA,EAAY,SAAS,CAAA;AAEtE,EAAA,uBACE,8BAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,SAAA;AAAA,MACZ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA,EAAO,IAAA;AAAA,MACP,iBAAA;AAAA,MACA,SAAA,EAAS,IAAA;AAAA,MAER,GAAI,eAAA,EACD,EAAE,MAAA,EAAQ,cAAA,CAAe,IAAA,EAAM,YAAA,EAAc,cAAA,CAAe,QAAQ,EAAA,EACpE,CAAC,CAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAA,6BAAA,uBAAC,EAAA,EAAe,aAAA,EAAa,MAAA,EAG3B,QAAA,kBAAA,6BAAA,QAAC,EAAA,EAAQ,SAAA,CAAS,EAAA,CACpB,CAAA;AAAA,wBACA,8BAAA,uBAAC,EAAA,EAAe,aAAA,EAAa,aAAA,EAC1B,QAAA,EAAA;AAAA,UAAA,MAAA,mBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,MAAA,EACvB,QAAA,EAAA;AAAA,YAAA,KAAA;AAAA,4BACD,6BAAA,IAAC,EAAA,CAAA,CAAG;AAAA,UAAA,EAAA,CACN,CAAA;AAAA,0BAEF,6BAAA,sCAAC,EAAA,EAAa,SAAA,EAAW,SAAA,CAAU,IAAA,EAAO,QAAA,EAAA,QAAA,CAAQ,CAAA;AAAA,UACjD,OAAA,mBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,MAAA,EACxB,QAAA,EAAA;AAAA,4BAAA,6BAAA,IAAC,EAAA,CAAA,CAAG,CAAA;AAAA,YACH;AAAA,UAAA,EAAA,CACH;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AD7CA;AACA;AEtDA,IAAOA,iBAAAA,EAAQ,eAAA;AFwDf;AACA;AACE;AACA;AACF,uFAAC","file":"/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-DARKAVXB.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { PopoverProps as NextPopoverProps } from '@nextui-org/popover';\nimport type { ReactNode } from 'react';\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@nextui-org/popover';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// popover styling variants\nexport const popoverVariants = tv({\n slots: {\n body: 'w-full px-2.5 py-1',\n content: 'flex max-h-[80vh] w-[400px] flex-col p-0',\n footer: 'w-full px-2.5 py-1',\n header: 'w-full px-2.5 py-1',\n trigger: '',\n },\n});\n\ntype VariantProps = TVProps<typeof popoverVariants>;\ntype ClassName = TVClassName<typeof popoverVariants>;\n\nexport interface PopoverProps extends VariantProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** content of the popover */\n content: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n contentTestId?: string;\n /** popover footer */\n footer?: ReactNode;\n /** use as controlled component */\n openControlled?: { open: boolean; setOpen: (open: boolean) => void };\n /** placement of the popover relative to its trigger reference */\n placement?: NextPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: NextPopoverProps['portalContainer'];\n /** Whether to block scrolling outside the popover */\n shouldBlockScroll?: boolean;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** popover title */\n title?: ReactNode;\n}\n\n/**\n * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)\n */\nexport default ({\n children = null,\n className: _className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n title = undefined,\n}: PopoverProps) => {\n // className from slots\n const variants = popoverVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n return (\n <Popover\n classNames={className}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n showArrow\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <PopoverTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by PopoverTrigger */}\n {/* eslint-disable-next-line react/button-has-type */}\n <button>{children}</button>\n </PopoverTrigger>\n <PopoverContent data-testid={contentTestId}>\n {title && (\n <div className={className.header}>\n {title}\n <hr />\n </div>\n )}\n <ScrollShadow className={className.body}>{content}</ScrollShadow>\n {footer && (\n <div className={className.footer}>\n <hr />\n {footer}\n </div>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"]}
@@ -31,6 +31,11 @@ var accordionVariants = _pixelutils.tv.call(void 0, {
31
31
  true: {
32
32
  wrapper: "divide-y divide-solid divide-divider"
33
33
  }
34
+ },
35
+ showBottomTopDivider: {
36
+ true: {
37
+ wrapper: "border-b border-t border-solid border-divider"
38
+ }
34
39
  }
35
40
  }
36
41
  });
@@ -50,7 +55,8 @@ var Accordion = ({
50
55
  }) => {
51
56
  const variants = accordionVariants({
52
57
  indicatorLeft,
53
- showDivider: showDivider && variant !== "splitted"
58
+ showDivider: showDivider && variant !== "splitted",
59
+ showBottomTopDivider: showDivider && variant === "light"
54
60
  });
55
61
  const classNames = _pixelutils.variantsToClassNames.call(void 0, variants, _className, "wrapper");
56
62
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -88,4 +94,4 @@ var Accordion_default2 = Accordion_default;
88
94
 
89
95
 
90
96
  exports.accordionVariants = accordionVariants; exports.Accordion_default = Accordion_default; exports.Accordion_default2 = Accordion_default2;
91
- //# sourceMappingURL=chunk-J5XN2HAT.cjs.map
97
+ //# sourceMappingURL=chunk-JU7O2LCJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-JU7O2LCJ.cjs","../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":"AAAA;ACIA;AACE;AACA;AAAiB,kDACZ;AAEP,oDAAyC;AAwHjC,+CAAA;AApHD,IAAM,kBAAA,EAAoB,4BAAA;AAAG,EAClC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,EAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,OAAA,EAAS,MAAA;AAAA,IACT,SAAA,EAAW,EAAA;AAAA,IACX,YAAA,EAAc,EAAA;AAAA,IACd,QAAA,EAAU,EAAA;AAAA,IACV,KAAA,EAAO,EAAA;AAAA,IACP,YAAA,EAAc,EAAA;AAAA,IACd,OAAA,EAAS,EAAA;AAAA;AAAA,IAET,OAAA,EAAS;AAAA,EACX,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,aAAA,EAAe;AAAA,MACb,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,MAAA;AAAA,QACT,SAAA,EAAW,yCAAA;AAAA,QACX,OAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC,CAAA;AA8CD,IAAM,UAAA,EAAY,CAAC;AAAA,EACjB,eAAA,EAAiB,CAAC,CAAA;AAAA,EAClB,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,oBAAA,EAAsB,CAAC,CAAA;AAAA,EACvB,SAAA,EAAW,KAAA;AAAA,EACX,aAAA,EAAe,CAAC,CAAA;AAAA,EAChB,uBAAA,EAAyB,KAAA;AAAA,EACzB,aAAA,EAAe,CAAC,CAAA;AAAA,EAChB,cAAA,EAAgB,KAAA;AAAA,EAChB,kBAAA,EAAoB,KAAA,CAAA;AAAA,EACpB,cAAA,EAAgB,UAAA;AAAA,EAChB,YAAA,EAAc,IAAA;AAAA,EACd,QAAA,EAAU;AACZ,CAAA,EAAA,GAAsB;AAEpB,EAAA,MAAM,SAAA,EAAW,iBAAA,CAAkB;AAAA,IACjC,aAAA;AAAA,IACA,WAAA,EAAa,YAAA,GAAe,QAAA,IAAY,UAAA;AAAA,IACxC,oBAAA,EAAsB,YAAA,GAAe,QAAA,IAAY;AAAA,EACnD,CAAC,CAAA;AACD,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,UAAA,EAAY,SAAS,CAAA;AAEvE,EAAA,uBACE,6BAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,UAAA,CAAW,OAAA;AAAA,MACtB,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,sBAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAa,UAAA;AAAA,MACb,iBAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA,EAAa,KAAA;AAAA,MACb,OAAA;AAAA,MAEC,QAAA,EAAA,cAAA,CAAe,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,EAAA,mBACzB,6BAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UAGC,UAAA,EAAY,SAAA,mBAAY,IAAA,2BAAM,UAAA;AAAA,UAE7B,GAAG;AAAA,QAAA,CAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,kBAAA,EAAQ,SAAA;ADtDf;AACA;AElFA,IAAOA,mBAAAA,EAAQ,iBAAA;AFoFf;AACA;AACE;AACA;AACA;AACF,8IAAC","file":"/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-JU7O2LCJ.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: 'px-4',\n heading: 'px-4',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: 'px-0',\n },\n variants: {\n indicatorLeft: {\n true: {\n content: 'pl-7',\n indicator: '-rotate-180 data-[open=true]:-rotate-90',\n trigger: 'flex-row-reverse',\n },\n },\n showDivider: {\n true: {\n wrapper: 'divide-y divide-solid divide-divider',\n },\n },\n showBottomTopDivider: {\n true: {\n wrapper: 'border-b border-t border-solid border-divider',\n },\n },\n },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className: _className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({\n indicatorLeft,\n showDivider: showDivider && variant !== 'splitted',\n showBottomTopDivider: showDivider && variant === 'light',\n });\n const classNames = variantsToClassNames(variants, _className, 'wrapper');\n\n return (\n <NextAccordion\n className={classNames.wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={classNames}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={false}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"]}
@@ -4,11 +4,20 @@ import {
4
4
 
5
5
  // src/Popover/Popover.tsx
6
6
  import { Popover, PopoverContent, PopoverTrigger } from "@nextui-org/popover";
7
- import { cn } from "@fuf-stack/pixel-utils";
7
+ import { tv, variantsToClassNames } from "@fuf-stack/pixel-utils";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
+ var popoverVariants = tv({
10
+ slots: {
11
+ body: "w-full px-2.5 py-1",
12
+ content: "flex max-h-[80vh] w-[400px] flex-col p-0",
13
+ footer: "w-full px-2.5 py-1",
14
+ header: "w-full px-2.5 py-1",
15
+ trigger: ""
16
+ }
17
+ });
9
18
  var Popover_default = ({
10
19
  children = null,
11
- className = void 0,
20
+ className: _className = void 0,
12
21
  content,
13
22
  contentTestId = void 0,
14
23
  footer = void 0,
@@ -19,10 +28,12 @@ var Popover_default = ({
19
28
  testId = void 0,
20
29
  title = void 0
21
30
  }) => {
31
+ const variants = popoverVariants();
32
+ const className = variantsToClassNames(variants, _className, "trigger");
22
33
  return /* @__PURE__ */ jsxs(
23
34
  Popover,
24
35
  {
25
- classNames: { content: "p-0" },
36
+ classNames: className,
26
37
  placement,
27
38
  portalContainer,
28
39
  radius: "sm",
@@ -30,18 +41,18 @@ var Popover_default = ({
30
41
  showArrow: true,
31
42
  ...openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {},
32
43
  children: [
33
- /* @__PURE__ */ jsx(PopoverTrigger, { className: cn(className), "data-testid": testId, children: /* @__PURE__ */ jsx("button", { children }) }),
34
- /* @__PURE__ */ jsx(PopoverContent, { "data-testid": contentTestId, children: /* @__PURE__ */ jsxs("div", { className: "flex max-h-[80vh] flex-col", children: [
35
- title && /* @__PURE__ */ jsxs("div", { className: "px-2.5 py-1", children: [
44
+ /* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsx("button", { children }) }),
45
+ /* @__PURE__ */ jsxs(PopoverContent, { "data-testid": contentTestId, children: [
46
+ title && /* @__PURE__ */ jsxs("div", { className: className.header, children: [
36
47
  title,
37
48
  /* @__PURE__ */ jsx("hr", {})
38
49
  ] }),
39
- /* @__PURE__ */ jsx(ScrollShadow_default, { className: "px-2.5 py-1", children: content }),
40
- footer && /* @__PURE__ */ jsxs("div", { className: "px-2.5 py-1", children: [
50
+ /* @__PURE__ */ jsx(ScrollShadow_default, { className: className.body, children: content }),
51
+ footer && /* @__PURE__ */ jsxs("div", { className: className.footer, children: [
41
52
  /* @__PURE__ */ jsx("hr", {}),
42
53
  footer
43
54
  ] })
44
- ] }) })
55
+ ] })
45
56
  ]
46
57
  }
47
58
  );
@@ -54,4 +65,4 @@ export {
54
65
  Popover_default,
55
66
  Popover_default2
56
67
  };
57
- //# sourceMappingURL=chunk-QCPUMTFP.js.map
68
+ //# sourceMappingURL=chunk-TGIUA5N3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Popover/Popover.tsx","../src/Popover/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { PopoverProps as NextPopoverProps } from '@nextui-org/popover';\nimport type { ReactNode } from 'react';\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@nextui-org/popover';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// popover styling variants\nexport const popoverVariants = tv({\n slots: {\n body: 'w-full px-2.5 py-1',\n content: 'flex max-h-[80vh] w-[400px] flex-col p-0',\n footer: 'w-full px-2.5 py-1',\n header: 'w-full px-2.5 py-1',\n trigger: '',\n },\n});\n\ntype VariantProps = TVProps<typeof popoverVariants>;\ntype ClassName = TVClassName<typeof popoverVariants>;\n\nexport interface PopoverProps extends VariantProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** content of the popover */\n content: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n contentTestId?: string;\n /** popover footer */\n footer?: ReactNode;\n /** use as controlled component */\n openControlled?: { open: boolean; setOpen: (open: boolean) => void };\n /** placement of the popover relative to its trigger reference */\n placement?: NextPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: NextPopoverProps['portalContainer'];\n /** Whether to block scrolling outside the popover */\n shouldBlockScroll?: boolean;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** popover title */\n title?: ReactNode;\n}\n\n/**\n * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)\n */\nexport default ({\n children = null,\n className: _className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n title = undefined,\n}: PopoverProps) => {\n // className from slots\n const variants = popoverVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n return (\n <Popover\n classNames={className}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n showArrow\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <PopoverTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by PopoverTrigger */}\n {/* eslint-disable-next-line react/button-has-type */}\n <button>{children}</button>\n </PopoverTrigger>\n <PopoverContent data-testid={contentTestId}>\n {title && (\n <div className={className.header}>\n {title}\n <hr />\n </div>\n )}\n <ScrollShadow className={className.body}>{content}</ScrollShadow>\n {footer && (\n <div className={className.footer}>\n <hr />\n {footer}\n </div>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"],"mappings":";;;;;AAIA,SAAS,SAAS,gBAAgB,sBAAsB;AAExD,SAAS,IAAI,4BAA4B;AA+EjC,cAIE,YAJF;AA1ED,IAAM,kBAAkB,GAAG;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AACF,CAAC;AAiCD,IAAO,kBAAQ,CAAC;AAAA,EACd,WAAW;AAAA,EACX,WAAW,aAAa;AAAA,EACxB;AAAA,EACA,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,QAAQ;AACV,MAAoB;AAElB,QAAM,WAAW,gBAAgB;AACjC,QAAM,YAAY,qBAAqB,UAAU,YAAY,SAAS;AAEtE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MACP;AAAA,MACA,WAAS;AAAA,MAER,GAAI,iBACD,EAAE,QAAQ,eAAe,MAAM,cAAc,eAAe,QAAQ,IACpE,CAAC;AAAA,MAEL;AAAA,4BAAC,kBAAe,eAAa,QAG3B,8BAAC,YAAQ,UAAS,GACpB;AAAA,QACA,qBAAC,kBAAe,eAAa,eAC1B;AAAA,mBACC,qBAAC,SAAI,WAAW,UAAU,QACvB;AAAA;AAAA,YACD,oBAAC,QAAG;AAAA,aACN;AAAA,UAEF,oBAAC,wBAAa,WAAW,UAAU,MAAO,mBAAQ;AAAA,UACjD,UACC,qBAAC,SAAI,WAAW,UAAU,QACxB;AAAA,gCAAC,QAAG;AAAA,YACH;AAAA,aACH;AAAA,WAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;;;AClGA,IAAOA,mBAAQ;","names":["Popover_default"]}
package/dist/index.cjs CHANGED
@@ -7,7 +7,7 @@ var _chunkMJNISFGXcjs = require('./chunk-MJNISFGX.cjs');
7
7
  var _chunkVAJODF7Zcjs = require('./chunk-VAJODF7Z.cjs');
8
8
 
9
9
 
10
- var _chunkBQJUB6VZcjs = require('./chunk-BQJUB6VZ.cjs');
10
+ var _chunkDARKAVXBcjs = require('./chunk-DARKAVXB.cjs');
11
11
  require('./chunk-UYNMOCDD.cjs');
12
12
 
13
13
 
@@ -20,7 +20,7 @@ var _chunkMWNBYTRNcjs = require('./chunk-MWNBYTRN.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunkJ5XN2HATcjs = require('./chunk-J5XN2HAT.cjs');
23
+ var _chunkJU7O2LCJcjs = require('./chunk-JU7O2LCJ.cjs');
24
24
 
25
25
 
26
26
  var _chunkXWBSCU2Lcjs = require('./chunk-XWBSCU2L.cjs');
@@ -65,5 +65,5 @@ require('./chunk-DZUJEN5N.cjs');
65
65
 
66
66
 
67
67
 
68
- exports.Accordion = _chunkJ5XN2HATcjs.Accordion_default; exports.Avatar = _chunkHVLEV6BGcjs.Avatar_default; exports.AvatarGroup = _chunkXWBSCU2Lcjs.AvatarGroup_default; exports.Badge = _chunkU2JEMXXJcjs.Badge_default; exports.Button = _chunkLOFZNVCNcjs.Button_default; exports.Card = _chunkJPALSO5Ecjs.Card_default; exports.Json = _chunkHZB6EOPGcjs.Json_default; exports.Label = _chunkYTQJ6FZKcjs.Label_default; exports.Menu = _chunkMJNISFGXcjs.Menu_default; exports.Modal = _chunkVAJODF7Zcjs.Modal_default; exports.Popover = _chunkBQJUB6VZcjs.Popover_default; exports.Tooltip = _chunkSOA74MSLcjs.Tooltip_default; exports.accordionVariants = _chunkJ5XN2HATcjs.accordionVariants; exports.buttonVariants = _chunkLOFZNVCNcjs.buttonVariants; exports.cardVariants = _chunkJPALSO5Ecjs.cardVariants; exports.modalVariants = _chunkVAJODF7Zcjs.modalVariants; exports.tooltipPlacementOptions = _chunkSOA74MSLcjs.tooltipPlacementOptions; exports.useDebounce = _chunkMWNBYTRNcjs.useDebounce; exports.useLocalStorage = _chunkMWNBYTRNcjs.useLocalStorage;
68
+ exports.Accordion = _chunkJU7O2LCJcjs.Accordion_default; exports.Avatar = _chunkHVLEV6BGcjs.Avatar_default; exports.AvatarGroup = _chunkXWBSCU2Lcjs.AvatarGroup_default; exports.Badge = _chunkU2JEMXXJcjs.Badge_default; exports.Button = _chunkLOFZNVCNcjs.Button_default; exports.Card = _chunkJPALSO5Ecjs.Card_default; exports.Json = _chunkHZB6EOPGcjs.Json_default; exports.Label = _chunkYTQJ6FZKcjs.Label_default; exports.Menu = _chunkMJNISFGXcjs.Menu_default; exports.Modal = _chunkVAJODF7Zcjs.Modal_default; exports.Popover = _chunkDARKAVXBcjs.Popover_default; exports.Tooltip = _chunkSOA74MSLcjs.Tooltip_default; exports.accordionVariants = _chunkJU7O2LCJcjs.accordionVariants; exports.buttonVariants = _chunkLOFZNVCNcjs.buttonVariants; exports.cardVariants = _chunkJPALSO5Ecjs.cardVariants; exports.modalVariants = _chunkVAJODF7Zcjs.modalVariants; exports.tooltipPlacementOptions = _chunkSOA74MSLcjs.tooltipPlacementOptions; exports.useDebounce = _chunkMWNBYTRNcjs.useDebounce; exports.useLocalStorage = _chunkMWNBYTRNcjs.useLocalStorage;
69
69
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-Drlhs2y_.cjs';
1
+ export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-DkShJasa.cjs';
2
2
  export { A as Avatar, a as AvatarProps } from './Avatar-D9P8JKS3.cjs';
3
3
  export { A as AvatarGroup, a as AvatarGroupProps } from './AvatarGroup--VjSSnOk.cjs';
4
4
  export { A as Badge, B as BadgeProps } from './Badge-2JMThgzp.cjs';
@@ -8,7 +8,7 @@ export { J as Json, a as JsonProps } from './Json-ClGDcbcp.cjs';
8
8
  export { L as Label, a as LabelProps } from './Label-DAK6glI0.cjs';
9
9
  export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.cjs';
10
10
  export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-DZHeIvQc.cjs';
11
- export { _ as Popover, P as PopoverProps } from './Popover-IYjW04NG.cjs';
11
+ export { _ as Popover, P as PopoverProps } from './Popover-DIRJ5iQj.cjs';
12
12
  export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-BuPzZLuE.cjs';
13
13
  export { useDebounce, useLocalStorage } from './hooks/index.cjs';
14
14
  import 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-Drlhs2y_.js';
1
+ export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-DkShJasa.js';
2
2
  export { A as Avatar, a as AvatarProps } from './Avatar-D9P8JKS3.js';
3
3
  export { A as AvatarGroup, a as AvatarGroupProps } from './AvatarGroup-DFiQyyO7.js';
4
4
  export { A as Badge, B as BadgeProps } from './Badge-2JMThgzp.js';
@@ -8,7 +8,7 @@ export { J as Json, a as JsonProps } from './Json-ClGDcbcp.js';
8
8
  export { L as Label, a as LabelProps } from './Label-DAK6glI0.js';
9
9
  export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.js';
10
10
  export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-DZHeIvQc.js';
11
- export { _ as Popover, P as PopoverProps } from './Popover-IYjW04NG.js';
11
+ export { _ as Popover, P as PopoverProps } from './Popover-DIRJ5iQj.js';
12
12
  export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-BuPzZLuE.js';
13
13
  export { useDebounce, useLocalStorage } from './hooks/index.js';
14
14
  import 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-F2SRHLNC.js";
8
8
  import {
9
9
  Popover_default
10
- } from "./chunk-QCPUMTFP.js";
10
+ } from "./chunk-TGIUA5N3.js";
11
11
  import "./chunk-IBB2U3AH.js";
12
12
  import {
13
13
  Tooltip_default,
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  Accordion_default,
22
22
  accordionVariants
23
- } from "./chunk-G5YPY6KS.js";
23
+ } from "./chunk-7SK2BLZJ.js";
24
24
  import {
25
25
  AvatarGroup_default
26
26
  } from "./chunk-6XDNBFGH.js";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fuf-stack/pixels",
3
3
  "description": "fuf core react component library",
4
4
  "author": "Hannes Tiede",
5
- "version": "0.19.0",
5
+ "version": "0.20.0",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.js",
@@ -135,10 +135,10 @@
135
135
  "@uiw/react-json-view": "2.0.0-alpha.26",
136
136
  "react": "18.3.1",
137
137
  "react-dom": "18.3.1",
138
- "@repo/tsup-config": "0.0.1",
139
138
  "@repo/storybook-config": "0.0.1",
140
- "@repo/vite-config": "0.0.1",
141
- "@repo/tailwind-config": "0.0.1"
139
+ "@repo/tailwind-config": "0.0.1",
140
+ "@repo/tsup-config": "0.0.1",
141
+ "@repo/vite-config": "0.0.1"
142
142
  },
143
143
  "scripts": {
144
144
  "build": "tsup --config node_modules/@repo/tsup-config/config.ts --dts-resolve",
@@ -1,37 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { PopoverProps as PopoverProps$1 } from '@nextui-org/popover';
3
- import { ReactNode } from 'react';
4
-
5
- interface PopoverProps {
6
- /** child components */
7
- children?: ReactNode;
8
- /** CSS class name */
9
- className?: string | string[];
10
- /** content of the popover */
11
- content: ReactNode;
12
- /** HTML data-testid attribute used in e2e tests */
13
- contentTestId?: string;
14
- /** popover footer */
15
- footer?: ReactNode;
16
- /** use as controlled component */
17
- openControlled?: {
18
- open: boolean;
19
- setOpen: (open: boolean) => void;
20
- };
21
- /** placement of the popover relative to its trigger reference */
22
- placement?: PopoverProps$1['placement'];
23
- /** The container element in which the overlay portal will be placed. */
24
- portalContainer?: PopoverProps$1['portalContainer'];
25
- /** Whether to block scrolling outside the popover */
26
- shouldBlockScroll?: boolean;
27
- /** HTML data-testid attribute used in e2e tests */
28
- testId?: string;
29
- /** popover title */
30
- title?: ReactNode;
31
- }
32
- /**
33
- * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)
34
- */
35
- declare const _default: ({ children, className, content, contentTestId, footer, openControlled, placement, portalContainer, shouldBlockScroll, testId, title, }: PopoverProps) => react_jsx_runtime.JSX.Element;
36
-
37
- export { type PopoverProps as P, _default as _ };
@@ -1,37 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { PopoverProps as PopoverProps$1 } from '@nextui-org/popover';
3
- import { ReactNode } from 'react';
4
-
5
- interface PopoverProps {
6
- /** child components */
7
- children?: ReactNode;
8
- /** CSS class name */
9
- className?: string | string[];
10
- /** content of the popover */
11
- content: ReactNode;
12
- /** HTML data-testid attribute used in e2e tests */
13
- contentTestId?: string;
14
- /** popover footer */
15
- footer?: ReactNode;
16
- /** use as controlled component */
17
- openControlled?: {
18
- open: boolean;
19
- setOpen: (open: boolean) => void;
20
- };
21
- /** placement of the popover relative to its trigger reference */
22
- placement?: PopoverProps$1['placement'];
23
- /** The container element in which the overlay portal will be placed. */
24
- portalContainer?: PopoverProps$1['portalContainer'];
25
- /** Whether to block scrolling outside the popover */
26
- shouldBlockScroll?: boolean;
27
- /** HTML data-testid attribute used in e2e tests */
28
- testId?: string;
29
- /** popover title */
30
- title?: ReactNode;
31
- }
32
- /**
33
- * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)
34
- */
35
- declare const _default: ({ children, className, content, contentTestId, footer, openControlled, placement, portalContainer, shouldBlockScroll, testId, title, }: PopoverProps) => react_jsx_runtime.JSX.Element;
36
-
37
- export { type PopoverProps as P, _default as _ };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-BQJUB6VZ.cjs","../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA,8CAAwD;AAExD,oDAAmB;AA6DX,+CAAA;AA7BR,IAAO,gBAAA,EAAQ,CAAC;AAAA,EACd,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA;AAAA,EACA,cAAA,EAAgB,KAAA,CAAA;AAAA,EAChB,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,eAAA,EAAiB,KAAA,CAAA;AAAA,EACjB,UAAA,EAAY,KAAA;AAAA,EACZ,gBAAA,EAAkB,KAAA,CAAA;AAAA,EAClB,kBAAA,EAAoB,KAAA,CAAA;AAAA,EACpB,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,MAAA,EAAQ,KAAA;AACV,CAAA,EAAA,GAAoB;AAClB,EAAA,uBACE,8BAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,EAAE,OAAA,EAAS,MAAM,CAAA;AAAA,MAC7B,SAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA,EAAO,IAAA;AAAA,MACP,iBAAA;AAAA,MACA,SAAA,EAAS,IAAA;AAAA,MAER,GAAI,eAAA,EACD,EAAE,MAAA,EAAQ,cAAA,CAAe,IAAA,EAAM,YAAA,EAAc,cAAA,CAAe,QAAQ,EAAA,EACpE,CAAC,CAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAA,6BAAA,uBAAC,EAAA,EAAe,SAAA,EAAW,4BAAA,SAAY,CAAA,EAAG,aAAA,EAAa,MAAA,EAGrD,QAAA,kBAAA,6BAAA,QAAC,EAAA,EAAQ,SAAA,CAAS,EAAA,CACpB,CAAA;AAAA,wBACA,6BAAA,uBAAC,EAAA,EAAe,aAAA,EAAa,aAAA,EAC3B,QAAA,kBAAA,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,4BAAA,EACZ,QAAA,EAAA;AAAA,UAAA,MAAA,mBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,aAAA,EACZ,QAAA,EAAA;AAAA,YAAA,KAAA;AAAA,4BACD,6BAAA,IAAC,EAAA,CAAA,CAAG;AAAA,UAAA,EAAA,CACN,CAAA;AAAA,0BAEF,6BAAA,sCAAC,EAAA,EAAa,SAAA,EAAU,aAAA,EAAe,QAAA,EAAA,QAAA,CAAQ,CAAA;AAAA,UAC9C,OAAA,mBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,4BAAA,6BAAA,IAAC,EAAA,CAAA,CAAG,CAAA;AAAA,YACH;AAAA,UAAA,EAAA,CACH;AAAA,QAAA,EAAA,CAEJ,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;ADvCA;AACA;AE3CA,IAAOA,iBAAAA,EAAQ,eAAA;AF6Cf;AACA;AACE;AACA;AACF,uFAAC","file":"/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-BQJUB6VZ.cjs","sourcesContent":[null,"import type { PopoverProps as NextPopoverProps } from '@nextui-org/popover';\nimport type { ReactNode } from 'react';\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@nextui-org/popover';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\nexport interface PopoverProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the popover */\n content: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n contentTestId?: string;\n /** popover footer */\n footer?: ReactNode;\n /** use as controlled component */\n openControlled?: { open: boolean; setOpen: (open: boolean) => void };\n /** placement of the popover relative to its trigger reference */\n placement?: NextPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: NextPopoverProps['portalContainer'];\n /** Whether to block scrolling outside the popover */\n shouldBlockScroll?: boolean;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** popover title */\n title?: ReactNode;\n}\n\n/**\n * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)\n */\nexport default ({\n children = null,\n className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n title = undefined,\n}: PopoverProps) => {\n return (\n <Popover\n classNames={{ content: 'p-0' }}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n showArrow\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <PopoverTrigger className={cn(className)} data-testid={testId}>\n {/* NOTE: type and aria properties are injected by PopoverTrigger */}\n {/* eslint-disable-next-line react/button-has-type */}\n <button>{children}</button>\n </PopoverTrigger>\n <PopoverContent data-testid={contentTestId}>\n <div className=\"flex max-h-[80vh] flex-col\">\n {title && (\n <div className=\"px-2.5 py-1\">\n {title}\n <hr />\n </div>\n )}\n <ScrollShadow className=\"px-2.5 py-1\">{content}</ScrollShadow>\n {footer && (\n <div className=\"px-2.5 py-1\">\n <hr />\n {footer}\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: 'px-4',\n heading: 'px-4',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: 'px-0',\n },\n variants: {\n indicatorLeft: {\n true: {\n content: 'pl-7',\n indicator: '-rotate-180 data-[open=true]:-rotate-90',\n trigger: 'flex-row-reverse',\n },\n },\n showDivider: {\n true: {\n wrapper: 'divide-y divide-solid divide-divider',\n },\n },\n },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className: _className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({\n indicatorLeft,\n showDivider: showDivider && variant !== 'splitted',\n });\n const classNames = variantsToClassNames(variants, _className, 'wrapper');\n\n return (\n <NextAccordion\n className={classNames.wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={classNames}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={false}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"],"mappings":";AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAEP,SAAS,IAAI,4BAA4B;AAkHjC;AA9GD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,QACJ,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AA8CD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,WAAW,aAAa;AAAA,EACxB,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB;AAAA,IACjC;AAAA,IACA,aAAa,eAAe,YAAY;AAAA,EAC1C,CAAC;AACD,QAAM,aAAa,qBAAqB,UAAU,YAAY,SAAS;AAEvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;ACjIf,IAAOA,qBAAQ;","names":["Accordion_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-J5XN2HAT.cjs","../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":"AAAA;ACIA;AACE;AACA;AAAiB,kDACZ;AAEP,oDAAyC;AAkHjC,+CAAA;AA9GD,IAAM,kBAAA,EAAoB,4BAAA;AAAG,EAClC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,EAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,OAAA,EAAS,MAAA;AAAA,IACT,SAAA,EAAW,EAAA;AAAA,IACX,YAAA,EAAc,EAAA;AAAA,IACd,QAAA,EAAU,EAAA;AAAA,IACV,KAAA,EAAO,EAAA;AAAA,IACP,YAAA,EAAc,EAAA;AAAA,IACd,OAAA,EAAS,EAAA;AAAA;AAAA,IAET,OAAA,EAAS;AAAA,EACX,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,aAAA,EAAe;AAAA,MACb,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,MAAA;AAAA,QACT,SAAA,EAAW,yCAAA;AAAA,QACX,OAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC,CAAA;AA8CD,IAAM,UAAA,EAAY,CAAC;AAAA,EACjB,eAAA,EAAiB,CAAC,CAAA;AAAA,EAClB,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,oBAAA,EAAsB,CAAC,CAAA;AAAA,EACvB,SAAA,EAAW,KAAA;AAAA,EACX,aAAA,EAAe,CAAC,CAAA;AAAA,EAChB,uBAAA,EAAyB,KAAA;AAAA,EACzB,aAAA,EAAe,CAAC,CAAA;AAAA,EAChB,cAAA,EAAgB,KAAA;AAAA,EAChB,kBAAA,EAAoB,KAAA,CAAA;AAAA,EACpB,cAAA,EAAgB,UAAA;AAAA,EAChB,YAAA,EAAc,IAAA;AAAA,EACd,QAAA,EAAU;AACZ,CAAA,EAAA,GAAsB;AAEpB,EAAA,MAAM,SAAA,EAAW,iBAAA,CAAkB;AAAA,IACjC,aAAA;AAAA,IACA,WAAA,EAAa,YAAA,GAAe,QAAA,IAAY;AAAA,EAC1C,CAAC,CAAA;AACD,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,UAAA,EAAY,SAAS,CAAA;AAEvE,EAAA,uBACE,6BAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,UAAA,CAAW,OAAA;AAAA,MACtB,mBAAA;AAAA,MACA,YAAA;AAAA,MACA,sBAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAa,UAAA;AAAA,MACb,iBAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA,EAAa,KAAA;AAAA,MACb,OAAA;AAAA,MAEC,QAAA,EAAA,cAAA,CAAe,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,EAAA,mBACzB,6BAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UAGC,UAAA,EAAY,SAAA,mBAAY,IAAA,2BAAM,UAAA;AAAA,UAE7B,GAAG;AAAA,QAAA,CAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,kBAAA,EAAQ,SAAA;ADtDf;AACA;AE5EA,IAAOA,mBAAAA,EAAQ,iBAAA;AF8Ef;AACA;AACE;AACA;AACA;AACF,8IAAC","file":"/home/runner/work/uniform/uniform/packages/pixels/dist/chunk-J5XN2HAT.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: 'px-4',\n heading: 'px-4',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: 'px-0',\n },\n variants: {\n indicatorLeft: {\n true: {\n content: 'pl-7',\n indicator: '-rotate-180 data-[open=true]:-rotate-90',\n trigger: 'flex-row-reverse',\n },\n },\n showDivider: {\n true: {\n wrapper: 'divide-y divide-solid divide-divider',\n },\n },\n },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className: _className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({\n indicatorLeft,\n showDivider: showDivider && variant !== 'splitted',\n });\n const classNames = variantsToClassNames(variants, _className, 'wrapper');\n\n return (\n <NextAccordion\n className={classNames.wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={classNames}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={false}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Popover/Popover.tsx","../src/Popover/index.ts"],"sourcesContent":["import type { PopoverProps as NextPopoverProps } from '@nextui-org/popover';\nimport type { ReactNode } from 'react';\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@nextui-org/popover';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\nexport interface PopoverProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the popover */\n content: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n contentTestId?: string;\n /** popover footer */\n footer?: ReactNode;\n /** use as controlled component */\n openControlled?: { open: boolean; setOpen: (open: boolean) => void };\n /** placement of the popover relative to its trigger reference */\n placement?: NextPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: NextPopoverProps['portalContainer'];\n /** Whether to block scrolling outside the popover */\n shouldBlockScroll?: boolean;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** popover title */\n title?: ReactNode;\n}\n\n/**\n * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)\n */\nexport default ({\n children = null,\n className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n title = undefined,\n}: PopoverProps) => {\n return (\n <Popover\n classNames={{ content: 'p-0' }}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n showArrow\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <PopoverTrigger className={cn(className)} data-testid={testId}>\n {/* NOTE: type and aria properties are injected by PopoverTrigger */}\n {/* eslint-disable-next-line react/button-has-type */}\n <button>{children}</button>\n </PopoverTrigger>\n <PopoverContent data-testid={contentTestId}>\n <div className=\"flex max-h-[80vh] flex-col\">\n {title && (\n <div className=\"px-2.5 py-1\">\n {title}\n <hr />\n </div>\n )}\n <ScrollShadow className=\"px-2.5 py-1\">{content}</ScrollShadow>\n {footer && (\n <div className=\"px-2.5 py-1\">\n <hr />\n {footer}\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"],"mappings":";;;;;AAGA,SAAS,SAAS,gBAAgB,sBAAsB;AAExD,SAAS,UAAU;AA6DX,cAKI,YALJ;AA7BR,IAAO,kBAAQ,CAAC;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,QAAQ;AACV,MAAoB;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAY,EAAE,SAAS,MAAM;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MACP;AAAA,MACA,WAAS;AAAA,MAER,GAAI,iBACD,EAAE,QAAQ,eAAe,MAAM,cAAc,eAAe,QAAQ,IACpE,CAAC;AAAA,MAEL;AAAA,4BAAC,kBAAe,WAAW,GAAG,SAAS,GAAG,eAAa,QAGrD,8BAAC,YAAQ,UAAS,GACpB;AAAA,QACA,oBAAC,kBAAe,eAAa,eAC3B,+BAAC,SAAI,WAAU,8BACZ;AAAA,mBACC,qBAAC,SAAI,WAAU,eACZ;AAAA;AAAA,YACD,oBAAC,QAAG;AAAA,aACN;AAAA,UAEF,oBAAC,wBAAa,WAAU,eAAe,mBAAQ;AAAA,UAC9C,UACC,qBAAC,SAAI,WAAU,eACb;AAAA,gCAAC,QAAG;AAAA,YACH;AAAA,aACH;AAAA,WAEJ,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;ACjFA,IAAOA,mBAAQ;","names":["Popover_default"]}