@fuf-stack/pixels 0.9.2 → 0.9.3
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/Accordion/index.cjs +3 -3
- package/dist/Accordion/index.d.cts +4 -3
- package/dist/Accordion/index.d.ts +4 -3
- package/dist/Accordion/index.js +2 -2
- package/dist/{Accordion-DG6pcI_Q.d.cts → Accordion-DDUtWsfw.d.cts} +5 -5
- package/dist/{Accordion-DG6pcI_Q.d.ts → Accordion-Dv-zolQr.d.ts} +5 -5
- package/dist/Button/index.cjs +3 -3
- package/dist/Button/index.d.cts +4 -2
- package/dist/Button/index.d.ts +4 -2
- package/dist/Button/index.js +2 -2
- package/dist/{Button-DS4qK4Lf.d.cts → Button-B9f7IDnm.d.ts} +4 -4
- package/dist/{Button-DS4qK4Lf.d.ts → Button-B9f84IPN.d.cts} +4 -4
- package/dist/Card/index.cjs +3 -3
- package/dist/Card/index.d.cts +4 -2
- package/dist/Card/index.d.ts +4 -2
- package/dist/Card/index.js +2 -2
- package/dist/{Card-D5kspciY.d.cts → Card-C656HOc1.d.ts} +5 -5
- package/dist/{Card-D5kspciY.d.ts → Card-CcLRSJuE.d.cts} +5 -5
- package/dist/Json/index.cjs +4 -4
- package/dist/Json/index.js +3 -3
- package/dist/Modal/index.cjs +3 -3
- package/dist/Modal/index.d.cts +4 -2
- package/dist/Modal/index.d.ts +4 -2
- package/dist/Modal/index.js +2 -2
- package/dist/{Modal-Ck13vTaf.d.cts → Modal-7xA_lXvH.d.cts} +6 -6
- package/dist/{Modal-Ck13vTaf.d.ts → Modal-BNYlVV9i.d.ts} +6 -6
- package/dist/{chunk-Y7E62HGE.js → chunk-2FKNKEKZ.js} +2 -2
- package/dist/chunk-2FKNKEKZ.js.map +1 -0
- package/dist/{chunk-B36YERUR.cjs → chunk-2XGUY3UF.cjs} +1 -1
- package/dist/chunk-2XGUY3UF.cjs.map +1 -0
- package/dist/{chunk-IZ4GIYPV.js → chunk-4UDBXGTR.js} +2 -2
- package/dist/chunk-4UDBXGTR.js.map +1 -0
- package/dist/{chunk-WWAUBTWI.js → chunk-6VMKAUMC.js} +2 -2
- package/dist/chunk-6VMKAUMC.js.map +1 -0
- package/dist/{chunk-L2DCXJCR.cjs → chunk-6ZVROKDF.cjs} +4 -4
- package/dist/chunk-6ZVROKDF.cjs.map +1 -0
- package/dist/{chunk-TUCU3GGJ.js → chunk-DJNPSUNK.js} +2 -2
- package/dist/{chunk-CE745SSP.cjs → chunk-IOZ4D2BY.cjs} +4 -4
- package/dist/chunk-IOZ4D2BY.cjs.map +1 -0
- package/dist/{chunk-L5FAQ6D4.cjs → chunk-JCSGY4CU.cjs} +3 -3
- package/dist/chunk-JCSGY4CU.cjs.map +1 -0
- package/dist/{chunk-X7YCEBNX.js → chunk-OOBT7L2Z.js} +1 -1
- package/dist/chunk-OOBT7L2Z.js.map +1 -0
- package/dist/{chunk-DZJ4ACWV.js → chunk-PVCGQSAN.js} +2 -2
- package/dist/chunk-PVCGQSAN.js.map +1 -0
- package/dist/{chunk-WJ4VZ2CM.cjs → chunk-XMEOYOKY.cjs} +3 -3
- package/dist/{chunk-66VDLQF4.cjs → chunk-XSQOSEWG.cjs} +4 -4
- package/dist/chunk-XSQOSEWG.cjs.map +1 -0
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +6 -6
- package/dist/utils/index.cjs +2 -2
- package/dist/utils/index.d.cts +4 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-66VDLQF4.cjs.map +0 -1
- package/dist/chunk-B36YERUR.cjs.map +0 -1
- package/dist/chunk-CE745SSP.cjs.map +0 -1
- package/dist/chunk-DZJ4ACWV.js.map +0 -1
- package/dist/chunk-IZ4GIYPV.js.map +0 -1
- package/dist/chunk-L2DCXJCR.cjs.map +0 -1
- package/dist/chunk-L5FAQ6D4.cjs.map +0 -1
- package/dist/chunk-WWAUBTWI.js.map +0 -1
- package/dist/chunk-X7YCEBNX.js.map +0 -1
- package/dist/chunk-Y7E62HGE.js.map +0 -1
- /package/dist/{chunk-TUCU3GGJ.js.map → chunk-DJNPSUNK.js.map} +0 -0
- /package/dist/{chunk-WJ4VZ2CM.cjs.map → chunk-XMEOYOKY.cjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk2XGUY3UFcjs = require('./chunk-2XGUY3UF.cjs');
|
|
5
5
|
|
|
6
6
|
// src/Accordion/Accordion.tsx
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ var _chunkB36YERURcjs = require('./chunk-B36YERUR.cjs');
|
|
|
9
9
|
|
|
10
10
|
var _accordion = require('@nextui-org/accordion');
|
|
11
11
|
var _jsxruntime = require('react/jsx-runtime');
|
|
12
|
-
var accordionVariants =
|
|
12
|
+
var accordionVariants = _chunk2XGUY3UFcjs.tv.call(void 0, {
|
|
13
13
|
slots: {
|
|
14
14
|
base: "",
|
|
15
15
|
content: "",
|
|
@@ -48,7 +48,7 @@ var Accordion = ({
|
|
|
48
48
|
variant = "light"
|
|
49
49
|
}) => {
|
|
50
50
|
const variants = accordionVariants({ indicatorLeft });
|
|
51
|
-
const { wrapper, ...itemClasses } =
|
|
51
|
+
const { wrapper, ...itemClasses } = _chunk2XGUY3UFcjs.variantsToClassNames.call(void 0,
|
|
52
52
|
variants,
|
|
53
53
|
className,
|
|
54
54
|
"wrapper"
|
|
@@ -88,4 +88,4 @@ var Accordion_default2 = Accordion_default;
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
exports.accordionVariants = accordionVariants; exports.Accordion_default = Accordion_default; exports.Accordion_default2 = Accordion_default2;
|
|
91
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-6ZVROKDF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":";;;;;;AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAgHC;AA1GD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AA8CD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB,EAAE,cAAc,CAAC;AACpD,QAAM,EAAE,SAAS,GAAG,YAAY,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;AC7Hf,IAAOA,qBAAQ","sourcesContent":["import type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\nimport type { TVClassName, TVProps } from '../utils';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: '',\n heading: '',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: '',\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 },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({ indicatorLeft });\n const { wrapper, ...itemClasses } = variantsToClassNames(\n variants,\n className,\n 'wrapper',\n );\n\n return (\n <NextAccordion\n className={wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={itemClasses}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={showDivider}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Button_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4UDBXGTR.js";
|
|
4
4
|
import {
|
|
5
5
|
__commonJS,
|
|
6
6
|
__toESM
|
|
@@ -2556,4 +2556,4 @@ export {
|
|
|
2556
2556
|
Json_default,
|
|
2557
2557
|
Json_default2
|
|
2558
2558
|
};
|
|
2559
|
-
//# sourceMappingURL=chunk-
|
|
2559
|
+
//# sourceMappingURL=chunk-DJNPSUNK.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk2XGUY3UFcjs = require('./chunk-2XGUY3UF.cjs');
|
|
5
5
|
|
|
6
6
|
// src/Card/Card.tsx
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ var _chunkB36YERURcjs = require('./chunk-B36YERUR.cjs');
|
|
|
12
12
|
var _card = require('@nextui-org/card');
|
|
13
13
|
var _divider = require('@nextui-org/divider');
|
|
14
14
|
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
-
var cardVariants =
|
|
15
|
+
var cardVariants = _chunk2XGUY3UFcjs.tv.call(void 0, {
|
|
16
16
|
slots: {
|
|
17
17
|
base: "border border-divider",
|
|
18
18
|
body: "",
|
|
@@ -29,7 +29,7 @@ var Card = ({
|
|
|
29
29
|
footer = void 0
|
|
30
30
|
}) => {
|
|
31
31
|
const variants = cardVariants();
|
|
32
|
-
const { divider: dividerClassName, ...classNames } =
|
|
32
|
+
const { divider: dividerClassName, ...classNames } = _chunk2XGUY3UFcjs.variantsToClassNames.call(void 0,
|
|
33
33
|
variants,
|
|
34
34
|
className,
|
|
35
35
|
"base"
|
|
@@ -67,4 +67,4 @@ var Card_default2 = Card_default;
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
exports.cardVariants = cardVariants; exports.Card_default = Card_default; exports.Card_default2 = Card_default2;
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-IOZ4D2BY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"names":["Card_default"],"mappings":";;;;;;AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AAiDrB,SAWV,UAXU,KAWV,YAXU;AA5CX,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAqBD,IAAM,OAAO,CAAC;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,EAAE,SAAS,kBAAkB,GAAG,WAAW,IAAI;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,UAAU,oBAAC,eAAY,WAAW,kBAAkB;AAE1D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;ACrFf,IAAOA,gBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { TVClassName, TVProps } from '../utils';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [NextUI Card](https://nextui.org/docs/components/card)\n */\nconst Card = ({\n children = null,\n className = undefined,\n testId = undefined,\n header = undefined,\n footer = undefined,\n}: CardProps) => {\n // classNames from slots\n const variants = cardVariants();\n const { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk2XGUY3UFcjs = require('./chunk-2XGUY3UF.cjs');
|
|
4
4
|
|
|
5
5
|
// src/Button/Button.tsx
|
|
6
6
|
var _button = require('@nextui-org/button');
|
|
@@ -40,7 +40,7 @@ var LoadingSpinner_default = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
|
40
40
|
|
|
41
41
|
// src/Button/Button.tsx
|
|
42
42
|
|
|
43
|
-
var buttonVariants =
|
|
43
|
+
var buttonVariants = _chunk2XGUY3UFcjs.tv.call(void 0, {
|
|
44
44
|
base: "",
|
|
45
45
|
variants: {
|
|
46
46
|
color: {
|
|
@@ -125,4 +125,4 @@ var Button_default2 = Button_default;
|
|
|
125
125
|
|
|
126
126
|
|
|
127
127
|
exports.buttonVariants = buttonVariants; exports.Button_default = Button_default; exports.Button_default2 = Button_default2;
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-JCSGY4CU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"names":["jsx","jsxs","Button_default"],"mappings":";;;;;AAIA,SAAS,UAAU,kBAAkB;;;ACCnC,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADwEE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAvFG,IAAM,iBAAiB,GAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA;AAAA,IAEA;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAoCD,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,eAAe,EAAE,OAAO,SAAS,UAAU,CAAC;AAAA,MACvD;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AEhHf,IAAOE,kBAAQ","sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\nimport type { TVProps } from '../utils';\n\nimport { Button as NextButton } from '@nextui-org/button';\n\nimport { tv } from '../utils';\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n base: '',\n variants: {\n color: {\n default: '',\n primary: '',\n secondary: '',\n success: '',\n warning: '',\n danger: '',\n },\n variant: {\n solid: '',\n bordered: '',\n light: '',\n flat: '',\n faded: '',\n shadow: '',\n ghost: '',\n },\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n ],\n});\n\ntype VariantProps = TVProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={buttonVariants({ color, variant, className })}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/theme.ts","../src/utils/tv.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nexport { nextui } from '@nextui-org/theme';\n","import type { VariantProps } from '@nextui-org/theme';\n\nexport { tv } from 'tailwind-variants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TVProps<Component extends (...args: any) => any> =\n VariantProps<Component>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TVClassName<Component extends (...args: any) => any> =\n | Partial<Record<keyof ReturnType<Component>, string>>\n | string;\n\n// converts tailwind-variants slots instance to actual classnames object\nexport const variantsToClassNames = <T extends Record<string, unknown>>(\n variants: T,\n className?: string | Record<string, string>,\n baseSlot?: keyof T,\n): Record<keyof T, string> => {\n const classNameObj = (typeof className === 'object' && className) || {};\n // @ts-expect-error could be improved\n return Object.fromEntries(\n Object.entries(variants).map(([slot, variantFn]) => [\n slot as keyof T,\n baseSlot && slot === baseSlot\n ? // @ts-expect-error could be improved\n (variantFn({\n className:\n typeof className === 'string' ? className : classNameObj[slot],\n }) as string)\n : // @ts-expect-error could be improved\n (variantFn({ className: classNameObj[slot] }) as string),\n ]),\n );\n};\n"],"mappings":";AACA,SAAS,cAAc;;;ACCvB,SAAS,UAAU;AAYZ,IAAM,uBAAuB,CAClC,UACA,WACA,aAC4B;AAC5B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AAEtE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,SAAS,MAAM;AAAA,MAClD;AAAA,MACA,YAAY,SAAS;AAAA;AAAA,QAEhB,UAAU;AAAA,UACT,WACE,OAAO,cAAc,WAAW,YAAY,aAAa,IAAI;AAAA,QACjE,CAAC;AAAA;AAAA;AAAA,QAEA,UAAU,EAAE,WAAW,aAAa,IAAI,EAAE,CAAC;AAAA;AAAA,IAClD,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tv,
|
|
3
3
|
variantsToClassNames
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OOBT7L2Z.js";
|
|
5
5
|
|
|
6
6
|
// src/Accordion/Accordion.tsx
|
|
7
7
|
import {
|
|
@@ -88,4 +88,4 @@ export {
|
|
|
88
88
|
Accordion_default,
|
|
89
89
|
Accordion_default2
|
|
90
90
|
};
|
|
91
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-PVCGQSAN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"sourcesContent":["import type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\nimport type { TVClassName, TVProps } from '../utils';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: '',\n heading: '',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: '',\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 },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({ indicatorLeft });\n const { wrapper, ...itemClasses } = variantsToClassNames(\n variants,\n className,\n 'wrapper',\n );\n\n return (\n <NextAccordion\n className={wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={itemClasses}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={showDivider}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"],"mappings":";;;;;;AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAgHC;AA1GD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AA8CD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB,EAAE,cAAc,CAAC;AACpD,QAAM,EAAE,SAAS,GAAG,YAAY,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;AC7Hf,IAAOA,qBAAQ;","names":["Accordion_default"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkJCSGY4CUcjs = require('./chunk-JCSGY4CU.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -2511,7 +2511,7 @@ var Json = ({ className = null, collapsed = false, value }) => {
|
|
|
2511
2511
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium", children: "Failed to parse JSON data" })
|
|
2512
2512
|
] }),
|
|
2513
2513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2514
|
-
|
|
2514
|
+
_chunkJCSGY4CUcjs.Button_default,
|
|
2515
2515
|
{
|
|
2516
2516
|
color: "danger",
|
|
2517
2517
|
size: "sm",
|
|
@@ -2556,4 +2556,4 @@ var Json_default2 = Json_default;
|
|
|
2556
2556
|
|
|
2557
2557
|
|
|
2558
2558
|
exports.Json_default = Json_default; exports.Json_default2 = Json_default2;
|
|
2559
|
-
//# sourceMappingURL=chunk-
|
|
2559
|
+
//# sourceMappingURL=chunk-XMEOYOKY.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk2XGUY3UFcjs = require('./chunk-2XGUY3UF.cjs');
|
|
5
5
|
|
|
6
6
|
// src/Modal/Modal.tsx
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ var _chunkB36YERURcjs = require('./chunk-B36YERUR.cjs');
|
|
|
12
12
|
|
|
13
13
|
var _modal = require('@nextui-org/modal');
|
|
14
14
|
var _jsxruntime = require('react/jsx-runtime');
|
|
15
|
-
var modalVariants =
|
|
15
|
+
var modalVariants = _chunk2XGUY3UFcjs.tv.call(void 0, {
|
|
16
16
|
slots: {
|
|
17
17
|
backdrop: "",
|
|
18
18
|
base: "",
|
|
@@ -43,7 +43,7 @@ var Modal = ({
|
|
|
43
43
|
testId = void 0
|
|
44
44
|
}) => {
|
|
45
45
|
const variants = modalVariants({ size });
|
|
46
|
-
const classNames =
|
|
46
|
+
const classNames = _chunk2XGUY3UFcjs.variantsToClassNames.call(void 0, variants, className, "base");
|
|
47
47
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48
48
|
_modal.Modal,
|
|
49
49
|
{
|
|
@@ -72,4 +72,4 @@ var Modal_default2 = Modal_default;
|
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
exports.modalVariants = modalVariants; exports.Modal_default = Modal_default; exports.Modal_default2 = Modal_default2;
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-XSQOSEWG.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;AA6EG,mBACa,KADb;AAxEH,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;AA2BD,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,aAAa,qBAAqB,UAAU,WAAW,MAAM;AAEnE,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;;;AC3Ff,IAAOA,iBAAQ","sourcesContent":["import type { ReactNode } from 'react';\nimport type { TVClassName, TVProps } from '../utils';\n\nimport {\n Modal as NextModal,\n ModalBody as NextModalBody,\n ModalContent as NextModalContent,\n ModalFooter as NextModalFooter,\n ModalHeader as NextModalHeader,\n} from '@nextui-org/modal';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// modal variants\nexport const modalVariants = tv({\n slots: {\n backdrop: '',\n base: '',\n body: '',\n closeButton: '',\n footer: '',\n header: '',\n wrapper: '',\n },\n variants: {\n size: {\n sm: { base: 'max-w-sm' },\n md: { base: 'max-w-md' },\n lg: { base: 'max-w-lg' },\n xl: { base: 'max-w-5xl' },\n full: { base: 'h-[80dvh] max-w-full' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof modalVariants>;\ntype ClassName = TVClassName<typeof modalVariants>;\n\nexport interface ModalProps extends VariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** 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?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Modal component based on [NextUI Modal](https://nextui.org/docs/components/modal)\n */\nconst Modal = ({\n children = null,\n className = undefined,\n 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 classNames = variantsToClassNames(variants, className, 'base');\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,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkXSQOSEWGcjs = require('./chunk-XSQOSEWG.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunkB35F4645cjs = require('./chunk-B35F4645.cjs');
|
|
@@ -16,7 +16,7 @@ var _chunkMWNBYTRNcjs = require('./chunk-MWNBYTRN.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunk6ZVROKDFcjs = require('./chunk-6ZVROKDF.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
var _chunkEJSTUBPUcjs = require('./chunk-EJSTUBPU.cjs');
|
|
@@ -26,19 +26,19 @@ var _chunkXGHRKDIMcjs = require('./chunk-XGHRKDIM.cjs');
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkIOZ4D2BYcjs = require('./chunk-IOZ4D2BY.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunkXMEOYOKYcjs = require('./chunk-XMEOYOKY.cjs');
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunkJCSGY4CUcjs = require('./chunk-JCSGY4CU.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
var
|
|
41
|
+
var _chunk2XGUY3UFcjs = require('./chunk-2XGUY3UF.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
var _chunkBMKGS5PKcjs = require('./chunk-BMKGS5PK.cjs');
|
|
@@ -68,5 +68,5 @@ require('./chunk-DZUJEN5N.cjs');
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
exports.Accordion =
|
|
71
|
+
exports.Accordion = _chunk6ZVROKDFcjs.Accordion_default; exports.Avatar = _chunkXGHRKDIMcjs.Avatar_default; exports.AvatarGroup = _chunkEJSTUBPUcjs.AvatarGroup_default; exports.Button = _chunkJCSGY4CUcjs.Button_default; exports.Card = _chunkIOZ4D2BYcjs.Card_default; exports.Json = _chunkXMEOYOKYcjs.Json_default; exports.Label = _chunkBMKGS5PKcjs.Label_default; exports.Menu = _chunkHHTTNYDCcjs.Menu_default; exports.Modal = _chunkXSQOSEWGcjs.Modal_default; exports.Popover = _chunkB35F4645cjs.Popover_default; exports.Tooltip = _chunkBSBPQXNGcjs.Tooltip_default; exports.accordionVariants = _chunk6ZVROKDFcjs.accordionVariants; exports.buttonVariants = _chunkJCSGY4CUcjs.buttonVariants; exports.cardVariants = _chunkIOZ4D2BYcjs.cardVariants; exports.modalVariants = _chunkXSQOSEWGcjs.modalVariants; exports.nextui = _chunk2XGUY3UFcjs.nextui; exports.tooltipPlacementOptions = _chunkBSBPQXNGcjs.tooltipPlacementOptions; exports.tv = _chunk2XGUY3UFcjs.tv; exports.useDebounce = _chunkMWNBYTRNcjs.useDebounce; exports.useLocalStorage = _chunkMWNBYTRNcjs.useLocalStorage; exports.variantsToClassNames = _chunk2XGUY3UFcjs.variantsToClassNames;
|
|
72
72
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-
|
|
1
|
+
export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-DDUtWsfw.cjs';
|
|
2
2
|
export { A as Avatar, a as AvatarProps } from './Avatar-Bl6oBjgb.cjs';
|
|
3
3
|
export { A as AvatarGroup, a as AvatarGroupProps } from './AvatarGroup-BhgTIcSs.cjs';
|
|
4
|
-
export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-
|
|
5
|
-
export { C as Card, a as CardProps, c as cardVariants } from './Card-
|
|
4
|
+
export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-B9f84IPN.cjs';
|
|
5
|
+
export { C as Card, a as CardProps, c as cardVariants } from './Card-CcLRSJuE.cjs';
|
|
6
6
|
export { J as Json, a as JsonProps } from './Json-ClGDcbcp.cjs';
|
|
7
7
|
export { L as Label, a as LabelProps } from './Label-DzZDW95M.cjs';
|
|
8
8
|
export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.cjs';
|
|
9
|
-
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-
|
|
9
|
+
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-7xA_lXvH.cjs';
|
|
10
10
|
export { _ as Popover, P as PopoverProps } from './Popover-DbTTk7_N.cjs';
|
|
11
11
|
export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-D4znH2L3.cjs';
|
|
12
12
|
export { useDebounce, useLocalStorage } from './hooks/index.cjs';
|
|
13
13
|
export { nextui } from '@nextui-org/theme';
|
|
14
|
-
export { variantsToClassNames } from './utils/index.cjs';
|
|
14
|
+
export { TVClassName, TVProps, variantsToClassNames } from './utils/index.cjs';
|
|
15
15
|
export { tv } from 'tailwind-variants';
|
|
16
16
|
import 'react/jsx-runtime';
|
|
17
17
|
import 'tailwind-variants/dist/config.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-
|
|
1
|
+
export { A as Accordion, c as AccordionItemProps, b as AccordionProps, a as accordionVariants } from './Accordion-Dv-zolQr.js';
|
|
2
2
|
export { A as Avatar, a as AvatarProps } from './Avatar-Bl6oBjgb.js';
|
|
3
3
|
export { A as AvatarGroup, a as AvatarGroupProps } from './AvatarGroup-tWe-Vgrz.js';
|
|
4
|
-
export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-
|
|
5
|
-
export { C as Card, a as CardProps, c as cardVariants } from './Card-
|
|
4
|
+
export { B as Button, a as ButtonProps, b as buttonVariants } from './Button-B9f7IDnm.js';
|
|
5
|
+
export { C as Card, a as CardProps, c as cardVariants } from './Card-C656HOc1.js';
|
|
6
6
|
export { J as Json, a as JsonProps } from './Json-ClGDcbcp.js';
|
|
7
7
|
export { L as Label, a as LabelProps } from './Label-DzZDW95M.js';
|
|
8
8
|
export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.js';
|
|
9
|
-
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-
|
|
9
|
+
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-BNYlVV9i.js';
|
|
10
10
|
export { _ as Popover, P as PopoverProps } from './Popover-DbTTk7_N.js';
|
|
11
11
|
export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-D4znH2L3.js';
|
|
12
12
|
export { useDebounce, useLocalStorage } from './hooks/index.js';
|
|
13
13
|
export { nextui } from '@nextui-org/theme';
|
|
14
|
-
export { variantsToClassNames } from './utils/index.js';
|
|
14
|
+
export { TVClassName, TVProps, variantsToClassNames } from './utils/index.js';
|
|
15
15
|
export { tv } from 'tailwind-variants';
|
|
16
16
|
import 'react/jsx-runtime';
|
|
17
17
|
import 'tailwind-variants/dist/config.js';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Modal_default,
|
|
3
3
|
modalVariants
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2FKNKEKZ.js";
|
|
5
5
|
import {
|
|
6
6
|
Popover_default
|
|
7
7
|
} from "./chunk-6G5VTF6K.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
Accordion_default,
|
|
18
18
|
accordionVariants
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-PVCGQSAN.js";
|
|
20
20
|
import {
|
|
21
21
|
AvatarGroup_default
|
|
22
22
|
} from "./chunk-LAGUJC5D.js";
|
|
@@ -26,19 +26,19 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
Card_default,
|
|
28
28
|
cardVariants
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-6VMKAUMC.js";
|
|
30
30
|
import {
|
|
31
31
|
Json_default
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-DJNPSUNK.js";
|
|
33
33
|
import {
|
|
34
34
|
Button_default,
|
|
35
35
|
buttonVariants
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-4UDBXGTR.js";
|
|
37
37
|
import {
|
|
38
38
|
nextui,
|
|
39
39
|
tv,
|
|
40
40
|
variantsToClassNames
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-OOBT7L2Z.js";
|
|
42
42
|
import {
|
|
43
43
|
Label_default
|
|
44
44
|
} from "./chunk-S2WOGSQV.js";
|
package/dist/utils/index.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunk2XGUY3UFcjs = require('../chunk-2XGUY3UF.cjs');
|
|
6
6
|
require('../chunk-DZUJEN5N.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.nextui =
|
|
11
|
+
exports.nextui = _chunk2XGUY3UFcjs.nextui; exports.tv = _chunk2XGUY3UFcjs.tv; exports.variantsToClassNames = _chunk2XGUY3UFcjs.variantsToClassNames;
|
|
12
12
|
//# sourceMappingURL=index.cjs.map
|
package/dist/utils/index.d.cts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { VariantProps } from '@nextui-org/theme';
|
|
1
2
|
export { nextui } from '@nextui-org/theme';
|
|
2
3
|
export { tv } from 'tailwind-variants';
|
|
3
4
|
|
|
5
|
+
type TVProps<Component extends (...args: any) => any> = VariantProps<Component>;
|
|
6
|
+
type TVClassName<Component extends (...args: any) => any> = Partial<Record<keyof ReturnType<Component>, string>> | string;
|
|
4
7
|
declare const variantsToClassNames: <T extends Record<string, unknown>>(variants: T, className?: string | Record<string, string>, baseSlot?: keyof T) => Record<keyof T, string>;
|
|
5
8
|
|
|
6
|
-
export { variantsToClassNames };
|
|
9
|
+
export { type TVClassName, type TVProps, variantsToClassNames };
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { VariantProps } from '@nextui-org/theme';
|
|
1
2
|
export { nextui } from '@nextui-org/theme';
|
|
2
3
|
export { tv } from 'tailwind-variants';
|
|
3
4
|
|
|
5
|
+
type TVProps<Component extends (...args: any) => any> = VariantProps<Component>;
|
|
6
|
+
type TVClassName<Component extends (...args: any) => any> = Partial<Record<keyof ReturnType<Component>, string>> | string;
|
|
4
7
|
declare const variantsToClassNames: <T extends Record<string, unknown>>(variants: T, className?: string | Record<string, string>, baseSlot?: keyof T) => Record<keyof T, string>;
|
|
5
8
|
|
|
6
|
-
export { variantsToClassNames };
|
|
9
|
+
export { type TVClassName, type TVProps, variantsToClassNames };
|
package/dist/utils/index.js
CHANGED
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.9.
|
|
5
|
+
"version": "0.9.3",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
8
8
|
"module": "./dist/index.js",
|
|
@@ -135,9 +135,9 @@
|
|
|
135
135
|
"react": "18.3.1",
|
|
136
136
|
"react-dom": "18.3.1",
|
|
137
137
|
"@repo/storybook-config": "0.0.1",
|
|
138
|
+
"@repo/tailwind-config": "0.0.1",
|
|
138
139
|
"@repo/tsup-config": "0.0.1",
|
|
139
|
-
"@repo/vite-config": "0.0.1"
|
|
140
|
-
"@repo/tailwind-config": "0.0.1"
|
|
140
|
+
"@repo/vite-config": "0.0.1"
|
|
141
141
|
},
|
|
142
142
|
"scripts": {
|
|
143
143
|
"build": "tsup --config node_modules/@repo/tsup-config/config.ts --dts-resolve",
|
|
@@ -1 +0,0 @@
|
|
|
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;AA+EG,mBACa,KADb;AA1EH,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,aAAa,qBAAqB,UAAU,WAAW,MAAM;AAEnE,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;;;AC7Ff,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';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// modal variants\nexport const modalVariants = tv({\n slots: {\n backdrop: '',\n base: '',\n body: '',\n closeButton: '',\n footer: '',\n header: '',\n wrapper: '',\n },\n variants: {\n size: {\n sm: { base: 'max-w-sm' },\n md: { base: 'max-w-md' },\n lg: { base: 'max-w-lg' },\n xl: { base: 'max-w-5xl' },\n full: { base: 'h-[80dvh] max-w-full' },\n },\n },\n});\n\ntype 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 classNames = variantsToClassNames(variants, className, 'base');\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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/theme.ts","../src/utils/tv.ts"],"names":[],"mappings":";AACA,SAAS,cAAc;;;ACDvB,SAAS,UAAU;AAGZ,IAAM,uBAAuB,CAClC,UACA,WACA,aAC4B;AAC5B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AAEtE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,SAAS,MAAM;AAAA,MAClD;AAAA,MACA,YAAY,SAAS;AAAA;AAAA,QAEhB,UAAU;AAAA,UACT,WACE,OAAO,cAAc,WAAW,YAAY,aAAa,IAAI;AAAA,QACjE,CAAC;AAAA;AAAA;AAAA,QAEA,UAAU,EAAE,WAAW,aAAa,IAAI,EAAE,CAAC;AAAA;AAAA,IAClD,CAAC;AAAA,EACH;AACF","sourcesContent":["/* eslint-disable import/prefer-default-export */\nexport { nextui } from '@nextui-org/theme';\n","export { tv } from 'tailwind-variants';\n\n// converts tailwind-variants slots instance to actual classnames object\nexport const variantsToClassNames = <T extends Record<string, unknown>>(\n variants: T,\n className?: string | Record<string, string>,\n baseSlot?: keyof T,\n): Record<keyof T, string> => {\n const classNameObj = (typeof className === 'object' && className) || {};\n // @ts-expect-error could be improved\n return Object.fromEntries(\n Object.entries(variants).map(([slot, variantFn]) => [\n slot as keyof T,\n baseSlot && slot === baseSlot\n ? // @ts-expect-error could be improved\n (variantFn({\n className:\n typeof className === 'string' ? className : classNameObj[slot],\n }) as string)\n : // @ts-expect-error could be improved\n (variantFn({ className: classNameObj[slot] }) as string),\n ]),\n );\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"names":["Card_default"],"mappings":";;;;;;AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AAmDrB,SAWV,UAXU,KAWV,YAXU;AA9CX,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,EAAE,SAAS,kBAAkB,GAAG,WAAW,IAAI;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,UAAU,oBAAC,eAAY,WAAW,kBAAkB;AAE1D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;ACvFf,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';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype 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 { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"sourcesContent":["import type { DividerProps } from '@nextui-org/divider';\nimport type { VariantProps } from '@nextui-org/theme';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// card styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: '',\n heading: '',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: '',\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 },\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 AccordionVariantProps = VariantProps<typeof accordionVariants>;\ntype AccordionVariantSlots = Partial<\n Record<keyof ReturnType<typeof accordionVariants>, string>\n>;\n\nexport interface AccordionProps extends AccordionVariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: string | AccordionVariantSlots;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({ indicatorLeft });\n const { wrapper, ...itemClasses } = variantsToClassNames(\n variants,\n className,\n 'wrapper',\n );\n\n return (\n <NextAccordion\n className={wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={itemClasses}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={showDivider}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"],"mappings":";;;;;;AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAkHC;AA5GD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAgDD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB,EAAE,cAAc,CAAC;AACpD,QAAM,EAAE,SAAS,GAAG,YAAY,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;AC/Hf,IAAOA,qBAAQ;","names":["Accordion_default"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { Button as NextButton } from '@nextui-org/button';\n\nimport { tv } from '../utils';\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n base: '',\n variants: {\n color: {\n default: '',\n primary: '',\n secondary: '',\n success: '',\n warning: '',\n danger: '',\n },\n variant: {\n solid: '',\n bordered: '',\n light: '',\n flat: '',\n faded: '',\n shadow: '',\n ghost: '',\n },\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n ],\n});\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends ButtonVariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={buttonVariants({ color, variant, className })}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"],"mappings":";;;;;AAIA,SAAS,UAAU,kBAAkB;;;ACCnC,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADwEE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAvFG,IAAM,iBAAiB,GAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA;AAAA,IAEA;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAoCD,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,eAAe,EAAE,OAAO,SAAS,UAAU,CAAC;AAAA,MACvD;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AEhHf,IAAOE,kBAAQ;","names":["jsx","jsxs","Button_default"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":";;;;;;AAIA;AAAA,EACE,aAAa;AAAA,EACb,iBAAiB;AAAA,OACZ;AAkHC;AA5GD,IAAM,oBAAoB,GAAG;AAAA,EAClC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,UAAU;AAAA,IACV,OAAO;AAAA,IACP,cAAc;AAAA,IACd,SAAS;AAAA;AAAA,IAET,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAgDD,IAAM,YAAY,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,sBAAsB,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,yBAAyB;AAAA,EACzB,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,UAAU;AACZ,MAAsB;AAEpB,QAAM,WAAW,kBAAkB,EAAE,cAAc,CAAC;AACpD,QAAM,EAAE,SAAS,GAAG,YAAY,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,yBAAe,IAAI,CAAC,MAAM,UACzB;AAAA,QAAC;AAAA;AAAA,UAGC,YAAY,YAAY,MAAM;AAAA,UAE7B,GAAG;AAAA;AAAA,QAHC;AAAA,MAIP,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,oBAAQ;;;AC/Hf,IAAOA,qBAAQ","sourcesContent":["import type { DividerProps } from '@nextui-org/divider';\nimport type { VariantProps } from '@nextui-org/theme';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// card styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: '',\n heading: '',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: '',\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 },\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 AccordionVariantProps = VariantProps<typeof accordionVariants>;\ntype AccordionVariantSlots = Partial<\n Record<keyof ReturnType<typeof accordionVariants>, string>\n>;\n\nexport interface AccordionProps extends AccordionVariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems?: AccordionItemProps[];\n /** CSS class name */\n className?: string | AccordionVariantSlots;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems = [],\n className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({ indicatorLeft });\n const { wrapper, ...itemClasses } = variantsToClassNames(\n variants,\n className,\n 'wrapper',\n );\n\n return (\n <NextAccordion\n className={wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={itemClasses}\n onSelectionChange={onSelectionChange}\n selectionMode={selectionMode}\n showDivider={showDivider}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"names":["jsx","jsxs","Button_default"],"mappings":";;;;;AAIA,SAAS,UAAU,kBAAkB;;;ACCnC,SAME,KANF;AADF,IAAO,yBAAQ,MACb;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA;AAAA,MACd;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;ADwEE,SAYW,OAAAA,MAZX,QAAAC,aAAA;AAvFG,IAAM,iBAAiB,GAAG;AAAA,EAC/B,MAAM;AAAA,EACN,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA;AAAA,IAEA;AAAA,MACE,OAAO;AAAA,MACP,SAAS,CAAC,SAAS,QAAQ;AAAA,MAC3B,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAoCD,IAAM,SAAS,CAAC;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ,MAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,eAAe,EAAE,OAAO,SAAS,UAAU,CAAC;AAAA,MACvD;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY,CAAC,EAAE,QAAQ,CAAC;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,SAAS,gBAAAD,KAAC,0BAAe;AAAA,MACzB;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,iBAAQ;;;AEhHf,IAAOE,kBAAQ","sourcesContent":["import type { ButtonProps as NextButtonProps } from '@nextui-org/button';\nimport type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { Button as NextButton } from '@nextui-org/button';\n\nimport { tv } from '../utils';\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n base: '',\n variants: {\n color: {\n default: '',\n primary: '',\n secondary: '',\n success: '',\n warning: '',\n danger: '',\n },\n variant: {\n solid: '',\n bordered: '',\n light: '',\n flat: '',\n faded: '',\n shadow: '',\n ghost: '',\n },\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: ['solid', 'shadow'],\n class: 'text-white',\n },\n ],\n});\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends ButtonVariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** next ui button color */\n color?: NextButtonProps['color'];\n /** disables function of the button. */\n disabled?: boolean;\n /** disables all button animations */\n disableAnimation?: boolean;\n /** If set loading animation is shown */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** on click event */\n onClick?: NextButtonProps['onPress'];\n /** 3 size options */\n size?: NextButtonProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** sets the button type. */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** next ui button variants */\n variant?: NextButtonProps['variant'];\n}\n\n/**\n * Button component based on [NextUI Button](https://nextui.org/docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className = undefined,\n color = 'default',\n disabled = false,\n disableAnimation = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n return (\n <NextButton\n aria-label={ariaLabel}\n className={buttonVariants({ color, variant, className })}\n color={color}\n data-testid={testId}\n disableAnimation={disableAnimation}\n disableRipple={disableAnimation}\n isDisabled={disabled}\n isIconOnly={!!(icon && !children)}\n isLoading={loading}\n onPress={onClick}\n size={size}\n spinner={<LoadingSpinner />}\n type={type}\n variant={variant}\n >\n {icon}\n {children}\n </NextButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://nextui.org/docs/components/button#loading\n * */\nexport default () => (\n <svg\n className=\"animate-spin h-5 w-5 text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Card/Card.tsx","../src/Card/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport {\n Card as NextCard,\n CardBody as NextCardBody,\n CardFooter as NextCardFooter,\n CardHeader as NextCardHeader,\n} from '@nextui-org/card';\nimport { Divider as NextDivider } from '@nextui-org/divider';\n\nimport { tv, variantsToClassNames } from '../utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'text-base font-semibold',\n },\n});\n\ntype 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 { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <NextDivider className={dividerClassName} />;\n\n return (\n <NextCard\n classNames={classNames}\n data-testid={testId && `card_${testId}`}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header && (\n <>\n <NextCardHeader data-testid={testId && `card_header_${testId}`}>\n {header}\n </NextCardHeader>\n {divider}\n </>\n )}\n <NextCardBody data-testid={testId && `card_body_${testId}`}>\n {children}\n </NextCardBody>\n {footer && (\n <>\n {divider}\n <NextCardFooter data-testid={testId && `card_footer_${testId}`}>\n {footer}\n </NextCardFooter>\n </>\n )}\n </NextCard>\n );\n};\n\nexport default Card;\n","import Card, { cardVariants } from './Card';\n\nexport type { CardProps } from './Card';\n\nexport { Card, cardVariants };\n\nexport default Card;\n"],"mappings":";;;;;;AAGA;AAAA,EACE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,OACT;AACP,SAAS,WAAW,mBAAmB;AAmDrB,SAWV,UAXU,KAWV,YAXU;AA9CX,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,EAAE,SAAS,kBAAkB,GAAG,WAAW,IAAI;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,UAAU,oBAAC,eAAY,WAAW,kBAAkB;AAE1D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,UAAU,QAAQ,MAAM;AAAA,MACrC,WAAS;AAAA,MACT,QAAO;AAAA,MACP,QAAO;AAAA,MAEN;AAAA,kBACC,iCACE;AAAA,8BAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,UACC;AAAA,WACH;AAAA,QAEF,oBAAC,gBAAa,eAAa,UAAU,aAAa,MAAM,IACrD,UACH;AAAA,QACC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,kBAAe,eAAa,UAAU,eAAe,MAAM,IACzD,kBACH;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;ACvFf,IAAOA,gBAAQ;","names":["Card_default"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/theme.ts","../src/utils/tv.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nexport { nextui } from '@nextui-org/theme';\n","export { tv } from 'tailwind-variants';\n\n// converts tailwind-variants slots instance to actual classnames object\nexport const variantsToClassNames = <T extends Record<string, unknown>>(\n variants: T,\n className?: string | Record<string, string>,\n baseSlot?: keyof T,\n): Record<keyof T, string> => {\n const classNameObj = (typeof className === 'object' && className) || {};\n // @ts-expect-error could be improved\n return Object.fromEntries(\n Object.entries(variants).map(([slot, variantFn]) => [\n slot as keyof T,\n baseSlot && slot === baseSlot\n ? // @ts-expect-error could be improved\n (variantFn({\n className:\n typeof className === 'string' ? className : classNameObj[slot],\n }) as string)\n : // @ts-expect-error could be improved\n (variantFn({ className: classNameObj[slot] }) as string),\n ]),\n );\n};\n"],"mappings":";AACA,SAAS,cAAc;;;ACDvB,SAAS,UAAU;AAGZ,IAAM,uBAAuB,CAClC,UACA,WACA,aAC4B;AAC5B,QAAM,eAAgB,OAAO,cAAc,YAAY,aAAc,CAAC;AAEtE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,SAAS,MAAM;AAAA,MAClD;AAAA,MACA,YAAY,SAAS;AAAA;AAAA,QAEhB,UAAU;AAAA,UACT,WACE,OAAO,cAAc,WAAW,YAAY,aAAa,IAAI;AAAA,QACjE,CAAC;AAAA;AAAA;AAAA,QAEA,UAAU,EAAE,WAAW,aAAa,IAAI,EAAE,CAAC;AAAA;AAAA,IAClD,CAAC;AAAA,EACH;AACF;","names":[]}
|