@oneplatformdev/ui 0.1.99-beta.5 → 0.1.99-beta.51

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 (124) 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/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  6. package/AlertDialog/AlertDialogRoot.js +15 -14
  7. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  8. package/Badge/badgeVariants.d.ts +1 -1
  9. package/Button/Button.d.ts +7 -1
  10. package/Button/Button.d.ts.map +1 -1
  11. package/Button/Button.js +44 -42
  12. package/Button/Button.js.map +1 -1
  13. package/Button/Button.types.d.ts +22 -0
  14. package/Button/Button.types.d.ts.map +1 -1
  15. package/Button/ButtonCounterBadge.d.ts +7 -0
  16. package/Button/ButtonCounterBadge.d.ts.map +1 -0
  17. package/Button/ButtonCounterBadge.js +20 -0
  18. package/Button/ButtonCounterBadge.js.map +1 -0
  19. package/Button/buttonVariants.d.ts +11 -20
  20. package/Button/buttonVariants.d.ts.map +1 -1
  21. package/Button/buttonVariants.js +76 -12
  22. package/Button/buttonVariants.js.map +1 -1
  23. package/Button/index.js +6 -5
  24. package/ButtonIcon/ButtonIcon.d.ts +6 -1
  25. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  26. package/ButtonIcon/ButtonIcon.js +70 -50
  27. package/ButtonIcon/ButtonIcon.js.map +1 -1
  28. package/ButtonIcon/ButtonIcon.stories.js +82 -55
  29. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  30. package/ButtonIcon/buttonIconVariants.d.ts +1 -1
  31. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  32. package/ButtonIcon/buttonIconVariants.js +7 -6
  33. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  34. package/CHANGELOG.md +556 -0
  35. package/Combobox/Combobox.d.ts +2 -1
  36. package/Combobox/Combobox.d.ts.map +1 -1
  37. package/Combobox/Combobox.js +124 -122
  38. package/Combobox/Combobox.js.map +1 -1
  39. package/Combobox/Combobox.stories.js +208 -0
  40. package/Combobox/Combobox.stories.js.map +1 -0
  41. package/Combobox/Combobox.types.d.ts +2 -0
  42. package/Combobox/Combobox.types.d.ts.map +1 -1
  43. package/Combobox/ComboboxOptions.d.ts.map +1 -1
  44. package/Combobox/ComboboxOptions.js +42 -42
  45. package/Combobox/ComboboxOptions.js.map +1 -1
  46. package/Dialog/Dialog.d.ts.map +1 -1
  47. package/Dialog/Dialog.js +22 -16
  48. package/Dialog/Dialog.js.map +1 -1
  49. package/Dialog/Dialog.types.d.ts +4 -0
  50. package/Dialog/Dialog.types.d.ts.map +1 -0
  51. package/Dialog/Dialog.types.js +2 -0
  52. package/Dialog/Dialog.types.js.map +1 -0
  53. package/Dialog/index.d.ts +1 -0
  54. package/Dialog/index.d.ts.map +1 -1
  55. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  56. package/DropdownMenu/DropdownMenu.js +33 -20
  57. package/DropdownMenu/DropdownMenu.js.map +1 -1
  58. package/Form/Form.d.ts.map +1 -1
  59. package/Form/Form.js.map +1 -1
  60. package/Form/FormRenderControl.d.ts.map +1 -1
  61. package/Form/FormRenderControl.js +26 -13
  62. package/Form/FormRenderControl.js.map +1 -1
  63. package/Form/FormRenderControl.types.d.ts +2 -1
  64. package/Form/FormRenderControl.types.d.ts.map +1 -1
  65. package/Form/FormTooltipButton.d.ts +6 -0
  66. package/Form/FormTooltipButton.d.ts.map +1 -0
  67. package/Form/FormTooltipButton.js +34 -0
  68. package/Form/FormTooltipButton.js.map +1 -0
  69. package/FormInput/FormInput.d.ts.map +1 -1
  70. package/FormInput/FormInput.js +22 -21
  71. package/FormInput/FormInput.js.map +1 -1
  72. package/InfoBlock/InfoBlock.d.ts +7 -0
  73. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  74. package/InfoBlock/InfoBlock.js +27 -0
  75. package/InfoBlock/InfoBlock.js.map +1 -0
  76. package/InfoBlock/InfoBlock.stories.js +14 -0
  77. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  78. package/InfoBlock/InfoBlock.types.d.ts +8 -0
  79. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  80. package/InfoBlock/InfoBlock.types.js +2 -0
  81. package/InfoBlock/InfoBlock.types.js.map +1 -0
  82. package/InfoBlock/index.d.ts +3 -0
  83. package/InfoBlock/index.d.ts.map +1 -0
  84. package/InfoBlock/index.js +5 -0
  85. package/InfoBlock/index.js.map +1 -0
  86. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  87. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  88. package/InfoBlock/infoBlockVariants.js +26 -0
  89. package/InfoBlock/infoBlockVariants.js.map +1 -0
  90. package/Input/Input.js +1 -1
  91. package/Input/Input.js.map +1 -1
  92. package/Input/inputVariants.d.ts.map +1 -1
  93. package/Input/inputVariants.js +5 -4
  94. package/Input/inputVariants.js.map +1 -1
  95. package/LoadedIcon/LoadedIcon.d.ts.map +1 -1
  96. package/LoadedIcon/LoadedIcon.js +3 -1
  97. package/LoadedIcon/LoadedIcon.js.map +1 -1
  98. package/Resizable/Resizable.d.ts +5 -20
  99. package/Resizable/Resizable.d.ts.map +1 -1
  100. package/Resizable/Resizable.js +48 -31
  101. package/Resizable/Resizable.js.map +1 -1
  102. package/Resizable/Resizable.stories.js +140 -0
  103. package/Resizable/Resizable.stories.js.map +1 -0
  104. package/Search/Search.js +12 -12
  105. package/Search/Search.js.map +1 -1
  106. package/Search/Search.stories.js +17 -0
  107. package/Search/Search.stories.js.map +1 -0
  108. package/Textarea/Textarea.d.ts.map +1 -1
  109. package/Textarea/Textarea.js +50 -45
  110. package/Textarea/Textarea.js.map +1 -1
  111. package/Textarea/Textarea.stories.js +12 -0
  112. package/Textarea/Textarea.stories.js.map +1 -0
  113. package/Textarea/Textarea.types.d.ts +3 -1
  114. package/Textarea/Textarea.types.d.ts.map +1 -1
  115. package/Textarea/useAutosizeTextArea.d.ts +1 -1
  116. package/Textarea/useAutosizeTextArea.d.ts.map +1 -1
  117. package/Textarea/useAutosizeTextArea.js.map +1 -1
  118. package/Tooltip/Tooltip.d.ts.map +1 -1
  119. package/Tooltip/Tooltip.js.map +1 -1
  120. package/index.d.ts +1 -0
  121. package/index.d.ts.map +1 -1
  122. package/index.js +328 -325
  123. package/index.js.map +1 -1
  124. package/package.json +4 -4
@@ -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 +1 @@
1
- {"version":3,"file":"AlertDialogRoot.d.ts","sourceRoot":"","sources":["../../src/AlertDialog/AlertDialogRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAExD,iBAAS,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAErF;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAE3F;AACD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAEzF;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAY3F;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAmB3F;AAGD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAS5D;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAY5D;AACD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,2CASvF;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,2CASnG;AAGD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GAAG,WAAW,2CAQvG;AACD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GAAG,WAAW,2CAQvG;AAED,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACrB,CAAC"}
1
+ {"version":3,"file":"AlertDialogRoot.d.ts","sourceRoot":"","sources":["../../src/AlertDialog/AlertDialogRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAExD,iBAAS,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAErF;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAE3F;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAEzF;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAY3F;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAmB3F;AAGD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAS5D;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAY5D;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,2CASvF;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,2CAanG;AAGD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GAAG,WAAW,2CAQvG;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GAAG,WAAW,2CAQvG;AAED,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACrB,CAAC"}
@@ -36,7 +36,7 @@ function D(t) {
36
36
  "data-slot": "alert-dialog-content",
37
37
  className: l(
38
38
  "fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]",
39
- "grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg gap-4 p-6",
39
+ "grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg min-h-10 gap-4 p-6",
40
40
  "bg-background border rounded-lg shadow-lg",
41
41
  "overflow-x-hidden break-words",
42
42
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 duration-200",
@@ -47,18 +47,18 @@ function D(t) {
47
47
  )
48
48
  ] });
49
49
  }
50
- function w(t) {
50
+ function h(t) {
51
51
  const { className: a, ...e } = t;
52
52
  return /* @__PURE__ */ o(
53
53
  "div",
54
54
  {
55
55
  "data-slot": "alert-dialog-header",
56
- className: l("flex flex-col gap-2 text-center sm:text-left", a),
56
+ className: l("flex flex-col gap-3 text-center sm:text-left", a),
57
57
  ...e
58
58
  }
59
59
  );
60
60
  }
61
- function b(t) {
61
+ function v(t) {
62
62
  const { className: a, ...e } = t;
63
63
  return /* @__PURE__ */ o(
64
64
  "div",
@@ -72,25 +72,26 @@ function b(t) {
72
72
  }
73
73
  );
74
74
  }
75
- function v(t) {
75
+ function w(t) {
76
76
  const { className: a, ...e } = t;
77
77
  return /* @__PURE__ */ o(
78
78
  r.Title,
79
79
  {
80
80
  "data-slot": "alert-dialog-title",
81
- className: l("text-lg font-semibold break-words", a),
81
+ className: l("text-lg font-semibold break-words min-h-10 flex items-center", a),
82
82
  ...e
83
83
  }
84
84
  );
85
85
  }
86
- function h(t) {
87
- const { className: a, ...e } = t;
86
+ function b(t) {
87
+ const { className: a, children: e, ...s } = t;
88
88
  return /* @__PURE__ */ o(
89
89
  r.Description,
90
90
  {
91
+ ...s,
92
+ asChild: !0,
91
93
  "data-slot": "alert-dialog-description",
92
- className: l("text-muted-foreground text-sm whitespace-pre-wrap break-words", a),
93
- ...e
94
+ children: /* @__PURE__ */ o("div", { className: l("text-muted-foreground text-sm whitespace-pre-wrap break-words", a), children: e })
94
95
  }
95
96
  );
96
97
  }
@@ -118,14 +119,14 @@ export {
118
119
  y as AlertDialogAction,
119
120
  z as AlertDialogCancel,
120
121
  D as AlertDialogContent,
121
- h as AlertDialogDescription,
122
- b as AlertDialogFooter,
123
- w as AlertDialogHeader,
122
+ b as AlertDialogDescription,
123
+ v as AlertDialogFooter,
124
+ h as AlertDialogHeader,
124
125
  g as AlertDialogOverlay,
125
126
  m as AlertDialogPortal,
126
127
  r as AlertDialogPrimitive,
127
128
  N as AlertDialogRoot,
128
- v as AlertDialogTitle,
129
+ w as AlertDialogTitle,
129
130
  A as AlertDialogTrigger
130
131
  };
131
132
  //# sourceMappingURL=AlertDialogRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDialogRoot.js","sources":["../../src/AlertDialog/AlertDialogRoot.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\n\nimport { cn } from '@oneplatformdev/utils';\nimport { ButtonProps, buttonVariants } from '../Button';\n\nfunction AlertDialogRoot(props: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger(props: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\nfunction AlertDialogPortal(props: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" asChild {...props} />;\n}\n\nfunction AlertDialogOverlay(props: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogContent(props: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\n 'grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg gap-4 p-6',\n 'bg-background border rounded-lg shadow-lg',\n 'overflow-x-hidden break-words',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 duration-200',\n className\n )}\n {...rest}\n />\n </AlertDialogPortal>\n )\n}\n\n\nfunction AlertDialogHeader(props: React.ComponentProps<\"div\">) {\n const { className, ...rest } = props;\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogFooter(props: React.ComponentProps<\"div\">) {\n const { className, ...rest } = props;\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...rest}\n />\n )\n}\nfunction AlertDialogTitle(props: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold break-words\", className)}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogDescription(props: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm whitespace-pre-wrap break-words\", className)}\n {...rest}\n />\n )\n}\n\n\nfunction AlertDialogAction(props: React.ComponentProps<typeof AlertDialogPrimitive.Action> & ButtonProps) {\n const { className, variant, size, color, ...rest } = props;\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant, size, color }), className)}\n {...rest}\n />\n )\n}\nfunction AlertDialogCancel(props: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> & ButtonProps) {\n const { className, variant, color = 'secondary', size, ...rest } = props\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant, size, color }), className)}\n {...rest}\n />\n )\n}\n\nexport {\n AlertDialogRoot,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogPrimitive\n};\n"],"names":["AlertDialogRoot","props","AlertDialogPrimitive","AlertDialogTrigger","AlertDialogPortal","jsx","AlertDialogOverlay","className","rest","cn","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","variant","size","color","buttonVariants","AlertDialogCancel"],"mappings":"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"}
1
+ {"version":3,"file":"AlertDialogRoot.js","sources":["../../src/AlertDialog/AlertDialogRoot.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\n\nimport { cn } from '@oneplatformdev/utils';\nimport { ButtonProps, buttonVariants } from '../Button';\n\nfunction AlertDialogRoot(props: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger(props: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal(props: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" asChild {...props} />;\n}\n\nfunction AlertDialogOverlay(props: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogContent(props: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay/>\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\n 'grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg min-h-10 gap-4 p-6',\n 'bg-background border rounded-lg shadow-lg',\n 'overflow-x-hidden break-words',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 duration-200',\n className\n )}\n {...rest}\n />\n </AlertDialogPortal>\n )\n}\n\n\nfunction AlertDialogHeader(props: React.ComponentProps<\"div\">) {\n const { className, ...rest } = props;\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-3 text-center sm:text-left\", className)}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogFooter(props: React.ComponentProps<\"div\">) {\n const { className, ...rest } = props;\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogTitle(props: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n const { className, ...rest } = props;\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold break-words min-h-10 flex items-center\", className)}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogDescription(props: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n const { className, children, ...rest } = props;\n return (\n <AlertDialogPrimitive.Description\n {...rest}\n asChild\n data-slot=\"alert-dialog-description\"\n >\n <div className={cn(\"text-muted-foreground text-sm whitespace-pre-wrap break-words\", className)}>\n {children}\n </div>\n </AlertDialogPrimitive.Description>\n )\n}\n\n\nfunction AlertDialogAction(props: React.ComponentProps<typeof AlertDialogPrimitive.Action> & ButtonProps) {\n const { className, variant, size, color, ...rest } = props;\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants({ variant, size, color }), className)}\n {...rest}\n />\n )\n}\n\nfunction AlertDialogCancel(props: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> & ButtonProps) {\n const { className, variant, color = 'secondary', size, ...rest } = props\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant, size, color }), className)}\n {...rest}\n />\n )\n}\n\nexport {\n AlertDialogRoot,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogPrimitive\n};\n"],"names":["AlertDialogRoot","props","AlertDialogPrimitive","AlertDialogTrigger","AlertDialogPortal","jsx","AlertDialogOverlay","className","rest","cn","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","children","AlertDialogAction","variant","size","color","buttonVariants","AlertDialogCancel"],"mappings":"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"}
@@ -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
@@ -52,11 +52,17 @@ import * as React from "react";
52
52
  * <Button disabled>Disabled</Button>
53
53
  * ```
54
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
+ *
55
61
  * @remarks
56
62
  * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.
57
63
  * - Works with any SVG React component or element, e.g. lucide-react, heroicons, custom icons.
58
64
  *
59
- * @see {@link Button} for regular text buttons
65
+ * @see {@link ButtonIcon} for icon-only buttons
60
66
  */
61
67
  export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
62
68
  export default Button;
@@ -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;AAqDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,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\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 * @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 Button} for regular text 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 ...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,GAEMC,IAAkB,CAACC,MAClBA,IACDC,EAAeD,CAAS,IAAUA,IAC/BE,EAAcF,CAAS,IAFP,MA+DZG,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;"}
@@ -2,10 +2,32 @@ import { ButtonHTMLAttributes, ComponentType, ReactElement, SVGProps, ReactNode
2
2
  import { TooltipProps } from '../Tooltip';
3
3
  import { ButtonVarianceProps } from './buttonVariants';
4
4
  type ButtonAttributes = ButtonHTMLAttributes<HTMLButtonElement>;
5
+ type ButtonScreenReaderOptions = {
6
+ /** Text to be read by screen readers when the button is in a loading state. */
7
+ text?: string;
8
+ };
9
+ export type ButtonScreenReader = ButtonScreenReaderOptions['text'] | ButtonScreenReaderOptions;
10
+ export type ButtonCounterBadgeReaderOptions = {
11
+ /**
12
+ * Count to display in the counter badge (e.g., number of notifications).
13
+ * If omitted, the badge will not be rendered.
14
+ */
15
+ count?: number;
16
+ };
17
+ export type ButtonCounterBadgeReader = ButtonCounterBadgeReaderOptions['count'] | ButtonCounterBadgeReaderOptions;
5
18
  export interface ButtonDefaultProps extends Omit<ButtonAttributes, 'color' | 'title' | 'disabled'> {
6
19
  asChild?: boolean;
7
20
  loading?: boolean;
8
21
  disabled?: boolean;
22
+ /**
23
+ * Screen reader text or options used for accessibility (e.g., when the button is loading).
24
+ * Accepts a string or an object with a `text` property for more control.
25
+ */
26
+ screenReader?: ButtonScreenReader;
27
+ /**
28
+ * Field for rendering a count badge on the button (e.g., notifications).
29
+ */
30
+ counter?: ButtonCounterBadgeReader;
9
31
  }
10
32
  export interface ButtonTooltipProps {
11
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../src/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,KAAK,gBAAgB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAEhE,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,CACzB,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,SAAS,GAAG,OAAO,IAEnB,kBAAkB,GAClB,kBAAkB,GAClB,YAAY,GAAG;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,MAAM,cAAc,GACtB,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GACtC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,MAAM,WAAW,WACf,SAAQ,eAAe,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC7D,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC"}
1
+ {"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../src/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,KAAK,gBAAgB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAEhE,KAAK,yBAAyB,GAAG;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,yBAAyB,CAAA;AAE9F,MAAM,MAAM,+BAA+B,GAAG;IAC5C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAC,OAAO,CAAC,GAAG,+BAA+B,CAAA;AAEjH,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,CACzB,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,SAAS,GAAG,OAAO,IAEnB,kBAAkB,GAClB,kBAAkB,GAClB,YAAY,GAAG;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,MAAM,cAAc,GACtB,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GACtC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,MAAM,WAAW,WACf,SAAQ,eAAe,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAC7D,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC"}
@@ -0,0 +1,7 @@
1
+ import { ButtonCounterBadgeReader } from './Button.types';
2
+ import { ButtonBadgeCVAProps } from './buttonVariants';
3
+ export interface ButtonCounterBadgeProps extends ButtonBadgeCVAProps {
4
+ counter?: ButtonCounterBadgeReader;
5
+ }
6
+ export declare const ButtonCounterBadge: (props: ButtonCounterBadgeProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ //# sourceMappingURL=ButtonCounterBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonCounterBadge.d.ts","sourceRoot":"","sources":["../../src/Button/ButtonCounterBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAmC,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,KAAK,mBAAmB,EAAuB,MAAM,kBAAkB,CAAC;AAGjF,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAgBD,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,mDAchE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { jsxs as i, jsx as s } from "react/jsx-runtime";
2
+ import { buttonBadgeVariants as c } from "./buttonVariants.js";
3
+ import { cn as u } from "@oneplatformdev/utils";
4
+ const a = (t) => t ? typeof t == "number" ? { count: t } : t : null, o = 99, l = (t) => Math.max(0, Math.min(t || 0, o)), m = (t) => t > o, x = (t) => {
5
+ const { counter: r, ...e } = t, n = a(r);
6
+ return n?.count ? /* @__PURE__ */ i(
7
+ "div",
8
+ {
9
+ className: u(c({ ...e })),
10
+ children: [
11
+ l(n.count),
12
+ m(n.count) && /* @__PURE__ */ s("span", { className: "relative -top-[0.5px]", children: "+" })
13
+ ]
14
+ }
15
+ ) : null;
16
+ };
17
+ export {
18
+ x as ButtonCounterBadge
19
+ };
20
+ //# sourceMappingURL=ButtonCounterBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonCounterBadge.js","sources":["../../src/Button/ButtonCounterBadge.tsx"],"sourcesContent":["import { ButtonCounterBadgeReader, ButtonCounterBadgeReaderOptions } from \"./Button.types\";\nimport { type ButtonBadgeCVAProps, buttonBadgeVariants } from \"./buttonVariants\";\nimport { cn } from \"@oneplatformdev/utils\";\n\nexport interface ButtonCounterBadgeProps extends ButtonBadgeCVAProps {\n counter?: ButtonCounterBadgeReader;\n}\n\nconst normalizeCounter = (counter: ButtonCounterBadgeReader): ButtonCounterBadgeReaderOptions | null => {\n if(!counter) return null\n if(typeof counter === 'number') return { count: counter };\n return counter;\n}\n\nconst MIN_COUNT = 99;\nconst normalizeCount = (count: number): number => {\n const c = count || 0;\n return Math.max(0, Math.min(c, MIN_COUNT));\n}\n\nconst isOverflown = (count: number): boolean => count > MIN_COUNT\n\nexport const ButtonCounterBadge = (props: ButtonCounterBadgeProps) => {\n const {counter: initializeCounter, ...rest} = props;\n const counter = normalizeCounter(initializeCounter);\n if(!counter?.count) return null;\n return (\n <div\n className={cn(buttonBadgeVariants({ ...rest }))}\n >\n {normalizeCount(counter.count)}\n {isOverflown(counter.count) && (\n <span className=\"relative -top-[0.5px]\">+</span>\n )}\n </div>\n )\n}\n"],"names":["normalizeCounter","counter","MIN_COUNT","normalizeCount","count","isOverflown","ButtonCounterBadge","props","initializeCounter","rest","jsxs","cn","buttonBadgeVariants"],"mappings":";;;AAQA,MAAMA,IAAmB,CAACC,MACpBA,IACD,OAAOA,KAAY,WAAiB,EAAE,OAAOA,EAAA,IACzCA,IAFa,MAKhBC,IAAY,IACZC,IAAiB,CAACC,MAEf,KAAK,IAAI,GAAG,KAAK,IADdA,KAAS,GACYF,CAAS,CAAC,GAGrCG,IAAc,CAACD,MAA2BA,IAAQF,GAE3CI,IAAqB,CAACC,MAAmC;AACpE,QAAM,EAAC,SAASC,GAAmB,GAAGC,MAAQF,GACxCN,IAAUD,EAAiBQ,CAAiB;AAClD,SAAIP,GAAS,QAEX,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAoB,EAAE,GAAGH,EAAA,CAAM,CAAC;AAAA,MAE7C,UAAA;AAAA,QAAAN,EAAeF,EAAQ,KAAK;AAAA,QAC5BI,EAAYJ,EAAQ,KAAK,uBACvB,QAAA,EAAK,WAAU,yBAAwB,UAAA,IAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAPpB;AAW7B;"}
@@ -1,25 +1,16 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  export declare const buttonVariants: (props?: ({
3
- variant?: "none" | "default" | "destructive" | "outline" | "secondary" | "contained" | "outlined" | "ghost" | null | undefined;
4
- color?: "secondary" | "primary" | "error" | null | undefined;
3
+ variant?: "none" | "contained" | "outlined" | "ghost" | null | undefined;
4
+ color?: "primary" | "secondary" | "error" | null | undefined;
5
5
  size?: "xs" | "sm" | "md" | "lg" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- export type ButtonCVAProps = VariantProps<typeof buttonVariants>;
8
- type ButtonCVANoVariantProps = Omit<VariantProps<typeof buttonVariants>, 'variant'>;
9
- type ButtonCVAVariants = ButtonCVAProps['variant'];
10
- /** @deprecated use "variant=contained color=primary" instead */
11
- type LegacyDefaultVariant = 'default';
12
- /** @deprecated use "variant=outlined color=primary" instead */
13
- type LegacyOutlineVariant = 'outline';
14
- /** @deprecated use "variant=text color=primary" instead */
15
- type LegacyGhostVariant = 'ghost';
16
- /** @deprecated use "variant=contained color=secondary" instead */
17
- type LegacySecondaryVariant = 'secondary';
18
- /** @deprecated use "variant=contained color=error" instead */
19
- type LegacyDestructiveVariant = 'destructive';
20
- type ModernVariant = Exclude<ButtonCVAVariants, 'default' | 'outline' | 'ghost' | 'secondary' | 'destructive'> | LegacyDefaultVariant | LegacyOutlineVariant | LegacyGhostVariant | LegacySecondaryVariant | LegacyDestructiveVariant;
21
- export interface ButtonVarianceProps extends ButtonCVANoVariantProps {
22
- variant?: ModernVariant;
23
- }
24
- export {};
7
+ export type ButtonVarianceProps = VariantProps<typeof buttonVariants>;
8
+ export declare const buttonBadgeVariants: (props?: ({
9
+ variant?: "none" | "contained" | "outlined" | "ghost" | null | undefined;
10
+ color?: "primary" | "secondary" | "error" | null | undefined;
11
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
12
+ rounded?: boolean | null | undefined;
13
+ disabled?: boolean | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export type ButtonBadgeCVAProps = VariantProps<typeof buttonBadgeVariants>;
25
16
  //# sourceMappingURL=buttonVariants.d.ts.map