@oneplatformdev/ui 0.1.99-beta.4 → 0.1.99-beta.40

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 (98) hide show
  1. package/Accordion/Accordion.d.ts +1 -1
  2. package/Accordion/Accordion.d.ts.map +1 -1
  3. package/Accordion/Accordion.js +48 -26
  4. package/Accordion/Accordion.js.map +1 -1
  5. package/Badge/badgeVariants.d.ts +1 -1
  6. package/Button/Button.d.ts +6 -6
  7. package/Button/Button.d.ts.map +1 -1
  8. package/Button/Button.js +44 -42
  9. package/Button/Button.js.map +1 -1
  10. package/Button/Button.stories.js +45 -53
  11. package/Button/Button.stories.js.map +1 -1
  12. package/Button/Button.types.d.ts +24 -1
  13. package/Button/Button.types.d.ts.map +1 -1
  14. package/Button/ButtonCounterBadge.d.ts +7 -0
  15. package/Button/ButtonCounterBadge.d.ts.map +1 -0
  16. package/Button/ButtonCounterBadge.js +20 -0
  17. package/Button/ButtonCounterBadge.js.map +1 -0
  18. package/Button/buttonVariants.d.ts +11 -20
  19. package/Button/buttonVariants.d.ts.map +1 -1
  20. package/Button/buttonVariants.js +76 -12
  21. package/Button/buttonVariants.js.map +1 -1
  22. package/Button/index.js +6 -5
  23. package/ButtonIcon/ButtonIcon.d.ts +30 -19
  24. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  25. package/ButtonIcon/ButtonIcon.js +70 -46
  26. package/ButtonIcon/ButtonIcon.js.map +1 -1
  27. package/ButtonIcon/ButtonIcon.stories.js +121 -78
  28. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  29. package/ButtonIcon/ButtonIcon.types.d.ts +2 -1
  30. package/ButtonIcon/ButtonIcon.types.d.ts.map +1 -1
  31. package/ButtonIcon/buttonIconVariants.d.ts +1 -1
  32. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  33. package/ButtonIcon/buttonIconVariants.js +7 -6
  34. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  35. package/CHANGELOG.md +466 -0
  36. package/Combobox/Combobox.d.ts.map +1 -1
  37. package/Combobox/Combobox.js +25 -26
  38. package/Combobox/Combobox.js.map +1 -1
  39. package/Combobox/Combobox.stories.js +192 -0
  40. package/Combobox/Combobox.stories.js.map +1 -0
  41. package/Combobox/ComboboxOptions.d.ts.map +1 -1
  42. package/Combobox/ComboboxOptions.js +42 -42
  43. package/Combobox/ComboboxOptions.js.map +1 -1
  44. package/Dialog/Dialog.js +13 -13
  45. package/Dialog/Dialog.js.map +1 -1
  46. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  47. package/DropdownMenu/DropdownMenu.js +33 -20
  48. package/DropdownMenu/DropdownMenu.js.map +1 -1
  49. package/Form/Form.d.ts.map +1 -1
  50. package/Form/Form.js.map +1 -1
  51. package/Form/FormRenderControl.d.ts.map +1 -1
  52. package/Form/FormRenderControl.js +26 -13
  53. package/Form/FormRenderControl.js.map +1 -1
  54. package/Form/FormRenderControl.types.d.ts +2 -1
  55. package/Form/FormRenderControl.types.d.ts.map +1 -1
  56. package/Form/FormTooltipButton.d.ts +6 -0
  57. package/Form/FormTooltipButton.d.ts.map +1 -0
  58. package/Form/FormTooltipButton.js +34 -0
  59. package/Form/FormTooltipButton.js.map +1 -0
  60. package/FormInput/FormInput.d.ts.map +1 -1
  61. package/FormInput/FormInput.js +22 -21
  62. package/FormInput/FormInput.js.map +1 -1
  63. package/Input/Input.js +1 -1
  64. package/Input/Input.js.map +1 -1
  65. package/Input/inputVariants.d.ts.map +1 -1
  66. package/Input/inputVariants.js +5 -4
  67. package/Input/inputVariants.js.map +1 -1
  68. package/LoadedIcon/LoadedIcon.d.ts.map +1 -1
  69. package/LoadedIcon/LoadedIcon.js +3 -1
  70. package/LoadedIcon/LoadedIcon.js.map +1 -1
  71. package/Resizable/Resizable.d.ts +5 -20
  72. package/Resizable/Resizable.d.ts.map +1 -1
  73. package/Resizable/Resizable.js +48 -31
  74. package/Resizable/Resizable.js.map +1 -1
  75. package/Resizable/Resizable.stories.js +140 -0
  76. package/Resizable/Resizable.stories.js.map +1 -0
  77. package/Search/Search.js +12 -12
  78. package/Search/Search.js.map +1 -1
  79. package/Search/Search.stories.js +17 -0
  80. package/Search/Search.stories.js.map +1 -0
  81. package/Textarea/Textarea.d.ts.map +1 -1
  82. package/Textarea/Textarea.js +50 -45
  83. package/Textarea/Textarea.js.map +1 -1
  84. package/Textarea/Textarea.stories.js +12 -0
  85. package/Textarea/Textarea.stories.js.map +1 -0
  86. package/Textarea/Textarea.types.d.ts +3 -1
  87. package/Textarea/Textarea.types.d.ts.map +1 -1
  88. package/Textarea/useAutosizeTextArea.d.ts +1 -1
  89. package/Textarea/useAutosizeTextArea.d.ts.map +1 -1
  90. package/Textarea/useAutosizeTextArea.js.map +1 -1
  91. package/Tooltip/Tooltip.d.ts.map +1 -1
  92. package/Tooltip/Tooltip.js.map +1 -1
  93. package/index.js +326 -325
  94. package/package.json +7 -4
  95. package/Button/Button.s.d.ts +0 -83
  96. package/Button/Button.s.d.ts.map +0 -1
  97. package/Button/Button.s.js +0 -163
  98. package/Button/Button.s.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
3
- declare function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
3
+ declare function Accordion(props: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
4
  declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
5
  declare function AccordionTrigger({ className, children, showChevron, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger> & {
6
6
  showChevron?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAA;AAK/D,iBAAS,SAAS,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAEzE;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAQ7E;AAED,iBAAS,gBAAgB,CAAC,EACE,SAAS,EACT,QAAQ,EACR,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,2CAgB/G;AAED,iBAAS,gBAAgB,CAAC,EACE,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAUnF;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion/Accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAA;AAK/D,iBAAS,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAe7E;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAY7E;AAED,iBAAS,gBAAgB,CAAC,EACE,SAAS,EACT,QAAQ,EACR,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,2CAsB/G;AAED,iBAAS,gBAAgB,CAAC,EACE,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAUnF;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -1,50 +1,72 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
2
  import * as n from "@radix-ui/react-accordion";
3
- import { ChevronDownIcon as c } from "lucide-react";
3
+ import { ChevronRightIcon as s } from "lucide-react";
4
4
  import { cn as i } from "@oneplatformdev/utils";
5
- function u({
6
- ...t
7
- }) {
8
- return /* @__PURE__ */ e(n.Root, { "data-slot": "accordion", ...t });
5
+ function u(o) {
6
+ const {
7
+ className: t,
8
+ ...r
9
+ } = o;
10
+ return /* @__PURE__ */ e(
11
+ n.Root,
12
+ {
13
+ "data-slot": "accordion",
14
+ className: i(
15
+ "group group/accordion",
16
+ t
17
+ ),
18
+ ...r
19
+ }
20
+ );
9
21
  }
10
- function f({
11
- className: t,
12
- ...o
22
+ function p({
23
+ className: o,
24
+ ...t
13
25
  }) {
14
26
  return /* @__PURE__ */ e(
15
27
  n.Item,
16
28
  {
17
29
  "data-slot": "accordion-item",
18
- className: i("border-b last:border-b-0", t),
19
- ...o
30
+ className: i(
31
+ "group group/accordion-item",
32
+ "border-b last:border-b-0",
33
+ o
34
+ ),
35
+ ...t
20
36
  }
21
37
  );
22
38
  }
23
- function p({
24
- className: t,
25
- children: o,
39
+ function g({
40
+ className: o,
41
+ children: t,
26
42
  showChevron: r = !0,
27
43
  ...a
28
44
  }) {
29
- return /* @__PURE__ */ e(n.Header, { className: "flex", children: /* @__PURE__ */ s(
45
+ return /* @__PURE__ */ e(n.Header, { className: "flex", children: /* @__PURE__ */ c(
30
46
  n.Trigger,
31
47
  {
32
48
  "data-slot": "accordion-trigger",
33
49
  className: i(
34
- "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
35
- t
50
+ "group group/accordion-trigger",
51
+ "flex flex-1 items-start justify-between gap-4 rounded-md py-4",
52
+ "text-left text-sm font-medium",
53
+ "transition-all outline-none",
54
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
55
+ "disabled:pointer-events-none disabled:opacity-50",
56
+ "[&[data-state=open]>svg]:rotate-90",
57
+ o
36
58
  ),
37
59
  ...a,
38
60
  children: [
39
- o,
40
- r && /* @__PURE__ */ e(c, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
61
+ r && /* @__PURE__ */ e(s, { "data-slot": "accordion-chevrone", className: "text-[#06080D] pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" }),
62
+ t
41
63
  ]
42
64
  }
43
65
  ) });
44
66
  }
45
- function g({
46
- className: t,
47
- children: o,
67
+ function f({
68
+ className: o,
69
+ children: t,
48
70
  ...r
49
71
  }) {
50
72
  return /* @__PURE__ */ e(
@@ -53,14 +75,14 @@ function g({
53
75
  "data-slot": "accordion-content",
54
76
  className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
55
77
  ...r,
56
- children: /* @__PURE__ */ e("div", { className: i("pt-0 pb-4", t), children: o })
78
+ children: /* @__PURE__ */ e("div", { className: i("group group/accordion-content", "pt-0 pb-4", o), children: t })
57
79
  }
58
80
  );
59
81
  }
60
82
  export {
61
83
  u as Accordion,
62
- g as AccordionContent,
63
- f as AccordionItem,
64
- p as AccordionTrigger
84
+ f as AccordionContent,
85
+ p as AccordionItem,
86
+ g as AccordionTrigger
65
87
  };
66
88
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDownIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Accordion({\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />\n}\n\nfunction AccordionItem({\n className,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n showChevron = true,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Trigger> & { showChevron?: boolean }) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n {showChevron && <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"names":["Accordion","props","AccordionPrimitive","AccordionItem","className","jsx","cn","AccordionTrigger","children","showChevron","jsxs","ChevronDownIcon","AccordionContent"],"mappings":";;;;AAQA,SAASA,EAAU;AAAA,EACE,GAAGC;AACL,GAAyD;AAC1E,2BAAQC,EAAmB,MAAnB,EAAwB,aAAU,aAAa,GAAGD,GAAO;AACnE;AAEA,SAASE,EAAc;AAAA,EACE,WAAAC;AAAA,EACA,GAAGH;AACL,GAAyD;AAC9E,SACE,gBAAAI;AAAA,IAACH,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWI,EAAG,4BAA4BF,CAAS;AAAA,MAClD,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAiB;AAAA,EACE,WAAAH;AAAA,EACA,UAAAI;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,GAAGR;AACL,GAAwF;AAChH,SACE,gBAAAI,EAACH,EAAmB,QAAnB,EAA0B,WAAU,QACnC,UAAA,gBAAAQ;AAAA,IAACR,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWI;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGH;AAAA,MAEH,UAAA;AAAA,QAAAO;AAAA,QACAC,KAAe,gBAAAJ,EAACM,GAAA,EAAgB,WAAU,8GAAA,CAA8G;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE7J;AAEJ;AAEA,SAASC,EAAiB;AAAA,EACE,WAAAR;AAAA,EACA,UAAAI;AAAA,EACA,GAAGP;AACL,GAA4D;AACpF,SACE,gBAAAI;AAAA,IAACH,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAU;AAAA,MACT,GAAGD;AAAA,MAEJ,4BAAC,OAAA,EAAI,WAAWK,EAAG,aAAaF,CAAS,GAAI,UAAAI,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG5D;"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronRightIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Accordion(props: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n const {\n className,\n ...rest\n } = props;\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n 'group group/accordion',\n className\n )}\n {...rest}\n />\n )\n}\n\nfunction AccordionItem({\n className,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\n 'group group/accordion-item',\n \"border-b last:border-b-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n showChevron = true,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Trigger> & { showChevron?: boolean }) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'group group/accordion-trigger',\n 'flex flex-1 items-start justify-between gap-4 rounded-md py-4',\n 'text-left text-sm font-medium',\n 'transition-all outline-none',\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n 'disabled:pointer-events-none disabled:opacity-50',\n '[&[data-state=open]>svg]:rotate-90',\n className\n )}\n {...props}\n >\n {showChevron && <ChevronRightIcon data-slot=\"accordion-chevrone\" className=\"text-[#06080D] pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />}\n {children}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('group group/accordion-content', \"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"names":["Accordion","props","className","rest","jsx","AccordionPrimitive","cn","AccordionItem","AccordionTrigger","children","showChevron","jsxs","ChevronRightIcon","AccordionContent"],"mappings":";;;;AAQA,SAASA,EAAUC,GAA6D;AAC9E,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDF;AACJ,SACE,gBAAAG;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAc;AAAA,EACE,WAAAL;AAAA,EACA,GAAGD;AACL,GAAyD;AAC9E,SACE,gBAAAG;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAiB;AAAA,EACE,WAAAN;AAAA,EACA,UAAAO;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,GAAGT;AACL,GAAwF;AAChH,SACE,gBAAAG,EAACC,EAAmB,QAAnB,EAA0B,WAAU,QACnC,UAAA,gBAAAM;AAAA,IAACN,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGD;AAAA,MAEH,UAAA;AAAA,QAAAS,KAAe,gBAAAN,EAACQ,GAAA,EAAiB,aAAU,sBAAqB,WAAU,wGAAuG;AAAA,QACjLH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;AAEA,SAASI,EAAiB;AAAA,EACE,WAAAX;AAAA,EACA,UAAAO;AAAA,EACA,GAAGR;AACL,GAA4D;AACpF,SACE,gBAAAG;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAU;AAAA,MACT,GAAGJ;AAAA,MAEJ,UAAA,gBAAAG,EAAC,SAAI,WAAWE,EAAG,iCAAiC,aAAaJ,CAAS,GAAI,UAAAO,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG7F;"}
@@ -1,4 +1,4 @@
1
1
  export declare const badgeVariants: (props?: ({
2
- variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
2
+ variant?: "default" | "destructive" | "secondary" | "outline" | null | undefined;
3
3
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
4
4
  //# sourceMappingURL=badgeVariants.d.ts.map
@@ -51,12 +51,12 @@ import * as React from "react";
51
51
  * ```tsx
52
52
  * <Button disabled>Disabled</Button>
53
53
  * ```
54
- * > With custom variant props (CVA powered):
55
- * ```tsx
56
- * <Button variant="primary" color="blue" size="md">
57
- * Save
58
- * </Button>
59
- * ```
54
+ *
55
+ * Sizes
56
+ * xs compact, for tight UI areas. Classes: rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14.
57
+ * sm — small; slightly larger than xs. Classes: rounded-md p-1 gap-1 text-sm min-h-6 min-w-20.
58
+ * md — default/text-heavy buttons. Classes: min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1 text-sm leading-[1.12] [&_svg]:size-6.
59
+ * lg — large/call-to-action. Classes: min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2 text-base leading-normal [&_svg]:size-6.
60
60
  *
61
61
  * @remarks
62
62
  * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAsDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,eAAO,MAAM,MAAM,uFAuElB,CAAA;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,MAAM,uFA0ElB,CAAA;AAED,eAAe,MAAM,CAAC"}
package/Button/Button.js CHANGED
@@ -1,74 +1,76 @@
1
- import { jsxs as x, Fragment as E, jsx as a } from "react/jsx-runtime";
2
- import * as N from "react";
1
+ import { jsxs as N, Fragment as E, jsx as o } from "react/jsx-runtime";
2
+ import * as R from "react";
3
3
  import { isValidElement as V, createElement as j } from "react";
4
4
  import { Slot as C } from "@radix-ui/react-slot";
5
5
  import { cn as I } from "@oneplatformdev/utils";
6
- import { buttonVariants as R } from "./buttonVariants.js";
6
+ import { buttonVariants as F } from "./buttonVariants.js";
7
7
  import "@radix-ui/react-tooltip";
8
- import { Tooltip as F } from "../Tooltip/Tooltip.js";
9
- import { LoadedIcon as f } from "../LoadedIcon/LoadedIcon.js";
10
- const L = (t) => {
11
- const { variant: n, size: r, color: i } = t, e = { color: i, variant: n, size: r };
12
- if (n === "default")
8
+ import { Tooltip as L } from "../Tooltip/Tooltip.js";
9
+ import { LoadedIcon as y } from "../LoadedIcon/LoadedIcon.js";
10
+ const S = (n) => {
11
+ const { variant: t, size: r, color: s } = n, e = { color: s, variant: t, size: r };
12
+ if (t === "default")
13
13
  return console.warn('Button variant "default" is deprecated. Please use "variant=contained color=primary" instead.'), e.variant = "contained", e.color = "primary", e;
14
14
  if (r === "icon")
15
15
  return console.warn('Button size "icon" is deprecated. Please use "<ButtonIcon/>" component instead.'), e.variant = "contained", e.color = "secondary", e;
16
- if (n === "transparent")
16
+ if (t === "transparent")
17
17
  throw console.warn('Button variant "transparent" is removed. Please use "variant=none" instead.'), new Error('Button variant "transparent" is removed. Please use "variant=none" instead.');
18
- return n === "outline" ? (console.warn('Button variant "outline" is deprecated. Please use "variant=outlined color=primary" instead.'), e.variant = "outlined", e.color = "primary", e) : n === "secondary" ? (console.warn('Button variant "secondary" is deprecated. Please use "variant=contained color=secondary" instead.'), e.variant = "contained", e.color = "secondary", e) : (n === "destructive" && (console.warn('Button variant "destructive" is deprecated. Please use "variant=contained color=error" instead.'), e.variant = "contained", e.color = "error"), e);
19
- }, y = (t) => t ? V(t) ? t : j(t) : null, S = N.forwardRef(
20
- (t, n) => {
18
+ return t === "outline" ? (console.warn('Button variant "outline" is deprecated. Please use "variant=outlined color=primary" instead.'), e.variant = "outlined", e.color = "primary", e) : t === "secondary" ? (console.warn('Button variant "secondary" is deprecated. Please use "variant=contained color=secondary" instead.'), e.variant = "contained", e.color = "secondary", e) : (t === "destructive" && (console.warn('Button variant "destructive" is deprecated. Please use "variant=contained color=error" instead.'), e.variant = "contained", e.color = "error"), e);
19
+ }, B = (n) => n ? V(n) ? n : j(n) : null, T = R.forwardRef(
20
+ (n, t) => {
21
21
  const {
22
22
  disabled: r,
23
- className: i,
23
+ className: s,
24
24
  variant: e,
25
- color: B,
26
- size: s,
27
- asChild: l = !1,
25
+ color: h,
26
+ size: c,
27
+ asChild: d = !1,
28
28
  title: w = "",
29
29
  tooltip: P,
30
- tooltipProps: d = {},
31
- message: h,
32
- loading: o = !1,
33
- children: u,
30
+ tooltipProps: u = {},
31
+ message: g,
32
+ loading: a = !1,
33
+ children: p,
34
34
  startAdornment: m,
35
- endAdornment: p,
36
- ...g
37
- } = t, b = l ? C : "button", c = h || P || w, z = l ? u : /* @__PURE__ */ x(E, { children: [
38
- !!m && /* @__PURE__ */ a(f, { loading: o, size: s, children: y(m) }),
39
- u,
40
- !!p && /* @__PURE__ */ a(f, { loading: o, size: s, children: y(p) })
41
- ] }), v = /* @__PURE__ */ a(
42
- b,
35
+ endAdornment: f,
36
+ screenReader: i,
37
+ ...b
38
+ } = n, x = d ? C : "button", l = g || P || w, z = d ? p : /* @__PURE__ */ N(E, { children: [
39
+ !!m && /* @__PURE__ */ o(y, { loading: a, size: c, children: B(m) }),
40
+ p,
41
+ !!f && /* @__PURE__ */ o(y, { loading: a, size: c, children: B(f) }),
42
+ !!i && /* @__PURE__ */ o("span", { className: "sr-only", children: typeof i == "string" ? i : i.text })
43
+ ] }), v = /* @__PURE__ */ o(
44
+ x,
43
45
  {
44
46
  type: "button",
45
- ref: n,
47
+ ref: t,
46
48
  disabled: r,
47
49
  className: I(
48
- R({
49
- ...L({ variant: e, size: s, color: B }),
50
- className: i
50
+ F({
51
+ ...S({ variant: e, size: c, color: h }),
52
+ className: s
51
53
  }),
52
- o && "pointer-events-none opacity-80 user-select-none"
54
+ a && "pointer-events-none opacity-80 user-select-none"
53
55
  ),
54
- ...g,
56
+ ...b,
55
57
  children: z
56
58
  }
57
59
  );
58
- return c ? /* @__PURE__ */ a(
59
- F,
60
+ return l ? /* @__PURE__ */ o(
61
+ L,
60
62
  {
61
- ...d || {},
62
- open: d.open ?? (r || o || !c) ? !1 : void 0,
63
- message: c,
63
+ ...u || {},
64
+ open: u.open ?? (r || a || !l) ? !1 : void 0,
65
+ message: l,
64
66
  children: v
65
67
  }
66
68
  ) : v;
67
69
  }
68
70
  );
69
- S.displayName = "Button";
71
+ T.displayName = "Button";
70
72
  export {
71
- S as Button,
72
- S as default
73
+ T as Button,
74
+ T as default
73
75
  };
74
76
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { ButtonCVAProps, buttonVariants } from './buttonVariants';\nimport { ButtonAdornmentProps, type ButtonProps } from './Button.types';\n\nimport { Tooltip } from '../Tooltip';\nimport { LoadedIcon } from \"../LoadedIcon\";\nimport { createElement, isValidElement } from \"react\";\n\nconst normalizedVariantProperties = (props: ButtonCVAProps): ButtonCVAProps => {\n const { variant, size, color } = props;\n const vls = { color, variant, size }\n if (variant === 'default') {\n console.warn('Button variant \"default\" is deprecated. Please use \"variant=contained color=primary\" instead.')\n vls.variant = 'contained'\n vls.color = 'primary'\n return vls\n }\n if ((size as string) === 'icon') {\n console.warn('Button size \"icon\" is deprecated. Please use \"<ButtonIcon/>\" component instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n // throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if ((variant as string) === 'transparent') {\n console.warn('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if (variant === 'outline') {\n console.warn('Button variant \"outline\" is deprecated. Please use \"variant=outlined color=primary\" instead.')\n vls.variant = 'outlined'\n vls.color = 'primary'\n return vls\n }\n if (variant === 'secondary') {\n console.warn('Button variant \"secondary\" is deprecated. Please use \"variant=contained color=secondary\" instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n }\n if (variant === 'destructive') {\n console.warn('Button variant \"destructive\" is deprecated. Please use \"variant=contained color=error\" instead.')\n vls.variant = 'contained'\n vls.color = 'error'\n return vls\n }\n return vls;\n}\n\n\nconst renderAdornment = (Adornment?: ButtonAdornmentProps) => {\n if (!Adornment) return null;\n if (isValidElement(Adornment)) return Adornment;\n return createElement(Adornment);\n};\n\n/**\n * Universal Button component used for triggering actions and UI interactions.\n * Supports variants, sizes, colors, start/end icon adornments, custom slot content,\n * tooltip integration, loading state, and polymorphic rendering via `asChild`.\n *\n * @public\n * @see [Documentation](#) // TODO: add link to docs\n *\n * @example\n * > Import:\n * ```tsx\n * import { Button } from '@oneplatformdev/ui/Button';\n * ```\n * > Basic usage:\n * ```tsx\n * <Button>Click me</Button>\n * ```\n * > Variant and size:\n * ```tsx\n * <Button variant=\"outline\" size=\"lg\">Large Button</Button>\n * ```\n * > With icons:\n * ```tsx\n * <Button startAdornment={<PlusIcon />}>Create</Button>\n * <Button endAdornment={<ArrowRightIcon />}>Next</Button>\n * ```\n * > Icon style button:\n * ```tsx\n * <Button size=\"icon\">\n * <PlusIcon />\n * </Button>\n * ```\n * > Polymorphic rendering (`asChild`):\n * ```tsx\n * <Button asChild>\n * <a href=\"/dashboard\">Go to Dashboard</a>\n * </Button>\n * ```\n * > Tooltip via `message` or native `title`:\n * ```tsx\n * <Button title=\"Tooltip text\">Hover me</Button>\n * <Button message=\"Tooltip content\">Hover me</Button>\n * ```\n * > Loading state:\n * ```tsx\n * <Button loading>Processing...</Button>\n * ```\n * > Disabled:\n * ```tsx\n * <Button disabled>Disabled</Button>\n * ```\n * > With custom variant props (CVA powered):\n * ```tsx\n * <Button variant=\"primary\" color=\"blue\" size=\"md\">\n * Save\n * </Button>\n * ```\n *\n * @remarks\n * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.\n * - Works with any SVG React component or element, e.g. lucide-react, heroicons, custom icons.\n *\n * @see {@link ButtonIcon} for icon-only buttons\n */\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n disabled,\n className,\n variant,\n color,\n size,\n asChild = false,\n title = '',\n tooltip,\n tooltipProps = {},\n message,\n loading = false,\n children,\n startAdornment,\n endAdornment,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\"\n const msg = message || tooltip || title;\n\n const content = asChild\n ? children\n : (\n <>\n {!!startAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(startAdornment)}\n </LoadedIcon>\n )}\n\n {children}\n\n {!!endAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(endAdornment)}\n </LoadedIcon>\n )}\n </>\n )\n\n const cmp = (\n <Comp\n type='button'\n ref={ref}\n disabled={disabled}\n className={cn(\n buttonVariants({\n ...normalizedVariantProperties({ variant, size, color }),\n className\n }),\n loading && 'pointer-events-none opacity-80 user-select-none',\n )}\n {...rest}\n >\n {content}\n </Comp>\n )\n\n if (!msg) return cmp\n return (\n <Tooltip\n {...(tooltipProps || {})}\n open={tooltipProps.open ?? (disabled || loading || !msg) ? false : undefined}\n message={msg}\n >\n {cmp}\n </Tooltip>\n )\n }\n)\nButton.displayName = \"Button\"\nexport default Button;\n"],"names":["normalizedVariantProperties","props","variant","size","color","vls","renderAdornment","Adornment","isValidElement","createElement","Button","React","ref","disabled","className","asChild","title","tooltip","tooltipProps","message","loading","children","startAdornment","endAdornment","rest","Comp","Slot","msg","content","jsxs","Fragment","jsx","LoadedIcon","cmp","cn","buttonVariants","Tooltip"],"mappings":";;;;;;;;;AAWA,MAAMA,IAA8B,CAACC,MAA0C;AAC7E,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,EAAA,IAAUH,GAC3BI,IAAM,EAAE,OAAAD,GAAO,SAAAF,GAAS,MAAAC,EAAA;AAC9B,MAAID,MAAY;AACd,mBAAQ,KAAK,+FAA+F,GAC5GG,EAAI,UAAU,aACdA,EAAI,QAAQ,WACLA;AAET,MAAKF,MAAoB;AACvB,mBAAQ,KAAK,iFAAiF,GAC9FE,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA;AAGT,MAAKH,MAAuB;AAC1B,kBAAQ,KAAK,6EAA6E,GACpF,IAAI,MAAM,6EAA6E;AAE/F,SAAIA,MAAY,aACd,QAAQ,KAAK,8FAA8F,GAC3GG,EAAI,UAAU,YACdA,EAAI,QAAQ,WACLA,KAELH,MAAY,eACd,QAAQ,KAAK,mGAAmG,GAChHG,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA,MAELH,MAAY,kBACd,QAAQ,KAAK,iGAAiG,GAC9GG,EAAI,UAAU,aACdA,EAAI,QAAQ,UACLA;AAGX,GAGMC,IAAkB,CAACC,MAClBA,IACDC,EAAeD,CAAS,IAAUA,IAC/BE,EAAcF,CAAS,IAFP,MAsEZG,IAASC,EAAM;AAAA,EAC1B,CAACV,GAAOW,MAAQ;AACd,UAAM;AAAA,MACJ,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAZ;AAAA,MACA,OAAAE;AAAA,MACA,MAAAD;AAAA,MACA,SAAAY,IAAU;AAAA,MACV,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,cAAAC,IAAe,CAAA;AAAA,MACf,SAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDvB,GACEwB,IAAOV,IAAUW,IAAO,UACxBC,IAAMR,KAAWF,KAAWD,GAE5BY,IAAUb,IACZM,IAEA,gBAAAQ,EAAAC,GAAA,EACG,UAAA;AAAA,MAAA,CAAC,CAACR,KACD,gBAAAS,EAACC,GAAA,EAAW,SAAAZ,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBgB,CAAc,GACjC;AAAA,MAGDD;AAAA,MAEA,CAAC,CAACE,KACD,gBAAAQ,EAACC,KAAW,SAAAZ,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBiB,CAAY,EAAA,CAC/B;AAAA,IAAA,GAEJ,GAGEU,IACJ,gBAAAF;AAAA,MAACN;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAb;AAAA,QACA,UAAAC;AAAA,QACA,WAAWqB;AAAA,UACTC,EAAe;AAAA,YACb,GAAGnC,EAA4B,EAAE,SAAAE,GAAS,MAAAC,GAAM,OAAAC,GAAO;AAAA,YACvD,WAAAU;AAAA,UAAA,CACD;AAAA,UACDM,KAAW;AAAA,QAAA;AAAA,QAEZ,GAAGI;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAIL,WAAKD,IAEH,gBAAAI;AAAA,MAACK;AAAA,MAAA;AAAA,QACE,GAAIlB,KAAgB,CAAA;AAAA,QACrB,MAAMA,EAAa,SAASL,KAAYO,KAAW,CAACO,KAAO,KAAQ;AAAA,QACnE,SAASA;AAAA,QAER,UAAAM;AAAA,MAAA;AAAA,IAAA,IAPYA;AAAA,EAUnB;AACF;AACAvB,EAAO,cAAc;"}
1
+ {"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { ButtonVarianceProps, buttonVariants } from './buttonVariants';\nimport { ButtonAdornmentProps, type ButtonProps } from './Button.types';\n\nimport { Tooltip } from '../Tooltip';\nimport { LoadedIcon } from \"../LoadedIcon\";\nimport { createElement, isValidElement } from \"react\";\n\nconst normalizedVariantProperties = (props: ButtonVarianceProps): ButtonVarianceProps => {\n const { variant, size, color } = props;\n const vls = { color, variant, size }\n if ((variant as string) === 'default') {\n console.warn('Button variant \"default\" is deprecated. Please use \"variant=contained color=primary\" instead.')\n vls.variant = 'contained'\n vls.color = 'primary'\n return vls\n }\n if ((size as string) === 'icon') {\n console.warn('Button size \"icon\" is deprecated. Please use \"<ButtonIcon/>\" component instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n // throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if ((variant as string) === 'transparent') {\n console.warn('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if ((variant as string) === 'outline') {\n console.warn('Button variant \"outline\" is deprecated. Please use \"variant=outlined color=primary\" instead.')\n vls.variant = 'outlined'\n vls.color = 'primary'\n return vls\n }\n if ((variant as string) === 'secondary') {\n console.warn('Button variant \"secondary\" is deprecated. Please use \"variant=contained color=secondary\" instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n }\n if ((variant as string) === 'destructive') {\n console.warn('Button variant \"destructive\" is deprecated. Please use \"variant=contained color=error\" instead.')\n vls.variant = 'contained'\n vls.color = 'error'\n return vls\n }\n return vls;\n}\n\nconst renderAdornment = (Adornment?: ButtonAdornmentProps) => {\n if (!Adornment) return null;\n if (isValidElement(Adornment)) return Adornment;\n return createElement(Adornment);\n};\n\n/**\n * Universal Button component used for triggering actions and UI interactions.\n * Supports variants, sizes, colors, start/end icon adornments, custom slot content,\n * tooltip integration, loading state, and polymorphic rendering via `asChild`.\n *\n * @public\n * @see [Documentation](#) // TODO: add link to docs\n *\n * @example\n * > Import:\n * ```tsx\n * import { Button } from '@oneplatformdev/ui/Button';\n * ```\n * > Basic usage:\n * ```tsx\n * <Button>Click me</Button>\n * ```\n * > Variant and size:\n * ```tsx\n * <Button variant=\"outline\" size=\"lg\">Large Button</Button>\n * ```\n * > With icons:\n * ```tsx\n * <Button startAdornment={<PlusIcon />}>Create</Button>\n * <Button endAdornment={<ArrowRightIcon />}>Next</Button>\n * ```\n * > Icon style button:\n * ```tsx\n * <Button size=\"icon\">\n * <PlusIcon />\n * </Button>\n * ```\n * > Polymorphic rendering (`asChild`):\n * ```tsx\n * <Button asChild>\n * <a href=\"/dashboard\">Go to Dashboard</a>\n * </Button>\n * ```\n * > Tooltip via `message` or native `title`:\n * ```tsx\n * <Button title=\"Tooltip text\">Hover me</Button>\n * <Button message=\"Tooltip content\">Hover me</Button>\n * ```\n * > Loading state:\n * ```tsx\n * <Button loading>Processing...</Button>\n * ```\n * > Disabled:\n * ```tsx\n * <Button disabled>Disabled</Button>\n * ```\n *\n * Sizes\n * xs compact, for tight UI areas. Classes: rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14.\n * sm small; slightly larger than xs. Classes: rounded-md p-1 gap-1 text-sm min-h-6 min-w-20.\n * md — default/text-heavy buttons. Classes: min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1 text-sm leading-[1.12] [&_svg]:size-6.\n * lg — large/call-to-action. Classes: min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2 text-base leading-normal [&_svg]:size-6.\n *\n * @remarks\n * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.\n * - Works with any SVG React component or element, e.g. lucide-react, heroicons, custom icons.\n *\n * @see {@link ButtonIcon} for icon-only buttons\n */\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n disabled,\n className,\n variant,\n color,\n size,\n asChild = false,\n title = '',\n tooltip,\n tooltipProps = {},\n message,\n loading = false,\n children,\n startAdornment,\n endAdornment,\n screenReader,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\"\n const msg = message || tooltip || title;\n\n const content = asChild\n ? children\n : (\n <>\n {!!startAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(startAdornment)}\n </LoadedIcon>\n )}\n\n {children}\n\n {!!endAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(endAdornment)}\n </LoadedIcon>\n )}\n\n {!!screenReader && <span className=\"sr-only\">{typeof screenReader === 'string' ? screenReader : screenReader.text}</span>}\n </>\n )\n\n const cmp = (\n <Comp\n type='button'\n ref={ref}\n disabled={disabled}\n className={cn(\n buttonVariants({\n ...normalizedVariantProperties({ variant, size, color }),\n className\n }),\n loading && 'pointer-events-none opacity-80 user-select-none',\n )}\n {...rest}\n >\n {content}\n </Comp>\n )\n\n if (!msg) return cmp\n return (\n <Tooltip\n {...(tooltipProps || {})}\n open={tooltipProps.open ?? (disabled || loading || !msg) ? false : undefined}\n message={msg}\n >\n {cmp}\n </Tooltip>\n )\n }\n)\nButton.displayName = \"Button\"\nexport default Button;\n"],"names":["normalizedVariantProperties","props","variant","size","color","vls","renderAdornment","Adornment","isValidElement","createElement","Button","React","ref","disabled","className","asChild","title","tooltip","tooltipProps","message","loading","children","startAdornment","endAdornment","screenReader","rest","Comp","Slot","msg","content","jsxs","Fragment","jsx","LoadedIcon","cmp","cn","buttonVariants","Tooltip"],"mappings":";;;;;;;;;AAWA,MAAMA,IAA8B,CAACC,MAAoD;AACvF,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,EAAA,IAAUH,GAC3BI,IAAM,EAAE,OAAAD,GAAO,SAAAF,GAAS,MAAAC,EAAA;AAC9B,MAAKD,MAAuB;AAC1B,mBAAQ,KAAK,+FAA+F,GAC5GG,EAAI,UAAU,aACdA,EAAI,QAAQ,WACLA;AAET,MAAKF,MAAoB;AACvB,mBAAQ,KAAK,iFAAiF,GAC9FE,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA;AAGT,MAAKH,MAAuB;AAC1B,kBAAQ,KAAK,6EAA6E,GACpF,IAAI,MAAM,6EAA6E;AAE/F,SAAKA,MAAuB,aAC1B,QAAQ,KAAK,8FAA8F,GAC3GG,EAAI,UAAU,YACdA,EAAI,QAAQ,WACLA,KAEJH,MAAuB,eAC1B,QAAQ,KAAK,mGAAmG,GAChHG,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA,MAEJH,MAAuB,kBAC1B,QAAQ,KAAK,iGAAiG,GAC9GG,EAAI,UAAU,aACdA,EAAI,QAAQ,UACLA;AAGX,GAEMC,IAAkB,CAACC,MAClBA,IACDC,EAAeD,CAAS,IAAUA,IAC/BE,EAAcF,CAAS,IAFP,MAqEZG,IAASC,EAAM;AAAA,EAC1B,CAACV,GAAOW,MAAQ;AACd,UAAM;AAAA,MACJ,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAZ;AAAA,MACA,OAAAE;AAAA,MACA,MAAAD;AAAA,MACA,SAAAY,IAAU;AAAA,MACV,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,cAAAC,IAAe,CAAA;AAAA,MACf,SAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDxB,GACEyB,IAAOX,IAAUY,IAAO,UACxBC,IAAMT,KAAWF,KAAWD,GAE5Ba,IAAUd,IACZM,IAEA,gBAAAS,EAAAC,GAAA,EACG,UAAA;AAAA,MAAA,CAAC,CAACT,KACD,gBAAAU,EAACC,GAAA,EAAW,SAAAb,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBgB,CAAc,GACjC;AAAA,MAGDD;AAAA,MAEA,CAAC,CAACE,KACD,gBAAAS,EAACC,KAAW,SAAAb,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBiB,CAAY,GAC/B;AAAA,MAGD,CAAC,CAACC,KAAgB,gBAAAQ,EAAC,QAAA,EAAK,WAAU,WAAW,UAAA,OAAOR,KAAiB,WAAWA,IAAeA,EAAa,KAAA,CAAK;AAAA,IAAA,GACpH,GAGEU,IACJ,gBAAAF;AAAA,MAACN;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAd;AAAA,QACA,UAAAC;AAAA,QACA,WAAWsB;AAAA,UACTC,EAAe;AAAA,YACb,GAAGpC,EAA4B,EAAE,SAAAE,GAAS,MAAAC,GAAM,OAAAC,GAAO;AAAA,YACvD,WAAAU;AAAA,UAAA,CACD;AAAA,UACDM,KAAW;AAAA,QAAA;AAAA,QAEZ,GAAGK;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAIL,WAAKD,IAEH,gBAAAI;AAAA,MAACK;AAAA,MAAA;AAAA,QACE,GAAInB,KAAgB,CAAA;AAAA,QACrB,MAAMA,EAAa,SAASL,KAAYO,KAAW,CAACQ,KAAO,KAAQ;AAAA,QACnE,SAASA;AAAA,QAER,UAAAM;AAAA,MAAA;AAAA,IAAA,IAPYA;AAAA,EAUnB;AACF;AACAxB,EAAO,cAAc;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
- import { Button as e } from "./Button.js";
2
+ import { Button as o } from "./Button.js";
3
3
  import { FileDownIcon as m, Trash2Icon as p, PlusIcon as n } from "lucide-react";
4
4
  import { DashedWrapper as a } from "../.storybook/Wrappers.js";
5
- const r = (o) => /* @__PURE__ */ t(
5
+ const r = (e) => /* @__PURE__ */ t(
6
6
  "div",
7
7
  {
8
8
  style: {
@@ -12,13 +12,13 @@ const r = (o) => /* @__PURE__ */ t(
12
12
  gap: "16px"
13
13
  },
14
14
  children: ["default", "hover", "focus", "active", "disabled", "loading"].map((l) => /* @__PURE__ */ t(
15
- e,
15
+ o,
16
16
  {
17
17
  id: l,
18
- ...o,
19
- disabled: l === "disabled" || o.disabled,
20
- loading: l === "loading" || o.loading,
21
- children: o.children
18
+ ...e,
19
+ disabled: l === "disabled" || e.disabled,
20
+ loading: l === "loading" || e.loading,
21
+ children: e.children
22
22
  },
23
23
  l
24
24
  ))
@@ -32,10 +32,8 @@ const r = (o) => /* @__PURE__ */ t(
32
32
  Trash2Icon: p,
33
33
  FileDownIcon: m
34
34
  }, d = {
35
- // title: 'Components/Button/Button',
36
- // title: 'ui/Button',
37
35
  title: "Button",
38
- component: e,
36
+ component: o,
39
37
  // render: Template,
40
38
  args: {
41
39
  tooltip: void 0,
@@ -58,7 +56,7 @@ const r = (o) => /* @__PURE__ */ t(
58
56
  control: !1
59
57
  },
60
58
  asChild: {
61
- name: "tooltip",
59
+ name: "asChild",
62
60
  description: "Button asChild from ButtonProps [boolean]",
63
61
  control: !1
64
62
  },
@@ -115,13 +113,7 @@ const r = (o) => /* @__PURE__ */ t(
115
113
  control: { type: "object" }
116
114
  }
117
115
  },
118
- tags: ["autodocs"],
119
116
  parameters: {
120
- docs: {
121
- description: {
122
- component: "Universal button component with variants, icons and tooltip support."
123
- }
124
- },
125
117
  pseudo: {
126
118
  hover: "#hover",
127
119
  focus: "#focus",
@@ -140,11 +132,11 @@ const r = (o) => /* @__PURE__ */ t(
140
132
  children: "_children_"
141
133
  }
142
134
  }, x = {
143
- render: (o) => /* @__PURE__ */ i(a, { children: [
144
- /* @__PURE__ */ t(e, { ...o }),
145
- /* @__PURE__ */ t(e, { ...o, startAdornment: /* @__PURE__ */ t(n, {}) }),
146
- /* @__PURE__ */ t(e, { ...o, startAdornment: /* @__PURE__ */ t(n, {}), endAdornment: /* @__PURE__ */ t(n, {}) }),
147
- /* @__PURE__ */ t(e, { ...o, endAdornment: /* @__PURE__ */ t(n, {}) })
135
+ render: (e) => /* @__PURE__ */ i(a, { children: [
136
+ /* @__PURE__ */ t(o, { ...e }),
137
+ /* @__PURE__ */ t(o, { ...e, startAdornment: /* @__PURE__ */ t(n, {}) }),
138
+ /* @__PURE__ */ t(o, { ...e, startAdornment: /* @__PURE__ */ t(n, {}), endAdornment: /* @__PURE__ */ t(n, {}) }),
139
+ /* @__PURE__ */ t(o, { ...e, endAdornment: /* @__PURE__ */ t(n, {}) })
148
140
  ] }),
149
141
  args: {
150
142
  ...d.args,
@@ -152,59 +144,59 @@ const r = (o) => /* @__PURE__ */ t(
152
144
  children: "disabled"
153
145
  }
154
146
  }, S = {
155
- render: (o) => /* @__PURE__ */ i(a, { children: [
156
- /* @__PURE__ */ t(e, { ...o }),
157
- /* @__PURE__ */ t(e, { ...o, startAdornment: /* @__PURE__ */ t(n, {}) }),
158
- /* @__PURE__ */ t(e, { ...o, startAdornment: /* @__PURE__ */ t(n, {}), endAdornment: /* @__PURE__ */ t(n, {}) }),
159
- /* @__PURE__ */ t(e, { ...o, endAdornment: /* @__PURE__ */ t(n, {}) })
147
+ render: (e) => /* @__PURE__ */ i(a, { children: [
148
+ /* @__PURE__ */ t(o, { ...e }),
149
+ /* @__PURE__ */ t(o, { ...e, startAdornment: /* @__PURE__ */ t(n, {}) }),
150
+ /* @__PURE__ */ t(o, { ...e, startAdornment: /* @__PURE__ */ t(n, {}), endAdornment: /* @__PURE__ */ t(n, {}) }),
151
+ /* @__PURE__ */ t(o, { ...e, endAdornment: /* @__PURE__ */ t(n, {}) })
160
152
  ] }),
161
153
  args: {
162
154
  children: "Loading…",
163
155
  loading: !0
164
156
  }
165
157
  }, G = {
166
- render: (o) => /* @__PURE__ */ i("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
158
+ render: (e) => /* @__PURE__ */ t(a, { children: /* @__PURE__ */ i("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
167
159
  /* @__PURE__ */ t(
168
- e,
160
+ o,
169
161
  {
170
- ...o,
162
+ ...e,
171
163
  title: "delayDuration: 0",
172
164
  tooltipProps: { delayDuration: 0 },
173
165
  children: "delayDuration: 0"
174
166
  }
175
167
  ),
176
168
  /* @__PURE__ */ t(
177
- e,
169
+ o,
178
170
  {
179
- ...o,
171
+ ...e,
180
172
  title: "delayDuration: 300 [default]",
181
173
  tooltipProps: { delayDuration: 300 },
182
174
  children: "delayDuration: 300"
183
175
  }
184
176
  ),
185
177
  /* @__PURE__ */ t(
186
- e,
178
+ o,
187
179
  {
188
- ...o,
180
+ ...e,
189
181
  title: "delayDuration: 700",
190
182
  tooltipProps: { delayDuration: 700 },
191
183
  children: "delayDuration: 700"
192
184
  }
193
185
  ),
194
- /* @__PURE__ */ t(e, { ...o, title: "title_string", children: "title" }),
195
- /* @__PURE__ */ t(e, { ...o, message: "message_string", children: "message: string" }),
186
+ /* @__PURE__ */ t(o, { ...e, title: "title_string", children: "title" }),
187
+ /* @__PURE__ */ t(o, { ...e, message: "message_string", children: "message: string" }),
196
188
  /* @__PURE__ */ t(
197
- e,
189
+ o,
198
190
  {
199
- ...o,
191
+ ...e,
200
192
  message: /* @__PURE__ */ t("span", { children: "message_node_span" }),
201
193
  children: "message: ReactNode"
202
194
  }
203
195
  ),
204
196
  /* @__PURE__ */ t(
205
- e,
197
+ o,
206
198
  {
207
- ...o,
199
+ ...e,
208
200
  message: "message_string",
209
201
  tooltipProps: {
210
202
  showQuestionMark: !0
@@ -212,7 +204,7 @@ const r = (o) => /* @__PURE__ */ t(
212
204
  children: "showQuestionMark: true"
213
205
  }
214
206
  )
215
- ] }),
207
+ ] }) }),
216
208
  args: {
217
209
  children: "tooltips",
218
210
  tooltipProps: {
@@ -230,10 +222,10 @@ const r = (o) => /* @__PURE__ */ t(
230
222
  variant: { control: !1 },
231
223
  color: { control: !1 }
232
224
  },
233
- render: (o) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
234
- /* @__PURE__ */ t(r, { ...o, variant: "contained" }),
235
- /* @__PURE__ */ t(r, { ...o, variant: "outlined" }),
236
- /* @__PURE__ */ t(r, { ...o, variant: "ghost" })
225
+ render: (e) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
226
+ /* @__PURE__ */ t(r, { ...e, variant: "contained" }),
227
+ /* @__PURE__ */ t(r, { ...e, variant: "outlined" }),
228
+ /* @__PURE__ */ t(r, { ...e, variant: "ghost" })
237
229
  ] }) })
238
230
  }, T = {
239
231
  args: {
@@ -246,10 +238,10 @@ const r = (o) => /* @__PURE__ */ t(
246
238
  variant: { control: !1 },
247
239
  color: { control: !1 }
248
240
  },
249
- render: (o) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
250
- /* @__PURE__ */ t(r, { ...o, variant: "contained" }),
251
- /* @__PURE__ */ t(r, { ...o, variant: "outlined" }),
252
- /* @__PURE__ */ t(r, { ...o, variant: "ghost" })
241
+ render: (e) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
242
+ /* @__PURE__ */ t(r, { ...e, variant: "contained" }),
243
+ /* @__PURE__ */ t(r, { ...e, variant: "outlined" }),
244
+ /* @__PURE__ */ t(r, { ...e, variant: "ghost" })
253
245
  ] }) })
254
246
  }, _ = {
255
247
  args: {
@@ -262,10 +254,10 @@ const r = (o) => /* @__PURE__ */ t(
262
254
  variant: { control: !1 },
263
255
  color: { control: !1 }
264
256
  },
265
- render: (o) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
266
- /* @__PURE__ */ t(r, { ...o, variant: "contained" }),
267
- /* @__PURE__ */ t(r, { ...o, variant: "outlined" }),
268
- /* @__PURE__ */ t(r, { ...o, variant: "ghost" })
257
+ render: (e) => /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ i(a, { children: [
258
+ /* @__PURE__ */ t(r, { ...e, variant: "contained" }),
259
+ /* @__PURE__ */ t(r, { ...e, variant: "outlined" }),
260
+ /* @__PURE__ */ t(r, { ...e, variant: "ghost" })
269
261
  ] }) })
270
262
  };
271
263
  export {