@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.
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 +4 -5
  40. package/dist/Popover/index.d.ts +4 -5
  41. package/dist/Popover/index.js +3 -3
  42. package/dist/{Popover-D6Qv56ms.d.ts → Popover-Bf192yqn.d.cts} +4 -4
  43. package/dist/{Popover-BUKzm3MQ.d.cts → Popover-Bf192yqn.d.ts} +4 -4
  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-2OJHNNCU.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-W2EOAUKE.cjs → chunk-AZ7VMRHX.cjs} +7 -5
  71. package/dist/chunk-AZ7VMRHX.cjs.map +1 -0
  72. package/dist/{chunk-LA3SMG6Y.js → chunk-BGGRVPBR.js} +15 -13
  73. package/dist/{chunk-LA3SMG6Y.js.map → chunk-BGGRVPBR.js.map} +1 -1
  74. package/dist/{chunk-PHQVYJS2.cjs → chunk-BPBEZCSP.cjs} +4 -4
  75. package/dist/chunk-BPBEZCSP.cjs.map +1 -0
  76. package/dist/{chunk-WFR7OUY7.cjs → chunk-DLZNJESG.cjs} +26 -20
  77. package/dist/chunk-DLZNJESG.cjs.map +1 -0
  78. package/dist/{chunk-4LMQVFV7.js → chunk-F37RLKXJ.js} +64 -47
  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-WFPRB4JT.js → chunk-IYQQOML7.js} +25 -19
  97. package/dist/chunk-IYQQOML7.js.map +1 -0
  98. package/dist/{chunk-J4HCGFN4.cjs → chunk-J2LI4ONS.cjs} +16 -14
  99. package/dist/chunk-J2LI4ONS.cjs.map +1 -0
  100. package/dist/{chunk-XHGGLUFN.js → chunk-JQNZVQVJ.js} +2 -2
  101. package/dist/{chunk-PZL3LRGY.cjs → chunk-KB6PZSJ5.cjs} +64 -47
  102. package/dist/chunk-KB6PZSJ5.cjs.map +1 -0
  103. package/dist/{chunk-GNMNAQY4.js → chunk-LAQNNPIV.js} +18 -12
  104. package/dist/{chunk-GNMNAQY4.js.map → chunk-LAQNNPIV.js.map} +1 -1
  105. package/dist/{chunk-TLXLWB4Y.cjs → chunk-LX5LJN3I.cjs} +5 -5
  106. package/dist/{chunk-TLXLWB4Y.cjs.map → chunk-LX5LJN3I.cjs.map} +1 -1
  107. package/dist/{chunk-BTQB4EZC.js → chunk-NPNLVQU7.js} +25 -14
  108. package/dist/chunk-NPNLVQU7.js.map +1 -0
  109. package/dist/{chunk-J7N2552D.js → chunk-OAIRL2FN.js} +23 -2
  110. package/dist/{chunk-7RVUB6I5.cjs → chunk-OLU26V56.cjs} +8 -6
  111. package/dist/chunk-OLU26V56.cjs.map +1 -0
  112. package/dist/{chunk-3LEEMSTG.cjs → chunk-PF4VI6L7.cjs} +11 -9
  113. package/dist/chunk-PF4VI6L7.cjs.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-7QUYJEGU.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-WZZMB5CI.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-rsBnawn1.d.cts +0 -118
  148. package/dist/Button-rsBnawn1.d.ts +0 -118
  149. package/dist/chunk-2OJHNNCU.cjs.map +0 -1
  150. package/dist/chunk-3LEEMSTG.cjs.map +0 -1
  151. package/dist/chunk-3QICKBFS.js.map +0 -1
  152. package/dist/chunk-4LMQVFV7.js.map +0 -1
  153. package/dist/chunk-7APFE3MI.cjs.map +0 -1
  154. package/dist/chunk-7QUYJEGU.js.map +0 -1
  155. package/dist/chunk-7RVUB6I5.cjs.map +0 -1
  156. package/dist/chunk-BTQB4EZC.js.map +0 -1
  157. package/dist/chunk-C6VV7NYT.cjs.map +0 -1
  158. package/dist/chunk-DTG27JQ7.cjs.map +0 -1
  159. package/dist/chunk-ESLZ4HYA.js.map +0 -1
  160. package/dist/chunk-FUBGS3G4.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-NES3USBQ.js.map +0 -1
  166. package/dist/chunk-PHQVYJS2.cjs.map +0 -1
  167. package/dist/chunk-PZL3LRGY.cjs.map +0 -1
  168. package/dist/chunk-QDLXCNJI.js.map +0 -1
  169. package/dist/chunk-RYO74XL7.cjs.map +0 -1
  170. package/dist/chunk-W2EOAUKE.cjs.map +0 -1
  171. package/dist/chunk-WFPRB4JT.js.map +0 -1
  172. package/dist/chunk-WFR7OUY7.cjs.map +0 -1
  173. package/dist/chunk-WZZMB5CI.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
@@ -3,7 +3,7 @@
3
3
  var _chunkOLI32URUcjs = require('./chunk-OLI32URU.cjs');
4
4
 
5
5
 
6
- var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
6
+ var _chunkAHEA4IJVcjs = require('./chunk-AHEA4IJV.cjs');
7
7
 
8
8
  // src/ProgressCircular/ProgressCircular.tsx
9
9
  var _fa = require('react-icons/fa');
@@ -29,7 +29,7 @@ var progressCircularVariants = _pixelutils.tv.call(void 0, {
29
29
  value: ""
30
30
  },
31
31
  variants: {
32
- color: _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
32
+ color: _chunkAHEA4IJVcjs.__spreadValues.call(void 0, {
33
33
  info: {
34
34
  svg: "text-info"
35
35
  }
@@ -68,7 +68,9 @@ var progressCircularVariants = _pixelutils.tv.call(void 0, {
68
68
  }
69
69
  }
70
70
  });
71
- var defaultFormat = (percent = 0) => `${percent}%`;
71
+ var defaultFormat = (percent = 0) => {
72
+ return `${percent}%`;
73
+ };
72
74
  var ProgressCircular = ({
73
75
  ariaLabel = "progress",
74
76
  className = void 0,
@@ -119,11 +121,11 @@ var ProgressCircular = ({
119
121
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
120
122
  _progress.CircularProgress,
121
123
  {
124
+ showValueLabel: true,
122
125
  "aria-label": ariaLabel,
123
126
  classNames,
124
127
  color: heroUiColor,
125
128
  disableAnimation: isInitialRenderCycle || disableAnimation,
126
- showValueLabel: true,
127
129
  strokeWidth,
128
130
  value: percent || 0,
129
131
  valueLabel: value
@@ -140,4 +142,4 @@ var ProgressCircular_default2 = ProgressCircular_default;
140
142
 
141
143
 
142
144
  exports.progressCircularVariants = progressCircularVariants; exports.ProgressCircular_default = ProgressCircular_default; exports.ProgressCircular_default2 = ProgressCircular_default2;
143
- //# sourceMappingURL=chunk-W2EOAUKE.cjs.map
145
+ //# sourceMappingURL=chunk-AZ7VMRHX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-AZ7VMRHX.cjs","../src/ProgressCircular/ProgressCircular.tsx","../src/ProgressCircular/index.ts"],"names":["ProgressCircular_default"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACHA,oCAAiC;AAEjC,4CAAyD;AACzD,sCAAiE;AAEjE,oDAAyC;AAmJ7B,+CAAA;AA/IL,IAAM,yBAAA,EAA2B,4BAAA;AAAG,EACzC,KAAA,EAAO;AAAA;AAAA,IAEL,IAAA,EAAM,EAAA;AAAA;AAAA,IAEN,SAAA,EAAW,EAAA;AAAA;AAAA,IAEX,KAAA,EAAO,EAAA;AAAA;AAAA,IAEP,GAAA,EAAK,EAAA;AAAA;AAAA,IAEL,UAAA,EAAY,EAAA;AAAA;AAAA,IAEZ,KAAA,EAAO,oBAAA;AAAA;AAAA,IAEP,KAAA,EAAO;AAAA,EACT,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,KAAA,EAAO,8CAAA;AAAA,MACL,IAAA,EAAM;AAAA,QACJ,GAAA,EAAK;AAAA,MACP;AAAA,IAAA,CAAA,EAEG,uBAAA,CAA6B,QAAA,CAAS,KAAA,CAAA;AAAA,IAE3C,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,GAAA,EAAK;AAAA,MACP;AAAA,IACF,CAAA;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,GAAA,EAAK;AAAA,MACP;AAAA,IACF,CAAA;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,GAAA,EAAK,WAAA;AAAA,QACL,KAAA,EAAO;AAAA,MACT,CAAA;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK,WAAA;AAAA,QACL,KAAA,EAAO;AAAA,MACT,CAAA;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK,WAAA;AAAA,QACL,KAAA,EAAO;AAAA,MACT,CAAA;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK,WAAA;AAAA,QACL,KAAA,EAAO;AAAA,MACT,CAAA;AAAA,MACA,EAAA,EAAI;AAAA,QACF,GAAA,EAAK,WAAA;AAAA,QACL,KAAA,EAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC,CAAA;AA6BD,IAAM,cAAA,EAAgB,CAAC,QAAA,EAAU,CAAA,EAAA,GAAM;AACrC,EAAA,OAAO,CAAA,EAAA;AACT;AAKM;AACJ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACO,EAAA;AACC,EAAA;AACR,EAAA;AAC2B;AAErB,EAAA;AAGA,EAAA;AAEA,EAAA;AACJ,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACD,EAAA;AACK,EAAA;AAGF,EAAA;AAEA,EAAA;AAEC,EAAA;AACH,IAAA;AACE,MAAA;AACE,QAAA;AACA,QAAA;AACF,MAAA;AACE,QAAA;AACA,QAAA;AACF,MAAA;AACE,QAAA;AACA,QAAA;AACJ,IAAA;AACF,EAAA;AAGI,EAAA;AACA,EAAA;AACF,IAAA;AACA,IAAA;AACF,EAAA;AACE,IAAA;AACA,IAAA;AACF,EAAA;AAGM,EAAA;AACJ,IAAA;AACA,EAAA;AAKA,EAAA;AAAC,IAAA;AAAA,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AAEA,MAAA;AACA,MAAA;AAAY,IAAA;AACd,EAAA;AAEJ;AAEO;ADjDG;AACA;AElIHA;AFoIG;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-AZ7VMRHX.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { CircularProgressProps as HeroCircularProgressProps } from '@heroui/progress';\nimport type { ReactNode } from 'react';\n\nimport { FaCheck, FaTimes } from 'react-icons/fa';\n\nimport { CircularProgress as HeroCircularProgress } from '@heroui/progress';\nimport { circularProgress as heroCircularProgressVariants } from '@heroui/theme';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useIsInitialRenderCycle } from '../hooks';\n\nexport const progressCircularVariants = tv({\n slots: {\n // wrapper around the whole component\n base: '',\n // indicator of the circle (finished part)\n indicator: '',\n // label next to the svgWrapper\n label: '',\n // wrapper for the circle\n svg: '',\n // wrapper around progress svg and value span\n svgWrapper: '',\n // track of the circle (not finished part)\n track: 'stroke-default-300',\n // outer span next to the svg\n value: '',\n },\n variants: {\n color: {\n info: {\n svg: 'text-info',\n },\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/progress.ts\n ...heroCircularProgressVariants.variants.color,\n },\n hasError: {\n true: {\n svg: 'text-danger',\n },\n },\n isFinished: {\n true: {\n svg: 'text-success',\n },\n },\n size: {\n xs: {\n svg: 'h-10 w-10',\n value: 'text-[0.6rem]',\n },\n sm: {\n svg: 'h-12 w-12',\n value: 'text-xs',\n },\n md: {\n svg: 'h-16 w-16',\n value: 'text-md',\n },\n lg: {\n svg: 'h-20 w-20',\n value: 'text-lg',\n },\n xl: {\n svg: 'h-24 w-24',\n value: 'text-xl',\n },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof progressCircularVariants>;\ntype ClassName = TVClassName<typeof progressCircularVariants>;\n\nexport interface ProgressCircularProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** CSS class name */\n className?: ClassName;\n /** color options */\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 /** formats the display value of the progress in the center */\n format?: (percent?: number) => ReactNode;\n /** enables error version */\n hasError?: boolean;\n /** percentage / progress of the circular progress bar */\n percent: number;\n /** size options */\n size?: VariantProps['size'];\n /** stroke width of the circular progress bar */\n strokeWidth?: number;\n}\n\n/** formats percent with percent sign */\nconst defaultFormat = (percent = 0) => {\n return `${percent}%`;\n};\n\n/**\n * ProgressCircular component based on [HeroUI CircularProgress](https://www.heroui.com/docs/components/circular-progress)\n */\nconst ProgressCircular = ({\n ariaLabel = 'progress',\n className = undefined,\n format = defaultFormat,\n hasError = false,\n percent,\n disableAnimation = false,\n disableFinishedState = false,\n size = 'md',\n color = 'info',\n strokeWidth: strokeWidthProp = undefined,\n}: ProgressCircularProps) => {\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 = !hasError && percent >= 100 && !disableFinishedState;\n\n const variants = progressCircularVariants({\n color,\n hasError,\n isFinished,\n size,\n });\n const classNames = variantsToClassNames(variants, className, 'base');\n\n // format value\n let value = format(percent);\n\n let strokeWidth = strokeWidthProp;\n // set strokeWidth based on size prop when no strokeWidth provided\n if (!strokeWidth) {\n switch (size) {\n case 'xs':\n strokeWidth = 2;\n break;\n case 'sm':\n strokeWidth = 1.8;\n break;\n default:\n strokeWidth = 1.6;\n break;\n }\n }\n\n // handle special states\n let progressColor: VariantProps['color'] = color;\n if (hasError) {\n progressColor = 'danger';\n value = <FaTimes className=\"text-danger\" />;\n } else if (isFinished) {\n progressColor = 'success';\n value = <FaCheck className=\"text-success\" />;\n }\n\n // pass only HeroUI colors as props\n const heroUiColor = Object.keys(\n heroCircularProgressVariants.variants.color,\n ).includes(color)\n ? (progressColor as HeroCircularProgressProps['color'])\n : undefined;\n\n return (\n <HeroCircularProgress\n showValueLabel\n aria-label={ariaLabel}\n classNames={classNames}\n color={heroUiColor}\n disableAnimation={isInitialRenderCycle || disableAnimation}\n strokeWidth={strokeWidth}\n // INFO: we do NOT use spinner animation when no percent provided\n value={percent || 0}\n valueLabel={value}\n />\n );\n};\n\nexport default ProgressCircular;\n","import ProgressCircular, { progressCircularVariants } from './ProgressCircular';\n\nexport type { ProgressCircularProps } from './ProgressCircular';\n\nexport { ProgressCircular, progressCircularVariants };\n\nexport default ProgressCircular;\n"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ScrollShadow_default
3
- } from "./chunk-WDXULV6M.js";
3
+ } from "./chunk-ZLSX6FH3.js";
4
4
 
5
5
  // src/Tooltip/Tooltip.tsx
6
6
  import { Tooltip as HeroTooltip } from "@heroui/tooltip";
@@ -85,27 +85,29 @@ var Tooltip = ({
85
85
  return /* @__PURE__ */ jsx(
86
86
  HeroTooltip,
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__ */ jsxs("div", { children: [
92
- header && /* @__PURE__ */ jsxs("div", { className: classNames.headerWrapper, children: [
98
+ header ? /* @__PURE__ */ jsxs("div", { className: classNames.headerWrapper, children: [
93
99
  /* @__PURE__ */ jsx("div", { className: classNames.header, children: header }),
94
100
  /* @__PURE__ */ jsx("hr", { className: classNames.divider })
95
- ] }),
101
+ ] }) : null,
96
102
  /* @__PURE__ */ jsx(ScrollShadow_default, { className: classNames.body, children: content }),
97
- footer && /* @__PURE__ */ jsxs("div", { className: classNames.footerWrapper, children: [
103
+ footer ? /* @__PURE__ */ jsxs("div", { className: classNames.footerWrapper, children: [
98
104
  /* @__PURE__ */ jsx("hr", { className: classNames.divider }),
99
105
  /* @__PURE__ */ jsx("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__ */ jsx("span", { className: classNames.trigger, children })
110
112
  }
111
113
  );
@@ -119,4 +121,4 @@ export {
119
121
  Tooltip_default,
120
122
  Tooltip_default2
121
123
  };
122
- //# sourceMappingURL=chunk-LA3SMG6Y.js.map
124
+ //# sourceMappingURL=chunk-BGGRVPBR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["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 classNames={classNames}\n closeDelay={closeDelay}\n containerPadding={containerPadding}\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 )}\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 )}\n </div>\n }\n defaultOpen={defaultOpen}\n delay={delay}\n onClick={(e) => e.preventDefault()}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\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"],"mappings":";;;;;AAIA,SAAS,WAAW,mBAAmB;AAEvC,SAAS,IAAI,4BAA4B;AA+H7B,SACE,KADF;AA1HL,IAAM,kBAAkB,GAAG;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,MAAM,EAAE,MAAM,GAAG;AAAA,IACnB;AAAA,EACF;AACF,CAAC;AAqCD,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,OAAO;AACT,MAAoB;AAElB,QAAM,WAAW,gBAAgB,EAAE,KAAK,CAAC;AACzC,QAAM,aAAa,qBAAqB,UAAU,YAAY,MAAM;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,SACE,qBAAC,SACE;AAAA,kBACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,UAC3C,oBAAC,QAAG,WAAW,WAAW,SAAS;AAAA,WACrC;AAAA,QAEF,oBAAC,wBAAa,WAAW,WAAW,MAAO,mBAAQ;AAAA,QAClD,UACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,QAAG,WAAW,WAAW,SAAS;AAAA,UACnC,oBAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,WAC7C;AAAA,SAEJ;AAAA,MAEF;AAAA,MACA;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,eAAe;AAAA,MACjC;AAAA,MACA;AAAA,MACA,YAAU;AAAA,MACV,WAAS;AAAA,MAET,8BAAC,UAAK,WAAW,WAAW,SAAU,UAAS;AAAA;AAAA,EACjD;AAEJ;AAEA,IAAO,kBAAQ;;;AC1Jf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
1
+ {"version":3,"sources":["../src/Tooltip/Tooltip.tsx","../src/Tooltip/index.ts"],"sourcesContent":["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"],"mappings":";;;;;AAIA,SAAS,WAAW,mBAAmB;AAEvC,SAAS,IAAI,4BAA4B;AAqI7B,SACE,KADF;AAhIL,IAAM,kBAAkB,GAAG;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA;AAAA,QAEF,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,MAAM,EAAE,MAAM,GAAG;AAAA,IACnB;AAAA,EACF;AACF,CAAC;AAqCD,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA,WAAW,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,OAAO;AACT,MAAoB;AAElB,QAAM,WAAW,gBAAgB,EAAE,KAAK,CAAC;AACzC,QAAM,aAAa,qBAAqB,UAAU,YAAY,MAAM;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SACE,qBAAC,SACE;AAAA,iBACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,UAC3C,oBAAC,QAAG,WAAW,WAAW,SAAS;AAAA,WACrC,IACE;AAAA,QACJ,oBAAC,wBAAa,WAAW,WAAW,MAAO,mBAAQ;AAAA,QAClD,SACC,qBAAC,SAAI,WAAW,WAAW,eACzB;AAAA,8BAAC,QAAG,WAAW,WAAW,SAAS;AAAA,UACnC,oBAAC,SAAI,WAAW,WAAW,QAAS,kBAAO;AAAA,WAC7C,IACE;AAAA,SACN;AAAA,MAEF,SAAS,CAAC,MAAM;AACd,UAAE,eAAe;AAAA,MACnB;AAAA,MAEA,8BAAC,UAAK,WAAW,WAAW,SAAU,UAAS;AAAA;AAAA,EACjD;AAEJ;AAEA,IAAO,kBAAQ;;;AC5Jf,IAAOA,mBAAQ;","names":["Tooltip_default"]}
@@ -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/Label/Label.tsx
6
6
  var _chip = require('@heroui/chip');
@@ -16,7 +16,7 @@ var labelVariants = _pixelutils.tv.call(void 0, {
16
16
  icon: ""
17
17
  },
18
18
  variants: {
19
- color: _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
19
+ color: _chunkAHEA4IJVcjs.__spreadValues.call(void 0, {
20
20
  // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/chip.ts
21
21
  info: {
22
22
  dot: "bg-info"
@@ -108,7 +108,7 @@ var Label = ({
108
108
  size,
109
109
  variant,
110
110
  children: [
111
- icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: classNames.icon, children: icon }),
111
+ icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: classNames.icon, children: icon }) : null,
112
112
  children
113
113
  ]
114
114
  }
@@ -124,4 +124,4 @@ var Label_default2 = Label_default;
124
124
 
125
125
 
126
126
  exports.labelVariants = labelVariants; exports.Label_default = Label_default; exports.Label_default2 = Label_default2;
127
- //# sourceMappingURL=chunk-PHQVYJS2.cjs.map
127
+ //# sourceMappingURL=chunk-BPBEZCSP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-BPBEZCSP.cjs","../src/Label/Label.tsx","../src/Label/index.ts"],"names":["Label_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-BPBEZCSP.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ChipProps as HeroLabelProps } from '@heroui/chip';\nimport type { ReactNode } from 'react';\n\nimport { Chip as HeroLabel } from '@heroui/chip';\nimport { chip as heroLabelVariants } from '@heroui/theme';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// label variants\nexport const labelVariants = tv({\n slots: {\n base: '',\n closeButton: '',\n content: '',\n dot: '',\n icon: '',\n },\n variants: {\n color: {\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/chip.ts\n info: {\n dot: 'bg-info',\n },\n ...heroLabelVariants.variants.color,\n },\n isIconOnly: {\n true: {\n content: 'px-1',\n },\n false: {\n content: 'flex items-center gap-2',\n },\n },\n hasEndContent: {\n true: {\n base: 'pr-2',\n },\n },\n variant: heroLabelVariants.variants.variant,\n },\n defaultVariants: heroLabelVariants.defaultVariants,\n compoundVariants: [\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/chip.ts\n ...heroLabelVariants.compoundVariants,\n // solid / color info\n {\n variant: 'solid',\n color: 'info',\n class: {\n base: 'bg-info text-info-foreground',\n },\n },\n // bordered / color info\n {\n variant: 'bordered',\n color: 'info',\n class: {\n base: 'border-info text-info',\n },\n },\n // light / color info\n {\n variant: 'light',\n color: 'info',\n class: {\n base: 'text-info',\n },\n },\n // flat / color info\n {\n variant: 'flat',\n color: 'info',\n class: {\n base: 'bg-info/20 text-info-600',\n },\n },\n // faded / color info\n {\n variant: 'faded',\n color: 'info',\n class: {\n base: 'border-default text-info',\n },\n },\n ],\n});\n\ntype VariantProps = TVProps<typeof labelVariants>;\ntype ClassName = TVClassName<typeof labelVariants>;\n\nexport interface LabelProps extends VariantProps {\n /** content of the label */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** color of the label */\n color?: VariantProps['color'];\n /** element to be rendered in the right side of the label */\n endContent?: HeroLabelProps['endContent'];\n /** optional label icon, when only icon provided without children and endContent */\n icon?: ReactNode;\n /** add close button to endContent */\n onClose?: HeroLabelProps['onClose'];\n /** radius of the label */\n radius?: HeroLabelProps['radius'];\n /** size of the label */\n size?: HeroLabelProps['size'];\n /** style variant of the label */\n variant?: 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'dot';\n}\n\n/**\n * Label component based on [HeroUI Chip](https://www.heroui.com//docs/components/chip)\n */\nconst Label = ({\n children = undefined,\n className: _className = undefined,\n color = 'default',\n endContent = undefined,\n icon = undefined,\n onClose = undefined,\n radius = 'full',\n size = 'md',\n variant = 'solid',\n}: LabelProps) => {\n // determine variants based on props\n const isIconOnly = !!icon && !children && !endContent;\n const hasEndContent = !!endContent;\n\n // classNames from slots\n const variants = labelVariants({ color, isIconOnly, hasEndContent, variant });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroLabel\n classNames={classNames}\n endContent={endContent}\n onClose={onClose}\n radius={radius}\n size={size}\n variant={variant}\n >\n {icon ? <span className={classNames.icon}>{icon}</span> : null}\n {children}\n </HeroLabel>\n );\n};\n\nexport default Label;\n","import Label, { labelVariants } from './Label';\n\nexport type { LabelProps } from './Label';\n\nexport { Label, labelVariants };\n\nexport default Label;\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkD4TLDLEXcjs = require('./chunk-D4TLDLEX.cjs');
4
+ var _chunkAHEA4IJVcjs = require('./chunk-AHEA4IJV.cjs');
5
5
 
6
6
  // src/Menu/Menu.tsx
7
7
  var _fa6 = require('react-icons/fa6');
@@ -22,22 +22,29 @@ var menuVariants = _pixelutils.tv.call(void 0, {
22
22
  }
23
23
  });
24
24
  var getDisabledKeys = (items) => {
25
- return items.map((item) => typeof (item == null ? void 0 : item.items) === "undefined" ? item : item.items).flat().filter((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) => item.key);
29
+ }).map((item) => {
30
+ return item.key;
31
+ });
32
+ };
33
+ var renderMenuItem = (item, itemClassName) => {
34
+ var _a;
35
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36
+ _dropdown.DropdownItem,
37
+ {
38
+ className: _pixelutils.cn.call(void 0, 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__ */ _jsxruntime.jsx.call(void 0,
30
- _dropdown.DropdownItem,
31
- {
32
- className: _pixelutils.cn.call(void 0, 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,
@@ -55,7 +62,7 @@ var Menu = ({
55
62
  if (!children) {
56
63
  triggerButton = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
57
64
  _button.Button,
58
- _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, {
65
+ _chunkAHEA4IJVcjs.__spreadProps.call(void 0, _chunkAHEA4IJVcjs.__spreadValues.call(void 0, {
59
66
  className: _pixelutils.cn.call(void 0, "min-w-0", className.trigger),
60
67
  size: "sm",
61
68
  variant: "flat"
@@ -64,8 +71,7 @@ var Menu = ({
64
71
  })
65
72
  );
66
73
  } else if (triggerButtonProps) {
67
- triggerButton = // eslint-disable-next-line react/jsx-props-no-spreading
68
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _button.Button, _chunkD4TLDLEXcjs.__spreadProps.call(void 0, _chunkD4TLDLEXcjs.__spreadValues.call(void 0, { className: className.trigger }, triggerButtonProps), { children }));
74
+ triggerButton = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _button.Button, _chunkAHEA4IJVcjs.__spreadProps.call(void 0, _chunkAHEA4IJVcjs.__spreadValues.call(void 0, { className: className.trigger }, triggerButtonProps), { children }));
69
75
  }
70
76
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
71
77
  _dropdown.Dropdown,
@@ -78,8 +84,8 @@ var Menu = ({
78
84
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
79
85
  _dropdown.DropdownMenu,
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 @@ var Menu_default2 = Menu_default;
112
118
 
113
119
 
114
120
  exports.Menu_default = Menu_default; exports.Menu_default2 = Menu_default2;
115
- //# sourceMappingURL=chunk-WFR7OUY7.cjs.map
121
+ //# sourceMappingURL=chunk-DLZNJESG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-DLZNJESG.cjs","../src/Menu/Menu.tsx","../src/Menu/index.ts"],"names":["Menu_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-DLZNJESG.cjs","sourcesContent":[null,"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"]}
@@ -1,6 +1,7 @@
1
1
  import {
2
+ __spreadProps,
2
3
  __spreadValues
3
- } from "./chunk-J7N2552D.js";
4
+ } from "./chunk-OAIRL2FN.js";
4
5
 
5
6
  // src/Button/Button.tsx
6
7
  import { Button as HeroButton } from "@heroui/button";
@@ -9,46 +10,49 @@ import { tv } from "@fuf-stack/pixel-utils";
9
10
 
10
11
  // src/Button/subcomponents/LoadingSpinner.tsx
11
12
  import { jsx, jsxs } from "react/jsx-runtime";
12
- var LoadingSpinner_default = () => /* @__PURE__ */ jsxs(
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__ */ jsx(
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__ */ jsx(
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__ */ jsxs(
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__ */ jsx(
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__ */ jsx(
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
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
45
49
  var buttonVariants = tv({
46
- base: "",
50
+ extend: heroButtonVariants,
47
51
  variants: {
48
- color: __spreadValues({
52
+ color: __spreadProps(__spreadValues({}, heroButtonVariants.variants.color), {
49
53
  // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/button.ts
50
54
  info: ""
51
- }, heroButtonVariants.variants.color),
55
+ }),
52
56
  variant: heroButtonVariants.variants.variant,
53
57
  size: heroButtonVariants.variants.size
54
58
  },
@@ -56,13 +60,23 @@ var buttonVariants = tv({
56
60
  // white text on solid / shadow success button
57
61
  {
58
62
  color: "success",
59
- variant: ["solid", "shadow"],
63
+ variant: "solid",
64
+ class: "text-white"
65
+ },
66
+ {
67
+ color: "success",
68
+ variant: "shadow",
60
69
  class: "text-white"
61
70
  },
62
71
  // white text on solid / shadow warning button
63
72
  {
64
73
  color: "warning",
65
- variant: ["solid", "shadow"],
74
+ variant: "solid",
75
+ class: "text-white"
76
+ },
77
+ {
78
+ color: "warning",
79
+ variant: "shadow",
66
80
  class: "text-white"
67
81
  },
68
82
  {
@@ -73,7 +87,7 @@ var buttonVariants = tv({
73
87
  {
74
88
  color: "info",
75
89
  variant: "shadow",
76
- class: 'text-info-foreground" bg-info shadow-info/40 shadow-lg'
90
+ class: "text-info-foreground bg-info shadow-info/40 shadow-lg"
77
91
  },
78
92
  {
79
93
  color: "info",
@@ -105,7 +119,7 @@ var buttonVariants = tv({
105
119
  var Button = ({
106
120
  ariaLabel = void 0,
107
121
  children = void 0,
108
- className = void 0,
122
+ className: _className = void 0,
109
123
  color = "default",
110
124
  disableAnimation = false,
111
125
  disabled = false,
@@ -119,24 +133,27 @@ var Button = ({
119
133
  type = void 0,
120
134
  variant = "solid"
121
135
  }) => {
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
+ });
122
146
  return /* @__PURE__ */ jsxs2(
123
147
  HeroButton,
124
148
  {
125
149
  "aria-label": ariaLabel,
126
- className: buttonVariants({ color, variant, className }),
127
- color,
150
+ className,
128
151
  "data-testid": testId,
129
- disableAnimation,
130
152
  disableRipple: disableAnimation || !ripple,
131
- isDisabled: disabled,
132
- isIconOnly: !!(icon && !children),
133
153
  isLoading: loading,
134
154
  onPress: onClick,
135
- radius,
136
- size,
137
155
  spinner: /* @__PURE__ */ jsx2(LoadingSpinner_default, {}),
138
156
  type,
139
- variant,
140
157
  children: [
141
158
  icon,
142
159
  children
@@ -154,4 +171,4 @@ export {
154
171
  Button_default,
155
172
  Button_default2
156
173
  };
157
- //# sourceMappingURL=chunk-4LMQVFV7.js.map
174
+ //# sourceMappingURL=chunk-F37RLKXJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Button/Button.tsx","../src/Button/subcomponents/LoadingSpinner.tsx","../src/Button/index.ts"],"sourcesContent":["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"],"mappings":"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","names":["jsx","jsxs","Button_default"]}
@@ -51,16 +51,19 @@ var Tabs = ({
51
51
  selectedKey,
52
52
  size,
53
53
  variant,
54
- children: (item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
55
- _tabs.Tab,
56
- {
57
- isDisabled: !!item.disabled,
58
- title: item.label,
59
- "data-testid": _pixelutils.slugify.call(void 0, `${testId}_${item.testId || item.key}`),
60
- children: item.content
61
- },
62
- item.key
63
- )
54
+ children: (item) => {
55
+ var _a;
56
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
57
+ _tabs.Tab,
58
+ {
59
+ "data-testid": _pixelutils.slugify.call(void 0, `${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 @@ var Tabs_default2 = Tabs_default;
74
77
 
75
78
 
76
79
  exports.tabsVariants = tabsVariants; exports.Tabs_default = Tabs_default; exports.Tabs_default2 = Tabs_default2;
77
- //# sourceMappingURL=chunk-RYO74XL7.cjs.map
80
+ //# sourceMappingURL=chunk-G3YTOGEG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-G3YTOGEG.cjs","../src/Tabs/Tabs.tsx","../src/Tabs/index.ts"],"names":[],"mappings":"AAAA;ACGA,oCAAiD;AAEjD,oDAAkD;AA+GxC,+CAAA;AA7GH,IAAM,aAAA,EAAe,4BAAA;AAAG,EAC7B,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,EAAA;AAAA,IACN,MAAA,EAAQ,EAAA;AAAA,IACR,KAAA,EAAO,EAAA;AAAA,IACP,GAAA,EAAK,0CAAA;AAAA,IACL,UAAA,EAAY,iBAAA;AAAA,IACZ,OAAA,EAAS,EAAA;AAAA,IACT,UAAA,EAAY;AAAA,EACd;AACF,CAAC,CAAA;AA0DD,IAAM,KAAA,EAAO,CAAC;AAAA,EACZ,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,mBAAA,EAAqB,KAAA,CAAA;AAAA,EACrB,wBAAA,EAA0B,IAAA;AAAA,EAC1B,iBAAA,EAAmB,KAAA;AAAA,EACnB,aAAA,EAAe,KAAA,CAAA;AAAA,EACf,UAAA,EAAY,IAAA;AAAA,EACZ,kBAAA,EAAoB,KAAA,CAAA;AAAA,EACpB,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,YAAA,EAAc,KAAA,CAAA;AAAA,EACd,KAAA,EAAO,IAAA;AAAA,EACP,IAAA;AAAA,EACA,OAAA,EAAS,KAAA;AAAA,EACT,QAAA,EAAU,OAAA;AAAA,EACV,SAAA,EAAW;AACb,CAAA,EAAA,GAAiB;AACf,EAAA,MAAM,SAAA,EAAW,YAAA,CAAa,CAAA;AAC9B,EAAA,MAAM,WAAA,EAAa,8CAAA,QAAqB,EAAU,SAAA,EAAW,MAAM,CAAA;AAEnE,EAAA,uBACE,6BAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,SAAA;AAAA,MACZ,UAAA;AAAA,MACA,kBAAA;AAAA,MACA,uBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,KAAA,EAAO,KAAA,GAAQ,CAAC,CAAA;AAAA,MAChB,iBAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MAEC,QAAA,EAAA,CAAC,IAAA,EAAA,GAAS;AAlHjB,QAAA,IAAA,EAAA;AAmHQ,QAAA,uBACE,6BAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YAEC,aAAA,EAAa,iCAAA,CAAQ,EAAA;AACF,YAAA;AACP,YAAA;AAEN,YAAA;AAAA,UAAA;AALI,UAAA;AAMZ,QAAA;AAEJ,MAAA;AAAA,IAAA;AACF,EAAA;AAEJ;AAEe;AD5DqB;AACA;AEjErB;AFmEqB;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-G3YTOGEG.cjs","sourcesContent":[null,"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"]}
@@ -46,4 +46,4 @@ var Badge_default2 = Badge_default;
46
46
 
47
47
 
48
48
  exports.Badge_default = Badge_default; exports.Badge_default2 = Badge_default2;
49
- //# sourceMappingURL=chunk-JSANDW3W.cjs.map
49
+ //# sourceMappingURL=chunk-HG7AE6Q2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-HG7AE6Q2.cjs","../src/Badge/Badge.tsx","../src/Badge/index.ts"],"names":["Badge_default"],"mappings":"AAAA;ACIA,sCAAmC;AAEnC,oDAAyC;AAqDrC,+CAAA;AAlDG,IAAM,cAAA,EAAgB,4BAAA;AAAG,EAC9B,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,EAAA;AAAA,IACP,IAAA,EAAM;AAAA,EACR;AACF,CAAC,CAAA;AA2BD,IAAM,OAAA,EAAS,CAAC;AAAA,EACd,QAAA;AAAA,EACA,SAAA,EAAW,WAAA,EAAa,KAAA,CAAA;AAAA,EACxB,QAAA,EAAU,KAAA,CAAA;AAAA,EACV,MAAA,EAAQ,SAAA;AAAA,EACR,UAAA,EAAY,KAAA;AAAA,EACZ,UAAA,EAAY,KAAA;AAAA,EACZ,UAAA,EAAY,WAAA;AAAA,EACZ,KAAA,EAAO;AACT,CAAA,EAAA,GAA6B;AAC3B,EAAA,GAAA,CAAI,QAAA,IAAY,KAAA,CAAA,EAAW;AACzB,IAAA,OAAO,QAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,EAAW,aAAA,CAAc,CAAA;AAC/B,EAAA,MAAM,UAAA,EAAY,8CAAA,QAAqB,EAAU,UAAA,EAAY,MAAM,CAAA;AAEnE,EAAA,uBACE,6BAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,SAAA;AAAA,MACZ,KAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,EAAa,CAAC,SAAA;AAAA,MACd,IAAA;AAAA,MAEC;AAAA,IAAA;AAAA,EACH,CAAA;AAEJ,CAAA;AAEA,IAAO,cAAA,EAAQ,MAAA;ADjCf;AACA;AEnCA,IAAOA,eAAAA,EAAQ,aAAA;AFqCf;AACA;AACE;AACA;AACF,+EAAC","file":"/home/runner/work/pixels/pixels/packages/pixels/dist/chunk-HG7AE6Q2.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { BadgeProps as HeroBadgeProps } from '@heroui/badge';\nimport type { ReactNode } from 'react';\n\nimport { Badge as HeroBadge } from '@heroui/badge';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// badge styling variants\nexport const badgeVariants = tv({\n slots: {\n badge: '',\n base: '',\n },\n});\n\ntype VariantProps = TVProps<typeof badgeVariants>;\ntype ClassName = TVClassName<typeof badgeVariants>;\n\nexport interface BadgeProps extends VariantProps {\n /** component which is wrapped by the batch */\n children: HeroBadgeProps['children'];\n /** CSS class name */\n className?: ClassName;\n /** badge content */\n content?: HeroBadgeProps['content'];\n /** color of the badge */\n color?: HeroBadgeProps['color'];\n /** if set the badge have the same height and width */\n isOneChar?: HeroBadgeProps['isOneChar'];\n /** removes the badge outline */\n noOutline?: boolean;\n /** placement of the badge */\n placement?: HeroBadgeProps['placement'];\n /** size of the badge */\n size?: HeroBadgeProps['size'];\n}\n\n/**\n * Badge component based on [HeroUI Badge](https://www.heroui.com//docs/components/badge)\n */\nconst Avatar = ({\n children,\n className: _className = undefined,\n content = undefined,\n color = 'default',\n isOneChar = false,\n noOutline = false,\n placement = 'top-right',\n size = 'md',\n}: BadgeProps): ReactNode => {\n if (content === undefined) {\n return children;\n }\n // className from slots\n const variants = badgeVariants();\n const className = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroBadge\n classNames={className}\n color={color}\n content={content}\n isOneChar={isOneChar}\n placement={placement}\n showOutline={!noOutline}\n size={size}\n >\n {children}\n </HeroBadge>\n );\n};\n\nexport default Avatar;\n","import Badge from './Badge';\n\nexport type { BadgeProps } from './Badge';\n\nexport { Badge };\n\nexport default Badge;\n"]}
@@ -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