@fuf-stack/pixels 1.11.0 → 1.11.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 (166) hide show
  1. package/dist/Accordion/Accordion.cjs +0 -1
  2. package/dist/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/Accordion/Accordion.d.cts +512 -74
  4. package/dist/Accordion/Accordion.d.cts.map +1 -1
  5. package/dist/Accordion/Accordion.d.ts +512 -74
  6. package/dist/Accordion/Accordion.d.ts.map +1 -1
  7. package/dist/Alert/Alert.cjs +0 -1
  8. package/dist/Alert/Alert.cjs.map +1 -1
  9. package/dist/Alert/Alert.d.cts +395 -109
  10. package/dist/Alert/Alert.d.cts.map +1 -1
  11. package/dist/Alert/Alert.d.ts +395 -109
  12. package/dist/Alert/Alert.d.ts.map +1 -1
  13. package/dist/Avatar/Avatar.cjs +0 -1
  14. package/dist/Avatar/Avatar.cjs.map +1 -1
  15. package/dist/Avatar/Avatar.d.cts +734 -45
  16. package/dist/Avatar/Avatar.d.cts.map +1 -1
  17. package/dist/Avatar/Avatar.d.ts +734 -45
  18. package/dist/Avatar/Avatar.d.ts.map +1 -1
  19. package/dist/AvatarGroup/AvatarGroup.cjs +0 -1
  20. package/dist/AvatarGroup/AvatarGroup.cjs.map +1 -1
  21. package/dist/Badge/Badge.cjs +0 -1
  22. package/dist/Badge/Badge.cjs.map +1 -1
  23. package/dist/Badge/Badge.d.cts +377 -27
  24. package/dist/Badge/Badge.d.cts.map +1 -1
  25. package/dist/Badge/Badge.d.ts +377 -27
  26. package/dist/Badge/Badge.d.ts.map +1 -1
  27. package/dist/Breadcrumb/Breadcrumb.cjs +10 -11
  28. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  29. package/dist/Breadcrumb/Breadcrumb.d.cts +853 -51
  30. package/dist/Breadcrumb/Breadcrumb.d.cts.map +1 -1
  31. package/dist/Breadcrumb/Breadcrumb.d.ts +853 -51
  32. package/dist/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  33. package/dist/Breadcrumb/Breadcrumb.js +10 -10
  34. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  35. package/dist/Button/Button.cjs +0 -1
  36. package/dist/Button/Button.cjs.map +1 -1
  37. package/dist/Button/Button.d.cts +3 -215
  38. package/dist/Button/Button.d.cts.map +1 -1
  39. package/dist/Button/Button.d.ts +3 -215
  40. package/dist/Button/Button.d.ts.map +1 -1
  41. package/dist/Button/Button.js.map +1 -1
  42. package/dist/Button/subcomponents/LoadingSpinner.cjs +0 -1
  43. package/dist/Button/subcomponents/LoadingSpinner.cjs.map +1 -1
  44. package/dist/ButtonGroup/ButtonGroup.cjs +0 -1
  45. package/dist/ButtonGroup/ButtonGroup.cjs.map +1 -1
  46. package/dist/Card/Card.cjs +1 -2
  47. package/dist/Card/Card.cjs.map +1 -1
  48. package/dist/Card/Card.d.cts +734 -45
  49. package/dist/Card/Card.d.cts.map +1 -1
  50. package/dist/Card/Card.d.ts +734 -45
  51. package/dist/Card/Card.d.ts.map +1 -1
  52. package/dist/Card/Card.js +1 -1
  53. package/dist/Card/Card.js.map +1 -1
  54. package/dist/Drawer/Drawer.cjs +0 -1
  55. package/dist/Drawer/Drawer.cjs.map +1 -1
  56. package/dist/Drawer/Drawer.d.cts +972 -57
  57. package/dist/Drawer/Drawer.d.cts.map +1 -1
  58. package/dist/Drawer/Drawer.d.ts +972 -57
  59. package/dist/Drawer/Drawer.d.ts.map +1 -1
  60. package/dist/Json/Json.cjs +30 -23
  61. package/dist/Json/Json.cjs.map +1 -1
  62. package/dist/Json/Json.d.cts.map +1 -1
  63. package/dist/Json/Json.d.ts.map +1 -1
  64. package/dist/Json/Json.js +30 -22
  65. package/dist/Json/Json.js.map +1 -1
  66. package/dist/Json/subcomponents/CopiedRenderer.cjs +3 -4
  67. package/dist/Json/subcomponents/CopiedRenderer.cjs.map +1 -1
  68. package/dist/Json/subcomponents/CopiedRenderer.js +3 -3
  69. package/dist/Json/subcomponents/CopiedRenderer.js.map +1 -1
  70. package/dist/Json/subcomponents/ErrorRenderer.cjs +0 -1
  71. package/dist/Json/subcomponents/ErrorRenderer.cjs.map +1 -1
  72. package/dist/Json/subcomponents/NullRenderer.cjs +0 -1
  73. package/dist/Json/subcomponents/NullRenderer.cjs.map +1 -1
  74. package/dist/Label/Label.cjs +0 -1
  75. package/dist/Label/Label.cjs.map +1 -1
  76. package/dist/Label/Label.d.cts +418 -173
  77. package/dist/Label/Label.d.cts.map +1 -1
  78. package/dist/Label/Label.d.ts +418 -173
  79. package/dist/Label/Label.d.ts.map +1 -1
  80. package/dist/Menu/Menu.cjs +1 -2
  81. package/dist/Menu/Menu.cjs.map +1 -1
  82. package/dist/Menu/Menu.d.cts +377 -27
  83. package/dist/Menu/Menu.d.cts.map +1 -1
  84. package/dist/Menu/Menu.d.ts +377 -27
  85. package/dist/Menu/Menu.d.ts.map +1 -1
  86. package/dist/Menu/Menu.js +1 -1
  87. package/dist/Menu/Menu.js.map +1 -1
  88. package/dist/Menu/VerticalDotsIcon.cjs +0 -1
  89. package/dist/Menu/VerticalDotsIcon.cjs.map +1 -1
  90. package/dist/Modal/Modal.cjs +0 -1
  91. package/dist/Modal/Modal.cjs.map +1 -1
  92. package/dist/Modal/Modal.d.cts +342 -70
  93. package/dist/Modal/Modal.d.cts.map +1 -1
  94. package/dist/Modal/Modal.d.ts +342 -70
  95. package/dist/Modal/Modal.d.ts.map +1 -1
  96. package/dist/Modal/ModalHost.cjs +0 -1
  97. package/dist/Modal/ModalHost.cjs.map +1 -1
  98. package/dist/Modal/modalStore.cjs +0 -1
  99. package/dist/Modal/modalStore.cjs.map +1 -1
  100. package/dist/Popover/Popover.cjs +1 -2
  101. package/dist/Popover/Popover.cjs.map +1 -1
  102. package/dist/Popover/Popover.d.cts +1091 -63
  103. package/dist/Popover/Popover.d.cts.map +1 -1
  104. package/dist/Popover/Popover.d.ts +1091 -63
  105. package/dist/Popover/Popover.d.ts.map +1 -1
  106. package/dist/Popover/Popover.js +1 -1
  107. package/dist/Popover/Popover.js.map +1 -1
  108. package/dist/Progress/Progress.cjs +0 -1
  109. package/dist/Progress/Progress.cjs.map +1 -1
  110. package/dist/Progress/Progress.d.cts +321 -85
  111. package/dist/Progress/Progress.d.cts.map +1 -1
  112. package/dist/Progress/Progress.d.ts +321 -85
  113. package/dist/Progress/Progress.d.ts.map +1 -1
  114. package/dist/ProgressCircular/ProgressCircular.cjs +1 -2
  115. package/dist/ProgressCircular/ProgressCircular.cjs.map +1 -1
  116. package/dist/ProgressCircular/ProgressCircular.d.cts +507 -186
  117. package/dist/ProgressCircular/ProgressCircular.d.cts.map +1 -1
  118. package/dist/ProgressCircular/ProgressCircular.d.ts +507 -186
  119. package/dist/ProgressCircular/ProgressCircular.d.ts.map +1 -1
  120. package/dist/ProgressCircular/ProgressCircular.js +1 -1
  121. package/dist/ProgressCircular/ProgressCircular.js.map +1 -1
  122. package/dist/ScrollShadow/ScrollShadow.cjs +0 -1
  123. package/dist/ScrollShadow/ScrollShadow.cjs.map +1 -1
  124. package/dist/SearchInput/SearchInput.cjs +8 -9
  125. package/dist/SearchInput/SearchInput.cjs.map +1 -1
  126. package/dist/SearchInput/SearchInput.d.cts +615 -39
  127. package/dist/SearchInput/SearchInput.d.cts.map +1 -1
  128. package/dist/SearchInput/SearchInput.d.ts +615 -39
  129. package/dist/SearchInput/SearchInput.d.ts.map +1 -1
  130. package/dist/SearchInput/SearchInput.js +8 -8
  131. package/dist/SearchInput/SearchInput.js.map +1 -1
  132. package/dist/Table/Table.cjs +0 -1
  133. package/dist/Table/Table.cjs.map +1 -1
  134. package/dist/Table/Table.d.cts +514 -96
  135. package/dist/Table/Table.d.cts.map +1 -1
  136. package/dist/Table/Table.d.ts +514 -96
  137. package/dist/Table/Table.d.ts.map +1 -1
  138. package/dist/Tabs/Tabs.cjs +0 -1
  139. package/dist/Tabs/Tabs.cjs.map +1 -1
  140. package/dist/Tabs/Tabs.d.cts +972 -57
  141. package/dist/Tabs/Tabs.d.cts.map +1 -1
  142. package/dist/Tabs/Tabs.d.ts +972 -57
  143. package/dist/Tabs/Tabs.d.ts.map +1 -1
  144. package/dist/Toast/Toaster.cjs +0 -1
  145. package/dist/Toast/Toaster.cjs.map +1 -1
  146. package/dist/Toast/toast.cjs +0 -1
  147. package/dist/Toast/toast.cjs.map +1 -1
  148. package/dist/Tooltip/Tooltip.cjs +6 -7
  149. package/dist/Tooltip/Tooltip.cjs.map +1 -1
  150. package/dist/Tooltip/Tooltip.d.cts +452 -143
  151. package/dist/Tooltip/Tooltip.d.cts.map +1 -1
  152. package/dist/Tooltip/Tooltip.d.ts +452 -143
  153. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  154. package/dist/Tooltip/Tooltip.js +6 -6
  155. package/dist/Tooltip/Tooltip.js.map +1 -1
  156. package/dist/hooks/useDebounce/useDebounce.cjs +0 -1
  157. package/dist/hooks/useDebounce/useDebounce.cjs.map +1 -1
  158. package/dist/hooks/useIsInitialRenderCycle/useIsInitialRenderCycle.cjs +0 -1
  159. package/dist/hooks/useIsInitialRenderCycle/useIsInitialRenderCycle.cjs.map +1 -1
  160. package/dist/hooks/useLocalStorage/useLocalStorage.cjs +0 -1
  161. package/dist/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
  162. package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/comps/useIdCompat.cjs +0 -1
  163. package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/comps/useIdCompat.cjs.map +1 -1
  164. package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/utils/useHighlight.cjs +0 -1
  165. package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/utils/useHighlight.cjs.map +1 -1
  166. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressCircular.d.ts","names":[],"sources":["../../src/ProgressCircular/ProgressCircular.tsx"],"mappings":";;;;cAaa,wBAAA,8BAAwB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4DhC,YAAA,GAAe,OAAO,QAAQ,wBAAA;AAAA,KAC9B,SAAA,GAAY,WAAW,QAAQ,wBAAA;AAAA,UAEnB,qBAAA,SAA8B,YAAA;EA+BrB;EA7BxB,SAAA;EA6BwB;EA3BxB,SAAA,GAAY,SAAA;EA2BY;EAzBxB,KAAA,GAAQ,YAAA;EAyBgB;EAvBxB,gBAAA;EAuBwB;EArBxB,oBAAA;EAqBwB;EAnBxB,MAAA,IAAU,OAAA,cAAqB,SAAA;EAmBP;EAjBxB,QAAA;EAiBwB;EAfxB,OAAA;EAewB;EAbxB,IAAA,GAAO,YAAA;EAaiB;EAXxB,WAAA;AAAA;;;;cAWI,gBAAA;EAAoB,SAAA;EAAA,SAAA;EAAA,MAAA;EAAA,QAAA;EAAA,OAAA;EAAA,gBAAA;EAAA,oBAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA,EAAA;AAAA,GAWvB,qBAAA,iCAAqB,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"ProgressCircular.d.ts","names":[],"sources":["../../src/ProgressCircular/ProgressCircular.tsx"],"mappings":";;;;cAaa,wBAAA,IAAwB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mbA8FX;mbAAA;wbAAA;obAAA;kbAAA;ybAAA;obAAA;obAAA;IAAA;;;;ubA2EzB;;;;;;;;;;;;;;;;;;;;;;;;;;KA7GI,YAAA,GAAe,OAAO,QAAQ,wBAAA;AAAA,KAC9B,SAAA,GAAY,WAAW,QAAQ,wBAAA;AAAA,UAEnB,qBAAA,SAA8B,YAAA;;EAE7C,SAAA;;EAEA,SAAA,GAAY,SAAA;;EAEZ,KAAA,GAAQ,YAAA;;EAER,gBAAA;;EAEA,oBAAA;;EAEA,MAAA,IAAU,OAAA,cAAqB,SAAA;;EAE/B,QAAA;;EAEA,OAAA;;EAEA,IAAA,GAAO,YAAA;;EAEP,WAAA;AAAA;;;;cAWI,gBAAA;EAAoB,SAAA;EAAA,SAAA;EAAA,MAAA;EAAA,QAAA;EAAA,OAAA;EAAA,gBAAA;EAAA,oBAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA,EAAA;AAAA,GAWvB,qBAAA,iCAAqB,GAAA,CAAA,OAAA"}
@@ -84,11 +84,11 @@ const ProgressCircular = ({ ariaLabel = "progress", className = void 0, format =
84
84
  value = /* @__PURE__ */ jsx(FaCheck, { className: "text-success" });
85
85
  }
86
86
  return /* @__PURE__ */ jsx(CircularProgress, {
87
- showValueLabel: true,
88
87
  "aria-label": ariaLabel,
89
88
  classNames,
90
89
  color: Object.keys(circularProgress.variants.color).includes(color) ? progressColor : void 0,
91
90
  disableAnimation: isInitialRenderCycle || disableAnimation,
91
+ showValueLabel: true,
92
92
  strokeWidth,
93
93
  value: percent || 0,
94
94
  valueLabel: value
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressCircular.js","names":["heroCircularProgressVariants","HeroCircularProgress"],"sources":["../../src/ProgressCircular/ProgressCircular.tsx"],"sourcesContent":["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/useIsInitialRenderCycle';\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"],"mappings":";;;;;;;AAaA,MAAa,2BAA2B,GAAG;CACzC,OAAO;EAEL,MAAM;EAEN,WAAW;EAEX,OAAO;EAEP,KAAK;EAEL,YAAY;EAEZ,OAAO;EAEP,OAAO;CACT;CACA,UAAU;EACR,OAAO;GACL,MAAM,EACJ,KAAK,YACP;GAEA,GAAGA,iBAA6B,SAAS;EAC3C;EACA,UAAU,EACR,MAAM,EACJ,KAAK,cACP,EACF;EACA,YAAY,EACV,MAAM,EACJ,KAAK,eACP,EACF;EACA,MAAM;GACJ,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;EACF;CACF;AACF,CAAC;;AA6BD,MAAM,iBAAiB,UAAU,MAAM;CACrC,OAAO,GAAG,QAAQ;AACpB;;;;AAKA,MAAM,oBAAoB,EACxB,YAAY,YACZ,YAAY,KAAA,GACZ,SAAS,eACT,WAAW,OACX,SACA,mBAAmB,OACnB,uBAAuB,OACvB,OAAO,MACP,QAAQ,QACR,aAAa,kBAAkB,KAAA,QACJ;CAE3B,MAAM,uBAAuB,wBAAwB;CAGrD,MAAM,aAAa,CAAC,YAAY,WAAW,OAAO,CAAC;CAQnD,MAAM,aAAa,qBANF,yBAAyB;EACxC;EACA;EACA;EACA;CACF,CAC+C,GAAG,WAAW,MAAM;CAGnE,IAAI,QAAQ,OAAO,OAAO;CAE1B,IAAI,cAAc;CAElB,IAAI,CAAC,aACH,QAAQ,MAAR;EACE,KAAK;GACH,cAAc;GACd;EACF,KAAK;GACH,cAAc;GACd;EACF;GACE,cAAc;GACd;CACJ;CAIF,IAAI,gBAAuC;CAC3C,IAAI,UAAU;EACZ,gBAAgB;EAChB,QAAQ,oBAAC,SAAD,EAAS,WAAU,cAAe,CAAA;CAC5C,OAAO,IAAI,YAAY;EACrB,gBAAgB;EAChB,QAAQ,oBAAC,SAAD,EAAS,WAAU,eAAgB,CAAA;CAC7C;CASA,OACE,oBAACC,kBAAD;EACE,gBAAA;EACA,cAAY;EACA;EACZ,OAXgB,OAAO,KACzBD,iBAA6B,SAAS,KACxC,EAAE,SAAS,KAAK,IACX,gBACD,KAAA;EAQA,kBAAkB,wBAAwB;EAC7B;EAEb,OAAO,WAAW;EAClB,YAAY;CACb,CAAA;AAEL"}
1
+ {"version":3,"file":"ProgressCircular.js","names":["heroCircularProgressVariants","HeroCircularProgress"],"sources":["../../src/ProgressCircular/ProgressCircular.tsx"],"sourcesContent":["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/useIsInitialRenderCycle';\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 aria-label={ariaLabel}\n classNames={classNames}\n color={heroUiColor}\n disableAnimation={isInitialRenderCycle || disableAnimation}\n showValueLabel\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"],"mappings":";;;;;;;AAaA,MAAa,2BAA2B,GAAG;CACzC,OAAO;EAEL,MAAM;EAEN,WAAW;EAEX,OAAO;EAEP,KAAK;EAEL,YAAY;EAEZ,OAAO;EAEP,OAAO;CACT;CACA,UAAU;EACR,OAAO;GACL,MAAM,EACJ,KAAK,YACP;GAEA,GAAGA,iBAA6B,SAAS;EAC3C;EACA,UAAU,EACR,MAAM,EACJ,KAAK,cACP,EACF;EACA,YAAY,EACV,MAAM,EACJ,KAAK,eACP,EACF;EACA,MAAM;GACJ,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;GACA,IAAI;IACF,KAAK;IACL,OAAO;GACT;EACF;CACF;AACF,CAAC;;AA6BD,MAAM,iBAAiB,UAAU,MAAM;CACrC,OAAO,GAAG,QAAQ;AACpB;;;;AAKA,MAAM,oBAAoB,EACxB,YAAY,YACZ,YAAY,KAAA,GACZ,SAAS,eACT,WAAW,OACX,SACA,mBAAmB,OACnB,uBAAuB,OACvB,OAAO,MACP,QAAQ,QACR,aAAa,kBAAkB,KAAA,QACJ;CAE3B,MAAM,uBAAuB,wBAAwB;CAGrD,MAAM,aAAa,CAAC,YAAY,WAAW,OAAO,CAAC;CAQnD,MAAM,aAAa,qBANF,yBAAyB;EACxC;EACA;EACA;EACA;CACF,CAC+C,GAAG,WAAW,MAAM;CAGnE,IAAI,QAAQ,OAAO,OAAO;CAE1B,IAAI,cAAc;CAElB,IAAI,CAAC,aACH,QAAQ,MAAR;EACE,KAAK;GACH,cAAc;GACd;EACF,KAAK;GACH,cAAc;GACd;EACF;GACE,cAAc;GACd;CACJ;CAIF,IAAI,gBAAuC;CAC3C,IAAI,UAAU;EACZ,gBAAgB;EAChB,QAAQ,oBAAC,SAAD,EAAS,WAAU,cAAe,CAAA;CAC5C,OAAO,IAAI,YAAY;EACrB,gBAAgB;EAChB,QAAQ,oBAAC,SAAD,EAAS,WAAU,eAAgB,CAAA;CAC7C;CASA,OACE,oBAACC,kBAAD;EACE,cAAY;EACA;EACZ,OAVgB,OAAO,KACzBD,iBAA6B,SAAS,KACxC,EAAE,SAAS,KAAK,IACX,gBACD,KAAA;EAOA,kBAAkB,wBAAwB;EAC1C,gBAAA;EACa;EAEb,OAAO,WAAW;EAClB,YAAY;CACb,CAAA;AAEL"}
@@ -1,4 +1,3 @@
1
- require("../_virtual/_rolldown/runtime.cjs");
2
1
  let _fuf_stack_pixel_utils = require("@fuf-stack/pixel-utils");
3
2
  let react_jsx_runtime = require("react/jsx-runtime");
4
3
  let _heroui_scroll_shadow = require("@heroui/scroll-shadow");
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollShadow.cjs","names":["ScrollShadow"],"sources":["../../src/ScrollShadow/ScrollShadow.tsx"],"sourcesContent":["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"],"mappings":";;;;;;;;AAwBA,IAAA,wBAAgB,EACd,WAAW,MACX,YAAY,KAAA,GACZ,gBAAgB,OAChB,cAAc,YACd,OAAO,IACP,SAAS,KAAA,QACc;CACvB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,cAAD;EACE,YAAA,GAAA,uBAAA,IAAc,SAAS;EACvB,eAAa;EACE;EACF;EACP;EAEL;CACW,CAAA;AAElB"}
1
+ {"version":3,"file":"ScrollShadow.cjs","names":["ScrollShadow"],"sources":["../../src/ScrollShadow/ScrollShadow.tsx"],"sourcesContent":["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"],"mappings":";;;;;;;AAwBA,IAAA,wBAAgB,EACd,WAAW,MACX,YAAY,KAAA,GACZ,gBAAgB,OAChB,cAAc,YACd,OAAO,IACP,SAAS,KAAA,QACc;CACvB,OACE,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,cAAD;EACE,YAAA,GAAA,uBAAA,IAAc,SAAS;EACvB,eAAa;EACE;EACF;EACP;EAEL;CACW,CAAA;AAElB"}
@@ -1,4 +1,3 @@
1
- require("../_virtual/_rolldown/runtime.cjs");
2
1
  let _fuf_stack_pixel_utils = require("@fuf-stack/pixel-utils");
3
2
  let react_jsx_runtime = require("react/jsx-runtime");
4
3
  let react = require("react");
@@ -26,10 +25,16 @@ const SearchInput = ({ className: _className = void 0, disabled = false, endCont
26
25
  };
27
26
  const classNames = (0, _fuf_stack_pixel_utils.variantsToClassNames)(inputVariants(), _className, "base");
28
27
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_heroui_input.Input, {
29
- isClearable: true,
30
28
  autoComplete: "off",
29
+ classNames: {
30
+ base: classNames.base,
31
+ clearButton: classNames.clearButton,
32
+ input: classNames.input,
33
+ inputWrapper: classNames.inputWrapper
34
+ },
31
35
  "data-testid": testId ? (0, _fuf_stack_pixel_utils.slugify)(testId) : void 0,
32
36
  endContent,
37
+ isClearable: true,
33
38
  isDisabled: disabled,
34
39
  onChange: handleChange,
35
40
  onClear: handleChange,
@@ -38,13 +43,7 @@ const SearchInput = ({ className: _className = void 0, disabled = false, endCont
38
43
  size,
39
44
  startContent: startContent ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_icons_fa.FaSearch, { className: "opacity-50" }),
40
45
  value,
41
- variant: "bordered",
42
- classNames: {
43
- base: classNames.base,
44
- clearButton: classNames.clearButton,
45
- input: classNames.input,
46
- inputWrapper: classNames.inputWrapper
47
- }
46
+ variant: "bordered"
48
47
  });
49
48
  };
50
49
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.cjs","names":["HeroInput","FaSearch"],"sources":["../../src/SearchInput/SearchInput.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ChangeEvent, ReactNode } from 'react';\n\nimport { useState } from 'react';\nimport { FaSearch } from 'react-icons/fa';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// input variants\nexport const inputVariants = tv({\n slots: {\n /** wrapper around the whole input */\n base: '',\n /** clear button */\n clearButton: '',\n /** actual input element */\n input: '',\n /** inner wrapper (HeroUI inputWrapper slot) */\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n },\n});\n\ntype VariantProps = TVProps<typeof inputVariants>;\ntype ClassName = TVClassName<typeof inputVariants>;\n\nexport interface SearchInputProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** optional initial value of the input */\n initialValue?: string;\n /** callback that is fired when the value is changed or cleared */\n onChange: (value: string | null) => void;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * SearchInput component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst SearchInput = ({\n className: _className = undefined,\n disabled = false,\n endContent = undefined,\n onChange,\n placeholder = undefined,\n size = undefined,\n startContent = undefined,\n testId = undefined,\n initialValue = undefined,\n}: SearchInputProps) => {\n // handle controlled value with initial value\n const [value, setValue] = useState(initialValue ?? '');\n\n const handleChange = (e?: ChangeEvent<HTMLInputElement>) => {\n setValue(e?.target?.value ?? '');\n onChange(e?.target?.value ?? null);\n };\n\n // classNames from slots\n const variants = inputVariants();\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroInput\n isClearable\n // disable password manager integrations\n autoComplete=\"off\"\n data-testid={testId ? slugify(testId) : undefined}\n endContent={endContent}\n isDisabled={disabled}\n onChange={handleChange}\n onClear={handleChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent ?? <FaSearch className=\"opacity-50\" />}\n value={value}\n variant=\"bordered\"\n classNames={{\n base: classNames.base,\n clearButton: classNames.clearButton,\n input: classNames.input,\n inputWrapper: classNames.inputWrapper,\n }}\n />\n );\n};\n\nexport default SearchInput;\n"],"mappings":";;;;;;;AAWA,MAAa,iBAAA,GAAA,uBAAA,IAAmB,EAC9B,OAAO;;CAEL,MAAM;;CAEN,aAAa;;CAEb,OAAO;;CAEP,cAAc;AAChB,EACF,CAAC;;;;AA6BD,MAAM,eAAe,EACnB,WAAW,aAAa,KAAA,GACxB,WAAW,OACX,aAAa,KAAA,GACb,UACA,cAAc,KAAA,GACd,OAAO,KAAA,GACP,eAAe,KAAA,GACf,SAAS,KAAA,GACT,eAAe,KAAA,QACO;CAEtB,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAAqB,gBAAgB,EAAE;CAErD,MAAM,gBAAgB,MAAsC;EAC1D,SAAS,GAAG,QAAQ,SAAS,EAAE;EAC/B,SAAS,GAAG,QAAQ,SAAS,IAAI;CACnC;CAIA,MAAM,cAAA,GAAA,uBAAA,sBADW,cAC8B,GAAG,YAAY,MAAM;CAEpE,OACE,iBAAA,GAAA,kBAAA,KAACA,cAAAA,OAAD;EACE,aAAA;EAEA,cAAa;EACb,eAAa,UAAA,GAAA,uBAAA,SAAiB,MAAM,IAAI,KAAA;EAC5B;EACZ,YAAY;EACZ,UAAU;EACV,SAAS;EACI;EACb,QAAO;EACD;EACN,cAAc,gBAAgB,iBAAA,GAAA,kBAAA,KAACC,eAAAA,UAAD,EAAU,WAAU,aAAc,CAAA;EACzD;EACP,SAAQ;EACR,YAAY;GACV,MAAM,WAAW;GACjB,aAAa,WAAW;GACxB,OAAO,WAAW;GAClB,cAAc,WAAW;EAC3B;CACD,CAAA;AAEL"}
1
+ {"version":3,"file":"SearchInput.cjs","names":["HeroInput","FaSearch"],"sources":["../../src/SearchInput/SearchInput.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ChangeEvent, ReactNode } from 'react';\n\nimport { useState } from 'react';\nimport { FaSearch } from 'react-icons/fa';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// input variants\nexport const inputVariants = tv({\n slots: {\n /** wrapper around the whole input */\n base: '',\n /** clear button */\n clearButton: '',\n /** actual input element */\n input: '',\n /** inner wrapper (HeroUI inputWrapper slot) */\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n },\n});\n\ntype VariantProps = TVProps<typeof inputVariants>;\ntype ClassName = TVClassName<typeof inputVariants>;\n\nexport interface SearchInputProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** optional initial value of the input */\n initialValue?: string;\n /** callback that is fired when the value is changed or cleared */\n onChange: (value: string | null) => void;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * SearchInput component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst SearchInput = ({\n className: _className = undefined,\n disabled = false,\n endContent = undefined,\n onChange,\n placeholder = undefined,\n size = undefined,\n startContent = undefined,\n testId = undefined,\n initialValue = undefined,\n}: SearchInputProps) => {\n // handle controlled value with initial value\n const [value, setValue] = useState(initialValue ?? '');\n\n const handleChange = (e?: ChangeEvent<HTMLInputElement>) => {\n setValue(e?.target?.value ?? '');\n onChange(e?.target?.value ?? null);\n };\n\n // classNames from slots\n const variants = inputVariants();\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroInput\n // disable password manager integrations\n autoComplete=\"off\"\n classNames={{\n base: classNames.base,\n clearButton: classNames.clearButton,\n input: classNames.input,\n inputWrapper: classNames.inputWrapper,\n }}\n data-testid={testId ? slugify(testId) : undefined}\n endContent={endContent}\n isClearable\n isDisabled={disabled}\n onChange={handleChange}\n onClear={handleChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent ?? <FaSearch className=\"opacity-50\" />}\n value={value}\n variant=\"bordered\"\n />\n );\n};\n\nexport default SearchInput;\n"],"mappings":";;;;;;AAWA,MAAa,iBAAA,GAAA,uBAAA,IAAmB,EAC9B,OAAO;;CAEL,MAAM;;CAEN,aAAa;;CAEb,OAAO;;CAEP,cAAc;AAChB,EACF,CAAC;;;;AA6BD,MAAM,eAAe,EACnB,WAAW,aAAa,KAAA,GACxB,WAAW,OACX,aAAa,KAAA,GACb,UACA,cAAc,KAAA,GACd,OAAO,KAAA,GACP,eAAe,KAAA,GACf,SAAS,KAAA,GACT,eAAe,KAAA,QACO;CAEtB,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAAqB,gBAAgB,EAAE;CAErD,MAAM,gBAAgB,MAAsC;EAC1D,SAAS,GAAG,QAAQ,SAAS,EAAE;EAC/B,SAAS,GAAG,QAAQ,SAAS,IAAI;CACnC;CAIA,MAAM,cAAA,GAAA,uBAAA,sBADW,cAC8B,GAAG,YAAY,MAAM;CAEpE,OACE,iBAAA,GAAA,kBAAA,KAACA,cAAAA,OAAD;EAEE,cAAa;EACb,YAAY;GACV,MAAM,WAAW;GACjB,aAAa,WAAW;GACxB,OAAO,WAAW;GAClB,cAAc,WAAW;EAC3B;EACA,eAAa,UAAA,GAAA,uBAAA,SAAiB,MAAM,IAAI,KAAA;EAC5B;EACZ,aAAA;EACA,YAAY;EACZ,UAAU;EACV,SAAS;EACI;EACb,QAAO;EACD;EACN,cAAc,gBAAgB,iBAAA,GAAA,kBAAA,KAACC,eAAAA,UAAD,EAAU,WAAU,aAAc,CAAA;EACzD;EACP,SAAQ;CACT,CAAA;AAEL"}