@giddaa-housing/ui 0.1.0 → 1.1.0

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 (315) hide show
  1. package/README.md +18 -6
  2. package/css/base.css +37 -0
  3. package/css/components.css +135 -0
  4. package/css/generated/shared.css +1 -0
  5. package/css/giddaa.css +402 -0
  6. package/css/preset.css +77 -0
  7. package/css/styles.css +2 -0
  8. package/css/theme.css +255 -0
  9. package/dist/accordion.d.ts +9 -10
  10. package/dist/accordion.js +41 -117
  11. package/dist/activity-timeline.d.ts +29 -0
  12. package/dist/activity-timeline.js +97 -0
  13. package/dist/alert.d.ts +8 -9
  14. package/dist/alert.js +53 -141
  15. package/dist/auth-layout.d.ts +23 -0
  16. package/dist/auth-layout.js +153 -0
  17. package/dist/avatar.d.ts +6 -6
  18. package/dist/avatar.js +40 -142
  19. package/dist/badge.d.ts +12 -13
  20. package/dist/badge.js +66 -114
  21. package/dist/bar-chart.d.ts +136 -114
  22. package/dist/bar-chart.js +244 -297
  23. package/dist/breadcrumb.d.ts +5 -5
  24. package/dist/breadcrumb.js +56 -148
  25. package/dist/bullet-chart.d.ts +33 -33
  26. package/dist/bullet-chart.js +123 -183
  27. package/dist/button-BZIeyUw6.d.ts +17 -0
  28. package/dist/button-group.d.ts +13 -16
  29. package/dist/button-group.js +38 -163
  30. package/dist/button.d.ts +2 -19
  31. package/dist/button.js +90 -142
  32. package/dist/calendar.d.ts +6 -6
  33. package/dist/calendar.js +134 -288
  34. package/dist/card.d.ts +14 -16
  35. package/dist/card.js +58 -174
  36. package/dist/carousel.d.ts +34 -35
  37. package/dist/carousel.js +319 -378
  38. package/dist/chart.d.ts +58 -59
  39. package/dist/chart.js +350 -466
  40. package/dist/checkbox.d.ts +10 -12
  41. package/dist/checkbox.js +84 -84
  42. package/dist/cn-BI_4DMBf.js +23 -0
  43. package/dist/collapsible.d.ts +7 -8
  44. package/dist/collapsible.js +23 -77
  45. package/dist/combobox.d.ts +10 -10
  46. package/dist/combobox.js +220 -696
  47. package/dist/cta.d.ts +64 -0
  48. package/dist/cta.js +192 -0
  49. package/dist/currency-selector.d.ts +41 -0
  50. package/dist/currency-selector.js +114 -0
  51. package/dist/data-table.d.ts +164 -0
  52. package/dist/data-table.js +673 -0
  53. package/dist/date-picker.d.ts +27 -20
  54. package/dist/date-picker.js +122 -520
  55. package/dist/details-card.d.ts +19 -0
  56. package/dist/details-card.js +118 -0
  57. package/dist/dialog.d.ts +13 -14
  58. package/dist/dialog.js +117 -320
  59. package/dist/dropdown-menu.d.ts +14 -14
  60. package/dist/dropdown-menu.js +170 -365
  61. package/dist/dropzone.d.ts +55 -55
  62. package/dist/dropzone.js +328 -467
  63. package/dist/editorial-card.d.ts +27 -0
  64. package/dist/editorial-card.js +144 -0
  65. package/dist/empty-state.d.ts +8 -9
  66. package/dist/empty-state.js +48 -135
  67. package/dist/field.d.ts +23 -25
  68. package/dist/field.js +111 -327
  69. package/dist/filter.d.ts +118 -0
  70. package/dist/filter.js +775 -0
  71. package/dist/footer.d.ts +40 -0
  72. package/dist/footer.js +227 -0
  73. package/dist/funnel-chart.d.ts +38 -41
  74. package/dist/funnel-chart.js +168 -563
  75. package/dist/gallery-indicator.d.ts +17 -0
  76. package/dist/gallery-indicator.js +75 -0
  77. package/dist/heatmap-chart.d.ts +95 -0
  78. package/dist/heatmap-chart.js +197 -0
  79. package/dist/infotip.d.ts +10 -0
  80. package/dist/infotip.js +40 -0
  81. package/dist/input-CfoEJ8A6.d.ts +12 -0
  82. package/dist/input-group.d.ts +16 -19
  83. package/dist/input-group.js +92 -372
  84. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  85. package/dist/input-size-context.d.ts +2 -11
  86. package/dist/input-size-context.js +14 -20
  87. package/dist/input.d.ts +2 -13
  88. package/dist/input.js +23 -79
  89. package/dist/item.d.ts +7 -8
  90. package/dist/item.js +22 -89
  91. package/dist/kpi-card.d.ts +18 -20
  92. package/dist/kpi-card.js +84 -232
  93. package/dist/label.d.ts +6 -6
  94. package/dist/label.js +39 -66
  95. package/dist/line-chart.d.ts +88 -89
  96. package/dist/line-chart.js +143 -262
  97. package/dist/logo.d.ts +4 -4
  98. package/dist/logo.js +87 -141
  99. package/dist/map-indicator.d.ts +13 -0
  100. package/dist/map-indicator.js +83 -0
  101. package/dist/match.d.ts +15 -0
  102. package/dist/match.js +68 -0
  103. package/dist/media-gallery-hero.d.ts +58 -0
  104. package/dist/media-gallery-hero.js +201 -0
  105. package/dist/media-player.d.ts +60 -0
  106. package/dist/media-player.js +919 -0
  107. package/dist/multi-step-form.d.ts +56 -0
  108. package/dist/multi-step-form.js +342 -0
  109. package/dist/number-input.d.ts +34 -34
  110. package/dist/number-input.js +62 -413
  111. package/dist/page-header.d.ts +10 -11
  112. package/dist/page-header.js +34 -107
  113. package/dist/pagination.d.ts +17 -20
  114. package/dist/pagination.js +132 -341
  115. package/dist/password-input.d.ts +5 -12
  116. package/dist/password-input.js +32 -354
  117. package/dist/phone-input.d.ts +19 -19
  118. package/dist/phone-input.js +232 -561
  119. package/dist/photo-gallery.d.ts +20 -20
  120. package/dist/photo-gallery.js +314 -746
  121. package/dist/picker-lzgmsNfG.js +32 -0
  122. package/dist/pie-chart.d.ts +60 -60
  123. package/dist/pie-chart.js +141 -184
  124. package/dist/popover.d.ts +9 -9
  125. package/dist/popover.js +60 -156
  126. package/dist/price-tag.d.ts +34 -0
  127. package/dist/price-tag.js +118 -0
  128. package/dist/progress.d.ts +18 -16
  129. package/dist/progress.js +156 -300
  130. package/dist/property-listing-card.d.ts +29 -0
  131. package/dist/property-listing-card.js +117 -0
  132. package/dist/radar-chart.d.ts +108 -0
  133. package/dist/radar-chart.js +172 -0
  134. package/dist/radio-group.d.ts +11 -13
  135. package/dist/radio-group.js +47 -96
  136. package/dist/review-block.d.ts +18 -0
  137. package/dist/review-block.js +154 -0
  138. package/dist/rich-text-editor.d.ts +30 -14
  139. package/dist/rich-text-editor.js +594 -979
  140. package/dist/scatter-chart.d.ts +140 -0
  141. package/dist/scatter-chart.js +248 -0
  142. package/dist/search-input.d.ts +8 -15
  143. package/dist/search-input.js +58 -408
  144. package/dist/select.d.ts +8 -8
  145. package/dist/select.js +131 -291
  146. package/dist/separator.d.ts +8 -9
  147. package/dist/separator.js +31 -70
  148. package/dist/sheet.d.ts +11 -11
  149. package/dist/sheet.js +84 -262
  150. package/dist/sidebar.d.ts +32 -37
  151. package/dist/sidebar.js +380 -1055
  152. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  153. package/dist/size-context.d.ts +2 -11
  154. package/dist/size-context.js +14 -18
  155. package/dist/skeleton.d.ts +4 -5
  156. package/dist/skeleton.js +9 -45
  157. package/dist/slider.d.ts +27 -0
  158. package/dist/slider.js +81 -0
  159. package/dist/sparkline.d.ts +43 -46
  160. package/dist/sparkline.js +223 -561
  161. package/dist/stepper.d.ts +23 -24
  162. package/dist/stepper.js +149 -276
  163. package/dist/styles.css +9995 -2
  164. package/dist/switch.d.ts +10 -12
  165. package/dist/switch.js +49 -106
  166. package/dist/table-card.d.ts +35 -0
  167. package/dist/table-card.js +125 -0
  168. package/dist/table.d.ts +18 -14
  169. package/dist/table.js +114 -182
  170. package/dist/tabs.d.ts +23 -15
  171. package/dist/tabs.js +62 -149
  172. package/dist/tag.d.ts +22 -23
  173. package/dist/tag.js +104 -156
  174. package/dist/testimonial-block.d.ts +33 -0
  175. package/dist/testimonial-block.js +208 -0
  176. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  177. package/dist/textarea.d.ts +2 -12
  178. package/dist/textarea.js +20 -74
  179. package/dist/time-picker.d.ts +11 -11
  180. package/dist/time-picker.js +247 -464
  181. package/dist/toast.d.ts +16 -18
  182. package/dist/toast.js +154 -310
  183. package/dist/tooltip.d.ts +9 -10
  184. package/dist/tooltip.js +33 -91
  185. package/dist/tree-map.d.ts +54 -57
  186. package/dist/tree-map.js +231 -646
  187. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  188. package/dist/waterfall-chart.d.ts +126 -0
  189. package/dist/waterfall-chart.js +480 -0
  190. package/package.json +123 -34
  191. package/dist/accordion.js.map +0 -1
  192. package/dist/alert.js.map +0 -1
  193. package/dist/avatar.js.map +0 -1
  194. package/dist/badge.js.map +0 -1
  195. package/dist/bar-chart.js.map +0 -1
  196. package/dist/base.css +0 -32
  197. package/dist/breadcrumb.js.map +0 -1
  198. package/dist/bullet-chart.js.map +0 -1
  199. package/dist/button-group.js.map +0 -1
  200. package/dist/button.js.map +0 -1
  201. package/dist/calendar.js.map +0 -1
  202. package/dist/card.js.map +0 -1
  203. package/dist/carousel.js.map +0 -1
  204. package/dist/chart.js.map +0 -1
  205. package/dist/checkbox.js.map +0 -1
  206. package/dist/collapsible.js.map +0 -1
  207. package/dist/combobox.js.map +0 -1
  208. package/dist/date-picker.js.map +0 -1
  209. package/dist/dialog.js.map +0 -1
  210. package/dist/dropdown-menu.js.map +0 -1
  211. package/dist/dropzone.js.map +0 -1
  212. package/dist/empty-state.js.map +0 -1
  213. package/dist/field.js.map +0 -1
  214. package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
  215. package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
  216. package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
  217. package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
  218. package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
  219. package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
  220. package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
  221. package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
  222. package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
  223. package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
  224. package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
  225. package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
  226. package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
  227. package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
  228. package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
  229. package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
  230. package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
  231. package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
  232. package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
  233. package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
  234. package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
  235. package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
  236. package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
  237. package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
  238. package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
  239. package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
  240. package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
  241. package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
  242. package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
  243. package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
  244. package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
  245. package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
  246. package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
  247. package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
  248. package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
  249. package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
  250. package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
  251. package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
  252. package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
  253. package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
  254. package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
  255. package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
  256. package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
  257. package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
  258. package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
  259. package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
  260. package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
  261. package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
  262. package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
  263. package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
  264. package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
  265. package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
  266. package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
  267. package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
  268. package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
  269. package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
  270. package/dist/funnel-chart.js.map +0 -1
  271. package/dist/index.d.ts +0 -87
  272. package/dist/index.js +0 -10448
  273. package/dist/index.js.map +0 -1
  274. package/dist/input-group.js.map +0 -1
  275. package/dist/input-size-context.js.map +0 -1
  276. package/dist/input.js.map +0 -1
  277. package/dist/item.js.map +0 -1
  278. package/dist/kpi-card.js.map +0 -1
  279. package/dist/label.js.map +0 -1
  280. package/dist/line-chart.js.map +0 -1
  281. package/dist/logo.js.map +0 -1
  282. package/dist/number-input.js.map +0 -1
  283. package/dist/page-header.js.map +0 -1
  284. package/dist/pagination.js.map +0 -1
  285. package/dist/password-input.js.map +0 -1
  286. package/dist/phone-input.js.map +0 -1
  287. package/dist/photo-gallery.js.map +0 -1
  288. package/dist/pie-chart.js.map +0 -1
  289. package/dist/popover.js.map +0 -1
  290. package/dist/progress.js.map +0 -1
  291. package/dist/radio-group.js.map +0 -1
  292. package/dist/red-hat-display.css +0 -2
  293. package/dist/rich-text-editor.js.map +0 -1
  294. package/dist/search-input.js.map +0 -1
  295. package/dist/select.js.map +0 -1
  296. package/dist/separator.js.map +0 -1
  297. package/dist/sheet.js.map +0 -1
  298. package/dist/sidebar.js.map +0 -1
  299. package/dist/size-context.js.map +0 -1
  300. package/dist/skeleton.js.map +0 -1
  301. package/dist/sparkline.js.map +0 -1
  302. package/dist/stepper.js.map +0 -1
  303. package/dist/switch.js.map +0 -1
  304. package/dist/tab-list.d.ts +0 -38
  305. package/dist/tab-list.js +0 -394
  306. package/dist/tab-list.js.map +0 -1
  307. package/dist/table.js.map +0 -1
  308. package/dist/tabs.js.map +0 -1
  309. package/dist/tag.js.map +0 -1
  310. package/dist/textarea.js.map +0 -1
  311. package/dist/theme/giddaa.css +0 -2
  312. package/dist/time-picker.js.map +0 -1
  313. package/dist/toast.js.map +0 -1
  314. package/dist/tooltip.js.map +0 -1
  315. package/dist/tree-map.js.map +0 -1
@@ -1,269 +1,150 @@
1
- // src/components/ui/chart.tsx
2
- import { cva } from "class-variance-authority";
3
- import * as React from "react";
4
- import * as RechartsPrimitive from "recharts";
5
-
6
- // src/components/ui/size-context.tsx
7
- import { createContext, useContext } from "react";
8
- import { Fragment, jsx } from "react/jsx-runtime";
9
- var SizeContext = createContext(void 0);
10
- function useComponentSize(size, fallback = "md") {
11
- const inheritedSize = useContext(SizeContext);
12
- return size ?? inheritedSize ?? fallback;
13
- }
14
-
15
- // src/components/ui/chart.tsx
16
- import { Fragment as Fragment2, jsx as jsx2, jsxs } from "react/jsx-runtime";
17
- var ChartContext = React.createContext(null);
18
- var chartCardVariants = cva(
19
- "flex w-full min-w-0 flex-col rounded-2xl border border-line-subtle bg-surface-raised text-fg-primary shadow-1",
20
- {
21
- variants: {
22
- size: {
23
- sm: "gap-3 p-4",
24
- md: "gap-4 p-5",
25
- lg: "gap-5 p-6"
26
- }
27
- },
28
- defaultVariants: { size: "md" }
29
- }
30
- );
31
- var chartTitleVariants = cva("min-w-0 font-bold text-fg-primary", {
32
- variants: {
33
- size: {
34
- sm: "text-gdt-md",
35
- md: "text-gdt-lg",
36
- lg: "text-gdt-h5"
37
- }
38
- },
39
- defaultVariants: { size: "md" }
40
- });
41
- var chartDescriptionVariants = cva("min-w-0 font-normal text-fg-secondary", {
42
- variants: {
43
- size: {
44
- sm: "text-gdt-xs",
45
- md: "text-gdt-sm",
46
- lg: "text-gdt-sm"
47
- }
48
- },
49
- defaultVariants: { size: "md" }
50
- });
51
- var chartTooltipVariants = cva(
52
- "flex flex-col bg-surface-overlay border border-line-subtle shadow-2",
53
- {
54
- variants: {
55
- size: {
56
- xs: "gap-0.5 rounded-md p-2",
57
- sm: "gap-0.5 rounded-md p-2.5",
58
- md: "gap-1 rounded-lg p-3",
59
- lg: "gap-1 rounded-xl p-3.5"
60
- }
61
- },
62
- defaultVariants: {
63
- size: "md"
64
- }
65
- }
66
- );
67
- var chartTooltipDotVariants = cva("shrink-0 rounded-full", {
68
- variants: {
69
- size: {
70
- xs: "size-1.5",
71
- sm: "size-2",
72
- md: "size-2.5",
73
- lg: "size-2.5"
74
- }
75
- },
76
- defaultVariants: {
77
- size: "md"
78
- }
79
- });
80
- var chartTooltipLabelVariants = cva("font-medium text-fg-secondary", {
81
- variants: {
82
- size: {
83
- xs: "text-gdt-xs",
84
- sm: "text-gdt-xs",
85
- md: "text-gdt-sm",
86
- lg: "text-gdt-sm"
87
- }
88
- },
89
- defaultVariants: { size: "md" }
90
- });
91
- var chartTooltipValueVariants = cva(
92
- "font-extrabold text-fg-primary tabular-nums",
93
- {
94
- variants: {
95
- size: {
96
- xs: "text-gdt-sm",
97
- sm: "text-gdt-md",
98
- md: "text-gdt-lg",
99
- lg: "text-gdt-xl"
100
- }
101
- },
102
- defaultVariants: { size: "md" }
103
- }
104
- );
105
- var chartLegendItemVariants = cva(
106
- "group/legend-item flex items-center rounded-md leading-none text-fg-primary transition-colors [&>svg]:shrink-0",
107
- {
108
- variants: {
109
- size: {
110
- sm: "gap-1.5 px-2 py-1 text-gdt-xs [&>svg]:size-3",
111
- md: "gap-2 px-2.5 py-1.5 text-gdt-sm [&>svg]:size-3.5"
112
- },
113
- interactive: {
114
- true: "cursor-pointer outline-none hover:bg-surface-raised focus-visible:bg-surface-raised",
115
- false: ""
116
- },
117
- inactive: {
118
- true: "text-fg-caption-placeholder line-through",
119
- false: ""
120
- }
121
- },
122
- defaultVariants: {
123
- size: "md",
124
- interactive: false,
125
- inactive: false
126
- }
127
- }
128
- );
129
- var chartLegendMarkerSizeVariants = cva("shrink-0", {
130
- variants: {
131
- marker: {
132
- dot: "rounded-full",
133
- square: "rounded-[2px]",
134
- line: "rounded-full"
135
- },
136
- size: {
137
- sm: "",
138
- md: ""
139
- }
140
- },
141
- compoundVariants: [
142
- { marker: ["dot", "square"], size: "sm", className: "size-2" },
143
- { marker: ["dot", "square"], size: "md", className: "size-2.5" },
144
- { marker: "line", size: "sm", className: "h-[3px] w-3" },
145
- { marker: "line", size: "md", className: "h-[3px] w-3.5" }
146
- ],
147
- defaultVariants: { marker: "dot", size: "md" }
148
- });
149
- function cartesianAxisProps(layout) {
150
- const tick = { fontSize: layout.tickFontSize };
151
- return {
152
- xAxis: {
153
- tickLine: false,
154
- axisLine: false,
155
- tickMargin: layout.tickMargin,
156
- tick
157
- },
158
- yAxis: {
159
- tickLine: false,
160
- axisLine: false,
161
- width: layout.yAxisWidth,
162
- tick
163
- }
164
- };
165
- }
166
-
167
- // src/components/ui/line-chart.tsx
168
- var LINE_CHART_LAYOUT = {
169
- sm: {
170
- height: 64,
171
- margin: { top: 6, right: 6, bottom: 0, left: 0 },
172
- strokeWidth: 2,
173
- dotRadius: 2.5,
174
- activeDotRadius: 4,
175
- tickFontSize: 9,
176
- yAxisWidth: 22,
177
- tickMargin: 3
178
- },
179
- md: {
180
- height: 88,
181
- margin: { top: 8, right: 8, bottom: 0, left: 0 },
182
- strokeWidth: 2,
183
- dotRadius: 3,
184
- activeDotRadius: 4.5,
185
- tickFontSize: 10,
186
- yAxisWidth: 24,
187
- tickMargin: 4
188
- },
189
- lg: {
190
- height: 108,
191
- margin: { top: 10, right: 10, bottom: 0, left: 0 },
192
- strokeWidth: 2,
193
- dotRadius: 3.5,
194
- activeDotRadius: 5,
195
- tickFontSize: 11,
196
- yAxisWidth: 26,
197
- tickMargin: 5
198
- },
199
- xl: {
200
- height: 132,
201
- margin: { top: 12, right: 12, bottom: 0, left: 0 },
202
- strokeWidth: 2,
203
- dotRadius: 4,
204
- activeDotRadius: 5.5,
205
- tickFontSize: 11,
206
- yAxisWidth: 28,
207
- tickMargin: 6
208
- },
209
- huge: {
210
- height: 164,
211
- margin: { top: 14, right: 14, bottom: 0, left: 0 },
212
- strokeWidth: 2,
213
- dotRadius: 4.5,
214
- activeDotRadius: 6,
215
- tickFontSize: 12,
216
- yAxisWidth: 30,
217
- tickMargin: 7
218
- }
1
+ "use client";
2
+ import { useComponentSize } from "./size-context.js";
3
+ import { cartesianAxisProps } from "./chart.js";
4
+ //#region src/line-chart.tsx
5
+ const LINE_CHART_LAYOUT = {
6
+ sm: {
7
+ height: 64,
8
+ margin: {
9
+ top: 6,
10
+ right: 6,
11
+ bottom: 0,
12
+ left: 0
13
+ },
14
+ strokeWidth: 2,
15
+ dotRadius: 2.5,
16
+ activeDotRadius: 4,
17
+ tickFontSize: 9,
18
+ yAxisWidth: 22,
19
+ tickMargin: 3
20
+ },
21
+ md: {
22
+ height: 88,
23
+ margin: {
24
+ top: 8,
25
+ right: 8,
26
+ bottom: 0,
27
+ left: 0
28
+ },
29
+ strokeWidth: 2,
30
+ dotRadius: 3,
31
+ activeDotRadius: 4.5,
32
+ tickFontSize: 10,
33
+ yAxisWidth: 24,
34
+ tickMargin: 4
35
+ },
36
+ lg: {
37
+ height: 108,
38
+ margin: {
39
+ top: 10,
40
+ right: 10,
41
+ bottom: 0,
42
+ left: 0
43
+ },
44
+ strokeWidth: 2,
45
+ dotRadius: 3.5,
46
+ activeDotRadius: 5,
47
+ tickFontSize: 11,
48
+ yAxisWidth: 26,
49
+ tickMargin: 5
50
+ },
51
+ xl: {
52
+ height: 132,
53
+ margin: {
54
+ top: 12,
55
+ right: 12,
56
+ bottom: 0,
57
+ left: 0
58
+ },
59
+ strokeWidth: 2,
60
+ dotRadius: 4,
61
+ activeDotRadius: 5.5,
62
+ tickFontSize: 11,
63
+ yAxisWidth: 28,
64
+ tickMargin: 6
65
+ },
66
+ huge: {
67
+ height: 164,
68
+ margin: {
69
+ top: 14,
70
+ right: 14,
71
+ bottom: 0,
72
+ left: 0
73
+ },
74
+ strokeWidth: 2,
75
+ dotRadius: 4.5,
76
+ activeDotRadius: 6,
77
+ tickFontSize: 12,
78
+ yAxisWidth: 30,
79
+ tickMargin: 7
80
+ }
219
81
  };
82
+ /** Map the 5 line-chart sizes to the 3 ComponentSize values for ChartCard. */
220
83
  function toComponentSize(size) {
221
- if (size === "xl" || size === "huge") return "lg";
222
- return size;
84
+ if (size === "xl" || size === "huge") return "lg";
85
+ return size;
223
86
  }
87
+ /**
88
+ * Build the colour-bound props for a `<Line>`/`<Area>` series at a given size:
89
+ * the rounded stroke geometry plus the resting and active dots, all painted in
90
+ * `color`. `area` adds the 15 %-opacity wash beneath the stroke.
91
+ */
224
92
  function seriesProps(layout, color) {
225
- return {
226
- type: "linear",
227
- stroke: color,
228
- strokeWidth: layout.strokeWidth,
229
- strokeLinejoin: "round",
230
- strokeLinecap: "round",
231
- dot: { r: layout.dotRadius, fill: color, strokeWidth: 0 },
232
- activeDot: {
233
- r: layout.activeDotRadius,
234
- fill: color,
235
- stroke: "var(--color-surface-raised)",
236
- strokeWidth: 2
237
- }
238
- };
93
+ return {
94
+ type: "linear",
95
+ stroke: color,
96
+ strokeWidth: layout.strokeWidth,
97
+ strokeLinejoin: "round",
98
+ strokeLinecap: "round",
99
+ dot: {
100
+ r: layout.dotRadius,
101
+ fill: color,
102
+ strokeWidth: 0
103
+ },
104
+ activeDot: {
105
+ r: layout.activeDotRadius,
106
+ fill: color,
107
+ stroke: "var(--color-surface-raised)",
108
+ strokeWidth: 2
109
+ }
110
+ };
239
111
  }
112
+ /**
113
+ * Resolve the line-chart layout for an explicit or inherited component size. The
114
+ * returned object groups the giddaa defaults by the recharts component they
115
+ * belong to. `line(color)`/`area(color)` return the full series props for a
116
+ * given colour — spread each onto its element, then pass the data-specific props
117
+ * (`config`, `data`, `dataKey`, …) directly afterwards to add or override:
118
+ *
119
+ * const chart = useLineChartLayout(size);
120
+ * <ChartContainer config={config} {...chart.container}>
121
+ * <AreaChart data={data} {...chart.chart}>
122
+ * <XAxis dataKey="month" {...chart.xAxis} />
123
+ * <YAxis {...chart.yAxis} />
124
+ * <Area dataKey="revenue" {...chart.area("var(--color-revenue)")} />
125
+ */
240
126
  function useLineChartLayout(size) {
241
- const inheritedSize = useComponentSize();
242
- const resolved = size ?? inheritedSize;
243
- const layout = LINE_CHART_LAYOUT[resolved] ?? LINE_CHART_LAYOUT.md;
244
- const axes = cartesianAxisProps(layout);
245
- return {
246
- container: {
247
- className: "aspect-auto w-full",
248
- style: { height: layout.height }
249
- },
250
- chart: {
251
- accessibilityLayer: true,
252
- margin: layout.margin
253
- },
254
- xAxis: axes.xAxis,
255
- yAxis: axes.yAxis,
256
- line: (color) => seriesProps(layout, color),
257
- area: (color) => ({
258
- ...seriesProps(layout, color),
259
- fill: color,
260
- fillOpacity: 0.15
261
- })
262
- };
127
+ const inheritedSize = useComponentSize();
128
+ const layout = LINE_CHART_LAYOUT[size ?? inheritedSize] ?? LINE_CHART_LAYOUT.md;
129
+ const axes = cartesianAxisProps(layout);
130
+ return {
131
+ container: {
132
+ className: "aspect-auto w-full",
133
+ style: { height: layout.height }
134
+ },
135
+ chart: {
136
+ accessibilityLayer: true,
137
+ margin: layout.margin
138
+ },
139
+ xAxis: axes.xAxis,
140
+ yAxis: axes.yAxis,
141
+ line: (color) => seriesProps(layout, color),
142
+ area: (color) => ({
143
+ ...seriesProps(layout, color),
144
+ fill: color,
145
+ fillOpacity: .15
146
+ })
147
+ };
263
148
  }
264
- export {
265
- LINE_CHART_LAYOUT,
266
- toComponentSize,
267
- useLineChartLayout
268
- };
269
- //# sourceMappingURL=line-chart.js.map
149
+ //#endregion
150
+ export { LINE_CHART_LAYOUT, toComponentSize, useLineChartLayout };
package/dist/logo.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
-
1
+ import * as React from "react";
2
+ //#region src/logo.d.ts
3
3
  declare function GiddaaLogo(props: React.SVGProps<SVGSVGElement>): React.JSX.Element;
4
4
  declare function GiddaaIcon(props: React.SVGProps<SVGSVGElement>): React.JSX.Element;
5
-
6
- export { GiddaaIcon, GiddaaLogo };
5
+ //#endregion
6
+ export { GiddaaIcon, GiddaaLogo };