@fuf-stack/pixels 1.3.7 → 1.4.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 (77) hide show
  1. package/dist/Accordion/index.cjs +2 -2
  2. package/dist/Accordion/index.js +1 -1
  3. package/dist/Alert/index.cjs +2 -2
  4. package/dist/Alert/index.d.cts +2 -2
  5. package/dist/Alert/index.d.ts +2 -2
  6. package/dist/Alert/index.js +1 -1
  7. package/dist/{Alert-Bozl_RiO.d.cts → Alert-Dc0RSQaB.d.cts} +1 -1
  8. package/dist/{Alert-Bozl_RiO.d.ts → Alert-Dc0RSQaB.d.ts} +1 -1
  9. package/dist/Button/index.cjs +2 -2
  10. package/dist/Button/index.js +1 -1
  11. package/dist/Card/index.cjs +2 -2
  12. package/dist/Card/index.js +1 -1
  13. package/dist/Json/index.cjs +3 -3
  14. package/dist/Json/index.js +2 -2
  15. package/dist/Menu/index.cjs +2 -2
  16. package/dist/Menu/index.js +1 -1
  17. package/dist/Modal/index.cjs +2 -2
  18. package/dist/Modal/index.js +1 -1
  19. package/dist/Popover/index.cjs +2 -2
  20. package/dist/Popover/index.js +1 -1
  21. package/dist/Table/index.cjs +2 -2
  22. package/dist/Table/index.js +1 -1
  23. package/dist/Toast/index.cjs +2 -2
  24. package/dist/Toast/index.js +1 -1
  25. package/dist/Tooltip/index.cjs +2 -2
  26. package/dist/Tooltip/index.js +1 -1
  27. package/dist/{chunk-LAQNNPIV.js → chunk-3SXXVV5T.js} +3 -3
  28. package/dist/{chunk-LAQNNPIV.js.map → chunk-3SXXVV5T.js.map} +1 -1
  29. package/dist/{chunk-W52ZP2AU.js → chunk-565TFIAK.js} +6 -6
  30. package/dist/chunk-565TFIAK.js.map +1 -0
  31. package/dist/{chunk-LX5LJN3I.cjs → chunk-56CIU4EG.cjs} +2 -2
  32. package/dist/{chunk-LX5LJN3I.cjs.map → chunk-56CIU4EG.cjs.map} +1 -1
  33. package/dist/{chunk-ZLXLW3EW.cjs → chunk-5ZT7C5IP.cjs} +2 -2
  34. package/dist/{chunk-ZLXLW3EW.cjs.map → chunk-5ZT7C5IP.cjs.map} +1 -1
  35. package/dist/{chunk-Z363QVXW.cjs → chunk-6PCFYEJH.cjs} +3 -3
  36. package/dist/{chunk-Z363QVXW.cjs.map → chunk-6PCFYEJH.cjs.map} +1 -1
  37. package/dist/{chunk-473MRDWX.js → chunk-73HT7W6F.js} +3 -3
  38. package/dist/{chunk-473MRDWX.js.map → chunk-73HT7W6F.js.map} +1 -1
  39. package/dist/{chunk-JQNZVQVJ.js → chunk-7IFOMPCK.js} +2 -2
  40. package/dist/{chunk-JQNZVQVJ.js.map → chunk-7IFOMPCK.js.map} +1 -1
  41. package/dist/{chunk-HPZBCSP3.cjs → chunk-B2PDISUU.cjs} +3 -3
  42. package/dist/{chunk-HPZBCSP3.cjs.map → chunk-B2PDISUU.cjs.map} +1 -1
  43. package/dist/{chunk-UMROOKDT.js → chunk-CUNIBDOS.js} +3 -3
  44. package/dist/{chunk-UMROOKDT.js.map → chunk-CUNIBDOS.js.map} +1 -1
  45. package/dist/{chunk-XIBET6QC.js → chunk-D6Z3F5C2.js} +3 -3
  46. package/dist/{chunk-XIBET6QC.js.map → chunk-D6Z3F5C2.js.map} +1 -1
  47. package/dist/{chunk-6CET2FLR.js → chunk-FPR33UFC.js} +4 -4
  48. package/dist/{chunk-6CET2FLR.js.map → chunk-FPR33UFC.js.map} +1 -1
  49. package/dist/{chunk-XAGW2N5O.js → chunk-IZM2I62C.js} +13 -13
  50. package/dist/{chunk-XAGW2N5O.js.map → chunk-IZM2I62C.js.map} +1 -1
  51. package/dist/{chunk-UECUQP2B.cjs → chunk-K25U4BJO.cjs} +6 -6
  52. package/dist/chunk-K25U4BJO.cjs.map +1 -0
  53. package/dist/{chunk-7MCSF7YR.js → chunk-KGNCVUGN.js} +3 -3
  54. package/dist/{chunk-7MCSF7YR.js.map → chunk-KGNCVUGN.js.map} +1 -1
  55. package/dist/{chunk-BGGRVPBR.js → chunk-MF5KUM5I.js} +3 -3
  56. package/dist/{chunk-BGGRVPBR.js.map → chunk-MF5KUM5I.js.map} +1 -1
  57. package/dist/{chunk-PF4VI6L7.cjs → chunk-NSYHAJM2.cjs} +3 -3
  58. package/dist/{chunk-PF4VI6L7.cjs.map → chunk-NSYHAJM2.cjs.map} +1 -1
  59. package/dist/{chunk-YW4S32XV.cjs → chunk-RPULU7LC.cjs} +3 -3
  60. package/dist/{chunk-YW4S32XV.cjs.map → chunk-RPULU7LC.cjs.map} +1 -1
  61. package/dist/{chunk-EZT2D2DJ.js → chunk-SRDRLHAA.js} +2 -2
  62. package/dist/{chunk-EZT2D2DJ.js.map → chunk-SRDRLHAA.js.map} +1 -1
  63. package/dist/{chunk-JTVT63LG.cjs → chunk-VVAZOJQG.cjs} +14 -14
  64. package/dist/{chunk-JTVT63LG.cjs.map → chunk-VVAZOJQG.cjs.map} +1 -1
  65. package/dist/{chunk-TFRAQ6OQ.cjs → chunk-YUR6N2RB.cjs} +3 -3
  66. package/dist/{chunk-TFRAQ6OQ.cjs.map → chunk-YUR6N2RB.cjs.map} +1 -1
  67. package/dist/{chunk-3BZVACEC.cjs → chunk-ZFHOZRR2.cjs} +4 -4
  68. package/dist/{chunk-3BZVACEC.cjs.map → chunk-ZFHOZRR2.cjs.map} +1 -1
  69. package/dist/{chunk-J2LI4ONS.cjs → chunk-ZIAB3EXU.cjs} +3 -3
  70. package/dist/{chunk-J2LI4ONS.cjs.map → chunk-ZIAB3EXU.cjs.map} +1 -1
  71. package/dist/index.cjs +12 -12
  72. package/dist/index.d.cts +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js +11 -11
  75. package/package.json +11 -9
  76. package/dist/chunk-UECUQP2B.cjs.map +0 -1
  77. package/dist/chunk-W52ZP2AU.js.map +0 -1
@@ -29,13 +29,13 @@ var alertVariants = _pixelutils.tv.call(void 0, {
29
29
  variant: _chunkAHEA4IJVcjs.__spreadValues.call(void 0, {}, _theme.alert.variants.variant),
30
30
  sizeLimit: {
31
31
  height: {
32
- base: "max-h-[150px] overflow-x-hidden overflow-y-auto"
32
+ base: "max-h-[150px] overflow-y-auto overflow-x-hidden"
33
33
  },
34
34
  width: {
35
35
  base: "max-w-[480px] overflow-x-auto overflow-y-hidden"
36
36
  },
37
37
  both: {
38
- base: "max-h-[150px] max-w-[480px] overflow-x-hidden overflow-y-auto"
38
+ base: "max-h-[150px] max-w-[480px] overflow-y-auto overflow-x-hidden"
39
39
  }
40
40
  }
41
41
  },
@@ -55,7 +55,7 @@ var alertVariants = _pixelutils.tv.call(void 0, {
55
55
  variant: "flat",
56
56
  className: {
57
57
  alertIcon: "fill-current",
58
- base: "bg-info-50 text-info-600 dark:bg-info-50/50",
58
+ base: "dark:bg-info-50/50 bg-info-50 text-info-600",
59
59
  closeButton: "text-info-500 data-[hover]:bg-info-200",
60
60
  iconWrapper: "border-info-100 bg-info-50 dark:bg-info-100"
61
61
  }
@@ -65,7 +65,7 @@ var alertVariants = _pixelutils.tv.call(void 0, {
65
65
  variant: "faded",
66
66
  className: {
67
67
  alertIcon: "fill-current",
68
- base: "border-small border-info-200 bg-info-50 text-info-600 dark:border-info-100 dark:bg-info-50/50",
68
+ base: "dark:bg-info-50/50 border-small border-info-200 bg-info-50 text-info-600 dark:border-info-100",
69
69
  closeButton: "text-info-500 data-[hover]:bg-info-200",
70
70
  iconWrapper: "border-info-100 bg-info-50 dark:bg-info-100"
71
71
  }
@@ -117,7 +117,7 @@ var Alert = ({
117
117
  icon,
118
118
  isClosable,
119
119
  onClose,
120
- title: title || children,
120
+ title: title != null ? title : children,
121
121
  variant
122
122
  }
123
123
  );
@@ -132,4 +132,4 @@ var Alert_default2 = Alert_default;
132
132
 
133
133
 
134
134
  exports.alertVariants = alertVariants; exports.Alert_default = Alert_default; exports.Alert_default2 = Alert_default2;
135
- //# sourceMappingURL=chunk-UECUQP2B.cjs.map
135
+ //# sourceMappingURL=chunk-K25U4BJO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-K25U4BJO.cjs","../src/Alert/Alert.tsx","../src/Alert/index.ts"],"names":["Alert_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-K25U4BJO.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { AlertProps as HeroAlertProps } from '@heroui/alert';\nimport type { ReactNode } from 'react';\n\nimport { Alert as HeroAlert } from '@heroui/alert';\nimport { alert as heroAlertVariants } from '@heroui/theme';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const alertVariants = tv({\n slots: {\n base: '',\n title: '',\n description: '',\n mainWrapper: '',\n closeButton: '',\n iconWrapper: '',\n alertIcon: '',\n },\n variants: {\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/alert.ts\n color: {\n info: {\n mainWrapper: 'text-inherit',\n title: 'text-inherit',\n description: 'text-inherit',\n },\n ...heroAlertVariants.variants.color,\n },\n variant: {\n ...heroAlertVariants.variants.variant,\n },\n sizeLimit: {\n height: {\n base: 'max-h-[150px] overflow-y-auto overflow-x-hidden',\n },\n width: {\n base: 'max-w-[480px] overflow-x-auto overflow-y-hidden',\n },\n both: {\n base: 'max-h-[150px] max-w-[480px] overflow-y-auto overflow-x-hidden',\n },\n },\n },\n compoundVariants: [\n ...heroAlertVariants.compoundVariants,\n {\n color: 'info',\n variant: 'solid',\n className: {\n base: 'bg-info text-info-foreground',\n alertIcon: 'text-info-foreground',\n closeButton: 'text-inherit',\n },\n },\n {\n color: 'info',\n variant: 'flat',\n className: {\n alertIcon: 'fill-current',\n base: 'dark:bg-info-50/50 bg-info-50 text-info-600',\n closeButton: 'text-info-500 data-[hover]:bg-info-200',\n iconWrapper: 'border-info-100 bg-info-50 dark:bg-info-100',\n },\n },\n {\n color: 'info',\n variant: 'faded',\n className: {\n alertIcon: 'fill-current',\n base: 'dark:bg-info-50/50 border-small border-info-200 bg-info-50 text-info-600 dark:border-info-100',\n closeButton: 'text-info-500 data-[hover]:bg-info-200',\n iconWrapper: 'border-info-100 bg-info-50 dark:bg-info-100',\n },\n },\n {\n color: 'info',\n variant: 'bordered',\n className: {\n alertIcon: 'fill-current',\n base: 'border-small border-info text-info',\n closeButton: 'text-info-500 data-[hover]:bg-info-200',\n iconWrapper: 'bg-info-100 dark:bg-info-50',\n },\n },\n ],\n});\n\nexport type VariantProps = TVProps<typeof alertVariants>;\ntype ClassName = TVClassName<typeof alertVariants>;\n\nexport interface AlertProps extends VariantProps {\n /** Content displayed inside the Alert if no description is given! */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Color scheme of the Alert */\n color?: VariantProps['color'];\n /** Content displayed at the end of the Alert */\n endContent?: ReactNode;\n /** Icon displayed at the start of the Alert */\n icon?: ReactNode;\n /** Whether the Alert can be closed */\n isClosable?: boolean;\n /** Callback fired when the close button is clicked */\n onClose?: () => void;\n /** Whether to show the icon at the start */\n showIcon?: boolean;\n /** limit height to 150px or width to 480px or both */\n sizeLimit?: VariantProps['sizeLimit'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** Title displayed in the Alert above the content */\n title?: ReactNode;\n /** Style variant of the Alert */\n variant?: VariantProps['variant'];\n}\n\n/**\n * Alert component based on [HeroUI Alert](https://www.heroui.com//docs/components/alert)\n */\nconst Alert = ({\n children = undefined,\n className = undefined,\n color = 'primary',\n endContent = undefined,\n icon = undefined,\n isClosable = false,\n onClose = undefined,\n sizeLimit = undefined,\n showIcon = true,\n testId = undefined,\n title = undefined,\n variant = 'solid',\n}: AlertProps) => {\n const variants = alertVariants({\n color,\n variant,\n sizeLimit,\n });\n const classNames = variantsToClassNames(variants, className, 'base');\n\n // pass color prop for heroui colors\n const heroColor = Object.keys(heroAlertVariants.variants.color).includes(\n color,\n )\n ? (color as HeroAlertProps['color'])\n : undefined;\n\n return (\n <HeroAlert\n classNames={classNames}\n color={heroColor}\n data-testid={testId}\n description={title ? children : undefined}\n endContent={endContent}\n hideIcon={!showIcon}\n icon={icon}\n isClosable={isClosable}\n onClose={onClose}\n title={(title ?? children) as string}\n variant={variant}\n />\n );\n};\n\nexport default Alert;\n","import Alert, { alertVariants } from './Alert';\n\nexport type { AlertProps } from './Alert';\n\nexport { Alert, alertVariants };\n\nexport default Alert;\n"]}
@@ -14,8 +14,8 @@ var modalVariants = tv({
14
14
  base: "",
15
15
  body: "py-4",
16
16
  closeButton: "",
17
- footer: "border-t-divider border-t",
18
- header: "border-b-divider border-b",
17
+ footer: "border-t border-t-divider",
18
+ header: "border-b border-b-divider",
19
19
  wrapper: ""
20
20
  },
21
21
  variants: {
@@ -74,4 +74,4 @@ export {
74
74
  Modal_default,
75
75
  Modal_default2
76
76
  };
77
- //# sourceMappingURL=chunk-7MCSF7YR.js.map
77
+ //# sourceMappingURL=chunk-KGNCVUGN.js.map
@@ -1 +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 HeroModalProps } from '@heroui/modal';\nimport type { ReactNode } from 'react';\n\nimport {\n Modal as HeroModal,\n ModalBody as HeroModalBody,\n ModalContent as HeroModalContent,\n ModalFooter as HeroModalFooter,\n ModalHeader as HeroModalHeader,\n} from '@heroui/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: 'py-4',\n closeButton: '',\n footer: 'border-t-divider border-t',\n header: 'border-b-divider border-b',\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?: HeroModalProps['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 [HeroUI Modal](https://www.heroui.com//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 <HeroModal\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 <HeroModalContent data-testid={testId ? `modal_${testId}` : 'modal'}>\n {() => {\n return (\n <>\n {header ? <HeroModalHeader>{header}</HeroModalHeader> : null}\n <HeroModalBody id=\"modal_body\">{children}</HeroModalBody>\n {footer ? <HeroModalFooter>{footer}</HeroModalFooter> : null}\n </>\n );\n }}\n </HeroModalContent>\n </HeroModal>\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;AAoF7B,mBACY,KADZ;AAjFL,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,gBAAM;AACL,eACE,iCACG;AAAA,mBAAS,oBAAC,mBAAiB,kBAAO,IAAqB;AAAA,UACxD,oBAAC,iBAAc,IAAG,cAAc,UAAS;AAAA,UACxC,SAAS,oBAAC,mBAAiB,kBAAO,IAAqB;AAAA,WAC1D;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACtGf,IAAOA,iBAAQ;","names":["Modal_default"]}
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 HeroModalProps } from '@heroui/modal';\nimport type { ReactNode } from 'react';\n\nimport {\n Modal as HeroModal,\n ModalBody as HeroModalBody,\n ModalContent as HeroModalContent,\n ModalFooter as HeroModalFooter,\n ModalHeader as HeroModalHeader,\n} from '@heroui/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: 'py-4',\n closeButton: '',\n footer: 'border-t border-t-divider',\n header: 'border-b border-b-divider',\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?: HeroModalProps['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 [HeroUI Modal](https://www.heroui.com//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 <HeroModal\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 <HeroModalContent data-testid={testId ? `modal_${testId}` : 'modal'}>\n {() => {\n return (\n <>\n {header ? <HeroModalHeader>{header}</HeroModalHeader> : null}\n <HeroModalBody id=\"modal_body\">{children}</HeroModalBody>\n {footer ? <HeroModalFooter>{footer}</HeroModalFooter> : null}\n </>\n );\n }}\n </HeroModalContent>\n </HeroModal>\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;AAoF7B,mBACY,KADZ;AAjFL,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,gBAAM;AACL,eACE,iCACG;AAAA,mBAAS,oBAAC,mBAAiB,kBAAO,IAAqB;AAAA,UACxD,oBAAC,iBAAc,IAAG,cAAc,UAAS;AAAA,UACxC,SAAS,oBAAC,mBAAiB,kBAAO,IAAqB;AAAA,WAC1D;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,gBAAQ;;;ACtGf,IAAOA,iBAAQ;","names":["Modal_default"]}
@@ -11,10 +11,10 @@ var tooltipVariants = tv({
11
11
  base: "",
12
12
  body: "w-full px-4 py-2",
13
13
  content: "flex max-h-[80vh] flex-col p-0",
14
- divider: "border-divider m-0 w-full p-0",
14
+ divider: "m-0 w-full border-divider p-0",
15
15
  footer: "w-full px-4 py-2",
16
16
  footerWrapper: "w-full",
17
- header: "w-full px-4 pt-2 pb-1 font-semibold",
17
+ header: "w-full px-4 pb-1 pt-2 font-semibold",
18
18
  headerWrapper: "w-full",
19
19
  trigger: "cursor-pointer"
20
20
  },
@@ -121,4 +121,4 @@ export {
121
121
  Tooltip_default,
122
122
  Tooltip_default2
123
123
  };
124
- //# sourceMappingURL=chunk-BGGRVPBR.js.map
124
+ //# sourceMappingURL=chunk-MF5KUM5I.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TooltipPlacement as HeroTooltipPlacement } from '@heroui/tooltip';\nimport type { ReactNode } from 'react';\n\nimport { Tooltip as HeroTooltip } from '@heroui/tooltip';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// tooltip variants\nexport const tooltipVariants = tv({\n slots: {\n base: '',\n body: 'w-full px-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'border-divider m-0 w-full p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pt-2 pb-1 font-semibold',\n headerWrapper: 'w-full',\n trigger: 'cursor-pointer',\n },\n variants: {\n size: {\n xs: {\n // base: 'max-w-xs',\n body: 'max-w-xs',\n footer: 'max-w-xs',\n header: 'max-w-xs',\n },\n sm: {\n // base: 'max-w-sm',\n body: 'max-w-sm',\n footer: 'max-w-sm',\n header: 'max-w-sm',\n },\n md: {\n // base: 'max-w-md',\n body: 'max-w-md',\n footer: 'max-w-md',\n header: 'max-w-md',\n },\n lg: {\n // base: 'max-w-lg',\n body: 'max-w-lg',\n footer: 'max-w-lg',\n header: 'max-w-lg',\n },\n xl: {\n // base: 'max-w-xl',\n body: 'max-w-xl',\n footer: 'max-w-xl',\n header: 'max-w-xl',\n },\n '2xl': {\n // base: 'max-w-2xl',\n body: 'max-w-2xl',\n footer: 'max-w-2xl',\n header: 'max-w-2xl',\n },\n '3xl': {\n // base: 'max-w-3xl',\n body: 'max-w-3xl',\n footer: 'max-w-3xl',\n header: 'max-w-3xl',\n },\n full: { base: '' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof tooltipVariants>;\ntype ClassName = TVClassName<typeof tooltipVariants>;\n\nexport type TooltipPlacement = HeroTooltipPlacement;\n\nexport interface TooltipProps extends VariantProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** delay in milliseconds before the tooltip opens. */\n closeDelay?: number;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** delay in milliseconds before the tooltip opens. */\n delay?: number;\n /** tooltip footer */\n footer?: ReactNode;\n /** tooltip header */\n header?: ReactNode;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n /** size of the tooltip */\n size?: VariantProps['size'];\n}\n\n/**\n * Tooltip component based on [HeroUI Tooltip](https://www.heroui.com//docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className: _className = undefined,\n closeDelay = 500,\n containerPadding = 0,\n content,\n defaultOpen = false,\n delay = 0,\n footer = undefined,\n header = undefined,\n onOpenChange = undefined,\n placement = 'top',\n size = 'full',\n}: TooltipProps) => {\n // classNames from slots\n const variants = tooltipVariants({ size });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroTooltip\n shouldFlip\n showArrow\n classNames={classNames}\n closeDelay={closeDelay}\n containerPadding={containerPadding}\n defaultOpen={defaultOpen}\n delay={delay}\n onOpenChange={onOpenChange}\n placement={placement}\n content={\n <div>\n {header ? (\n <div className={classNames.headerWrapper}>\n <div className={classNames.header}>{header}</div>\n <hr className={classNames.divider} />\n </div>\n ) : null}\n <ScrollShadow className={classNames.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={classNames.footerWrapper}>\n <hr className={classNames.divider} />\n <div className={classNames.footer}>{footer}</div>\n </div>\n ) : null}\n </div>\n }\n onClick={(e) => {\n e.preventDefault();\n }}\n >\n <span className={classNames.trigger}>{children}</span>\n </HeroTooltip>\n );\n};\n\nexport default Tooltip;\n","import Tooltip from './Tooltip';\n\nexport type { TooltipProps, TooltipPlacement } from './Tooltip';\n\nexport { Tooltip };\n\nexport default Tooltip;\n"],"mappings":";;;;;AAIA,SAAS,WAAW,mBAAmB;AAEvC,SAAS,IAAI,4BAA4B;AAqI7B,SACE,KADF;AAhIL,IAAM,kBAAkB,GAAG;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,MAAM,EAAE,MAAM,GAAG;AAAA,IACnB;AAAA,EACF;AACF,CAAC;AAqCD,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,OAAO;AACT,MAAoB;AAElB,QAAM,WAAW,gBAAgB,EAAE,KAAK,CAAC;AACzC,QAAM,aAAa,qBAAqB,UAAU,YAAY,MAAM;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SACE,qBAAC,SACE;AAAA,iBACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,UAC3C,oBAAC,QAAG,WAAW,WAAW,SAAS;AAAA,WACrC,IACE;AAAA,QACJ,oBAAC,wBAAa,WAAW,WAAW,MAAO,mBAAQ;AAAA,QAClD,SACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,QAAG,WAAW,WAAW,SAAS;AAAA,UACnC,oBAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,WAC7C,IACE;AAAA,SACN;AAAA,MAEF,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AAAA,MACnB;AAAA,MAEA,8BAAC,UAAK,WAAW,WAAW,SAAU,UAAS;AAAA;AAAA,EACjD;AAEJ;AAEA,IAAO,kBAAQ;;;AC5Jf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
1
+ {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TooltipPlacement as HeroTooltipPlacement } from '@heroui/tooltip';\nimport type { ReactNode } from 'react';\n\nimport { Tooltip as HeroTooltip } from '@heroui/tooltip';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// tooltip variants\nexport const tooltipVariants = tv({\n slots: {\n base: '',\n body: 'w-full px-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'm-0 w-full border-divider p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pb-1 pt-2 font-semibold',\n headerWrapper: 'w-full',\n trigger: 'cursor-pointer',\n },\n variants: {\n size: {\n xs: {\n // base: 'max-w-xs',\n body: 'max-w-xs',\n footer: 'max-w-xs',\n header: 'max-w-xs',\n },\n sm: {\n // base: 'max-w-sm',\n body: 'max-w-sm',\n footer: 'max-w-sm',\n header: 'max-w-sm',\n },\n md: {\n // base: 'max-w-md',\n body: 'max-w-md',\n footer: 'max-w-md',\n header: 'max-w-md',\n },\n lg: {\n // base: 'max-w-lg',\n body: 'max-w-lg',\n footer: 'max-w-lg',\n header: 'max-w-lg',\n },\n xl: {\n // base: 'max-w-xl',\n body: 'max-w-xl',\n footer: 'max-w-xl',\n header: 'max-w-xl',\n },\n '2xl': {\n // base: 'max-w-2xl',\n body: 'max-w-2xl',\n footer: 'max-w-2xl',\n header: 'max-w-2xl',\n },\n '3xl': {\n // base: 'max-w-3xl',\n body: 'max-w-3xl',\n footer: 'max-w-3xl',\n header: 'max-w-3xl',\n },\n full: { base: '' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof tooltipVariants>;\ntype ClassName = TVClassName<typeof tooltipVariants>;\n\nexport type TooltipPlacement = HeroTooltipPlacement;\n\nexport interface TooltipProps extends VariantProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** delay in milliseconds before the tooltip opens. */\n closeDelay?: number;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** delay in milliseconds before the tooltip opens. */\n delay?: number;\n /** tooltip footer */\n footer?: ReactNode;\n /** tooltip header */\n header?: ReactNode;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n /** size of the tooltip */\n size?: VariantProps['size'];\n}\n\n/**\n * Tooltip component based on [HeroUI Tooltip](https://www.heroui.com//docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className: _className = undefined,\n closeDelay = 500,\n containerPadding = 0,\n content,\n defaultOpen = false,\n delay = 0,\n footer = undefined,\n header = undefined,\n onOpenChange = undefined,\n placement = 'top',\n size = 'full',\n}: TooltipProps) => {\n // classNames from slots\n const variants = tooltipVariants({ size });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroTooltip\n shouldFlip\n showArrow\n classNames={classNames}\n closeDelay={closeDelay}\n containerPadding={containerPadding}\n defaultOpen={defaultOpen}\n delay={delay}\n onOpenChange={onOpenChange}\n placement={placement}\n content={\n <div>\n {header ? (\n <div className={classNames.headerWrapper}>\n <div className={classNames.header}>{header}</div>\n <hr className={classNames.divider} />\n </div>\n ) : null}\n <ScrollShadow className={classNames.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={classNames.footerWrapper}>\n <hr className={classNames.divider} />\n <div className={classNames.footer}>{footer}</div>\n </div>\n ) : null}\n </div>\n }\n onClick={(e) => {\n e.preventDefault();\n }}\n >\n <span className={classNames.trigger}>{children}</span>\n </HeroTooltip>\n );\n};\n\nexport default Tooltip;\n","import Tooltip from './Tooltip';\n\nexport type { TooltipProps, TooltipPlacement } from './Tooltip';\n\nexport { Tooltip };\n\nexport default Tooltip;\n"],"mappings":";;;;;AAIA,SAAS,WAAW,mBAAmB;AAEvC,SAAS,IAAI,4BAA4B;AAqI7B,SACE,KADF;AAhIL,IAAM,kBAAkB,GAAG;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,MAAM,EAAE,MAAM,GAAG;AAAA,IACnB;AAAA,EACF;AACF,CAAC;AAqCD,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,OAAO;AACT,MAAoB;AAElB,QAAM,WAAW,gBAAgB,EAAE,KAAK,CAAC;AACzC,QAAM,aAAa,qBAAqB,UAAU,YAAY,MAAM;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SACE,qBAAC,SACE;AAAA,iBACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,UAC3C,oBAAC,QAAG,WAAW,WAAW,SAAS;AAAA,WACrC,IACE;AAAA,QACJ,oBAAC,wBAAa,WAAW,WAAW,MAAO,mBAAQ;AAAA,QAClD,SACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,QAAG,WAAW,WAAW,SAAS;AAAA,UACnC,oBAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,WAC7C,IACE;AAAA,SACN;AAAA,MAEF,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AAAA,MACnB;AAAA,MAEA,8BAAC,UAAK,WAAW,WAAW,SAAU,UAAS;AAAA;AAAA,EACjD;AAEJ;AAEA,IAAO,kBAAQ;;;AC5Jf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
@@ -33,12 +33,12 @@ var accordionVariants = _pixelutils.tv.call(void 0, {
33
33
  },
34
34
  showDivider: {
35
35
  true: {
36
- wrapper: "divide-divider divide-y divide-solid"
36
+ wrapper: "divide-y divide-solid divide-divider"
37
37
  }
38
38
  },
39
39
  showBottomTopDivider: {
40
40
  true: {
41
- wrapper: "border-divider border-t border-b border-solid"
41
+ wrapper: "border-b border-t border-solid border-divider"
42
42
  }
43
43
  }
44
44
  }
@@ -101,4 +101,4 @@ var Accordion_default2 = Accordion_default;
101
101
 
102
102
 
103
103
  exports.accordionVariants = accordionVariants; exports.Accordion_default = Accordion_default; exports.Accordion_default2 = Accordion_default2;
104
- //# sourceMappingURL=chunk-PF4VI6L7.cjs.map
104
+ //# sourceMappingURL=chunk-NSYHAJM2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-PF4VI6L7.cjs","../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-PF4VI6L7.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@heroui/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as HeroAccordion,\n AccordionItem as HeroAccordionItem,\n} from '@heroui/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://www.heroui.com//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: 'cursor-pointer',\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-divider divide-y divide-solid',\n },\n },\n showBottomTopDivider: {\n true: {\n wrapper: 'border-divider border-t border-b border-solid',\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 [HeroUI Accordion](https://www.heroui.com//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 <HeroAccordion\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 return (\n <HeroAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n {...item}\n />\n );\n })}\n </HeroAccordion>\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
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-NSYHAJM2.cjs","../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-NSYHAJM2.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@heroui/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as HeroAccordion,\n AccordionItem as HeroAccordionItem,\n} from '@heroui/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://www.heroui.com//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: 'cursor-pointer',\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 [HeroUI Accordion](https://www.heroui.com//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 <HeroAccordion\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 return (\n <HeroAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n {...item}\n />\n );\n })}\n </HeroAccordion>\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"]}
@@ -19,10 +19,10 @@ var popoverVariants = _pixelutils.tv.call(void 0, {
19
19
  slots: {
20
20
  body: "w-full px-4 py-2",
21
21
  content: "flex max-h-[80vh] flex-col p-0",
22
- divider: "border-divider m-0 w-full p-0",
22
+ divider: "m-0 w-full border-divider p-0",
23
23
  footer: "w-full px-4 py-2",
24
24
  footerWrapper: "w-full",
25
- header: "w-full px-4 pt-2 pb-1 font-semibold",
25
+ header: "w-full px-4 pb-1 pt-2 font-semibold",
26
26
  headerWrapper: "w-full",
27
27
  trigger: ""
28
28
  }
@@ -86,4 +86,4 @@ var Popover_default2 = Popover_default;
86
86
 
87
87
 
88
88
  exports.Popover_default = Popover_default; exports.Popover_default2 = Popover_default2;
89
- //# sourceMappingURL=chunk-YW4S32XV.cjs.map
89
+ //# sourceMappingURL=chunk-RPULU7LC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-YW4S32XV.cjs","../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACHA,wCAAuB;AACvB;AACE;AACA;AACA;AAAkB,0CACb;AAEP,oDAAyC;AAgG/B,+CAAA;AA3FH,IAAM,gBAAA,EAAkB,4BAAA;AAAG,EAChC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS,gCAAA;AAAA,IACT,OAAA,EAAS,+BAAA;AAAA,IACT,MAAA,EAAQ,kBAAA;AAAA,IACR,aAAA,EAAe,QAAA;AAAA,IACf,MAAA,EAAQ,qCAAA;AAAA,IACR,aAAA,EAAe,QAAA;AAAA,IACf,OAAA,EAAS;AAAA,EACX;AACF,CAAC,CAAA;AA4CD,IAAM,QAAA,EAAU,CAAC;AAAA,EACf,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,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,mBAAA,EAAqB,KAAA;AACvB,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,SAAA,EAAS,IAAA;AAAA,MACT,UAAA,EAAY,SAAA;AAAA,MACZ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA,EAAO,IAAA;AAAA,MACP;AAAA,IAAA,CAAA,EACK,eAAA,EACD,EAAE,MAAA,EAAQ,cAAA,CAAe,IAAA,EAAM,YAAA,EAAc,cAAA,CAAe,QAAQ,EAAA,EACpE,CAAC,CAAA,CAAA,EATN;AAAA,MAWC,QAAA,EAAA;AAAA,wBAAA,6BAAA,uBAAC,EAAA,EAAmB,aAAA,EAAa,MAAA,EAE9B,QAAA,EAAA,mBAAA,EAAA;AAAA;AAAA;AAAA,0BAIC,6BAAA,cAAC,EAAA,6CAAA,8CAAA,EAAO,SAAA,EAAW,SAAA,CAAU,QAAA,CAAA,EAAa,kBAAA,CAAA,EAAzC,EACE,SAAA,CAAA,CACH;AAAA,QAAA,EAAA,EAAA;AAAA;AAAA,0BAGA,6BAAA,QAAC,EAAA,EAAO,SAAA,EAAW,SAAA,CAAU,OAAA,EAAU,SAAA,CAAS;AAAA,QAAA,EAAA,CAEpD,CAAA;AAAA,wBACA,8BAAA,uBAAC,EAAA,EAAmB,aAAA,EAAa,aAAA,EAC9B,QAAA,EAAA;AAAA,UAAA,OAAA,kBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,aAAA,EACxB,QAAA,EAAA;AAAA,4BAAA,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,MAAA,EAAS,QAAA,EAAA,OAAA,CAAO,CAAA;AAAA,4BAC1C,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAW,SAAA,CAAU,QAAA,CAAS;AAAA,UAAA,EAAA,CACpC,EAAA,EACE,IAAA;AAAA,0BACJ,6BAAA,sCAAC,EAAA,EAAa,SAAA,EAAW,SAAA,CAAU,IAAA,EAAO,QAAA,EAAA,QAAA,CAAQ,CAAA;AAAA,UACjD,OAAA,kBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,aAAA,EACxB,QAAA,EAAA;AAAA,4BAAA,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAW,SAAA,CAAU,QAAA,CAAS,CAAA;AAAA,4BAClC,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,SAAA,CAAU,MAAA,EAAS,QAAA,EAAA,OAAA,CAAO;AAAA,UAAA,EAAA,CAC5C,EAAA,EACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,gBAAA,EAAQ,OAAA;ADvDf;AACA;AE3EA,IAAOA,iBAAAA,EAAQ,eAAA;AF6Ef;AACA;AACE;AACA;AACF,uFAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-YW4S32XV.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps } from '@heroui/button';\nimport type { PopoverProps as HeroPopoverProps } from '@heroui/popover';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '@heroui/button';\nimport {\n Popover as HeroPopover,\n PopoverContent as HeroPopoverContent,\n PopoverTrigger as HeroPopoverTrigger,\n} from '@heroui/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-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'border-divider m-0 w-full p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pt-2 pb-1 font-semibold',\n headerWrapper: 'w-full',\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 /** Popover title */\n header?: 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?: HeroPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: HeroPopoverProps['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 /** When defined a Button will be rendered as trigger (with provided props) instead of unstyled html button */\n triggerButtonProps?: Pick<\n ButtonProps,\n | 'aria-label'\n | 'className'\n | 'color'\n | 'disableAnimation'\n | 'disabled'\n | 'size'\n | 'variant'\n >;\n}\n\n/**\n * Popover component based on [HeroUI Card](https://www.heroui.com//docs/components/popover)\n */\nconst Popover = ({\n children = null,\n className: _className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n header = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n triggerButtonProps = undefined,\n}: PopoverProps) => {\n // className from slots\n const variants = popoverVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n return (\n <HeroPopover\n showArrow\n classNames={className}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <HeroPopoverTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by HeroPopoverTrigger */}\n {triggerButtonProps ? (\n // TODO: currently we have to use @heroui/button because\n // passing ref does not work (even with forwardRef in Button)\n\n <Button className={className.trigger} {...triggerButtonProps}>\n {children}\n </Button>\n ) : (\n // eslint-disable-next-line react/button-has-type\n <button className={className.trigger}>{children}</button>\n )}\n </HeroPopoverTrigger>\n <HeroPopoverContent data-testid={contentTestId}>\n {header ? (\n <div className={className.headerWrapper}>\n <div className={className.header}>{header}</div>\n <hr className={className.divider} />\n </div>\n ) : null}\n <ScrollShadow className={className.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={className.footerWrapper}>\n <hr className={className.divider} />\n <div className={className.footer}>{footer}</div>\n </div>\n ) : null}\n </HeroPopoverContent>\n </HeroPopover>\n );\n};\n\nexport default Popover;\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-RPULU7LC.cjs","../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-RPULU7LC.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps } from '@heroui/button';\nimport type { PopoverProps as HeroPopoverProps } from '@heroui/popover';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '@heroui/button';\nimport {\n Popover as HeroPopover,\n PopoverContent as HeroPopoverContent,\n PopoverTrigger as HeroPopoverTrigger,\n} from '@heroui/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-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'm-0 w-full border-divider p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pb-1 pt-2 font-semibold',\n headerWrapper: 'w-full',\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 /** Popover title */\n header?: 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?: HeroPopoverProps['placement'];\n /** The container element in which the overlay portal will be placed. */\n portalContainer?: HeroPopoverProps['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 /** When defined a Button will be rendered as trigger (with provided props) instead of unstyled html button */\n triggerButtonProps?: Pick<\n ButtonProps,\n | 'aria-label'\n | 'className'\n | 'color'\n | 'disableAnimation'\n | 'disabled'\n | 'size'\n | 'variant'\n >;\n}\n\n/**\n * Popover component based on [HeroUI Card](https://www.heroui.com//docs/components/popover)\n */\nconst Popover = ({\n children = null,\n className: _className = undefined,\n content,\n contentTestId = undefined,\n footer = undefined,\n header = undefined,\n openControlled = undefined,\n placement = 'top',\n portalContainer = undefined,\n shouldBlockScroll = undefined,\n testId = undefined,\n triggerButtonProps = undefined,\n}: PopoverProps) => {\n // className from slots\n const variants = popoverVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n return (\n <HeroPopover\n showArrow\n classNames={className}\n placement={placement}\n portalContainer={portalContainer}\n radius=\"sm\"\n shouldBlockScroll={shouldBlockScroll}\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <HeroPopoverTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by HeroPopoverTrigger */}\n {triggerButtonProps ? (\n // TODO: currently we have to use @heroui/button because\n // passing ref does not work (even with forwardRef in Button)\n\n <Button className={className.trigger} {...triggerButtonProps}>\n {children}\n </Button>\n ) : (\n // eslint-disable-next-line react/button-has-type\n <button className={className.trigger}>{children}</button>\n )}\n </HeroPopoverTrigger>\n <HeroPopoverContent data-testid={contentTestId}>\n {header ? (\n <div className={className.headerWrapper}>\n <div className={className.header}>{header}</div>\n <hr className={className.divider} />\n </div>\n ) : null}\n <ScrollShadow className={className.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={className.footerWrapper}>\n <hr className={className.divider} />\n <div className={className.footer}>{footer}</div>\n </div>\n ) : null}\n </HeroPopoverContent>\n </HeroPopover>\n );\n};\n\nexport default Popover;\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"]}
@@ -110,7 +110,7 @@ var Menu = ({
110
110
  Button,
111
111
  __spreadProps(__spreadValues({
112
112
  isIconOnly: true,
113
- className: cn("outline-divider min-w-0 outline", className.trigger),
113
+ className: cn("min-w-0 outline outline-divider", className.trigger),
114
114
  radius: "full",
115
115
  size: "sm",
116
116
  variant: "light"
@@ -166,4 +166,4 @@ export {
166
166
  Menu_default,
167
167
  Menu_default2
168
168
  };
169
- //# sourceMappingURL=chunk-EZT2D2DJ.js.map
169
+ //# sourceMappingURL=chunk-SRDRLHAA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Menu/Menu.tsx","../src/Menu/VerticalDotsIcon.tsx","../src/Menu/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps } from '@heroui/button';\nimport type {\n DropdownItemProps as HeroDropdownItemProps,\n DropdownProps as HeroDropdownProps,\n DropdownSectionProps as HeroDropdownSectionProps,\n} from '@heroui/dropdown';\nimport type { Key, ReactNode } from 'react';\n\nimport { Button } from '@heroui/button';\nimport {\n Dropdown as HeroDropdown,\n DropdownItem as HeroDropdownItem,\n DropdownMenu as HeroDropdownMenu,\n DropdownSection as HeroDropdownSection,\n DropdownTrigger as HeroDropdownTrigger,\n} from '@heroui/dropdown';\n\nimport { cn, slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport VerticalDotsIcon from './VerticalDotsIcon';\n\n/**\n * Menu component based on [HeroUI Dropdown](https://www.heroui.com//docs/components/dropdown)\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?: HeroDropdownItemProps['onPress'];\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\n// menu styling variants\nexport const menuVariants = tv({\n slots: {\n item: '',\n trigger: 'z-auto',\n },\n});\n\ntype VariantProps = TVProps<typeof menuVariants>;\ntype ClassName = TVClassName<typeof menuVariants>;\n\nexport interface MenuProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** placement of the menu */\n placement?: HeroDropdownProps['placement'];\n /** called if item is selected */\n onAction?: (key: Key) => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** When defined a Button will be rendered as trigger (with provided props) instead of unstyled html button */\n triggerButtonProps?: Pick<\n ButtonProps,\n | 'aria-label'\n | 'className'\n | 'color'\n | 'disableAnimation'\n | 'disableRipple'\n | 'disabled'\n | 'size'\n | 'variant'\n > & { 'data-testid'?: string };\n}\n\n// type guard for MenuSection\nconst isMenuSection = (item: MenuSection | MenuItem): item is MenuSection => {\n return 'items' in item;\n};\n\n// returns String[] of disabled items/keys\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]): string[] => {\n const flatItems = items.reduce<MenuItem[]>((acc, item) => {\n if (isMenuSection(item)) {\n acc.push(...item.items);\n } else {\n acc.push(item);\n }\n return acc;\n }, []);\n return flatItems\n .filter((item) => {\n return item.disabled === true;\n })\n .map((item) => {\n return item.key;\n });\n};\n\nconst renderMenuItem = (item: MenuItem, itemClassName?: string) => {\n return (\n <HeroDropdownItem\n key={item.key}\n className={cn(itemClassName, item.className)}\n data-testid={slugify(item.testId ?? item.key)}\n description={item.description}\n onPress={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </HeroDropdownItem>\n );\n};\n\n/**\n * Dropdown menu component based on [HeroUI Dropdown](https://www.heroui.com//docs/components/dropdown)\n */\nconst Menu = ({\n ariaLabel = undefined,\n children = null,\n className: _className = undefined,\n isDisabled = false,\n items,\n onAction = undefined,\n placement = undefined,\n testId = undefined,\n triggerButtonProps = undefined,\n}: MenuProps) => {\n // className from slots\n const variants = menuVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n // determine trigger button variant\n let triggerButton = (\n <button className={className.trigger} type=\"button\">\n {children}\n </button>\n );\n if (!children) {\n // default to ellipsis icon when no children are provided\n triggerButton = (\n <Button\n isIconOnly\n className={cn('outline-divider min-w-0 outline', className.trigger)}\n radius=\"full\"\n size=\"sm\"\n variant=\"light\"\n {...triggerButtonProps}\n >\n <VerticalDotsIcon />\n </Button>\n );\n } else if (triggerButtonProps) {\n // use provided triggerButtonProps with hero button\n triggerButton = (\n <Button className={className.trigger} {...triggerButtonProps}>\n {children}\n </Button>\n );\n }\n\n return (\n <HeroDropdown\n aria-label={ariaLabel}\n isDisabled={isDisabled}\n placement={placement}\n >\n <HeroDropdownTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by HeroDropdownTrigger */}\n {triggerButton}\n </HeroDropdownTrigger>\n <HeroDropdownMenu\n disabledKeys={getDisabledKeys(items)}\n items={items}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <HeroDropdownSection\n key={item.key}\n items={item.items}\n title={item.label as HeroDropdownSectionProps['title']}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem, className.item);\n }}\n </HeroDropdownSection>\n );\n }\n return renderMenuItem(item, className.item);\n }}\n </HeroDropdownMenu>\n </HeroDropdown>\n );\n};\n\nexport default Menu;\n","import type { SVGProps } from 'react';\n\n// Default Icon for Menu button\nconst VerticalDotsIcon = ({\n size = 24,\n width,\n height,\n ...props\n}: SVGProps<SVGSVGElement> & { size?: number }) => {\n return (\n <svg\n aria-hidden=\"true\"\n fill=\"none\"\n focusable=\"false\"\n height={size ?? height}\n role=\"presentation\"\n viewBox=\"0 0 24 24\"\n width={size ?? width}\n {...props}\n >\n <path\n d=\"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 12c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default VerticalDotsIcon;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"],"mappings":";;;;;;;AASA,SAAS,cAAc;AACvB;AAAA,EACE,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,OACd;AAEP,SAAS,IAAI,SAAS,IAAI,4BAA4B;;;ACEhD;AAjBN,IAAM,mBAAmB,CAAC,OAKyB;AALzB,eACxB;AAAA,WAAO;AAAA,IACP;AAAA,IACA;AAAA,EANF,IAG0B,IAIrB,kBAJqB,IAIrB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,WAAU;AAAA,MACV,QAAQ,sBAAQ;AAAA,MAChB,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,OAAO,sBAAQ;AAAA,OACX,QARL;AAAA,MAUC;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,2BAAQ;;;ADgGX,gBAAAA,MA6DA,YA7DA;AAnEG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;AAqCD,IAAM,gBAAgB,CAAC,SAAsD;AAC3E,SAAO,WAAW;AACpB;AAGA,IAAM,kBAAkB,CAAC,UAAgD;AACvE,QAAM,YAAY,MAAM,OAAmB,CAAC,KAAK,SAAS;AACxD,QAAI,cAAc,IAAI,GAAG;AACvB,UAAI,KAAK,GAAG,KAAK,KAAK;AAAA,IACxB,OAAO;AACL,UAAI,KAAK,IAAI;AAAA,IACf;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,SAAO,UACJ,OAAO,CAAC,SAAS;AAChB,WAAO,KAAK,aAAa;AAAA,EAC3B,CAAC,EACA,IAAI,CAAC,SAAS;AACb,WAAO,KAAK;AAAA,EACd,CAAC;AACL;AAEA,IAAM,iBAAiB,CAAC,MAAgB,kBAA2B;AA1HnE;AA2HE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MAEC,WAAW,GAAG,eAAe,KAAK,SAAS;AAAA,MAC3C,eAAa,SAAQ,UAAK,WAAL,YAAe,KAAK,GAAG;AAAA,MAC5C,aAAa,KAAK;AAAA,MAClB,SAAS,KAAK;AAAA,MACd,cAAc,KAAK;AAAA,MAElB,eAAK;AAAA;AAAA,IAPD,KAAK;AAAA,EAQZ;AAEJ;AAKA,IAAM,OAAO,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,qBAAqB;AACvB,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,YAAY,qBAAqB,UAAU,YAAY,SAAS;AAGtE,MAAI,gBACF,gBAAAA,KAAC,YAAO,WAAW,UAAU,SAAS,MAAK,UACxC,UACH;AAEF,MAAI,CAAC,UAAU;AAEb,oBACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,YAAU;AAAA,QACV,WAAW,GAAG,mCAAmC,UAAU,OAAO;AAAA,QAClE,QAAO;AAAA,QACP,MAAK;AAAA,QACL,SAAQ;AAAA,SACJ,qBANL;AAAA,QAQC,0BAAAA,KAAC,4BAAiB;AAAA;AAAA,IACpB;AAAA,EAEJ,WAAW,oBAAoB;AAE7B,oBACE,gBAAAA,KAAC,uCAAO,WAAW,UAAU,WAAa,qBAAzC,EACE,WACH;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MAEA;AAAA,wBAAAA,KAAC,uBAAoB,eAAa,QAE/B,yBACH;AAAA,QACA,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,cAAc,gBAAgB,KAAK;AAAA,YACnC;AAAA,YACA;AAAA,YAEC,WAAC,SAAS;AACT,kBAAI,WAAW,MAAM;AACnB,uBACE,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBAEC,OAAO,KAAK;AAAA,oBACZ,OAAO,KAAK;AAAA,oBAEX,WAAC,gBAAgB;AAChB,6BAAO,eAAe,aAAa,UAAU,IAAI;AAAA,oBACnD;AAAA;AAAA,kBANK,KAAK;AAAA,gBAOZ;AAAA,cAEJ;AACA,qBAAO,eAAe,MAAM,UAAU,IAAI;AAAA,YAC5C;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,eAAQ;;;AEtNf,IAAOC,gBAAQ;","names":["jsx","Menu_default"]}
1
+ {"version":3,"sources":["../src/Menu/Menu.tsx","../src/Menu/VerticalDotsIcon.tsx","../src/Menu/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps } from '@heroui/button';\nimport type {\n DropdownItemProps as HeroDropdownItemProps,\n DropdownProps as HeroDropdownProps,\n DropdownSectionProps as HeroDropdownSectionProps,\n} from '@heroui/dropdown';\nimport type { Key, ReactNode } from 'react';\n\nimport { Button } from '@heroui/button';\nimport {\n Dropdown as HeroDropdown,\n DropdownItem as HeroDropdownItem,\n DropdownMenu as HeroDropdownMenu,\n DropdownSection as HeroDropdownSection,\n DropdownTrigger as HeroDropdownTrigger,\n} from '@heroui/dropdown';\n\nimport { cn, slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport VerticalDotsIcon from './VerticalDotsIcon';\n\n/**\n * Menu component based on [HeroUI Dropdown](https://www.heroui.com//docs/components/dropdown)\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?: HeroDropdownItemProps['onPress'];\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\n// menu styling variants\nexport const menuVariants = tv({\n slots: {\n item: '',\n trigger: 'z-auto',\n },\n});\n\ntype VariantProps = TVProps<typeof menuVariants>;\ntype ClassName = TVClassName<typeof menuVariants>;\n\nexport interface MenuProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** placement of the menu */\n placement?: HeroDropdownProps['placement'];\n /** called if item is selected */\n onAction?: (key: Key) => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** When defined a Button will be rendered as trigger (with provided props) instead of unstyled html button */\n triggerButtonProps?: Pick<\n ButtonProps,\n | 'aria-label'\n | 'className'\n | 'color'\n | 'disableAnimation'\n | 'disableRipple'\n | 'disabled'\n | 'size'\n | 'variant'\n > & { 'data-testid'?: string };\n}\n\n// type guard for MenuSection\nconst isMenuSection = (item: MenuSection | MenuItem): item is MenuSection => {\n return 'items' in item;\n};\n\n// returns String[] of disabled items/keys\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]): string[] => {\n const flatItems = items.reduce<MenuItem[]>((acc, item) => {\n if (isMenuSection(item)) {\n acc.push(...item.items);\n } else {\n acc.push(item);\n }\n return acc;\n }, []);\n return flatItems\n .filter((item) => {\n return item.disabled === true;\n })\n .map((item) => {\n return item.key;\n });\n};\n\nconst renderMenuItem = (item: MenuItem, itemClassName?: string) => {\n return (\n <HeroDropdownItem\n key={item.key}\n className={cn(itemClassName, item.className)}\n data-testid={slugify(item.testId ?? item.key)}\n description={item.description}\n onPress={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </HeroDropdownItem>\n );\n};\n\n/**\n * Dropdown menu component based on [HeroUI Dropdown](https://www.heroui.com//docs/components/dropdown)\n */\nconst Menu = ({\n ariaLabel = undefined,\n children = null,\n className: _className = undefined,\n isDisabled = false,\n items,\n onAction = undefined,\n placement = undefined,\n testId = undefined,\n triggerButtonProps = undefined,\n}: MenuProps) => {\n // className from slots\n const variants = menuVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n // determine trigger button variant\n let triggerButton = (\n <button className={className.trigger} type=\"button\">\n {children}\n </button>\n );\n if (!children) {\n // default to ellipsis icon when no children are provided\n triggerButton = (\n <Button\n isIconOnly\n className={cn('min-w-0 outline outline-divider', className.trigger)}\n radius=\"full\"\n size=\"sm\"\n variant=\"light\"\n {...triggerButtonProps}\n >\n <VerticalDotsIcon />\n </Button>\n );\n } else if (triggerButtonProps) {\n // use provided triggerButtonProps with hero button\n triggerButton = (\n <Button className={className.trigger} {...triggerButtonProps}>\n {children}\n </Button>\n );\n }\n\n return (\n <HeroDropdown\n aria-label={ariaLabel}\n isDisabled={isDisabled}\n placement={placement}\n >\n <HeroDropdownTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by HeroDropdownTrigger */}\n {triggerButton}\n </HeroDropdownTrigger>\n <HeroDropdownMenu\n disabledKeys={getDisabledKeys(items)}\n items={items}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <HeroDropdownSection\n key={item.key}\n items={item.items}\n title={item.label as HeroDropdownSectionProps['title']}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem, className.item);\n }}\n </HeroDropdownSection>\n );\n }\n return renderMenuItem(item, className.item);\n }}\n </HeroDropdownMenu>\n </HeroDropdown>\n );\n};\n\nexport default Menu;\n","import type { SVGProps } from 'react';\n\n// Default Icon for Menu button\nconst VerticalDotsIcon = ({\n size = 24,\n width,\n height,\n ...props\n}: SVGProps<SVGSVGElement> & { size?: number }) => {\n return (\n <svg\n aria-hidden=\"true\"\n fill=\"none\"\n focusable=\"false\"\n height={size ?? height}\n role=\"presentation\"\n viewBox=\"0 0 24 24\"\n width={size ?? width}\n {...props}\n >\n <path\n d=\"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 12c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default VerticalDotsIcon;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"],"mappings":"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","names":["jsx","Menu_default"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk3BZVACECcjs = require('./chunk-3BZVACEC.cjs');
3
+ var _chunkZFHOZRR2cjs = require('./chunk-ZFHOZRR2.cjs');
4
4
 
5
5
 
6
6
 
@@ -2614,7 +2614,7 @@ var CopiedRenderer = () => {
2614
2614
  const isCopied = props["data-copied"];
2615
2615
  const elmClasses = _pixelutils.cn.call(void 0,
2616
2616
  className,
2617
- "absolute -top-[2px] -right-4 h-4 w-4 fill-transparent! pl-1",
2617
+ "fill-transparent! absolute -right-4 -top-[2px] h-4 w-4 pl-1",
2618
2618
  { "text-success": isCopied }
2619
2619
  );
2620
2620
  const handleKeyDown = (e) => {
@@ -2626,7 +2626,7 @@ var CopiedRenderer = () => {
2626
2626
  "span",
2627
2627
  {
2628
2628
  "aria-label": isCopied ? "Copied to clipboard" : "Copy to clipboard",
2629
- className: "relative ml-0! h-[1em]! w-0!",
2629
+ className: "ml-0! h-[1em]! w-0! relative",
2630
2630
  "data-testid": "copy-button",
2631
2631
  onKeyDown: handleKeyDown,
2632
2632
  role: "button",
@@ -2656,24 +2656,24 @@ var ErrorRenderer = ({
2656
2656
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2657
2657
  "div",
2658
2658
  {
2659
- className: "border-danger bg-danger-50 text-danger mb-4 flex flex-col items-center rounded-lg border p-4 text-sm",
2660
- role: "alert",
2661
2659
  "aria-live": "polite",
2660
+ className: "mb-4 flex flex-col items-center rounded-lg border border-danger bg-danger-50 p-4 text-sm text-danger",
2661
+ role: "alert",
2662
2662
  children: [
2663
2663
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full justify-between gap-6", children: [
2664
2664
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center", children: [
2665
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaTimesCircle, { className: "mr-2", "aria-hidden": "true" }),
2665
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaTimesCircle, { "aria-hidden": "true", className: "mr-2" }),
2666
2666
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium", children: "Failed to parse JSON data" })
2667
2667
  ] }),
2668
2668
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2669
- _chunk3BZVACECcjs.Button_default,
2669
+ _chunkZFHOZRR2cjs.Button_default,
2670
2670
  {
2671
+ "aria-controls": "error-details",
2672
+ "aria-expanded": showDetails,
2671
2673
  color: "danger",
2674
+ onClick: onToggleDetails,
2672
2675
  size: "sm",
2673
2676
  variant: "light",
2674
- onClick: onToggleDetails,
2675
- "aria-expanded": showDetails,
2676
- "aria-controls": "error-details",
2677
2677
  children: showDetails ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2678
2678
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fa.FaChevronUp, { "aria-hidden": "true" }),
2679
2679
  " Hide Details"
@@ -2684,7 +2684,7 @@ var ErrorRenderer = ({
2684
2684
  }
2685
2685
  )
2686
2686
  ] }),
2687
- showDetails && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { id: "error-details", className: "mt-4 w-full text-left", children: [
2687
+ showDetails ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-4 w-full text-left", id: "error-details", children: [
2688
2688
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
2689
2689
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: "Error:" }),
2690
2690
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "pre", { children: error instanceof Error ? `${error.name}: ${error.message}` : "Unknown error" })
@@ -2693,7 +2693,7 @@ var ErrorRenderer = ({
2693
2693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: "Data:" }),
2694
2694
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "pre", { children: typeof data !== "string" ? JSON.stringify(data, null, 2) : data })
2695
2695
  ] })
2696
- ] })
2696
+ ] }) : null
2697
2697
  ]
2698
2698
  }
2699
2699
  );
@@ -2707,7 +2707,7 @@ var NullRenderer = () => {
2707
2707
  esm_default.Null,
2708
2708
  {
2709
2709
  render: () => {
2710
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-warning-100 text-warning-700 rounded px-1 text-xs", children: "null" });
2710
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rounded bg-warning-100 px-1 text-xs text-warning-700", children: "null" });
2711
2711
  }
2712
2712
  }
2713
2713
  );
@@ -2793,4 +2793,4 @@ var Json_default2 = Json_default;
2793
2793
 
2794
2794
 
2795
2795
  exports.Json_default = Json_default; exports.Json_default2 = Json_default2;
2796
- //# sourceMappingURL=chunk-JTVT63LG.cjs.map
2796
+ //# sourceMappingURL=chunk-VVAZOJQG.cjs.map