@biotechusa/pdo-ui 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/alert-dialog.js +1 -1
  2. package/dist/alert.js +1 -1
  3. package/dist/autocomplete.js +1 -1
  4. package/dist/avatar.js +1 -1
  5. package/dist/badge.js +1 -1
  6. package/dist/button.js +1 -1
  7. package/dist/card.js +1 -1
  8. package/dist/checkbox-group.js +1 -1
  9. package/dist/checkbox.js +1 -1
  10. package/dist/combobox.js +1 -1
  11. package/dist/dialog.js +1 -1
  12. package/dist/empty.js +1 -1
  13. package/dist/field.js +1 -1
  14. package/dist/fieldset.js +1 -1
  15. package/dist/form.js +1 -1
  16. package/dist/frame.js +1 -1
  17. package/dist/group.js +1 -1
  18. package/dist/index.css +286 -0
  19. package/dist/input-group.js +1 -1
  20. package/dist/input.js +1 -1
  21. package/dist/label.js +1 -1
  22. package/dist/lib/utils.js +6 -0
  23. package/dist/menu.js +1 -1
  24. package/dist/number-field.js +1 -1
  25. package/dist/{src/pagination.d.ts → pagination.d.ts} +1 -1
  26. package/dist/pagination.js +1 -1
  27. package/dist/popover.js +1 -1
  28. package/dist/progress.js +1 -1
  29. package/dist/radio-group.js +1 -1
  30. package/dist/scroll-area.js +1 -1
  31. package/dist/select.js +1 -1
  32. package/dist/separator.js +1 -1
  33. package/dist/sheet.js +1 -1
  34. package/dist/skeleton.js +1 -1
  35. package/dist/slider.js +1 -1
  36. package/dist/spinner.js +1 -1
  37. package/dist/switch.js +1 -1
  38. package/dist/table.js +1 -1
  39. package/dist/tabs.js +1 -1
  40. package/dist/textarea.js +1 -1
  41. package/dist/toast.d.ts +8 -0
  42. package/dist/toast.js +92 -0
  43. package/dist/{src/toggle-group.d.ts → toggle-group.d.ts} +2 -2
  44. package/dist/toggle-group.js +1 -1
  45. package/dist/toggle.js +1 -1
  46. package/dist/toolbar.js +1 -1
  47. package/dist/tooltip.js +1 -1
  48. package/package.json +3 -3
  49. /package/dist/{src/alert-dialog.d.ts → alert-dialog.d.ts} +0 -0
  50. /package/dist/{src/alert.d.ts → alert.d.ts} +0 -0
  51. /package/dist/{src/autocomplete.d.ts → autocomplete.d.ts} +0 -0
  52. /package/dist/{src/avatar.d.ts → avatar.d.ts} +0 -0
  53. /package/dist/{src/badge.d.ts → badge.d.ts} +0 -0
  54. /package/dist/{src/button.d.ts → button.d.ts} +0 -0
  55. /package/dist/{src/card.d.ts → card.d.ts} +0 -0
  56. /package/dist/{src/checkbox-group.d.ts → checkbox-group.d.ts} +0 -0
  57. /package/dist/{src/checkbox.d.ts → checkbox.d.ts} +0 -0
  58. /package/dist/{src/combobox.d.ts → combobox.d.ts} +0 -0
  59. /package/dist/{src/dialog.d.ts → dialog.d.ts} +0 -0
  60. /package/dist/{src/empty.d.ts → empty.d.ts} +0 -0
  61. /package/dist/{src/field.d.ts → field.d.ts} +0 -0
  62. /package/dist/{src/fieldset.d.ts → fieldset.d.ts} +0 -0
  63. /package/dist/{src/form.d.ts → form.d.ts} +0 -0
  64. /package/dist/{src/frame.d.ts → frame.d.ts} +0 -0
  65. /package/dist/{src/group.d.ts → group.d.ts} +0 -0
  66. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  67. /package/dist/{src/input-group.d.ts → input-group.d.ts} +0 -0
  68. /package/dist/{src/input.d.ts → input.d.ts} +0 -0
  69. /package/dist/{src/label.d.ts → label.d.ts} +0 -0
  70. /package/dist/{src/menu.d.ts → menu.d.ts} +0 -0
  71. /package/dist/{src/number-field.d.ts → number-field.d.ts} +0 -0
  72. /package/dist/{src/popover.d.ts → popover.d.ts} +0 -0
  73. /package/dist/{src/progress.d.ts → progress.d.ts} +0 -0
  74. /package/dist/{src/radio-group.d.ts → radio-group.d.ts} +0 -0
  75. /package/dist/{src/scroll-area.d.ts → scroll-area.d.ts} +0 -0
  76. /package/dist/{src/select.d.ts → select.d.ts} +0 -0
  77. /package/dist/{src/separator.d.ts → separator.d.ts} +0 -0
  78. /package/dist/{src/sheet.d.ts → sheet.d.ts} +0 -0
  79. /package/dist/{src/skeleton.d.ts → skeleton.d.ts} +0 -0
  80. /package/dist/{src/slider.d.ts → slider.d.ts} +0 -0
  81. /package/dist/{src/spinner.d.ts → spinner.d.ts} +0 -0
  82. /package/dist/{src/switch.d.ts → switch.d.ts} +0 -0
  83. /package/dist/{src/table.d.ts → table.d.ts} +0 -0
  84. /package/dist/{src/tabs.d.ts → tabs.d.ts} +0 -0
  85. /package/dist/{src/textarea.d.ts → textarea.d.ts} +0 -0
  86. /package/dist/{src/toggle.d.ts → toggle.d.ts} +0 -0
  87. /package/dist/{src/toolbar.d.ts → toolbar.d.ts} +0 -0
  88. /package/dist/{src/tooltip.d.ts → tooltip.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { AlertDialog } from "@base-ui-components/react/alert-dialog";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function alert_dialog_AlertDialog(props) {
5
5
  return /*#__PURE__*/ jsx(AlertDialog.Root, {
6
6
  "data-slot": "alert-dialog",
package/dist/alert.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  const alertVariants = cva("relative grid w-full items-start gap-x-2 gap-y-0.5 rounded-xl border px-3.5 py-3 text-card-foreground text-sm has-[>svg]:has-data-[slot=alert-action]:grid-cols-[calc(var(--spacing)*4)_1fr_auto] has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-data-[slot=alert-action]:grid-cols-[1fr_auto] has-[>svg]:gap-x-2 [&>svg]:h-[1lh] [&>svg]:w-4", {
5
5
  defaultVariants: {
6
6
  variant: "default"
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Autocomplete } from "@base-ui-components/react/autocomplete";
3
3
  import { ChevronsUpDownIcon, XIcon } from "lucide-react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  import { Input } from "./input.js";
6
6
  import { ScrollArea } from "./scroll-area.js";
7
7
  const autocomplete_Autocomplete = Autocomplete.Root;
package/dist/avatar.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Avatar } from "@base-ui-components/react/avatar";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function avatar_Avatar({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Avatar.Root, {
6
6
  className: cn("inline-flex size-8 shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-background align-middle font-medium text-xs", className),
package/dist/badge.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { mergeProps } from "@base-ui-components/react/merge-props";
2
2
  import { useRender } from "@base-ui-components/react/use-render";
3
3
  import { cva } from "class-variance-authority";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const badgeVariants = cva("relative inline-flex shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-sm border border-transparent font-medium outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='size-'])]:size-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [button,a&]:cursor-pointer [button,a&]:pointer-coarse:after:absolute [button,a&]:pointer-coarse:after:size-full [button,a&]:pointer-coarse:after:min-h-11 [button,a&]:pointer-coarse:after:min-w-11", {
6
6
  defaultVariants: {
7
7
  size: "default",
package/dist/button.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { mergeProps } from "@base-ui-components/react/merge-props";
2
2
  import { useRender } from "@base-ui-components/react/use-render";
3
3
  import { cva } from "class-variance-authority";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const buttonVariants = cva("relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border bg-clip-padding font-medium text-sm outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
6
6
  defaultVariants: {
7
7
  size: "default",
package/dist/card.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils";
2
+ import { cn } from "./lib/utils.js";
3
3
  function Card({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("div", {
5
5
  className: cn("relative flex flex-col gap-6 rounded-2xl border bg-card bg-clip-padding py-6 text-card-foreground shadow-xs before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-clip-border dark:before:shadow-[0_-1px_--theme(--color-white/8%)]", className),
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { CheckboxGroup } from "@base-ui-components/react/checkbox-group";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function checkbox_group_CheckboxGroup({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(CheckboxGroup, {
6
6
  className: cn("flex flex-col items-start gap-3", className),
package/dist/checkbox.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Checkbox } from "@base-ui-components/react/checkbox";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function checkbox_Checkbox({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Checkbox.Root, {
6
6
  className: cn("relative inline-flex size-4 shrink-0 items-center justify-center rounded-lg border border-input bg-background bg-clip-padding shadow-xs outline-none ring-ring transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(0.25rem-1px)] not-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-64 aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/48 dark:not-data-checked:bg-input/32 dark:bg-clip-border dark:aria-invalid:ring-destructive/24 dark:not-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/8%)] [&:is(:disabled,[data-checked],[aria-invalid])]:shadow-none", className),
package/dist/combobox.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Combobox } from "@base-ui-components/react/combobox";
3
3
  import { ChevronsUpDownIcon, XIcon } from "lucide-react";
4
4
  import { createContext, useContext, useRef } from "react";
5
- import { cn } from "../lib/utils";
5
+ import { cn } from "./lib/utils.js";
6
6
  import { Input } from "./input.js";
7
7
  import { ScrollArea } from "./scroll-area.js";
8
8
  const ComboboxContext = /*#__PURE__*/ createContext({
package/dist/dialog.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Dialog } from "@base-ui-components/react/dialog";
3
3
  import { XIcon } from "lucide-react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const dialog_Dialog = Dialog.Root;
6
6
  function DialogTrigger(props) {
7
7
  return /*#__PURE__*/ jsx(Dialog.Trigger, {
package/dist/empty.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function Empty({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx("div", {
6
6
  className: cn("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-xl border-dashed p-6 text-center md:p-12", className),
package/dist/field.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Field } from "@base-ui-components/react/field";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function field_Field({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Field.Root, {
6
6
  className: cn("flex flex-col items-start gap-2", className),
package/dist/fieldset.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Fieldset } from "@base-ui-components/react/fieldset";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function fieldset_Fieldset({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Fieldset.Root, {
6
6
  className: cn("flex w-full max-w-64 flex-col gap-6", className),
package/dist/form.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Form } from "@base-ui-components/react/form";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function form_Form({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Form, {
6
6
  className: cn("flex w-full flex-col gap-4", className),
package/dist/frame.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils";
2
+ import { cn } from "./lib/utils.js";
3
3
  function Frame({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("div", {
5
5
  className: cn("relative flex flex-col rounded-2xl bg-muted p-1", className),
package/dist/group.js CHANGED
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { mergeProps } from "@base-ui-components/react/merge-props";
3
3
  import { useRender } from "@base-ui-components/react/use-render";
4
4
  import { cva } from "class-variance-authority";
5
- import { cn } from "../lib/utils";
5
+ import { cn } from "./lib/utils.js";
6
6
  import { Separator } from "./separator.js";
7
7
  const groupVariants = cva("flex w-fit *:focus-visible:z-10 has-[>[data-slot=group]]:gap-2 *:has-focus-visible:z-10", {
8
8
  defaultVariants: {
package/dist/index.css CHANGED
@@ -7,6 +7,11 @@
7
7
  --tw-scale-x: 1;
8
8
  --tw-scale-y: 1;
9
9
  --tw-scale-z: 1;
10
+ --tw-rotate-x: initial;
11
+ --tw-rotate-y: initial;
12
+ --tw-rotate-z: initial;
13
+ --tw-skew-x: initial;
14
+ --tw-skew-y: initial;
10
15
  --tw-border-style: solid;
11
16
  --tw-leading: initial;
12
17
  --tw-font-weight: initial;
@@ -525,6 +530,10 @@
525
530
  z-index: 50;
526
531
  }
527
532
 
533
+ .z-\[calc\(9999-var\(--toast-index\)\)\] {
534
+ z-index: calc(9999 - var(--toast-index));
535
+ }
536
+
528
537
  .order-first {
529
538
  order: -9999;
530
539
  }
@@ -697,6 +706,10 @@
697
706
  height: var(--active-tab-height);
698
707
  }
699
708
 
709
+ .h-\(--toast-calc-height\) {
710
+ height: var(--toast-calc-height);
711
+ }
712
+
700
713
  .h-1\.5 {
701
714
  height: calc(var(--spacing) * 1.5);
702
715
  }
@@ -825,6 +838,10 @@
825
838
  width: calc(100% - (calc(var(--spacing) * 12)));
826
839
  }
827
840
 
841
+ .w-\[calc\(100\%-var\(--toast-inset\)\*2\)\] {
842
+ width: calc(100% - var(--toast-inset) * 2);
843
+ }
844
+
828
845
  .w-fit {
829
846
  width: fit-content;
830
847
  }
@@ -845,6 +862,10 @@
845
862
  max-width: calc(var(--spacing) * 64);
846
863
  }
847
864
 
865
+ .max-w-90 {
866
+ max-width: calc(var(--spacing) * 90);
867
+ }
868
+
848
869
  .max-w-92 {
849
870
  max-width: calc(var(--spacing) * 92);
850
871
  }
@@ -961,6 +982,10 @@
961
982
  rotate: 10deg;
962
983
  }
963
984
 
985
+ .transform {
986
+ transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
987
+ }
988
+
964
989
  .animate-spin {
965
990
  animation: var(--animate-spin);
966
991
  }
@@ -1954,6 +1979,11 @@
1954
1979
  transition-duration: .2s;
1955
1980
  }
1956
1981
 
1982
+ .duration-250 {
1983
+ --tw-duration: .25s;
1984
+ transition-duration: .25s;
1985
+ }
1986
+
1957
1987
  .duration-300 {
1958
1988
  --tw-duration: .3s;
1959
1989
  transition-duration: .3s;
@@ -2006,10 +2036,38 @@
2006
2036
  }
2007
2037
  }
2008
2038
 
2039
+ .\[--toast-calc-height\:var\(--toast-frontmost-height\,var\(--toast-height\)\)\] {
2040
+ --toast-calc-height: var(--toast-frontmost-height, var(--toast-height));
2041
+ }
2042
+
2043
+ .\[--toast-gap\:--spacing\(3\)\] {
2044
+ --toast-gap: calc(var(--spacing) * 3);
2045
+ }
2046
+
2047
+ .\[--toast-inset\:--spacing\(4\)\] {
2048
+ --toast-inset: calc(var(--spacing) * 4);
2049
+ }
2050
+
2051
+ .\[--toast-peek\:--spacing\(3\)\] {
2052
+ --toast-peek: calc(var(--spacing) * 3);
2053
+ }
2054
+
2055
+ .\[--toast-scale\:calc\(max\(0\,1-\(var\(--toast-index\)\*\.1\)\)\)\] {
2056
+ --toast-scale: calc(max(0, 1 - (var(--toast-index) * .1)));
2057
+ }
2058
+
2059
+ .\[--toast-shrink\:calc\(1-var\(--toast-scale\)\)\] {
2060
+ --toast-shrink: calc(1 - var(--toast-scale));
2061
+ }
2062
+
2009
2063
  .\[background\:linear-gradient\(120deg\,transparent_40\%\,var\(--skeleton-highlight\)\,transparent_60\%\)_var\(--color-muted\)_0_0_\/_200\%_100\%_fixed\] {
2010
2064
  background: linear-gradient(120deg, transparent 40%, var(--skeleton-highlight), transparent 60%) var(--color-muted) 0 0 / 200% 100% fixed;
2011
2065
  }
2012
2066
 
2067
+ .\[transition\:transform_\.5s_cubic-bezier\(\.22\,1\,\.36\,1\)\,opacity_\.5s\,height_\.15s\] {
2068
+ transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .5s, height .15s;
2069
+ }
2070
+
2013
2071
  :is(.\*\:min-h-6 > *) {
2014
2072
  min-height: calc(var(--spacing) * 6);
2015
2073
  }
@@ -2494,6 +2552,26 @@
2494
2552
  border-bottom-left-radius: 0;
2495
2553
  }
2496
2554
 
2555
+ .after\:absolute:after {
2556
+ content: var(--tw-content);
2557
+ position: absolute;
2558
+ }
2559
+
2560
+ .after\:left-0:after {
2561
+ content: var(--tw-content);
2562
+ left: calc(var(--spacing) * 0);
2563
+ }
2564
+
2565
+ .after\:h-\[calc\(var\(--toast-gap\)\+1px\)\]:after {
2566
+ content: var(--tw-content);
2567
+ height: calc(var(--toast-gap) + 1px);
2568
+ }
2569
+
2570
+ .after\:w-full:after {
2571
+ content: var(--tw-content);
2572
+ width: 100%;
2573
+ }
2574
+
2497
2575
  .last\:hidden:last-child {
2498
2576
  display: none;
2499
2577
  }
@@ -2684,6 +2762,30 @@
2684
2762
  }
2685
2763
  }
2686
2764
 
2765
+ :where([data-type="error"]) .in-data-\[type\=error\]\:text-destructive {
2766
+ color: var(--destructive);
2767
+ }
2768
+
2769
+ :where([data-type="info"]) .in-data-\[type\=info\]\:text-info {
2770
+ color: var(--info);
2771
+ }
2772
+
2773
+ :where([data-type="loading"]) .in-data-\[type\=loading\]\:animate-spin {
2774
+ animation: var(--animate-spin);
2775
+ }
2776
+
2777
+ :where([data-type="loading"]) .in-data-\[type\=loading\]\:opacity-72 {
2778
+ opacity: .72;
2779
+ }
2780
+
2781
+ :where([data-type="success"]) .in-data-\[type\=success\]\:text-success {
2782
+ color: var(--success);
2783
+ }
2784
+
2785
+ :where([data-type="warning"]) .in-data-\[type\=warning\]\:text-warning {
2786
+ color: var(--warning);
2787
+ }
2788
+
2687
2789
  .not-has-disabled\:has-not-focus-visible\:not-has-aria-invalid\:before\:shadow-\[0_1px_--theme\(--color-black\/4\%\)\]:not(:has(:disabled)):has(:not(:focus-visible)):not(:has([aria-invalid="true"])):before {
2688
2790
  content: var(--tw-content);
2689
2791
  --tw-shadow: 0 1px var(--tw-shadow-color, #0000000a);
@@ -3027,6 +3129,14 @@
3027
3129
  }
3028
3130
  }
3029
3131
 
3132
+ .data-behind\:pointer-events-none[data-behind] {
3133
+ pointer-events: none;
3134
+ }
3135
+
3136
+ .data-behind\:opacity-0[data-behind] {
3137
+ opacity: 0;
3138
+ }
3139
+
3030
3140
  .data-checked\:translate-x-3[data-checked] {
3031
3141
  --tw-translate-x: calc(var(--spacing) * 3);
3032
3142
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -3095,6 +3205,22 @@
3095
3205
  opacity: 0;
3096
3206
  }
3097
3207
 
3208
+ .data-ending-style\:not-data-limited\:not-data-swipe-direction\:\[transform\:translateY\(calc\(100\%\+var\(--toast-inset\)\)\)\][data-ending-style]:not([data-limited]):not([data-swipe-direction]) {
3209
+ transform: translateY(calc(100% + var(--toast-inset)));
3210
+ }
3211
+
3212
+ .data-expanded\:pointer-events-auto[data-expanded] {
3213
+ pointer-events: auto;
3214
+ }
3215
+
3216
+ .data-expanded\:h-\(--toast-height\)[data-expanded] {
3217
+ height: var(--toast-height);
3218
+ }
3219
+
3220
+ .data-expanded\:opacity-100[data-expanded] {
3221
+ opacity: 1;
3222
+ }
3223
+
3098
3224
  .data-highlighted\:bg-accent[data-highlighted] {
3099
3225
  background-color: var(--accent);
3100
3226
  }
@@ -3138,6 +3264,10 @@
3138
3264
  transition-duration: 0s;
3139
3265
  }
3140
3266
 
3267
+ .data-limited\:opacity-0[data-limited] {
3268
+ opacity: 0;
3269
+ }
3270
+
3141
3271
  .data-pressed\:bg-accent[data-pressed] {
3142
3272
  background-color: var(--accent);
3143
3273
  }
@@ -3356,6 +3486,117 @@
3356
3486
  inset-block: calc(var(--spacing) * .5);
3357
3487
  }
3358
3488
 
3489
+ .data-\[position\]\:data-expanded\:\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(var\(--toast-calc-offset-y\)\)\][data-position][data-expanded] {
3490
+ transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--toast-calc-offset-y));
3491
+ }
3492
+
3493
+ .data-\[position\*\=bottom\]\:top-auto[data-position*="bottom"] {
3494
+ top: auto;
3495
+ }
3496
+
3497
+ .data-\[position\*\=bottom\]\:bottom-\(--toast-inset\)[data-position*="bottom"] {
3498
+ bottom: var(--toast-inset);
3499
+ }
3500
+
3501
+ .data-\[position\*\=bottom\]\:bottom-0[data-position*="bottom"] {
3502
+ bottom: calc(var(--spacing) * 0);
3503
+ }
3504
+
3505
+ .data-\[position\*\=bottom\]\:origin-bottom[data-position*="bottom"] {
3506
+ transform-origin: bottom;
3507
+ }
3508
+
3509
+ .data-\[position\*\=bottom\]\:\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(calc\(var\(--toast-swipe-movement-y\)-\(var\(--toast-index\)\*var\(--toast-peek\)\)-\(var\(--toast-shrink\)\*var\(--toast-calc-height\)\)\)\)_scale\(var\(--toast-scale\)\)\][data-position*="bottom"] {
3510
+ transform: translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) - (var(--toast-index) * var(--toast-peek)) - (var(--toast-shrink) * var(--toast-calc-height)))) scale(var(--toast-scale));
3511
+ }
3512
+
3513
+ .data-\[position\*\=bottom\]\:\[--toast-calc-offset-y\:calc\(var\(--toast-offset-y\)\*-1\+var\(--toast-index\)\*var\(--toast-gap\)\*-1\+var\(--toast-swipe-movement-y\)\)\][data-position*="bottom"] {
3514
+ --toast-calc-offset-y: calc(var(--toast-offset-y) * -1 + var(--toast-index) * var(--toast-gap) * -1 + var(--toast-swipe-movement-y));
3515
+ }
3516
+
3517
+ .data-\[position\*\=bottom\]\:after\:bottom-full[data-position*="bottom"]:after {
3518
+ content: var(--tw-content);
3519
+ bottom: 100%;
3520
+ }
3521
+
3522
+ .data-\[position\*\=bottom\]\:data-starting-style\:\[transform\:translateY\(calc\(100\%\+var\(--toast-inset\)\)\)\][data-position*="bottom"][data-starting-style] {
3523
+ transform: translateY(calc(100% + var(--toast-inset)));
3524
+ }
3525
+
3526
+ .data-\[position\*\=center\]\:right-0[data-position*="center"] {
3527
+ right: calc(var(--spacing) * 0);
3528
+ }
3529
+
3530
+ .data-\[position\*\=center\]\:left-0[data-position*="center"] {
3531
+ left: calc(var(--spacing) * 0);
3532
+ }
3533
+
3534
+ .data-\[position\*\=center\]\:left-1\/2[data-position*="center"] {
3535
+ left: 50%;
3536
+ }
3537
+
3538
+ .data-\[position\*\=center\]\:-translate-x-1\/2[data-position*="center"] {
3539
+ --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
3540
+ translate: var(--tw-translate-x) var(--tw-translate-y);
3541
+ }
3542
+
3543
+ .data-\[position\*\=left\]\:right-auto[data-position*="left"] {
3544
+ right: auto;
3545
+ }
3546
+
3547
+ .data-\[position\*\=left\]\:left-\(--toast-inset\)[data-position*="left"] {
3548
+ left: var(--toast-inset);
3549
+ }
3550
+
3551
+ .data-\[position\*\=left\]\:left-0[data-position*="left"] {
3552
+ left: calc(var(--spacing) * 0);
3553
+ }
3554
+
3555
+ .data-\[position\*\=right\]\:right-\(--toast-inset\)[data-position*="right"] {
3556
+ right: var(--toast-inset);
3557
+ }
3558
+
3559
+ .data-\[position\*\=right\]\:right-0[data-position*="right"] {
3560
+ right: calc(var(--spacing) * 0);
3561
+ }
3562
+
3563
+ .data-\[position\*\=right\]\:left-auto[data-position*="right"] {
3564
+ left: auto;
3565
+ }
3566
+
3567
+ .data-\[position\*\=top\]\:top-\(--toast-inset\)[data-position*="top"] {
3568
+ top: var(--toast-inset);
3569
+ }
3570
+
3571
+ .data-\[position\*\=top\]\:top-0[data-position*="top"] {
3572
+ top: calc(var(--spacing) * 0);
3573
+ }
3574
+
3575
+ .data-\[position\*\=top\]\:bottom-auto[data-position*="top"] {
3576
+ bottom: auto;
3577
+ }
3578
+
3579
+ .data-\[position\*\=top\]\:origin-top[data-position*="top"] {
3580
+ transform-origin: top;
3581
+ }
3582
+
3583
+ .data-\[position\*\=top\]\:\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(calc\(var\(--toast-swipe-movement-y\)\+\(var\(--toast-index\)\*var\(--toast-peek\)\)\+\(var\(--toast-shrink\)\*var\(--toast-calc-height\)\)\)\)_scale\(var\(--toast-scale\)\)\][data-position*="top"] {
3584
+ transform: translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) + (var(--toast-index) * var(--toast-peek)) + (var(--toast-shrink) * var(--toast-calc-height)))) scale(var(--toast-scale));
3585
+ }
3586
+
3587
+ .data-\[position\*\=top\]\:\[--toast-calc-offset-y\:calc\(var\(--toast-offset-y\)\+var\(--toast-index\)\*var\(--toast-gap\)\+var\(--toast-swipe-movement-y\)\)\][data-position*="top"] {
3588
+ --toast-calc-offset-y: calc(var(--toast-offset-y) + var(--toast-index) * var(--toast-gap) + var(--toast-swipe-movement-y));
3589
+ }
3590
+
3591
+ .data-\[position\*\=top\]\:after\:top-full[data-position*="top"]:after {
3592
+ content: var(--tw-content);
3593
+ top: 100%;
3594
+ }
3595
+
3596
+ .data-\[position\*\=top\]\:data-starting-style\:\[transform\:translateY\(calc\(-100\%-var\(--toast-inset\)\)\)\][data-position*="top"][data-starting-style] {
3597
+ transform: translateY(calc(-100% - var(--toast-inset)));
3598
+ }
3599
+
3359
3600
  :is(.has-\[\+\[data-slot\=autocomplete-trigger\]\,\+\[data-slot\=autocomplete-clear\]\]\:\*\:data-\[slot\=autocomplete-input\]\:pe-6\.5:has( + [data-slot="autocomplete-trigger"], + [data-slot="autocomplete-clear"]) > *)[data-slot="autocomplete-input"] {
3360
3601
  padding-inline-end: calc(var(--spacing) * 6.5);
3361
3602
  }
@@ -3386,6 +3627,22 @@
3386
3627
  background-color: #0000;
3387
3628
  }
3388
3629
 
3630
+ .data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+100\%\+var\(--toast-inset\)\)\)\][data-ending-style][data-swipe-direction="down"], .data-expanded\:data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+100\%\+var\(--toast-inset\)\)\)\][data-expanded][data-ending-style][data-swipe-direction="down"] {
3631
+ transform: translateY(calc(var(--toast-swipe-movement-y) + 100% + var(--toast-inset)));
3632
+ }
3633
+
3634
+ .data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-100\%-var\(--toast-inset\)\)\)_translateY\(var\(--toast-calc-offset-y\)\)\][data-ending-style][data-swipe-direction="left"], .data-expanded\:data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-100\%-var\(--toast-inset\)\)\)_translateY\(var\(--toast-calc-offset-y\)\)\][data-expanded][data-ending-style][data-swipe-direction="left"] {
3635
+ transform: translateX(calc(var(--toast-swipe-movement-x) - 100% - var(--toast-inset))) translateY(var(--toast-calc-offset-y));
3636
+ }
3637
+
3638
+ .data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+100\%\+var\(--toast-inset\)\)\)_translateY\(var\(--toast-calc-offset-y\)\)\][data-ending-style][data-swipe-direction="right"], .data-expanded\:data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+100\%\+var\(--toast-inset\)\)\)_translateY\(var\(--toast-calc-offset-y\)\)\][data-expanded][data-ending-style][data-swipe-direction="right"] {
3639
+ transform: translateX(calc(var(--toast-swipe-movement-x) + 100% + var(--toast-inset))) translateY(var(--toast-calc-offset-y));
3640
+ }
3641
+
3642
+ .data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-100\%-var\(--toast-inset\)\)\)\][data-ending-style][data-swipe-direction="up"], .data-expanded\:data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-100\%-var\(--toast-inset\)\)\)\][data-expanded][data-ending-style][data-swipe-direction="up"] {
3643
+ transform: translateY(calc(var(--toast-swipe-movement-y) - 100% - var(--toast-inset)));
3644
+ }
3645
+
3389
3646
  .data-\[variant\=destructive\]\:text-destructive-foreground[data-variant="destructive"] {
3390
3647
  color: var(--destructive-foreground);
3391
3648
  }
@@ -3571,6 +3828,10 @@
3571
3828
  --sheet-inset: 1rem;
3572
3829
  }
3573
3830
 
3831
+ .sm\:\[--toast-inset\:--spacing\(8\)\] {
3832
+ --toast-inset: calc(var(--spacing) * 8);
3833
+ }
3834
+
3574
3835
  .sm\:before\:basis-\[20vh\]:before {
3575
3836
  content: var(--tw-content);
3576
3837
  flex-basis: 20vh;
@@ -4697,6 +4958,31 @@
4697
4958
  initial-value: 1;
4698
4959
  }
4699
4960
 
4961
+ @property --tw-rotate-x {
4962
+ syntax: "*";
4963
+ inherits: false
4964
+ }
4965
+
4966
+ @property --tw-rotate-y {
4967
+ syntax: "*";
4968
+ inherits: false
4969
+ }
4970
+
4971
+ @property --tw-rotate-z {
4972
+ syntax: "*";
4973
+ inherits: false
4974
+ }
4975
+
4976
+ @property --tw-skew-x {
4977
+ syntax: "*";
4978
+ inherits: false
4979
+ }
4980
+
4981
+ @property --tw-skew-y {
4982
+ syntax: "*";
4983
+ inherits: false
4984
+ }
4985
+
4700
4986
  @property --tw-border-style {
4701
4987
  syntax: "*";
4702
4988
  inherits: false;
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  import { Input } from "./input.js";
5
5
  import { Textarea } from "./textarea.js";
6
6
  function InputGroup({ className, ...props }) {
package/dist/input.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Input } from "@base-ui-components/react/input";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function input_Input({ className, size = "default", unstyled = false, ...props }) {
5
5
  return /*#__PURE__*/ jsx("span", {
6
6
  className: cn(!unstyled && "relative inline-flex w-full rounded-lg border border-input bg-background bg-clip-padding text-base/5 shadow-xs ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] sm:text-sm dark:bg-input/32 dark:not-in-data-[slot=group]:bg-clip-border dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/8%)]", className) || void 0,
package/dist/label.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils";
2
+ import { cn } from "./lib/utils.js";
3
3
  function Label({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("label", {
5
5
  className: cn("inline-flex items-center gap-2 text-sm/4", className),
@@ -0,0 +1,6 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ export { cn };
package/dist/menu.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Menu } from "@base-ui-components/react/menu";
3
3
  import { CheckIcon, ChevronRightIcon } from "lucide-react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const menu_Menu = Menu.Root;
6
6
  const MenuPortal = Menu.Portal;
7
7
  function MenuTrigger(props) {
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { NumberField } from "@base-ui-components/react/number-field";
3
3
  import { MinusIcon, PlusIcon } from "lucide-react";
4
4
  import { createContext, useContext, useId } from "react";
5
- import { cn } from "../lib/utils";
5
+ import { cn } from "./lib/utils.js";
6
6
  import { Label } from "./label.js";
7
7
  const NumberFieldContext = /*#__PURE__*/ createContext(null);
8
8
  function number_field_NumberField({ id, className, size = "default", ...props }) {
@@ -1,6 +1,6 @@
1
1
  import { useRender } from "@base-ui-components/react/use-render";
2
2
  import type * as React from "react";
3
- import { type Button } from "../button";
3
+ import { type Button } from "./button";
4
4
  declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
5
5
  declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
6
6
  declare function PaginationItem({ ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { mergeProps } from "@base-ui-components/react/merge-props";
3
3
  import { useRender } from "@base-ui-components/react/use-render";
4
4
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
5
- import { cn } from "../lib/utils";
5
+ import { cn } from "./lib/utils.js";
6
6
  import { buttonVariants } from "./button.js";
7
7
  function Pagination({ className, ...props }) {
8
8
  return /*#__PURE__*/ jsx("nav", {
package/dist/popover.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Popover } from "@base-ui-components/react/popover";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  const popover_Popover = Popover.Root;
5
5
  function PopoverTrigger(props) {
6
6
  return /*#__PURE__*/ jsx(Popover.Trigger, {
package/dist/progress.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Progress } from "@base-ui-components/react/progress";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function progress_Progress({ className, children, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Progress.Root, {
6
6
  className: cn("flex w-full flex-col gap-2", className),
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Radio } from "@base-ui-components/react/radio";
3
3
  import { RadioGroup } from "@base-ui-components/react/radio-group";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  function radio_group_RadioGroup({ className, ...props }) {
6
6
  return /*#__PURE__*/ jsx(RadioGroup, {
7
7
  className: cn("flex flex-col gap-3", className),
@@ -1,6 +1,6 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ScrollArea } from "@base-ui-components/react/scroll-area";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function scroll_area_ScrollArea({ className, children, orientation, ...props }) {
5
5
  return /*#__PURE__*/ jsxs(ScrollArea.Root, {
6
6
  className: "min-h-0",
package/dist/select.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Select } from "@base-ui-components/react/select";
3
3
  import { ChevronDownIcon, ChevronUpIcon, ChevronsUpDownIcon } from "lucide-react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const select_Select = Select.Root;
6
6
  function SelectTrigger({ className, size = "default", children, ...props }) {
7
7
  return /*#__PURE__*/ jsxs(Select.Trigger, {
package/dist/separator.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Separator } from "@base-ui-components/react/separator";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function separator_Separator({ className, orientation = "horizontal", ...props }) {
5
5
  return /*#__PURE__*/ jsx(Separator, {
6
6
  className: cn("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch", className),
package/dist/sheet.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Dialog } from "@base-ui-components/react/dialog";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { XIcon } from "lucide-react";
5
- import { cn } from "../lib/utils";
5
+ import { cn } from "./lib/utils.js";
6
6
  const Sheet = Dialog.Root;
7
7
  function SheetTrigger(props) {
8
8
  return /*#__PURE__*/ jsx(Dialog.Trigger, {
package/dist/skeleton.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils";
2
+ import { cn } from "./lib/utils.js";
3
3
  function Skeleton({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("div", {
5
5
  className: cn("animate-skeleton rounded-sm [--skeleton-highlight:--alpha(var(--color-white)/64%)] [background:linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)_var(--color-muted)_0_0_/_200%_100%_fixed] dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]", className),
package/dist/slider.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Slider } from "@base-ui-components/react/slider";
3
3
  import { useMemo } from "react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  function slider_Slider({ className, children, defaultValue, value, min = 0, max = 100, ...props }) {
6
6
  const _values = useMemo(()=>{
7
7
  if (void 0 !== value) return Array.isArray(value) ? value : [
package/dist/spinner.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Loader2Icon } from "lucide-react";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function Spinner({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Loader2Icon, {
6
6
  "aria-label": "Loading",
package/dist/switch.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Switch } from "@base-ui-components/react/switch";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function switch_Switch({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Switch.Root, {
6
6
  className: cn("group/switch inset-shadow-[0_1px_--theme(--color-black/4%)] inline-flex h-4.5 w-7.5 shrink-0 items-center rounded-full p-px outline-none transition-all focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-64 data-checked:bg-primary data-unchecked:bg-input", className),
package/dist/table.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../lib/utils";
2
+ import { cn } from "./lib/utils.js";
3
3
  function Table({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("div", {
5
5
  className: "relative w-full overflow-x-auto",
package/dist/tabs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Tabs } from "@base-ui-components/react/tabs";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function tabs_Tabs({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Tabs.Root, {
6
6
  className: cn("flex flex-col gap-2 data-[orientation=vertical]:flex-row", className),
package/dist/textarea.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Field } from "@base-ui-components/react/field";
3
3
  import { mergeProps } from "@base-ui-components/react/merge-props";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  function Textarea({ className, size = "default", unstyled = false, ...props }) {
6
6
  return /*#__PURE__*/ jsx("span", {
7
7
  className: cn(!unstyled && "relative inline-flex w-full rounded-lg border border-input bg-background bg-clip-padding text-base shadow-xs ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] sm:text-sm dark:bg-input/32 dark:bg-clip-border dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/8%)]", className) || void 0,
@@ -0,0 +1,8 @@
1
+ import { Toast } from "@base-ui-components/react/toast";
2
+ declare const toastManager: import("@base-ui-components/react/toast").ToastManager;
3
+ type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
4
+ interface ToastProviderProps extends Toast.Provider.Props {
5
+ position?: ToastPosition;
6
+ }
7
+ declare function ToastProvider({ children, position, ...props }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
8
+ export { ToastProvider, type ToastPosition, toastManager };
package/dist/toast.js ADDED
@@ -0,0 +1,92 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Toast } from "@base-ui-components/react/toast";
3
+ import { CircleAlertIcon, CircleCheckIcon, InfoIcon, LoaderCircleIcon, TriangleAlertIcon } from "lucide-react";
4
+ import { cn } from "./lib/utils.js";
5
+ import { buttonVariants } from "./button.js";
6
+ const toastManager = Toast.createToastManager();
7
+ const TOAST_ICONS = {
8
+ error: CircleAlertIcon,
9
+ info: InfoIcon,
10
+ loading: LoaderCircleIcon,
11
+ success: CircleCheckIcon,
12
+ warning: TriangleAlertIcon
13
+ };
14
+ function ToastProvider({ children, position = "bottom-right", ...props }) {
15
+ return /*#__PURE__*/ jsxs(Toast.Provider, {
16
+ toastManager: toastManager,
17
+ ...props,
18
+ children: [
19
+ children,
20
+ /*#__PURE__*/ jsx(ToastList, {
21
+ position: position
22
+ })
23
+ ]
24
+ });
25
+ }
26
+ function ToastList({ position = "bottom-right" }) {
27
+ const { toasts } = Toast.useToastManager();
28
+ const isTop = position.startsWith("top");
29
+ return /*#__PURE__*/ jsx(Toast.Portal, {
30
+ "data-slot": "toast-portal",
31
+ children: /*#__PURE__*/ jsx(Toast.Viewport, {
32
+ className: cn("fixed z-50 mx-auto flex w-[calc(100%-var(--toast-inset)*2)] max-w-90 [--toast-inset:--spacing(4)] sm:[--toast-inset:--spacing(8)]", "data-[position*=top]:top-(--toast-inset)", "data-[position*=bottom]:bottom-(--toast-inset)", "data-[position*=left]:left-(--toast-inset)", "data-[position*=right]:right-(--toast-inset)", "data-[position*=center]:-translate-x-1/2 data-[position*=center]:left-1/2"),
33
+ "data-position": position,
34
+ "data-slot": "toast-viewport",
35
+ children: toasts.map((toast)=>{
36
+ const Icon = toast.type ? TOAST_ICONS[toast.type] : null;
37
+ return /*#__PURE__*/ jsx(Toast.Root, {
38
+ className: cn("absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full select-none rounded-lg border bg-popover bg-clip-padding px-3.5 py-3 text-popover-foreground shadow-lg [transition:transform_.5s_cubic-bezier(.22,1,.36,1),opacity_.5s,height_.15s] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-clip-border dark:before:shadow-[0_-1px_--theme(--color-white/8%)]", "data-[position*=right]:right-0 data-[position*=right]:left-auto", "data-[position*=left]:right-auto data-[position*=left]:left-0", "data-[position*=center]:right-0 data-[position*=center]:left-0", "data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top", "data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom", "after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full", "data-[position*=top]:after:top-full", "data-[position*=bottom]:after:bottom-full", "[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]", "data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]", "data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]", "data-[position*=top]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-[position*=bottom]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-limited:opacity-0", "data-expanded:h-(--toast-height)", "data-[position]:data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]", "data-[position*=top]:data-starting-style:[transform:translateY(calc(-100%-var(--toast-inset)))]", "data-[position*=bottom]:data-starting-style:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:opacity-0", "data-ending-style:not-data-limited:not-data-swipe-direction:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]"),
39
+ "data-position": position,
40
+ swipeDirection: position.includes("center") ? [
41
+ isTop ? "up" : "down"
42
+ ] : position.includes("left") ? [
43
+ "left",
44
+ isTop ? "up" : "down"
45
+ ] : [
46
+ "right",
47
+ isTop ? "up" : "down"
48
+ ],
49
+ toast: toast,
50
+ children: /*#__PURE__*/ jsxs(Toast.Content, {
51
+ className: "flex items-center justify-between gap-1.5 overflow-hidden text-sm transition-opacity duration-250 data-behind:pointer-events-none data-expanded:pointer-events-auto data-behind:opacity-0 data-expanded:opacity-100",
52
+ children: [
53
+ /*#__PURE__*/ jsxs("div", {
54
+ className: "flex gap-2",
55
+ children: [
56
+ Icon && /*#__PURE__*/ jsx("div", {
57
+ className: "mt-.5 [&>svg]:h-[1lh] [&>svg]:w-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
58
+ "data-slot": "toast-icon",
59
+ children: /*#__PURE__*/ jsx(Icon, {
60
+ className: "in-data-[type=loading]:animate-spin in-data-[type=error]:text-destructive in-data-[type=info]:text-info in-data-[type=success]:text-success in-data-[type=warning]:text-warning in-data-[type=loading]:opacity-72"
61
+ })
62
+ }),
63
+ /*#__PURE__*/ jsxs("div", {
64
+ className: "flex flex-col gap-0.5",
65
+ children: [
66
+ /*#__PURE__*/ jsx(Toast.Title, {
67
+ className: "font-medium",
68
+ "data-slot": "toast-title"
69
+ }),
70
+ /*#__PURE__*/ jsx(Toast.Description, {
71
+ className: "text-muted-foreground",
72
+ "data-slot": "toast-description"
73
+ })
74
+ ]
75
+ })
76
+ ]
77
+ }),
78
+ toast.actionProps && /*#__PURE__*/ jsx(Toast.Action, {
79
+ className: buttonVariants({
80
+ size: "xs"
81
+ }),
82
+ "data-slot": "toast-action",
83
+ children: toast.actionProps.children
84
+ })
85
+ ]
86
+ })
87
+ }, toast.id);
88
+ })
89
+ })
90
+ });
91
+ }
92
+ export { ToastProvider, toastManager };
@@ -2,8 +2,8 @@ import type { Toggle as TogglePrimitive } from "@base-ui-components/react/toggle
2
2
  import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui-components/react/toggle-group";
3
3
  import type { VariantProps } from "class-variance-authority";
4
4
  import * as React from "react";
5
- import { Separator } from "../separator";
6
- import { type toggleVariants } from "../toggle";
5
+ import { Separator } from "./separator";
6
+ import { type toggleVariants } from "./toggle";
7
7
  declare function ToggleGroup({ className, variant, size, orientation, children, ...props }: ToggleGroupPrimitive.Props & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
8
8
  declare function Toggle({ className, children, variant, size, ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
9
9
  declare function ToggleGroupSeparator({ className, orientation, ...props }: {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { ToggleGroup } from "@base-ui-components/react/toggle-group";
3
3
  import { createContext, useContext } from "react";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  import { Separator } from "./separator.js";
6
6
  import { Toggle } from "./toggle.js";
7
7
  const ToggleGroupContext = /*#__PURE__*/ createContext({
package/dist/toggle.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Toggle } from "@base-ui-components/react/toggle";
3
3
  import { cva } from "class-variance-authority";
4
- import { cn } from "../lib/utils";
4
+ import { cn } from "./lib/utils.js";
5
5
  const toggleVariants = cva("relative inline-flex shrink-0 cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-sm outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent/50 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 data-pressed:bg-accent data-pressed:text-accent-foreground data-pressed:transition-none dark:data-pressed:bg-input/80 dark:hover:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
6
6
  defaultVariants: {
7
7
  size: "default",
package/dist/toolbar.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Toolbar } from "@base-ui-components/react/toolbar";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  function toolbar_Toolbar({ className, ...props }) {
5
5
  return /*#__PURE__*/ jsx(Toolbar.Root, {
6
6
  className: cn("relative flex gap-2 rounded-xl border bg-card bg-clip-padding p-1 text-card-foreground", className),
package/dist/tooltip.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Tooltip } from "@base-ui-components/react/tooltip";
3
- import { cn } from "../lib/utils";
3
+ import { cn } from "./lib/utils.js";
4
4
  const TooltipProvider = Tooltip.Provider;
5
5
  const tooltip_Tooltip = Tooltip.Root;
6
6
  function TooltipTrigger(props) {
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@biotechusa/pdo-ui",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
7
- "types": "./dist/src/index.d.ts",
7
+ "types": "./dist/index.d.ts",
8
8
  "import": "./dist/index.js"
9
9
  },
10
10
  "./dist/index.css": {
@@ -14,7 +14,7 @@
14
14
  "default": "./dist/styles.css"
15
15
  }
16
16
  },
17
- "types": "./dist/src/index.d.ts",
17
+ "types": "./dist/index.d.ts",
18
18
  "files": [
19
19
  "dist"
20
20
  ],
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes