@betterlb/kapwa 1.1.11 → 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 (70) hide show
  1. package/dist/{utils-BWXuiikn.js → index-CRZxS9UL.js} +3 -3
  2. package/dist/index-CRZxS9UL.js.map +1 -0
  3. package/dist/{utils-GVl92sVg.cjs → index-GVl92sVg.cjs} +1 -1
  4. package/dist/index-GVl92sVg.cjs.map +1 -0
  5. package/dist/kapwa/article/index.d.ts +24 -0
  6. package/dist/kapwa/article/index.tsx.cjs +2 -0
  7. package/dist/kapwa/article/index.tsx.cjs.map +1 -0
  8. package/dist/kapwa/article/index.tsx.js +36 -0
  9. package/dist/kapwa/article/index.tsx.js.map +1 -0
  10. package/dist/kapwa/banner/index.tsx.cjs +1 -1
  11. package/dist/kapwa/banner/index.tsx.cjs.map +1 -1
  12. package/dist/kapwa/banner/index.tsx.js +1 -1
  13. package/dist/kapwa/banner/index.tsx.js.map +1 -1
  14. package/dist/kapwa/button/hooks/index.ts.cjs.map +1 -1
  15. package/dist/kapwa/button/hooks/index.ts.js.map +1 -1
  16. package/dist/kapwa/button/index.tsx.cjs +1 -1
  17. package/dist/kapwa/button/index.tsx.cjs.map +1 -1
  18. package/dist/kapwa/button/index.tsx.js +1 -1
  19. package/dist/kapwa/button/index.tsx.js.map +1 -1
  20. package/dist/kapwa/card/index.tsx.cjs +1 -1
  21. package/dist/kapwa/card/index.tsx.cjs.map +1 -1
  22. package/dist/kapwa/card/index.tsx.js +1 -1
  23. package/dist/kapwa/card/index.tsx.js.map +1 -1
  24. package/dist/kapwa/civic-tech-banner/index.d.ts +22 -0
  25. package/dist/kapwa/civic-tech-banner/index.tsx.cjs +2 -0
  26. package/dist/kapwa/civic-tech-banner/index.tsx.cjs.map +1 -0
  27. package/dist/kapwa/civic-tech-banner/index.tsx.js +45 -0
  28. package/dist/kapwa/civic-tech-banner/index.tsx.js.map +1 -0
  29. package/dist/kapwa/index.d.ts +11 -0
  30. package/dist/kapwa/input/index.tsx.cjs +1 -1
  31. package/dist/kapwa/input/index.tsx.cjs.map +1 -1
  32. package/dist/kapwa/input/index.tsx.js +1 -1
  33. package/dist/kapwa/input/index.tsx.js.map +1 -1
  34. package/dist/kapwa/label/index.tsx.cjs +1 -1
  35. package/dist/kapwa/label/index.tsx.cjs.map +1 -1
  36. package/dist/kapwa/label/index.tsx.js +1 -1
  37. package/dist/kapwa/label/index.tsx.js.map +1 -1
  38. package/dist/kapwa/list/index.d.ts +21 -0
  39. package/dist/kapwa/list/index.tsx.cjs +27 -0
  40. package/dist/kapwa/list/index.tsx.cjs.map +1 -0
  41. package/dist/kapwa/list/index.tsx.js +140 -0
  42. package/dist/kapwa/list/index.tsx.js.map +1 -0
  43. package/dist/kapwa/strip-banner/index.d.ts +22 -0
  44. package/dist/kapwa/strip-banner/index.tsx.cjs +2 -0
  45. package/dist/kapwa/strip-banner/index.tsx.cjs.map +1 -0
  46. package/dist/kapwa/strip-banner/index.tsx.js +39 -0
  47. package/dist/kapwa/strip-banner/index.tsx.js.map +1 -0
  48. package/dist/kapwa/table/index.d.ts +13 -0
  49. package/dist/kapwa/table/index.tsx.cjs +2 -0
  50. package/dist/kapwa/table/index.tsx.cjs.map +1 -0
  51. package/dist/kapwa/table/index.tsx.js +37 -0
  52. package/dist/kapwa/table/index.tsx.js.map +1 -0
  53. package/dist/kapwa/utils/index.ts.cjs +2 -0
  54. package/dist/kapwa/utils/index.ts.cjs.map +1 -0
  55. package/dist/kapwa/utils/index.ts.js +8 -0
  56. package/dist/kapwa/utils/index.ts.js.map +1 -0
  57. package/dist/kapwa.css +61 -269
  58. package/package.json +57 -20
  59. package/dist/index.cjs +0 -2
  60. package/dist/index.cjs.map +0 -1
  61. package/dist/index.d.ts +0 -6
  62. package/dist/index.js +0 -22
  63. package/dist/index.js.map +0 -1
  64. package/dist/lib/utils.cjs +0 -2
  65. package/dist/lib/utils.cjs.map +0 -1
  66. package/dist/lib/utils.js +0 -8
  67. package/dist/lib/utils.js.map +0 -1
  68. package/dist/utils-BWXuiikn.js.map +0 -1
  69. package/dist/utils-GVl92sVg.cjs.map +0 -1
  70. /package/dist/{lib/utils.d.ts → kapwa/utils/index.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.js","sources":["../../../src/kapwa/banner/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@lib/utils';\nimport { Button } from '../button';\n\nexport type BannerType = 'info' | 'warning' | 'error' | 'success' | 'default';\n\nexport interface BannerProps {\n title?: string;\n description: string;\n type?: BannerType;\n icon?: boolean;\n cta?:\n | {\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n }\n | Array<{\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n }>;\n className?: string;\n onDismiss?: () => void;\n titleSize?: 'sm' | 'md' | 'lg';\n}\n\nconst Banner: React.FC<BannerProps> = ({\n title,\n description,\n type = 'default',\n icon = false,\n cta,\n className,\n onDismiss,\n titleSize = 'lg',\n}) => {\n const typeStyles = {\n success: {\n container: 'bg-green-50 border border-green-200',\n icon: 'text-green-600',\n title: 'text-green-800',\n description: 'text-green-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n error: {\n container: 'bg-red-50 border border-red-200',\n icon: 'text-red-600',\n title: 'text-red-800',\n description: 'text-red-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n warning: {\n container: 'bg-yellow-50 border border-yellow-200',\n icon: 'text-yellow-600',\n title: 'text-yellow-800',\n description: 'text-yellow-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n info: {\n container: 'bg-blue-50 border border-blue-200',\n icon: 'text-blue-600',\n title: 'text-blue-800',\n description: 'text-blue-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n default: {\n container: 'bg-gray-50 border border-gray-200',\n icon: 'text-gray-600',\n title: 'text-gray-900',\n description: 'text-gray-800',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n };\n\n const titleSizes = {\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-xl',\n };\n\n const getButtonStyling = (\n variant: string = 'primary',\n size: string = 'lg'\n ) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost:\n 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n return cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant as keyof typeof variants],\n sizes[size as keyof typeof sizes],\n 'shadow-xs'\n );\n };\n\n const currentStyles = typeStyles[type];\n\n // Helper function to render a single CTA button\n const renderCTAButton = (\n ctaItem: {\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n },\n index: number\n ) => {\n if (ctaItem.href) {\n return (\n <a\n key={index}\n href={ctaItem.href}\n className={getButtonStyling(ctaItem.variant, ctaItem.size)}\n >\n {ctaItem.label}\n </a>\n );\n }\n\n return (\n <Button\n key={index}\n onClick={ctaItem.onClick}\n variant={ctaItem.variant || 'primary'}\n size={ctaItem.size || 'md'}\n >\n {ctaItem.label}\n </Button>\n );\n };\n\n // CTA button (for banner with button layout)\n if (cta) {\n const ctaArray = Array.isArray(cta) ? cta : [cta];\n\n return (\n <div\n className={cn(\n 'relative rounded-lg p-4',\n currentStyles.container,\n className\n )}\n >\n <div className='md:flex items-center'>\n <div\n className={cn(\n 'mb-6 md:mb-0 md:w-2/3 md:pr-8',\n onDismiss ? 'pr-10 md:pr-8' : ''\n )}\n >\n {title && (\n <h3\n className={cn(\n 'font-semibold mb-2',\n currentStyles.title,\n titleSizes[titleSize]\n )}\n >\n {title}\n </h3>\n )}\n <p className={currentStyles.description}>{description}</p>\n </div>\n <div className='md:w-1/3 flex justify-center md:justify-end'>\n <div className='flex space-x-2 items-center'>\n {ctaArray.map((ctaItem, index) =>\n renderCTAButton(ctaItem, index)\n )}\n {onDismiss && (\n <button\n onClick={onDismiss}\n className='absolute top-2 right-2 md:relative md:top-auto md:right-auto rounded-md p-2 transition-colors hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2'\n aria-label='Dismiss banner'\n >\n <svg\n className='w-4 h-4 opacity-60'\n fill='currentColor'\n viewBox='0 0 20 20'\n >\n <path\n fillRule='evenodd'\n d='M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z'\n clipRule='evenodd'\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n // Standard banner layout (with or without icon)\n return (\n <div\n className={cn(\n 'relative flex justify-between rounded-lg p-4',\n currentStyles.container,\n className\n )}\n >\n {onDismiss && (\n <button\n onClick={onDismiss}\n className='absolute top-2 right-2 md:relative md:top-auto md:right-auto md:flex md:items-center md:justify-end md:ml-3 flex-shrink-0 rounded-md p-2 transition-colors hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2'\n aria-label='Dismiss banner'\n >\n <svg\n className='w-4 h-4 opacity-60'\n fill='currentColor'\n viewBox='0 0 20 20'\n >\n <path\n fillRule='evenodd'\n d='M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z'\n clipRule='evenodd'\n />\n </svg>\n </button>\n )}\n <div\n className={cn(\n 'flex items-center',\n title ? 'items-start' : 'items-center',\n onDismiss ? 'pr-10 md:pr-0' : ''\n )}\n >\n {icon && (\n <div className={cn('mr-3', title ? 'mt-1' : '', currentStyles.icon)}>\n {currentStyles.iconSvg}\n </div>\n )}\n\n <div className='flex-1'>\n {title && (\n <h3\n className={cn(\n 'font-semibold',\n currentStyles.title,\n titleSizes[titleSize]\n )}\n >\n {title}\n </h3>\n )}\n <p className={cn(currentStyles.description, 'text-sm')}>\n {description}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport { Banner };\n"],"names":["Banner","title","description","type","icon","cta","className","onDismiss","titleSize","typeStyles","jsx","titleSizes","getButtonStyling","variant","size","variants","sizes","cn","currentStyles","renderCTAButton","ctaItem","index","Button","ctaArray","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.tsx.js","sources":["../../../src/lib/kapwa/banner/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\nimport { Button } from '@kapwa/button';\n\nexport type BannerType = 'info' | 'warning' | 'error' | 'success' | 'default';\n\nexport interface BannerProps {\n title?: string;\n description: string;\n type?: BannerType;\n icon?: boolean;\n cta?:\n | {\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n }\n | Array<{\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n }>;\n className?: string;\n onDismiss?: () => void;\n titleSize?: 'sm' | 'md' | 'lg';\n}\n\nconst Banner: React.FC<BannerProps> = ({\n title,\n description,\n type = 'default',\n icon = false,\n cta,\n className,\n onDismiss,\n titleSize = 'lg',\n}) => {\n const typeStyles = {\n success: {\n container: 'bg-green-50 border border-green-200',\n icon: 'text-green-600',\n title: 'text-green-800',\n description: 'text-green-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n error: {\n container: 'bg-red-50 border border-red-200',\n icon: 'text-red-600',\n title: 'text-red-800',\n description: 'text-red-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n warning: {\n container: 'bg-yellow-50 border border-yellow-200',\n icon: 'text-yellow-600',\n title: 'text-yellow-800',\n description: 'text-yellow-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n info: {\n container: 'bg-blue-50 border border-blue-200',\n icon: 'text-blue-600',\n title: 'text-blue-800',\n description: 'text-blue-700',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n default: {\n container: 'bg-gray-50 border border-gray-200',\n icon: 'text-gray-600',\n title: 'text-gray-900',\n description: 'text-gray-800',\n iconSvg: (\n <svg\n className='h-6 w-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'\n />\n </svg>\n ),\n },\n };\n\n const titleSizes = {\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-xl',\n };\n\n const getButtonStyling = (\n variant: string = 'primary',\n size: string = 'lg'\n ) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost:\n 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n return cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant as keyof typeof variants],\n sizes[size as keyof typeof sizes],\n 'shadow-xs'\n );\n };\n\n const currentStyles = typeStyles[type];\n\n // Helper function to render a single CTA button\n const renderCTAButton = (\n ctaItem: {\n label: string;\n onClick: () => void;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n },\n index: number\n ) => {\n if (ctaItem.href) {\n return (\n <a\n key={index}\n href={ctaItem.href}\n className={getButtonStyling(ctaItem.variant, ctaItem.size)}\n >\n {ctaItem.label}\n </a>\n );\n }\n\n return (\n <Button\n key={index}\n onClick={ctaItem.onClick}\n variant={ctaItem.variant || 'primary'}\n size={ctaItem.size || 'md'}\n >\n {ctaItem.label}\n </Button>\n );\n };\n\n // CTA button (for banner with button layout)\n if (cta) {\n const ctaArray = Array.isArray(cta) ? cta : [cta];\n\n return (\n <div\n className={cn(\n 'relative rounded-lg p-4',\n currentStyles.container,\n className\n )}\n >\n <div className='md:flex items-center'>\n <div\n className={cn(\n 'mb-6 md:mb-0 md:w-2/3 md:pr-8',\n onDismiss ? 'pr-10 md:pr-8' : ''\n )}\n >\n {title && (\n <h3\n className={cn(\n 'font-semibold mb-2',\n currentStyles.title,\n titleSizes[titleSize]\n )}\n >\n {title}\n </h3>\n )}\n <p className={currentStyles.description}>{description}</p>\n </div>\n <div className='md:w-1/3 flex justify-center md:justify-end'>\n <div className='flex space-x-2 items-center'>\n {ctaArray.map((ctaItem, index) =>\n renderCTAButton(ctaItem, index)\n )}\n {onDismiss && (\n <button\n onClick={onDismiss}\n className='absolute top-2 right-2 md:relative md:top-auto md:right-auto rounded-md p-2 transition-colors hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2'\n aria-label='Dismiss banner'\n >\n <svg\n className='w-4 h-4 opacity-60'\n fill='currentColor'\n viewBox='0 0 20 20'\n >\n <path\n fillRule='evenodd'\n d='M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z'\n clipRule='evenodd'\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n // Standard banner layout (with or without icon)\n return (\n <div\n className={cn(\n 'relative flex justify-between rounded-lg p-4',\n currentStyles.container,\n className\n )}\n >\n {onDismiss && (\n <button\n onClick={onDismiss}\n className='absolute top-2 right-2 md:relative md:top-auto md:right-auto md:flex md:items-center md:justify-end md:ml-3 flex-shrink-0 rounded-md p-2 transition-colors hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2'\n aria-label='Dismiss banner'\n >\n <svg\n className='w-4 h-4 opacity-60'\n fill='currentColor'\n viewBox='0 0 20 20'\n >\n <path\n fillRule='evenodd'\n d='M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z'\n clipRule='evenodd'\n />\n </svg>\n </button>\n )}\n <div\n className={cn(\n 'flex items-center',\n title ? 'items-start' : 'items-center',\n onDismiss ? 'pr-10 md:pr-0' : ''\n )}\n >\n {icon && (\n <div className={cn('mr-3', title ? 'mt-1' : '', currentStyles.icon)}>\n {currentStyles.iconSvg}\n </div>\n )}\n\n <div className='flex-1'>\n {title && (\n <h3\n className={cn(\n 'font-semibold',\n currentStyles.title,\n titleSizes[titleSize]\n )}\n >\n {title}\n </h3>\n )}\n <p className={cn(currentStyles.description, 'text-sm')}>\n {description}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport { Banner };\n"],"names":["Banner","title","description","type","icon","cta","className","onDismiss","titleSize","typeStyles","jsx","titleSizes","getButtonStyling","variant","size","variants","sizes","cn","currentStyles","renderCTAButton","ctaItem","index","Button","ctaArray","jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.ts.cjs","sources":["../../../../src/kapwa/button/hooks/index.ts"],"sourcesContent":["export const useTestHook = () => {};\n"],"names":["useTestHook"],"mappings":"gFAAO,MAAMA,EAAc,IAAM,CAAC"}
1
+ {"version":3,"file":"index.ts.cjs","sources":["../../../../src/lib/kapwa/button/hooks/index.ts"],"sourcesContent":["export const useTestHook = () => {};\n"],"names":["useTestHook"],"mappings":"gFAAO,MAAMA,EAAc,IAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.ts.js","sources":["../../../../src/kapwa/button/hooks/index.ts"],"sourcesContent":["export const useTestHook = () => {};\n"],"names":["useTestHook"],"mappings":"AAAO,MAAMA,IAAc,MAAM;AAAC;"}
1
+ {"version":3,"file":"index.ts.js","sources":["../../../../src/lib/kapwa/button/hooks/index.ts"],"sourcesContent":["export const useTestHook = () => {};\n"],"names":["useTestHook"],"mappings":"AAAO,MAAMA,IAAc,MAAM;AAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../jsx-runtime-KWq1EBG2.cjs"),g=require("../../utils-GVl92sVg.cjs"),w=({children:o,className:l,variant:a="primary",size:i="md",fullWidth:u=!1,isLoading:t=!1,leftIcon:r,rightIcon:s,disabled:p,...c})=>{const x={primary:"bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500",secondary:"bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500",outline:"bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500",ghost:"bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500",link:"bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0"},m={sm:"text-sm px-3 py-1.5 h-8",md:"text-base px-4 py-2 h-10",lg:"text-lg px-6 py-3 h-12"},n=p||t;return e.jsxRuntimeExports.jsxs("button",{className:g.cn("inline-flex items-center justify-center rounded-md font-medium transition-colors","focus:outline-hidden focus:ring-2 focus:ring-offset-2",x[a],m[i],u?"w-full":"",n?"opacity-60 cursor-not-allowed":"",a!=="link"&&"shadow-xs",l),disabled:n,...c,children:[t&&e.jsxRuntimeExports.jsxs("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-current",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsxRuntimeExports.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsxRuntimeExports.jsx("path",{className:"opacity-75",fill:"currentColor",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"})]}),!t&&r&&e.jsxRuntimeExports.jsx("span",{className:"mr-2",children:r}),o,!t&&s&&e.jsxRuntimeExports.jsx("span",{className:"ml-2",children:s})]})};exports.Button=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../jsx-runtime-KWq1EBG2.cjs"),g=require("../../index-GVl92sVg.cjs"),w=({children:o,className:l,variant:a="primary",size:i="md",fullWidth:p=!1,isLoading:t=!1,leftIcon:r,rightIcon:s,disabled:u,...c})=>{const x={primary:"bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500",secondary:"bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500",outline:"bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500",ghost:"bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500",link:"bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0"},m={sm:"text-sm px-3 py-1.5 h-8",md:"text-base px-4 py-2 h-10",lg:"text-lg px-6 py-3 h-12"},n=u||t;return e.jsxRuntimeExports.jsxs("button",{className:g.cn("inline-flex items-center justify-center rounded-md font-medium transition-colors","focus:outline-hidden focus:ring-2 focus:ring-offset-2",x[a],m[i],p?"w-full":"",n?"opacity-60 cursor-not-allowed":"",a!=="link"&&"shadow-xs",l),disabled:n,...c,children:[t&&e.jsxRuntimeExports.jsxs("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-current",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsxRuntimeExports.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsxRuntimeExports.jsx("path",{className:"opacity-75",fill:"currentColor",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"})]}),!t&&r&&e.jsxRuntimeExports.jsx("span",{className:"mr-2",children:r}),o,!t&&s&&e.jsxRuntimeExports.jsx("span",{className:"ml-2",children:s})]})};exports.Button=w;
2
2
  //# sourceMappingURL=index.tsx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.cjs","sources":["../../../src/kapwa/button/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@lib/utils';\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n isLoading?: boolean;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n}\n\nconst Button = ({\n children,\n className,\n variant = 'primary',\n size = 'md',\n fullWidth = false,\n isLoading = false,\n leftIcon,\n rightIcon,\n disabled,\n ...props\n}: ButtonProps) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost: 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n link: 'bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n const isDisabled = disabled || isLoading;\n\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant],\n sizes[size],\n fullWidth ? 'w-full' : '',\n isDisabled ? 'opacity-60 cursor-not-allowed' : '',\n variant !== 'link' && 'shadow-xs',\n className\n )}\n disabled={isDisabled}\n {...props}\n >\n {isLoading && (\n <svg\n className='animate-spin -ml-1 mr-2 h-4 w-4 text-current'\n xmlns='http://www.w3.org/2000/svg'\n fill='none'\n viewBox='0 0 24 24'\n >\n <circle\n className='opacity-25'\n cx='12'\n cy='12'\n r='10'\n stroke='currentColor'\n strokeWidth='4'\n ></circle>\n <path\n className='opacity-75'\n fill='currentColor'\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 ></path>\n </svg>\n )}\n {!isLoading && leftIcon && <span className='mr-2'>{leftIcon}</span>}\n {children}\n {!isLoading && rightIcon && <span className='ml-2'>{rightIcon}</span>}\n </button>\n );\n};\n\nexport { Button };\n"],"names":["Button","children","className","variant","size","fullWidth","isLoading","leftIcon","rightIcon","disabled","props","variants","sizes","isDisabled","jsxs","cn","jsx"],"mappings":"wKAaMA,EAAS,CAAC,CACd,SAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,KACP,UAAAC,EAAY,GACZ,UAAAC,EAAY,GACZ,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAmB,CACjB,MAAMC,EAAW,CACf,QACE,4FACF,UACE,kGACF,QACE,mHACF,MAAO,uFACP,KAAM,4EAAA,EAGFC,EAAQ,CACZ,GAAI,0BACJ,GAAI,2BACJ,GAAI,wBAAA,EAGAC,EAAaJ,GAAYH,EAE/B,OACEQ,EAAAA,kBAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,GACT,mFACA,wDACAJ,EAASR,CAAO,EAChBS,EAAMR,CAAI,EACVC,EAAY,SAAW,GACvBQ,EAAa,gCAAkC,GAC/CV,IAAY,QAAU,YACtBD,CAAA,EAEF,SAAUW,EACT,GAAGH,EAEH,SAAA,CAAAJ,GACCQ,EAAAA,kBAAAA,KAAC,MAAA,CACC,UAAU,+CACV,MAAM,6BACN,KAAK,OACL,QAAQ,YAER,SAAA,CAAAE,EAAAA,kBAAAA,IAAC,SAAA,CACC,UAAU,aACV,GAAG,KACH,GAAG,KACH,EAAE,KACF,OAAO,eACP,YAAY,GAAA,CAAA,EAEdA,EAAAA,kBAAAA,IAAC,OAAA,CACC,UAAU,aACV,KAAK,eACL,EAAE,iHAAA,CAAA,CACH,CAAA,CAAA,EAGJ,CAACV,GAAaC,2BAAa,OAAA,CAAK,UAAU,OAAQ,SAAAA,EAAS,EAC3DN,EACA,CAACK,GAAaE,2BAAc,OAAA,CAAK,UAAU,OAAQ,SAAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAGpE"}
1
+ {"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/button/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n isLoading?: boolean;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n}\n\nconst Button = ({\n children,\n className,\n variant = 'primary',\n size = 'md',\n fullWidth = false,\n isLoading = false,\n leftIcon,\n rightIcon,\n disabled,\n ...props\n}: ButtonProps) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost: 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n link: 'bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n const isDisabled = disabled || isLoading;\n\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant],\n sizes[size],\n fullWidth ? 'w-full' : '',\n isDisabled ? 'opacity-60 cursor-not-allowed' : '',\n variant !== 'link' && 'shadow-xs',\n className\n )}\n disabled={isDisabled}\n {...props}\n >\n {isLoading && (\n <svg\n className='animate-spin -ml-1 mr-2 h-4 w-4 text-current'\n xmlns='http://www.w3.org/2000/svg'\n fill='none'\n viewBox='0 0 24 24'\n >\n <circle\n className='opacity-25'\n cx='12'\n cy='12'\n r='10'\n stroke='currentColor'\n strokeWidth='4'\n ></circle>\n <path\n className='opacity-75'\n fill='currentColor'\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 ></path>\n </svg>\n )}\n {!isLoading && leftIcon && <span className='mr-2'>{leftIcon}</span>}\n {children}\n {!isLoading && rightIcon && <span className='ml-2'>{rightIcon}</span>}\n </button>\n );\n};\n\nexport { Button };\n"],"names":["Button","children","className","variant","size","fullWidth","isLoading","leftIcon","rightIcon","disabled","props","variants","sizes","isDisabled","jsxs","cn","jsx"],"mappings":"wKAaMA,EAAS,CAAC,CACd,SAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,KACP,UAAAC,EAAY,GACZ,UAAAC,EAAY,GACZ,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAmB,CACjB,MAAMC,EAAW,CACf,QACE,4FACF,UACE,kGACF,QACE,mHACF,MAAO,uFACP,KAAM,4EAAA,EAGFC,EAAQ,CACZ,GAAI,0BACJ,GAAI,2BACJ,GAAI,wBAAA,EAGAC,EAAaJ,GAAYH,EAE/B,OACEQ,EAAAA,kBAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,GACT,mFACA,wDACAJ,EAASR,CAAO,EAChBS,EAAMR,CAAI,EACVC,EAAY,SAAW,GACvBQ,EAAa,gCAAkC,GAC/CV,IAAY,QAAU,YACtBD,CAAA,EAEF,SAAUW,EACT,GAAGH,EAEH,SAAA,CAAAJ,GACCQ,EAAAA,kBAAAA,KAAC,MAAA,CACC,UAAU,+CACV,MAAM,6BACN,KAAK,OACL,QAAQ,YAER,SAAA,CAAAE,EAAAA,kBAAAA,IAAC,SAAA,CACC,UAAU,aACV,GAAG,KACH,GAAG,KACH,EAAE,KACF,OAAO,eACP,YAAY,GAAA,CAAA,EAEdA,EAAAA,kBAAAA,IAAC,OAAA,CACC,UAAU,aACV,KAAK,eACL,EAAE,iHAAA,CAAA,CACH,CAAA,CAAA,EAGJ,CAACV,GAAaC,2BAAa,OAAA,CAAK,UAAU,OAAQ,SAAAA,EAAS,EAC3DN,EACA,CAACK,GAAaE,2BAAc,OAAA,CAAK,UAAU,OAAQ,SAAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAGpE"}
@@ -1,5 +1,5 @@
1
1
  import { j as a } from "../../jsx-runtime-DdAyboqB.js";
2
- import { c as x } from "../../utils-BWXuiikn.js";
2
+ import { a as x } from "../../index-CRZxS9UL.js";
3
3
  const d = ({
4
4
  children: o,
5
5
  className: l,
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.js","sources":["../../../src/kapwa/button/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@lib/utils';\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n isLoading?: boolean;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n}\n\nconst Button = ({\n children,\n className,\n variant = 'primary',\n size = 'md',\n fullWidth = false,\n isLoading = false,\n leftIcon,\n rightIcon,\n disabled,\n ...props\n}: ButtonProps) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost: 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n link: 'bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n const isDisabled = disabled || isLoading;\n\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant],\n sizes[size],\n fullWidth ? 'w-full' : '',\n isDisabled ? 'opacity-60 cursor-not-allowed' : '',\n variant !== 'link' && 'shadow-xs',\n className\n )}\n disabled={isDisabled}\n {...props}\n >\n {isLoading && (\n <svg\n className='animate-spin -ml-1 mr-2 h-4 w-4 text-current'\n xmlns='http://www.w3.org/2000/svg'\n fill='none'\n viewBox='0 0 24 24'\n >\n <circle\n className='opacity-25'\n cx='12'\n cy='12'\n r='10'\n stroke='currentColor'\n strokeWidth='4'\n ></circle>\n <path\n className='opacity-75'\n fill='currentColor'\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 ></path>\n </svg>\n )}\n {!isLoading && leftIcon && <span className='mr-2'>{leftIcon}</span>}\n {children}\n {!isLoading && rightIcon && <span className='ml-2'>{rightIcon}</span>}\n </button>\n );\n};\n\nexport { Button };\n"],"names":["Button","children","className","variant","size","fullWidth","isLoading","leftIcon","rightIcon","disabled","props","variants","sizes","isDisabled","jsxs","cn","jsx"],"mappings":";;AAaA,MAAMA,IAAS,CAAC;AAAA,EACd,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAmB;AACjB,QAAMC,IAAW;AAAA,IACf,SACE;AAAA,IACF,WACE;AAAA,IACF,SACE;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,EAAA,GAGFC,IAAQ;AAAA,IACZ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAaJ,KAAYH;AAE/B,SACEQ,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACAJ,EAASR,CAAO;AAAA,QAChBS,EAAMR,CAAI;AAAA,QACVC,IAAY,WAAW;AAAA,QACvBQ,IAAa,kCAAkC;AAAA,QAC/CV,MAAY,UAAU;AAAA,QACtBD;AAAA,MAAA;AAAA,MAEF,UAAUW;AAAA,MACT,GAAGH;AAAA,MAEH,UAAA;AAAA,QAAAJ,KACCQ,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAM;AAAA,YACN,MAAK;AAAA,YACL,SAAQ;AAAA,YAER,UAAA;AAAA,cAAAE,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,kBACF,QAAO;AAAA,kBACP,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEdA,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,GAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJ,CAACV,KAAaC,2BAAa,QAAA,EAAK,WAAU,QAAQ,UAAAA,GAAS;AAAA,QAC3DN;AAAA,QACA,CAACK,KAAaE,2BAAc,QAAA,EAAK,WAAU,QAAQ,UAAAA,EAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpE;"}
1
+ {"version":3,"file":"index.tsx.js","sources":["../../../src/lib/kapwa/button/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'link';\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n isLoading?: boolean;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n}\n\nconst Button = ({\n children,\n className,\n variant = 'primary',\n size = 'md',\n fullWidth = false,\n isLoading = false,\n leftIcon,\n rightIcon,\n disabled,\n ...props\n}: ButtonProps) => {\n const variants = {\n primary:\n 'bg-kapwa-blue-600 text-kapwa-neutral-50 hover:bg-kapwa-blue-700 focus:ring-kapwa-blue-500',\n secondary:\n 'bg-kapwa-orange-600 text-kapwa-neutral-50 hover:bg-kapwa-orange-700 focus:ring-kapwa-orange-500',\n outline:\n 'bg-transparent border border-kapwa-gray-300 text-kapwa-gray-700 hover:bg-kapwa-gray-50 focus:ring-kapwa-blue-500',\n ghost: 'bg-transparent text-kapwa-gray-700 hover:bg-kapwa-gray-100 focus:ring-kapwa-gray-500',\n link: 'bg-transparent text-kapwa-blue-600 hover:underline p-0 h-auto focus:ring-0',\n };\n\n const sizes = {\n sm: 'text-sm px-3 py-1.5 h-8',\n md: 'text-base px-4 py-2 h-10',\n lg: 'text-lg px-6 py-3 h-12',\n };\n\n const isDisabled = disabled || isLoading;\n\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center rounded-md font-medium transition-colors',\n 'focus:outline-hidden focus:ring-2 focus:ring-offset-2',\n variants[variant],\n sizes[size],\n fullWidth ? 'w-full' : '',\n isDisabled ? 'opacity-60 cursor-not-allowed' : '',\n variant !== 'link' && 'shadow-xs',\n className\n )}\n disabled={isDisabled}\n {...props}\n >\n {isLoading && (\n <svg\n className='animate-spin -ml-1 mr-2 h-4 w-4 text-current'\n xmlns='http://www.w3.org/2000/svg'\n fill='none'\n viewBox='0 0 24 24'\n >\n <circle\n className='opacity-25'\n cx='12'\n cy='12'\n r='10'\n stroke='currentColor'\n strokeWidth='4'\n ></circle>\n <path\n className='opacity-75'\n fill='currentColor'\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 ></path>\n </svg>\n )}\n {!isLoading && leftIcon && <span className='mr-2'>{leftIcon}</span>}\n {children}\n {!isLoading && rightIcon && <span className='ml-2'>{rightIcon}</span>}\n </button>\n );\n};\n\nexport { Button };\n"],"names":["Button","children","className","variant","size","fullWidth","isLoading","leftIcon","rightIcon","disabled","props","variants","sizes","isDisabled","jsxs","cn","jsx"],"mappings":";;AAaA,MAAMA,IAAS,CAAC;AAAA,EACd,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAmB;AACjB,QAAMC,IAAW;AAAA,IACf,SACE;AAAA,IACF,WACE;AAAA,IACF,SACE;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,EAAA,GAGFC,IAAQ;AAAA,IACZ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAaJ,KAAYH;AAE/B,SACEQ,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACAJ,EAASR,CAAO;AAAA,QAChBS,EAAMR,CAAI;AAAA,QACVC,IAAY,WAAW;AAAA,QACvBQ,IAAa,kCAAkC;AAAA,QAC/CV,MAAY,UAAU;AAAA,QACtBD;AAAA,MAAA;AAAA,MAEF,UAAUW;AAAA,MACT,GAAGH;AAAA,MAEH,UAAA;AAAA,QAAAJ,KACCQ,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAM;AAAA,YACN,MAAK;AAAA,YACL,SAAQ;AAAA,YAER,UAAA;AAAA,cAAAE,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,kBACF,QAAO;AAAA,kBACP,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEdA,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,GAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJ,CAACV,KAAaC,2BAAa,QAAA,EAAK,WAAU,QAAQ,UAAAA,GAAS;AAAA,QAC3DN;AAAA,QACA,CAACK,KAAaE,2BAAc,QAAA,EAAK,WAAU,QAAQ,UAAAA,EAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpE;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../jsx-runtime-KWq1EBG2.cjs"),s=require("../../utils-GVl92sVg.cjs"),d=({children:r,className:e,hoverable:a=!1,...o})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden",a&&"transition-all duration-300 hover:shadow-md hover:-translate-y-1",e),role:"article","aria-label":"Service card",...o,children:r}),n=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6 border-b border-gray-200",e),role:"heading","aria-level":2,...a,children:r}),l=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6",e),role:"region","aria-label":"Service details",...a,children:r}),i=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6 border-t border-gray-200 bg-gray-50",e),...a,children:r}),c=({className:r,...e})=>t.jsxRuntimeExports.jsx("div",{className:"relative w-full h-48 overflow-hidden",children:t.jsxRuntimeExports.jsx("img",{className:s.cn("w-full h-full object-cover",r),...e,alt:e.alt||"Card image"})});exports.Card=d;exports.CardContent=l;exports.CardFooter=i;exports.CardHeader=n;exports.CardImage=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../jsx-runtime-KWq1EBG2.cjs"),s=require("../../index-GVl92sVg.cjs"),d=({children:r,className:e,hoverable:a=!1,...o})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden",a&&"transition-all duration-300 hover:shadow-md hover:-translate-y-1",e),role:"article","aria-label":"Service card",...o,children:r}),n=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6 border-b border-gray-200",e),role:"heading","aria-level":2,...a,children:r}),i=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6",e),role:"region","aria-label":"Service details",...a,children:r}),l=({children:r,className:e,...a})=>t.jsxRuntimeExports.jsx("div",{className:s.cn("p-4 md:p-6 border-t border-gray-200 bg-gray-50",e),...a,children:r}),c=({className:r,...e})=>t.jsxRuntimeExports.jsx("div",{className:"relative w-full h-48 overflow-hidden",children:t.jsxRuntimeExports.jsx("img",{className:s.cn("w-full h-full object-cover",r),...e,alt:e.alt||"Card image"})});exports.Card=d;exports.CardContent=i;exports.CardFooter=l;exports.CardHeader=n;exports.CardImage=c;
2
2
  //# sourceMappingURL=index.tsx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.cjs","sources":["../../../src/kapwa/card/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@lib/utils';\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n hoverable?: boolean;\n}\n\nconst Card = ({\n children,\n className,\n hoverable = false,\n ...props\n}: CardProps) => {\n return (\n <div\n className={cn(\n 'bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden',\n hoverable &&\n 'transition-all duration-300 hover:shadow-md hover:-translate-y-1',\n className\n )}\n role='article'\n aria-label='Service card'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardHeader = ({ children, className, ...props }: CardHeaderProps) => {\n return (\n <div\n className={cn('p-4 md:p-6 border-b border-gray-200', className)}\n role='heading'\n aria-level={2}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardContent = ({ children, className, ...props }: CardContentProps) => {\n return (\n <div\n className={cn('p-4 md:p-6', className)}\n role='region'\n aria-label='Service details'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardFooter = ({ children, className, ...props }: CardFooterProps) => {\n return (\n <div\n className={cn(\n 'p-4 md:p-6 border-t border-gray-200 bg-gray-50',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n className?: string;\n}\n\nconst CardImage = ({ className, ...props }: CardImageProps) => {\n return (\n <div className='relative w-full h-48 overflow-hidden'>\n <img\n className={cn('w-full h-full object-cover', className)}\n {...props}\n alt={props.alt || 'Card image'}\n />\n </div>\n );\n};\n\nexport { Card, CardHeader, CardContent, CardFooter, CardImage };\n"],"names":["Card","children","className","hoverable","props","jsx","cn","CardHeader","CardContent","CardFooter","CardImage"],"mappings":"wKASMA,EAAO,CAAC,CACZ,SAAAC,EACA,UAAAC,EACA,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,uEACAH,GACE,mEACFD,CAAA,EAEF,KAAK,UACL,aAAW,eACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDM,EAAa,CAAC,CAAE,SAAAN,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,sCAAuCJ,CAAS,EAC9D,KAAK,UACL,aAAY,EACX,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDO,EAAc,CAAC,CAAE,SAAAP,EAAU,UAAAC,EAAW,GAAGE,KAE3CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,aAAcJ,CAAS,EACrC,KAAK,SACL,aAAW,kBACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDQ,EAAa,CAAC,CAAE,SAAAR,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,iDACAJ,CAAA,EAED,GAAGE,EAEH,SAAAH,CAAA,CAAA,EASDS,EAAY,CAAC,CAAE,UAAAR,EAAW,GAAGE,KAE/BC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,uCACb,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,6BAA8BJ,CAAS,EACpD,GAAGE,EACJ,IAAKA,EAAM,KAAO,YAAA,CAAA,EAEtB"}
1
+ {"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/card/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n hoverable?: boolean;\n}\n\nconst Card = ({\n children,\n className,\n hoverable = false,\n ...props\n}: CardProps) => {\n return (\n <div\n className={cn(\n 'bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden',\n hoverable &&\n 'transition-all duration-300 hover:shadow-md hover:-translate-y-1',\n className\n )}\n role='article'\n aria-label='Service card'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardHeader = ({ children, className, ...props }: CardHeaderProps) => {\n return (\n <div\n className={cn('p-4 md:p-6 border-b border-gray-200', className)}\n role='heading'\n aria-level={2}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardContent = ({ children, className, ...props }: CardContentProps) => {\n return (\n <div\n className={cn('p-4 md:p-6', className)}\n role='region'\n aria-label='Service details'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardFooter = ({ children, className, ...props }: CardFooterProps) => {\n return (\n <div\n className={cn(\n 'p-4 md:p-6 border-t border-gray-200 bg-gray-50',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n className?: string;\n}\n\nconst CardImage = ({ className, ...props }: CardImageProps) => {\n return (\n <div className='relative w-full h-48 overflow-hidden'>\n <img\n className={cn('w-full h-full object-cover', className)}\n {...props}\n alt={props.alt || 'Card image'}\n />\n </div>\n );\n};\n\nexport { Card, CardHeader, CardContent, CardFooter, CardImage };\n"],"names":["Card","children","className","hoverable","props","jsx","cn","CardHeader","CardContent","CardFooter","CardImage"],"mappings":"wKASMA,EAAO,CAAC,CACZ,SAAAC,EACA,UAAAC,EACA,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,uEACAH,GACE,mEACFD,CAAA,EAEF,KAAK,UACL,aAAW,eACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDM,EAAa,CAAC,CAAE,SAAAN,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,sCAAuCJ,CAAS,EAC9D,KAAK,UACL,aAAY,EACX,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDO,EAAc,CAAC,CAAE,SAAAP,EAAU,UAAAC,EAAW,GAAGE,KAE3CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,aAAcJ,CAAS,EACrC,KAAK,SACL,aAAW,kBACV,GAAGE,EAEH,SAAAH,CAAA,CAAA,EAUDQ,EAAa,CAAC,CAAE,SAAAR,EAAU,UAAAC,EAAW,GAAGE,KAE1CC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,iDACAJ,CAAA,EAED,GAAGE,EAEH,SAAAH,CAAA,CAAA,EASDS,EAAY,CAAC,CAAE,UAAAR,EAAW,GAAGE,KAE/BC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,uCACb,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,6BAA8BJ,CAAS,EACpD,GAAGE,EACJ,IAAKA,EAAM,KAAO,YAAA,CAAA,EAEtB"}
@@ -1,5 +1,5 @@
1
1
  import { j as o } from "../../jsx-runtime-DdAyboqB.js";
2
- import { c as d } from "../../utils-BWXuiikn.js";
2
+ import { a as d } from "../../index-CRZxS9UL.js";
3
3
  const i = ({
4
4
  children: e,
5
5
  className: r,
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.js","sources":["../../../src/kapwa/card/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@lib/utils';\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n hoverable?: boolean;\n}\n\nconst Card = ({\n children,\n className,\n hoverable = false,\n ...props\n}: CardProps) => {\n return (\n <div\n className={cn(\n 'bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden',\n hoverable &&\n 'transition-all duration-300 hover:shadow-md hover:-translate-y-1',\n className\n )}\n role='article'\n aria-label='Service card'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardHeader = ({ children, className, ...props }: CardHeaderProps) => {\n return (\n <div\n className={cn('p-4 md:p-6 border-b border-gray-200', className)}\n role='heading'\n aria-level={2}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardContent = ({ children, className, ...props }: CardContentProps) => {\n return (\n <div\n className={cn('p-4 md:p-6', className)}\n role='region'\n aria-label='Service details'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardFooter = ({ children, className, ...props }: CardFooterProps) => {\n return (\n <div\n className={cn(\n 'p-4 md:p-6 border-t border-gray-200 bg-gray-50',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n className?: string;\n}\n\nconst CardImage = ({ className, ...props }: CardImageProps) => {\n return (\n <div className='relative w-full h-48 overflow-hidden'>\n <img\n className={cn('w-full h-full object-cover', className)}\n {...props}\n alt={props.alt || 'Card image'}\n />\n </div>\n );\n};\n\nexport { Card, CardHeader, CardContent, CardFooter, CardImage };\n"],"names":["Card","children","className","hoverable","props","jsx","cn","CardHeader","CardContent","CardFooter","CardImage"],"mappings":";;AASA,MAAMA,IAAO,CAAC;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAEIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAH,KACE;AAAA,MACFD;AAAA,IAAA;AAAA,IAEF,MAAK;AAAA,IACL,cAAW;AAAA,IACV,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDM,IAAa,CAAC,EAAE,UAAAN,GAAU,WAAAC,GAAW,GAAGE,QAE1CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,uCAAuCJ,CAAS;AAAA,IAC9D,MAAK;AAAA,IACL,cAAY;AAAA,IACX,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDO,IAAc,CAAC,EAAE,UAAAP,GAAU,WAAAC,GAAW,GAAGE,QAE3CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,cAAcJ,CAAS;AAAA,IACrC,MAAK;AAAA,IACL,cAAW;AAAA,IACV,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDQ,IAAa,CAAC,EAAE,UAAAR,GAAU,WAAAC,GAAW,GAAGE,QAE1CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GASDS,IAAY,CAAC,EAAE,WAAAR,GAAW,GAAGE,QAE/BC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,wCACb,UAAAA,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGE;AAAA,IACJ,KAAKA,EAAM,OAAO;AAAA,EAAA;AAAA,GAEtB;"}
1
+ {"version":3,"file":"index.tsx.js","sources":["../../../src/lib/kapwa/card/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '@kapwa/utils';\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n hoverable?: boolean;\n}\n\nconst Card = ({\n children,\n className,\n hoverable = false,\n ...props\n}: CardProps) => {\n return (\n <div\n className={cn(\n 'bg-white rounded-lg border border-gray-200 shadow-xs overflow-hidden',\n hoverable &&\n 'transition-all duration-300 hover:shadow-md hover:-translate-y-1',\n className\n )}\n role='article'\n aria-label='Service card'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardHeader = ({ children, className, ...props }: CardHeaderProps) => {\n return (\n <div\n className={cn('p-4 md:p-6 border-b border-gray-200', className)}\n role='heading'\n aria-level={2}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardContent = ({ children, className, ...props }: CardContentProps) => {\n return (\n <div\n className={cn('p-4 md:p-6', className)}\n role='region'\n aria-label='Service details'\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nconst CardFooter = ({ children, className, ...props }: CardFooterProps) => {\n return (\n <div\n className={cn(\n 'p-4 md:p-6 border-t border-gray-200 bg-gray-50',\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\ninterface CardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n className?: string;\n}\n\nconst CardImage = ({ className, ...props }: CardImageProps) => {\n return (\n <div className='relative w-full h-48 overflow-hidden'>\n <img\n className={cn('w-full h-full object-cover', className)}\n {...props}\n alt={props.alt || 'Card image'}\n />\n </div>\n );\n};\n\nexport { Card, CardHeader, CardContent, CardFooter, CardImage };\n"],"names":["Card","children","className","hoverable","props","jsx","cn","CardHeader","CardContent","CardFooter","CardImage"],"mappings":";;AASA,MAAMA,IAAO,CAAC;AAAA,EACZ,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAEIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAH,KACE;AAAA,MACFD;AAAA,IAAA;AAAA,IAEF,MAAK;AAAA,IACL,cAAW;AAAA,IACV,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDM,IAAa,CAAC,EAAE,UAAAN,GAAU,WAAAC,GAAW,GAAGE,QAE1CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,uCAAuCJ,CAAS;AAAA,IAC9D,MAAK;AAAA,IACL,cAAY;AAAA,IACX,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDO,IAAc,CAAC,EAAE,UAAAP,GAAU,WAAAC,GAAW,GAAGE,QAE3CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,cAAcJ,CAAS;AAAA,IACrC,MAAK;AAAA,IACL,cAAW;AAAA,IACV,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GAUDQ,IAAa,CAAC,EAAE,UAAAR,GAAU,WAAAC,GAAW,GAAGE,QAE1CC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA,GASDS,IAAY,CAAC,EAAE,WAAAR,GAAW,GAAGE,QAE/BC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,wCACb,UAAAA,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGE;AAAA,IACJ,KAAKA,EAAM,OAAO;AAAA,EAAA;AAAA,GAEtB;"}
@@ -0,0 +1,22 @@
1
+ type CivicTechBannerItem = {
2
+ title: string;
3
+ highlightedWord: string;
4
+ description: string;
5
+ highlightedPhrase: string;
6
+ primaryButton: {
7
+ text: string;
8
+ className?: string;
9
+ href: string;
10
+ };
11
+ secondaryButton: {
12
+ text: string;
13
+ className?: string;
14
+ href: string;
15
+ };
16
+ };
17
+ declare const CivicTechBanner: ({ fullBannerTitle, fullBanner, }: {
18
+ fullBannerTitle: string;
19
+ fullBanner: CivicTechBannerItem;
20
+ }) => import("react/jsx-runtime").JSX.Element;
21
+ export { CivicTechBanner };
22
+ export type { CivicTechBannerItem };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../jsx-runtime-KWq1EBG2.cjs"),r=({fullBannerTitle:s,fullBanner:t})=>e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h3",{className:"font-medium mb-4",children:s}),e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden bg-linear-to-br from-orange-500 via-red-500 to-pink-600 text-white py-12 rounded-lg",children:e.jsxRuntimeExports.jsxs("div",{className:"container mx-auto px-4 text-center",children:[e.jsxRuntimeExports.jsxs("h2",{className:"text-2xl md:text-3xl font-bold mb-4",children:[t.title," ",e.jsxRuntimeExports.jsx("span",{className:"text-yellow-200",children:t.highlightedWord})," ","Revolution"]}),e.jsxRuntimeExports.jsxs("p",{className:"text-lg mb-6 text-orange-100 max-w-2xl mx-auto",children:[t.description,e.jsxRuntimeExports.jsxs("strong",{className:"text-yellow-200",children:[" ",t.highlightedPhrase]})]}),e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsxRuntimeExports.jsx("a",{className:t.primaryButton.className||"bg-white text-gray-900 px-6 py-3 rounded-lg font-bold hover:bg-gray-100",href:t.primaryButton.href,children:t.primaryButton.text}),e.jsxRuntimeExports.jsx("a",{className:t.secondaryButton.className||"border-2 border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:text-gray-900",href:t.secondaryButton.href,children:t.secondaryButton.text})]})]})})]});exports.CivicTechBanner=r;
2
+ //# sourceMappingURL=index.tsx.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/civic-tech-banner/index.tsx"],"sourcesContent":["type CivicTechBannerItem = {\n title: string;\n highlightedWord: string;\n description: string;\n highlightedPhrase: string;\n primaryButton: {\n text: string;\n className?: string;\n href: string;\n };\n secondaryButton: {\n text: string;\n className?: string;\n href: string;\n };\n};\n\nconst CivicTechBanner = ({\n fullBannerTitle,\n fullBanner,\n}: {\n fullBannerTitle: string;\n fullBanner: CivicTechBannerItem;\n}) => {\n return (\n <div>\n <h3 className='font-medium mb-4'>{fullBannerTitle}</h3>\n <div className='relative overflow-hidden bg-linear-to-br from-orange-500 via-red-500 to-pink-600 text-white py-12 rounded-lg'>\n <div className='container mx-auto px-4 text-center'>\n <h2 className='text-2xl md:text-3xl font-bold mb-4'>\n {fullBanner.title}{' '}\n <span className='text-yellow-200'>\n {fullBanner.highlightedWord}\n </span>{' '}\n Revolution\n </h2>\n <p className='text-lg mb-6 text-orange-100 max-w-2xl mx-auto'>\n {fullBanner.description}\n <strong className='text-yellow-200'>\n {' '}\n {fullBanner.highlightedPhrase}\n </strong>\n </p>\n <div className='flex flex-col sm:flex-row gap-4 justify-center'>\n <a\n className={\n fullBanner.primaryButton.className ||\n 'bg-white text-gray-900 px-6 py-3 rounded-lg font-bold hover:bg-gray-100'\n }\n href={fullBanner.primaryButton.href}\n >\n {fullBanner.primaryButton.text}\n </a>\n <a\n className={\n fullBanner.secondaryButton.className ||\n 'border-2 border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:text-gray-900'\n }\n href={fullBanner.secondaryButton.href}\n >\n {fullBanner.secondaryButton.text}\n </a>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport { CivicTechBanner };\nexport type { CivicTechBannerItem };\n"],"names":["CivicTechBanner","fullBannerTitle","fullBanner","jsx","jsxs"],"mappings":"kIAiBMA,EAAkB,CAAC,CACvB,gBAAAC,EACA,WAAAC,CACF,6BAKK,MAAA,CACC,SAAA,CAAAC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,mBAAoB,SAAAF,EAAgB,0BACjD,MAAA,CAAI,UAAU,+GACb,SAAAG,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,qCACb,SAAA,CAAAA,EAAAA,kBAAAA,KAAC,KAAA,CAAG,UAAU,sCACX,SAAA,CAAAF,EAAW,MAAO,IACnBC,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,kBACb,WAAW,gBACd,EAAQ,IAAI,YAAA,EAEd,EACAC,EAAAA,kBAAAA,KAAC,IAAA,CAAE,UAAU,iDACV,SAAA,CAAAF,EAAW,YACZE,EAAAA,kBAAAA,KAAC,SAAA,CAAO,UAAU,kBACf,SAAA,CAAA,IACAF,EAAW,iBAAA,CAAA,CACd,CAAA,EACF,EACAE,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,iDACb,SAAA,CAAAD,EAAAA,kBAAAA,IAAC,IAAA,CACC,UACED,EAAW,cAAc,WACzB,0EAEF,KAAMA,EAAW,cAAc,KAE9B,WAAW,cAAc,IAAA,CAAA,EAE5BC,EAAAA,kBAAAA,IAAC,IAAA,CACC,UACED,EAAW,gBAAgB,WAC3B,yGAEF,KAAMA,EAAW,gBAAgB,KAEhC,WAAW,gBAAgB,IAAA,CAAA,CAC9B,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF"}
@@ -0,0 +1,45 @@
1
+ import { j as e } from "../../jsx-runtime-DdAyboqB.js";
2
+ const o = ({
3
+ fullBannerTitle: s,
4
+ fullBanner: t
5
+ }) => /* @__PURE__ */ e.jsxs("div", { children: [
6
+ /* @__PURE__ */ e.jsx("h3", { className: "font-medium mb-4", children: s }),
7
+ /* @__PURE__ */ e.jsx("div", { className: "relative overflow-hidden bg-linear-to-br from-orange-500 via-red-500 to-pink-600 text-white py-12 rounded-lg", children: /* @__PURE__ */ e.jsxs("div", { className: "container mx-auto px-4 text-center", children: [
8
+ /* @__PURE__ */ e.jsxs("h2", { className: "text-2xl md:text-3xl font-bold mb-4", children: [
9
+ t.title,
10
+ " ",
11
+ /* @__PURE__ */ e.jsx("span", { className: "text-yellow-200", children: t.highlightedWord }),
12
+ " ",
13
+ "Revolution"
14
+ ] }),
15
+ /* @__PURE__ */ e.jsxs("p", { className: "text-lg mb-6 text-orange-100 max-w-2xl mx-auto", children: [
16
+ t.description,
17
+ /* @__PURE__ */ e.jsxs("strong", { className: "text-yellow-200", children: [
18
+ " ",
19
+ t.highlightedPhrase
20
+ ] })
21
+ ] }),
22
+ /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col sm:flex-row gap-4 justify-center", children: [
23
+ /* @__PURE__ */ e.jsx(
24
+ "a",
25
+ {
26
+ className: t.primaryButton.className || "bg-white text-gray-900 px-6 py-3 rounded-lg font-bold hover:bg-gray-100",
27
+ href: t.primaryButton.href,
28
+ children: t.primaryButton.text
29
+ }
30
+ ),
31
+ /* @__PURE__ */ e.jsx(
32
+ "a",
33
+ {
34
+ className: t.secondaryButton.className || "border-2 border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:text-gray-900",
35
+ href: t.secondaryButton.href,
36
+ children: t.secondaryButton.text
37
+ }
38
+ )
39
+ ] })
40
+ ] }) })
41
+ ] });
42
+ export {
43
+ o as CivicTechBanner
44
+ };
45
+ //# sourceMappingURL=index.tsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.tsx.js","sources":["../../../src/lib/kapwa/civic-tech-banner/index.tsx"],"sourcesContent":["type CivicTechBannerItem = {\n title: string;\n highlightedWord: string;\n description: string;\n highlightedPhrase: string;\n primaryButton: {\n text: string;\n className?: string;\n href: string;\n };\n secondaryButton: {\n text: string;\n className?: string;\n href: string;\n };\n};\n\nconst CivicTechBanner = ({\n fullBannerTitle,\n fullBanner,\n}: {\n fullBannerTitle: string;\n fullBanner: CivicTechBannerItem;\n}) => {\n return (\n <div>\n <h3 className='font-medium mb-4'>{fullBannerTitle}</h3>\n <div className='relative overflow-hidden bg-linear-to-br from-orange-500 via-red-500 to-pink-600 text-white py-12 rounded-lg'>\n <div className='container mx-auto px-4 text-center'>\n <h2 className='text-2xl md:text-3xl font-bold mb-4'>\n {fullBanner.title}{' '}\n <span className='text-yellow-200'>\n {fullBanner.highlightedWord}\n </span>{' '}\n Revolution\n </h2>\n <p className='text-lg mb-6 text-orange-100 max-w-2xl mx-auto'>\n {fullBanner.description}\n <strong className='text-yellow-200'>\n {' '}\n {fullBanner.highlightedPhrase}\n </strong>\n </p>\n <div className='flex flex-col sm:flex-row gap-4 justify-center'>\n <a\n className={\n fullBanner.primaryButton.className ||\n 'bg-white text-gray-900 px-6 py-3 rounded-lg font-bold hover:bg-gray-100'\n }\n href={fullBanner.primaryButton.href}\n >\n {fullBanner.primaryButton.text}\n </a>\n <a\n className={\n fullBanner.secondaryButton.className ||\n 'border-2 border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:text-gray-900'\n }\n href={fullBanner.secondaryButton.href}\n >\n {fullBanner.secondaryButton.text}\n </a>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport { CivicTechBanner };\nexport type { CivicTechBannerItem };\n"],"names":["CivicTechBanner","fullBannerTitle","fullBanner","jsx","jsxs"],"mappings":";AAiBA,MAAMA,IAAkB,CAAC;AAAA,EACvB,iBAAAC;AAAA,EACA,YAAAC;AACF,6BAKK,OAAA,EACC,UAAA;AAAA,EAAAC,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,oBAAoB,UAAAF,GAAgB;AAAA,wBACjD,OAAA,EAAI,WAAU,gHACb,UAAAG,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,IAAAA,gBAAAA,EAAAA,KAAC,MAAA,EAAG,WAAU,uCACX,UAAA;AAAA,MAAAF,EAAW;AAAA,MAAO;AAAA,MACnBC,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,mBACb,YAAW,iBACd;AAAA,MAAQ;AAAA,MAAI;AAAA,IAAA,GAEd;AAAA,IACAC,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAU,kDACV,UAAA;AAAA,MAAAF,EAAW;AAAA,MACZE,gBAAAA,EAAAA,KAAC,UAAA,EAAO,WAAU,mBACf,UAAA;AAAA,QAAA;AAAA,QACAF,EAAW;AAAA,MAAA,EAAA,CACd;AAAA,IAAA,GACF;AAAA,IACAE,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,MAAAD,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WACED,EAAW,cAAc,aACzB;AAAA,UAEF,MAAMA,EAAW,cAAc;AAAA,UAE9B,YAAW,cAAc;AAAA,QAAA;AAAA,MAAA;AAAA,MAE5BC,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WACED,EAAW,gBAAgB,aAC3B;AAAA,UAEF,MAAMA,EAAW,gBAAgB;AAAA,UAEhC,YAAW,gBAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,IAC9B,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAAA,GACF;"}
@@ -0,0 +1,11 @@
1
+ import { Banner } from './banner';
2
+ import { Button } from './button';
3
+ import { Card, CardContent, CardFooter, CardHeader, CardImage } from './card';
4
+ import { Input } from './input';
5
+ import { Label } from './label';
6
+ import { CivicTechBanner } from './civic-tech-banner';
7
+ import { StripBanner } from './strip-banner';
8
+ import { Table } from './table';
9
+ import { List } from './list';
10
+ import { ArticleCard, ArticleContent } from './article';
11
+ export { Banner, Button, Card, CardContent, CardFooter, CardHeader, CardImage, Input, Label, CivicTechBanner, StripBanner, Table, List, ArticleCard, ArticleContent, };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../jsx-runtime-KWq1EBG2.cjs"),s=require("react"),u=require("../../utils-GVl92sVg.cjs");function l(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const a=l(s),o=a.forwardRef(({className:e,type:r,...t},n)=>i.jsxRuntimeExports.jsx("input",{type:r,className:u.cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));o.displayName="Input";exports.Input=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../jsx-runtime-KWq1EBG2.cjs"),s=require("react"),u=require("../../index-GVl92sVg.cjs");function a(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const l=a(s),o=l.forwardRef(({className:e,type:r,...t},n)=>i.jsxRuntimeExports.jsx("input",{type:r,className:u.cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));o.displayName="Input";exports.Input=o;
2
2
  //# sourceMappingURL=index.tsx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.cjs","sources":["../../../src/kapwa/input/index.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@lib/utils';\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<'input'>>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":"qdAIMA,EAAQC,EAAM,WAClB,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAA,EAASC,IAE5BC,EAAAA,kBAAAA,IAAC,QAAA,CACC,KAAAH,EACA,UAAWI,EAAAA,GACT,0WACAL,CAAA,EAEF,IAAAG,EACC,GAAGD,CAAA,CAAA,CAIZ,EACAJ,EAAM,YAAc"}
1
+ {"version":3,"file":"index.tsx.cjs","sources":["../../../src/lib/kapwa/input/index.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@kapwa/utils';\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<'input'>>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":"qdAIMA,EAAQC,EAAM,WAClB,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAA,EAASC,IAE5BC,EAAAA,kBAAAA,IAAC,QAAA,CACC,KAAAH,EACA,UAAWI,EAAAA,GACT,0WACAL,CAAA,EAEF,IAAAG,EACC,GAAGD,CAAA,CAAA,CAIZ,EACAJ,EAAM,YAAc"}
@@ -1,6 +1,6 @@
1
1
  import { j as i } from "../../jsx-runtime-DdAyboqB.js";
2
2
  import * as s from "react";
3
- import { c as n } from "../../utils-BWXuiikn.js";
3
+ import { a as n } from "../../index-CRZxS9UL.js";
4
4
  const a = s.forwardRef(
5
5
  ({ className: e, type: r, ...t }, o) => /* @__PURE__ */ i.jsx(
6
6
  "input",
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.js","sources":["../../../src/kapwa/input/index.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@lib/utils';\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<'input'>>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":";;;AAIA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,GAASC,MAE5BC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,WAAWI;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAEF,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAM,cAAc;"}
1
+ {"version":3,"file":"index.tsx.js","sources":["../../../src/lib/kapwa/input/index.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@kapwa/utils';\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<'input'>>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":";;;AAIA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,GAASC,MAE5BC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,WAAWI;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAEF,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAM,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../jsx-runtime-KWq1EBG2.cjs"),R=require("react");require("react-dom");const m=require("../../utils-GVl92sVg.cjs");function v(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const l=v(R);function p(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function j(...e){return n=>{let t=!1;const o=e.map(r=>{const i=p(r,n);return!t&&typeof i=="function"&&(t=!0),i});if(t)return()=>{for(let r=0;r<o.length;r++){const i=o[r];typeof i=="function"?i():p(e[r],null)}}}}function E(e){const n=S(e),t=l.forwardRef((o,r)=>{const{children:i,...a}=o,s=l.Children.toArray(i),c=s.find(N);if(c){const u=c.props.children,x=s.map(d=>d===c?l.Children.count(u)>1?l.Children.only(null):l.isValidElement(u)?u.props.children:null:d);return f.jsxRuntimeExports.jsx(n,{...a,ref:r,children:l.isValidElement(u)?l.cloneElement(u,void 0,x):null})}return f.jsxRuntimeExports.jsx(n,{...a,ref:r,children:i})});return t.displayName=`${e}.Slot`,t}function S(e){const n=l.forwardRef((t,o)=>{const{children:r,...i}=t;if(l.isValidElement(r)){const a=C(r),s=h(i,r.props);return r.type!==l.Fragment&&(s.ref=o?j(o,a):a),l.cloneElement(r,s)}return l.Children.count(r)>1?l.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var w=Symbol("radix.slottable");function N(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===w}function h(e,n){const t={...n};for(const o in n){const r=e[o],i=n[o];/^on[A-Z]/.test(o)?r&&i?t[o]=(...s)=>{const c=i(...s);return r(...s),c}:r&&(t[o]=r):o==="style"?t[o]={...r,...i}:o==="className"&&(t[o]=[r,i].filter(Boolean).join(" "))}return{...e,...t}}function C(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var P=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],O=P.reduce((e,n)=>{const t=E(`Primitive.${n}`),o=l.forwardRef((r,i)=>{const{asChild:a,...s}=r,c=a?t:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsxRuntimeExports.jsx(c,{...s,ref:i})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),D="Label",y=l.forwardRef((e,n)=>f.jsxRuntimeExports.jsx(O.label,{...e,ref:n,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||((r=e.onMouseDown)==null||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));y.displayName=D;var b=y;const _=m.clsx,V=(e,n)=>t=>_(e,t==null?void 0:t.class,t==null?void 0:t.className),L=V("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),g=l.forwardRef(({className:e,...n},t)=>f.jsxRuntimeExports.jsx(b,{ref:t,className:m.cn(L(),e),...n}));g.displayName=b.displayName;exports.Label=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../jsx-runtime-KWq1EBG2.cjs"),R=require("react");require("react-dom");const m=require("../../index-GVl92sVg.cjs");function v(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const l=v(R);function p(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function j(...e){return n=>{let t=!1;const o=e.map(r=>{const i=p(r,n);return!t&&typeof i=="function"&&(t=!0),i});if(t)return()=>{for(let r=0;r<o.length;r++){const i=o[r];typeof i=="function"?i():p(e[r],null)}}}}function E(e){const n=S(e),t=l.forwardRef((o,r)=>{const{children:i,...a}=o,s=l.Children.toArray(i),c=s.find(N);if(c){const u=c.props.children,x=s.map(d=>d===c?l.Children.count(u)>1?l.Children.only(null):l.isValidElement(u)?u.props.children:null:d);return f.jsxRuntimeExports.jsx(n,{...a,ref:r,children:l.isValidElement(u)?l.cloneElement(u,void 0,x):null})}return f.jsxRuntimeExports.jsx(n,{...a,ref:r,children:i})});return t.displayName=`${e}.Slot`,t}function S(e){const n=l.forwardRef((t,o)=>{const{children:r,...i}=t;if(l.isValidElement(r)){const a=C(r),s=h(i,r.props);return r.type!==l.Fragment&&(s.ref=o?j(o,a):a),l.cloneElement(r,s)}return l.Children.count(r)>1?l.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var w=Symbol("radix.slottable");function N(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===w}function h(e,n){const t={...n};for(const o in n){const r=e[o],i=n[o];/^on[A-Z]/.test(o)?r&&i?t[o]=(...s)=>{const c=i(...s);return r(...s),c}:r&&(t[o]=r):o==="style"?t[o]={...r,...i}:o==="className"&&(t[o]=[r,i].filter(Boolean).join(" "))}return{...e,...t}}function C(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var P=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],O=P.reduce((e,n)=>{const t=E(`Primitive.${n}`),o=l.forwardRef((r,i)=>{const{asChild:a,...s}=r,c=a?t:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsxRuntimeExports.jsx(c,{...s,ref:i})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),_="Label",y=l.forwardRef((e,n)=>f.jsxRuntimeExports.jsx(O.label,{...e,ref:n,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||((r=e.onMouseDown)==null||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));y.displayName=_;var b=y;const D=m.clsx,V=(e,n)=>t=>D(e,t==null?void 0:t.class,t==null?void 0:t.className),L=V("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),g=l.forwardRef(({className:e,...n},t)=>f.jsxRuntimeExports.jsx(b,{ref:t,className:m.cn(L(),e),...n}));g.displayName=b.displayName;exports.Label=g;
2
2
  //# sourceMappingURL=index.tsx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx.cjs","sources":["../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../node_modules/@radix-ui/react-label/dist/index.mjs","../../../node_modules/class-variance-authority/dist/index.mjs","../../../src/kapwa/label/index.tsx"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@lib/utils';\n\nconst labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n"],"names":["setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","NAME","Label","event","Root","cx","clsx","cva","base","config","labelVariants","className","LabelPrimitive.Root","cn"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"index.tsx.cjs","sources":["../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../node_modules/@radix-ui/react-label/dist/index.mjs","../../../node_modules/class-variance-authority/dist/index.mjs","../../../src/lib/kapwa/label/index.tsx"],"sourcesContent":["// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@kapwa/utils';\n\nconst labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n"],"names":["setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","NAME","Label","event","Root","cx","clsx","cva","base","config","labelVariants","className","LabelPrimitive.Root","cn"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -1,7 +1,7 @@
1
1
  import { j as f } from "../../jsx-runtime-DdAyboqB.js";
2
2
  import * as l from "react";
3
3
  import "react-dom";
4
- import { a as v, c as b } from "../../utils-BWXuiikn.js";
4
+ import { c as v, a as b } from "../../index-CRZxS9UL.js";
5
5
  function p(e, n) {
6
6
  if (typeof e == "function")
7
7
  return e(n);