@mieweb/ui 0.7.2-dev.0 → 0.7.2-dev.1

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 (103) hide show
  1. package/dist/CsvBlock-OTFG3PYZ.cjs +15 -0
  2. package/dist/{CsvBlock-LVJARITD.cjs.map → CsvBlock-OTFG3PYZ.cjs.map} +1 -1
  3. package/dist/CsvBlock-PUSTBQ5B.js +6 -0
  4. package/dist/{CsvBlock-VTYNQ75L.js.map → CsvBlock-PUSTBQ5B.js.map} +1 -1
  5. package/dist/HtmlPreviewBlock-QHLSIMWJ.cjs +15 -0
  6. package/dist/{HtmlPreviewBlock-F33P37UD.cjs.map → HtmlPreviewBlock-QHLSIMWJ.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-YF2YVKKX.js +6 -0
  8. package/dist/{HtmlPreviewBlock-N4PPVJLJ.js.map → HtmlPreviewBlock-YF2YVKKX.js.map} +1 -1
  9. package/dist/MermaidBlock-H3TWNC4D.js +6 -0
  10. package/dist/{MermaidBlock-HUT53CRG.js.map → MermaidBlock-H3TWNC4D.js.map} +1 -1
  11. package/dist/MermaidBlock-ZLLBO3VY.cjs +15 -0
  12. package/dist/{MermaidBlock-G5X4FPUN.cjs.map → MermaidBlock-ZLLBO3VY.cjs.map} +1 -1
  13. package/dist/SurveyBlock-JLHS3YQD.js +6 -0
  14. package/dist/{SurveyBlock-PM3ZMWWR.js.map → SurveyBlock-JLHS3YQD.js.map} +1 -1
  15. package/dist/SurveyBlock-M2ZRTGVJ.cjs +15 -0
  16. package/dist/{SurveyBlock-ORTPGA5T.cjs.map → SurveyBlock-M2ZRTGVJ.cjs.map} +1 -1
  17. package/dist/{chunk-6QVI6DAO.cjs → chunk-4CUFXCC5.cjs} +5 -5
  18. package/dist/{chunk-6QVI6DAO.cjs.map → chunk-4CUFXCC5.cjs.map} +1 -1
  19. package/dist/{chunk-6OCYG6J2.js → chunk-5J5PEUUA.js} +4 -4
  20. package/dist/{chunk-6OCYG6J2.js.map → chunk-5J5PEUUA.js.map} +1 -1
  21. package/dist/{chunk-WRYZ2752.js → chunk-D2GID3YK.js} +29 -6
  22. package/dist/chunk-D2GID3YK.js.map +1 -0
  23. package/dist/{chunk-VE6OUO7X.js → chunk-DWCYEPTT.js} +3 -3
  24. package/dist/{chunk-VE6OUO7X.js.map → chunk-DWCYEPTT.js.map} +1 -1
  25. package/dist/{chunk-NU6QKULE.js → chunk-EHQ77LL5.js} +3 -3
  26. package/dist/{chunk-NU6QKULE.js.map → chunk-EHQ77LL5.js.map} +1 -1
  27. package/dist/{chunk-PS5INHGC.js → chunk-EMMYFHOT.js} +3 -3
  28. package/dist/{chunk-PS5INHGC.js.map → chunk-EMMYFHOT.js.map} +1 -1
  29. package/dist/{chunk-ABAOZASX.cjs → chunk-FN6VHMLM.cjs} +8 -8
  30. package/dist/{chunk-ABAOZASX.cjs.map → chunk-FN6VHMLM.cjs.map} +1 -1
  31. package/dist/{chunk-H3HF36ZL.js → chunk-FPVRQCCL.js} +3 -3
  32. package/dist/{chunk-H3HF36ZL.js.map → chunk-FPVRQCCL.js.map} +1 -1
  33. package/dist/{chunk-5BDCQBYW.js → chunk-FTRGZOVJ.js} +3 -3
  34. package/dist/{chunk-5BDCQBYW.js.map → chunk-FTRGZOVJ.js.map} +1 -1
  35. package/dist/{chunk-7EB7665B.cjs → chunk-H7QSGFMZ.cjs} +8 -8
  36. package/dist/{chunk-7EB7665B.cjs.map → chunk-H7QSGFMZ.cjs.map} +1 -1
  37. package/dist/{chunk-OGPJ3LRF.cjs → chunk-JP5SGIXA.cjs} +4 -4
  38. package/dist/{chunk-OGPJ3LRF.cjs.map → chunk-JP5SGIXA.cjs.map} +1 -1
  39. package/dist/{chunk-TU36DBH2.cjs → chunk-K4S4FAYX.cjs} +9 -9
  40. package/dist/{chunk-TU36DBH2.cjs.map → chunk-K4S4FAYX.cjs.map} +1 -1
  41. package/dist/{chunk-3SRBIXQX.js → chunk-KRGKPUJH.js} +3 -3
  42. package/dist/{chunk-3SRBIXQX.js.map → chunk-KRGKPUJH.js.map} +1 -1
  43. package/dist/{chunk-NGLI2MSM.js → chunk-LC7YHZXM.js} +4 -4
  44. package/dist/{chunk-NGLI2MSM.js.map → chunk-LC7YHZXM.js.map} +1 -1
  45. package/dist/{chunk-6OQE4ZMG.cjs → chunk-LJBWCUKP.cjs} +8 -8
  46. package/dist/{chunk-6OQE4ZMG.cjs.map → chunk-LJBWCUKP.cjs.map} +1 -1
  47. package/dist/{chunk-BX5ZODPF.js → chunk-N3Y43KOB.js} +3 -3
  48. package/dist/{chunk-BX5ZODPF.js.map → chunk-N3Y43KOB.js.map} +1 -1
  49. package/dist/{chunk-RZFSJD67.js → chunk-NLBT5O2X.js} +3 -3
  50. package/dist/{chunk-RZFSJD67.js.map → chunk-NLBT5O2X.js.map} +1 -1
  51. package/dist/{chunk-VWCMOWGH.cjs → chunk-NQ2D2V6O.cjs} +16 -16
  52. package/dist/{chunk-VWCMOWGH.cjs.map → chunk-NQ2D2V6O.cjs.map} +1 -1
  53. package/dist/{chunk-7AMOKHTW.cjs → chunk-P3JEMF6E.cjs} +4 -4
  54. package/dist/{chunk-7AMOKHTW.cjs.map → chunk-P3JEMF6E.cjs.map} +1 -1
  55. package/dist/{chunk-M26KJKZG.cjs → chunk-RDGRKYQ5.cjs} +29 -6
  56. package/dist/chunk-RDGRKYQ5.cjs.map +1 -0
  57. package/dist/{chunk-Q5VBO3I5.cjs → chunk-SYIFEJSF.cjs} +26 -26
  58. package/dist/{chunk-Q5VBO3I5.cjs.map → chunk-SYIFEJSF.cjs.map} +1 -1
  59. package/dist/{chunk-CKRRJO7T.cjs → chunk-TVLZZI5Q.cjs} +5 -5
  60. package/dist/{chunk-CKRRJO7T.cjs.map → chunk-TVLZZI5Q.cjs.map} +1 -1
  61. package/dist/{chunk-QI2SB6U3.cjs → chunk-URHXR5SC.cjs} +14 -14
  62. package/dist/{chunk-QI2SB6U3.cjs.map → chunk-URHXR5SC.cjs.map} +1 -1
  63. package/dist/{chunk-MWPPOX6F.js → chunk-UZ5NGGMI.js} +4 -4
  64. package/dist/{chunk-MWPPOX6F.js.map → chunk-UZ5NGGMI.js.map} +1 -1
  65. package/dist/{chunk-RUEEDOE3.cjs → chunk-YIXTGWT4.cjs} +5 -5
  66. package/dist/{chunk-RUEEDOE3.cjs.map → chunk-YIXTGWT4.cjs.map} +1 -1
  67. package/dist/{chunk-OLFTGCGD.js → chunk-Z4PECE5S.js} +7 -7
  68. package/dist/{chunk-OLFTGCGD.js.map → chunk-Z4PECE5S.js.map} +1 -1
  69. package/dist/components/AlertDialog/index.cjs +3 -3
  70. package/dist/components/AlertDialog/index.js +2 -2
  71. package/dist/components/Button/index.cjs +3 -3
  72. package/dist/components/Button/index.js +1 -1
  73. package/dist/components/FloatingWindow/index.cjs +4 -4
  74. package/dist/components/FloatingWindow/index.js +2 -2
  75. package/dist/components/Markdown/index.cjs +16 -16
  76. package/dist/components/Markdown/index.js +7 -7
  77. package/dist/components/MediaEditor/index.cjs +8 -8
  78. package/dist/components/MediaEditor/index.js +3 -3
  79. package/dist/components/MediaPlayer/index.cjs +5 -5
  80. package/dist/components/MediaPlayer/index.js +2 -2
  81. package/dist/components/RichTextEditor/index.cjs +5 -5
  82. package/dist/components/RichTextEditor/index.js +2 -2
  83. package/dist/datavis.cjs +2 -2
  84. package/dist/datavis.js +1 -1
  85. package/dist/esheet.cjs +5 -5
  86. package/dist/esheet.js +2 -2
  87. package/dist/index.cjs +324 -265
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.d.cts +34 -1
  90. package/dist/index.d.ts +34 -1
  91. package/dist/index.js +75 -17
  92. package/dist/index.js.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/CsvBlock-LVJARITD.cjs +0 -15
  95. package/dist/CsvBlock-VTYNQ75L.js +0 -6
  96. package/dist/HtmlPreviewBlock-F33P37UD.cjs +0 -15
  97. package/dist/HtmlPreviewBlock-N4PPVJLJ.js +0 -6
  98. package/dist/MermaidBlock-G5X4FPUN.cjs +0 -15
  99. package/dist/MermaidBlock-HUT53CRG.js +0 -6
  100. package/dist/SurveyBlock-ORTPGA5T.cjs +0 -15
  101. package/dist/SurveyBlock-PM3ZMWWR.js +0 -6
  102. package/dist/chunk-M26KJKZG.cjs.map +0 -1
  103. package/dist/chunk-WRYZ2752.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mieweb/ui",
3
- "version": "0.7.2-dev.0",
3
+ "version": "0.7.2-dev.1",
4
4
  "description": "A themeable, accessible React component library built with Tailwind CSS",
5
5
  "author": "Medical Informatics Engineering, Inc.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkTU36DBH2_cjs = require('./chunk-TU36DBH2.cjs');
4
- require('./chunk-RUEEDOE3.cjs');
5
- require('./chunk-M26KJKZG.cjs');
6
- require('./chunk-S5RVSXDV.cjs');
7
-
8
-
9
-
10
- Object.defineProperty(exports, "CsvBlock", {
11
- enumerable: true,
12
- get: function () { return chunkTU36DBH2_cjs.CsvBlock; }
13
- });
14
- //# sourceMappingURL=CsvBlock-LVJARITD.cjs.map
15
- //# sourceMappingURL=CsvBlock-LVJARITD.cjs.map
@@ -1,6 +0,0 @@
1
- export { CsvBlock } from './chunk-6OCYG6J2.js';
2
- import './chunk-RZFSJD67.js';
3
- import './chunk-WRYZ2752.js';
4
- import './chunk-TQONQSJO.js';
5
- //# sourceMappingURL=CsvBlock-VTYNQ75L.js.map
6
- //# sourceMappingURL=CsvBlock-VTYNQ75L.js.map
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkABAOZASX_cjs = require('./chunk-ABAOZASX.cjs');
4
- require('./chunk-RUEEDOE3.cjs');
5
- require('./chunk-M26KJKZG.cjs');
6
- require('./chunk-S5RVSXDV.cjs');
7
-
8
-
9
-
10
- Object.defineProperty(exports, "HtmlPreviewBlock", {
11
- enumerable: true,
12
- get: function () { return chunkABAOZASX_cjs.HtmlPreviewBlock; }
13
- });
14
- //# sourceMappingURL=HtmlPreviewBlock-F33P37UD.cjs.map
15
- //# sourceMappingURL=HtmlPreviewBlock-F33P37UD.cjs.map
@@ -1,6 +0,0 @@
1
- export { HtmlPreviewBlock } from './chunk-MWPPOX6F.js';
2
- import './chunk-RZFSJD67.js';
3
- import './chunk-WRYZ2752.js';
4
- import './chunk-TQONQSJO.js';
5
- //# sourceMappingURL=HtmlPreviewBlock-N4PPVJLJ.js.map
6
- //# sourceMappingURL=HtmlPreviewBlock-N4PPVJLJ.js.map
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk7AMOKHTW_cjs = require('./chunk-7AMOKHTW.cjs');
4
- require('./chunk-RUEEDOE3.cjs');
5
- require('./chunk-M26KJKZG.cjs');
6
- require('./chunk-S5RVSXDV.cjs');
7
-
8
-
9
-
10
- Object.defineProperty(exports, "MermaidBlock", {
11
- enumerable: true,
12
- get: function () { return chunk7AMOKHTW_cjs.MermaidBlock; }
13
- });
14
- //# sourceMappingURL=MermaidBlock-G5X4FPUN.cjs.map
15
- //# sourceMappingURL=MermaidBlock-G5X4FPUN.cjs.map
@@ -1,6 +0,0 @@
1
- export { MermaidBlock } from './chunk-NU6QKULE.js';
2
- import './chunk-RZFSJD67.js';
3
- import './chunk-WRYZ2752.js';
4
- import './chunk-TQONQSJO.js';
5
- //# sourceMappingURL=MermaidBlock-HUT53CRG.js.map
6
- //# sourceMappingURL=MermaidBlock-HUT53CRG.js.map
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk6QVI6DAO_cjs = require('./chunk-6QVI6DAO.cjs');
4
- require('./chunk-RUEEDOE3.cjs');
5
- require('./chunk-M26KJKZG.cjs');
6
- require('./chunk-S5RVSXDV.cjs');
7
-
8
-
9
-
10
- Object.defineProperty(exports, "SurveyBlock", {
11
- enumerable: true,
12
- get: function () { return chunk6QVI6DAO_cjs.SurveyBlock; }
13
- });
14
- //# sourceMappingURL=SurveyBlock-ORTPGA5T.cjs.map
15
- //# sourceMappingURL=SurveyBlock-ORTPGA5T.cjs.map
@@ -1,6 +0,0 @@
1
- export { SurveyBlock } from './chunk-VE6OUO7X.js';
2
- import './chunk-RZFSJD67.js';
3
- import './chunk-WRYZ2752.js';
4
- import './chunk-TQONQSJO.js';
5
- //# sourceMappingURL=SurveyBlock-PM3ZMWWR.js.map
6
- //# sourceMappingURL=SurveyBlock-PM3ZMWWR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button/Button.tsx"],"names":["cva","React","jsx","cn","jsxs","Fragment"],"mappings":"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","file":"chunk-M26KJKZG.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst buttonVariants = cva(\n // Base styles\n [\n 'inline-flex items-center justify-center gap-2',\n 'font-semibold transition-all duration-200',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'active:scale-[0.98]',\n ],\n {\n variants: {\n variant: {\n primary: [\n 'bg-primary-800 text-white',\n 'hover:bg-primary-900',\n 'active:bg-primary-950',\n ],\n secondary: [\n 'bg-neutral-200 text-neutral-900',\n 'hover:bg-neutral-300',\n 'active:bg-neutral-400',\n 'dark:bg-neutral-700 dark:text-neutral-100',\n 'dark:hover:bg-neutral-600',\n 'dark:active:bg-neutral-500',\n ],\n ghost: [\n 'bg-transparent text-neutral-600',\n 'hover:bg-neutral-100',\n 'active:bg-neutral-200',\n 'dark:text-neutral-400',\n 'dark:hover:bg-neutral-800',\n 'dark:active:bg-neutral-700',\n ],\n outline: [\n 'border-2 border-primary-800 text-primary-800 bg-transparent',\n 'hover:bg-primary-50 hover:text-primary-900',\n 'active:bg-primary-100',\n 'dark:border-primary-400 dark:text-primary-400',\n 'dark:hover:bg-primary-950',\n 'dark:active:bg-primary-900',\n ],\n danger: [\n 'bg-red-600 text-white',\n 'hover:bg-red-700',\n 'active:bg-red-800',\n ],\n link: [\n 'text-primary-800 underline-offset-4',\n 'hover:underline hover:text-primary-900',\n 'active:text-primary-950',\n 'dark:text-primary-400',\n ],\n },\n size: {\n sm: 'h-8 px-3 text-sm rounded-md',\n md: 'h-10 px-4 text-base rounded-lg',\n lg: 'h-12 px-6 text-lg rounded-xl',\n icon: 'h-10 w-10 rounded-lg',\n },\n fullWidth: {\n true: 'w-full',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n fullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** Optional icon element to render before the button text */\n leftIcon?: React.ReactElement | null;\n /** Optional icon element to render after the button text */\n rightIcon?: React.ReactElement | null;\n /** Shows a loading spinner and disables the button */\n isLoading?: boolean;\n /** Accessible label for the loading state */\n loadingText?: string;\n}\n\n/**\n * A versatile button component with multiple variants and sizes.\n *\n * @example\n * ```tsx\n * <Button variant=\"primary\" size=\"md\">Click me</Button>\n * <Button variant=\"danger\" leftIcon={<TrashIcon />}>Delete</Button>\n * <Button variant=\"ghost\" isLoading loadingText=\"Saving...\">Save</Button>\n * ```\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n fullWidth,\n leftIcon,\n rightIcon,\n isLoading,\n loadingText,\n disabled,\n children,\n ...props\n },\n ref\n ) => {\n const resolvedSize = size ?? 'md';\n return (\n <button\n data-slot=\"button\"\n data-size={resolvedSize}\n className={cn(\n buttonVariants({ variant, size: resolvedSize, fullWidth }),\n className\n )}\n ref={ref}\n disabled={disabled || isLoading}\n aria-busy={isLoading}\n {...props}\n >\n {isLoading ? (\n <>\n <LoadingSpinner />\n {loadingText || children}\n </>\n ) : (\n <>\n {React.isValidElement(leftIcon) && (\n <span className=\"shrink-0\">{leftIcon}</span>\n )}\n {children}\n {React.isValidElement(rightIcon) && (\n <span className=\"shrink-0\">{rightIcon}</span>\n )}\n </>\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n\n/**\n * Simple loading spinner for the button\n */\nfunction LoadingSpinner() {\n return (\n <svg\n className=\"h-4 w-4 animate-spin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n 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 />\n </svg>\n );\n}\n\nexport { Button, buttonVariants };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button/Button.tsx"],"names":[],"mappings":"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","file":"chunk-WRYZ2752.js","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst buttonVariants = cva(\n // Base styles\n [\n 'inline-flex items-center justify-center gap-2',\n 'font-semibold transition-all duration-200',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'active:scale-[0.98]',\n ],\n {\n variants: {\n variant: {\n primary: [\n 'bg-primary-800 text-white',\n 'hover:bg-primary-900',\n 'active:bg-primary-950',\n ],\n secondary: [\n 'bg-neutral-200 text-neutral-900',\n 'hover:bg-neutral-300',\n 'active:bg-neutral-400',\n 'dark:bg-neutral-700 dark:text-neutral-100',\n 'dark:hover:bg-neutral-600',\n 'dark:active:bg-neutral-500',\n ],\n ghost: [\n 'bg-transparent text-neutral-600',\n 'hover:bg-neutral-100',\n 'active:bg-neutral-200',\n 'dark:text-neutral-400',\n 'dark:hover:bg-neutral-800',\n 'dark:active:bg-neutral-700',\n ],\n outline: [\n 'border-2 border-primary-800 text-primary-800 bg-transparent',\n 'hover:bg-primary-50 hover:text-primary-900',\n 'active:bg-primary-100',\n 'dark:border-primary-400 dark:text-primary-400',\n 'dark:hover:bg-primary-950',\n 'dark:active:bg-primary-900',\n ],\n danger: [\n 'bg-red-600 text-white',\n 'hover:bg-red-700',\n 'active:bg-red-800',\n ],\n link: [\n 'text-primary-800 underline-offset-4',\n 'hover:underline hover:text-primary-900',\n 'active:text-primary-950',\n 'dark:text-primary-400',\n ],\n },\n size: {\n sm: 'h-8 px-3 text-sm rounded-md',\n md: 'h-10 px-4 text-base rounded-lg',\n lg: 'h-12 px-6 text-lg rounded-xl',\n icon: 'h-10 w-10 rounded-lg',\n },\n fullWidth: {\n true: 'w-full',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n fullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** Optional icon element to render before the button text */\n leftIcon?: React.ReactElement | null;\n /** Optional icon element to render after the button text */\n rightIcon?: React.ReactElement | null;\n /** Shows a loading spinner and disables the button */\n isLoading?: boolean;\n /** Accessible label for the loading state */\n loadingText?: string;\n}\n\n/**\n * A versatile button component with multiple variants and sizes.\n *\n * @example\n * ```tsx\n * <Button variant=\"primary\" size=\"md\">Click me</Button>\n * <Button variant=\"danger\" leftIcon={<TrashIcon />}>Delete</Button>\n * <Button variant=\"ghost\" isLoading loadingText=\"Saving...\">Save</Button>\n * ```\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n fullWidth,\n leftIcon,\n rightIcon,\n isLoading,\n loadingText,\n disabled,\n children,\n ...props\n },\n ref\n ) => {\n const resolvedSize = size ?? 'md';\n return (\n <button\n data-slot=\"button\"\n data-size={resolvedSize}\n className={cn(\n buttonVariants({ variant, size: resolvedSize, fullWidth }),\n className\n )}\n ref={ref}\n disabled={disabled || isLoading}\n aria-busy={isLoading}\n {...props}\n >\n {isLoading ? (\n <>\n <LoadingSpinner />\n {loadingText || children}\n </>\n ) : (\n <>\n {React.isValidElement(leftIcon) && (\n <span className=\"shrink-0\">{leftIcon}</span>\n )}\n {children}\n {React.isValidElement(rightIcon) && (\n <span className=\"shrink-0\">{rightIcon}</span>\n )}\n </>\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n\n/**\n * Simple loading spinner for the button\n */\nfunction LoadingSpinner() {\n return (\n <svg\n className=\"h-4 w-4 animate-spin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n 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 />\n </svg>\n );\n}\n\nexport { Button, buttonVariants };\n"]}