@fuf-stack/pixels 0.29.2 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/index.cjs +3 -3
- package/dist/Accordion/index.js +2 -2
- package/dist/Avatar/index.cjs +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/AvatarGroup/index.cjs +3 -3
- package/dist/AvatarGroup/index.js +2 -2
- package/dist/Badge/index.cjs +1 -1
- package/dist/Badge/index.js +1 -1
- package/dist/Breadcrumb/index.cjs +3 -3
- package/dist/Breadcrumb/index.js +2 -2
- package/dist/Button/index.cjs +1 -1
- package/dist/Button/index.js +1 -1
- package/dist/Card/index.cjs +3 -3
- package/dist/Card/index.js +2 -2
- package/dist/Json/index.cjs +3 -3
- package/dist/Json/index.d.cts +3 -2
- package/dist/Json/index.d.ts +3 -2
- package/dist/Json/index.js +2 -2
- package/dist/Json-DZue23GO.d.cts +24 -0
- package/dist/Json-DZue23GO.d.ts +24 -0
- package/dist/Label/index.cjs +1 -1
- package/dist/Label/index.js +1 -1
- package/dist/Menu/index.cjs +3 -3
- package/dist/Menu/index.js +2 -2
- package/dist/Modal/index.cjs +3 -3
- package/dist/Modal/index.d.cts +3 -2
- package/dist/Modal/index.d.ts +3 -2
- package/dist/Modal/index.js +2 -2
- package/dist/{Modal-DZHeIvQc.d.cts → Modal-CSOPzGYj.d.cts} +6 -1
- package/dist/{Modal-DZHeIvQc.d.ts → Modal-CSOPzGYj.d.ts} +6 -1
- package/dist/Popover/index.cjs +4 -4
- package/dist/Popover/index.js +3 -3
- package/dist/ScrollShadow/index.cjs +4 -4
- package/dist/ScrollShadow/index.js +2 -2
- package/dist/Table/index.cjs +112 -0
- package/dist/Table/index.cjs.map +1 -0
- package/dist/Table/index.d.cts +244 -0
- package/dist/Table/index.d.ts +244 -0
- package/dist/Table/index.js +112 -0
- package/dist/Table/index.js.map +1 -0
- package/dist/Tabs/index.cjs +1 -1
- package/dist/Tabs/index.js +1 -1
- package/dist/Tooltip/index.cjs +1 -1
- package/dist/Tooltip/index.js +1 -1
- package/dist/{chunk-Y3SLMQYA.cjs → chunk-2WDAJ6ER.cjs} +11 -7
- package/dist/chunk-2WDAJ6ER.cjs.map +1 -0
- package/dist/{chunk-EIOL2HNA.js → chunk-33DBA7U2.js} +8 -5
- package/dist/{chunk-EIOL2HNA.js.map → chunk-33DBA7U2.js.map} +1 -1
- package/dist/{chunk-VU64Z744.js → chunk-3QI2ODV2.js} +10 -6
- package/dist/{chunk-VU64Z744.js.map → chunk-3QI2ODV2.js.map} +1 -1
- package/dist/{chunk-L2RCVUXK.js → chunk-7LABJBKF.js} +2 -2
- package/dist/{chunk-L2RCVUXK.js.map → chunk-7LABJBKF.js.map} +1 -1
- package/dist/{chunk-OP6ST4KB.cjs → chunk-7XJHVFT3.cjs} +16 -14
- package/dist/chunk-7XJHVFT3.cjs.map +1 -0
- package/dist/{chunk-JPALSO5E.cjs → chunk-AVYWDZ7X.cjs} +8 -4
- package/dist/chunk-AVYWDZ7X.cjs.map +1 -0
- package/dist/{chunk-BAPBIOOG.js → chunk-BUWMLU3E.js} +2 -2
- package/dist/{chunk-BAPBIOOG.js.map → chunk-BUWMLU3E.js.map} +1 -1
- package/dist/{chunk-D5HC5WLB.cjs → chunk-BXPBP3PC.cjs} +2 -2
- package/dist/{chunk-D5HC5WLB.cjs.map → chunk-BXPBP3PC.cjs.map} +1 -1
- package/dist/{chunk-F2SRHLNC.js → chunk-CQW46JPO.js} +5 -1
- package/dist/chunk-CQW46JPO.js.map +1 -0
- package/dist/{chunk-APEDJG3R.js → chunk-CZJKT7IC.js} +7 -3
- package/dist/{chunk-APEDJG3R.js.map → chunk-CZJKT7IC.js.map} +1 -1
- package/dist/chunk-D4TLDLEX.cjs +63 -0
- package/dist/chunk-D4TLDLEX.cjs.map +1 -0
- package/dist/{chunk-5WRI5ZAA.js → chunk-J7N2552D.js} +33 -1
- package/dist/{chunk-C2BIHVLT.js → chunk-LCSYN3DI.js} +180 -96
- package/dist/chunk-LCSYN3DI.js.map +1 -0
- package/dist/{chunk-RMLPCTDU.js → chunk-LPCCBJ2T.js} +8 -5
- package/dist/{chunk-RMLPCTDU.js.map → chunk-LPCCBJ2T.js.map} +1 -1
- package/dist/{chunk-5HEZFVFG.cjs → chunk-LY45VQ2E.cjs} +3 -3
- package/dist/chunk-LY45VQ2E.cjs.map +1 -0
- package/dist/{chunk-RJAVAHBK.cjs → chunk-NVNT4PMS.cjs} +9 -6
- package/dist/chunk-NVNT4PMS.cjs.map +1 -0
- package/dist/{chunk-XFUHF75Z.cjs → chunk-OLKLIWBE.cjs} +213 -129
- package/dist/chunk-OLKLIWBE.cjs.map +1 -0
- package/dist/{chunk-VAJODF7Z.cjs → chunk-VG5A2YZE.cjs} +5 -1
- package/dist/chunk-VG5A2YZE.cjs.map +1 -0
- package/dist/{chunk-337S7HUF.js → chunk-XVCKJE3P.js} +14 -12
- package/dist/{chunk-337S7HUF.js.map → chunk-XVCKJE3P.js.map} +1 -1
- package/dist/{chunk-VHEIRVBB.cjs → chunk-ZXGEK67F.cjs} +9 -6
- package/dist/chunk-ZXGEK67F.cjs.map +1 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +16 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +17 -17
- package/package.json +27 -21
- package/dist/Json-BbMeuEvE.d.cts +0 -18
- package/dist/Json-BbMeuEvE.d.ts +0 -18
- package/dist/chunk-5HEZFVFG.cjs.map +0 -1
- package/dist/chunk-C2BIHVLT.js.map +0 -1
- package/dist/chunk-DZUJEN5N.cjs +0 -31
- package/dist/chunk-DZUJEN5N.cjs.map +0 -1
- package/dist/chunk-F2SRHLNC.js.map +0 -1
- package/dist/chunk-JPALSO5E.cjs.map +0 -1
- package/dist/chunk-OP6ST4KB.cjs.map +0 -1
- package/dist/chunk-RJAVAHBK.cjs.map +0 -1
- package/dist/chunk-VAJODF7Z.cjs.map +0 -1
- package/dist/chunk-VHEIRVBB.cjs.map +0 -1
- package/dist/chunk-XFUHF75Z.cjs.map +0 -1
- package/dist/chunk-Y3SLMQYA.cjs.map +0 -1
- /package/dist/{chunk-5WRI5ZAA.js.map → chunk-J7N2552D.js.map} +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
|
|
4
|
+
|
|
5
|
+
// src/Accordion/Accordion.tsx
|
|
2
6
|
|
|
3
7
|
|
|
4
8
|
|
|
@@ -77,10 +81,9 @@ var Accordion = ({
|
|
|
77
81
|
variant,
|
|
78
82
|
children: accordionItems.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
79
83
|
_accordion.AccordionItem,
|
|
80
|
-
{
|
|
81
|
-
isDisabled: disabled ||
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
+
_chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
|
|
85
|
+
isDisabled: disabled || (item == null ? void 0 : item.disabled)
|
|
86
|
+
}, item),
|
|
84
87
|
index
|
|
85
88
|
))
|
|
86
89
|
}
|
|
@@ -96,4 +99,4 @@ var Accordion_default2 = Accordion_default;
|
|
|
96
99
|
|
|
97
100
|
|
|
98
101
|
exports.accordionVariants = accordionVariants; exports.Accordion_default = Accordion_default; exports.Accordion_default2 = Accordion_default2;
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-ZXGEK67F.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-ZXGEK67F.cjs","../src/Accordion/Accordion.tsx","../src/Accordion/index.ts"],"names":["Accordion_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-ZXGEK67F.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DividerProps } from '@nextui-org/divider';\nimport type { ReactNode } from 'react';\n\nimport {\n Accordion as NextAccordion,\n AccordionItem as NextAccordionItem,\n} from '@nextui-org/accordion';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// accordion styling variants\n// see: https://nextui.org/docs/components/accordion#accordion-item-slots\nexport const accordionVariants = tv({\n slots: {\n base: '',\n content: 'px-4',\n heading: 'px-4',\n indicator: '',\n startContent: '',\n subtitle: '',\n title: '',\n titleWrapper: '',\n trigger: '',\n // outer accordion wrapper\n wrapper: 'px-0',\n },\n variants: {\n indicatorLeft: {\n true: {\n content: 'pl-7',\n indicator: '-rotate-180 data-[open=true]:-rotate-90',\n trigger: 'flex-row-reverse',\n },\n },\n showDivider: {\n true: {\n wrapper: 'divide-y divide-solid divide-divider',\n },\n },\n showBottomTopDivider: {\n true: {\n wrapper: 'border-b border-t border-solid border-divider',\n },\n },\n },\n});\n\nexport interface AccordionItemProps {\n /** Content of the accordion item */\n children: ReactNode;\n /** Disables the accordion item */\n disabled?: boolean;\n /** Accordion item title */\n title: ReactNode;\n /** Accordion item subtitle */\n subtitle?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof accordionVariants>;\ntype ClassName = TVClassName<typeof accordionVariants>;\n\nexport interface AccordionProps extends VariantProps {\n /** Props for AccordionItems, will render the accordion items programmatically */\n accordionItems: AccordionItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** Array of keys for the AccordionItem(s) to be expanded by default */\n defaultSelectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Disables the Accordion */\n disabled?: boolean;\n /** Array of keys for the AccordionItems to disable */\n disabledKeys?: Iterable<number | string>;\n /** Force always one AccordionItem to be open. */\n disallowEmptySelection?: boolean;\n /** props for styling the Divider */\n dividerProps?: DividerProps;\n /** Hide the expanded/collapsed indicator icon */\n hideIndicator?: boolean;\n /** Callback function for when a Accordion Item is expanded or collapsed */\n onSelectionChange?: (keys: 'all' | Iterable<number | string>) => unknown;\n /** Selected keys (controlled) */\n selectedKeys?: undefined | 'all' | Iterable<number | string>;\n /** Set whether multiple or only a single AccordionItems can be expanded */\n selectionMode?: 'single' | 'multiple';\n /** Enable or disable the divider between each AccordionItem */\n showDivider?: boolean;\n /** Style variant of the Accordion */\n variant?: 'light' | 'shadow' | 'bordered' | 'splitted';\n}\n\n/**\n * Accordion component based on [NextUI Accordion](https://nextui.org/docs/components/accordion)\n */\nconst Accordion = ({\n accordionItems,\n className: _className = undefined,\n defaultSelectedKeys = [],\n disabled = false,\n disabledKeys = [],\n disallowEmptySelection = false,\n dividerProps = {},\n indicatorLeft = false,\n onSelectionChange = undefined,\n selectedKeys = undefined,\n selectionMode = 'multiple',\n showDivider = true,\n variant = 'light',\n}: AccordionProps) => {\n // itemClasses from className slots\n const variants = accordionVariants({\n indicatorLeft,\n showDivider: showDivider && variant !== 'splitted',\n showBottomTopDivider: showDivider && variant === 'light',\n });\n const classNames = variantsToClassNames(variants, _className, 'wrapper');\n\n return (\n <NextAccordion\n className={classNames.wrapper}\n defaultSelectedKeys={defaultSelectedKeys}\n disabledKeys={disabledKeys}\n disallowEmptySelection={disallowEmptySelection}\n dividerProps={dividerProps}\n isDisabled={disabled}\n itemClasses={classNames}\n onSelectionChange={onSelectionChange}\n selectedKeys={selectedKeys}\n selectionMode={selectionMode}\n showDivider={false}\n variant={variant}\n >\n {accordionItems.map((item, index) => (\n <NextAccordionItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...item}\n />\n ))}\n </NextAccordion>\n );\n};\n\nexport default Accordion;\n","import Accordion, { accordionVariants } from './Accordion';\n\nexport type { AccordionProps, AccordionItemProps } from './Accordion';\n\nexport { Accordion, accordionVariants };\n\nexport default Accordion;\n"]}
|
package/dist/hooks/index.cjs
CHANGED
package/dist/hooks/index.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
var _chunkRMA57Q6Kcjs = require('./chunk-RMA57Q6K.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
4
8
|
var _chunkMWNBYTRNcjs = require('./chunk-MWNBYTRN.cjs');
|
|
5
9
|
|
|
6
10
|
|
|
7
|
-
var
|
|
11
|
+
var _chunkOLKLIWBEcjs = require('./chunk-OLKLIWBE.cjs');
|
|
8
12
|
|
|
9
13
|
|
|
10
14
|
var _chunkYTQJ6FZKcjs = require('./chunk-YTQJ6FZK.cjs');
|
|
11
15
|
|
|
12
16
|
|
|
13
|
-
var
|
|
17
|
+
var _chunkLY45VQ2Ecjs = require('./chunk-LY45VQ2E.cjs');
|
|
14
18
|
|
|
15
19
|
|
|
16
20
|
|
|
17
|
-
var
|
|
21
|
+
var _chunkVG5A2YZEcjs = require('./chunk-VG5A2YZE.cjs');
|
|
18
22
|
|
|
19
23
|
|
|
20
|
-
var
|
|
21
|
-
require('./chunk-
|
|
24
|
+
var _chunk2WDAJ6ERcjs = require('./chunk-2WDAJ6ER.cjs');
|
|
25
|
+
require('./chunk-BXPBP3PC.cjs');
|
|
22
26
|
|
|
23
27
|
|
|
24
28
|
|
|
@@ -26,24 +30,20 @@ var _chunkZ5OFNBWIcjs = require('./chunk-Z5OFNBWI.cjs');
|
|
|
26
30
|
|
|
27
31
|
|
|
28
32
|
|
|
29
|
-
var
|
|
30
|
-
|
|
33
|
+
var _chunkZXGEK67Fcjs = require('./chunk-ZXGEK67F.cjs');
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
var
|
|
36
|
+
var _chunkU2JEMXXJcjs = require('./chunk-U2JEMXXJ.cjs');
|
|
34
37
|
|
|
35
38
|
|
|
36
|
-
var
|
|
39
|
+
var _chunk7XJHVFT3cjs = require('./chunk-7XJHVFT3.cjs');
|
|
37
40
|
|
|
38
41
|
|
|
39
42
|
var _chunkHVLEV6BGcjs = require('./chunk-HVLEV6BG.cjs');
|
|
40
43
|
|
|
41
44
|
|
|
42
|
-
var _chunkU2JEMXXJcjs = require('./chunk-U2JEMXXJ.cjs');
|
|
43
|
-
|
|
44
|
-
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _chunkNVNT4PMScjs = require('./chunk-NVNT4PMS.cjs');
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
@@ -52,8 +52,8 @@ var _chunk7TIFKRWYcjs = require('./chunk-7TIFKRWY.cjs');
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
var
|
|
56
|
-
require('./chunk-
|
|
55
|
+
var _chunkAVYWDZ7Xcjs = require('./chunk-AVYWDZ7X.cjs');
|
|
56
|
+
require('./chunk-D4TLDLEX.cjs');
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
@@ -79,5 +79,5 @@ require('./chunk-DZUJEN5N.cjs');
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
exports.Accordion =
|
|
82
|
+
exports.Accordion = _chunkZXGEK67Fcjs.Accordion_default; exports.Avatar = _chunkHVLEV6BGcjs.Avatar_default; exports.AvatarGroup = _chunk7XJHVFT3cjs.AvatarGroup_default; exports.Badge = _chunkU2JEMXXJcjs.Badge_default; exports.Breadcrumb = _chunkNVNT4PMScjs.Breadcrumb_default; exports.Button = _chunk7TIFKRWYcjs.Button_default; exports.ButtonGroup = _chunk7TIFKRWYcjs.ButtonGroup_default; exports.Card = _chunkAVYWDZ7Xcjs.Card_default; exports.Json = _chunkOLKLIWBEcjs.Json_default; exports.Label = _chunkYTQJ6FZKcjs.Label_default; exports.Menu = _chunkLY45VQ2Ecjs.Menu_default; exports.Modal = _chunkVG5A2YZEcjs.Modal_default; exports.Popover = _chunk2WDAJ6ERcjs.Popover_default; exports.Tabs = _chunkZ5OFNBWIcjs.Tabs_default; exports.Tooltip = _chunkRMA57Q6Kcjs.Tooltip_default; exports.accordionVariants = _chunkZXGEK67Fcjs.accordionVariants; exports.breadcrumbVariants = _chunkNVNT4PMScjs.breadcrumbVariants; exports.buttonVariants = _chunk7TIFKRWYcjs.buttonVariants; exports.cardVariants = _chunkAVYWDZ7Xcjs.cardVariants; exports.modalVariants = _chunkVG5A2YZEcjs.modalVariants; exports.tabsVariants = _chunkZ5OFNBWIcjs.tabsVariants; exports.tooltipPlacementOptions = _chunkRMA57Q6Kcjs.tooltipPlacementOptions; exports.useDebounce = _chunkMWNBYTRNcjs.useDebounce; exports.useLocalStorage = _chunkMWNBYTRNcjs.useLocalStorage;
|
|
83
83
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,izCAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/index.cjs"}
|
package/dist/index.d.cts
CHANGED
|
@@ -5,10 +5,10 @@ export { A as Badge, B as BadgeProps } from './Badge-yzXn5LtZ.cjs';
|
|
|
5
5
|
export { B as Breadcrumb, c as BreadcrumbItemProps, a as BreadcrumbProps, b as breadcrumbVariants } from './Breadcrumb-DHn8XeOY.cjs';
|
|
6
6
|
export { B as Button, a as ButtonGroup, c as ButtonProps, b as buttonVariants } from './ButtonGroup-DIL5WB0f.cjs';
|
|
7
7
|
export { C as Card, a as CardProps, c as cardVariants } from './Card-9RmJ_S7F.cjs';
|
|
8
|
-
export { J as Json, a as JsonProps } from './Json-
|
|
8
|
+
export { J as Json, a as JsonProps } from './Json-DZue23GO.cjs';
|
|
9
9
|
export { L as Label, a as LabelProps } from './Label-DSBpvzTK.cjs';
|
|
10
10
|
export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.cjs';
|
|
11
|
-
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-
|
|
11
|
+
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-CSOPzGYj.cjs';
|
|
12
12
|
export { _ as Popover, P as PopoverProps } from './Popover-By7zSUnV.cjs';
|
|
13
13
|
export { b as TabProps, T as Tabs, a as TabsProps, t as tabsVariants } from './Tabs-CfFvBC99.cjs';
|
|
14
14
|
export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-DS3pM5Cq.cjs';
|
|
@@ -23,4 +23,5 @@ import '@nextui-org/badge';
|
|
|
23
23
|
import '@nextui-org/button';
|
|
24
24
|
import '@nextui-org/system';
|
|
25
25
|
import '@nextui-org/chip';
|
|
26
|
+
import '@nextui-org/modal';
|
|
26
27
|
import '@nextui-org/popover';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export { A as Badge, B as BadgeProps } from './Badge-yzXn5LtZ.js';
|
|
|
5
5
|
export { B as Breadcrumb, c as BreadcrumbItemProps, a as BreadcrumbProps, b as breadcrumbVariants } from './Breadcrumb-DHn8XeOY.js';
|
|
6
6
|
export { B as Button, a as ButtonGroup, c as ButtonProps, b as buttonVariants } from './ButtonGroup-DIL5WB0f.js';
|
|
7
7
|
export { C as Card, a as CardProps, c as cardVariants } from './Card-9RmJ_S7F.js';
|
|
8
|
-
export { J as Json, a as JsonProps } from './Json-
|
|
8
|
+
export { J as Json, a as JsonProps } from './Json-DZue23GO.js';
|
|
9
9
|
export { L as Label, a as LabelProps } from './Label-DSBpvzTK.js';
|
|
10
10
|
export { M as Menu, b as MenuItem, a as MenuProps, c as MenuSection } from './Menu-CG5mVVnv.js';
|
|
11
|
-
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-
|
|
11
|
+
export { M as Modal, a as ModalProps, m as modalVariants } from './Modal-CSOPzGYj.js';
|
|
12
12
|
export { _ as Popover, P as PopoverProps } from './Popover-By7zSUnV.js';
|
|
13
13
|
export { b as TabProps, T as Tabs, a as TabsProps, t as tabsVariants } from './Tabs-CfFvBC99.js';
|
|
14
14
|
export { T as Tooltip, a as TooltipProps, t as tooltipPlacementOptions } from './Tooltip-DS3pM5Cq.js';
|
|
@@ -23,4 +23,5 @@ import '@nextui-org/badge';
|
|
|
23
23
|
import '@nextui-org/button';
|
|
24
24
|
import '@nextui-org/system';
|
|
25
25
|
import '@nextui-org/chip';
|
|
26
|
+
import '@nextui-org/modal';
|
|
26
27
|
import '@nextui-org/popover';
|
package/dist/index.js
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Tooltip_default,
|
|
3
|
+
tooltipPlacementOptions
|
|
4
|
+
} from "./chunk-MJE4MLZY.js";
|
|
1
5
|
import {
|
|
2
6
|
useDebounce,
|
|
3
7
|
useLocalStorage
|
|
4
8
|
} from "./chunk-USOEZROT.js";
|
|
5
9
|
import {
|
|
6
10
|
Json_default
|
|
7
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LCSYN3DI.js";
|
|
8
12
|
import {
|
|
9
13
|
Label_default
|
|
10
14
|
} from "./chunk-7IGL67EH.js";
|
|
11
15
|
import {
|
|
12
16
|
Menu_default
|
|
13
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-7LABJBKF.js";
|
|
14
18
|
import {
|
|
15
19
|
Modal_default,
|
|
16
20
|
modalVariants
|
|
17
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-CQW46JPO.js";
|
|
18
22
|
import {
|
|
19
23
|
Popover_default
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-3QI2ODV2.js";
|
|
25
|
+
import "./chunk-BUWMLU3E.js";
|
|
22
26
|
import {
|
|
23
27
|
Tabs_default,
|
|
24
28
|
tabsVariants
|
|
25
29
|
} from "./chunk-NCSINRHM.js";
|
|
26
|
-
import {
|
|
27
|
-
Tooltip_default,
|
|
28
|
-
tooltipPlacementOptions
|
|
29
|
-
} from "./chunk-MJE4MLZY.js";
|
|
30
30
|
import {
|
|
31
31
|
Accordion_default,
|
|
32
32
|
accordionVariants
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-33DBA7U2.js";
|
|
34
|
+
import {
|
|
35
|
+
Badge_default
|
|
36
|
+
} from "./chunk-QTXKWCDV.js";
|
|
34
37
|
import {
|
|
35
38
|
AvatarGroup_default
|
|
36
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-XVCKJE3P.js";
|
|
37
40
|
import {
|
|
38
41
|
Avatar_default
|
|
39
42
|
} from "./chunk-N6YMP2DX.js";
|
|
40
|
-
import {
|
|
41
|
-
Badge_default
|
|
42
|
-
} from "./chunk-QTXKWCDV.js";
|
|
43
43
|
import {
|
|
44
44
|
Breadcrumb_default,
|
|
45
45
|
breadcrumbVariants
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-LPCCBJ2T.js";
|
|
47
47
|
import {
|
|
48
48
|
ButtonGroup_default,
|
|
49
49
|
Button_default,
|
|
@@ -52,8 +52,8 @@ import {
|
|
|
52
52
|
import {
|
|
53
53
|
Card_default,
|
|
54
54
|
cardVariants
|
|
55
|
-
} from "./chunk-
|
|
56
|
-
import "./chunk-
|
|
55
|
+
} from "./chunk-CZJKT7IC.js";
|
|
56
|
+
import "./chunk-J7N2552D.js";
|
|
57
57
|
export {
|
|
58
58
|
Accordion_default as Accordion,
|
|
59
59
|
Avatar_default as Avatar,
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@fuf-stack/pixels",
|
|
3
3
|
"description": "fuf core react component library",
|
|
4
4
|
"author": "Hannes Tiede",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.30.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
8
8
|
"module": "./dist/index.js",
|
|
@@ -84,6 +84,11 @@
|
|
|
84
84
|
"import": "./dist/ScrollShadow/index.js",
|
|
85
85
|
"require": "./dist/ScrollShadow/index.cjs"
|
|
86
86
|
},
|
|
87
|
+
"./Table": {
|
|
88
|
+
"types": "./dist/Table/index.d.ts",
|
|
89
|
+
"import": "./dist/Table/index.js",
|
|
90
|
+
"require": "./dist/Table/index.cjs"
|
|
91
|
+
},
|
|
87
92
|
"./Tabs": {
|
|
88
93
|
"types": "./dist/Tabs/index.d.ts",
|
|
89
94
|
"import": "./dist/Tabs/index.js",
|
|
@@ -120,37 +125,38 @@
|
|
|
120
125
|
"react-dom": ">=18"
|
|
121
126
|
},
|
|
122
127
|
"dependencies": {
|
|
123
|
-
"@nextui-org/avatar": "2.2.
|
|
124
|
-
"@nextui-org/accordion": "2.2.
|
|
125
|
-
"@nextui-org/badge": "2.2.
|
|
126
|
-
"@nextui-org/breadcrumbs": "2.2.
|
|
127
|
-
"@nextui-org/button": "2.2.
|
|
128
|
-
"@nextui-org/card": "2.2.
|
|
129
|
-
"@nextui-org/chip": "2.2.
|
|
130
|
-
"@nextui-org/divider": "2.2.
|
|
131
|
-
"@nextui-org/dropdown": "2.3.
|
|
132
|
-
"@nextui-org/modal": "2.2.
|
|
133
|
-
"@nextui-org/popover": "2.3.
|
|
134
|
-
"@nextui-org/scroll-shadow": "2.3.
|
|
135
|
-
"@nextui-org/system": "2.4.
|
|
136
|
-
"@nextui-org/
|
|
137
|
-
"@nextui-org/
|
|
138
|
-
"@nextui-org/
|
|
139
|
-
"
|
|
128
|
+
"@nextui-org/avatar": "2.2.5",
|
|
129
|
+
"@nextui-org/accordion": "2.2.6",
|
|
130
|
+
"@nextui-org/badge": "2.2.4",
|
|
131
|
+
"@nextui-org/breadcrumbs": "2.2.5",
|
|
132
|
+
"@nextui-org/button": "2.2.8",
|
|
133
|
+
"@nextui-org/card": "2.2.8",
|
|
134
|
+
"@nextui-org/chip": "2.2.5",
|
|
135
|
+
"@nextui-org/divider": "2.2.5",
|
|
136
|
+
"@nextui-org/dropdown": "2.3.8",
|
|
137
|
+
"@nextui-org/modal": "2.2.6",
|
|
138
|
+
"@nextui-org/popover": "2.3.8",
|
|
139
|
+
"@nextui-org/scroll-shadow": "2.3.4",
|
|
140
|
+
"@nextui-org/system": "2.4.5",
|
|
141
|
+
"@nextui-org/table": "2.2.7",
|
|
142
|
+
"@nextui-org/theme": "2.4.4",
|
|
143
|
+
"@nextui-org/tabs": "2.2.6",
|
|
144
|
+
"@nextui-org/tooltip": "2.2.6",
|
|
145
|
+
"framer-motion": "11.15.0",
|
|
140
146
|
"next-themes": "0.4.4",
|
|
141
147
|
"react-icons": "5.4.0",
|
|
142
|
-
"@fuf-stack/pixel-utils": "0.4.
|
|
148
|
+
"@fuf-stack/pixel-utils": "0.4.3"
|
|
143
149
|
},
|
|
144
150
|
"devDependencies": {
|
|
145
151
|
"@types/debug": "4.1.12",
|
|
146
|
-
"@types/react": "19.0.
|
|
152
|
+
"@types/react": "19.0.2",
|
|
147
153
|
"@types/react-dom": "19.0.2",
|
|
148
154
|
"@uiw/react-json-view": "2.0.0-alpha.30",
|
|
149
155
|
"react": "19.0.0",
|
|
150
156
|
"react-dom": "19.0.0",
|
|
151
157
|
"@repo/storybook-config": "0.0.1",
|
|
152
|
-
"@repo/tsup-config": "0.0.1",
|
|
153
158
|
"@repo/tailwind-config": "0.0.1",
|
|
159
|
+
"@repo/tsup-config": "0.0.1",
|
|
154
160
|
"@repo/vite-config": "0.0.1"
|
|
155
161
|
},
|
|
156
162
|
"scripts": {
|
package/dist/Json-BbMeuEvE.d.cts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
interface JsonProps {
|
|
4
|
-
/** CSS class name */
|
|
5
|
-
className?: string | string[] | null;
|
|
6
|
-
/** When set to true, all nodes will be collapsed by default. Use an integer value to collapse at a particular depth. */
|
|
7
|
-
collapsed?: boolean | number;
|
|
8
|
-
/** color scheme, if not provided will be determined by if body has dark class */
|
|
9
|
-
theme?: 'light' | 'dark';
|
|
10
|
-
/** Object to be visualized JSON string or object */
|
|
11
|
-
value: string | object;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Json renderer based on [react-json-view](https://mac-s-g.github.io/react-json-view/demo/dist/)
|
|
15
|
-
*/
|
|
16
|
-
declare const Json: ({ className, collapsed, value }: JsonProps) => react_jsx_runtime.JSX.Element;
|
|
17
|
-
|
|
18
|
-
export { Json as J, type JsonProps as a };
|
package/dist/Json-BbMeuEvE.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
interface JsonProps {
|
|
4
|
-
/** CSS class name */
|
|
5
|
-
className?: string | string[] | null;
|
|
6
|
-
/** When set to true, all nodes will be collapsed by default. Use an integer value to collapse at a particular depth. */
|
|
7
|
-
collapsed?: boolean | number;
|
|
8
|
-
/** color scheme, if not provided will be determined by if body has dark class */
|
|
9
|
-
theme?: 'light' | 'dark';
|
|
10
|
-
/** Object to be visualized JSON string or object */
|
|
11
|
-
value: string | object;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Json renderer based on [react-json-view](https://mac-s-g.github.io/react-json-view/demo/dist/)
|
|
15
|
-
*/
|
|
16
|
-
declare const Json: ({ className, collapsed, value }: JsonProps) => react_jsx_runtime.JSX.Element;
|
|
17
|
-
|
|
18
|
-
export { Json as J, type JsonProps as a };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-5HEZFVFG.cjs","../src/Menu/Menu.tsx","../src/Menu/index.ts"],"names":["Menu_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-5HEZFVFG.cjs","sourcesContent":[null,"import type { DropdownSectionProps } from '@nextui-org/dropdown';\nimport type { Key, MouseEventHandler, ReactNode } from 'react';\n\nimport { FaEllipsisVertical } from 'react-icons/fa6';\n\nimport { Button } from '@nextui-org/button';\nimport {\n Dropdown as NextDropdown,\n DropdownItem as NextDropdownItem,\n DropdownMenu as NextDropdownMenu,\n DropdownSection as NextDropdownSection,\n DropdownTrigger as NextDropdownTrigger,\n} from '@nextui-org/dropdown';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\n/**\n * Menu item type\n */\nexport interface MenuItem {\n /** unique identifier */\n key: string;\n /** CSS class name */\n className?: string;\n /** additional description shown under the label */\n description?: string;\n /** disables the menu item */\n disabled?: boolean;\n /** menu item icon */\n icon?: ReactNode;\n /** menu item name */\n label: ReactNode;\n /** click event handler */\n onClick?: MouseEventHandler<HTMLLIElement>;\n /** e2e test identifier */\n testId?: string;\n}\n\n/**\n * Menu section type\n */\nexport interface MenuSection {\n /** unique identifier */\n key: string;\n /** section label */\n label: ReactNode;\n /** section items (array of MenuItem) */\n items: MenuItem[];\n}\n\nexport interface MenuProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** called if item is selected */\n onAction?: (key: Key) => void;\n}\n\n/** returns String[] of disabled items/keys */\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]) => {\n return (\n items\n // @ts-expect-error typing issue with MenuSection | MenuItem\n .map((item) => (typeof item?.items === 'undefined' ? item : item.items))\n .flat<MenuItem[]>()\n .filter((item) => {\n return Object.hasOwn(item, 'disabled') && item.disabled === true;\n })\n .map((item) => item.key)\n );\n};\n\nconst renderMenuItem = (item: MenuItem) => (\n <NextDropdownItem\n className={item.className}\n data-testid={item.testId || item.key}\n description={item.description}\n key={item.key}\n onClick={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </NextDropdownItem>\n);\n\n/**\n * Dropdown menu component based on [NextUI Dropdown](https://nextui.org/docs/components/dropdown)\n */\nconst Menu = ({\n children = null,\n className = undefined,\n onAction = undefined,\n testId = undefined,\n isDisabled = false,\n items,\n}: MenuProps) => {\n return (\n <NextDropdown isDisabled={isDisabled}>\n <NextDropdownTrigger className={cn(className)} data-testid={testId}>\n {children ? (\n // eslint-disable-next-line react/button-has-type\n <button>{children}</button>\n ) : (\n // INFO: we use next button here so that ref passing works\n <Button size=\"sm\" variant=\"flat\" className=\"min-w-0\">\n <FaEllipsisVertical />\n </Button>\n )}\n </NextDropdownTrigger>\n <NextDropdownMenu\n // aria-label=\"Dynamic Actions\"\n items={items}\n disabledKeys={getDisabledKeys(items)}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <NextDropdownSection\n items={item.items as MenuSection['items']}\n title={item.label as DropdownSectionProps['title']}\n key={item.key}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem);\n }}\n </NextDropdownSection>\n );\n }\n return renderMenuItem(item);\n }}\n </NextDropdownMenu>\n </NextDropdown>\n );\n};\n\nexport default Menu;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"]}
|