@fuf-stack/pixels 0.5.6 → 0.5.7
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.
- package/dist/Button/index.cjs +2 -3
- package/dist/Button/index.js +1 -2
- package/dist/Card/index.cjs +2 -3
- package/dist/Card/index.js +1 -2
- package/dist/Json/index.cjs +3 -4
- package/dist/Json/index.js +2 -3
- package/dist/Label/index.cjs +2 -3
- package/dist/Label/index.js +1 -2
- package/dist/Menu/index.cjs +2 -3
- package/dist/Menu/index.js +1 -2
- package/dist/Modal/index.cjs +2 -3
- package/dist/Modal/index.js +1 -2
- package/dist/Popover/index.cjs +2 -3
- package/dist/Popover/index.js +1 -2
- package/dist/Tooltip/index.cjs +2 -3
- package/dist/Tooltip/index.js +1 -2
- package/dist/{chunk-QC2FAH2W.js → chunk-236GX7PP.js} +4 -9
- package/dist/{chunk-QC2FAH2W.js.map → chunk-236GX7PP.js.map} +1 -1
- package/dist/chunk-6G5VTF6K.js +43 -0
- package/dist/{chunk-PD246EV7.js.map → chunk-6G5VTF6K.js.map} +1 -1
- package/dist/{chunk-NB2Y66Z3.cjs → chunk-7GYTJLD6.cjs} +28 -33
- package/dist/chunk-7GYTJLD6.cjs.map +1 -0
- package/dist/chunk-B35F4645.cjs +43 -0
- package/dist/chunk-B35F4645.cjs.map +1 -0
- package/dist/{chunk-5QFG2VXP.cjs → chunk-BMKGS5PK.cjs} +4 -9
- package/dist/chunk-BMKGS5PK.cjs.map +1 -0
- package/dist/{chunk-SSPYXO6E.cjs → chunk-BSBPQXNG.cjs} +5 -10
- package/dist/chunk-BSBPQXNG.cjs.map +1 -0
- package/dist/{chunk-22MRKUHN.js → chunk-BTBF633Q.js} +27 -32
- package/dist/{chunk-22MRKUHN.js.map → chunk-BTBF633Q.js.map} +1 -1
- package/dist/{chunk-DFKOD7QX.cjs → chunk-GIM2W4JH.cjs} +10 -15
- package/dist/chunk-GIM2W4JH.cjs.map +1 -0
- package/dist/{chunk-R2JOVQS5.cjs → chunk-HHTTNYDC.cjs} +10 -15
- package/dist/chunk-HHTTNYDC.cjs.map +1 -0
- package/dist/{chunk-ILTQEFAN.js → chunk-HYXTFS4R.js} +8 -13
- package/dist/{chunk-ILTQEFAN.js.map → chunk-HYXTFS4R.js.map} +1 -1
- package/dist/{chunk-2C2AZ4GY.js → chunk-IEZVKZFP.js} +9 -14
- package/dist/{chunk-2C2AZ4GY.js.map → chunk-IEZVKZFP.js.map} +1 -1
- package/dist/{chunk-JSV7ZIIA.cjs → chunk-ND4VZZVU.cjs} +9 -14
- package/dist/chunk-ND4VZZVU.cjs.map +1 -0
- package/dist/{chunk-DAIBNNTS.js → chunk-O6OLR36Y.js} +7 -12
- package/dist/{chunk-DAIBNNTS.js.map → chunk-O6OLR36Y.js.map} +1 -1
- package/dist/{chunk-L6CCOLHU.js → chunk-S2WOGSQV.js} +3 -8
- package/dist/{chunk-L6CCOLHU.js.map → chunk-S2WOGSQV.js.map} +1 -1
- package/dist/{chunk-XGAFPFRL.js → chunk-VOXYQARK.js} +9 -14
- package/dist/{chunk-XGAFPFRL.js.map → chunk-VOXYQARK.js.map} +1 -1
- package/dist/{chunk-KVCXEJJD.cjs → chunk-X2MUU2ZI.cjs} +8 -13
- package/dist/chunk-X2MUU2ZI.cjs.map +1 -0
- package/dist/index.cjs +16 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -19
- package/dist/index.js.map +1 -1
- package/package.json +10 -6
- package/dist/chunk-5QFG2VXP.cjs.map +0 -1
- package/dist/chunk-CJ7YDKHN.cjs +0 -48
- package/dist/chunk-CJ7YDKHN.cjs.map +0 -1
- package/dist/chunk-DFKOD7QX.cjs.map +0 -1
- package/dist/chunk-EOBBMFEW.js +0 -3193
- package/dist/chunk-EOBBMFEW.js.map +0 -1
- package/dist/chunk-JSV7ZIIA.cjs.map +0 -1
- package/dist/chunk-KVCXEJJD.cjs.map +0 -1
- package/dist/chunk-NB2Y66Z3.cjs.map +0 -1
- package/dist/chunk-PD246EV7.js +0 -48
- package/dist/chunk-PTN54X4Z.cjs +0 -3193
- package/dist/chunk-PTN54X4Z.cjs.map +0 -1
- package/dist/chunk-R2JOVQS5.cjs.map +0 -1
- package/dist/chunk-SSPYXO6E.cjs.map +0 -1
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__toESM,
|
|
3
|
-
require_jsx_runtime
|
|
4
|
-
} from "./chunk-EOBBMFEW.js";
|
|
5
|
-
|
|
6
1
|
// src/Modal/Modal.tsx
|
|
7
|
-
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
8
2
|
import {
|
|
9
3
|
Modal as NextModal,
|
|
10
4
|
ModalBody as NextModalBody,
|
|
@@ -13,6 +7,7 @@ import {
|
|
|
13
7
|
ModalHeader as NextModalHeader
|
|
14
8
|
} from "@nextui-org/modal";
|
|
15
9
|
import { tv } from "tailwind-variants";
|
|
10
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
16
11
|
var modalVariants = tv({
|
|
17
12
|
slots: {
|
|
18
13
|
backdrop: "",
|
|
@@ -56,7 +51,7 @@ var Modal = ({
|
|
|
56
51
|
header: variants.header({ className: classNameObj.header }),
|
|
57
52
|
wrapper: variants.wrapper({ className: classNameObj.wrapper })
|
|
58
53
|
};
|
|
59
|
-
return /* @__PURE__ */
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
60
55
|
NextModal,
|
|
61
56
|
{
|
|
62
57
|
backdrop: "opaque",
|
|
@@ -66,10 +61,10 @@ var Modal = ({
|
|
|
66
61
|
onClose,
|
|
67
62
|
placement: "center",
|
|
68
63
|
scrollBehavior: "inside",
|
|
69
|
-
children: /* @__PURE__ */
|
|
70
|
-
header && /* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
footer && /* @__PURE__ */
|
|
64
|
+
children: /* @__PURE__ */ jsx(NextModalContent, { "data-testid": testId ? `modal_${testId}` : "modal", children: () => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
65
|
+
header && /* @__PURE__ */ jsx(NextModalHeader, { children: header }),
|
|
66
|
+
/* @__PURE__ */ jsx(NextModalBody, { id: "modal_body", children }),
|
|
67
|
+
footer && /* @__PURE__ */ jsx(NextModalFooter, { children: footer })
|
|
73
68
|
] }) })
|
|
74
69
|
}
|
|
75
70
|
);
|
|
@@ -84,4 +79,4 @@ export {
|
|
|
84
79
|
Modal_default,
|
|
85
80
|
Modal_default2
|
|
86
81
|
};
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-O6OLR36Y.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Modal/Modal.tsx","../src/Modal/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\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';\nimport { tv } from 'tailwind-variants';\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 ModalVariantProps = VariantProps<typeof modalVariants>;\ntype ModalVariantSlots = Partial<\n Record<keyof ReturnType<typeof modalVariants>, string>\n>;\n\nexport interface ModalProps extends ModalVariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | ModalVariantSlots;\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 /** modal size */\n size?: ModalVariantProps['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 footer = undefined,\n header = undefined,\n isOpen,\n onClose,\n size = 'md',\n testId = undefined,\n}: ModalProps) => {\n // classNames from slots\n const variants = modalVariants({ size });\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n backdrop: variants.backdrop({ className: classNameObj.backdrop }),\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n body: variants.body({ className: classNameObj.body }),\n closeButton: variants.closeButton({ className: classNameObj.closeButton }),\n footer: variants.footer({ className: classNameObj.footer }),\n header: variants.header({ className: classNameObj.header }),\n wrapper: variants.wrapper({ className: classNameObj.wrapper }),\n };\n\n return (\n <NextModal\n backdrop=\"opaque\"\n classNames={classNames}\n data-testid={testId}\n isOpen={isOpen}\n onClose={onClose}\n placement=\"center\"\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":"
|
|
1
|
+
{"version":3,"sources":["../src/Modal/Modal.tsx","../src/Modal/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\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';\nimport { tv } from 'tailwind-variants';\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 ModalVariantProps = VariantProps<typeof modalVariants>;\ntype ModalVariantSlots = Partial<\n Record<keyof ReturnType<typeof modalVariants>, string>\n>;\n\nexport interface ModalProps extends ModalVariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | ModalVariantSlots;\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 /** modal size */\n size?: ModalVariantProps['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 footer = undefined,\n header = undefined,\n isOpen,\n onClose,\n size = 'md',\n testId = undefined,\n}: ModalProps) => {\n // classNames from slots\n const variants = modalVariants({ size });\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n backdrop: variants.backdrop({ className: classNameObj.backdrop }),\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n body: variants.body({ className: classNameObj.body }),\n closeButton: variants.closeButton({ className: classNameObj.closeButton }),\n footer: variants.footer({ className: classNameObj.footer }),\n header: variants.header({ className: classNameObj.header }),\n wrapper: variants.wrapper({ className: classNameObj.wrapper }),\n };\n\n return (\n <NextModal\n backdrop=\"opaque\"\n classNames={classNames}\n data-testid={testId}\n isOpen={isOpen}\n onClose={onClose}\n placement=\"center\"\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":";AAGA;AAAA,EACE,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,OACV;AACP,SAAS,UAAU;AAwFT,mBACa,KADb;AArFH,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;AA6BD,IAAM,QAAQ,CAAC;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,SAAS;AACX,MAAkB;AAEhB,QAAM,WAAW,cAAc,EAAE,KAAK,CAAC;AACvC,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,UAAU,SAAS,SAAS,EAAE,WAAW,aAAa,SAAS,CAAC;AAAA,IAChE,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,aAAa,SAAS,YAAY,EAAE,WAAW,aAAa,YAAY,CAAC;AAAA,IACzE,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,SAAS,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA,EAC/D;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,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;;;ACvGf,IAAOA,iBAAQ;","names":["Modal_default"]}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__toESM,
|
|
3
|
-
require_jsx_runtime
|
|
4
|
-
} from "./chunk-EOBBMFEW.js";
|
|
5
|
-
|
|
6
1
|
// src/Label/Label.tsx
|
|
7
|
-
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
8
2
|
import { Chip as NextLabel } from "@nextui-org/chip";
|
|
9
3
|
import cn from "classnames";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
5
|
var Label = ({
|
|
11
6
|
children,
|
|
12
7
|
className = void 0,
|
|
@@ -14,7 +9,7 @@ var Label = ({
|
|
|
14
9
|
endContent = void 0,
|
|
15
10
|
size = "md",
|
|
16
11
|
startContent = void 0
|
|
17
|
-
}) => /* @__PURE__ */
|
|
12
|
+
}) => /* @__PURE__ */ jsx(
|
|
18
13
|
NextLabel,
|
|
19
14
|
{
|
|
20
15
|
className: cn(className),
|
|
@@ -34,4 +29,4 @@ export {
|
|
|
34
29
|
Label_default,
|
|
35
30
|
Label_default2
|
|
36
31
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-S2WOGSQV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Label/Label.tsx","../src/Label/index.ts"],"sourcesContent":["import type { ChipProps } from '@nextui-org/chip';\nimport type { ReactNode } from 'react';\n\nimport { Chip as NextLabel } from '@nextui-org/chip';\nimport cn from 'classnames';\n\nexport interface LabelProps {\n /** content of the label */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the label */\n color?: ChipProps['color'];\n /** element to be rendered in the right side of the label */\n endContent?: ChipProps['endContent'];\n /** size of the label */\n size?: ChipProps['size'];\n /** element to be rendered in the left side of the label */\n startContent?: ChipProps['startContent'];\n}\n\n/**\n * Label component based on [NextUI Chip](https://nextui.org/docs/components/chip)\n */\nconst Label = ({\n children,\n className = undefined,\n color = 'default',\n endContent = undefined,\n size = 'md',\n startContent = undefined,\n}: LabelProps) => (\n <NextLabel\n className={cn(className)}\n color={color}\n endContent={endContent}\n size={size}\n startContent={startContent}\n >\n {children}\n </NextLabel>\n);\n\nexport default Label;\n","import Label from './Label';\n\nexport type { LabelProps } from './Label';\n\nexport { Label };\n\nexport default Label;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/Label/Label.tsx","../src/Label/index.ts"],"sourcesContent":["import type { ChipProps } from '@nextui-org/chip';\nimport type { ReactNode } from 'react';\n\nimport { Chip as NextLabel } from '@nextui-org/chip';\nimport cn from 'classnames';\n\nexport interface LabelProps {\n /** content of the label */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the label */\n color?: ChipProps['color'];\n /** element to be rendered in the right side of the label */\n endContent?: ChipProps['endContent'];\n /** size of the label */\n size?: ChipProps['size'];\n /** element to be rendered in the left side of the label */\n startContent?: ChipProps['startContent'];\n}\n\n/**\n * Label component based on [NextUI Chip](https://nextui.org/docs/components/chip)\n */\nconst Label = ({\n children,\n className = undefined,\n color = 'default',\n endContent = undefined,\n size = 'md',\n startContent = undefined,\n}: LabelProps) => (\n <NextLabel\n className={cn(className)}\n color={color}\n endContent={endContent}\n size={size}\n startContent={startContent}\n >\n {children}\n </NextLabel>\n);\n\nexport default Label;\n","import Label from './Label';\n\nexport type { LabelProps } from './Label';\n\nexport { Label };\n\nexport default Label;\n"],"mappings":";AAGA,SAAS,QAAQ,iBAAiB;AAClC,OAAO,QAAQ;AA4Bb;AARF,IAAM,QAAQ,CAAC;AAAA,EACb;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,OAAO;AAAA,EACP,eAAe;AACjB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEC;AAAA;AACH;AAGF,IAAO,gBAAQ;;;ACrCf,IAAOA,iBAAQ;","names":["Label_default"]}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__toESM,
|
|
3
|
-
require_jsx_runtime
|
|
4
|
-
} from "./chunk-EOBBMFEW.js";
|
|
5
|
-
|
|
6
1
|
// src/Menu/Menu.tsx
|
|
7
|
-
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
8
2
|
import { FaEllipsisVertical } from "react-icons/fa6";
|
|
9
3
|
import { Button } from "@nextui-org/button";
|
|
10
4
|
import {
|
|
@@ -15,12 +9,13 @@ import {
|
|
|
15
9
|
DropdownTrigger as NextDropdownTrigger
|
|
16
10
|
} from "@nextui-org/dropdown";
|
|
17
11
|
import cn from "classnames";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
13
|
var getDisabledKeys = (items) => {
|
|
19
14
|
return items.map((item) => typeof item?.items === "undefined" ? item : item.items).flat().filter((item) => {
|
|
20
15
|
return Object.hasOwn(item, "disabled") && item.disabled === true;
|
|
21
16
|
}).map((item) => item.key);
|
|
22
17
|
};
|
|
23
|
-
var renderMenuItem = (item) => /* @__PURE__ */
|
|
18
|
+
var renderMenuItem = (item) => /* @__PURE__ */ jsx(
|
|
24
19
|
NextDropdownItem,
|
|
25
20
|
{
|
|
26
21
|
className: item.className,
|
|
@@ -40,15 +35,15 @@ var Menu = ({
|
|
|
40
35
|
isDisabled = false,
|
|
41
36
|
items
|
|
42
37
|
}) => {
|
|
43
|
-
return /* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
38
|
+
return /* @__PURE__ */ jsxs(NextDropdown, { isDisabled, children: [
|
|
39
|
+
/* @__PURE__ */ jsx(NextDropdownTrigger, { className: cn(className), "data-testid": testId, children: children ? (
|
|
45
40
|
// eslint-disable-next-line react/button-has-type
|
|
46
|
-
/* @__PURE__ */
|
|
41
|
+
/* @__PURE__ */ jsx("button", { children })
|
|
47
42
|
) : (
|
|
48
43
|
// INFO: we use next button here so that ref passing works
|
|
49
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", variant: "flat", className: "min-w-0", children: /* @__PURE__ */ jsx(FaEllipsisVertical, {}) })
|
|
50
45
|
) }),
|
|
51
|
-
/* @__PURE__ */
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
52
47
|
NextDropdownMenu,
|
|
53
48
|
{
|
|
54
49
|
items,
|
|
@@ -56,7 +51,7 @@ var Menu = ({
|
|
|
56
51
|
onAction,
|
|
57
52
|
children: (item) => {
|
|
58
53
|
if ("items" in item) {
|
|
59
|
-
return /* @__PURE__ */
|
|
54
|
+
return /* @__PURE__ */ jsx(
|
|
60
55
|
NextDropdownSection,
|
|
61
56
|
{
|
|
62
57
|
items: item.items,
|
|
@@ -83,4 +78,4 @@ export {
|
|
|
83
78
|
Menu_default,
|
|
84
79
|
Menu_default2
|
|
85
80
|
};
|
|
86
|
-
//# sourceMappingURL=chunk-
|
|
81
|
+
//# sourceMappingURL=chunk-VOXYQARK.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';\nimport cn from 'classnames';\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 {/* @ts-expect-error ts problem here with render fn */}\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":"
|
|
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';\nimport cn from 'classnames';\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 {/* @ts-expect-error ts problem here with render fn */}\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;AACP,OAAO,QAAQ;AAkEb,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,gBAIX,WAAC,gBAAgB;AAChB,yBAAO,eAAe,WAAW;AAAA,gBACnC;AAAA;AAAA,cALK,KAAK;AAAA,YAMZ;AAAA,UAEJ;AACA,iBAAO,eAAe,IAAI;AAAA,QAC5B;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEA,IAAO,eAAQ;;;ACzIf,IAAOA,gBAAQ;","names":["Menu_default"]}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true})
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkPTN54X4Zcjs = require('./chunk-PTN54X4Z.cjs');
|
|
5
|
-
|
|
6
|
-
// src/Modal/Modal.tsx
|
|
7
|
-
var import_jsx_runtime = _chunkPTN54X4Zcjs.__toESM.call(void 0, _chunkPTN54X4Zcjs.require_jsx_runtime.call(void 0, ), 1);
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/Modal/Modal.tsx
|
|
8
2
|
|
|
9
3
|
|
|
10
4
|
|
|
@@ -13,6 +7,7 @@ var import_jsx_runtime = _chunkPTN54X4Zcjs.__toESM.call(void 0, _chunkPTN54X4Zcj
|
|
|
13
7
|
|
|
14
8
|
var _modal = require('@nextui-org/modal');
|
|
15
9
|
var _tailwindvariants = require('tailwind-variants');
|
|
10
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
16
11
|
var modalVariants = _tailwindvariants.tv.call(void 0, {
|
|
17
12
|
slots: {
|
|
18
13
|
backdrop: "",
|
|
@@ -56,7 +51,7 @@ var Modal = ({
|
|
|
56
51
|
header: variants.header({ className: classNameObj.header }),
|
|
57
52
|
wrapper: variants.wrapper({ className: classNameObj.wrapper })
|
|
58
53
|
};
|
|
59
|
-
return /* @__PURE__ */ (0,
|
|
54
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
60
55
|
_modal.Modal,
|
|
61
56
|
{
|
|
62
57
|
backdrop: "opaque",
|
|
@@ -66,10 +61,10 @@ var Modal = ({
|
|
|
66
61
|
onClose,
|
|
67
62
|
placement: "center",
|
|
68
63
|
scrollBehavior: "inside",
|
|
69
|
-
children: /* @__PURE__ */ (0,
|
|
70
|
-
header && /* @__PURE__ */ (0,
|
|
71
|
-
/* @__PURE__ */ (0,
|
|
72
|
-
footer && /* @__PURE__ */ (0,
|
|
64
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalContent, { "data-testid": testId ? `modal_${testId}` : "modal", children: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
65
|
+
header && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalHeader, { children: header }),
|
|
66
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalBody, { id: "modal_body", children }),
|
|
67
|
+
footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalFooter, { children: footer })
|
|
73
68
|
] }) })
|
|
74
69
|
}
|
|
75
70
|
);
|
|
@@ -84,4 +79,4 @@ var Modal_default2 = Modal_default;
|
|
|
84
79
|
|
|
85
80
|
|
|
86
81
|
exports.modalVariants = modalVariants; exports.Modal_default = Modal_default; exports.Modal_default2 = Modal_default2;
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-X2MUU2ZI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Modal/Modal.tsx","../src/Modal/index.ts"],"names":["Modal_default"],"mappings":";AAGA;AAAA,EACE,SAAS;AAAA,EACT,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,OACV;AACP,SAAS,UAAU;AAwFT,mBACa,KADb;AArFH,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;AA6BD,IAAM,QAAQ,CAAC;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,SAAS;AACX,MAAkB;AAEhB,QAAM,WAAW,cAAc,EAAE,KAAK,CAAC;AACvC,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,UAAU,SAAS,SAAS,EAAE,WAAW,aAAa,SAAS,CAAC;AAAA,IAChE,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,aAAa,SAAS,YAAY,EAAE,WAAW,aAAa,YAAY,CAAC;AAAA,IACzE,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,SAAS,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA,EAC/D;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,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;;;ACvGf,IAAOA,iBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\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';\nimport { tv } from 'tailwind-variants';\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 ModalVariantProps = VariantProps<typeof modalVariants>;\ntype ModalVariantSlots = Partial<\n Record<keyof ReturnType<typeof modalVariants>, string>\n>;\n\nexport interface ModalProps extends ModalVariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | ModalVariantSlots;\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 /** modal size */\n size?: ModalVariantProps['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 footer = undefined,\n header = undefined,\n isOpen,\n onClose,\n size = 'md',\n testId = undefined,\n}: ModalProps) => {\n // classNames from slots\n const variants = modalVariants({ size });\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n backdrop: variants.backdrop({ className: classNameObj.backdrop }),\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n body: variants.body({ className: classNameObj.body }),\n closeButton: variants.closeButton({ className: classNameObj.closeButton }),\n footer: variants.footer({ className: classNameObj.footer }),\n header: variants.header({ className: classNameObj.header }),\n wrapper: variants.wrapper({ className: classNameObj.wrapper }),\n };\n\n return (\n <NextModal\n backdrop=\"opaque\"\n classNames={classNames}\n data-testid={testId}\n isOpen={isOpen}\n onClose={onClose}\n placement=\"center\"\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"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkGIM2W4JHcjs = require('./chunk-GIM2W4JH.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunk7GYTJLD6cjs = require('./chunk-7GYTJLD6.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkND4VZZVUcjs = require('./chunk-ND4VZZVU.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkBMKGS5PKcjs = require('./chunk-BMKGS5PK.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkHHTTNYDCcjs = require('./chunk-HHTTNYDC.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkX2MUU2ZIcjs = require('./chunk-X2MUU2ZI.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkB35F4645cjs = require('./chunk-B35F4645.cjs');
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _chunkPTN54X4Zcjs = require('./chunk-PTN54X4Z.cjs');
|
|
28
|
+
var _chunkBSBPQXNGcjs = require('./chunk-BSBPQXNG.cjs');
|
|
33
29
|
|
|
34
30
|
// src/hooks/useDebounce.ts
|
|
35
|
-
var
|
|
31
|
+
var _react = require('react');
|
|
36
32
|
var useDebounce_default = (value, delay) => {
|
|
37
|
-
const [debouncedValue, setDebouncedValue] = (0,
|
|
38
|
-
(0,
|
|
33
|
+
const [debouncedValue, setDebouncedValue] = _react.useState.call(void 0, value);
|
|
34
|
+
_react.useEffect.call(void 0,
|
|
39
35
|
() => {
|
|
40
36
|
const handler = setTimeout(() => {
|
|
41
37
|
setDebouncedValue(value);
|
|
@@ -51,7 +47,7 @@ var useDebounce_default = (value, delay) => {
|
|
|
51
47
|
};
|
|
52
48
|
|
|
53
49
|
// src/hooks/useLocalStorage.ts
|
|
54
|
-
|
|
50
|
+
|
|
55
51
|
var useLocalStorage = (key, initialValue) => {
|
|
56
52
|
const readValue = () => {
|
|
57
53
|
if (typeof window === "undefined") {
|
|
@@ -65,7 +61,7 @@ var useLocalStorage = (key, initialValue) => {
|
|
|
65
61
|
return initialValue;
|
|
66
62
|
}
|
|
67
63
|
};
|
|
68
|
-
const [storedValue, setStoredValue] = (0,
|
|
64
|
+
const [storedValue, setStoredValue] = _react.useState.call(void 0, readValue);
|
|
69
65
|
const setValue = (value) => {
|
|
70
66
|
if (typeof window === "undefined") {
|
|
71
67
|
console.warn(
|
|
@@ -81,10 +77,10 @@ var useLocalStorage = (key, initialValue) => {
|
|
|
81
77
|
console.warn(`Error setting localStorage key \u201C${key}\u201D:`, error);
|
|
82
78
|
}
|
|
83
79
|
};
|
|
84
|
-
(0,
|
|
80
|
+
_react.useEffect.call(void 0, () => {
|
|
85
81
|
setStoredValue(readValue());
|
|
86
82
|
}, []);
|
|
87
|
-
(0,
|
|
83
|
+
_react.useEffect.call(void 0, () => {
|
|
88
84
|
const handleStorageChange = () => {
|
|
89
85
|
setStoredValue(readValue());
|
|
90
86
|
};
|
|
@@ -113,5 +109,5 @@ var useLocalStorage_default = useLocalStorage;
|
|
|
113
109
|
|
|
114
110
|
|
|
115
111
|
|
|
116
|
-
exports.Button =
|
|
112
|
+
exports.Button = _chunkND4VZZVUcjs.Button_default; exports.Card = _chunkGIM2W4JHcjs.Card_default; exports.Json = _chunk7GYTJLD6cjs.Json_default; exports.Label = _chunkBMKGS5PKcjs.Label_default; exports.Menu = _chunkHHTTNYDCcjs.Menu_default; exports.Modal = _chunkX2MUU2ZIcjs.Modal_default; exports.Popover = _chunkB35F4645cjs.Popover_default; exports.Tooltip = _chunkBSBPQXNGcjs.Tooltip_default; exports.buttonVariants = _chunkND4VZZVUcjs.buttonVariants; exports.cardVariants = _chunkGIM2W4JHcjs.cardVariants; exports.modalVariants = _chunkX2MUU2ZIcjs.modalVariants; exports.tooltipPlacementOptions = _chunkBSBPQXNGcjs.tooltipPlacementOptions; exports.useDebounce = useDebounce_default; exports.useLocalStorage = useLocalStorage_default;
|
|
117
113
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"names":["useEffect","useState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Card_default,
|
|
3
3
|
cardVariants
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IEZVKZFP.js";
|
|
5
5
|
import {
|
|
6
6
|
Json_default
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BTBF633Q.js";
|
|
8
8
|
import {
|
|
9
9
|
Button_default,
|
|
10
10
|
buttonVariants
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HYXTFS4R.js";
|
|
12
12
|
import {
|
|
13
13
|
Label_default
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-S2WOGSQV.js";
|
|
15
15
|
import {
|
|
16
16
|
Menu_default
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VOXYQARK.js";
|
|
18
18
|
import {
|
|
19
19
|
Modal_default,
|
|
20
20
|
modalVariants
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-O6OLR36Y.js";
|
|
22
22
|
import {
|
|
23
23
|
Popover_default
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-6G5VTF6K.js";
|
|
25
25
|
import {
|
|
26
26
|
Tooltip_default,
|
|
27
27
|
tooltipPlacementOptions
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import {
|
|
30
|
-
__toESM,
|
|
31
|
-
require_react
|
|
32
|
-
} from "./chunk-EOBBMFEW.js";
|
|
28
|
+
} from "./chunk-236GX7PP.js";
|
|
33
29
|
|
|
34
30
|
// src/hooks/useDebounce.ts
|
|
35
|
-
|
|
31
|
+
import { useEffect, useState } from "react";
|
|
36
32
|
var useDebounce_default = (value, delay) => {
|
|
37
|
-
const [debouncedValue, setDebouncedValue] =
|
|
38
|
-
|
|
33
|
+
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
34
|
+
useEffect(
|
|
39
35
|
() => {
|
|
40
36
|
const handler = setTimeout(() => {
|
|
41
37
|
setDebouncedValue(value);
|
|
@@ -51,7 +47,7 @@ var useDebounce_default = (value, delay) => {
|
|
|
51
47
|
};
|
|
52
48
|
|
|
53
49
|
// src/hooks/useLocalStorage.ts
|
|
54
|
-
|
|
50
|
+
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
55
51
|
var useLocalStorage = (key, initialValue) => {
|
|
56
52
|
const readValue = () => {
|
|
57
53
|
if (typeof window === "undefined") {
|
|
@@ -65,7 +61,7 @@ var useLocalStorage = (key, initialValue) => {
|
|
|
65
61
|
return initialValue;
|
|
66
62
|
}
|
|
67
63
|
};
|
|
68
|
-
const [storedValue, setStoredValue] = (
|
|
64
|
+
const [storedValue, setStoredValue] = useState2(readValue);
|
|
69
65
|
const setValue = (value) => {
|
|
70
66
|
if (typeof window === "undefined") {
|
|
71
67
|
console.warn(
|
|
@@ -81,10 +77,10 @@ var useLocalStorage = (key, initialValue) => {
|
|
|
81
77
|
console.warn(`Error setting localStorage key \u201C${key}\u201D:`, error);
|
|
82
78
|
}
|
|
83
79
|
};
|
|
84
|
-
(
|
|
80
|
+
useEffect2(() => {
|
|
85
81
|
setStoredValue(readValue());
|
|
86
82
|
}, []);
|
|
87
|
-
(
|
|
83
|
+
useEffect2(() => {
|
|
88
84
|
const handleStorageChange = () => {
|
|
89
85
|
setStoredValue(readValue());
|
|
90
86
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDebounce.ts","../src/hooks/useLocalStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport default <Value>(value: Value, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n useEffect(\n () => {\n // Update debounced value after delay\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed ...\n // .. within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n","import type { Dispatch, SetStateAction } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nconst useLocalStorage = <T>(\n key: string,\n initialValue: T | (() => T),\n): [T, Dispatch<SetStateAction<T>>] => {\n // Get from local storage then\n // parse stored json or return initialValue\n const readValue = () => {\n // Prevent build error \"window is undefined\" but keep keep working\n if (typeof window === 'undefined') {\n return initialValue;\n }\n\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n console.warn(`Error reading localStorage key “${key}”:`, error);\n return initialValue;\n }\n };\n\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(readValue);\n\n // Return a wrapped version of useState's setter function that ...\n // ... persists the new value to localStorage.\n const setValue: Dispatch<SetStateAction<T>> = (value) => {\n // Prevent build error \"window is undefined\" but keeps working\n if (typeof window === 'undefined') {\n console.warn(\n `Tried setting localStorage key “${key}” even though environment is not a client`,\n );\n }\n\n try {\n // Allow value to be a function so we have the same API as useState\n const newValue = value instanceof Function ? value(storedValue) : value;\n\n // Save to local storage\n window.localStorage.setItem(key, JSON.stringify(newValue));\n\n // Save state\n setStoredValue(newValue);\n\n // We dispatch a custom event so every useLocalStorage hook are notified\n window.dispatchEvent(new Event('local-storage'));\n } catch (error) {\n console.warn(`Error setting localStorage key “${key}”:`, error);\n }\n };\n\n useEffect(() => {\n setStoredValue(readValue());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleStorageChange = () => {\n setStoredValue(readValue());\n };\n\n // this only works for other documents, not the current one\n window.addEventListener('storage', handleStorageChange);\n\n // this is a custom event, triggered in writeValueToLocalStorage\n window.addEventListener('local-storage', handleStorageChange);\n\n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('local-storage', handleStorageChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,WAAW,gBAAgB;AAEpC,IAAO,sBAAQ,CAAQ,OAAc,UAAkB;AAErD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D;AAAA,IACE,MAAM;AAEJ,YAAM,UAAU,WAAW,MAAM;AAC/B,0BAAkB,KAAK;AAAA,MACzB,GAAG,KAAK;AAIR,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,KAAK;AAAA;AAAA,EACf;AACA,SAAO;AACT;;;ACnBA,SAAS,aAAAA,YAAW,YAAAC,iBAAgB;AAEpC,IAAM,kBAAkB,CACtB,KACA,iBACqC;AAGrC,QAAM,YAAY,MAAM;AAEtB,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;AAC5C,aAAO,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA,IACnC,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAC9D,aAAO;AAAA,IACT;AAAA,EACF;AAIA,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAY,SAAS;AAI3D,QAAM,WAAwC,CAAC,UAAU;AAEvD,QAAI,OAAO,WAAW,aAAa;AACjC,cAAQ;AAAA,QACN,wCAAmC,GAAG;AAAA,MACxC;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,WAAW,iBAAiB,WAAW,MAAM,WAAW,IAAI;AAGlE,aAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAGzD,qBAAe,QAAQ;AAGvB,aAAO,cAAc,IAAI,MAAM,eAAe,CAAC;AAAA,IACjD,SAAS,OAAO;AACd,cAAQ,KAAK,wCAAmC,GAAG,WAAM,KAAK;AAAA,IAChE;AAAA,EACF;AAEA,EAAAD,WAAU,MAAM;AACd,mBAAe,UAAU,CAAC;AAAA,EAE5B,GAAG,CAAC,CAAC;AAEL,EAAAA,WAAU,MAAM;AACd,UAAM,sBAAsB,MAAM;AAChC,qBAAe,UAAU,CAAC;AAAA,IAC5B;AAGA,WAAO,iBAAiB,WAAW,mBAAmB;AAGtD,WAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,mBAAmB;AACzD,aAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EAEF,GAAG,CAAC,CAAC;AAEL,SAAO,CAAC,aAAa,QAAQ;AAC/B;AAEA,IAAO,0BAAQ;","names":["useEffect","useState"]}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@fuf-stack/pixels",
|
|
3
3
|
"description": "fuf react component library",
|
|
4
4
|
"author": "Hannes Tiede",
|
|
5
|
-
"version": "0.5.
|
|
5
|
+
"version": "0.5.7",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"module": "./dist/index.cjs",
|
|
@@ -75,6 +75,10 @@
|
|
|
75
75
|
"bugs": {
|
|
76
76
|
"url": "https://github.com/fuf-stack/uniforms/issues"
|
|
77
77
|
},
|
|
78
|
+
"peerDependencies": {
|
|
79
|
+
"react": ">=18",
|
|
80
|
+
"react-dom": ">=18"
|
|
81
|
+
},
|
|
78
82
|
"dependencies": {
|
|
79
83
|
"@nextui-org/button": "2.0.31",
|
|
80
84
|
"@nextui-org/card": "2.0.28",
|
|
@@ -93,14 +97,14 @@
|
|
|
93
97
|
},
|
|
94
98
|
"devDependencies": {
|
|
95
99
|
"@types/debug": "4.1.12",
|
|
96
|
-
"@types/react": "18.3.
|
|
100
|
+
"@types/react": "18.3.1",
|
|
97
101
|
"@types/react-dom": "18.3.0",
|
|
98
|
-
"react": "18.3.
|
|
99
|
-
"react-dom": "18.3.
|
|
102
|
+
"react": "18.3.1",
|
|
103
|
+
"react-dom": "18.3.1",
|
|
100
104
|
"@repo/storybook-config": "0.0.1",
|
|
105
|
+
"@repo/tailwind-config": "0.0.1",
|
|
101
106
|
"@repo/tsup-config": "0.0.1",
|
|
102
|
-
"@repo/vite-config": "0.0.1"
|
|
103
|
-
"@repo/tailwind-config": "0.0.1"
|
|
107
|
+
"@repo/vite-config": "0.0.1"
|
|
104
108
|
},
|
|
105
109
|
"scripts": {
|
|
106
110
|
"build": "tsup --config node_modules/@repo/tsup-config/config.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Label/Label.tsx","../src/Label/index.ts"],"names":["Label_default"],"mappings":";;;;;;AAgCE;AA7BF,SAAS,QAAQ,iBAAiB;AAClC,OAAO,QAAQ;AAoBf,IAAM,QAAQ,CAAC;AAAA,EACb;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,OAAO;AAAA,EACP,eAAe;AACjB,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,SAAS;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEC;AAAA;AACH;AAGF,IAAO,gBAAQ;;;ACrCf,IAAOA,iBAAQ","sourcesContent":["import type { ChipProps } from '@nextui-org/chip';\nimport type { ReactNode } from 'react';\n\nimport { Chip as NextLabel } from '@nextui-org/chip';\nimport cn from 'classnames';\n\nexport interface LabelProps {\n /** content of the label */\n children: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the label */\n color?: ChipProps['color'];\n /** element to be rendered in the right side of the label */\n endContent?: ChipProps['endContent'];\n /** size of the label */\n size?: ChipProps['size'];\n /** element to be rendered in the left side of the label */\n startContent?: ChipProps['startContent'];\n}\n\n/**\n * Label component based on [NextUI Chip](https://nextui.org/docs/components/chip)\n */\nconst Label = ({\n children,\n className = undefined,\n color = 'default',\n endContent = undefined,\n size = 'md',\n startContent = undefined,\n}: LabelProps) => (\n <NextLabel\n className={cn(className)}\n color={color}\n endContent={endContent}\n size={size}\n startContent={startContent}\n >\n {children}\n </NextLabel>\n);\n\nexport default Label;\n","import Label from './Label';\n\nexport type { LabelProps } from './Label';\n\nexport { Label };\n\nexport default Label;\n"]}
|
package/dist/chunk-CJ7YDKHN.cjs
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkPTN54X4Zcjs = require('./chunk-PTN54X4Z.cjs');
|
|
5
|
-
|
|
6
|
-
// src/Popover/Popover.tsx
|
|
7
|
-
var import_jsx_runtime = _chunkPTN54X4Zcjs.__toESM.call(void 0, _chunkPTN54X4Zcjs.require_jsx_runtime.call(void 0, ), 1);
|
|
8
|
-
var _popover = require('@nextui-org/popover');
|
|
9
|
-
var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);
|
|
10
|
-
var Popover_default = ({
|
|
11
|
-
children = null,
|
|
12
|
-
className = void 0,
|
|
13
|
-
content,
|
|
14
|
-
contentTestId = void 0,
|
|
15
|
-
placement = "top",
|
|
16
|
-
openControlled = void 0,
|
|
17
|
-
testId = void 0,
|
|
18
|
-
title = void 0
|
|
19
|
-
}) => {
|
|
20
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
21
|
-
_popover.Popover,
|
|
22
|
-
{
|
|
23
|
-
placement,
|
|
24
|
-
radius: "sm",
|
|
25
|
-
showArrow: true,
|
|
26
|
-
...openControlled ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen } : {},
|
|
27
|
-
children: [
|
|
28
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(_popover.PopoverTrigger, { className: _classnames2.default.call(void 0, className), "data-testid": testId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { children }) }),
|
|
29
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(_popover.PopoverContent, { "data-testid": contentTestId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-h-[80vh] overflow-y-auto", children: [
|
|
30
|
-
title && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
31
|
-
title,
|
|
32
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("hr", {})
|
|
33
|
-
] }),
|
|
34
|
-
content
|
|
35
|
-
] }) })
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
// src/Popover/index.ts
|
|
42
|
-
var Popover_default2 = Popover_default;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
exports.Popover_default = Popover_default; exports.Popover_default2 = Popover_default2;
|
|
48
|
-
//# sourceMappingURL=chunk-CJ7YDKHN.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Popover/Popover.tsx","../src/Popover/index.ts"],"names":["Popover_default"],"mappings":";;;;;;AAkDQ;AA/CR,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,OAAO,QAAQ;AAwBf,IAAO,kBAAQ,CAAC;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,QAAQ;AACV,MAAoB;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,QAAO;AAAA,MACP,WAAS;AAAA,MACR,GAAI,iBACD,EAAE,QAAQ,eAAe,MAAM,cAAc,eAAe,QAAQ,IACpE,CAAC;AAAA,MAEL;AAAA,oDAAC,kBAAe,WAAW,GAAG,SAAS,GAAG,eAAa,QAGrD,sDAAC,YAAQ,UAAS,GACpB;AAAA,QACA,4CAAC,kBAAe,eAAa,eAC3B,uDAAC,SAAI,WAAU,gCACZ;AAAA,mBACC,6CAAC,SACE;AAAA;AAAA,YACD,4CAAC,QAAG;AAAA,aACN;AAAA,UAED;AAAA,WACH,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AC3DA,IAAOA,mBAAQ","sourcesContent":["import type { PopoverProps as NextPopoverProps } from '@nextui-org/popover';\nimport type { ReactNode } from 'react';\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@nextui-org/popover';\nimport cn from 'classnames';\n\nexport interface PopoverProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** content of the popover */\n content: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n contentTestId?: string;\n /** placement of the popover relative to its trigger reference */\n placement?: NextPopoverProps['placement'];\n /** use as controlled component */\n openControlled?: { open: boolean; setOpen: (open: boolean) => void };\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** popover title */\n title?: ReactNode;\n}\n\n/**\n * Popover component based on [NextUI Card](https://nextui.org/docs/components/popover)\n */\nexport default ({\n children = null,\n className = undefined,\n content,\n contentTestId = undefined,\n placement = 'top',\n openControlled = undefined,\n testId = undefined,\n title = undefined,\n}: PopoverProps) => {\n return (\n <Popover\n placement={placement}\n radius=\"sm\"\n showArrow\n {...(openControlled\n ? { isOpen: openControlled.open, onOpenChange: openControlled.setOpen }\n : {})}\n >\n <PopoverTrigger className={cn(className)} data-testid={testId}>\n {/* NOTE: type and aria properties are injected by PopoverTrigger */}\n {/* eslint-disable-next-line react/button-has-type */}\n <button>{children}</button>\n </PopoverTrigger>\n <PopoverContent data-testid={contentTestId}>\n <div className=\"max-h-[80vh] overflow-y-auto\">\n {title && (\n <div>\n {title}\n <hr />\n </div>\n )}\n {content}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n","import Popover from './Popover';\n\nexport type { PopoverProps } from './Popover';\n\nexport { Popover };\n\nexport default Popover;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"names":["Card_default"],"mappings":";;;;;;AAgEI;AA7DJ;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AACvC,SAAS,UAAU;AAGZ,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAuBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AACtE,QAAM,aAAa;AAAA,IACjB,MAAM,SAAS,KAAK;AAAA,MAClB,WAAW,aAAa,QAAS;AAAA,IACnC,CAAC;AAAA,IACD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,IAC1D,MAAM,SAAS,KAAK,EAAE,WAAW,aAAa,KAAK,CAAC;AAAA,IACpD,QAAQ,SAAS,OAAO,EAAE,WAAW,aAAa,OAAO,CAAC;AAAA,EAC5D;AAEA,QAAM,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,QAAQ,EAAE,WAAW,aAAa,QAAQ,CAAC;AAAA;AAAA,EACjE;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,4EACE;AAAA,sDAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,4CAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,4EACG;AAAA;AAAA,UACD,4CAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC9Ff,IAAOA,gBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\nimport { tv } from 'tailwind-variants';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype CardVariantProps = VariantProps<typeof cardVariants>;\ntype CardVariantSlots = Partial<\n Record<keyof ReturnType<typeof cardVariants>, string>\n>;\n\nexport interface CardProps extends CardVariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: string | CardVariantSlots;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const classNameObj = (typeof className === 'object' && className) || {};\n const classNames = {\n base: variants.base({\n className: classNameObj.base || (className as string),\n }),\n header: variants.header({ className: classNameObj.header }),\n body: variants.body({ className: classNameObj.body }),\n footer: variants.footer({ className: classNameObj.footer }),\n };\n\n const divider = (\n <NextDivider\n className={variants.divider({ className: classNameObj.divider })}\n />\n );\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"]}
|