@fuf-stack/pixels 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/Accordion/index.cjs +3 -3
  2. package/dist/Accordion/index.js +2 -2
  3. package/dist/Alert/index.cjs +3 -3
  4. package/dist/Alert/index.js +2 -2
  5. package/dist/Avatar/index.cjs +1 -1
  6. package/dist/Avatar/index.js +1 -1
  7. package/dist/AvatarGroup/index.cjs +3 -3
  8. package/dist/AvatarGroup/index.js +2 -2
  9. package/dist/Badge/index.cjs +3 -3
  10. package/dist/Badge/index.d.cts +3 -4
  11. package/dist/Badge/index.d.ts +3 -4
  12. package/dist/Badge/index.js +2 -2
  13. package/dist/{Badge-BjifpVQQ.d.cts → Badge-L8r9mgSs.d.cts} +2 -3
  14. package/dist/{Badge-BjifpVQQ.d.ts → Badge-L8r9mgSs.d.ts} +2 -3
  15. package/dist/Breadcrumb/index.cjs +3 -3
  16. package/dist/Breadcrumb/index.js +2 -2
  17. package/dist/Button/index.cjs +3 -3
  18. package/dist/Button/index.d.cts +2 -2
  19. package/dist/Button/index.d.ts +2 -2
  20. package/dist/Button/index.js +2 -2
  21. package/dist/Button-BOaEQrs9.d.cts +258 -0
  22. package/dist/Button-BOaEQrs9.d.ts +258 -0
  23. package/dist/ButtonGroup/index.cjs +1 -1
  24. package/dist/ButtonGroup/index.js +1 -1
  25. package/dist/Card/index.cjs +3 -3
  26. package/dist/Card/index.js +2 -2
  27. package/dist/Drawer/index.cjs +3 -3
  28. package/dist/Drawer/index.js +2 -2
  29. package/dist/Json/index.cjs +4 -4
  30. package/dist/Json/index.css.map +1 -1
  31. package/dist/Json/index.js +3 -3
  32. package/dist/Label/index.cjs +3 -3
  33. package/dist/Label/index.js +2 -2
  34. package/dist/Menu/index.cjs +3 -3
  35. package/dist/Menu/index.js +2 -2
  36. package/dist/Modal/index.cjs +3 -3
  37. package/dist/Modal/index.js +2 -2
  38. package/dist/Popover/index.cjs +4 -4
  39. package/dist/Popover/index.d.cts +3 -3
  40. package/dist/Popover/index.d.ts +3 -3
  41. package/dist/Popover/index.js +3 -3
  42. package/dist/{Popover-BsdcKPgm.d.cts → Popover-Bf192yqn.d.cts} +2 -2
  43. package/dist/{Popover-BsdcKPgm.d.ts → Popover-Bf192yqn.d.ts} +2 -2
  44. package/dist/Progress/index.cjs +3 -3
  45. package/dist/Progress/index.js +2 -2
  46. package/dist/ProgressCircular/index.cjs +3 -3
  47. package/dist/ProgressCircular/index.js +2 -2
  48. package/dist/ScrollShadow/index.cjs +4 -4
  49. package/dist/ScrollShadow/index.js +2 -2
  50. package/dist/Table/index.cjs +3 -3
  51. package/dist/Table/index.js +2 -2
  52. package/dist/Tabs/index.cjs +3 -3
  53. package/dist/Tabs/index.js +2 -2
  54. package/dist/Toast/index.cjs +3 -3
  55. package/dist/Toast/index.js +2 -2
  56. package/dist/Tooltip/index.cjs +4 -4
  57. package/dist/Tooltip/index.js +3 -3
  58. package/dist/{chunk-ESLZ4HYA.js → chunk-2O3IUQR4.js} +6 -4
  59. package/dist/chunk-2O3IUQR4.js.map +1 -0
  60. package/dist/{chunk-OAUPTZSC.js → chunk-473MRDWX.js} +11 -9
  61. package/dist/{chunk-OAUPTZSC.js.map → chunk-473MRDWX.js.map} +1 -1
  62. package/dist/{chunk-X6JZFO33.js → chunk-4AXE6KZW.js} +3 -3
  63. package/dist/{chunk-X6JZFO33.js.map → chunk-4AXE6KZW.js.map} +1 -1
  64. package/dist/{chunk-IPALTJVF.cjs → chunk-6ZSRU7OZ.cjs} +63 -52
  65. package/dist/chunk-6ZSRU7OZ.cjs.map +1 -0
  66. package/dist/{chunk-MK2S3QUK.js → chunk-7MCSF7YR.js} +8 -6
  67. package/dist/{chunk-MK2S3QUK.js.map → chunk-7MCSF7YR.js.map} +1 -1
  68. package/dist/{chunk-D4TLDLEX.cjs → chunk-AHEA4IJV.cjs} +23 -2
  69. package/dist/{chunk-D4TLDLEX.cjs.map → chunk-AHEA4IJV.cjs.map} +1 -1
  70. package/dist/{chunk-WFR7OUY7.cjs → chunk-AUPA2S2F.cjs} +27 -21
  71. package/dist/chunk-AUPA2S2F.cjs.map +1 -0
  72. package/dist/{chunk-W2EOAUKE.cjs → chunk-AZ7VMRHX.cjs} +7 -5
  73. package/dist/chunk-AZ7VMRHX.cjs.map +1 -0
  74. package/dist/{chunk-LA3SMG6Y.js → chunk-BGGRVPBR.js} +15 -13
  75. package/dist/{chunk-LA3SMG6Y.js.map → chunk-BGGRVPBR.js.map} +1 -1
  76. package/dist/{chunk-PHQVYJS2.cjs → chunk-BPBEZCSP.cjs} +4 -4
  77. package/dist/chunk-BPBEZCSP.cjs.map +1 -0
  78. package/dist/{chunk-HOWDEBJG.js → chunk-F37RLKXJ.js} +65 -52
  79. package/dist/chunk-F37RLKXJ.js.map +1 -0
  80. package/dist/{chunk-RYO74XL7.cjs → chunk-G3YTOGEG.cjs} +14 -11
  81. package/dist/chunk-G3YTOGEG.cjs.map +1 -0
  82. package/dist/{chunk-JSANDW3W.cjs → chunk-HG7AE6Q2.cjs} +1 -1
  83. package/dist/chunk-HG7AE6Q2.cjs.map +1 -0
  84. package/dist/{chunk-OOJRHIVU.js → chunk-HMYQTHGT.js} +14 -11
  85. package/dist/{chunk-OOJRHIVU.js.map → chunk-HMYQTHGT.js.map} +1 -1
  86. package/dist/{chunk-DTG27JQ7.cjs → chunk-HPZBCSP3.cjs} +8 -6
  87. package/dist/chunk-HPZBCSP3.cjs.map +1 -0
  88. package/dist/{chunk-ZZOEFQWQ.cjs → chunk-IBX6A72P.cjs} +21 -19
  89. package/dist/chunk-IBX6A72P.cjs.map +1 -0
  90. package/dist/{chunk-VBOUHWXM.js → chunk-IGRNC5NX.js} +8 -6
  91. package/dist/{chunk-VBOUHWXM.js.map → chunk-IGRNC5NX.js.map} +1 -1
  92. package/dist/{chunk-FUBGS3G4.cjs → chunk-ITHJ52SN.cjs} +14 -12
  93. package/dist/chunk-ITHJ52SN.cjs.map +1 -0
  94. package/dist/{chunk-XOCP745X.cjs → chunk-IY2NXW6X.cjs} +4 -2
  95. package/dist/chunk-IY2NXW6X.cjs.map +1 -0
  96. package/dist/{chunk-J4HCGFN4.cjs → chunk-J2LI4ONS.cjs} +16 -14
  97. package/dist/chunk-J2LI4ONS.cjs.map +1 -0
  98. package/dist/{chunk-XHGGLUFN.js → chunk-JQNZVQVJ.js} +2 -2
  99. package/dist/{chunk-NNWXSPVB.cjs → chunk-KB6PZSJ5.cjs} +64 -51
  100. package/dist/chunk-KB6PZSJ5.cjs.map +1 -0
  101. package/dist/{chunk-GNMNAQY4.js → chunk-LAQNNPIV.js} +18 -12
  102. package/dist/{chunk-GNMNAQY4.js.map → chunk-LAQNNPIV.js.map} +1 -1
  103. package/dist/{chunk-TLXLWB4Y.cjs → chunk-LX5LJN3I.cjs} +5 -5
  104. package/dist/{chunk-TLXLWB4Y.cjs.map → chunk-LX5LJN3I.cjs.map} +1 -1
  105. package/dist/{chunk-N4U7OJOM.js → chunk-NPNLVQU7.js} +25 -14
  106. package/dist/chunk-NPNLVQU7.js.map +1 -0
  107. package/dist/{chunk-J7N2552D.js → chunk-OAIRL2FN.js} +23 -2
  108. package/dist/{chunk-7RVUB6I5.cjs → chunk-OLU26V56.cjs} +8 -6
  109. package/dist/chunk-OLU26V56.cjs.map +1 -0
  110. package/dist/{chunk-3LEEMSTG.cjs → chunk-PF4VI6L7.cjs} +11 -9
  111. package/dist/chunk-PF4VI6L7.cjs.map +1 -0
  112. package/dist/{chunk-WFPRB4JT.js → chunk-RMBGZYI3.js} +26 -20
  113. package/dist/chunk-RMBGZYI3.js.map +1 -0
  114. package/dist/{chunk-LIZGYO24.cjs → chunk-S4O4KDC3.cjs} +14 -17
  115. package/dist/chunk-S4O4KDC3.cjs.map +1 -0
  116. package/dist/{chunk-3QICKBFS.js → chunk-SZGVYMRD.js} +13 -16
  117. package/dist/chunk-SZGVYMRD.js.map +1 -0
  118. package/dist/{chunk-C6VV7NYT.cjs → chunk-TFRAQ6OQ.cjs} +18 -12
  119. package/dist/chunk-TFRAQ6OQ.cjs.map +1 -0
  120. package/dist/{chunk-7QBCVRQD.js → chunk-TJTBJ2NT.js} +21 -19
  121. package/dist/{chunk-7QBCVRQD.js.map → chunk-TJTBJ2NT.js.map} +1 -1
  122. package/dist/{chunk-JORMLHKF.js → chunk-TYY3HIYL.js} +4 -2
  123. package/dist/chunk-TYY3HIYL.js.map +1 -0
  124. package/dist/{chunk-YBMQZ43T.cjs → chunk-UECUQP2B.cjs} +4 -4
  125. package/dist/{chunk-YBMQZ43T.cjs.map → chunk-UECUQP2B.cjs.map} +1 -1
  126. package/dist/{chunk-NES3USBQ.js → chunk-UEQG424R.js} +1 -1
  127. package/dist/chunk-UEQG424R.js.map +1 -0
  128. package/dist/{chunk-HFW4JP5W.js → chunk-UMROOKDT.js} +19 -15
  129. package/dist/chunk-UMROOKDT.js.map +1 -0
  130. package/dist/{chunk-2NVQAYAE.js → chunk-W52ZP2AU.js} +2 -2
  131. package/dist/{chunk-QDLXCNJI.js → chunk-XIBET6QC.js} +24 -12
  132. package/dist/chunk-XIBET6QC.js.map +1 -0
  133. package/dist/{chunk-3Y7P46WT.cjs → chunk-YW4S32XV.cjs} +18 -14
  134. package/dist/chunk-YW4S32XV.cjs.map +1 -0
  135. package/dist/{chunk-7APFE3MI.cjs → chunk-Z363QVXW.cjs} +25 -13
  136. package/dist/chunk-Z363QVXW.cjs.map +1 -0
  137. package/dist/{chunk-WDXULV6M.js → chunk-ZLSX6FH3.js} +14 -12
  138. package/dist/{chunk-WDXULV6M.js.map → chunk-ZLSX6FH3.js.map} +1 -1
  139. package/dist/hooks/index.cjs +1 -1
  140. package/dist/hooks/index.js +1 -1
  141. package/dist/index.cjs +22 -22
  142. package/dist/index.css.map +1 -1
  143. package/dist/index.d.cts +3 -3
  144. package/dist/index.d.ts +3 -3
  145. package/dist/index.js +21 -21
  146. package/package.json +3 -3
  147. package/dist/Button-CkMcZvji.d.cts +0 -125
  148. package/dist/Button-CkMcZvji.d.ts +0 -125
  149. package/dist/chunk-3LEEMSTG.cjs.map +0 -1
  150. package/dist/chunk-3QICKBFS.js.map +0 -1
  151. package/dist/chunk-3Y7P46WT.cjs.map +0 -1
  152. package/dist/chunk-7APFE3MI.cjs.map +0 -1
  153. package/dist/chunk-7RVUB6I5.cjs.map +0 -1
  154. package/dist/chunk-C6VV7NYT.cjs.map +0 -1
  155. package/dist/chunk-DTG27JQ7.cjs.map +0 -1
  156. package/dist/chunk-ESLZ4HYA.js.map +0 -1
  157. package/dist/chunk-FUBGS3G4.cjs.map +0 -1
  158. package/dist/chunk-HFW4JP5W.js.map +0 -1
  159. package/dist/chunk-HOWDEBJG.js.map +0 -1
  160. package/dist/chunk-IPALTJVF.cjs.map +0 -1
  161. package/dist/chunk-J4HCGFN4.cjs.map +0 -1
  162. package/dist/chunk-JORMLHKF.js.map +0 -1
  163. package/dist/chunk-JSANDW3W.cjs.map +0 -1
  164. package/dist/chunk-LIZGYO24.cjs.map +0 -1
  165. package/dist/chunk-N4U7OJOM.js.map +0 -1
  166. package/dist/chunk-NES3USBQ.js.map +0 -1
  167. package/dist/chunk-NNWXSPVB.cjs.map +0 -1
  168. package/dist/chunk-PHQVYJS2.cjs.map +0 -1
  169. package/dist/chunk-QDLXCNJI.js.map +0 -1
  170. package/dist/chunk-RYO74XL7.cjs.map +0 -1
  171. package/dist/chunk-W2EOAUKE.cjs.map +0 -1
  172. package/dist/chunk-WFPRB4JT.js.map +0 -1
  173. package/dist/chunk-WFR7OUY7.cjs.map +0 -1
  174. package/dist/chunk-XOCP745X.cjs.map +0 -1
  175. package/dist/chunk-ZZOEFQWQ.cjs.map +0 -1
  176. /package/dist/{chunk-XHGGLUFN.js.map → chunk-JQNZVQVJ.js.map} +0 -0
  177. /package/dist/{chunk-J7N2552D.js.map → chunk-OAIRL2FN.js.map} +0 -0
  178. /package/dist/{chunk-2NVQAYAE.js.map → chunk-W52ZP2AU.js.map} +0 -0
@@ -51,16 +51,19 @@ var Tabs = ({
51
51
  selectedKey,
52
52
  size,
53
53
  variant,
54
- children: (item) => /* @__PURE__ */ jsx(
55
- HeroTab,
56
- {
57
- isDisabled: !!item.disabled,
58
- title: item.label,
59
- "data-testid": slugify(`${testId}_${item.testId || item.key}`),
60
- children: item.content
61
- },
62
- item.key
63
- )
54
+ children: (item) => {
55
+ var _a;
56
+ return /* @__PURE__ */ jsx(
57
+ HeroTab,
58
+ {
59
+ "data-testid": slugify(`${testId}_${(_a = item.testId) != null ? _a : item.key}`),
60
+ isDisabled: !!item.disabled,
61
+ title: item.label,
62
+ children: item.content
63
+ },
64
+ item.key
65
+ );
66
+ }
64
67
  }
65
68
  );
66
69
  };
@@ -74,4 +77,4 @@ export {
74
77
  Tabs_default,
75
78
  Tabs_default2
76
79
  };
77
- //# sourceMappingURL=chunk-OOJRHIVU.js.map
80
+ //# sourceMappingURL=chunk-HMYQTHGT.js.map
@@ -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 <HeroTab\n key={item.key}\n isDisabled={!!item.disabled}\n title={item.label}\n data-testid={slugify(`${testId}_${item.testId || item.key}`)}\n >\n {item.content}\n </HeroTab>\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;AA8G1C;AA5GD,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,SACA;AAAA,QAAC;AAAA;AAAA,UAEC,YAAY,CAAC,CAAC,KAAK;AAAA,UACnB,OAAO,KAAK;AAAA,UACZ,eAAa,QAAQ,GAAG,MAAM,IAAI,KAAK,UAAU,KAAK,GAAG,EAAE;AAAA,UAE1D,eAAK;AAAA;AAAA,QALD,KAAK;AAAA,MAMZ;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,eAAQ;;;AC1Hf,IAAOA,gBAAQ;","names":["Tabs_default"]}
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: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
58
- header && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalHeader, { children: header }),
59
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalBody, { id: "modal_body", children }),
60
- footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _modal.ModalFooter, { children: footer })
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-DTG27JQ7.cjs.map
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 _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
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
- children: breadcrumbItems.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
69
- _breadcrumbs.BreadcrumbItem,
70
- _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
71
- isDisabled: disabled || (item == null ? void 0 : item.disabled)
72
- }, item),
73
- index
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-ZZOEFQWQ.cjs.map
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: () => /* @__PURE__ */ jsxs(Fragment, { children: [
75
- header && /* @__PURE__ */ jsx(HeroDrawerHeader, { children: header }),
76
- /* @__PURE__ */ jsx(HeroDrawerBody, { id: "drawer_body", children }),
77
- footer && /* @__PURE__ */ jsx(HeroDrawerFooter, { children: footer })
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-VBOUHWXM.js.map
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 <>\n {header && <HeroDrawerHeader>{header}</HeroDrawerHeader>}\n <HeroDrawerBody id=\"drawer_body\">{children}</HeroDrawerBody>\n {footer && <HeroDrawerFooter>{footer}</HeroDrawerFooter>}\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;AAwH/B,mBACa,KADb;AArHH,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,gBACC,iCACG;AAAA,kBAAU,oBAAC,oBAAkB,kBAAO;AAAA,QACrC,oBAAC,kBAAe,IAAG,eAAe,UAAS;AAAA,QAC1C,UAAU,oBAAC,oBAAkB,kBAAO;AAAA,SACvC,GAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;AC5Hf,IAAOA,kBAAQ;","names":["Drawer_default"]}
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
- }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13
- _scrollshadow.ScrollShadow,
14
- {
15
- className: _pixelutils.cn.call(void 0, className),
16
- "data-testid": testId,
17
- hideScrollBar,
18
- orientation,
19
- size,
20
- children
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-FUBGS3G4.cjs.map
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) => `${percent}%`;
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-XOCP745X.cjs.map
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,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkFUBGS3G4cjs = require('./chunk-FUBGS3G4.cjs');
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 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: classNames.headerWrapper, children: [
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, _chunkFUBGS3G4cjs.ScrollShadow_default, { className: classNames.body, children: content }),
97
- footer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: classNames.footerWrapper, children: [
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
- defaultOpen,
103
- delay,
104
- onClick: (e) => e.preventDefault(),
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-J4HCGFN4.cjs.map
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":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACAA,0CAAuC;AAEvC,oDAAyC;AAqI7B,+CAAA;AAhIL,IAAM,gBAAA,EAAkB,4BAAA;AAAG,EAChC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,EAAA;AAAA,IACN,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS,gCAAA;AAAA,IACT,OAAA,EAAS,+BAAA;AAAA,IACT,MAAA,EAAQ,kBAAA;AAAA,IACR,aAAA,EAAe,QAAA;AAAA,IACf,MAAA,EAAQ,qCAAA;AAAA,IACR,aAAA,EAAe,QAAA;AAAA,IACf,OAAA,EAAS;AAAA,EACX,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA;AAAA,QAEF,IAAA,EAAM,UAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,EAAA,EAAI;AAAA;AAAA,QAEF,IAAA,EAAM,UAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,EAAA,EAAI;AAAA;AAAA,QAEF,IAAA,EAAM,UAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,EAAA,EAAI;AAAA;AAAA,QAEF,IAAA,EAAM,UAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,EAAA,EAAI;AAAA;AAAA,QAEF,IAAA,EAAM,UAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,KAAA,EAAO;AAAA;AAAA,QAEL,IAAA,EAAM,WAAA;AAAA,QACN,MAAA,EAAQ,WAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,KAAA,EAAO;AAAA;AAAA,QAEL,IAAA,EAAM,WAAA;AAAA,QACN,MAAA,EAAQ,WAAA;AAAA,QACR,MAAA,EAAQ;AAAA,MACV,CAAA;AAAA,MACA,IAAA,EAAM,EAAE,IAAA,EAAM,GAAG;AAAA,IACnB;AAAA,EACF;AACF,CAAC,CAAA;AAqCD,IAAM,QAAA,EAAU,CAAC;AAAA,EACf,QAAA;AAAA,EACA,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,WAAA,EAAa,GAAA;AAAA,EACb,iBAAA,EAAmB,CAAA;AAAA,EACnB,OAAA;AAAA,EACA,YAAA,EAAc,KAAA;AAAA,EACd,MAAA,EAAQ,CAAA;AAAA,EACR,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,aAAA,EAAe,KAAA,CAAA;AAAA,EACf,UAAA,EAAY,KAAA;AAAA,EACZ,KAAA,EAAO;AACT,CAAA,EAAA,GAAoB;AAElB,EAAA,MAAM,SAAA,EAAW,eAAA,CAAgB,EAAE,KAAK,CAAC,CAAA;AACzC,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,UAAA,EAAY,MAAM,CAAA;AAEpE,EAAA,uBACE,6BAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAU,IAAA;AAAA,MACV,SAAA,EAAS,IAAA;AAAA,MACT,UAAA;AAAA,MACA,UAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,kBACE,8BAAA,KAAC,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,OAAA,kBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,aAAA,EACzB,QAAA,EAAA;AAAA,0BAAA,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,MAAA,EAAS,QAAA,EAAA,OAAA,CAAO,CAAA;AAAA,0BAC3C,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAW,UAAA,CAAW,QAAA,CAAS;AAAA,QAAA,EAAA,CACrC,EAAA,EACE,IAAA;AAAA,wBACJ,6BAAA,sCAAC,EAAA,EAAa,SAAA,EAAW,UAAA,CAAW,IAAA,EAAO,QAAA,EAAA,QAAA,CAAQ,CAAA;AAAA,QAClD,OAAA,kBACC,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,aAAA,EACzB,QAAA,EAAA;AAAA,0BAAA,6BAAA,IAAC,EAAA,EAAG,SAAA,EAAW,UAAA,CAAW,QAAA,CAAS,CAAA;AAAA,0BACnC,6BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,UAAA,CAAW,MAAA,EAAS,QAAA,EAAA,OAAA,CAAO;AAAA,QAAA,EAAA,CAC7C,EAAA,EACE;AAAA,MAAA,EAAA,CACN,CAAA;AAAA,MAEF,OAAA,EAAS,CAAC,CAAA,EAAA,GAAM;AACd,QAAA,CAAA,CAAE,cAAA,CAAe,CAAA;AAAA,MACnB,CAAA;AAAA,MAEA,QAAA,kBAAA,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAW,UAAA,CAAW,OAAA,EAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EACjD,CAAA;AAEJ,CAAA;AAEA,IAAO,gBAAA,EAAQ,OAAA;AD/Cf;AACA;AE9GA,IAAOA,iBAAAA,EAAQ,eAAA;AFgHf;AACA;AACE;AACA;AACF,uFAAC","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-J7N2552D.js";
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-XHGGLUFN.js.map
174
+ //# sourceMappingURL=chunk-JQNZVQVJ.js.map
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
3
+
4
+ var _chunkAHEA4IJVcjs = require('./chunk-AHEA4IJV.cjs');
4
5
 
5
6
  // src/Button/Button.tsx
6
7
  var _button = require('@heroui/button');
@@ -9,48 +10,49 @@ var _pixelutils = require('@fuf-stack/pixel-utils');
9
10
 
10
11
  // src/Button/subcomponents/LoadingSpinner.tsx
11
12
  var _jsxruntime = require('react/jsx-runtime');
12
- var LoadingSpinner_default = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13
- "svg",
14
- {
15
- className: "h-5 w-5 animate-spin text-current",
16
- fill: "none",
17
- viewBox: "0 0 24 24",
18
- xmlns: "http://www.w3.org/2000/svg",
19
- children: [
20
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21
- "circle",
22
- {
23
- className: "opacity-25",
24
- cx: "12",
25
- cy: "12",
26
- r: "10",
27
- stroke: "currentColor",
28
- strokeWidth: "4"
29
- }
30
- ),
31
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32
- "path",
33
- {
34
- className: "opacity-75",
35
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",
36
- fill: "currentColor"
37
- }
38
- )
39
- ]
40
- }
41
- );
13
+ var LoadingSpinner = () => {
14
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15
+ "svg",
16
+ {
17
+ className: "h-5 w-5 animate-spin text-current",
18
+ fill: "none",
19
+ viewBox: "0 0 24 24",
20
+ xmlns: "http://www.w3.org/2000/svg",
21
+ children: [
22
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23
+ "circle",
24
+ {
25
+ className: "opacity-25",
26
+ cx: "12",
27
+ cy: "12",
28
+ r: "10",
29
+ stroke: "currentColor",
30
+ strokeWidth: "4"
31
+ }
32
+ ),
33
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34
+ "path",
35
+ {
36
+ className: "opacity-75",
37
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",
38
+ fill: "currentColor"
39
+ }
40
+ )
41
+ ]
42
+ }
43
+ );
44
+ };
45
+ var LoadingSpinner_default = LoadingSpinner;
42
46
 
43
47
  // src/Button/Button.tsx
44
48
 
45
49
  var buttonVariants = _pixelutils.tv.call(void 0, {
46
- slots: {
47
- base: ""
48
- },
50
+ extend: _theme.button,
49
51
  variants: {
50
- color: _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
52
+ color: _chunkAHEA4IJVcjs.__spreadProps.call(void 0, _chunkAHEA4IJVcjs.__spreadValues.call(void 0, {}, _theme.button.variants.color), {
51
53
  // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/button.ts
52
54
  info: ""
53
- }, _theme.button.variants.color),
55
+ }),
54
56
  variant: _theme.button.variants.variant,
55
57
  size: _theme.button.variants.size
56
58
  },
@@ -58,13 +60,23 @@ var buttonVariants = _pixelutils.tv.call(void 0, {
58
60
  // white text on solid / shadow success button
59
61
  {
60
62
  color: "success",
61
- variant: ["solid", "shadow"],
63
+ variant: "solid",
64
+ class: "text-white"
65
+ },
66
+ {
67
+ color: "success",
68
+ variant: "shadow",
62
69
  class: "text-white"
63
70
  },
64
71
  // white text on solid / shadow warning button
65
72
  {
66
73
  color: "warning",
67
- variant: ["solid", "shadow"],
74
+ variant: "solid",
75
+ class: "text-white"
76
+ },
77
+ {
78
+ color: "warning",
79
+ variant: "shadow",
68
80
  class: "text-white"
69
81
  },
70
82
  {
@@ -75,7 +87,7 @@ var buttonVariants = _pixelutils.tv.call(void 0, {
75
87
  {
76
88
  color: "info",
77
89
  variant: "shadow",
78
- class: 'text-info-foreground" bg-info shadow-info/40 shadow-lg'
90
+ class: "text-info-foreground bg-info shadow-info/40 shadow-lg"
79
91
  },
80
92
  {
81
93
  color: "info",
@@ -107,7 +119,7 @@ var buttonVariants = _pixelutils.tv.call(void 0, {
107
119
  var Button = ({
108
120
  ariaLabel = void 0,
109
121
  children = void 0,
110
- className = void 0,
122
+ className: _className = void 0,
111
123
  color = "default",
112
124
  disableAnimation = false,
113
125
  disabled = false,
@@ -121,26 +133,27 @@ var Button = ({
121
133
  type = void 0,
122
134
  variant = "solid"
123
135
  }) => {
124
- const variants = buttonVariants({ color, variant, size });
125
- const classNames = _pixelutils.variantsToClassNames.call(void 0, variants, className, "base");
136
+ const className = buttonVariants({
137
+ className: _className,
138
+ disableAnimation,
139
+ isDisabled: disabled,
140
+ color,
141
+ size,
142
+ variant,
143
+ isIconOnly: !!(icon && !children),
144
+ radius
145
+ });
126
146
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
127
147
  _button.Button,
128
148
  {
129
149
  "aria-label": ariaLabel,
130
- className: classNames.base,
131
- color,
150
+ className,
132
151
  "data-testid": testId,
133
- disableAnimation,
134
152
  disableRipple: disableAnimation || !ripple,
135
- isDisabled: disabled,
136
- isIconOnly: !!(icon && !children),
137
153
  isLoading: loading,
138
154
  onPress: onClick,
139
- radius,
140
- size,
141
155
  spinner: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingSpinner_default, {}),
142
156
  type,
143
- variant,
144
157
  children: [
145
158
  icon,
146
159
  children
@@ -158,4 +171,4 @@ var Button_default2 = Button_default;
158
171
 
159
172
 
160
173
  exports.buttonVariants = buttonVariants; exports.Button_default = Button_default; exports.Button_default2 = Button_default2;
161
- //# sourceMappingURL=chunk-NNWXSPVB.cjs.map
174
+ //# sourceMappingURL=chunk-KB6PZSJ5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-KB6PZSJ5.cjs","../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"names":["jsxs","jsx","Button_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-KB6PZSJ5.cjs","sourcesContent":[null,"import type { TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps as HeroButtonProps } from '@heroui/button';\nimport type { ReactNode } from 'react';\n\nimport { Button as HeroButton } from '@heroui/button';\nimport { button as heroButtonVariants } from '@heroui/theme';\n\nimport { tv } from '@fuf-stack/pixel-utils';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\nexport const buttonVariants = tv({\n extend: heroButtonVariants,\n variants: {\n color: {\n ...heroButtonVariants.variants.color,\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/button.ts\n info: '',\n },\n variant: heroButtonVariants.variants.variant,\n size: heroButtonVariants.variants.size,\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'success',\n variant: 'shadow',\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'warning',\n variant: 'shadow',\n class: 'text-white',\n },\n {\n color: 'info',\n variant: 'solid',\n class: 'bg-info text-info-foreground',\n },\n {\n color: 'info',\n variant: 'shadow',\n class: 'text-info-foreground bg-info shadow-info/40 shadow-lg',\n },\n {\n color: 'info',\n variant: 'bordered',\n class: 'border-medium border-info text-info bg-transparent',\n },\n {\n color: 'info',\n variant: 'flat',\n class: 'bg-info/20 text-info-600',\n },\n {\n color: 'info',\n variant: 'faded',\n class: 'border-default bg-default-100 text-info',\n },\n {\n color: 'info',\n variant: 'light',\n class: 'text-info data-[hover=true]:bg-info-100 bg-transparent',\n },\n {\n color: 'info',\n variant: 'ghost',\n class:\n 'border-info text-info data-[hover=true]:!bg-info data-[hover=true]:!text-info-foreground',\n },\n ],\n});\n\ntype VariantProps = TVProps<typeof buttonVariants>;\n\nexport interface ButtonProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** content of the button */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: VariantProps['color'];\n /** disables the button */\n disabled?: boolean;\n /** disables all animations */\n disableAnimation?: boolean;\n /** shows loading animation */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** click event handler */\n onClick?: HeroButtonProps['onPress'];\n /** border radius size */\n radius?: VariantProps['radius'];\n /** enable ripple animation effect on click */\n ripple?: boolean;\n /** size options */\n size?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** HTML button type attribute */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** visual style variant */\n variant?: VariantProps['variant'];\n}\n\n/**\n * Button component based on [HeroUI Button](https://www.heroui.com//docs/components/button)\n */\nconst Button = ({\n ariaLabel = undefined,\n children = undefined,\n className: _className = undefined,\n color = 'default',\n disableAnimation = false,\n disabled = false,\n icon = undefined,\n loading = false,\n onClick = undefined,\n radius = undefined,\n ripple = false,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n}: ButtonProps) => {\n const className = buttonVariants({\n className: _className,\n disableAnimation,\n isDisabled: disabled,\n color,\n size,\n variant,\n isIconOnly: !!(icon && !children),\n radius,\n });\n\n return (\n <HeroButton\n aria-label={ariaLabel}\n className={className}\n data-testid={testId}\n disableRipple={disableAnimation || !ripple}\n isLoading={loading}\n onPress={onClick}\n spinner={<LoadingSpinner />}\n type={type}\n >\n {icon}\n {children}\n </HeroButton>\n );\n};\n\nexport default Button;\n","/**\n * svg loading spinner for button\n * @see https://www.heroui.com//docs/components/button#loading\n * */\nconst LoadingSpinner = () => {\n return (\n <svg\n className=\"h-5 w-5 animate-spin text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default LoadingSpinner;\n","import Button, { buttonVariants } from './Button';\n\nexport type { ButtonProps } from './Button';\n\nexport { Button, buttonVariants };\n\nexport default Button;\n"]}