@fuf-stack/pixels 1.2.0 → 1.2.2
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/Alert/index.cjs +3 -3
- package/dist/Alert/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 +3 -3
- package/dist/Badge/index.d.cts +3 -4
- package/dist/Badge/index.d.ts +3 -4
- package/dist/Badge/index.js +2 -2
- package/dist/{Badge-BjifpVQQ.d.cts → Badge-L8r9mgSs.d.cts} +2 -3
- package/dist/{Badge-BjifpVQQ.d.ts → Badge-L8r9mgSs.d.ts} +2 -3
- package/dist/Breadcrumb/index.cjs +3 -3
- package/dist/Breadcrumb/index.js +2 -2
- package/dist/Button/index.cjs +3 -3
- package/dist/Button/index.d.cts +2 -2
- package/dist/Button/index.d.ts +2 -2
- package/dist/Button/index.js +2 -2
- package/dist/Button-BOaEQrs9.d.cts +258 -0
- package/dist/Button-BOaEQrs9.d.ts +258 -0
- package/dist/ButtonGroup/index.cjs +1 -1
- package/dist/ButtonGroup/index.js +1 -1
- package/dist/Card/index.cjs +3 -3
- package/dist/Card/index.js +2 -2
- package/dist/Drawer/index.cjs +3 -3
- package/dist/Drawer/index.js +2 -2
- package/dist/Json/index.cjs +4 -4
- package/dist/Json/index.css.map +1 -1
- package/dist/Json/index.js +3 -3
- package/dist/Label/index.cjs +3 -3
- package/dist/Label/index.js +2 -2
- 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.js +2 -2
- package/dist/Popover/index.cjs +4 -4
- package/dist/Popover/index.d.cts +4 -5
- package/dist/Popover/index.d.ts +4 -5
- package/dist/Popover/index.js +3 -3
- package/dist/{Popover-D6Qv56ms.d.ts → Popover-Bf192yqn.d.cts} +4 -4
- package/dist/{Popover-BUKzm3MQ.d.cts → Popover-Bf192yqn.d.ts} +4 -4
- package/dist/Progress/index.cjs +3 -3
- package/dist/Progress/index.js +2 -2
- package/dist/ProgressCircular/index.cjs +3 -3
- package/dist/ProgressCircular/index.js +2 -2
- package/dist/ScrollShadow/index.cjs +4 -4
- package/dist/ScrollShadow/index.js +2 -2
- package/dist/Table/index.cjs +3 -3
- package/dist/Table/index.js +2 -2
- package/dist/Tabs/index.cjs +3 -3
- package/dist/Tabs/index.js +2 -2
- package/dist/Toast/index.cjs +3 -3
- package/dist/Toast/index.js +2 -2
- package/dist/Tooltip/index.cjs +4 -4
- package/dist/Tooltip/index.js +3 -3
- package/dist/{chunk-ESLZ4HYA.js → chunk-2O3IUQR4.js} +6 -4
- package/dist/chunk-2O3IUQR4.js.map +1 -0
- package/dist/{chunk-OAUPTZSC.js → chunk-473MRDWX.js} +11 -9
- package/dist/{chunk-OAUPTZSC.js.map → chunk-473MRDWX.js.map} +1 -1
- package/dist/{chunk-X6JZFO33.js → chunk-4AXE6KZW.js} +3 -3
- package/dist/{chunk-X6JZFO33.js.map → chunk-4AXE6KZW.js.map} +1 -1
- package/dist/{chunk-2OJHNNCU.cjs → chunk-6ZSRU7OZ.cjs} +63 -52
- package/dist/chunk-6ZSRU7OZ.cjs.map +1 -0
- package/dist/{chunk-MK2S3QUK.js → chunk-7MCSF7YR.js} +8 -6
- package/dist/{chunk-MK2S3QUK.js.map → chunk-7MCSF7YR.js.map} +1 -1
- package/dist/{chunk-D4TLDLEX.cjs → chunk-AHEA4IJV.cjs} +23 -2
- package/dist/{chunk-D4TLDLEX.cjs.map → chunk-AHEA4IJV.cjs.map} +1 -1
- package/dist/{chunk-W2EOAUKE.cjs → chunk-AZ7VMRHX.cjs} +7 -5
- package/dist/chunk-AZ7VMRHX.cjs.map +1 -0
- package/dist/{chunk-LA3SMG6Y.js → chunk-BGGRVPBR.js} +15 -13
- package/dist/{chunk-LA3SMG6Y.js.map → chunk-BGGRVPBR.js.map} +1 -1
- package/dist/{chunk-PHQVYJS2.cjs → chunk-BPBEZCSP.cjs} +4 -4
- package/dist/chunk-BPBEZCSP.cjs.map +1 -0
- package/dist/{chunk-WFR7OUY7.cjs → chunk-DLZNJESG.cjs} +26 -20
- package/dist/chunk-DLZNJESG.cjs.map +1 -0
- package/dist/{chunk-4LMQVFV7.js → chunk-F37RLKXJ.js} +64 -47
- package/dist/chunk-F37RLKXJ.js.map +1 -0
- package/dist/{chunk-RYO74XL7.cjs → chunk-G3YTOGEG.cjs} +14 -11
- package/dist/chunk-G3YTOGEG.cjs.map +1 -0
- package/dist/{chunk-JSANDW3W.cjs → chunk-HG7AE6Q2.cjs} +1 -1
- package/dist/chunk-HG7AE6Q2.cjs.map +1 -0
- package/dist/{chunk-OOJRHIVU.js → chunk-HMYQTHGT.js} +14 -11
- package/dist/{chunk-OOJRHIVU.js.map → chunk-HMYQTHGT.js.map} +1 -1
- package/dist/{chunk-DTG27JQ7.cjs → chunk-HPZBCSP3.cjs} +8 -6
- package/dist/chunk-HPZBCSP3.cjs.map +1 -0
- package/dist/{chunk-ZZOEFQWQ.cjs → chunk-IBX6A72P.cjs} +21 -19
- package/dist/chunk-IBX6A72P.cjs.map +1 -0
- package/dist/{chunk-VBOUHWXM.js → chunk-IGRNC5NX.js} +8 -6
- package/dist/{chunk-VBOUHWXM.js.map → chunk-IGRNC5NX.js.map} +1 -1
- package/dist/{chunk-FUBGS3G4.cjs → chunk-ITHJ52SN.cjs} +14 -12
- package/dist/chunk-ITHJ52SN.cjs.map +1 -0
- package/dist/{chunk-XOCP745X.cjs → chunk-IY2NXW6X.cjs} +4 -2
- package/dist/chunk-IY2NXW6X.cjs.map +1 -0
- package/dist/{chunk-WFPRB4JT.js → chunk-IYQQOML7.js} +25 -19
- package/dist/chunk-IYQQOML7.js.map +1 -0
- package/dist/{chunk-J4HCGFN4.cjs → chunk-J2LI4ONS.cjs} +16 -14
- package/dist/chunk-J2LI4ONS.cjs.map +1 -0
- package/dist/{chunk-XHGGLUFN.js → chunk-JQNZVQVJ.js} +2 -2
- package/dist/{chunk-PZL3LRGY.cjs → chunk-KB6PZSJ5.cjs} +64 -47
- package/dist/chunk-KB6PZSJ5.cjs.map +1 -0
- package/dist/{chunk-GNMNAQY4.js → chunk-LAQNNPIV.js} +18 -12
- package/dist/{chunk-GNMNAQY4.js.map → chunk-LAQNNPIV.js.map} +1 -1
- package/dist/{chunk-TLXLWB4Y.cjs → chunk-LX5LJN3I.cjs} +5 -5
- package/dist/{chunk-TLXLWB4Y.cjs.map → chunk-LX5LJN3I.cjs.map} +1 -1
- package/dist/{chunk-BTQB4EZC.js → chunk-NPNLVQU7.js} +25 -14
- package/dist/chunk-NPNLVQU7.js.map +1 -0
- package/dist/{chunk-J7N2552D.js → chunk-OAIRL2FN.js} +23 -2
- package/dist/{chunk-7RVUB6I5.cjs → chunk-OLU26V56.cjs} +8 -6
- package/dist/chunk-OLU26V56.cjs.map +1 -0
- package/dist/{chunk-3LEEMSTG.cjs → chunk-PF4VI6L7.cjs} +11 -9
- package/dist/chunk-PF4VI6L7.cjs.map +1 -0
- package/dist/{chunk-LIZGYO24.cjs → chunk-S4O4KDC3.cjs} +14 -17
- package/dist/chunk-S4O4KDC3.cjs.map +1 -0
- package/dist/{chunk-3QICKBFS.js → chunk-SZGVYMRD.js} +13 -16
- package/dist/chunk-SZGVYMRD.js.map +1 -0
- package/dist/{chunk-C6VV7NYT.cjs → chunk-TFRAQ6OQ.cjs} +18 -12
- package/dist/chunk-TFRAQ6OQ.cjs.map +1 -0
- package/dist/{chunk-7QBCVRQD.js → chunk-TJTBJ2NT.js} +21 -19
- package/dist/{chunk-7QBCVRQD.js.map → chunk-TJTBJ2NT.js.map} +1 -1
- package/dist/{chunk-JORMLHKF.js → chunk-TYY3HIYL.js} +4 -2
- package/dist/chunk-TYY3HIYL.js.map +1 -0
- package/dist/{chunk-YBMQZ43T.cjs → chunk-UECUQP2B.cjs} +4 -4
- package/dist/{chunk-YBMQZ43T.cjs.map → chunk-UECUQP2B.cjs.map} +1 -1
- package/dist/{chunk-NES3USBQ.js → chunk-UEQG424R.js} +1 -1
- package/dist/chunk-UEQG424R.js.map +1 -0
- package/dist/{chunk-7QUYJEGU.js → chunk-UMROOKDT.js} +19 -15
- package/dist/chunk-UMROOKDT.js.map +1 -0
- package/dist/{chunk-2NVQAYAE.js → chunk-W52ZP2AU.js} +2 -2
- package/dist/{chunk-QDLXCNJI.js → chunk-XIBET6QC.js} +24 -12
- package/dist/chunk-XIBET6QC.js.map +1 -0
- package/dist/{chunk-WZZMB5CI.cjs → chunk-YW4S32XV.cjs} +18 -14
- package/dist/chunk-YW4S32XV.cjs.map +1 -0
- package/dist/{chunk-7APFE3MI.cjs → chunk-Z363QVXW.cjs} +25 -13
- package/dist/chunk-Z363QVXW.cjs.map +1 -0
- package/dist/{chunk-WDXULV6M.js → chunk-ZLSX6FH3.js} +14 -12
- package/dist/{chunk-WDXULV6M.js.map → chunk-ZLSX6FH3.js.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +22 -22
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +21 -21
- package/package.json +3 -3
- package/dist/Button-rsBnawn1.d.cts +0 -118
- package/dist/Button-rsBnawn1.d.ts +0 -118
- package/dist/chunk-2OJHNNCU.cjs.map +0 -1
- package/dist/chunk-3LEEMSTG.cjs.map +0 -1
- package/dist/chunk-3QICKBFS.js.map +0 -1
- package/dist/chunk-4LMQVFV7.js.map +0 -1
- package/dist/chunk-7APFE3MI.cjs.map +0 -1
- package/dist/chunk-7QUYJEGU.js.map +0 -1
- package/dist/chunk-7RVUB6I5.cjs.map +0 -1
- package/dist/chunk-BTQB4EZC.js.map +0 -1
- package/dist/chunk-C6VV7NYT.cjs.map +0 -1
- package/dist/chunk-DTG27JQ7.cjs.map +0 -1
- package/dist/chunk-ESLZ4HYA.js.map +0 -1
- package/dist/chunk-FUBGS3G4.cjs.map +0 -1
- package/dist/chunk-J4HCGFN4.cjs.map +0 -1
- package/dist/chunk-JORMLHKF.js.map +0 -1
- package/dist/chunk-JSANDW3W.cjs.map +0 -1
- package/dist/chunk-LIZGYO24.cjs.map +0 -1
- package/dist/chunk-NES3USBQ.js.map +0 -1
- package/dist/chunk-PHQVYJS2.cjs.map +0 -1
- package/dist/chunk-PZL3LRGY.cjs.map +0 -1
- package/dist/chunk-QDLXCNJI.js.map +0 -1
- package/dist/chunk-RYO74XL7.cjs.map +0 -1
- package/dist/chunk-W2EOAUKE.cjs.map +0 -1
- package/dist/chunk-WFPRB4JT.js.map +0 -1
- package/dist/chunk-WFR7OUY7.cjs.map +0 -1
- package/dist/chunk-WZZMB5CI.cjs.map +0 -1
- package/dist/chunk-XOCP745X.cjs.map +0 -1
- package/dist/chunk-ZZOEFQWQ.cjs.map +0 -1
- /package/dist/{chunk-XHGGLUFN.js.map → chunk-JQNZVQVJ.js.map} +0 -0
- /package/dist/{chunk-J7N2552D.js.map → chunk-OAIRL2FN.js.map} +0 -0
- /package/dist/{chunk-2NVQAYAE.js.map → chunk-W52ZP2AU.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Tabs/Tabs.tsx","../src/Tabs/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { Tab as HeroTab, Tabs as HeroTabs } from '@heroui/tabs';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const tabsVariants = tv({\n slots: {\n base: '',\n cursor: '',\n panel: '',\n tab: 'data-[hover-unselected=true]:opacity-100',\n tabContent: 'text-foreground',\n tabList: '',\n tabWrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof tabsVariants>;\ntype ClassName = TVClassName<typeof tabsVariants>;\n\ntype Key = string | number;\n\nexport interface TabProps {\n /** Content to be displayed in the tab panel */\n content: ReactNode;\n /** Disables the tab so it can not be selected */\n disabled?: boolean;\n /** Unique identifier for the tab */\n key: Key;\n /** Label content displayed in the tab button */\n label: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\nexport interface TabsProps extends VariantProps {\n /** Accessible label for the tabs component */\n ariaLabel?: string;\n /** CSS class name */\n className?: ClassName;\n /** Key of the tab that should be selected by default */\n defaultSelectedKey?: string | number;\n /** Whether to destroy inactive tab panel DOM nodes */\n destroyInactiveTabPanel?: boolean;\n /** Whether the animation should be disabled. */\n disableAnimation?: boolean;\n /** Array of keys for the tabs to disable */\n disabledKeys?: string[];\n /** Whether tabs should take up full container width */\n fullWidth?: boolean;\n /** Callback fired when tab selection changes */\n onSelectionChange?: (key: Key | null) => void;\n /** Position of the tab list relative to the content */\n placement?: 'top' | 'bottom' | 'start' | 'end' | undefined;\n /** Radius of the tabs */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Selected tab key (controlled) */\n selectedKey?: Key;\n /** Size of the tabs */\n size?: 'sm' | 'md' | 'lg';\n /** Array of tab configurations */\n tabs: TabProps[];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** Style variant of the tabs */\n variant?: 'bordered' | 'light' | 'solid' | 'underlined';\n /** Whether to display tabs vertically */\n vertical?: boolean;\n}\n\n/**\n * Tabs component based on [HeroUI Tabs](https://www.heroui.com//docs/components/tabs)\n */\nconst Tabs = ({\n ariaLabel = undefined,\n className = undefined,\n defaultSelectedKey = undefined,\n destroyInactiveTabPanel = true,\n disableAnimation = false,\n disabledKeys = undefined,\n fullWidth = true,\n onSelectionChange = undefined,\n placement = undefined,\n radius = undefined,\n selectedKey = undefined,\n size = 'md',\n tabs,\n testId = 'tab',\n variant = 'solid',\n vertical = false,\n}: TabsProps) => {\n const variants = tabsVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroTabs\n aria-label={ariaLabel}\n classNames={classNames}\n defaultSelectedKey={defaultSelectedKey}\n destroyInactiveTabPanel={destroyInactiveTabPanel}\n disableAnimation={disableAnimation}\n disabledKeys={disabledKeys}\n fullWidth={fullWidth}\n isVertical={vertical}\n items={tabs || []}\n onSelectionChange={onSelectionChange}\n placement={placement}\n radius={radius}\n selectedKey={selectedKey}\n size={size}\n variant={variant}\n >\n {(item) => (\n
|
|
1
|
+
{"version":3,"sources":["../src/Tabs/Tabs.tsx","../src/Tabs/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { Tab as HeroTab, Tabs as HeroTabs } from '@heroui/tabs';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const tabsVariants = tv({\n slots: {\n base: '',\n cursor: '',\n panel: '',\n tab: 'data-[hover-unselected=true]:opacity-100',\n tabContent: 'text-foreground',\n tabList: '',\n tabWrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof tabsVariants>;\ntype ClassName = TVClassName<typeof tabsVariants>;\n\ntype Key = string | number;\n\nexport interface TabProps {\n /** Content to be displayed in the tab panel */\n content: ReactNode;\n /** Disables the tab so it can not be selected */\n disabled?: boolean;\n /** Unique identifier for the tab */\n key: Key;\n /** Label content displayed in the tab button */\n label: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\nexport interface TabsProps extends VariantProps {\n /** Accessible label for the tabs component */\n ariaLabel?: string;\n /** CSS class name */\n className?: ClassName;\n /** Key of the tab that should be selected by default */\n defaultSelectedKey?: string | number;\n /** Whether to destroy inactive tab panel DOM nodes */\n destroyInactiveTabPanel?: boolean;\n /** Whether the animation should be disabled. */\n disableAnimation?: boolean;\n /** Array of keys for the tabs to disable */\n disabledKeys?: string[];\n /** Whether tabs should take up full container width */\n fullWidth?: boolean;\n /** Callback fired when tab selection changes */\n onSelectionChange?: (key: Key | null) => void;\n /** Position of the tab list relative to the content */\n placement?: 'top' | 'bottom' | 'start' | 'end' | undefined;\n /** Radius of the tabs */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Selected tab key (controlled) */\n selectedKey?: Key;\n /** Size of the tabs */\n size?: 'sm' | 'md' | 'lg';\n /** Array of tab configurations */\n tabs: TabProps[];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** Style variant of the tabs */\n variant?: 'bordered' | 'light' | 'solid' | 'underlined';\n /** Whether to display tabs vertically */\n vertical?: boolean;\n}\n\n/**\n * Tabs component based on [HeroUI Tabs](https://www.heroui.com//docs/components/tabs)\n */\nconst Tabs = ({\n ariaLabel = undefined,\n className = undefined,\n defaultSelectedKey = undefined,\n destroyInactiveTabPanel = true,\n disableAnimation = false,\n disabledKeys = undefined,\n fullWidth = true,\n onSelectionChange = undefined,\n placement = undefined,\n radius = undefined,\n selectedKey = undefined,\n size = 'md',\n tabs,\n testId = 'tab',\n variant = 'solid',\n vertical = false,\n}: TabsProps) => {\n const variants = tabsVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroTabs\n aria-label={ariaLabel}\n classNames={classNames}\n defaultSelectedKey={defaultSelectedKey}\n destroyInactiveTabPanel={destroyInactiveTabPanel}\n disableAnimation={disableAnimation}\n disabledKeys={disabledKeys}\n fullWidth={fullWidth}\n isVertical={vertical}\n items={tabs || []}\n onSelectionChange={onSelectionChange}\n placement={placement}\n radius={radius}\n selectedKey={selectedKey}\n size={size}\n variant={variant}\n >\n {(item) => {\n return (\n <HeroTab\n key={item.key}\n data-testid={slugify(`${testId}_${item.testId ?? item.key}`)}\n isDisabled={!!item.disabled}\n title={item.label}\n >\n {item.content}\n </HeroTab>\n );\n }}\n </HeroTabs>\n );\n};\n\nexport default Tabs;\n","import Tabs, { tabsVariants } from './Tabs';\n\nexport type { TabsProps, TabProps } from './Tabs';\n\nexport { Tabs, tabsVariants };\n\nexport default Tabs;\n"],"mappings":";AAGA,SAAS,OAAO,SAAS,QAAQ,gBAAgB;AAEjD,SAAS,SAAS,IAAI,4BAA4B;AA+GxC;AA7GH,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AACF,CAAC;AA0DD,IAAM,OAAO,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,cAAc;AAAA,EACd,OAAO;AAAA,EACP;AAAA,EACA,SAAS;AAAA,EACT,UAAU;AAAA,EACV,WAAW;AACb,MAAiB;AACf,QAAM,WAAW,aAAa;AAC9B,QAAM,aAAa,qBAAqB,UAAU,WAAW,MAAM;AAEnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,OAAO,QAAQ,CAAC;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC,WAAC,SAAS;AAlHjB;AAmHQ,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,eAAa,QAAQ,GAAG,MAAM,KAAI,UAAK,WAAL,YAAe,KAAK,GAAG,EAAE;AAAA,YAC3D,YAAY,CAAC,CAAC,KAAK;AAAA,YACnB,OAAO,KAAK;AAAA,YAEX,eAAK;AAAA;AAAA,UALD,KAAK;AAAA,QAMZ;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,eAAQ;;;AC5Hf,IAAOA,gBAAQ;","names":["Tabs_default"]}
|
|
@@ -54,11 +54,13 @@ var Modal = ({
|
|
|
54
54
|
placement: "center",
|
|
55
55
|
portalContainer,
|
|
56
56
|
scrollBehavior: "inside",
|
|
57
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalContent, { "data-testid": testId ? `modal_${testId}` : "modal", children: () =>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalContent, { "data-testid": testId ? `modal_${testId}` : "modal", children: () => {
|
|
58
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
59
|
+
header ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalHeader, { children: header }) : null,
|
|
60
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalBody, { id: "modal_body", children }),
|
|
61
|
+
footer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalFooter, { children: footer }) : null
|
|
62
|
+
] });
|
|
63
|
+
} })
|
|
62
64
|
}
|
|
63
65
|
);
|
|
64
66
|
};
|
|
@@ -72,4 +74,4 @@ var Modal_default2 = Modal_default;
|
|
|
72
74
|
|
|
73
75
|
|
|
74
76
|
exports.modalVariants = modalVariants; exports.Modal_default = Modal_default; exports.Modal_default2 = Modal_default2;
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-HPZBCSP3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-HPZBCSP3.cjs","../src/Modal/Modal.tsx","../src/Modal/index.ts"],"names":[],"mappings":"AAAA;ACIA;AACE;AACA;AACA;AACA;AACA;AAAe,sCACV;AAEP,oDAAyC;AAoF7B,+CAAA;AAjFL,IAAM,cAAA,EAAgB,4BAAA;AAAG,EAC9B,KAAA,EAAO;AAAA,IACL,QAAA,EAAU,EAAA;AAAA,IACV,IAAA,EAAM,EAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,WAAA,EAAa,EAAA;AAAA,IACb,MAAA,EAAQ,2BAAA;AAAA,IACR,MAAA,EAAQ,2BAAA;AAAA,IACR,OAAA,EAAS;AAAA,EACX,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,EAAE,IAAA,EAAM,WAAW,CAAA;AAAA,MACvB,EAAA,EAAI,EAAE,IAAA,EAAM,WAAW,CAAA;AAAA,MACvB,EAAA,EAAI,EAAE,IAAA,EAAM,WAAW,CAAA;AAAA,MACvB,EAAA,EAAI,EAAE,IAAA,EAAM,YAAY,CAAA;AAAA,MACxB,IAAA,EAAM,EAAE,IAAA,EAAM,uBAAuB;AAAA,IACvC;AAAA,EACF;AACF,CAAC,CAAA;AA+BD,IAAM,MAAA,EAAQ,CAAC;AAAA,EACb,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,iBAAA,EAAmB,KAAA;AAAA,EACnB,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,MAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA,EAAkB,KAAA,CAAA;AAAA,EAClB,KAAA,EAAO,IAAA;AAAA,EACP,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAAkB;AAEhB,EAAA,MAAM,SAAA,EAAW,aAAA,CAAc,EAAE,KAAK,CAAC,CAAA;AACvC,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,SAAA,EAAW,MAAM,CAAA;AAEnE,EAAA,uBACE,6BAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAS,QAAA;AAAA,MACT,UAAA;AAAA,MACA,aAAA,EAAa,MAAA;AAAA,MACb,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA,EAAU,QAAA;AAAA,MACV,eAAA;AAAA,MACA,cAAA,EAAe,QAAA;AAAA,MAEf,QAAA,kBAAA,6BAAA,mBAAC,EAAA,EAAiB,aAAA,EAAa,OAAA,EAAS,CAAA,MAAA,EAAS,MAAM,CAAA,EAAA;AAI9C,QAAA;AAAuD,UAAA;AACf,0BAAA;AACe,UAAA;AAC1D,QAAA;AAGN,MAAA;AAAA,IAAA;AACF,EAAA;AAEJ;AAEe;ADzCiF;AACA;AE9DjF;AFgEiF;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-HPZBCSP3.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ModalProps as HeroModalProps } from '@heroui/modal';\nimport type { ReactNode } from 'react';\n\nimport {\n Modal as HeroModal,\n ModalBody as HeroModalBody,\n ModalContent as HeroModalContent,\n ModalFooter as HeroModalFooter,\n ModalHeader as HeroModalHeader,\n} from '@heroui/modal';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// modal variants\nexport const modalVariants = tv({\n slots: {\n backdrop: '',\n base: '',\n body: 'py-4',\n closeButton: '',\n footer: 'border-t-divider border-t',\n header: 'border-b-divider border-b',\n wrapper: '',\n },\n variants: {\n size: {\n sm: { base: 'max-w-sm' },\n md: { base: 'max-w-md' },\n lg: { base: 'max-w-lg' },\n xl: { base: 'max-w-5xl' },\n full: { base: 'h-[80dvh] max-w-full' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof modalVariants>;\ntype ClassName = TVClassName<typeof modalVariants>;\n\nexport interface ModalProps extends VariantProps {\n /** modal body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Disable animations completely */\n disableAnimation?: boolean;\n /** modal footer */\n footer?: ReactNode;\n /** modal header */\n header?: ReactNode;\n /** open state (controlled) */\n isOpen: boolean;\n /** close event handler */\n onClose: () => void;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: HeroModalProps['portalContainer'];\n /** modal size */\n size?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Modal component based on [HeroUI Modal](https://www.heroui.com//docs/components/modal)\n */\nconst Modal = ({\n children = null,\n className = undefined,\n disableAnimation = false,\n footer = undefined,\n header = undefined,\n isOpen,\n onClose,\n portalContainer = undefined,\n size = 'md',\n testId = undefined,\n}: ModalProps) => {\n // classNames from slots\n const variants = modalVariants({ size });\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroModal\n backdrop=\"opaque\"\n classNames={classNames}\n data-testid={testId}\n disableAnimation={disableAnimation}\n isOpen={isOpen}\n onClose={onClose}\n placement=\"center\"\n portalContainer={portalContainer}\n scrollBehavior=\"inside\"\n >\n <HeroModalContent data-testid={testId ? `modal_${testId}` : 'modal'}>\n {() => {\n return (\n <>\n {header ? <HeroModalHeader>{header}</HeroModalHeader> : null}\n <HeroModalBody id=\"modal_body\">{children}</HeroModalBody>\n {footer ? <HeroModalFooter>{footer}</HeroModalFooter> : null}\n </>\n );\n }}\n </HeroModalContent>\n </HeroModal>\n );\n};\n\nexport default Modal;\n","import Modal, { modalVariants } from './Modal';\n\nexport type { ModalProps } from './Modal';\n\nexport { Modal, modalVariants };\n\nexport default Modal;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkAHEA4IJVcjs = require('./chunk-AHEA4IJV.cjs');
|
|
4
4
|
|
|
5
5
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
6
6
|
|
|
@@ -45,33 +45,35 @@ var Breadcrumb = ({
|
|
|
45
45
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
46
46
|
_breadcrumbs.Breadcrumbs,
|
|
47
47
|
{
|
|
48
|
-
classNames: {
|
|
49
|
-
base: classNames.nav,
|
|
50
|
-
ellipsis: classNames.separator,
|
|
51
|
-
list: classNames.list
|
|
52
|
-
},
|
|
53
48
|
color,
|
|
54
49
|
disableAnimation,
|
|
55
50
|
hideSeparator,
|
|
56
51
|
isDisabled: disabled,
|
|
57
|
-
itemClasses: {
|
|
58
|
-
base: classNames.itemBase,
|
|
59
|
-
item: classNames.item,
|
|
60
|
-
separator: classNames.separator
|
|
61
|
-
},
|
|
62
52
|
maxItems,
|
|
63
53
|
radius,
|
|
64
54
|
separator,
|
|
65
55
|
size,
|
|
66
56
|
underline,
|
|
67
57
|
variant,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
58
|
+
classNames: {
|
|
59
|
+
base: classNames.nav,
|
|
60
|
+
ellipsis: classNames.separator,
|
|
61
|
+
list: classNames.list
|
|
62
|
+
},
|
|
63
|
+
itemClasses: {
|
|
64
|
+
base: classNames.itemBase,
|
|
65
|
+
item: classNames.item,
|
|
66
|
+
separator: classNames.separator
|
|
67
|
+
},
|
|
68
|
+
children: breadcrumbItems.map((item, index) => {
|
|
69
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
70
|
+
_breadcrumbs.BreadcrumbItem,
|
|
71
|
+
_chunkAHEA4IJVcjs.__spreadValues.call(void 0, {
|
|
72
|
+
isDisabled: disabled || (item == null ? void 0 : item.disabled)
|
|
73
|
+
}, item),
|
|
74
|
+
index
|
|
75
|
+
);
|
|
76
|
+
})
|
|
75
77
|
}
|
|
76
78
|
);
|
|
77
79
|
};
|
|
@@ -85,4 +87,4 @@ var Breadcrumb_default2 = Breadcrumb_default;
|
|
|
85
87
|
|
|
86
88
|
|
|
87
89
|
exports.breadcrumbVariants = breadcrumbVariants; exports.Breadcrumb_default = Breadcrumb_default; exports.Breadcrumb_default2 = Breadcrumb_default2;
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-IBX6A72P.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-IBX6A72P.cjs","../src/Breadcrumb/Breadcrumb.tsx","../src/Breadcrumb/index.ts"],"names":["Breadcrumb_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA;AACE;AACA;AAAkB,kDACb;AAEP,oDAAyC;AAkH/B,+CAAA;AA9GH,IAAM,mBAAA,EAAqB,4BAAA;AAAG,EACnC,KAAA,EAAO;AAAA;AAAA,IAEL,QAAA,EAAU,EAAA;AAAA;AAAA,IAEV,IAAA,EAAM,EAAA;AAAA;AAAA,IAEN,QAAA,EAAU,EAAA;AAAA;AAAA;AAAA,IAEV,IAAA,EAAM,EAAA;AAAA;AAAA,IAEN,SAAA,EAAW,EAAA;AAAA;AAAA,IAEX,GAAA,EAAK;AAAA,EACP;AACF,CAAC,CAAA;AAoDD,IAAM,WAAA,EAAa,CAAC;AAAA,EAClB,eAAA;AAAA,EACA,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,MAAA,EAAQ,YAAA;AAAA,EACR,iBAAA,EAAmB,KAAA;AAAA,EACnB,SAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAgB,KAAA;AAAA,EAChB,SAAA,EAAW,KAAA,CAAA;AAAA,EACX,OAAA,EAAS,MAAA;AAAA,EACT,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,KAAA,EAAO,IAAA;AAAA,EACP,UAAA,EAAY,OAAA;AAAA,EACZ,QAAA,EAAU;AACZ,CAAA,EAAA,GAAuB;AAErB,EAAA,MAAM,SAAA,EAAW,kBAAA,CAAmB,CAAC,CAAC,CAAA;AACtC,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,UAAA,EAAY,KAAK,CAAA;AAEnE,EAAA,uBACE,6BAAA;AAAA,IAAC,wBAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,UAAA,CAAW,GAAA;AAAA,QACjB,QAAA,EAAU,UAAA,CAAW,SAAA;AAAA,QACrB,IAAA,EAAM,UAAA,CAAW;AAAA,MACnB,CAAA;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,UAAA,CAAW,QAAA;AAAA,QACjB,IAAA,EAAM,UAAA,CAAW,IAAA;AAAA,QACjB,SAAA,EAAW,UAAA,CAAW;AAAA,MACxB,CAAA;AAAA,MAEC,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,EAAA,GAAU;AACpC,QAAA,uBACE,6BAAA;AAAA,UAAC,2BAAA;AAAA,UAAA,8CAAA;AAAA,YAGC,UAAA,EAAY,SAAA,GAAA,CAAY,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,IAAA,CAAM,QAAA;AAAA,UAAA,CAAA,EAC1B,IAAA,CAAA;AAAA,UAFC;AAAA,QAGP,CAAA;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,mBAAA,EAAQ,UAAA;ADtDf;AACA;AE3EA,IAAOA,oBAAAA,EAAQ,kBAAA;AF6Ef;AACA;AACE;AACA;AACA;AACF,oJAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-IBX6A72P.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport {\n Breadcrumbs as HeroBreadcrumb,\n BreadcrumbItem as HeroBreadcrumbItem,\n} from '@heroui/breadcrumbs';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// breadcrumb styling variants\n// see: https://www.heroui.com//docs/components/breadcrumbs#breadcrumbitem-props\nexport const breadcrumbVariants = tv({\n slots: {\n /** ellipsis slot */\n ellipsis: '',\n /** li > span slot */\n item: '',\n /** li slot */\n itemBase: '', // base for item slot\n /** ol slot */\n list: '',\n /** separator slot */\n separator: '',\n /** nav slot, breadcrumb base slot in heroui */\n nav: '',\n },\n});\n\nexport interface BreadcrumbItemProps {\n /** Content of the breadcrumb item */\n children: ReactNode;\n /** Disables the breadcrumb item */\n disabled?: boolean;\n /** content displayed before the children */\n startContent?: ReactNode;\n /** content displayed after the children */\n endContent?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof breadcrumbVariants>;\ntype ClassName = TVClassName<typeof breadcrumbVariants>;\n\nexport interface BreadcrumbProps extends VariantProps {\n /** Props for breadcrumbItem, will render the breadcrumb items programmatically */\n breadcrumbItems: BreadcrumbItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** color of the active BreadcrumbItem */\n color?:\n | 'foreground'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'danger';\n /** Disables the breadcrumb animation */\n disableAnimation?: boolean;\n /** hides the separator between items */\n hideSeparator?: boolean;\n /** disables all items */\n disabled?: boolean;\n /** Maximum number of items to show without \"...\" in between */\n maxItems?: number;\n /** Radius of the breadcrumb */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Separator between items */\n separator?: ReactNode;\n /** Size of the breadcrumb */\n size?: 'sm' | 'md' | 'lg';\n /** Adjust when the breadcrumb items should be underlined */\n underline?: 'none' | 'active' | 'hover' | 'focus' | 'always';\n /** Style variant of the breadcrumb */\n variant?: 'solid' | 'bordered' | 'light';\n}\n\n/**\n * Breadcrumb component based on [HeroUI Breadcrumbs](https://www.heroui.com//docs/components/breadcrumbs)\n */\nconst Breadcrumb = ({\n breadcrumbItems,\n className: _className = undefined,\n color = 'foreground',\n disableAnimation = false,\n disabled = false,\n hideSeparator = false,\n maxItems = undefined,\n radius = 'none',\n separator = undefined,\n size = 'md',\n underline = 'hover',\n variant = 'light',\n}: BreadcrumbProps) => {\n // itemClasses from className slots\n const variants = breadcrumbVariants({});\n const classNames = variantsToClassNames(variants, _className, 'nav');\n\n return (\n <HeroBreadcrumb\n color={color}\n disableAnimation={disableAnimation}\n hideSeparator={hideSeparator}\n isDisabled={disabled}\n maxItems={maxItems}\n radius={radius}\n separator={separator}\n size={size}\n underline={underline}\n variant={variant}\n classNames={{\n base: classNames.nav,\n ellipsis: classNames.separator,\n list: classNames.list,\n }}\n itemClasses={{\n base: classNames.itemBase,\n item: classNames.item,\n separator: classNames.separator,\n }}\n >\n {breadcrumbItems.map((item, index) => {\n return (\n <HeroBreadcrumbItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n {...item}\n />\n );\n })}\n </HeroBreadcrumb>\n );\n};\n\nexport default Breadcrumb;\n","import Breadcrumb, { breadcrumbVariants } from './Breadcrumb';\n\nexport type { BreadcrumbProps, BreadcrumbItemProps } from './Breadcrumb';\n\nexport { Breadcrumb, breadcrumbVariants };\n\nexport default Breadcrumb;\n"]}
|
|
@@ -71,11 +71,13 @@ var Drawer = ({
|
|
|
71
71
|
radius,
|
|
72
72
|
scrollBehavior: "inside",
|
|
73
73
|
size,
|
|
74
|
-
children: /* @__PURE__ */ jsx(HeroDrawerContent, { "data-testid": testId ? `drawer_${testId}` : "drawer", children: () =>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
children: /* @__PURE__ */ jsx(HeroDrawerContent, { "data-testid": testId ? `drawer_${testId}` : "drawer", children: () => {
|
|
75
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
76
|
+
header ? /* @__PURE__ */ jsx(HeroDrawerHeader, { children: header }) : null,
|
|
77
|
+
/* @__PURE__ */ jsx(HeroDrawerBody, { id: "drawer_body", children }),
|
|
78
|
+
footer ? /* @__PURE__ */ jsx(HeroDrawerFooter, { children: footer }) : null
|
|
79
|
+
] });
|
|
80
|
+
} })
|
|
79
81
|
}
|
|
80
82
|
);
|
|
81
83
|
};
|
|
@@ -93,4 +95,4 @@ export {
|
|
|
93
95
|
Drawer_default,
|
|
94
96
|
Drawer_default2
|
|
95
97
|
};
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
98
|
+
//# sourceMappingURL=chunk-IGRNC5NX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Drawer/Drawer.tsx","../src/Drawer/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DrawerProps as HeroDrawerProps } from '@heroui/drawer';\nimport type { ReactNode } from 'react';\n\nimport {\n Drawer as HeroDrawer,\n DrawerBody as HeroDrawerBody,\n DrawerContent as HeroDrawerContent,\n DrawerFooter as HeroDrawerFooter,\n DrawerHeader as HeroDrawerHeader,\n} from '@heroui/drawer';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// drawer variants\nexport const drawerVariants = tv({\n slots: {\n wrapper: '',\n base: '',\n backdrop: '',\n header: '',\n body: '',\n footer: '',\n closeButton: '',\n },\n});\n\nexport const drawerSizes = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n 'full',\n] as const;\nexport type DrawerSizes = (typeof drawerSizes)[number];\n\nexport const drawerRadii = ['none', 'sm', 'md', 'lg'] as const;\nexport type DrawerRadius = (typeof drawerRadii)[number];\n\nexport const drawerBackdrops = ['opaque', 'transparent', 'blur'] as const;\nexport type DrawerBackdrop = (typeof drawerBackdrops)[number];\n\nexport const drawerPlacements = ['left', 'right', 'top', 'bottom'] as const;\nexport type DrawerPlacement = (typeof drawerPlacements)[number];\n\ntype VariantProps = TVProps<typeof drawerVariants>;\ntype ClassName = TVClassName<typeof drawerVariants>;\n\nexport interface DrawerProps extends VariantProps {\n /** The backdrop style of the Drawer. */\n backdrop?: DrawerBackdrop;\n /** Drawer body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Custom close button to display on top right corner. */\n closeButton?: ReactNode;\n /** Footer of the Drawer. */\n footer?: ReactNode;\n /** Header of the Drawer. */\n header?: ReactNode;\n /** Whether to hide the drawer close button. */\n hideCloseButton?: boolean;\n /** Whether the drawer is open by default (controlled). */\n isOpen?: boolean;\n /** Whether the drawer can be closed by clicking on the overlay or pressing the Esc key. */\n isDismissable?: boolean;\n /** Handler that is called when the drawer is closed. */\n onClose?: () => void;\n /** Handler that is called when the drawer's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The drawer position. */\n placement?: DrawerPlacement;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: HeroDrawerProps['portalContainer'];\n /** The drawer border radius. */\n radius?: DrawerRadius;\n /** The drawer size. */\n size?: DrawerSizes;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Drawer component based on [HeroUI Drawer](https://www.heroui.com//docs/components/drawer)\n */\nconst Drawer = ({\n backdrop = 'opaque',\n children = null,\n className = undefined,\n closeButton = undefined,\n footer = undefined,\n header = undefined,\n hideCloseButton = false,\n isOpen = undefined,\n isDismissable = true,\n onClose = undefined,\n onOpenChange = undefined,\n placement = 'right',\n portalContainer = undefined,\n radius = 'lg',\n size = 'md',\n testId = undefined,\n}: DrawerProps) => {\n // classNames from slots\n const variants = drawerVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroDrawer\n backdrop={backdrop}\n classNames={classNames}\n closeButton={closeButton}\n data-testid={testId}\n hideCloseButton={hideCloseButton}\n isDismissable={isDismissable}\n isOpen={isOpen}\n onClose={onClose}\n onOpenChange={onOpenChange}\n placement={placement}\n portalContainer={portalContainer}\n radius={radius}\n scrollBehavior=\"inside\"\n size={size}\n >\n <HeroDrawerContent data-testid={testId ? `drawer_${testId}` : 'drawer'}>\n {() => (\n
|
|
1
|
+
{"version":3,"sources":["../src/Drawer/Drawer.tsx","../src/Drawer/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DrawerProps as HeroDrawerProps } from '@heroui/drawer';\nimport type { ReactNode } from 'react';\n\nimport {\n Drawer as HeroDrawer,\n DrawerBody as HeroDrawerBody,\n DrawerContent as HeroDrawerContent,\n DrawerFooter as HeroDrawerFooter,\n DrawerHeader as HeroDrawerHeader,\n} from '@heroui/drawer';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// drawer variants\nexport const drawerVariants = tv({\n slots: {\n wrapper: '',\n base: '',\n backdrop: '',\n header: '',\n body: '',\n footer: '',\n closeButton: '',\n },\n});\n\nexport const drawerSizes = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n 'full',\n] as const;\nexport type DrawerSizes = (typeof drawerSizes)[number];\n\nexport const drawerRadii = ['none', 'sm', 'md', 'lg'] as const;\nexport type DrawerRadius = (typeof drawerRadii)[number];\n\nexport const drawerBackdrops = ['opaque', 'transparent', 'blur'] as const;\nexport type DrawerBackdrop = (typeof drawerBackdrops)[number];\n\nexport const drawerPlacements = ['left', 'right', 'top', 'bottom'] as const;\nexport type DrawerPlacement = (typeof drawerPlacements)[number];\n\ntype VariantProps = TVProps<typeof drawerVariants>;\ntype ClassName = TVClassName<typeof drawerVariants>;\n\nexport interface DrawerProps extends VariantProps {\n /** The backdrop style of the Drawer. */\n backdrop?: DrawerBackdrop;\n /** Drawer body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Custom close button to display on top right corner. */\n closeButton?: ReactNode;\n /** Footer of the Drawer. */\n footer?: ReactNode;\n /** Header of the Drawer. */\n header?: ReactNode;\n /** Whether to hide the drawer close button. */\n hideCloseButton?: boolean;\n /** Whether the drawer is open by default (controlled). */\n isOpen?: boolean;\n /** Whether the drawer can be closed by clicking on the overlay or pressing the Esc key. */\n isDismissable?: boolean;\n /** Handler that is called when the drawer is closed. */\n onClose?: () => void;\n /** Handler that is called when the drawer's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The drawer position. */\n placement?: DrawerPlacement;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: HeroDrawerProps['portalContainer'];\n /** The drawer border radius. */\n radius?: DrawerRadius;\n /** The drawer size. */\n size?: DrawerSizes;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Drawer component based on [HeroUI Drawer](https://www.heroui.com//docs/components/drawer)\n */\nconst Drawer = ({\n backdrop = 'opaque',\n children = null,\n className = undefined,\n closeButton = undefined,\n footer = undefined,\n header = undefined,\n hideCloseButton = false,\n isOpen = undefined,\n isDismissable = true,\n onClose = undefined,\n onOpenChange = undefined,\n placement = 'right',\n portalContainer = undefined,\n radius = 'lg',\n size = 'md',\n testId = undefined,\n}: DrawerProps) => {\n // classNames from slots\n const variants = drawerVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroDrawer\n backdrop={backdrop}\n classNames={classNames}\n closeButton={closeButton}\n data-testid={testId}\n hideCloseButton={hideCloseButton}\n isDismissable={isDismissable}\n isOpen={isOpen}\n onClose={onClose}\n onOpenChange={onOpenChange}\n placement={placement}\n portalContainer={portalContainer}\n radius={radius}\n scrollBehavior=\"inside\"\n size={size}\n >\n <HeroDrawerContent data-testid={testId ? `drawer_${testId}` : 'drawer'}>\n {() => {\n return (\n <>\n {header ? <HeroDrawerHeader>{header}</HeroDrawerHeader> : null}\n <HeroDrawerBody id=\"drawer_body\">{children}</HeroDrawerBody>\n {footer ? <HeroDrawerFooter>{footer}</HeroDrawerFooter> : null}\n </>\n );\n }}\n </HeroDrawerContent>\n </HeroDrawer>\n );\n};\n\nexport default Drawer;\n","import Drawer, {\n drawerBackdrops,\n drawerPlacements,\n drawerRadii,\n drawerSizes,\n drawerVariants,\n} from './Drawer';\n\nexport type { DrawerProps } from './Drawer';\n\nexport {\n Drawer,\n drawerBackdrops,\n drawerPlacements,\n drawerRadii,\n drawerSizes,\n drawerVariants,\n};\n\nexport default Drawer;\n"],"mappings":";AAIA;AAAA,EACE,UAAU;AAAA,EACV,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,OACX;AAEP,SAAS,IAAI,4BAA4B;AAyH7B,mBACY,KADZ;AAtHL,IAAM,iBAAiB,GAAG;AAAA,EAC/B,OAAO;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,EACf;AACF,CAAC;AAEM,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,IAAM,cAAc,CAAC,QAAQ,MAAM,MAAM,IAAI;AAG7C,IAAM,kBAAkB,CAAC,UAAU,eAAe,MAAM;AAGxD,IAAM,mBAAmB,CAAC,QAAQ,SAAS,OAAO,QAAQ;AA4CjE,IAAM,SAAS,CAAC;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,SAAS;AAAA,EACT,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX,MAAmB;AAEjB,QAAM,WAAW,eAAe;AAChC,QAAM,aAAa,qBAAqB,UAAU,WAAW,MAAM;AAEnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAe;AAAA,MACf;AAAA,MAEA,8BAAC,qBAAkB,eAAa,SAAS,UAAU,MAAM,KAAK,UAC3D,gBAAM;AACL,eACE,iCACG;AAAA,mBAAS,oBAAC,oBAAkB,kBAAO,IAAsB;AAAA,UAC1D,oBAAC,kBAAe,IAAG,eAAe,UAAS;AAAA,UAC1C,SAAS,oBAAC,oBAAkB,kBAAO,IAAsB;AAAA,WAC5D;AAAA,MAEJ,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;AC9Hf,IAAOA,kBAAQ;","names":["Drawer_default"]}
|
|
@@ -9,19 +9,21 @@ var ScrollShadow_default = ({
|
|
|
9
9
|
orientation = "vertical",
|
|
10
10
|
size = 40,
|
|
11
11
|
testId = void 0
|
|
12
|
-
}) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
}) => {
|
|
13
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14
|
+
_scrollshadow.ScrollShadow,
|
|
15
|
+
{
|
|
16
|
+
className: _pixelutils.cn.call(void 0, className),
|
|
17
|
+
"data-testid": testId,
|
|
18
|
+
hideScrollBar,
|
|
19
|
+
orientation,
|
|
20
|
+
size,
|
|
21
|
+
children
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
|
|
26
28
|
exports.ScrollShadow_default = ScrollShadow_default;
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-ITHJ52SN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-ITHJ52SN.cjs","../src/ScrollShadow/ScrollShadow.tsx"],"names":[],"mappings":"AAAA;ACEA,qDAA6B;AAE7B,oDAAmB;AA6Bf,+CAAA;AATJ,IAAO,qBAAA,EAAQ,CAAC;AAAA,EACd,SAAA,EAAW,IAAA;AAAA,EACX,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,cAAA,EAAgB,KAAA;AAAA,EAChB,YAAA,EAAc,UAAA;AAAA,EACd,KAAA,EAAO,EAAA;AAAA,EACP,OAAA,EAAS,KAAA;AACX,CAAA,EAAA,GAAyB;AACvB,EAAA,uBACE,6BAAA;AAAA,IAAC,0BAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,MACvB,aAAA,EAAa,MAAA;AAAA,MACb,aAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MAEC;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;ADnBA;AACA;AACE;AACF,oDAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-ITHJ52SN.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\nimport { ScrollShadow } from '@heroui/scroll-shadow';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport interface ScrollShadowProps {\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: string | string[];\n /** Hides the scrollbar */\n hideScrollBar?: boolean;\n /** Orientation of the scroll shadow */\n orientation?: 'horizontal' | 'vertical';\n /** Shadow size in pixels */\n size?: number;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Scroll Shadow component based on [HeroUI Scroll Shadow](https://www.heroui.com//docs/components/scroll-shadow)\n */\nexport default ({\n children = null,\n className = undefined,\n hideScrollBar = false,\n orientation = 'vertical',\n size = 40,\n testId = undefined,\n}: ScrollShadowProps) => {\n return (\n <ScrollShadow\n className={cn(className)}\n data-testid={testId}\n hideScrollBar={hideScrollBar}\n orientation={orientation}\n size={size}\n >\n {children}\n </ScrollShadow>\n );\n};\n"]}
|
|
@@ -48,7 +48,9 @@ var progressVariants = _pixelutils.tv.call(void 0, {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
-
var defaultFormat = (percent = 0) =>
|
|
51
|
+
var defaultFormat = (percent = 0) => {
|
|
52
|
+
return `${percent}%`;
|
|
53
|
+
};
|
|
52
54
|
var Progress = ({
|
|
53
55
|
ariaLabel = "progress",
|
|
54
56
|
className = void 0,
|
|
@@ -98,4 +100,4 @@ var Progress_default2 = Progress_default;
|
|
|
98
100
|
|
|
99
101
|
|
|
100
102
|
exports.progressVariants = progressVariants; exports.Progress_default = Progress_default; exports.Progress_default2 = Progress_default2;
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-IY2NXW6X.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-IY2NXW6X.cjs","../src/Progress/Progress.tsx","../src/Progress/index.ts"],"names":["Progress_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDA,4CAAyC;AAEzC,oDAAyC;AAsHrC,+CAAA;AAjHG,IAAM,iBAAA,EAAmB,4BAAA;AAAG,EACjC,KAAA,EAAO;AAAA;AAAA,IAEL,IAAA,EAAM,EAAA;AAAA;AAAA,IAEN,SAAA,EAAW,EAAA;AAAA;AAAA,IAEX,KAAA,EAAO,EAAA;AAAA;AAAA,IAEP,YAAA,EAAc,EAAA;AAAA;AAAA,IAEd,KAAA,EAAO,EAAA;AAAA;AAAA,IAEP,KAAA,EAAO;AAAA,EACT,CAAA;AAAA,EACA,QAAA,EAAU;AAAA;AAAA,IAER,KAAA,EAAO;AAAA,MACL,MAAA,EAAQ;AAAA,QACN,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,SAAA,EAAW;AAAA,QACT,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,SAAA,EAAW;AAAA,MACb,CAAA;AAAA,MACA,OAAA,EAAS;AAAA,QACP,SAAA,EAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF,CAAC,CAAA;AAiCD,IAAM,cAAA,EAAgB,CAAC,QAAA,EAAU,CAAA,EAAA,GAAM;AACrC,EAAA,OAAO,CAAA,EAAA;AACT;AAKM;AACJ,EAAA;AACA,EAAA;AACQ,EAAA;AACR,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACQ,EAAA;AACR,EAAA;AACA,EAAA;AACO,EAAA;AACP,EAAA;AACmB;AAEb,EAAA;AAGA,EAAA;AAGF,EAAA;AACA,EAAA;AACF,IAAA;AACF,EAAA;AAEM,EAAA;AACA,EAAA;AAEA,EAAA;AAGJ,EAAA;AAAC,IAAA;AAAA,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AAAyB,IAAA;AAC3B,EAAA;AAEJ;AAEO;AD7CG;AACA;AExFHA;AF0FG;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-IY2NXW6X.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { Progress as HeroProgress } from '@heroui/progress';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useIsInitialRenderCycle } from '../hooks';\n\n// progress styling variants\nexport const progressVariants = tv({\n slots: {\n // wrapper around the whole component\n base: '',\n // indicator of the progress (finished part)\n indicator: '',\n // label at the top left of the progress bar\n label: '',\n // wrapper around progress label and label span\n labelWrapper: '',\n // track of the progress (not finished part)\n track: '',\n // span around the progress value\n value: '',\n },\n variants: {\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/progress.ts\n color: {\n danger: {\n indicator: 'bg-danger',\n },\n default: {\n indicator: 'bg-default-400',\n },\n info: {\n indicator: 'bg-info',\n },\n primary: {\n indicator: 'bg-primary',\n },\n secondary: {\n indicator: 'bg-secondary',\n },\n success: {\n indicator: 'bg-success',\n },\n warning: {\n indicator: 'bg-warning',\n },\n },\n },\n});\n\nexport type VariantProps = TVProps<typeof progressVariants>;\ntype ClassName = TVClassName<typeof progressVariants>;\n\nexport interface ProgressProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** CSS class name */\n className?: ClassName;\n /** color of the progress bar */\n color?: VariantProps['color'];\n /** disables all animations */\n disableAnimation?: boolean;\n /** disables special finished state (checkmark icon and success color) */\n disableFinishedState?: boolean;\n /** function to format the progress value */\n format?: (percent: number) => ReactNode;\n /** shows indeterminate progress animation */\n indeterminate?: boolean;\n /** label of the progress bar */\n label?: ReactNode;\n /** percentage / progress of the progress bar */\n percent: number;\n /** whether to show the value label */\n showValueLabel?: boolean;\n /** size of the progress bar */\n size?: 'sm' | 'md' | 'lg';\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/** formats percent with percent sign */\nconst defaultFormat = (percent = 0) => {\n return `${percent}%`;\n};\n\n/**\n * Progress component based on [HeroUI Progress](https://www.heroui.com//docs/components/progress)\n */\nconst Progress = ({\n ariaLabel = 'progress',\n className = undefined,\n color = 'info',\n disableAnimation = false,\n disableFinishedState = false,\n format = defaultFormat,\n indeterminate = false,\n label = undefined,\n percent,\n showValueLabel = false,\n size = 'md',\n testId = undefined,\n}: ProgressProps) => {\n // used to disable animation on initial render cycle\n const isInitialRenderCycle = useIsInitialRenderCycle();\n\n // Apply finished state if percent is 100 or more and not disabled by disableFinishedState\n const isFinished = percent >= 100 && !disableFinishedState;\n\n // handle special states\n let progressColor: VariantProps['color'] = color;\n if (isFinished) {\n progressColor = 'success';\n }\n\n const variants = progressVariants({ color: progressColor });\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const value = format(percent);\n\n return (\n <HeroProgress\n aria-label={ariaLabel}\n classNames={classNames}\n data-testid={testId}\n disableAnimation={isInitialRenderCycle || disableAnimation}\n isIndeterminate={indeterminate}\n label={label}\n showValueLabel={showValueLabel}\n size={size}\n value={percent || 0}\n valueLabel={!!percent && value}\n />\n );\n};\n\nexport default Progress;\n","import Progress, { progressVariants } from './Progress';\n\nexport type { ProgressProps } from './Progress';\n\nexport { Progress, progressVariants };\n\nexport default Progress;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__spreadProps,
|
|
3
3
|
__spreadValues
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OAIRL2FN.js";
|
|
5
5
|
|
|
6
6
|
// src/Menu/Menu.tsx
|
|
7
7
|
import { FaEllipsisVertical } from "react-icons/fa6";
|
|
@@ -22,22 +22,29 @@ var menuVariants = tv({
|
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
var getDisabledKeys = (items) => {
|
|
25
|
-
return items.map((item) =>
|
|
25
|
+
return items.map((item) => {
|
|
26
|
+
return typeof (item == null ? void 0 : item.items) === "undefined" ? item : item.items;
|
|
27
|
+
}).flat().filter((item) => {
|
|
26
28
|
return Object.hasOwn(item, "disabled") && item.disabled === true;
|
|
27
|
-
}).map((item) =>
|
|
29
|
+
}).map((item) => {
|
|
30
|
+
return item.key;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
var renderMenuItem = (item, itemClassName) => {
|
|
34
|
+
var _a;
|
|
35
|
+
return /* @__PURE__ */ jsx(
|
|
36
|
+
HeroDropdownItem,
|
|
37
|
+
{
|
|
38
|
+
className: cn(itemClassName, item.className),
|
|
39
|
+
"data-testid": (_a = item.testId) != null ? _a : item.key,
|
|
40
|
+
description: item.description,
|
|
41
|
+
onPress: item.onClick,
|
|
42
|
+
startContent: item.icon,
|
|
43
|
+
children: item.label
|
|
44
|
+
},
|
|
45
|
+
item.key
|
|
46
|
+
);
|
|
28
47
|
};
|
|
29
|
-
var renderMenuItem = (item, itemClassName) => /* @__PURE__ */ jsx(
|
|
30
|
-
HeroDropdownItem,
|
|
31
|
-
{
|
|
32
|
-
className: cn(itemClassName, item.className),
|
|
33
|
-
"data-testid": item.testId || item.key,
|
|
34
|
-
description: item.description,
|
|
35
|
-
onPress: item.onClick,
|
|
36
|
-
startContent: item.icon,
|
|
37
|
-
children: item.label
|
|
38
|
-
},
|
|
39
|
-
item.key
|
|
40
|
-
);
|
|
41
48
|
var Menu = ({
|
|
42
49
|
ariaLabel = void 0,
|
|
43
50
|
children = null,
|
|
@@ -64,8 +71,7 @@ var Menu = ({
|
|
|
64
71
|
})
|
|
65
72
|
);
|
|
66
73
|
} else if (triggerButtonProps) {
|
|
67
|
-
triggerButton =
|
|
68
|
-
/* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({ className: className.trigger }, triggerButtonProps), { children }));
|
|
74
|
+
triggerButton = /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({ className: className.trigger }, triggerButtonProps), { children }));
|
|
69
75
|
}
|
|
70
76
|
return /* @__PURE__ */ jsxs(
|
|
71
77
|
HeroDropdown,
|
|
@@ -78,8 +84,8 @@ var Menu = ({
|
|
|
78
84
|
/* @__PURE__ */ jsx(
|
|
79
85
|
HeroDropdownMenu,
|
|
80
86
|
{
|
|
81
|
-
items,
|
|
82
87
|
disabledKeys: getDisabledKeys(items),
|
|
88
|
+
items,
|
|
83
89
|
onAction,
|
|
84
90
|
children: (item) => {
|
|
85
91
|
if ("items" in item) {
|
|
@@ -112,4 +118,4 @@ export {
|
|
|
112
118
|
Menu_default,
|
|
113
119
|
Menu_default2
|
|
114
120
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-IYQQOML7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Menu/Menu.tsx","../src/Menu/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps } from '@heroui/button';\nimport type {\n DropdownItemProps as HeroDropdownItemProps,\n DropdownProps as HeroDropdownProps,\n DropdownSectionProps as HeroDropdownSectionProps,\n} from '@heroui/dropdown';\nimport type { Key, ReactNode } from 'react';\n\nimport { FaEllipsisVertical } from 'react-icons/fa6';\n\nimport { Button } from '@heroui/button';\nimport {\n Dropdown as HeroDropdown,\n DropdownItem as HeroDropdownItem,\n DropdownMenu as HeroDropdownMenu,\n DropdownSection as HeroDropdownSection,\n DropdownTrigger as HeroDropdownTrigger,\n} from '@heroui/dropdown';\n\nimport { cn, tv, variantsToClassNames } 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?: HeroDropdownItemProps['onPress'];\n /** e2e test identifier */\n testId?: string;\n}\n\n/**\n * Menu section type\n */\nexport interface MenuSection {\n /** unique identifier */\n key: string;\n /** section label */\n label: ReactNode;\n /** section items (array of MenuItem) */\n items: MenuItem[];\n}\n\n// menu styling variants\nexport const menuVariants = tv({\n slots: {\n item: '',\n trigger: '',\n },\n});\n\ntype VariantProps = TVProps<typeof menuVariants>;\ntype ClassName = TVClassName<typeof menuVariants>;\n\nexport interface MenuProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** child components */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** menu item structure */\n items: (MenuSection | MenuItem)[];\n /** disable menu trigger */\n isDisabled?: boolean;\n /** placement of the menu */\n placement?: HeroDropdownProps['placement'];\n /** called if item is selected */\n onAction?: (key: Key) => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** When defined a Button will be rendered as trigger (with provided props) instead of unstyled html button */\n triggerButtonProps?: Pick<\n ButtonProps,\n | 'aria-label'\n | 'className'\n | 'color'\n | 'disableAnimation'\n | 'disabled'\n | 'size'\n | 'variant'\n >;\n}\n\n/** returns String[] of disabled items/keys */\nconst getDisabledKeys = (items: (MenuSection | MenuItem)[]) => {\n return items\n .map((item) => {\n // @ts-expect-error typing issue with MenuSection | MenuItem\n return typeof item?.items === 'undefined' ? item : item.items;\n })\n .flat<MenuItem[]>()\n .filter((item) => {\n return Object.hasOwn(item, 'disabled') && item.disabled === true;\n })\n .map((item) => {\n return item.key;\n });\n};\n\nconst renderMenuItem = (item: MenuItem, itemClassName?: string) => {\n return (\n <HeroDropdownItem\n key={item.key}\n className={cn(itemClassName, item.className)}\n data-testid={item.testId ?? item.key}\n description={item.description}\n onPress={item.onClick}\n startContent={item.icon}\n >\n {item.label}\n </HeroDropdownItem>\n );\n};\n\n/**\n * Dropdown menu component based on [HeroUI Dropdown](https://www.heroui.com//docs/components/dropdown)\n */\nconst Menu = ({\n ariaLabel = undefined,\n children = null,\n className: _className = undefined,\n isDisabled = false,\n items,\n onAction = undefined,\n placement = undefined,\n testId = undefined,\n triggerButtonProps = undefined,\n}: MenuProps) => {\n // className from slots\n const variants = menuVariants();\n const className = variantsToClassNames(variants, _className, 'trigger');\n\n // determine trigger button variant\n let triggerButton = <button type=\"button\">{children}</button>;\n if (!children) {\n // default to ellipsis icon when no children are provided\n triggerButton = (\n <Button\n className={cn('min-w-0', className.trigger)}\n size=\"sm\"\n variant=\"flat\"\n {...triggerButtonProps}\n >\n <FaEllipsisVertical />\n </Button>\n );\n } else if (triggerButtonProps) {\n // use provided triggerButtonProps with hero button\n triggerButton = (\n <Button className={className.trigger} {...triggerButtonProps}>\n {children}\n </Button>\n );\n }\n\n return (\n <HeroDropdown\n aria-label={ariaLabel}\n isDisabled={isDisabled}\n placement={placement}\n >\n <HeroDropdownTrigger data-testid={testId}>\n {/* NOTE: type and aria properties are injected by HeroDropdownTrigger */}\n {triggerButton}\n </HeroDropdownTrigger>\n <HeroDropdownMenu\n disabledKeys={getDisabledKeys(items)}\n items={items}\n onAction={onAction}\n >\n {(item) => {\n if ('items' in item) {\n return (\n <HeroDropdownSection\n key={item.key}\n items={item.items}\n title={item.label as HeroDropdownSectionProps['title']}\n >\n {(sectionItem) => {\n return renderMenuItem(sectionItem, className.item);\n }}\n </HeroDropdownSection>\n );\n }\n return renderMenuItem(item, className.item);\n }}\n </HeroDropdownMenu>\n </HeroDropdown>\n );\n};\n\nexport default Menu;\n","import Menu from './Menu';\n\nexport type { MenuProps, MenuItem, MenuSection } from './Menu';\n\nexport { Menu };\n\nexport default Menu;\n"],"mappings":";;;;;;AASA,SAAS,0BAA0B;AAEnC,SAAS,cAAc;AACvB;AAAA,EACE,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,OACd;AAEP,SAAS,IAAI,IAAI,4BAA4B;AA+FzC,cAuDA,YAvDA;AA1DG,IAAM,eAAe,GAAG;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;AAoCD,IAAM,kBAAkB,CAAC,UAAsC;AAC7D,SAAO,MACJ,IAAI,CAAC,SAAS;AAEb,WAAO,QAAO,6BAAM,WAAU,cAAc,OAAO,KAAK;AAAA,EAC1D,CAAC,EACA,KAAiB,EACjB,OAAO,CAAC,SAAS;AAChB,WAAO,OAAO,OAAO,MAAM,UAAU,KAAK,KAAK,aAAa;AAAA,EAC9D,CAAC,EACA,IAAI,CAAC,SAAS;AACb,WAAO,KAAK;AAAA,EACd,CAAC;AACL;AAEA,IAAM,iBAAiB,CAAC,MAAgB,kBAA2B;AAjHnE;AAkHE,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,WAAW,GAAG,eAAe,KAAK,SAAS;AAAA,MAC3C,gBAAa,UAAK,WAAL,YAAe,KAAK;AAAA,MACjC,aAAa,KAAK;AAAA,MAClB,SAAS,KAAK;AAAA,MACd,cAAc,KAAK;AAAA,MAElB,eAAK;AAAA;AAAA,IAPD,KAAK;AAAA,EAQZ;AAEJ;AAKA,IAAM,OAAO,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,qBAAqB;AACvB,MAAiB;AAEf,QAAM,WAAW,aAAa;AAC9B,QAAM,YAAY,qBAAqB,UAAU,YAAY,SAAS;AAGtE,MAAI,gBAAgB,oBAAC,YAAO,MAAK,UAAU,UAAS;AACpD,MAAI,CAAC,UAAU;AAEb,oBACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,WAAW,UAAU,OAAO;AAAA,QAC1C,MAAK;AAAA,QACL,SAAQ;AAAA,SACJ,qBAJL;AAAA,QAMC,8BAAC,sBAAmB;AAAA;AAAA,IACtB;AAAA,EAEJ,WAAW,oBAAoB;AAE7B,oBACE,oBAAC,uCAAO,WAAW,UAAU,WAAa,qBAAzC,EACE,WACH;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,uBAAoB,eAAa,QAE/B,yBACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,cAAc,gBAAgB,KAAK;AAAA,YACnC;AAAA,YACA;AAAA,YAEC,WAAC,SAAS;AACT,kBAAI,WAAW,MAAM;AACnB,uBACE;AAAA,kBAAC;AAAA;AAAA,oBAEC,OAAO,KAAK;AAAA,oBACZ,OAAO,KAAK;AAAA,oBAEX,WAAC,gBAAgB;AAChB,6BAAO,eAAe,aAAa,UAAU,IAAI;AAAA,oBACnD;AAAA;AAAA,kBANK,KAAK;AAAA,gBAOZ;AAAA,cAEJ;AACA,qBAAO,eAAe,MAAM,UAAU,IAAI;AAAA,YAC5C;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,eAAQ;;;ACvMf,IAAOA,gBAAQ;","names":["Menu_default"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkITHJ52SNcjs = require('./chunk-ITHJ52SN.cjs');
|
|
4
4
|
|
|
5
5
|
// src/Tooltip/Tooltip.tsx
|
|
6
6
|
var _tooltip = require('@heroui/tooltip');
|
|
@@ -85,27 +85,29 @@ var Tooltip = ({
|
|
|
85
85
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
86
86
|
_tooltip.Tooltip,
|
|
87
87
|
{
|
|
88
|
+
shouldFlip: true,
|
|
89
|
+
showArrow: true,
|
|
88
90
|
classNames,
|
|
89
91
|
closeDelay,
|
|
90
92
|
containerPadding,
|
|
93
|
+
defaultOpen,
|
|
94
|
+
delay,
|
|
95
|
+
onOpenChange,
|
|
96
|
+
placement,
|
|
91
97
|
content: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
92
|
-
header
|
|
98
|
+
header ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: classNames.headerWrapper, children: [
|
|
93
99
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: classNames.header, children: header }),
|
|
94
100
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", { className: classNames.divider })
|
|
95
|
-
] }),
|
|
96
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
97
|
-
footer
|
|
101
|
+
] }) : null,
|
|
102
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkITHJ52SNcjs.ScrollShadow_default, { className: classNames.body, children: content }),
|
|
103
|
+
footer ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: classNames.footerWrapper, children: [
|
|
98
104
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "hr", { className: classNames.divider }),
|
|
99
105
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: classNames.footer, children: footer })
|
|
100
|
-
] })
|
|
106
|
+
] }) : null
|
|
101
107
|
] }),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
onOpenChange,
|
|
106
|
-
placement,
|
|
107
|
-
shouldFlip: true,
|
|
108
|
-
showArrow: true,
|
|
108
|
+
onClick: (e) => {
|
|
109
|
+
e.preventDefault();
|
|
110
|
+
},
|
|
109
111
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: classNames.trigger, children })
|
|
110
112
|
}
|
|
111
113
|
);
|
|
@@ -119,4 +121,4 @@ var Tooltip_default2 = Tooltip_default;
|
|
|
119
121
|
|
|
120
122
|
|
|
121
123
|
exports.Tooltip_default = Tooltip_default; exports.Tooltip_default2 = Tooltip_default2;
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
124
|
+
//# sourceMappingURL=chunk-J2LI4ONS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-J2LI4ONS.cjs","../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"names":["Tooltip_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-J2LI4ONS.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TooltipPlacement as HeroTooltipPlacement } from '@heroui/tooltip';\nimport type { ReactNode } from 'react';\n\nimport { Tooltip as HeroTooltip } from '@heroui/tooltip';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// tooltip variants\nexport const tooltipVariants = tv({\n slots: {\n base: '',\n body: 'w-full px-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'border-divider m-0 w-full p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pt-2 pb-1 font-semibold',\n headerWrapper: 'w-full',\n trigger: 'cursor-pointer',\n },\n variants: {\n size: {\n xs: {\n // base: 'max-w-xs',\n body: 'max-w-xs',\n footer: 'max-w-xs',\n header: 'max-w-xs',\n },\n sm: {\n // base: 'max-w-sm',\n body: 'max-w-sm',\n footer: 'max-w-sm',\n header: 'max-w-sm',\n },\n md: {\n // base: 'max-w-md',\n body: 'max-w-md',\n footer: 'max-w-md',\n header: 'max-w-md',\n },\n lg: {\n // base: 'max-w-lg',\n body: 'max-w-lg',\n footer: 'max-w-lg',\n header: 'max-w-lg',\n },\n xl: {\n // base: 'max-w-xl',\n body: 'max-w-xl',\n footer: 'max-w-xl',\n header: 'max-w-xl',\n },\n '2xl': {\n // base: 'max-w-2xl',\n body: 'max-w-2xl',\n footer: 'max-w-2xl',\n header: 'max-w-2xl',\n },\n '3xl': {\n // base: 'max-w-3xl',\n body: 'max-w-3xl',\n footer: 'max-w-3xl',\n header: 'max-w-3xl',\n },\n full: { base: '' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof tooltipVariants>;\ntype ClassName = TVClassName<typeof tooltipVariants>;\n\nexport type TooltipPlacement = HeroTooltipPlacement;\n\nexport interface TooltipProps extends VariantProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** delay in milliseconds before the tooltip opens. */\n closeDelay?: number;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** delay in milliseconds before the tooltip opens. */\n delay?: number;\n /** tooltip footer */\n footer?: ReactNode;\n /** tooltip header */\n header?: ReactNode;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n /** size of the tooltip */\n size?: VariantProps['size'];\n}\n\n/**\n * Tooltip component based on [HeroUI Tooltip](https://www.heroui.com//docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className: _className = undefined,\n closeDelay = 500,\n containerPadding = 0,\n content,\n defaultOpen = false,\n delay = 0,\n footer = undefined,\n header = undefined,\n onOpenChange = undefined,\n placement = 'top',\n size = 'full',\n}: TooltipProps) => {\n // classNames from slots\n const variants = tooltipVariants({ size });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroTooltip\n shouldFlip\n showArrow\n classNames={classNames}\n closeDelay={closeDelay}\n containerPadding={containerPadding}\n defaultOpen={defaultOpen}\n delay={delay}\n onOpenChange={onOpenChange}\n placement={placement}\n content={\n <div>\n {header ? (\n <div className={classNames.headerWrapper}>\n <div className={classNames.header}>{header}</div>\n <hr className={classNames.divider} />\n </div>\n ) : null}\n <ScrollShadow className={classNames.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={classNames.footerWrapper}>\n <hr className={classNames.divider} />\n <div className={classNames.footer}>{footer}</div>\n </div>\n ) : null}\n </div>\n }\n onClick={(e) => {\n e.preventDefault();\n }}\n >\n <span className={classNames.trigger}>{children}</span>\n </HeroTooltip>\n );\n};\n\nexport default Tooltip;\n","import Tooltip from './Tooltip';\n\nexport type { TooltipProps, TooltipPlacement } from './Tooltip';\n\nexport { Tooltip };\n\nexport default Tooltip;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__spreadProps,
|
|
3
3
|
__spreadValues
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OAIRL2FN.js";
|
|
5
5
|
|
|
6
6
|
// src/Toast/index.ts
|
|
7
7
|
import { Toast } from "@heroui/toast";
|
|
@@ -171,4 +171,4 @@ export {
|
|
|
171
171
|
Toast,
|
|
172
172
|
Toast_default
|
|
173
173
|
};
|
|
174
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-JQNZVQVJ.js.map
|