@dimasbaguspm/versaur 0.0.8 → 0.0.10

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 (260) hide show
  1. package/README.md +19 -35
  2. package/dist/calendar-DwRERSxq.js +645 -0
  3. package/dist/drawer-Cn7sreJG.js +221 -0
  4. package/dist/enforce-subpath-import.js +115 -0
  5. package/dist/feedbacks/index.d.ts +3 -0
  6. package/dist/feedbacks/index.js +6 -0
  7. package/dist/feedbacks/progress-indicator/index.d.ts +2 -0
  8. package/dist/feedbacks/progress-indicator/progress-indicator.d.ts +7 -0
  9. package/dist/feedbacks/progress-indicator/types.d.ts +19 -0
  10. package/dist/form-layout-COQbtyW5.js +302 -0
  11. package/dist/{components → forms}/calculator-input/types.d.ts +2 -2
  12. package/dist/forms/index.d.ts +12 -0
  13. package/dist/forms/index.js +18 -0
  14. package/dist/{components → forms}/segment-multiple-input/types.d.ts +4 -0
  15. package/dist/{components → forms}/segment-single-input/types.d.ts +4 -0
  16. package/dist/{components → forms}/time-picker-input/types.d.ts +1 -1
  17. package/dist/index-DOdDlCoL.js +3055 -0
  18. package/dist/index.d.ts +6 -2
  19. package/dist/index.js +50 -7727
  20. package/dist/layouts/form-layout/form-layout.d.ts +4 -0
  21. package/dist/layouts/form-layout/index.d.ts +2 -0
  22. package/dist/layouts/form-layout/types.d.ts +20 -0
  23. package/dist/layouts/index.d.ts +5 -0
  24. package/dist/layouts/index.js +8 -0
  25. package/dist/menu--hEHXVZf.js +315 -0
  26. package/dist/navigation/index.d.ts +2 -0
  27. package/dist/navigation/index.js +5 -0
  28. package/dist/{components → navigation}/tabs/types.d.ts +4 -0
  29. package/dist/overlays/index.d.ts +3 -0
  30. package/dist/overlays/index.js +7 -0
  31. package/dist/{components → overlays}/menu/menu.atoms.d.ts +1 -1
  32. package/dist/{components → overlays}/menu/menu.d.ts +1 -1
  33. package/dist/{components → overlays}/menu/types.d.ts +1 -1
  34. package/dist/primitive/brand/brand.atoms.d.ts +6 -0
  35. package/dist/primitive/brand/brand.d.ts +8 -0
  36. package/dist/primitive/brand/index.d.ts +2 -0
  37. package/dist/primitive/brand/types.d.ts +17 -0
  38. package/dist/{components → primitive}/button-icon/types.d.ts +1 -1
  39. package/dist/primitive/index.d.ts +14 -0
  40. package/dist/primitive/index.js +18 -0
  41. package/dist/skeleton-DwqjRsF-.js +277 -0
  42. package/dist/styles.css +4 -0
  43. package/dist/switch-input-DRNFMsqC.js +1985 -0
  44. package/dist/tabs-KyFmo5cA.js +310 -0
  45. package/dist/tile-BinjKW_i.js +921 -0
  46. package/package.json +28 -2
  47. package/dist/components/alert/alert.stories.d.ts +0 -42
  48. package/dist/components/alert/helpers.d.ts +0 -14
  49. package/dist/components/app-bar/app-bar.stories.d.ts +0 -21
  50. package/dist/components/app-bar/helpers.d.ts +0 -6
  51. package/dist/components/avatar/avatar.stories.d.ts +0 -42
  52. package/dist/components/avatar/helpers.d.ts +0 -14
  53. package/dist/components/badge/badge.stories.d.ts +0 -50
  54. package/dist/components/badge/helpers.d.ts +0 -11
  55. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +0 -6
  56. package/dist/components/bottom-bar/helpers.d.ts +0 -7
  57. package/dist/components/breadcrumbs/breadcrumbs.stories.d.ts +0 -7
  58. package/dist/components/breadcrumbs/helpers.d.ts +0 -7
  59. package/dist/components/button/button.stories.d.ts +0 -50
  60. package/dist/components/button-float/button-float.stories.d.ts +0 -27
  61. package/dist/components/button-float/helpers.d.ts +0 -4
  62. package/dist/components/button-icon/button-icon.stories.d.ts +0 -45
  63. package/dist/components/button-icon/helpers.d.ts +0 -11
  64. package/dist/components/calculator/calculator.stories.d.ts +0 -8
  65. package/dist/components/calculator/helpers.d.ts +0 -7
  66. package/dist/components/calculator-input/calculator-input.stories.d.ts +0 -8
  67. package/dist/components/calculator-input/helpers.d.ts +0 -3
  68. package/dist/components/calendar/calendar.stories.d.ts +0 -6
  69. package/dist/components/checkbox-input/checkbox-input.stories.d.ts +0 -44
  70. package/dist/components/checkbox-input/context.d.ts +0 -10
  71. package/dist/components/checkbox-input/helpers.d.ts +0 -11
  72. package/dist/components/chip-input/chip-input.stories.d.ts +0 -12
  73. package/dist/components/chip-input/context.d.ts +0 -11
  74. package/dist/components/chip-input/helpers.d.ts +0 -4
  75. package/dist/components/date-single-picker-input/date-single-picker-input.docked.stories.d.ts +0 -10
  76. package/dist/components/date-single-picker-input/date-single-picker-input.modal.stories.d.ts +0 -10
  77. package/dist/components/date-single-picker-input/helpers.d.ts +0 -3
  78. package/dist/components/drawer/context.d.ts +0 -11
  79. package/dist/components/drawer/drawer.stories.d.ts +0 -42
  80. package/dist/components/drawer/helpers.d.ts +0 -40
  81. package/dist/components/icon/helpers.d.ts +0 -4
  82. package/dist/components/icon/icon.stories.d.ts +0 -39
  83. package/dist/components/index.d.ts +0 -35
  84. package/dist/components/loading-indicator/helpers.d.ts +0 -9
  85. package/dist/components/loading-indicator/loading-indicator.stories.d.ts +0 -16
  86. package/dist/components/menu/context.d.ts +0 -13
  87. package/dist/components/menu/helpers.d.ts +0 -8
  88. package/dist/components/menu/menu.stories.d.ts +0 -22
  89. package/dist/components/modal/helpers.d.ts +0 -7
  90. package/dist/components/modal/modal.stories.d.ts +0 -13
  91. package/dist/components/page-layout/helpers.d.ts +0 -6
  92. package/dist/components/page-layout/page-layout.stories.d.ts +0 -8
  93. package/dist/components/radio-input/context.d.ts +0 -11
  94. package/dist/components/radio-input/helpers.d.ts +0 -11
  95. package/dist/components/radio-input/radio-input.stories.d.ts +0 -74
  96. package/dist/components/segment-multiple-input/context.d.ts +0 -12
  97. package/dist/components/segment-multiple-input/helpers.d.ts +0 -15
  98. package/dist/components/segment-multiple-input/segment-multiple-input.stories.d.ts +0 -66
  99. package/dist/components/segment-single-input/context.d.ts +0 -12
  100. package/dist/components/segment-single-input/helpers.d.ts +0 -15
  101. package/dist/components/segment-single-input/segment-single-input.stories.d.ts +0 -57
  102. package/dist/components/select-input/helpers.d.ts +0 -3
  103. package/dist/components/select-input/select-input.stories.d.ts +0 -50
  104. package/dist/components/skeleton/helpers.d.ts +0 -6
  105. package/dist/components/skeleton/skeleton.stories.d.ts +0 -25
  106. package/dist/components/snackbar/helpers.d.ts +0 -8
  107. package/dist/components/snackbar/snackbar.stories.d.ts +0 -8
  108. package/dist/components/switch-input/helpers.d.ts +0 -18
  109. package/dist/components/switch-input/switch-input.stories.d.ts +0 -10
  110. package/dist/components/table/context.d.ts +0 -3
  111. package/dist/components/table/helpers.d.ts +0 -2
  112. package/dist/components/table/table.stories.d.ts +0 -27
  113. package/dist/components/tabs/context.d.ts +0 -3
  114. package/dist/components/tabs/helpers.d.ts +0 -8
  115. package/dist/components/tabs/tabs.stories.d.ts +0 -17
  116. package/dist/components/text/helpers.d.ts +0 -18
  117. package/dist/components/text/text.stories.d.ts +0 -17
  118. package/dist/components/text-input/helpers.d.ts +0 -3
  119. package/dist/components/text-input/text-input.stories.d.ts +0 -20
  120. package/dist/components/textarea-input/helpers.d.ts +0 -4
  121. package/dist/components/textarea-input/textarea-input.stories.d.ts +0 -50
  122. package/dist/components/tile/helpers.d.ts +0 -8
  123. package/dist/components/tile/tile.stories.d.ts +0 -35
  124. package/dist/components/time-picker-input/helpers.d.ts +0 -4
  125. package/dist/components/time-picker-input/time-picker-input.stories.d.ts +0 -7
  126. package/dist/components/top-bar/helpers.d.ts +0 -26
  127. package/dist/components/top-bar/top-bar.stories.d.ts +0 -15
  128. package/dist/hooks/index.d.ts +0 -1
  129. package/dist/hooks/use-floating-position/index.d.ts +0 -1
  130. /package/dist/{components → feedbacks}/loading-indicator/index.d.ts +0 -0
  131. /package/dist/{components → feedbacks}/loading-indicator/loading-indicator.atoms.d.ts +0 -0
  132. /package/dist/{components → feedbacks}/loading-indicator/loading-indicator.d.ts +0 -0
  133. /package/dist/{components → feedbacks}/loading-indicator/types.d.ts +0 -0
  134. /package/dist/{components → feedbacks}/skeleton/index.d.ts +0 -0
  135. /package/dist/{components → feedbacks}/skeleton/skeleton.d.ts +0 -0
  136. /package/dist/{components → feedbacks}/skeleton/types.d.ts +0 -0
  137. /package/dist/{components → forms}/calculator-input/calculator-input.atoms.d.ts +0 -0
  138. /package/dist/{components → forms}/calculator-input/calculator-input.d.ts +0 -0
  139. /package/dist/{components → forms}/calculator-input/index.d.ts +0 -0
  140. /package/dist/{components → forms}/checkbox-input/checkbox-input.atoms.d.ts +0 -0
  141. /package/dist/{components → forms}/checkbox-input/checkbox-input.d.ts +0 -0
  142. /package/dist/{components → forms}/checkbox-input/index.d.ts +0 -0
  143. /package/dist/{components → forms}/checkbox-input/types.d.ts +0 -0
  144. /package/dist/{components → forms}/chip-input/chip-input.atoms.d.ts +0 -0
  145. /package/dist/{components → forms}/chip-input/chip-input.d.ts +0 -0
  146. /package/dist/{components → forms}/chip-input/index.d.ts +0 -0
  147. /package/dist/{components → forms}/chip-input/types.d.ts +0 -0
  148. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.atoms.d.ts +0 -0
  149. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.d.ts +0 -0
  150. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.docked.d.ts +0 -0
  151. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.modal.d.ts +0 -0
  152. /package/dist/{components → forms}/date-single-picker-input/index.d.ts +0 -0
  153. /package/dist/{components → forms}/date-single-picker-input/types.d.ts +0 -0
  154. /package/dist/{components → forms}/date-single-picker-input/use-date-single-picker.d.ts +0 -0
  155. /package/dist/{components → forms}/radio-input/index.d.ts +0 -0
  156. /package/dist/{components → forms}/radio-input/radio-input.atoms.d.ts +0 -0
  157. /package/dist/{components → forms}/radio-input/radio-input.d.ts +0 -0
  158. /package/dist/{components → forms}/radio-input/types.d.ts +0 -0
  159. /package/dist/{components → forms}/segment-multiple-input/index.d.ts +0 -0
  160. /package/dist/{components → forms}/segment-multiple-input/segment-multiple-input.atoms.d.ts +0 -0
  161. /package/dist/{components → forms}/segment-multiple-input/segment-multiple-input.d.ts +0 -0
  162. /package/dist/{components → forms}/segment-single-input/index.d.ts +0 -0
  163. /package/dist/{components → forms}/segment-single-input/segment-single-input.atoms.d.ts +0 -0
  164. /package/dist/{components → forms}/segment-single-input/segment-single-input.d.ts +0 -0
  165. /package/dist/{components → forms}/select-input/index.d.ts +0 -0
  166. /package/dist/{components → forms}/select-input/select-input.d.ts +0 -0
  167. /package/dist/{components → forms}/select-input/types.d.ts +0 -0
  168. /package/dist/{components → forms}/switch-input/index.d.ts +0 -0
  169. /package/dist/{components → forms}/switch-input/switch-input.atoms.d.ts +0 -0
  170. /package/dist/{components → forms}/switch-input/switch-input.d.ts +0 -0
  171. /package/dist/{components → forms}/switch-input/types.d.ts +0 -0
  172. /package/dist/{components → forms}/text-input/index.d.ts +0 -0
  173. /package/dist/{components → forms}/text-input/text-input.d.ts +0 -0
  174. /package/dist/{components → forms}/text-input/types.d.ts +0 -0
  175. /package/dist/{components → forms}/textarea-input/index.d.ts +0 -0
  176. /package/dist/{components → forms}/textarea-input/textarea-input.d.ts +0 -0
  177. /package/dist/{components → forms}/textarea-input/types.d.ts +0 -0
  178. /package/dist/{components → forms}/time-picker-input/index.d.ts +0 -0
  179. /package/dist/{components → forms}/time-picker-input/time-picker-input.atoms.d.ts +0 -0
  180. /package/dist/{components → forms}/time-picker-input/time-picker-input.d.ts +0 -0
  181. /package/dist/{components → layouts}/app-bar/app-bar.atoms.d.ts +0 -0
  182. /package/dist/{components → layouts}/app-bar/app-bar.d.ts +0 -0
  183. /package/dist/{components → layouts}/app-bar/index.d.ts +0 -0
  184. /package/dist/{components → layouts}/app-bar/types.d.ts +0 -0
  185. /package/dist/{components → layouts}/bottom-bar/bottom-bar.atoms.d.ts +0 -0
  186. /package/dist/{components → layouts}/bottom-bar/bottom-bar.d.ts +0 -0
  187. /package/dist/{components → layouts}/bottom-bar/index.d.ts +0 -0
  188. /package/dist/{components → layouts}/bottom-bar/types.d.ts +0 -0
  189. /package/dist/{components → layouts}/page-layout/index.d.ts +0 -0
  190. /package/dist/{components → layouts}/page-layout/page-layout.d.ts +0 -0
  191. /package/dist/{components → layouts}/page-layout/types.d.ts +0 -0
  192. /package/dist/{components → layouts}/top-bar/index.d.ts +0 -0
  193. /package/dist/{components → layouts}/top-bar/top-bar.atoms.d.ts +0 -0
  194. /package/dist/{components → layouts}/top-bar/top-bar.d.ts +0 -0
  195. /package/dist/{components → layouts}/top-bar/types.d.ts +0 -0
  196. /package/dist/{components → navigation}/breadcrumbs/breadcrumbs.atoms.d.ts +0 -0
  197. /package/dist/{components → navigation}/breadcrumbs/breadcrumbs.d.ts +0 -0
  198. /package/dist/{components → navigation}/breadcrumbs/index.d.ts +0 -0
  199. /package/dist/{components → navigation}/breadcrumbs/types.d.ts +0 -0
  200. /package/dist/{components → navigation}/tabs/index.d.ts +0 -0
  201. /package/dist/{components → navigation}/tabs/tabs.atoms.d.ts +0 -0
  202. /package/dist/{components → navigation}/tabs/tabs.d.ts +0 -0
  203. /package/dist/{components → navigation}/tabs/use-tab-indicator.d.ts +0 -0
  204. /package/dist/{components → overlays}/drawer/drawer.atoms.d.ts +0 -0
  205. /package/dist/{components → overlays}/drawer/drawer.d.ts +0 -0
  206. /package/dist/{components → overlays}/drawer/index.d.ts +0 -0
  207. /package/dist/{components → overlays}/drawer/types.d.ts +0 -0
  208. /package/dist/{components → overlays}/menu/index.d.ts +0 -0
  209. /package/dist/{components → overlays}/menu/use-menu.d.ts +0 -0
  210. /package/dist/{components → overlays}/modal/index.d.ts +0 -0
  211. /package/dist/{components → overlays}/modal/modal.atoms.d.ts +0 -0
  212. /package/dist/{components → overlays}/modal/modal.d.ts +0 -0
  213. /package/dist/{components → overlays}/modal/types.d.ts +0 -0
  214. /package/dist/{components → overlays}/modal/use-escape-close.d.ts +0 -0
  215. /package/dist/{components → overlays}/modal/use-focus-trap.d.ts +0 -0
  216. /package/dist/{components → primitive}/alert/alert.atoms.d.ts +0 -0
  217. /package/dist/{components → primitive}/alert/alert.d.ts +0 -0
  218. /package/dist/{components → primitive}/alert/index.d.ts +0 -0
  219. /package/dist/{components → primitive}/alert/types.d.ts +0 -0
  220. /package/dist/{components → primitive}/avatar/avatar.atoms.d.ts +0 -0
  221. /package/dist/{components → primitive}/avatar/avatar.d.ts +0 -0
  222. /package/dist/{components → primitive}/avatar/index.d.ts +0 -0
  223. /package/dist/{components → primitive}/avatar/types.d.ts +0 -0
  224. /package/dist/{components → primitive}/badge/badge.d.ts +0 -0
  225. /package/dist/{components → primitive}/badge/index.d.ts +0 -0
  226. /package/dist/{components → primitive}/badge/types.d.ts +0 -0
  227. /package/dist/{components → primitive}/button/button.d.ts +0 -0
  228. /package/dist/{components → primitive}/button/index.d.ts +0 -0
  229. /package/dist/{components → primitive}/button/types.d.ts +0 -0
  230. /package/dist/{components → primitive}/button-float/button-float.d.ts +0 -0
  231. /package/dist/{components → primitive}/button-float/index.d.ts +0 -0
  232. /package/dist/{components → primitive}/button-float/types.d.ts +0 -0
  233. /package/dist/{hooks/use-floating-position → primitive/button-float}/use-floating-position.d.ts +0 -0
  234. /package/dist/{components → primitive}/button-icon/button-icon.d.ts +0 -0
  235. /package/dist/{components → primitive}/button-icon/index.d.ts +0 -0
  236. /package/dist/{components → primitive}/calculator/calculator.atoms.d.ts +0 -0
  237. /package/dist/{components → primitive}/calculator/calculator.d.ts +0 -0
  238. /package/dist/{components → primitive}/calculator/index.d.ts +0 -0
  239. /package/dist/{components → primitive}/calculator/types.d.ts +0 -0
  240. /package/dist/{components → primitive}/calculator/use-calculator.d.ts +0 -0
  241. /package/dist/{components → primitive}/calendar/calendar.d.ts +0 -0
  242. /package/dist/{components → primitive}/calendar/index.d.ts +0 -0
  243. /package/dist/{components → primitive}/calendar/types.d.ts +0 -0
  244. /package/dist/{components → primitive}/icon/icon.d.ts +0 -0
  245. /package/dist/{components → primitive}/icon/index.d.ts +0 -0
  246. /package/dist/{components → primitive}/icon/types.d.ts +0 -0
  247. /package/dist/{components → primitive}/snackbar/index.d.ts +0 -0
  248. /package/dist/{components → primitive}/snackbar/snackbar.atoms.d.ts +0 -0
  249. /package/dist/{components → primitive}/snackbar/snackbar.d.ts +0 -0
  250. /package/dist/{components → primitive}/snackbar/types.d.ts +0 -0
  251. /package/dist/{components → primitive}/table/index.d.ts +0 -0
  252. /package/dist/{components → primitive}/table/table.atoms.d.ts +0 -0
  253. /package/dist/{components → primitive}/table/table.d.ts +0 -0
  254. /package/dist/{components → primitive}/table/types.d.ts +0 -0
  255. /package/dist/{components → primitive}/text/index.d.ts +0 -0
  256. /package/dist/{components → primitive}/text/text.d.ts +0 -0
  257. /package/dist/{components → primitive}/text/types.d.ts +0 -0
  258. /package/dist/{components → primitive}/tile/index.d.ts +0 -0
  259. /package/dist/{components → primitive}/tile/tile.d.ts +0 -0
  260. /package/dist/{components → primitive}/tile/types.d.ts +0 -0
@@ -0,0 +1,221 @@
1
+ import { c as i, j as n, a as l } from "./index-DOdDlCoL.js";
2
+ import d, { createContext as p, useContext as h, useCallback as y, useEffect as j } from "react";
3
+ const v = p(null);
4
+ function c() {
5
+ const t = h(v);
6
+ if (!t)
7
+ throw new Error(
8
+ "Drawer components must be used within a DrawerRoot component"
9
+ );
10
+ return t;
11
+ }
12
+ const k = i(
13
+ "fixed inset-0 z-50 transition-opacity duration-300 bg-black/30 backdrop-blur-md",
14
+ {
15
+ variants: {
16
+ state: {
17
+ open: "opacity-100",
18
+ closed: "opacity-0 pointer-events-none"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ state: "closed"
23
+ }
24
+ }
25
+ ), D = i("fixed z-50 shadow-xl flex flex-col", {
26
+ variants: {
27
+ position: {
28
+ left: "left-0 top-0 bottom-0 border-r",
29
+ right: "right-0 top-0 bottom-0 border-l"
30
+ },
31
+ size: {
32
+ sm: "w-80",
33
+ md: "w-96",
34
+ lg: "w-[28rem]",
35
+ xl: "w-[32rem]",
36
+ "3/4": "w-[75vw]",
37
+ full: "w-full"
38
+ },
39
+ variant: {
40
+ default: "bg-white border-gray-200",
41
+ glass: "bg-white/10 backdrop-blur-lg border-white/20"
42
+ },
43
+ transitionType: {
44
+ slide: "transition-transform duration-300 ease-in-out",
45
+ fade: "transition-opacity duration-300 ease-in-out"
46
+ }
47
+ },
48
+ defaultVariants: {
49
+ position: "right",
50
+ size: "md",
51
+ variant: "default",
52
+ transitionType: "slide"
53
+ }
54
+ }), V = i("flex-shrink-0 px-6 py-4 border-b", {
55
+ variants: {
56
+ variant: {
57
+ default: "bg-white border-gray-200",
58
+ glass: "bg-transparent border-white/10"
59
+ }
60
+ },
61
+ defaultVariants: {
62
+ variant: "default"
63
+ }
64
+ }), C = i("flex-1 overflow-y-auto px-6 py-4", {
65
+ variants: {
66
+ variant: {
67
+ default: "bg-white",
68
+ glass: "bg-transparent"
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ variant: "default"
73
+ }
74
+ }), R = i("flex-shrink-0 px-6 py-4 border-t", {
75
+ variants: {
76
+ variant: {
77
+ default: "bg-white border-gray-200",
78
+ glass: "bg-transparent border-white/10"
79
+ },
80
+ responsiveFlex: {
81
+ true: "flex flex-row gap-3 sm:justify-end [&>*]:sm:flex-grow-0 [&>*]:flex-grow",
82
+ false: "flex gap-2"
83
+ }
84
+ },
85
+ defaultVariants: {
86
+ variant: "default",
87
+ responsiveFlex: !0
88
+ }
89
+ }), E = d.forwardRef(({ className: t, ...e }, a) => {
90
+ const { isOpen: r, onClose: o } = c(), s = () => {
91
+ o();
92
+ };
93
+ return /* @__PURE__ */ n.jsx(
94
+ "div",
95
+ {
96
+ ref: a,
97
+ onClick: s,
98
+ className: l(
99
+ k({
100
+ state: r ? "open" : "closed"
101
+ }),
102
+ t
103
+ ),
104
+ ...e
105
+ }
106
+ );
107
+ }), N = d.forwardRef(
108
+ ({ children: t, className: e, ...a }, r) => {
109
+ const { variant: o } = c();
110
+ return /* @__PURE__ */ n.jsx(
111
+ "div",
112
+ {
113
+ ref: r,
114
+ className: l(V({ variant: o }), e),
115
+ ...a,
116
+ children: t
117
+ }
118
+ );
119
+ }
120
+ ), F = d.forwardRef(
121
+ ({ children: t, className: e, ...a }, r) => {
122
+ const { variant: o } = c();
123
+ return /* @__PURE__ */ n.jsx(
124
+ "div",
125
+ {
126
+ ref: r,
127
+ className: l(C({ variant: o }), e),
128
+ ...a,
129
+ children: t
130
+ }
131
+ );
132
+ }
133
+ ), z = d.forwardRef(
134
+ ({ children: t, className: e, responsiveFlex: a = !0, ...r }, o) => {
135
+ const { variant: s } = c();
136
+ return /* @__PURE__ */ n.jsx(
137
+ "div",
138
+ {
139
+ ref: o,
140
+ className: l(
141
+ R({ variant: s, responsiveFlex: a }),
142
+ e
143
+ ),
144
+ ...r,
145
+ children: t
146
+ }
147
+ );
148
+ }
149
+ ), B = ({
150
+ children: t,
151
+ isOpen: e,
152
+ onClose: a,
153
+ position: r = "right",
154
+ size: o = "md",
155
+ variant: s = "default",
156
+ transitionType: f = "slide",
157
+ className: x,
158
+ ...b
159
+ }) => {
160
+ const u = y(() => {
161
+ a(!1);
162
+ }, [a]), m = {
163
+ isOpen: e,
164
+ onClose: u,
165
+ position: r,
166
+ size: o,
167
+ variant: s,
168
+ transitionType: f
169
+ };
170
+ return j(() => {
171
+ const w = (g) => {
172
+ g.key === "Escape" && e && u();
173
+ };
174
+ return e && (document.addEventListener("keydown", w), document.body.style.overflow = "hidden"), () => {
175
+ document.removeEventListener("keydown", w), document.body.style.overflow = "unset";
176
+ };
177
+ }, [e, u]), /* @__PURE__ */ n.jsx(v.Provider, { value: m, children: /* @__PURE__ */ n.jsxs(
178
+ "div",
179
+ {
180
+ className: l(
181
+ "fixed z-50 inset-0 pointer-events-none",
182
+ e && "pointer-events-auto"
183
+ ),
184
+ children: [
185
+ /* @__PURE__ */ n.jsx(E, {}),
186
+ /* @__PURE__ */ n.jsx(
187
+ "div",
188
+ {
189
+ role: e ? "dialog" : void 0,
190
+ "aria-modal": e ? "true" : void 0,
191
+ className: l(
192
+ D({
193
+ position: r,
194
+ size: o,
195
+ variant: s,
196
+ transitionType: f
197
+ }),
198
+ f === "slide" ? [
199
+ !e && r === "left" && "-translate-x-full",
200
+ !e && r === "right" && "translate-x-full"
201
+ ] : [
202
+ "left-0 right-0 top-0 bottom-0",
203
+ e ? "opacity-100" : "opacity-0 pointer-events-none"
204
+ ],
205
+ x
206
+ ),
207
+ ...b,
208
+ children: e && t
209
+ }
210
+ )
211
+ ]
212
+ }
213
+ ) });
214
+ }, _ = Object.assign(B, {
215
+ Header: N,
216
+ Body: F,
217
+ Footer: z
218
+ });
219
+ export {
220
+ _ as D
221
+ };
@@ -0,0 +1,115 @@
1
+ /**
2
+ * ESLint rule for Versaur: enforce sub-path imports for optimal tree-shaking (Flat config compatible)
3
+ */
4
+
5
+ const symbolToSubpath = {
6
+ // primitive
7
+ Button: 'primitive',
8
+ ButtonFloat: 'primitive',
9
+ ButtonIcon: 'primitive',
10
+ Avatar: 'primitive',
11
+ Badge: 'primitive',
12
+ Brand: 'primitive',
13
+ Calculator: 'primitive',
14
+ Calendar: 'primitive',
15
+ Icon: 'primitive',
16
+ Snackbar: 'primitive',
17
+ Table: 'primitive',
18
+ Text: 'primitive',
19
+ Tile: 'primitive',
20
+ Alert: 'primitive',
21
+ // overlays
22
+ Drawer: 'overlays',
23
+ Modal: 'overlays',
24
+ Menu: 'overlays',
25
+ // navigation
26
+ Tabs: 'navigation',
27
+ Breadcrumbs: 'navigation',
28
+ // layouts
29
+ AppBar: 'layouts',
30
+ BottomBar: 'layouts',
31
+ FormLayout: 'layouts',
32
+ PageLayout: 'layouts',
33
+ TopBar: 'layouts',
34
+ // feedbacks
35
+ LoadingIndicator: 'feedbacks',
36
+ ProgressIndicator: 'feedbacks',
37
+ Skeleton: 'feedbacks',
38
+ // forms
39
+ CalculatorInput: 'forms',
40
+ CheckboxInput: 'forms',
41
+ ChipInput: 'forms',
42
+ DateSinglePickerInput: 'forms',
43
+ RadioInput: 'forms',
44
+ SegmentMultipleInput: 'forms',
45
+ SegmentSingleInput: 'forms',
46
+ SelectInput: 'forms',
47
+ SwitchInput: 'forms',
48
+ TextInput: 'forms',
49
+ TextareaInput: 'forms',
50
+ TimePickerInput: 'forms',
51
+ }
52
+
53
+ const rules = {
54
+ meta: {
55
+ id: 'versaur-enforce-subpath-import',
56
+ name: 'versaur-enforce-subpath-import',
57
+ type: 'suggestion',
58
+ docs: {
59
+ description: 'Prefer sub-path imports for @dimasbaguspm/versaur',
60
+ },
61
+ fixable: 'code',
62
+ hasSuggestions: true,
63
+ },
64
+ create(context) {
65
+ return {
66
+ ImportDeclaration(node) {
67
+ if (node.source.value === '@dimasbaguspm/versaur') {
68
+ const importSpecifiers = node.specifiers
69
+ .filter(s => s.type === 'ImportSpecifier')
70
+ .map(s => s.imported.name)
71
+ const known = importSpecifiers.find(name => symbolToSubpath[name])
72
+ const subpath = known ? symbolToSubpath[known] : null
73
+ let message =
74
+ 'Use sub-path import for better tree-shaking (e.g., @dimasbaguspm/versaur/primitive)'
75
+ if (subpath) {
76
+ message = `Import { ${known} } from '@dimasbaguspm/versaur/${subpath}' instead.`
77
+ }
78
+ context.report({
79
+ node,
80
+ message,
81
+ suggest: subpath
82
+ ? [
83
+ {
84
+ desc: `Change to import { ${known} } from '@dimasbaguspm/versaur/${subpath}'`,
85
+ fix(fixer) {
86
+ return fixer.replaceText(
87
+ node.source,
88
+ `'@dimasbaguspm/versaur/${subpath}'`
89
+ )
90
+ },
91
+ },
92
+ ]
93
+ : [],
94
+ })
95
+ }
96
+ },
97
+ }
98
+ },
99
+ }
100
+
101
+ // export array of config objects for flexible flat config usage
102
+ export const versaurEnforceSubpathImport = [
103
+ {
104
+ plugins: {
105
+ dimasbaguspm: {
106
+ rules: {
107
+ 'versaur-enforce-subpath-import': rules,
108
+ },
109
+ },
110
+ },
111
+ rules: {
112
+ 'dimasbaguspm/versaur-enforce-subpath-import': 'warn',
113
+ },
114
+ },
115
+ ]
@@ -0,0 +1,3 @@
1
+ export * from './loading-indicator';
2
+ export * from './progress-indicator';
3
+ export * from './skeleton';
@@ -0,0 +1,6 @@
1
+ import { L as r, P as s, S as e } from "../skeleton-DwqjRsF-.js";
2
+ export {
3
+ r as LoadingIndicator,
4
+ s as ProgressIndicator,
5
+ e as Skeleton
6
+ };
@@ -0,0 +1,2 @@
1
+ export { ProgressIndicator } from './progress-indicator';
2
+ export * from './types';
@@ -0,0 +1,7 @@
1
+ import { ProgressIndicatorProps } from './types';
2
+ /**
3
+ * ProgressIndicator — Versaur UI
4
+ *
5
+ * A linear progress indicator for loading states
6
+ */
7
+ export declare const ProgressIndicator: import('react').ForwardRefExoticComponent<ProgressIndicatorProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes } from 'react';
2
+ /**
3
+ * Props for ProgressIndicator component (determinate only)
4
+ */
5
+ export interface ProgressIndicatorProps extends HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * Current progress value (0-max). Required for determinate mode
8
+ */
9
+ value: number;
10
+ /**
11
+ * Maximum value (default: 100)
12
+ */
13
+ max?: number;
14
+ /**
15
+ * Color role (uses Versaur design system CSS variable)
16
+ * @default 'primary'
17
+ */
18
+ color?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'neutral' | 'success' | 'info' | 'warning' | 'danger';
19
+ }
@@ -0,0 +1,302 @@
1
+ import { c as i, j as o, a as l } from "./index-DOdDlCoL.js";
2
+ import * as m from "react";
3
+ import { forwardRef as n } from "react";
4
+ const u = i(
5
+ "w-full flex flex-wrap items-center px-4 py-3 gap-2 bg-white [&>[data-versaur-appbar-bottom]]:basis-full [&>[data-versaur-appbar-bottom]]:w-full",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ primary: "",
10
+ secondary: "",
11
+ tertiary: "",
12
+ ghost: "",
13
+ neutral: ""
14
+ }
15
+ },
16
+ defaultVariants: {
17
+ variant: "primary"
18
+ }
19
+ }
20
+ ), x = i(
21
+ "flex flex-col justify-center min-w-0 flex-grow",
22
+ {
23
+ variants: {
24
+ placement: {
25
+ start: "items-start",
26
+ center: "items-center",
27
+ end: "items-end"
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ placement: "start"
32
+ }
33
+ }
34
+ ), d = n(
35
+ ({ children: e, className: a }, t) => /* @__PURE__ */ o.jsx(
36
+ "div",
37
+ {
38
+ ref: t,
39
+ "data-versaur-appbar-bottom": !0,
40
+ className: l("w-full flex items-center min-h-[2.5rem] mt-2", a),
41
+ children: e
42
+ }
43
+ )
44
+ ), f = n(
45
+ ({ children: e, className: a }, t) => /* @__PURE__ */ o.jsx("div", { ref: t, className: l("flex items-center", a), children: e })
46
+ ), v = n(
47
+ ({ children: e, className: a }, t) => /* @__PURE__ */ o.jsx(
48
+ "div",
49
+ {
50
+ ref: t,
51
+ className: l("font-semibold text-lg truncate min-w-0", a),
52
+ children: e
53
+ }
54
+ )
55
+ ), g = n(
56
+ ({ children: e, className: a }, t) => /* @__PURE__ */ o.jsx(
57
+ "div",
58
+ {
59
+ ref: t,
60
+ className: l("text-xs text-slate-400 truncate min-w-0", a),
61
+ children: e
62
+ }
63
+ )
64
+ ), y = n(
65
+ ({ children: e, className: a }, t) => /* @__PURE__ */ o.jsx(
66
+ "div",
67
+ {
68
+ ref: t,
69
+ className: l("flex items-center justify-end gap-2", a),
70
+ children: e
71
+ }
72
+ )
73
+ ), B = n(
74
+ ({ children: e, className: a, placement: t }, s) => /* @__PURE__ */ o.jsx(
75
+ "div",
76
+ {
77
+ ref: s,
78
+ className: l(x({ placement: t }), a),
79
+ children: e
80
+ }
81
+ )
82
+ ), b = ({
83
+ children: e,
84
+ className: a,
85
+ variant: t = "primary"
86
+ }) => /* @__PURE__ */ o.jsx(
87
+ "header",
88
+ {
89
+ className: l(u({ variant: t }), a),
90
+ role: "banner",
91
+ children: e
92
+ }
93
+ ), G = Object.assign(b, {
94
+ Leading: f,
95
+ Headline: v,
96
+ Subtitle: g,
97
+ Trailing: y,
98
+ Center: B,
99
+ Bottom: d
100
+ }), j = i(
101
+ "sticky bottom-0 left-0 w-full flex justify-between items-center bg-white border-t border-border shadow-xs z-40 safe-bottom px-8 py-1",
102
+ {
103
+ variants: {
104
+ variant: {
105
+ primary: "",
106
+ secondary: "",
107
+ ghost: "",
108
+ neutral: "",
109
+ tertiary: ""
110
+ },
111
+ size: {
112
+ sm: "h-12 text-sm",
113
+ md: "h-16 text-base",
114
+ lg: "h-20 text-lg"
115
+ }
116
+ },
117
+ defaultVariants: {
118
+ variant: "primary",
119
+ size: "md"
120
+ }
121
+ }
122
+ ), N = i(
123
+ "flex flex-col items-center justify-center gap-1 px-2 py-1",
124
+ {
125
+ variants: {
126
+ active: {
127
+ true: "font-semibold text-coral",
128
+ false: "text-slate"
129
+ }
130
+ },
131
+ defaultVariants: {
132
+ active: !1
133
+ }
134
+ }
135
+ ), w = n(
136
+ ({ icon: e, label: a, active: t = !1, className: s, ...r }, c) => /* @__PURE__ */ o.jsxs(
137
+ "div",
138
+ {
139
+ ref: c,
140
+ "aria-current": t ? "page" : void 0,
141
+ className: N({ active: t, className: s }),
142
+ ...r,
143
+ children: [
144
+ e,
145
+ a && /* @__PURE__ */ o.jsx("span", { className: "text-xs mt-0.5", children: a })
146
+ ]
147
+ }
148
+ )
149
+ ), h = ({
150
+ children: e,
151
+ variant: a = "primary",
152
+ size: t = "md",
153
+ className: s,
154
+ ...r
155
+ }) => /* @__PURE__ */ o.jsx(
156
+ "nav",
157
+ {
158
+ role: "navigation",
159
+ "aria-label": "Bottom navigation",
160
+ className: j({ variant: a, size: t, className: s }),
161
+ ...r,
162
+ children: e
163
+ }
164
+ ), J = Object.assign(h, {
165
+ Item: w
166
+ }), T = i(
167
+ "w-full flex items-center px-6 py-4 mb-6 border-b border-border shadow-xs bg-white",
168
+ {
169
+ variants: {},
170
+ defaultVariants: {}
171
+ }
172
+ ), L = i("flex items-center gap-3 min-w-0 flex-1"), V = i("flex items-center gap-2 ml-auto"), A = i(
173
+ "px-2.5 py-1.5 rounded-md text-sm cursor-pointer transition-colors",
174
+ {
175
+ variants: {
176
+ active: {
177
+ true: "bg-coral/10 text-coral",
178
+ false: "hover:text-coral text-ghost"
179
+ }
180
+ },
181
+ defaultVariants: {
182
+ active: !1
183
+ }
184
+ }
185
+ ), R = i("flex items-center gap-2 ml-4"), S = i("flex items-center gap-2 mr-4"), C = n(
186
+ function({ children: a, className: t, ...s }, r) {
187
+ return /* @__PURE__ */ o.jsx("nav", { ref: r, className: R({ className: t }), ...s, children: a });
188
+ }
189
+ ), I = n(
190
+ function({ children: a, className: t, ...s }, r) {
191
+ return /* @__PURE__ */ o.jsx("div", { ref: r, className: S({ className: t }), ...s, children: a });
192
+ }
193
+ ), F = n(
194
+ function({ children: a, className: t, ...s }, r) {
195
+ return /* @__PURE__ */ o.jsx("div", { ref: r, className: L({ className: t }), ...s, children: a });
196
+ }
197
+ ), k = n(
198
+ function({ children: a, className: t, ...s }, r) {
199
+ return /* @__PURE__ */ o.jsx("div", { ref: r, className: V({ className: t }), ...s, children: a });
200
+ }
201
+ ), O = n(
202
+ function({ children: a, className: t, active: s, ...r }, c) {
203
+ return /* @__PURE__ */ o.jsx(
204
+ "div",
205
+ {
206
+ ref: c,
207
+ className: A({ active: s, className: t }),
208
+ "aria-current": s ? "page" : void 0,
209
+ ...r,
210
+ children: a
211
+ }
212
+ );
213
+ }
214
+ ), z = n(
215
+ ({ children: e, className: a, ...t }, s) => /* @__PURE__ */ o.jsx("header", { ref: s, className: T({ className: a }), ...t, children: e })
216
+ ), K = Object.assign(z, {
217
+ Leading: F,
218
+ Trailing: k,
219
+ NavItem: O,
220
+ Nav: C,
221
+ Actions: I
222
+ }), P = i("w-full bg-white mx-aut relative", {
223
+ variants: {
224
+ type: {
225
+ desktop: "max-w-7xl px-6 py-10",
226
+ tablet: "max-w-3xl px-4 py-8",
227
+ mobile: "w-full px-2 py-4"
228
+ }
229
+ },
230
+ defaultVariants: {
231
+ type: "desktop"
232
+ }
233
+ }), Q = m.forwardRef(
234
+ function({ type: a = "desktop", className: t, children: s, ...r }, c) {
235
+ return /* @__PURE__ */ o.jsx(
236
+ "div",
237
+ {
238
+ ref: c,
239
+ className: l(P({ type: a }), t),
240
+ ...r,
241
+ children: s
242
+ }
243
+ );
244
+ }
245
+ ), H = i("grid w-full gap-4 grid-cols-12"), M = i("", {
246
+ variants: {
247
+ span: {
248
+ 1: "col-span-1",
249
+ 2: "col-span-2",
250
+ 3: "col-span-3",
251
+ 4: "col-span-4",
252
+ 5: "col-span-5",
253
+ 6: "col-span-6",
254
+ 7: "col-span-7",
255
+ 8: "col-span-8",
256
+ 9: "col-span-9",
257
+ 10: "col-span-10",
258
+ 11: "col-span-11",
259
+ 12: "col-span-12"
260
+ }
261
+ },
262
+ defaultVariants: {
263
+ span: "4"
264
+ }
265
+ }), E = n(
266
+ function({ className: a, children: t, ...s }, r) {
267
+ return /* @__PURE__ */ o.jsx(
268
+ "div",
269
+ {
270
+ ref: r,
271
+ className: l(H(), a),
272
+ ...s,
273
+ children: t
274
+ }
275
+ );
276
+ }
277
+ ), $ = n(
278
+ function({ span: a = 4, className: t, children: s, ...r }, c) {
279
+ const p = Math.min(12, Math.max(1, a));
280
+ return /* @__PURE__ */ o.jsx(
281
+ "div",
282
+ {
283
+ ref: c,
284
+ className: l(
285
+ M({ span: `${p}` }),
286
+ t
287
+ ),
288
+ ...r,
289
+ children: s
290
+ }
291
+ );
292
+ }
293
+ ), U = Object.assign(E, {
294
+ Column: $
295
+ });
296
+ export {
297
+ G as A,
298
+ J as B,
299
+ U as F,
300
+ Q as P,
301
+ K as T
302
+ };
@@ -1,5 +1,5 @@
1
- import { CalculatorProps } from '../calculator/types';
2
- import { ModalRootProps } from '../modal/types';
1
+ import { CalculatorProps } from '../../primitive/calculator';
2
+ import { ModalRootProps } from '../../overlays/modal';
3
3
  /**
4
4
  * Props for CalculatorInput component
5
5
  */
@@ -0,0 +1,12 @@
1
+ export * from './calculator-input';
2
+ export * from './checkbox-input';
3
+ export * from './chip-input';
4
+ export * from './date-single-picker-input';
5
+ export * from './radio-input';
6
+ export * from './segment-single-input';
7
+ export * from './segment-multiple-input';
8
+ export * from './select-input';
9
+ export * from './text-input';
10
+ export * from './textarea-input';
11
+ export * from './time-picker-input';
12
+ export * from './switch-input';