@fuf-stack/pixels 0.29.2 → 0.30.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.
Files changed (106) hide show
  1. package/dist/Accordion/index.cjs +3 -3
  2. package/dist/Accordion/index.js +2 -2
  3. package/dist/Avatar/index.cjs +1 -1
  4. package/dist/Avatar/index.js +1 -1
  5. package/dist/AvatarGroup/index.cjs +3 -3
  6. package/dist/AvatarGroup/index.js +2 -2
  7. package/dist/Badge/index.cjs +1 -1
  8. package/dist/Badge/index.js +1 -1
  9. package/dist/Breadcrumb/index.cjs +3 -3
  10. package/dist/Breadcrumb/index.js +2 -2
  11. package/dist/Button/index.cjs +1 -1
  12. package/dist/Button/index.js +1 -1
  13. package/dist/Card/index.cjs +3 -3
  14. package/dist/Card/index.js +2 -2
  15. package/dist/Json/index.cjs +3 -3
  16. package/dist/Json/index.d.cts +3 -2
  17. package/dist/Json/index.d.ts +3 -2
  18. package/dist/Json/index.js +2 -2
  19. package/dist/Json-DZue23GO.d.cts +24 -0
  20. package/dist/Json-DZue23GO.d.ts +24 -0
  21. package/dist/Label/index.cjs +1 -1
  22. package/dist/Label/index.js +1 -1
  23. package/dist/Menu/index.cjs +3 -3
  24. package/dist/Menu/index.js +2 -2
  25. package/dist/Modal/index.cjs +3 -3
  26. package/dist/Modal/index.d.cts +3 -2
  27. package/dist/Modal/index.d.ts +3 -2
  28. package/dist/Modal/index.js +2 -2
  29. package/dist/{Modal-DZHeIvQc.d.cts → Modal-CSOPzGYj.d.cts} +6 -1
  30. package/dist/{Modal-DZHeIvQc.d.ts → Modal-CSOPzGYj.d.ts} +6 -1
  31. package/dist/Popover/index.cjs +4 -4
  32. package/dist/Popover/index.js +3 -3
  33. package/dist/ScrollShadow/index.cjs +4 -4
  34. package/dist/ScrollShadow/index.js +2 -2
  35. package/dist/Table/index.cjs +112 -0
  36. package/dist/Table/index.cjs.map +1 -0
  37. package/dist/Table/index.d.cts +244 -0
  38. package/dist/Table/index.d.ts +244 -0
  39. package/dist/Table/index.js +112 -0
  40. package/dist/Table/index.js.map +1 -0
  41. package/dist/Tabs/index.cjs +1 -1
  42. package/dist/Tabs/index.js +1 -1
  43. package/dist/Tooltip/index.cjs +1 -1
  44. package/dist/Tooltip/index.js +1 -1
  45. package/dist/{chunk-Y3SLMQYA.cjs → chunk-2WDAJ6ER.cjs} +11 -7
  46. package/dist/chunk-2WDAJ6ER.cjs.map +1 -0
  47. package/dist/{chunk-EIOL2HNA.js → chunk-33DBA7U2.js} +8 -5
  48. package/dist/{chunk-EIOL2HNA.js.map → chunk-33DBA7U2.js.map} +1 -1
  49. package/dist/{chunk-VU64Z744.js → chunk-3QI2ODV2.js} +10 -6
  50. package/dist/{chunk-VU64Z744.js.map → chunk-3QI2ODV2.js.map} +1 -1
  51. package/dist/{chunk-L2RCVUXK.js → chunk-7LABJBKF.js} +2 -2
  52. package/dist/{chunk-L2RCVUXK.js.map → chunk-7LABJBKF.js.map} +1 -1
  53. package/dist/{chunk-OP6ST4KB.cjs → chunk-7XJHVFT3.cjs} +16 -14
  54. package/dist/chunk-7XJHVFT3.cjs.map +1 -0
  55. package/dist/{chunk-JPALSO5E.cjs → chunk-AVYWDZ7X.cjs} +8 -4
  56. package/dist/chunk-AVYWDZ7X.cjs.map +1 -0
  57. package/dist/{chunk-BAPBIOOG.js → chunk-BUWMLU3E.js} +2 -2
  58. package/dist/{chunk-BAPBIOOG.js.map → chunk-BUWMLU3E.js.map} +1 -1
  59. package/dist/{chunk-D5HC5WLB.cjs → chunk-BXPBP3PC.cjs} +2 -2
  60. package/dist/{chunk-D5HC5WLB.cjs.map → chunk-BXPBP3PC.cjs.map} +1 -1
  61. package/dist/{chunk-F2SRHLNC.js → chunk-CQW46JPO.js} +5 -1
  62. package/dist/chunk-CQW46JPO.js.map +1 -0
  63. package/dist/{chunk-APEDJG3R.js → chunk-CZJKT7IC.js} +7 -3
  64. package/dist/{chunk-APEDJG3R.js.map → chunk-CZJKT7IC.js.map} +1 -1
  65. package/dist/chunk-D4TLDLEX.cjs +63 -0
  66. package/dist/chunk-D4TLDLEX.cjs.map +1 -0
  67. package/dist/{chunk-5WRI5ZAA.js → chunk-J7N2552D.js} +33 -1
  68. package/dist/{chunk-C2BIHVLT.js → chunk-LCSYN3DI.js} +180 -96
  69. package/dist/chunk-LCSYN3DI.js.map +1 -0
  70. package/dist/{chunk-RMLPCTDU.js → chunk-LPCCBJ2T.js} +8 -5
  71. package/dist/{chunk-RMLPCTDU.js.map → chunk-LPCCBJ2T.js.map} +1 -1
  72. package/dist/{chunk-5HEZFVFG.cjs → chunk-LY45VQ2E.cjs} +3 -3
  73. package/dist/chunk-LY45VQ2E.cjs.map +1 -0
  74. package/dist/{chunk-RJAVAHBK.cjs → chunk-NVNT4PMS.cjs} +9 -6
  75. package/dist/chunk-NVNT4PMS.cjs.map +1 -0
  76. package/dist/{chunk-XFUHF75Z.cjs → chunk-OLKLIWBE.cjs} +213 -129
  77. package/dist/chunk-OLKLIWBE.cjs.map +1 -0
  78. package/dist/{chunk-VAJODF7Z.cjs → chunk-VG5A2YZE.cjs} +5 -1
  79. package/dist/chunk-VG5A2YZE.cjs.map +1 -0
  80. package/dist/{chunk-337S7HUF.js → chunk-XVCKJE3P.js} +14 -12
  81. package/dist/{chunk-337S7HUF.js.map → chunk-XVCKJE3P.js.map} +1 -1
  82. package/dist/{chunk-VHEIRVBB.cjs → chunk-ZXGEK67F.cjs} +9 -6
  83. package/dist/chunk-ZXGEK67F.cjs.map +1 -0
  84. package/dist/hooks/index.cjs +1 -1
  85. package/dist/hooks/index.js +1 -1
  86. package/dist/index.cjs +16 -16
  87. package/dist/index.cjs.map +1 -1
  88. package/dist/index.d.cts +3 -2
  89. package/dist/index.d.ts +3 -2
  90. package/dist/index.js +17 -17
  91. package/package.json +27 -21
  92. package/dist/Json-BbMeuEvE.d.cts +0 -18
  93. package/dist/Json-BbMeuEvE.d.ts +0 -18
  94. package/dist/chunk-5HEZFVFG.cjs.map +0 -1
  95. package/dist/chunk-C2BIHVLT.js.map +0 -1
  96. package/dist/chunk-DZUJEN5N.cjs +0 -31
  97. package/dist/chunk-DZUJEN5N.cjs.map +0 -1
  98. package/dist/chunk-F2SRHLNC.js.map +0 -1
  99. package/dist/chunk-JPALSO5E.cjs.map +0 -1
  100. package/dist/chunk-OP6ST4KB.cjs.map +0 -1
  101. package/dist/chunk-RJAVAHBK.cjs.map +0 -1
  102. package/dist/chunk-VAJODF7Z.cjs.map +0 -1
  103. package/dist/chunk-VHEIRVBB.cjs.map +0 -1
  104. package/dist/chunk-XFUHF75Z.cjs.map +0 -1
  105. package/dist/chunk-Y3SLMQYA.cjs.map +0 -1
  106. /package/dist/{chunk-5WRI5ZAA.js.map → chunk-J7N2552D.js.map} +0 -0
@@ -1,6 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkD5HC5WLBcjs = require('./chunk-D5HC5WLB.cjs');
3
+ var _chunkBXPBP3PCcjs = require('./chunk-BXPBP3PC.cjs');
4
+
5
+
6
+
7
+ var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
4
8
 
5
9
  // src/Popover/Popover.tsx
6
10
  var _popover = require('@nextui-org/popover');
@@ -32,14 +36,14 @@ var Popover_default = ({
32
36
  const className = _pixelutils.variantsToClassNames.call(void 0, variants, _className, "trigger");
33
37
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34
38
  _popover.Popover,
35
- {
39
+ _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
36
40
  classNames: className,
37
41
  placement,
38
42
  portalContainer,
39
43
  radius: "sm",
40
44
  shouldBlockScroll,
41
- showArrow: true,
42
- ...openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {},
45
+ showArrow: true
46
+ }, openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {}), {
43
47
  children: [
44
48
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _popover.PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { children }) }),
45
49
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _popover.PopoverContent, { "data-testid": contentTestId, children: [
@@ -47,14 +51,14 @@ var Popover_default = ({
47
51
  title,
48
52
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", {})
49
53
  ] }),
50
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkD5HC5WLBcjs.ScrollShadow_default, { className: className.body, children: content }),
54
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBXPBP3PCcjs.ScrollShadow_default, { className: className.body, children: content }),
51
55
  footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: className.footer, children: [
52
56
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", {}),
53
57
  footer
54
58
  ] })
55
59
  ] })
56
60
  ]
57
- }
61
+ })
58
62
  );
59
63
  };
60
64
 
@@ -65,4 +69,4 @@ var Popover_default2 = Popover_default;
65
69
 
66
70
 
67
71
  exports.Popover_default = Popover_default; exports.Popover_default2 = Popover_default2;
68
- //# sourceMappingURL=chunk-Y3SLMQYA.cjs.map
72
+ //# sourceMappingURL=chunk-2WDAJ6ER.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-2WDAJ6ER.cjs","../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACJA,8CAAwD;AAExD,oDAAyC;AA+EjC,+CAAA;AA1ED,IAAM,gBAAA,EAAkB,4BAAA;AAAG,EAChC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,gCAAA;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,6CAAA,8CAAA;AAAA,MACC,UAAA,EAAY,SAAA;AAAA,MACZ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA,EAAO,IAAA;AAAA,MACP,iBAAA;AAAA,MACA,SAAA,EAAS;AAAA,IAAA,CAAA,EAEJ,eAAA,EACD,EAAE,MAAA,EAAQ,cAAA,CAAe,IAAA,EAAM,YAAA,EAAc,cAAA,CAAe,QAAQ,EAAA,EACpE,CAAC,CAAA,CAAA,EAVN;AAAA,MAYC,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,CAAA;AAAA,EACF,CAAA;AAEJ,CAAA;ADzCA;AACA;AE1DA,IAAOA,iBAAAA,EAAQ,eAAA;AF4Df;AACA;AACE;AACA;AACF,uFAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-2WDAJ6ER.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] 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"]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ __spreadValues
3
+ } from "./chunk-J7N2552D.js";
4
+
1
5
  // src/Accordion/Accordion.tsx
2
6
  import {
3
7
  Accordion as NextAccordion,
@@ -77,10 +81,9 @@ var Accordion = ({
77
81
  variant,
78
82
  children: accordionItems.map((item, index) => /* @__PURE__ */ jsx(
79
83
  NextAccordionItem,
80
- {
81
- isDisabled: disabled || item?.disabled,
82
- ...item
83
- },
84
+ __spreadValues({
85
+ isDisabled: disabled || (item == null ? void 0 : item.disabled)
86
+ }, item),
84
87
  index
85
88
  ))
86
89
  }
@@ -96,4 +99,4 @@ export {
96
99
  Accordion_default,
97
100
  Accordion_default2
98
101
  };
99
- //# sourceMappingURL=chunk-EIOL2HNA.js.map
102
+ //# sourceMappingURL=chunk-33DBA7U2.js.map
@@ -1 +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 /** Selected keys (controlled) */\n selectedKeys?: undefined | 'all' | Iterable<number | string>;\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 selectedKeys = 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 selectedKeys={selectedKeys}\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;AA4HjC;AAxHD,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;AAgDD,IAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA,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,eAAe;AAAA,EACf,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,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;;;AC3If,IAAOA,qBAAQ;","names":["Accordion_default"]}
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 /** Selected keys (controlled) */\n selectedKeys?: undefined | 'all' | Iterable<number | string>;\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 selectedKeys = 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 selectedKeys={selectedKeys}\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;AA4HjC;AAxHD,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;AAgDD,IAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA,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,eAAe;AAAA,EACf,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,MACA,aAAa;AAAA,MACb;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,aAAY,6BAAM;AAAA,WAE1B;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;AC3If,IAAOA,qBAAQ;","names":["Accordion_default"]}
@@ -1,6 +1,10 @@
1
1
  import {
2
2
  ScrollShadow_default
3
- } from "./chunk-BAPBIOOG.js";
3
+ } from "./chunk-BUWMLU3E.js";
4
+ import {
5
+ __spreadProps,
6
+ __spreadValues
7
+ } from "./chunk-J7N2552D.js";
4
8
 
5
9
  // src/Popover/Popover.tsx
6
10
  import { Popover, PopoverContent, PopoverTrigger } from "@nextui-org/popover";
@@ -32,14 +36,14 @@ var Popover_default = ({
32
36
  const className = variantsToClassNames(variants, _className, "trigger");
33
37
  return /* @__PURE__ */ jsxs(
34
38
  Popover,
35
- {
39
+ __spreadProps(__spreadValues({
36
40
  classNames: className,
37
41
  placement,
38
42
  portalContainer,
39
43
  radius: "sm",
40
44
  shouldBlockScroll,
41
- showArrow: true,
42
- ...openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {},
45
+ showArrow: true
46
+ }, openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {}), {
43
47
  children: [
44
48
  /* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsx("button", { children }) }),
45
49
  /* @__PURE__ */ jsxs(PopoverContent, { "data-testid": contentTestId, children: [
@@ -54,7 +58,7 @@ var Popover_default = ({
54
58
  ] })
55
59
  ] })
56
60
  ]
57
- }
61
+ })
58
62
  );
59
63
  };
60
64
 
@@ -65,4 +69,4 @@ export {
65
69
  Popover_default,
66
70
  Popover_default2
67
71
  };
68
- //# sourceMappingURL=chunk-VU64Z744.js.map
72
+ //# sourceMappingURL=chunk-3QI2ODV2.js.map
@@ -1 +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] 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"]}
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] 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,OAEJ,iBACD,EAAE,QAAQ,eAAe,MAAM,cAAc,eAAe,QAAQ,IACpE,CAAC,IAVN;AAAA,MAYC;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"]}
@@ -11,7 +11,7 @@ import {
11
11
  import { cn } from "@fuf-stack/pixel-utils";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  var getDisabledKeys = (items) => {
14
- return items.map((item) => typeof item?.items === "undefined" ? item : item.items).flat().filter((item) => {
14
+ return items.map((item) => typeof (item == null ? void 0 : item.items) === "undefined" ? item : item.items).flat().filter((item) => {
15
15
  return Object.hasOwn(item, "disabled") && item.disabled === true;
16
16
  }).map((item) => item.key);
17
17
  };
@@ -78,4 +78,4 @@ export {
78
78
  Menu_default,
79
79
  Menu_default2
80
80
  };
81
- //# sourceMappingURL=chunk-L2RCVUXK.js.map
81
+ //# sourceMappingURL=chunk-7LABJBKF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Menu/Menu.tsx","../src/Menu/index.ts"],"sourcesContent":["import type { DropdownSectionProps } from '@nextui-org/dropdown';\nimport type { Key, MouseEventHandler, ReactNode } from 'react';\n\nimport { FaEllipsisVertical } from 'react-icons/fa6';\n\nimport { Button } from '@nextui-org/button';\nimport {\n Dropdown as NextDropdown,\n DropdownItem as NextDropdownItem,\n DropdownMenu as NextDropdownMenu,\n DropdownSection as NextDropdownSection,\n DropdownTrigger as NextDropdownTrigger,\n} from '@nextui-org/dropdown';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\n/**\n * Menu item type\n */\nexport interface MenuItem {\n /** unique identifier */\n key: string;\n /** CSS class name */\n className?: string;\n /** additional description shown under the label */\n description?: string;\n /** disables the menu item */\n disabled?: boolean;\n /** menu item icon */\n icon?: ReactNode;\n /** menu item name */\n label: ReactNode;\n /** click event handler */\n onClick?: MouseEventHandler<HTMLLIElement>;\n /** e2e test identifier */\n testId?: string;\n}\n\n/**\n * Menu section type\n */\nexport interface MenuSection {\n /** unique identifier */\n key: string;\n /** section label */\n label: ReactNode;\n /** section items (array of MenuItem) */\n items: MenuItem[];\n}\n\nexport interface MenuProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** called if item is selected */\n onAction?: (key: Key) => void;\n}\n\n/** returns String[] of disabled items/keys */\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]) => {\n return (\n items\n // @ts-expect-error typing issue with MenuSection | MenuItem\n .map((item) => (typeof item?.items === 'undefined' ? item : item.items))\n .flat<MenuItem[]>()\n .filter((item) => {\n return Object.hasOwn(item, 'disabled') && item.disabled === true;\n })\n .map((item) => item.key)\n );\n};\n\nconst renderMenuItem = (item: MenuItem) => (\n <NextDropdownItem\n className={item.className}\n data-testid={item.testId || item.key}\n description={item.description}\n key={item.key}\n onClick={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </NextDropdownItem>\n);\n\n/**\n * Dropdown menu component based on [NextUI Dropdown](https://nextui.org/docs/components/dropdown)\n */\nconst Menu = ({\n children = null,\n className = undefined,\n onAction = undefined,\n testId = undefined,\n isDisabled = false,\n items,\n}: MenuProps) => {\n return (\n <NextDropdown isDisabled={isDisabled}>\n <NextDropdownTrigger className={cn(className)} data-testid={testId}>\n {children ? (\n // eslint-disable-next-line react/button-has-type\n <button>{children}</button>\n ) : (\n // INFO: we use next button here so that ref passing works\n <Button size=\"sm\" variant=\"flat\" className=\"min-w-0\">\n <FaEllipsisVertical />\n </Button>\n )}\n </NextDropdownTrigger>\n <NextDropdownMenu\n // aria-label=\"Dynamic Actions\"\n items={items}\n disabledKeys={getDisabledKeys(items)}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <NextDropdownSection\n items={item.items as MenuSection['items']}\n title={item.label as DropdownSectionProps['title']}\n key={item.key}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem);\n }}\n </NextDropdownSection>\n );\n }\n return renderMenuItem(item);\n }}\n </NextDropdownMenu>\n </NextDropdown>\n );\n};\n\nexport default Menu;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"],"mappings":";AAGA,SAAS,0BAA0B;AAEnC,SAAS,cAAc;AACvB;AAAA,EACE,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,OACd;AAEP,SAAS,UAAU;AAkEjB,cAwBE,YAxBF;AAdF,IAAM,kBAAkB,CAAC,UAAsC;AAC7D,SACE,MAEG,IAAI,CAAC,SAAU,OAAO,MAAM,UAAU,cAAc,OAAO,KAAK,KAAM,EACtE,KAAiB,EACjB,OAAO,CAAC,SAAS;AAChB,WAAO,OAAO,OAAO,MAAM,UAAU,KAAK,KAAK,aAAa;AAAA,EAC9D,CAAC,EACA,IAAI,CAAC,SAAS,KAAK,GAAG;AAE7B;AAEA,IAAM,iBAAiB,CAAC,SACtB;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,KAAK;AAAA,IAChB,eAAa,KAAK,UAAU,KAAK;AAAA,IACjC,aAAa,KAAK;AAAA,IAElB,SAAS,KAAK;AAAA,IACd,cAAc,KAAK;AAAA,IAElB,eAAK;AAAA;AAAA,EAJD,KAAK;AAKZ;AAMF,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb;AACF,MAAiB;AACf,SACE,qBAAC,gBAAa,YACZ;AAAA,wBAAC,uBAAoB,WAAW,GAAG,SAAS,GAAG,eAAa,QACzD;AAAA;AAAA,MAEC,oBAAC,YAAQ,UAAS;AAAA;AAAA;AAAA,MAGlB,oBAAC,UAAO,MAAK,MAAK,SAAQ,QAAO,WAAU,WACzC,8BAAC,sBAAmB,GACtB;AAAA,OAEJ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QAEC;AAAA,QACA,cAAc,gBAAgB,KAAK;AAAA,QACnC;AAAA,QAEC,WAAC,SAAS;AACT,cAAI,WAAW,MAAM;AACnB,mBACE;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO,KAAK;AAAA,gBACZ,OAAO,KAAK;AAAA,gBAGX,WAAC,gBAAgB;AAChB,yBAAO,eAAe,WAAW;AAAA,gBACnC;AAAA;AAAA,cAJK,KAAK;AAAA,YAKZ;AAAA,UAEJ;AACA,iBAAO,eAAe,IAAI;AAAA,QAC5B;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEA,IAAO,eAAQ;;;ACzIf,IAAOA,gBAAQ;","names":["Menu_default"]}
1
+ {"version":3,"sources":["../src/Menu/Menu.tsx","../src/Menu/index.ts"],"sourcesContent":["import type { DropdownSectionProps } from '@nextui-org/dropdown';\nimport type { Key, MouseEventHandler, ReactNode } from 'react';\n\nimport { FaEllipsisVertical } from 'react-icons/fa6';\n\nimport { Button } from '@nextui-org/button';\nimport {\n Dropdown as NextDropdown,\n DropdownItem as NextDropdownItem,\n DropdownMenu as NextDropdownMenu,\n DropdownSection as NextDropdownSection,\n DropdownTrigger as NextDropdownTrigger,\n} from '@nextui-org/dropdown';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\n/**\n * Menu item type\n */\nexport interface MenuItem {\n /** unique identifier */\n key: string;\n /** CSS class name */\n className?: string;\n /** additional description shown under the label */\n description?: string;\n /** disables the menu item */\n disabled?: boolean;\n /** menu item icon */\n icon?: ReactNode;\n /** menu item name */\n label: ReactNode;\n /** click event handler */\n onClick?: MouseEventHandler<HTMLLIElement>;\n /** e2e test identifier */\n testId?: string;\n}\n\n/**\n * Menu section type\n */\nexport interface MenuSection {\n /** unique identifier */\n key: string;\n /** section label */\n label: ReactNode;\n /** section items (array of MenuItem) */\n items: MenuItem[];\n}\n\nexport interface MenuProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** called if item is selected */\n onAction?: (key: Key) => void;\n}\n\n/** returns String[] of disabled items/keys */\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]) => {\n return (\n items\n // @ts-expect-error typing issue with MenuSection | MenuItem\n .map((item) => (typeof item?.items === 'undefined' ? item : item.items))\n .flat<MenuItem[]>()\n .filter((item) => {\n return Object.hasOwn(item, 'disabled') && item.disabled === true;\n })\n .map((item) => item.key)\n );\n};\n\nconst renderMenuItem = (item: MenuItem) => (\n <NextDropdownItem\n className={item.className}\n data-testid={item.testId || item.key}\n description={item.description}\n key={item.key}\n onClick={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </NextDropdownItem>\n);\n\n/**\n * Dropdown menu component based on [NextUI Dropdown](https://nextui.org/docs/components/dropdown)\n */\nconst Menu = ({\n children = null,\n className = undefined,\n onAction = undefined,\n testId = undefined,\n isDisabled = false,\n items,\n}: MenuProps) => {\n return (\n <NextDropdown isDisabled={isDisabled}>\n <NextDropdownTrigger className={cn(className)} data-testid={testId}>\n {children ? (\n // eslint-disable-next-line react/button-has-type\n <button>{children}</button>\n ) : (\n // INFO: we use next button here so that ref passing works\n <Button size=\"sm\" variant=\"flat\" className=\"min-w-0\">\n <FaEllipsisVertical />\n </Button>\n )}\n </NextDropdownTrigger>\n <NextDropdownMenu\n // aria-label=\"Dynamic Actions\"\n items={items}\n disabledKeys={getDisabledKeys(items)}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <NextDropdownSection\n items={item.items as MenuSection['items']}\n title={item.label as DropdownSectionProps['title']}\n key={item.key}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem);\n }}\n </NextDropdownSection>\n );\n }\n return renderMenuItem(item);\n }}\n </NextDropdownMenu>\n </NextDropdown>\n );\n};\n\nexport default Menu;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"],"mappings":";AAGA,SAAS,0BAA0B;AAEnC,SAAS,cAAc;AACvB;AAAA,EACE,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,OACd;AAEP,SAAS,UAAU;AAkEjB,cAwBE,YAxBF;AAdF,IAAM,kBAAkB,CAAC,UAAsC;AAC7D,SACE,MAEG,IAAI,CAAC,SAAU,QAAO,6BAAM,WAAU,cAAc,OAAO,KAAK,KAAM,EACtE,KAAiB,EACjB,OAAO,CAAC,SAAS;AAChB,WAAO,OAAO,OAAO,MAAM,UAAU,KAAK,KAAK,aAAa;AAAA,EAC9D,CAAC,EACA,IAAI,CAAC,SAAS,KAAK,GAAG;AAE7B;AAEA,IAAM,iBAAiB,CAAC,SACtB;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,KAAK;AAAA,IAChB,eAAa,KAAK,UAAU,KAAK;AAAA,IACjC,aAAa,KAAK;AAAA,IAElB,SAAS,KAAK;AAAA,IACd,cAAc,KAAK;AAAA,IAElB,eAAK;AAAA;AAAA,EAJD,KAAK;AAKZ;AAMF,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb;AACF,MAAiB;AACf,SACE,qBAAC,gBAAa,YACZ;AAAA,wBAAC,uBAAoB,WAAW,GAAG,SAAS,GAAG,eAAa,QACzD;AAAA;AAAA,MAEC,oBAAC,YAAQ,UAAS;AAAA;AAAA;AAAA,MAGlB,oBAAC,UAAO,MAAK,MAAK,SAAQ,QAAO,WAAU,WACzC,8BAAC,sBAAmB,GACtB;AAAA,OAEJ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QAEC;AAAA,QACA,cAAc,gBAAgB,KAAK;AAAA,QACnC;AAAA,QAEC,WAAC,SAAS;AACT,cAAI,WAAW,MAAM;AACnB,mBACE;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO,KAAK;AAAA,gBACZ,OAAO,KAAK;AAAA,gBAGX,WAAC,gBAAgB;AAChB,yBAAO,eAAe,WAAW;AAAA,gBACnC;AAAA;AAAA,cAJK,KAAK;AAAA,YAKZ;AAAA,UAEJ;AACA,iBAAO,eAAe,IAAI;AAAA,QAC5B;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEA,IAAO,eAAQ;;;ACzIf,IAAOA,gBAAQ;","names":["Menu_default"]}
@@ -1,7 +1,11 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
  var _chunkHVLEV6BGcjs = require('./chunk-HVLEV6BG.cjs');
4
4
 
5
+
6
+
7
+ var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
8
+
5
9
  // src/AvatarGroup/AvatarGroup.tsx
6
10
  var _avatar = require('@nextui-org/avatar');
7
11
  var _jsxruntime = require('react/jsx-runtime');
@@ -24,32 +28,30 @@ var AvatarGroup = ({
24
28
  isDisabled: disabled,
25
29
  radius: rounded,
26
30
  size,
27
- children: _optionalChain([avatars, 'optionalAccess', _ => _.map, 'call', _2 => _2((avatar) => {
31
+ children: avatars == null ? void 0 : avatars.map((avatar) => {
28
32
  return AvatarWrapper ? (
29
33
  // eslint-disable-next-line react/jsx-props-no-spreading
30
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarWrapper, { ...avatar.wrapperProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarWrapper, _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {}, avatar.wrapperProps), { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31
35
  _chunkHVLEV6BGcjs.Avatar_default,
32
- {
33
- ...avatar,
34
- disabled: disabled || _optionalChain([avatar, 'optionalAccess', _3 => _3.disabled]),
36
+ _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {}, avatar), {
37
+ disabled: disabled || (avatar == null ? void 0 : avatar.disabled),
35
38
  rounded,
36
39
  bordered,
37
40
  size
38
- },
41
+ }),
39
42
  avatar.src
40
- ) })
43
+ ) }))
41
44
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42
45
  _chunkHVLEV6BGcjs.Avatar_default,
43
- {
44
- ...avatar,
45
- disabled: disabled || _optionalChain([avatar, 'optionalAccess', _4 => _4.disabled]),
46
+ _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {}, avatar), {
47
+ disabled: disabled || (avatar == null ? void 0 : avatar.disabled),
46
48
  rounded,
47
49
  bordered,
48
50
  size
49
- },
51
+ }),
50
52
  avatar.src
51
53
  );
52
- })])
54
+ })
53
55
  }
54
56
  );
55
57
  };
@@ -62,4 +64,4 @@ var AvatarGroup_default2 = AvatarGroup_default;
62
64
 
63
65
 
64
66
  exports.AvatarGroup_default = AvatarGroup_default; exports.AvatarGroup_default2 = AvatarGroup_default2;
65
- //# sourceMappingURL=chunk-OP6ST4KB.cjs.map
67
+ //# sourceMappingURL=chunk-7XJHVFT3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-7XJHVFT3.cjs","../src/AvatarGroup/AvatarGroup.tsx","../src/AvatarGroup/index.ts"],"names":["AvatarGroup_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACLA,4CAA+C;AAoDnC,+CAAA;AAvBZ,IAAM,YAAA,EAAc,CAAC;AAAA,EACnB,SAAA,EAAW,KAAA;AAAA,EACX,QAAA,EAAU,MAAA;AAAA,EACV,UAAA,EAAY,EAAA;AAAA,EACZ,SAAA,EAAW,KAAA;AAAA,EACX,KAAA,EAAO,IAAA;AAAA,EACP,QAAA,EAAU,CAAC,CAAA;AAAA,EACX,IAAA,EAAM,CAAA;AAAA,EACN,aAAA,EAAe,cAAA,EAAgB,KAAA;AACjC,CAAA,EAAA,GAAwB;AACtB,EAAA,uBACE,6BAAA;AAAA,IAAC,mBAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,QAAA;AAAA,MACZ,MAAA,EAAQ,OAAA;AAAA,MACR,IAAA;AAAA,MAEC,QAAA,EAAA,QAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,OAAA,CAAS,GAAA,CAAI,CAAC,MAAA,EAAA,GAAW;AACxB,QAAA,OAAO,cAAA,EAAA;AAAA;AAAA,0BAEL,6BAAA,aAAC,EAAA,6CAAA,8CAAA,CAAA,CAAA,EAAkB,MAAA,CAAO,YAAA,CAAA,EAAzB,EACC,QAAA,kBAAA,6BAAA;AAAA,YAAC,gCAAA;AAAA,YAAA,6CAAA,8CAAA,CAAA,CAAA,EAGK,MAAA,CAAA,EAHL;AAAA,cAIC,QAAA,EAAU,SAAA,GAAA,CAAY,OAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,MAAA,CAAQ,QAAA,CAAA;AAAA,cAC9B,OAAA;AAAA,cACA,QAAA;AAAA,cACA;AAAA,YAAA,CAAA,CAAA;AAAA,YANK,MAAA,CAAO;AAAA,UAOd,EAAA,CAAA,CACF;AAAA,QAAA,EAAA,kBAEA,6BAAA;AAAA,UAAC,gCAAA;AAAA,UAAA,6CAAA,8CAAA,CAAA,CAAA,EAGK,MAAA,CAAA,EAHL;AAAA,YAIC,QAAA,EAAU,SAAA,GAAA,CAAY,OAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,MAAA,CAAQ,QAAA,CAAA;AAAA,YAC9B,OAAA;AAAA,YACA,QAAA;AAAA,YACA;AAAA,UAAA,CAAA,CAAA;AAAA,UANK,MAAA,CAAO;AAAA,QAOd,CAAA;AAAA,MAEJ,CAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,oBAAA,EAAQ,WAAA;ADvBf;AACA;AErDA,IAAOA,qBAAAA,EAAQ,mBAAA;AFuDf;AACA;AACE;AACA;AACF,uGAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-7XJHVFT3.cjs","sourcesContent":[null,"import type { JSX } from 'react';\nimport type { AvatarProps } from '../Avatar/Avatar';\n\nimport { AvatarGroup as NextAvatarGroup } from '@nextui-org/avatar';\n\nimport { Avatar } from '../Avatar';\n\nexport interface AvatarGroupProps {\n /* Display a border ring around the Avatar */\n bordered?: boolean;\n /* Roundness of the border around the Avatar */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** CSS class name */\n className?: string;\n /* Disables the Avatar */\n disabled?: boolean;\n /* Size of the Avatar */\n size?: 'sm' | 'md' | 'lg';\n /* Maximum number of avatars to display before +X is displayed */\n max?: number;\n /* Array of avatarProps */\n avatars?: (Omit<AvatarProps, 'size' | 'rounded' | 'bordered'> & {\n /* Custom wrapperProps for each avatarWrapper */\n wrapperProps?: Record<string, unknown>;\n })[];\n /* Custom wrapper for each avatar */\n avatarWrapper?: JSX.ElementType;\n}\n\n/**\n * AvatarGroup component based on [NextUI AvatarGroup](https://nextui.org/docs/components/avatar)\n */\nconst AvatarGroup = ({\n bordered = false,\n rounded = 'full',\n className = '',\n disabled = false,\n size = 'md',\n avatars = [],\n max = 3,\n avatarWrapper: AvatarWrapper = undefined,\n}: AvatarGroupProps) => {\n return (\n <NextAvatarGroup\n max={max}\n className={className}\n isBordered={bordered}\n isDisabled={disabled}\n radius={rounded}\n size={size}\n >\n {avatars?.map((avatar) => {\n return AvatarWrapper ? (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <AvatarWrapper {...avatar.wrapperProps}>\n <Avatar\n key={avatar.src}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...avatar}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n bordered={bordered}\n size={size}\n />\n </AvatarWrapper>\n ) : (\n <Avatar\n key={avatar.src}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...avatar}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n bordered={bordered}\n size={size}\n />\n );\n })}\n </NextAvatarGroup>\n );\n};\n\nexport default AvatarGroup;\n","import AvatarGroup from './AvatarGroup';\n\nexport type { AvatarGroupProps } from './AvatarGroup';\n\nexport { AvatarGroup };\n\nexport default AvatarGroup;\n"]}
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/Card/Card.tsx
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
4
+
5
+ // src/Card/Card.tsx
2
6
 
3
7
 
4
8
 
@@ -25,11 +29,11 @@ var Card = ({
25
29
  footer = void 0
26
30
  }) => {
27
31
  const variants = cardVariants();
28
- const { divider: dividerClassName, ...classNames } = _pixelutils.variantsToClassNames.call(void 0,
32
+ const _a = _pixelutils.variantsToClassNames.call(void 0,
29
33
  variants,
30
34
  className,
31
35
  "base"
32
- );
36
+ ), { divider: dividerClassName } = _a, classNames = _chunkD4TLDLEXcjs.__objRest.call(void 0, _a, ["divider"]);
33
37
  const divider = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _divider.Divider, { className: dividerClassName });
34
38
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35
39
  _card.Card,
@@ -63,4 +67,4 @@ var Card_default2 = Card_default;
63
67
 
64
68
 
65
69
  exports.cardVariants = cardVariants; exports.Card_default = Card_default; exports.Card_default2 = Card_default2;
66
- //# sourceMappingURL=chunk-JPALSO5E.cjs.map
70
+ //# sourceMappingURL=chunk-AVYWDZ7X.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-AVYWDZ7X.cjs","../src/Card/Card.tsx","../src/Card/index.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA;AACE;AACA;AACA;AACA;AAAc,wCACT;AACP,8CAAuC;AAEvC,oDAAyC;AA+CvB,+CAAA;AA5CX,IAAM,aAAA,EAAe,4BAAA;AAAG,EAC7B,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,uBAAA;AAAA,IACN,IAAA,EAAM,EAAA;AAAA,IACN,OAAA,EAAS,qBAAA;AAAA,IACT,MAAA,EAAQ,EAAA;AAAA,IACR,MAAA,EAAQ;AAAA,EACV;AACF,CAAC,CAAA;AAqBD,IAAM,KAAA,EAAO,CAAC;AAAA,EACZ,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAAiB;AAEf,EAAA,MAAM,SAAA,EAAW,YAAA,CAAa,CAAA;AAC9B,EAAA,MAAqD,GAAA,EAAA,8CAAA;AAAA,IACnD,QAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,EACF,CAAA,EAJQ,EAAA,OAAA,EAAS,iBApDnB,EAAA,EAoDuD,EAAA,EAAf,WAAA,EAAA,yCAAA,EAAe,EAAf,CAA9B,SAAA,CAAA,CAAA;AAMR,EAAA,MAAM,QAAA,kBAAU,6BAAA,gBAAC,EAAA,EAAY,SAAA,EAAW,iBAAA,CAAkB,CAAA;AAE1D,EAAA,uBACE,8BAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,aAAA,EAAa,OAAA,GAAU,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAA;AAC5B,MAAA;AACF,MAAA;AACA,MAAA;AAEN,MAAA;AACC,QAAA;AACG,0BAAA;AAGA,UAAA;AACH,QAAA;AAEY,wBAAA;AAIZ,QAAA;AACG,UAAA;AACA,0BAAA;AAGH,QAAA;AAAA,MAAA;AAAA,IAAA;AAEJ,EAAA;AAEJ;AAEe;AD/B+B;AACA;AEvD/B;AFyD+B;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-AVYWDZ7X.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\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';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\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 VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\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 { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\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"]}
@@ -6,9 +6,9 @@ var ScrollShadow_default = ({
6
6
  children = null,
7
7
  className = void 0,
8
8
  testId = void 0
9
- }) => /* @__PURE__ */ jsx(ScrollShadow, { className: cn(className), "data-testId": testId, children });
9
+ }) => /* @__PURE__ */ jsx(ScrollShadow, { className: cn(className), "data-testid": testId, children });
10
10
 
11
11
  export {
12
12
  ScrollShadow_default
13
13
  };
14
- //# sourceMappingURL=chunk-BAPBIOOG.js.map
14
+ //# sourceMappingURL=chunk-BUWMLU3E.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ScrollShadow/ScrollShadow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ScrollShadow } from '@nextui-org/scroll-shadow';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface ScrollShadowProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the scroll box */\n testId?: string;\n}\n\n/**\n * Scroll Shadow component based on [NextUI Scroll Shadow](https://nextui.org/docs/components/scroll-shadow)\n */\nexport default ({\n children = null,\n className = undefined,\n testId = undefined,\n}: ScrollShadowProps) => (\n <ScrollShadow className={cn(className)} data-testId={testId}>\n {children}\n </ScrollShadow>\n);\n"],"mappings":";AAEA,SAAS,oBAAoB;AAE7B,SAAS,UAAU;AAmBjB;AALF,IAAO,uBAAQ,CAAC;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AACX,MACE,oBAAC,gBAAa,WAAW,GAAG,SAAS,GAAG,eAAa,QAClD,UACH;","names":[]}
1
+ {"version":3,"sources":["../src/ScrollShadow/ScrollShadow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ScrollShadow } from '@nextui-org/scroll-shadow';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface ScrollShadowProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the scroll box */\n testId?: string;\n}\n\n/**\n * Scroll Shadow component based on [NextUI Scroll Shadow](https://nextui.org/docs/components/scroll-shadow)\n */\nexport default ({\n children = null,\n className = undefined,\n testId = undefined,\n}: ScrollShadowProps) => (\n <ScrollShadow className={cn(className)} data-testid={testId}>\n {children}\n </ScrollShadow>\n);\n"],"mappings":";AAEA,SAAS,oBAAoB;AAE7B,SAAS,UAAU;AAmBjB;AALF,IAAO,uBAAQ,CAAC;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AACX,MACE,oBAAC,gBAAa,WAAW,GAAG,SAAS,GAAG,eAAa,QAClD,UACH;","names":[]}
@@ -6,9 +6,9 @@ var ScrollShadow_default = ({
6
6
  children = null,
7
7
  className = void 0,
8
8
  testId = void 0
9
- }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _scrollshadow.ScrollShadow, { className: _pixelutils.cn.call(void 0, className), "data-testId": testId, children });
9
+ }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _scrollshadow.ScrollShadow, { className: _pixelutils.cn.call(void 0, className), "data-testid": testId, children });
10
10
 
11
11
 
12
12
 
13
13
  exports.ScrollShadow_default = ScrollShadow_default;
14
- //# sourceMappingURL=chunk-D5HC5WLB.cjs.map
14
+ //# sourceMappingURL=chunk-BXPBP3PC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-D5HC5WLB.cjs","../src/ScrollShadow/ScrollShadow.tsx"],"names":[],"mappings":"AAAA;ACEA,yDAA6B;AAE7B,oDAAmB;AAmBjB,+CAAA;AALF,IAAO,qBAAA,EAAQ,CAAC;AAAA,EACd,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,mBACE,6BAAA,0BAAC,EAAA,EAAa,SAAA,EAAW,4BAAA,SAAY,CAAA,EAAG,aAAA,EAAa,MAAA,EAClD,SAAA,CACH,CAAA;ADhBF;AACA;AACE;AACF,oDAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-D5HC5WLB.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\nimport { ScrollShadow } from '@nextui-org/scroll-shadow';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface ScrollShadowProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the scroll box */\n testId?: string;\n}\n\n/**\n * Scroll Shadow component based on [NextUI Scroll Shadow](https://nextui.org/docs/components/scroll-shadow)\n */\nexport default ({\n children = null,\n className = undefined,\n testId = undefined,\n}: ScrollShadowProps) => (\n <ScrollShadow className={cn(className)} data-testId={testId}>\n {children}\n </ScrollShadow>\n);\n"]}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-BXPBP3PC.cjs","../src/ScrollShadow/ScrollShadow.tsx"],"names":[],"mappings":"AAAA;ACEA,yDAA6B;AAE7B,oDAAmB;AAmBjB,+CAAA;AALF,IAAO,qBAAA,EAAQ,CAAC;AAAA,EACd,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,mBACE,6BAAA,0BAAC,EAAA,EAAa,SAAA,EAAW,4BAAA,SAAY,CAAA,EAAG,aAAA,EAAa,MAAA,EAClD,SAAA,CACH,CAAA;ADhBF;AACA;AACE;AACF,oDAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-BXPBP3PC.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\nimport { ScrollShadow } from '@nextui-org/scroll-shadow';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface ScrollShadowProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the scroll box */\n testId?: string;\n}\n\n/**\n * Scroll Shadow component based on [NextUI Scroll Shadow](https://nextui.org/docs/components/scroll-shadow)\n */\nexport default ({\n children = null,\n className = undefined,\n testId = undefined,\n}: ScrollShadowProps) => (\n <ScrollShadow className={cn(className)} data-testid={testId}>\n {children}\n </ScrollShadow>\n);\n"]}
@@ -31,10 +31,12 @@ var modalVariants = tv({
31
31
  var Modal = ({
32
32
  children = null,
33
33
  className = void 0,
34
+ disableAnimation = false,
34
35
  footer = void 0,
35
36
  header = void 0,
36
37
  isOpen,
37
38
  onClose,
39
+ portalContainer = void 0,
38
40
  size = "md",
39
41
  testId = void 0
40
42
  }) => {
@@ -46,9 +48,11 @@ var Modal = ({
46
48
  backdrop: "opaque",
47
49
  classNames,
48
50
  "data-testid": testId,
51
+ disableAnimation,
49
52
  isOpen,
50
53
  onClose,
51
54
  placement: "center",
55
+ portalContainer,
52
56
  scrollBehavior: "inside",
53
57
  children: /* @__PURE__ */ jsx(NextModalContent, { "data-testid": testId ? `modal_${testId}` : "modal", children: () => /* @__PURE__ */ jsxs(Fragment, { children: [
54
58
  header && /* @__PURE__ */ jsx(NextModalHeader, { children: header }),
@@ -68,4 +72,4 @@ export {
68
72
  Modal_default,
69
73
  Modal_default2
70
74
  };
71
- //# sourceMappingURL=chunk-F2SRHLNC.js.map
75
+ //# sourceMappingURL=chunk-CQW46JPO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Modal/Modal.tsx","../src/Modal/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ModalProps as NextModalProps } from '@nextui-org/modal';\nimport type { ReactNode } from 'react';\n\nimport {\n Modal as NextModal,\n ModalBody as NextModalBody,\n ModalContent as NextModalContent,\n ModalFooter as NextModalFooter,\n ModalHeader as NextModalHeader,\n} from '@nextui-org/modal';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// modal variants\nexport const modalVariants = tv({\n slots: {\n backdrop: '',\n base: '',\n body: '',\n closeButton: '',\n footer: '',\n header: '',\n wrapper: '',\n },\n variants: {\n size: {\n sm: { base: 'max-w-sm' },\n md: { base: 'max-w-md' },\n lg: { base: 'max-w-lg' },\n xl: { base: 'max-w-5xl' },\n full: { base: 'h-[80dvh] max-w-full' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof modalVariants>;\ntype ClassName = TVClassName<typeof modalVariants>;\n\nexport interface ModalProps extends VariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Disable animations completely */\n disableAnimation?: boolean;\n /** modal footer */\n footer?: ReactNode;\n /** modal header */\n header?: ReactNode;\n /** open state (controlled) */\n isOpen: boolean;\n /** close event handler */\n onClose: () => void;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: NextModalProps['portalContainer'];\n /** modal size */\n size?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Modal component based on [NextUI Modal](https://nextui.org/docs/components/modal)\n */\nconst Modal = ({\n children = null,\n className = undefined,\n disableAnimation = false,\n footer = undefined,\n header = undefined,\n isOpen,\n onClose,\n portalContainer = undefined,\n size = 'md',\n testId = undefined,\n}: ModalProps) => {\n // classNames from slots\n const variants = modalVariants({ size });\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <NextModal\n backdrop=\"opaque\"\n classNames={classNames}\n data-testid={testId}\n disableAnimation={disableAnimation}\n isOpen={isOpen}\n onClose={onClose}\n placement=\"center\"\n portalContainer={portalContainer}\n scrollBehavior=\"inside\"\n >\n <NextModalContent data-testid={testId ? `modal_${testId}` : 'modal'}>\n {() => (\n <>\n {header && <NextModalHeader>{header}</NextModalHeader>}\n <NextModalBody id=\"modal_body\">{children}</NextModalBody>\n {footer && <NextModalFooter>{footer}</NextModalFooter>}\n </>\n )}\n </NextModalContent>\n </NextModal>\n );\n};\n\nexport default Modal;\n","import Modal, { modalVariants } from './Modal';\n\nexport type { ModalProps } from './Modal';\n\nexport { Modal, modalVariants };\n\nexport default Modal;\n"],"mappings":";AAIA;AAAA,EACE,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,OACV;AAEP,SAAS,IAAI,4BAA4B;AAmF/B,mBACa,KADb;AAhFH,IAAM,gBAAgB,GAAG;AAAA,EAC9B,OAAO;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI,EAAE,MAAM,WAAW;AAAA,MACvB,IAAI,EAAE,MAAM,WAAW;AAAA,MACvB,IAAI,EAAE,MAAM,WAAW;AAAA,MACvB,IAAI,EAAE,MAAM,YAAY;AAAA,MACxB,MAAM,EAAE,MAAM,uBAAuB;AAAA,IACvC;AAAA,EACF;AACF,CAAC;AA+BD,IAAM,QAAQ,CAAC;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,SAAS;AACX,MAAkB;AAEhB,QAAM,WAAW,cAAc,EAAE,KAAK,CAAC;AACvC,QAAM,aAAa,qBAAqB,UAAU,WAAW,MAAM;AAEnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,gBAAe;AAAA,MAEf,8BAAC,oBAAiB,eAAa,SAAS,SAAS,MAAM,KAAK,SACzD,gBACC,iCACG;AAAA,kBAAU,oBAAC,mBAAiB,kBAAO;AAAA,QACpC,oBAAC,iBAAc,IAAG,cAAc,UAAS;AAAA,QACxC,UAAU,oBAAC,mBAAiB,kBAAO;AAAA,SACtC,GAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACpGf,IAAOA,iBAAQ;","names":["Modal_default"]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ __objRest
3
+ } from "./chunk-J7N2552D.js";
4
+
1
5
  // src/Card/Card.tsx
2
6
  import {
3
7
  Card as NextCard,
@@ -25,11 +29,11 @@ var Card = ({
25
29
  footer = void 0
26
30
  }) => {
27
31
  const variants = cardVariants();
28
- const { divider: dividerClassName, ...classNames } = variantsToClassNames(
32
+ const _a = variantsToClassNames(
29
33
  variants,
30
34
  className,
31
35
  "base"
32
- );
36
+ ), { divider: dividerClassName } = _a, classNames = __objRest(_a, ["divider"]);
33
37
  const divider = /* @__PURE__ */ jsx(NextDivider, { className: dividerClassName });
34
38
  return /* @__PURE__ */ jsxs(
35
39
  NextCard,
@@ -63,4 +67,4 @@ export {
63
67
  Card_default,
64
68
  Card_default2
65
69
  };
66
- //# sourceMappingURL=chunk-APEDJG3R.js.map
70
+ //# sourceMappingURL=chunk-CZJKT7IC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\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';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\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 VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\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 { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\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;AAEvC,SAAS,IAAI,4BAA4B;AA+CvB,SAWV,UAXU,KAWV,YAXU;AA5CX,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;AAqBD,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,EAAE,SAAS,kBAAkB,GAAG,WAAW,IAAI;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,UAAU,oBAAC,eAAY,WAAW,kBAAkB;AAE1D,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;;;ACrFf,IAAOA,gBAAQ;","names":["Card_default"]}
1
+ {"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\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';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\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 VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\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 { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\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;AAEvC,SAAS,IAAI,4BAA4B;AA+CvB,SAWV,UAXU,KAWV,YAXU;AA5CX,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;AAqBD,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,QAAqD;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAJQ,WAAS,iBApDnB,IAoDuD,IAAf,uBAAe,IAAf,CAA9B;AAMR,QAAM,UAAU,oBAAC,eAAY,WAAW,kBAAkB;AAE1D,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;;;ACrFf,IAAOA,gBAAQ;","names":["Card_default"]}
@@ -0,0 +1,63 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __objRest = (source, exclude) => {
25
+ var target = {};
26
+ for (var prop in source)
27
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
+ target[prop] = source[prop];
29
+ if (source != null && __getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(source)) {
31
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
+ target[prop] = source[prop];
33
+ }
34
+ return target;
35
+ };
36
+ var __commonJS = (cb, mod) => function __require() {
37
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
38
+ };
39
+ var __copyProps = (to, from, except, desc) => {
40
+ if (from && typeof from === "object" || typeof from === "function") {
41
+ for (let key of __getOwnPropNames(from))
42
+ if (!__hasOwnProp.call(to, key) && key !== except)
43
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
44
+ }
45
+ return to;
46
+ };
47
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
48
+ // If the importer is in node compatibility mode or this is not an ESM
49
+ // file that has been converted to a CommonJS file using a Babel-
50
+ // compatible transform (i.e. "__esModule" has not been set), then set
51
+ // "default" to the CommonJS "module.exports" for node compatibility.
52
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
53
+ mod
54
+ ));
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+ exports.__spreadValues = __spreadValues; exports.__spreadProps = __spreadProps; exports.__objRest = __objRest; exports.__commonJS = __commonJS; exports.__toESM = __toESM;
63
+ //# sourceMappingURL=chunk-D4TLDLEX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-D4TLDLEX.cjs"],"names":[],"mappings":"AAAA,6EAAI,SAAS,EAAE,MAAM,CAAC,MAAM;AAC5B,IAAI,UAAU,EAAE,MAAM,CAAC,cAAc;AACrC,IAAI,WAAW,EAAE,MAAM,CAAC,gBAAgB;AACxC,IAAI,iBAAiB,EAAE,MAAM,CAAC,wBAAwB;AACtD,IAAI,kBAAkB,EAAE,MAAM,CAAC,yBAAyB;AACxD,IAAI,kBAAkB,EAAE,MAAM,CAAC,mBAAmB;AAClD,IAAI,oBAAoB,EAAE,MAAM,CAAC,qBAAqB;AACtD,IAAI,aAAa,EAAE,MAAM,CAAC,cAAc;AACxC,IAAI,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;AAClD,IAAI,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,oBAAoB;AACxD,IAAI,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK;AAC/J,IAAI,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG;AAC/B,EAAE,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAChC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,EAAE,GAAG,CAAC,mBAAmB;AACzB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzC,IAAI;AACJ,EAAE,OAAO,CAAC;AACV,CAAC;AACD,IAAI,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG;AACrC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACjB,EAAE,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM;AACzB,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACjC,EAAE,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,mBAAmB;AAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;AACnC,IAAI;AACJ,EAAE,OAAO,MAAM;AACf,CAAC;AACD,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,SAAS,CAAC,EAAE;AACnD,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO;AACpG,CAAC;AACD,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;AAC9C,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO,KAAK,IAAI,SAAS,GAAG,OAAO,KAAK,IAAI,UAAU,EAAE;AACtE,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC3C,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,MAAM;AACvD,QAAQ,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1H,EAAE;AACF,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW;AAChH;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM;AACjH,EAAE;AACF,CAAC,CAAC;AACF;AACA;AACE;AACA;AACA;AACA;AACA;AACF,0KAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-D4TLDLEX.cjs"}