@skybin-tech/nebula-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/components/Button/Button.cjs +37 -0
  4. package/dist/cjs/components/Button/Button.cjs.map +1 -0
  5. package/dist/cjs/components/Form/Checkbox.cjs +145 -0
  6. package/dist/cjs/components/Form/Checkbox.cjs.map +1 -0
  7. package/dist/cjs/components/Form/Form.cjs +93 -0
  8. package/dist/cjs/components/Form/Form.cjs.map +1 -0
  9. package/dist/cjs/components/Form/Radio.cjs +178 -0
  10. package/dist/cjs/components/Form/Radio.cjs.map +1 -0
  11. package/dist/cjs/components/Form/Select.cjs +168 -0
  12. package/dist/cjs/components/Form/Select.cjs.map +1 -0
  13. package/dist/cjs/components/Form/Switch.cjs +125 -0
  14. package/dist/cjs/components/Form/Switch.cjs.map +1 -0
  15. package/dist/cjs/components/Form/TextArea.cjs +168 -0
  16. package/dist/cjs/components/Form/TextArea.cjs.map +1 -0
  17. package/dist/cjs/components/Form/TextBox.cjs +211 -0
  18. package/dist/cjs/components/Form/TextBox.cjs.map +1 -0
  19. package/dist/cjs/components/Form/context.cjs +131 -0
  20. package/dist/cjs/components/Form/context.cjs.map +1 -0
  21. package/dist/cjs/components/Form/hooks.cjs +36 -0
  22. package/dist/cjs/components/Form/hooks.cjs.map +1 -0
  23. package/dist/cjs/components/Input/Input.cjs +44 -0
  24. package/dist/cjs/components/Input/Input.cjs.map +1 -0
  25. package/dist/cjs/components/ui/checkbox.cjs +45 -0
  26. package/dist/cjs/components/ui/checkbox.cjs.map +1 -0
  27. package/dist/cjs/components/ui/input.cjs +41 -0
  28. package/dist/cjs/components/ui/input.cjs.map +1 -0
  29. package/dist/cjs/components/ui/label.cjs +38 -0
  30. package/dist/cjs/components/ui/label.cjs.map +1 -0
  31. package/dist/cjs/components/ui/radio-group.cjs +53 -0
  32. package/dist/cjs/components/ui/radio-group.cjs.map +1 -0
  33. package/dist/cjs/components/ui/select.cjs +144 -0
  34. package/dist/cjs/components/ui/select.cjs.map +1 -0
  35. package/dist/cjs/components/ui/switch.cjs +45 -0
  36. package/dist/cjs/components/ui/switch.cjs.map +1 -0
  37. package/dist/cjs/components/ui/textarea.cjs +38 -0
  38. package/dist/cjs/components/ui/textarea.cjs.map +1 -0
  39. package/dist/cjs/hooks/useDebounce.cjs +17 -0
  40. package/dist/cjs/hooks/useDebounce.cjs.map +1 -0
  41. package/dist/cjs/hooks/useToggle.cjs +12 -0
  42. package/dist/cjs/hooks/useToggle.cjs.map +1 -0
  43. package/dist/cjs/index.cjs +65 -0
  44. package/dist/cjs/index.cjs.map +1 -0
  45. package/dist/cjs/nebula-ui.css +212 -0
  46. package/dist/cjs/utils/cn.cjs +9 -0
  47. package/dist/cjs/utils/cn.cjs.map +1 -0
  48. package/dist/components/Button/Button.d.ts +18 -0
  49. package/dist/components/Button/Button.d.ts.map +1 -0
  50. package/dist/components/Button/Button.js +37 -0
  51. package/dist/components/Button/Button.js.map +1 -0
  52. package/dist/components/Button/index.d.ts +3 -0
  53. package/dist/components/Button/index.d.ts.map +1 -0
  54. package/dist/components/Form/Checkbox.d.ts +32 -0
  55. package/dist/components/Form/Checkbox.d.ts.map +1 -0
  56. package/dist/components/Form/Checkbox.js +145 -0
  57. package/dist/components/Form/Checkbox.js.map +1 -0
  58. package/dist/components/Form/Form.d.ts +62 -0
  59. package/dist/components/Form/Form.d.ts.map +1 -0
  60. package/dist/components/Form/Form.js +93 -0
  61. package/dist/components/Form/Form.js.map +1 -0
  62. package/dist/components/Form/Radio.d.ts +80 -0
  63. package/dist/components/Form/Radio.d.ts.map +1 -0
  64. package/dist/components/Form/Radio.js +178 -0
  65. package/dist/components/Form/Radio.js.map +1 -0
  66. package/dist/components/Form/Select.d.ts +75 -0
  67. package/dist/components/Form/Select.d.ts.map +1 -0
  68. package/dist/components/Form/Select.js +168 -0
  69. package/dist/components/Form/Select.js.map +1 -0
  70. package/dist/components/Form/Switch.d.ts +34 -0
  71. package/dist/components/Form/Switch.d.ts.map +1 -0
  72. package/dist/components/Form/Switch.js +125 -0
  73. package/dist/components/Form/Switch.js.map +1 -0
  74. package/dist/components/Form/TextArea.d.ts +47 -0
  75. package/dist/components/Form/TextArea.d.ts.map +1 -0
  76. package/dist/components/Form/TextArea.js +168 -0
  77. package/dist/components/Form/TextArea.js.map +1 -0
  78. package/dist/components/Form/TextBox.d.ts +61 -0
  79. package/dist/components/Form/TextBox.d.ts.map +1 -0
  80. package/dist/components/Form/TextBox.js +211 -0
  81. package/dist/components/Form/TextBox.js.map +1 -0
  82. package/dist/components/Form/context.d.ts +107 -0
  83. package/dist/components/Form/context.d.ts.map +1 -0
  84. package/dist/components/Form/context.js +131 -0
  85. package/dist/components/Form/context.js.map +1 -0
  86. package/dist/components/Form/hooks.d.ts +21 -0
  87. package/dist/components/Form/hooks.d.ts.map +1 -0
  88. package/dist/components/Form/hooks.js +36 -0
  89. package/dist/components/Form/hooks.js.map +1 -0
  90. package/dist/components/Form/index.d.ts +18 -0
  91. package/dist/components/Form/index.d.ts.map +1 -0
  92. package/dist/components/Input/Input.d.ts +18 -0
  93. package/dist/components/Input/Input.d.ts.map +1 -0
  94. package/dist/components/Input/Input.js +44 -0
  95. package/dist/components/Input/Input.js.map +1 -0
  96. package/dist/components/Input/index.d.ts +3 -0
  97. package/dist/components/Input/index.d.ts.map +1 -0
  98. package/dist/components/ui/checkbox.d.ts +5 -0
  99. package/dist/components/ui/checkbox.d.ts.map +1 -0
  100. package/dist/components/ui/checkbox.js +28 -0
  101. package/dist/components/ui/checkbox.js.map +1 -0
  102. package/dist/components/ui/index.d.ts +16 -0
  103. package/dist/components/ui/index.d.ts.map +1 -0
  104. package/dist/components/ui/input.d.ts +11 -0
  105. package/dist/components/ui/input.d.ts.map +1 -0
  106. package/dist/components/ui/input.js +24 -0
  107. package/dist/components/ui/input.js.map +1 -0
  108. package/dist/components/ui/label.d.ts +6 -0
  109. package/dist/components/ui/label.d.ts.map +1 -0
  110. package/dist/components/ui/label.js +21 -0
  111. package/dist/components/ui/label.js.map +1 -0
  112. package/dist/components/ui/radio-group.d.ts +6 -0
  113. package/dist/components/ui/radio-group.d.ts.map +1 -0
  114. package/dist/components/ui/radio-group.js +36 -0
  115. package/dist/components/ui/radio-group.js.map +1 -0
  116. package/dist/components/ui/select.d.ts +14 -0
  117. package/dist/components/ui/select.d.ts.map +1 -0
  118. package/dist/components/ui/select.js +127 -0
  119. package/dist/components/ui/select.js.map +1 -0
  120. package/dist/components/ui/switch.d.ts +5 -0
  121. package/dist/components/ui/switch.d.ts.map +1 -0
  122. package/dist/components/ui/switch.js +28 -0
  123. package/dist/components/ui/switch.js.map +1 -0
  124. package/dist/components/ui/textarea.d.ts +11 -0
  125. package/dist/components/ui/textarea.d.ts.map +1 -0
  126. package/dist/components/ui/textarea.js +21 -0
  127. package/dist/components/ui/textarea.js.map +1 -0
  128. package/dist/hooks/useDebounce.d.ts +8 -0
  129. package/dist/hooks/useDebounce.d.ts.map +1 -0
  130. package/dist/hooks/useDebounce.js +17 -0
  131. package/dist/hooks/useDebounce.js.map +1 -0
  132. package/dist/hooks/useToggle.d.ts +7 -0
  133. package/dist/hooks/useToggle.d.ts.map +1 -0
  134. package/dist/hooks/useToggle.js +12 -0
  135. package/dist/hooks/useToggle.js.map +1 -0
  136. package/dist/index.d.ts +13 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +62 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/nebula-ui.css +212 -0
  141. package/dist/utils/cn.d.ts +7 -0
  142. package/dist/utils/cn.d.ts.map +1 -0
  143. package/dist/utils/cn.js +9 -0
  144. package/dist/utils/cn.js.map +1 -0
  145. package/package.json +201 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const index = require("../../node_modules/@radix-ui/react-radio-group/dist/index.cjs");
6
+ const cn = require("../../utils/cn.cjs");
7
+ const circle = require("../../node_modules/lucide-react/dist/esm/icons/circle.cjs");
8
+ function _interopNamespaceDefault(e) {
9
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
10
+ if (e) {
11
+ for (const k in e) {
12
+ if (k !== "default") {
13
+ const d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: () => e[k]
17
+ });
18
+ }
19
+ }
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
25
+ const RadioGroup = React__namespace.forwardRef(({ className, ...props }, ref) => {
26
+ return /* @__PURE__ */ jsxRuntime.jsx(
27
+ index.Root,
28
+ {
29
+ className: cn.cn("grid gap-2", className),
30
+ ...props,
31
+ ref
32
+ }
33
+ );
34
+ });
35
+ RadioGroup.displayName = index.Root.displayName;
36
+ const RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref) => {
37
+ return /* @__PURE__ */ jsxRuntime.jsx(
38
+ index.Item,
39
+ {
40
+ ref,
41
+ className: cn.cn(
42
+ "aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
43
+ className
44
+ ),
45
+ ...props,
46
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(circle.default, { className: "h-2.5 w-2.5 fill-current text-current" }) })
47
+ }
48
+ );
49
+ });
50
+ RadioGroupItem.displayName = index.Item.displayName;
51
+ exports.RadioGroup = RadioGroup;
52
+ exports.RadioGroupItem = RadioGroupItem;
53
+ //# sourceMappingURL=radio-group.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.cjs","sources":["../../../../src/components/ui/radio-group.tsx"],"sourcesContent":["/**\r\n * shadcn/ui RadioGroup component\r\n * @see https://ui.shadcn.com/docs/components/radio-group\r\n * \r\n * DO NOT MODIFY THIS FILE - It is generated from shadcn/ui\r\n * For customizations, create wrapper components instead.\r\n */\r\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\r\nimport { Circle } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../utils/cn\"\r\n\r\nconst RadioGroup = React.forwardRef<\r\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <RadioGroupPrimitive.Root\r\n className={cn(\"grid gap-2\", className)}\r\n {...props}\r\n ref={ref}\r\n />\r\n )\r\n})\r\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\r\n\r\nconst RadioGroupItem = React.forwardRef<\r\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <RadioGroupPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\r\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\r\n </RadioGroupPrimitive.Indicator>\r\n </RadioGroupPrimitive.Item>\r\n )\r\n})\r\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\r\n\r\nexport { RadioGroup, RadioGroupItem }\r\n"],"names":["React","jsx","RadioGroupPrimitive.Root","cn","RadioGroupPrimitive.Item","RadioGroupPrimitive.Indicator","Circle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,aAAaA,iBAAM,WAGvB,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAAQ;AAClC,SACEC,2BAAAA;AAAAA,IAACC,MAAAA;AAAAA,IAAA;AAAA,MACC,WAAWC,GAAAA,GAAG,cAAc,SAAS;AAAA,MACpC,GAAG;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AACD,WAAW,cAAcD,MAAAA,KAAyB;AAElD,MAAM,iBAAiBF,iBAAM,WAG3B,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAAQ;AAClC,SACEC,2BAAAA;AAAAA,IAACG,MAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAWD,GAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEJ,UAAAF,2BAAAA,IAACI,iBAAA,EAA8B,WAAU,oCACvC,UAAAJ,2BAAAA,IAACK,OAAAA,SAAA,EAAO,WAAU,wCAAA,CAAwC,EAAA,CAC5D;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AACD,eAAe,cAAcF,MAAAA,KAAyB;;;"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const index = require("../../node_modules/@radix-ui/react-select/dist/index.cjs");
6
+ const cn = require("../../utils/cn.cjs");
7
+ const check = require("../../node_modules/lucide-react/dist/esm/icons/check.cjs");
8
+ const chevronDown = require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs");
9
+ const chevronUp = require("../../node_modules/lucide-react/dist/esm/icons/chevron-up.cjs");
10
+ function _interopNamespaceDefault(e) {
11
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
12
+ if (e) {
13
+ for (const k in e) {
14
+ if (k !== "default") {
15
+ const d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: () => e[k]
19
+ });
20
+ }
21
+ }
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
27
+ const Select = index.Root;
28
+ const SelectGroup = index.Group;
29
+ const SelectValue = index.Value;
30
+ const SelectTrigger = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
31
+ index.Trigger,
32
+ {
33
+ ref,
34
+ className: cn.cn(
35
+ "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
36
+ className
37
+ ),
38
+ ...props,
39
+ children: [
40
+ children,
41
+ /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chevronDown.default, { className: "h-4 w-4 opacity-50" }) })
42
+ ]
43
+ }
44
+ ));
45
+ SelectTrigger.displayName = index.Trigger.displayName;
46
+ const SelectScrollUpButton = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
47
+ index.ScrollUpButton,
48
+ {
49
+ ref,
50
+ className: cn.cn(
51
+ "flex cursor-default items-center justify-center py-1",
52
+ className
53
+ ),
54
+ ...props,
55
+ children: /* @__PURE__ */ jsxRuntime.jsx(chevronUp.default, { className: "h-4 w-4" })
56
+ }
57
+ ));
58
+ SelectScrollUpButton.displayName = index.ScrollUpButton.displayName;
59
+ const SelectScrollDownButton = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
60
+ index.ScrollDownButton,
61
+ {
62
+ ref,
63
+ className: cn.cn(
64
+ "flex cursor-default items-center justify-center py-1",
65
+ className
66
+ ),
67
+ ...props,
68
+ children: /* @__PURE__ */ jsxRuntime.jsx(chevronDown.default, { className: "h-4 w-4" })
69
+ }
70
+ ));
71
+ SelectScrollDownButton.displayName = index.ScrollDownButton.displayName;
72
+ const SelectContent = React__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(index.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
73
+ index.Content,
74
+ {
75
+ ref,
76
+ className: cn.cn(
77
+ "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
78
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
79
+ className
80
+ ),
81
+ position,
82
+ ...props,
83
+ children: [
84
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
85
+ /* @__PURE__ */ jsxRuntime.jsx(
86
+ index.Viewport,
87
+ {
88
+ className: cn.cn(
89
+ "p-1",
90
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
91
+ ),
92
+ children
93
+ }
94
+ ),
95
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
96
+ ]
97
+ }
98
+ ) }));
99
+ SelectContent.displayName = index.Content.displayName;
100
+ const SelectLabel = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
101
+ index.Label,
102
+ {
103
+ ref,
104
+ className: cn.cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
105
+ ...props
106
+ }
107
+ ));
108
+ SelectLabel.displayName = index.Label.displayName;
109
+ const SelectItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
110
+ index.Item,
111
+ {
112
+ ref,
113
+ className: cn.cn(
114
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
115
+ className
116
+ ),
117
+ ...props,
118
+ children: [
119
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(index.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(check.default, { className: "h-4 w-4" }) }) }),
120
+ /* @__PURE__ */ jsxRuntime.jsx(index.ItemText, { children })
121
+ ]
122
+ }
123
+ ));
124
+ SelectItem.displayName = index.Item.displayName;
125
+ const SelectSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
126
+ index.Separator,
127
+ {
128
+ ref,
129
+ className: cn.cn("-mx-1 my-1 h-px bg-muted", className),
130
+ ...props
131
+ }
132
+ ));
133
+ SelectSeparator.displayName = index.Separator.displayName;
134
+ exports.Select = Select;
135
+ exports.SelectContent = SelectContent;
136
+ exports.SelectGroup = SelectGroup;
137
+ exports.SelectItem = SelectItem;
138
+ exports.SelectLabel = SelectLabel;
139
+ exports.SelectScrollDownButton = SelectScrollDownButton;
140
+ exports.SelectScrollUpButton = SelectScrollUpButton;
141
+ exports.SelectSeparator = SelectSeparator;
142
+ exports.SelectTrigger = SelectTrigger;
143
+ exports.SelectValue = SelectValue;
144
+ //# sourceMappingURL=select.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.cjs","sources":["../../../../src/components/ui/select.tsx"],"sourcesContent":["/**\r\n * shadcn/ui Select component\r\n * @see https://ui.shadcn.com/docs/components/select\r\n * \r\n * DO NOT MODIFY THIS FILE - It is generated from shadcn/ui\r\n * For customizations, create wrapper components instead.\r\n */\r\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\r\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../utils/cn\"\r\n\r\nconst Select = SelectPrimitive.Root\r\n\r\nconst SelectGroup = SelectPrimitive.Group\r\n\r\nconst SelectValue = SelectPrimitive.Value\r\n\r\nconst SelectTrigger = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.Trigger>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n <SelectPrimitive.Trigger\r\n ref={ref}\r\n className={cn(\r\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <SelectPrimitive.Icon asChild>\r\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\r\n </SelectPrimitive.Icon>\r\n </SelectPrimitive.Trigger>\r\n))\r\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\r\n\r\nconst SelectScrollUpButton = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\r\n>(({ className, ...props }, ref) => (\r\n <SelectPrimitive.ScrollUpButton\r\n ref={ref}\r\n className={cn(\r\n \"flex cursor-default items-center justify-center py-1\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChevronUp className=\"h-4 w-4\" />\r\n </SelectPrimitive.ScrollUpButton>\r\n))\r\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\r\n\r\nconst SelectScrollDownButton = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\r\n>(({ className, ...props }, ref) => (\r\n <SelectPrimitive.ScrollDownButton\r\n ref={ref}\r\n className={cn(\r\n \"flex cursor-default items-center justify-center py-1\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChevronDown className=\"h-4 w-4\" />\r\n </SelectPrimitive.ScrollDownButton>\r\n))\r\nSelectScrollDownButton.displayName =\r\n SelectPrimitive.ScrollDownButton.displayName\r\n\r\nconst SelectContent = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\r\n>(({ className, children, position = \"popper\", ...props }, ref) => (\r\n <SelectPrimitive.Portal>\r\n <SelectPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n position === \"popper\" &&\r\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\r\n className\r\n )}\r\n position={position}\r\n {...props}\r\n >\r\n <SelectScrollUpButton />\r\n <SelectPrimitive.Viewport\r\n className={cn(\r\n \"p-1\",\r\n position === \"popper\" &&\r\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\r\n )}\r\n >\r\n {children}\r\n </SelectPrimitive.Viewport>\r\n <SelectScrollDownButton />\r\n </SelectPrimitive.Content>\r\n </SelectPrimitive.Portal>\r\n))\r\nSelectContent.displayName = SelectPrimitive.Content.displayName\r\n\r\nconst SelectLabel = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.Label>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\r\n>(({ className, ...props }, ref) => (\r\n <SelectPrimitive.Label\r\n ref={ref}\r\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\r\n {...props}\r\n />\r\n))\r\nSelectLabel.displayName = SelectPrimitive.Label.displayName\r\n\r\nconst SelectItem = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\r\n>(({ className, children, ...props }, ref) => (\r\n <SelectPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n <SelectPrimitive.ItemIndicator>\r\n <Check className=\"h-4 w-4\" />\r\n </SelectPrimitive.ItemIndicator>\r\n </span>\r\n\r\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\r\n </SelectPrimitive.Item>\r\n))\r\nSelectItem.displayName = SelectPrimitive.Item.displayName\r\n\r\nconst SelectSeparator = React.forwardRef<\r\n React.ElementRef<typeof SelectPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <SelectPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\r\n {...props}\r\n />\r\n))\r\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\r\n\r\nexport {\r\n Select,\r\n SelectGroup,\r\n SelectValue,\r\n SelectTrigger,\r\n SelectContent,\r\n SelectLabel,\r\n SelectItem,\r\n SelectSeparator,\r\n SelectScrollUpButton,\r\n SelectScrollDownButton,\r\n}\r\n"],"names":["SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","React","jsxs","SelectPrimitive.Trigger","cn","jsx","SelectPrimitive.Icon","ChevronDown","SelectPrimitive.ScrollUpButton","ChevronUp","SelectPrimitive.ScrollDownButton","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectPrimitive.Label","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","Check","SelectPrimitive.ItemText","SelectPrimitive.Separator"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const index = require("../../node_modules/@radix-ui/react-switch/dist/index.cjs");
6
+ const cn = require("../../utils/cn.cjs");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
24
+ const Switch = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
25
+ index.Root,
26
+ {
27
+ className: cn.cn(
28
+ "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
29
+ className
30
+ ),
31
+ ...props,
32
+ ref,
33
+ children: /* @__PURE__ */ jsxRuntime.jsx(
34
+ index.Thumb,
35
+ {
36
+ className: cn.cn(
37
+ "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
38
+ )
39
+ }
40
+ )
41
+ }
42
+ ));
43
+ Switch.displayName = index.Root.displayName;
44
+ exports.Switch = Switch;
45
+ //# sourceMappingURL=switch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.cjs","sources":["../../../../src/components/ui/switch.tsx"],"sourcesContent":["/**\r\n * shadcn/ui Switch component\r\n * @see https://ui.shadcn.com/docs/components/switch\r\n * \r\n * DO NOT MODIFY THIS FILE - It is generated from shadcn/ui\r\n * For customizations, create wrapper components instead.\r\n */\r\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\r\n\r\nimport { cn } from \"../../utils/cn\"\r\n\r\nconst Switch = React.forwardRef<\r\n React.ElementRef<typeof SwitchPrimitives.Root>,\r\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\r\n>(({ className, ...props }, ref) => (\r\n <SwitchPrimitives.Root\r\n className={cn(\r\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n >\r\n <SwitchPrimitives.Thumb\r\n className={cn(\r\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\r\n )}\r\n />\r\n </SwitchPrimitives.Root>\r\n))\r\nSwitch.displayName = SwitchPrimitives.Root.displayName\r\n\r\nexport { Switch }\r\n"],"names":["React","jsx","SwitchPrimitives.Root","cn","SwitchPrimitives.Thumb"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,SAASA,iBAAM,WAGnB,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAC1BC,2BAAAA;AAAAA,EAACC,MAAAA;AAAAA,EAAA;AAAA,IACC,WAAWC,GAAAA;AAAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IAED,GAAG;AAAA,IACJ;AAAA,IAEA,UAAAF,2BAAAA;AAAAA,MAACG,MAAAA;AAAAA,MAAA;AAAA,QACC,WAAWD,GAAAA;AAAAA,UACT;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AACF,CACD;AACD,OAAO,cAAcD,MAAAA,KAAsB;;"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const cn = require("../../utils/cn.cjs");
6
+ function _interopNamespaceDefault(e) {
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
23
+ const Textarea = React__namespace.forwardRef(({ className, ...props }, ref) => {
24
+ return /* @__PURE__ */ jsxRuntime.jsx(
25
+ "textarea",
26
+ {
27
+ className: cn.cn(
28
+ "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
29
+ className
30
+ ),
31
+ ref,
32
+ ...props
33
+ }
34
+ );
35
+ });
36
+ Textarea.displayName = "Textarea";
37
+ exports.Textarea = Textarea;
38
+ //# sourceMappingURL=textarea.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.cjs","sources":["../../../../src/components/ui/textarea.tsx"],"sourcesContent":["/**\r\n * shadcn/ui Textarea component\r\n * @see https://ui.shadcn.com/docs/components/textarea\r\n * \r\n * DO NOT MODIFY THIS FILE - It is generated from shadcn/ui\r\n * For customizations, create wrapper components instead.\r\n */\r\nimport * as React from \"react\"\r\n\r\nimport { cn } from \"../../utils/cn\"\r\n\r\nconst Textarea = React.forwardRef<\r\n HTMLTextAreaElement,\r\n React.ComponentProps<\"textarea\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <textarea\r\n className={cn(\r\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\r\n className\r\n )}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n})\r\nTextarea.displayName = \"Textarea\"\r\n\r\nexport { Textarea }\r\n"],"names":["React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,WAAWA,iBAAM,WAGrB,CAAC,EAAE,WAAW,GAAG,MAAA,GAAS,QAAQ;AAClC,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,GAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAEF;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACD,SAAS,cAAc;;"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ function useDebounce(value, delay = 500) {
5
+ const [debouncedValue, setDebouncedValue] = React.useState(value);
6
+ React.useEffect(() => {
7
+ const timer = setTimeout(() => {
8
+ setDebouncedValue(value);
9
+ }, delay);
10
+ return () => {
11
+ clearTimeout(timer);
12
+ };
13
+ }, [value, delay]);
14
+ return debouncedValue;
15
+ }
16
+ exports.useDebounce = useDebounce;
17
+ //# sourceMappingURL=useDebounce.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.cjs","sources":["../../../src/hooks/useDebounce.ts"],"sourcesContent":["import { useState, useEffect } from \"react\";\r\n\r\n/**\r\n * A hook that debounces a value by a specified delay\r\n * @param value - The value to debounce\r\n * @param delay - The delay in milliseconds (default: 500)\r\n * @returns The debounced value\r\n */\r\nexport function useDebounce<T>(value: T, delay = 500): T {\r\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\r\n\r\n useEffect(() => {\r\n const timer = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(timer);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n}\r\n"],"names":["useState","useEffect"],"mappings":";;;AAQO,SAAS,YAAe,OAAU,QAAQ,KAAQ;AACvD,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAY,KAAK;AAE7DC,QAAAA,UAAU,MAAM;AACd,UAAM,QAAQ,WAAW,MAAM;AAC7B,wBAAkB,KAAK;AAAA,IACzB,GAAG,KAAK;AAER,WAAO,MAAM;AACX,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,OAAO,KAAK,CAAC;AAEjB,SAAO;AACT;;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ function useToggle(initialValue = false) {
5
+ const [value, setValue] = React.useState(initialValue);
6
+ const toggle = React.useCallback(() => {
7
+ setValue((prev) => !prev);
8
+ }, []);
9
+ return [value, toggle];
10
+ }
11
+ exports.useToggle = useToggle;
12
+ //# sourceMappingURL=useToggle.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToggle.cjs","sources":["../../../src/hooks/useToggle.ts"],"sourcesContent":["import { useState, useCallback } from \"react\";\r\n\r\n/**\r\n * A hook that returns a boolean state and a function to toggle it\r\n * @param initialValue - The initial value of the toggle (default: false)\r\n * @returns A tuple containing the current value and a toggle function\r\n */\r\nexport function useToggle(initialValue = false): [boolean, () => void] {\r\n const [value, setValue] = useState(initialValue);\r\n\r\n const toggle = useCallback(() => {\r\n setValue((prev) => !prev);\r\n }, []);\r\n\r\n return [value, toggle];\r\n}\r\n"],"names":["useState","useCallback"],"mappings":";;;AAOO,SAAS,UAAU,eAAe,OAA8B;AACrE,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,YAAY;AAE/C,QAAM,SAASC,MAAAA,YAAY,MAAM;AAC/B,aAAS,CAAC,SAAS,CAAC,IAAI;AAAA,EAC1B,GAAG,CAAA,CAAE;AAEL,SAAO,CAAC,OAAO,MAAM;AACvB;;"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const useToggle = require("./hooks/useToggle.cjs");
4
+ const useDebounce = require("./hooks/useDebounce.cjs");
5
+ const cn = require("./utils/cn.cjs");
6
+ const zod = require("zod");
7
+ const Button = require("./components/Button/Button.cjs");
8
+ const Checkbox = require("./components/Form/Checkbox.cjs");
9
+ const Form = require("./components/Form/Form.cjs");
10
+ const context = require("./components/Form/context.cjs");
11
+ const Input = require("./components/Input/Input.cjs");
12
+ const Radio = require("./components/Form/Radio.cjs");
13
+ const Select = require("./components/Form/Select.cjs");
14
+ const checkbox = require("./components/ui/checkbox.cjs");
15
+ const input = require("./components/ui/input.cjs");
16
+ const label = require("./components/ui/label.cjs");
17
+ const radioGroup = require("./components/ui/radio-group.cjs");
18
+ const select = require("./components/ui/select.cjs");
19
+ const _switch = require("./components/ui/switch.cjs");
20
+ const textarea = require("./components/ui/textarea.cjs");
21
+ const Switch = require("./components/Form/Switch.cjs");
22
+ const TextArea = require("./components/Form/TextArea.cjs");
23
+ const TextBox = require("./components/Form/TextBox.cjs");
24
+ const hooks = require("./components/Form/hooks.cjs");
25
+ exports.useToggle = useToggle.useToggle;
26
+ exports.useDebounce = useDebounce.useDebounce;
27
+ exports.cn = cn.cn;
28
+ Object.defineProperty(exports, "z", {
29
+ enumerable: true,
30
+ get: () => zod.z
31
+ });
32
+ exports.Button = Button.Button;
33
+ exports.Checkbox = Checkbox.Checkbox;
34
+ exports.Form = Form.Form;
35
+ exports.FormConfigContext = context.FormConfigContext;
36
+ exports.buildZodSchemaFromRules = context.buildZodSchemaFromRules;
37
+ exports.defaultFormConfig = context.defaultFormConfig;
38
+ exports.useFieldValidationRegistry = context.useFieldValidationRegistry;
39
+ exports.Input = Input.Input;
40
+ exports.RadioGroup = Radio.RadioGroup;
41
+ exports.RadioItem = Radio.RadioItem;
42
+ exports.Select = Select.Select;
43
+ exports.ShadcnCheckbox = checkbox.Checkbox;
44
+ exports.ShadcnInput = input.Input;
45
+ exports.ShadcnLabel = label.Label;
46
+ exports.ShadcnRadioGroup = radioGroup.RadioGroup;
47
+ exports.ShadcnRadioGroupItem = radioGroup.RadioGroupItem;
48
+ exports.ShadcnSelect = select.Select;
49
+ exports.ShadcnSelectContent = select.SelectContent;
50
+ exports.ShadcnSelectGroup = select.SelectGroup;
51
+ exports.ShadcnSelectItem = select.SelectItem;
52
+ exports.ShadcnSelectLabel = select.SelectLabel;
53
+ exports.ShadcnSelectSeparator = select.SelectSeparator;
54
+ exports.ShadcnSelectTrigger = select.SelectTrigger;
55
+ exports.ShadcnSelectValue = select.SelectValue;
56
+ exports.ShadcnSwitch = _switch.Switch;
57
+ exports.ShadcnTextarea = textarea.Textarea;
58
+ exports.Switch = Switch.Switch;
59
+ exports.TextArea = TextArea.TextArea;
60
+ exports.TextBox = TextBox.TextBox;
61
+ exports.useFieldError = hooks.useFieldError;
62
+ exports.useForm = hooks.useForm;
63
+ exports.useFormConfig = hooks.useFormConfig;
64
+ exports.useFormField = hooks.useFormField;
65
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,212 @@
1
+ .skybin-button {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ gap: 0.5rem;
6
+ font-family: inherit;
7
+ font-weight: 500;
8
+ border-radius: 0.375rem;
9
+ cursor: pointer;
10
+ transition: all 0.15s ease-in-out;
11
+ border: 1px solid transparent;
12
+ position: relative;
13
+ }
14
+
15
+ .skybin-button:focus-visible {
16
+ outline: 2px solid #3b82f6;
17
+ outline-offset: 2px;
18
+ }
19
+
20
+ .skybin-button:disabled {
21
+ opacity: 0.6;
22
+ cursor: not-allowed;
23
+ }
24
+
25
+ /* Variants */
26
+ .skybin-button--primary {
27
+ background-color: #3b82f6;
28
+ color: white;
29
+ border-color: #3b82f6;
30
+ }
31
+
32
+ .skybin-button--primary:hover:not(:disabled) {
33
+ background-color: #2563eb;
34
+ border-color: #2563eb;
35
+ }
36
+
37
+ .skybin-button--secondary {
38
+ background-color: #6b7280;
39
+ color: white;
40
+ border-color: #6b7280;
41
+ }
42
+
43
+ .skybin-button--secondary:hover:not(:disabled) {
44
+ background-color: #4b5563;
45
+ border-color: #4b5563;
46
+ }
47
+
48
+ .skybin-button--outline {
49
+ background-color: transparent;
50
+ color: #3b82f6;
51
+ border-color: #3b82f6;
52
+ }
53
+
54
+ .skybin-button--outline:hover:not(:disabled) {
55
+ background-color: #3b82f6;
56
+ color: white;
57
+ }
58
+
59
+ .skybin-button--ghost {
60
+ background-color: transparent;
61
+ color: #374151;
62
+ border-color: transparent;
63
+ }
64
+
65
+ .skybin-button--ghost:hover:not(:disabled) {
66
+ background-color: #f3f4f6;
67
+ }
68
+
69
+ .skybin-button--danger {
70
+ background-color: #ef4444;
71
+ color: white;
72
+ border-color: #ef4444;
73
+ }
74
+
75
+ .skybin-button--danger:hover:not(:disabled) {
76
+ background-color: #dc2626;
77
+ border-color: #dc2626;
78
+ }
79
+
80
+ /* Sizes */
81
+ .skybin-button--sm {
82
+ padding: 0.375rem 0.75rem;
83
+ font-size: 0.875rem;
84
+ line-height: 1.25rem;
85
+ }
86
+
87
+ .skybin-button--md {
88
+ padding: 0.5rem 1rem;
89
+ font-size: 0.875rem;
90
+ line-height: 1.5rem;
91
+ }
92
+
93
+ .skybin-button--lg {
94
+ padding: 0.75rem 1.5rem;
95
+ font-size: 1rem;
96
+ line-height: 1.75rem;
97
+ }
98
+
99
+ /* Full width */
100
+ .skybin-button--full-width {
101
+ display: flex;
102
+ width: 100%;
103
+ }
104
+
105
+ /* Loading state */
106
+ .skybin-button--loading {
107
+ position: relative;
108
+ }
109
+
110
+ .skybin-button__spinner {
111
+ width: 1em;
112
+ height: 1em;
113
+ border: 2px solid currentColor;
114
+ border-right-color: transparent;
115
+ border-radius: 50%;
116
+ animation: skybin-button-spin 0.6s linear infinite;
117
+ position: absolute;
118
+ }
119
+
120
+ .skybin-button__content--hidden {
121
+ visibility: hidden;
122
+ }
123
+
124
+ @keyframes skybin-button-spin {
125
+ to {
126
+ transform: rotate(360deg);
127
+ }
128
+ }
129
+ .skybin-input-wrapper {
130
+ display: flex;
131
+ flex-direction: column;
132
+ gap: 0.375rem;
133
+ }
134
+
135
+ .skybin-input-wrapper--full-width {
136
+ width: 100%;
137
+ }
138
+
139
+ .skybin-input__label {
140
+ font-size: 0.875rem;
141
+ font-weight: 500;
142
+ color: var(--form-text, rgba(0, 0, 0, 0.85));
143
+ }
144
+
145
+ .skybin-input {
146
+ width: 100%;
147
+ border-radius: var(--form-border-radius, 6px);
148
+ border: 1px solid var(--form-border, #d9d9d9);
149
+ background-color: var(--form-bg, #ffffff);
150
+ padding: 0.5rem 0.75rem;
151
+ font-size: 0.875rem;
152
+ transition: var(--form-transition, all 0.2s ease-in-out);
153
+ outline: none;
154
+ }
155
+
156
+ .skybin-input:focus {
157
+ border-color: var(--form-primary, #1890ff);
158
+ box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
159
+ }
160
+
161
+ .skybin-input:hover:not(:focus):not(:disabled) {
162
+ border-color: var(--form-primary-hover, #40a9ff);
163
+ }
164
+
165
+ .skybin-input:disabled {
166
+ background-color: var(--form-bg-disabled, #f5f5f5);
167
+ cursor: not-allowed;
168
+ opacity: 0.5;
169
+ }
170
+
171
+ .skybin-input::placeholder {
172
+ color: var(--form-text-secondary, rgba(0, 0, 0, 0.45));
173
+ }
174
+
175
+ /* Sizes */
176
+ .skybin-input--sm {
177
+ height: 2rem;
178
+ padding: 0.25rem 0.5rem;
179
+ font-size: 0.75rem;
180
+ }
181
+
182
+ .skybin-input--md {
183
+ height: 2.5rem;
184
+ padding: 0.5rem 0.75rem;
185
+ font-size: 0.875rem;
186
+ }
187
+
188
+ .skybin-input--lg {
189
+ height: 3rem;
190
+ padding: 0.625rem 1rem;
191
+ font-size: 1rem;
192
+ }
193
+
194
+ /* Error state */
195
+ .skybin-input--error {
196
+ border-color: var(--form-error, #ff4d4f);
197
+ }
198
+
199
+ .skybin-input--error:focus {
200
+ border-color: var(--form-error, #ff4d4f);
201
+ box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);
202
+ }
203
+
204
+ .skybin-input__error {
205
+ font-size: 0.75rem;
206
+ color: var(--form-error, #ff4d4f);
207
+ }
208
+
209
+ .skybin-input__helper {
210
+ font-size: 0.75rem;
211
+ color: var(--form-text-secondary, rgba(0, 0, 0, 0.45));
212
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const clsx = require("../node_modules/clsx/dist/clsx.cjs");
4
+ const bundleMjs = require("../node_modules/tailwind-merge/dist/bundle-mjs.cjs");
5
+ function cn(...inputs) {
6
+ return bundleMjs.twMerge(clsx.clsx(inputs));
7
+ }
8
+ exports.cn = cn;
9
+ //# sourceMappingURL=cn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.cjs","sources":["../../../src/utils/cn.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\n/**\r\n * Utility function to merge class names conditionally\r\n * Combines clsx for conditional classes and tailwind-merge for deduplication\r\n */\r\nexport function cn(...inputs: ClassValue[]): string {\r\n return twMerge(clsx(inputs));\r\n}\r\n"],"names":["twMerge","clsx"],"mappings":";;;;AAOO,SAAS,MAAM,QAA8B;AAClD,SAAOA,UAAAA,QAAQC,UAAK,MAAM,CAAC;AAC7B;;"}