@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.
- package/README.md +18 -6
- package/css/base.css +37 -0
- package/css/components.css +135 -0
- package/css/generated/shared.css +1 -0
- package/css/giddaa.css +402 -0
- package/css/preset.css +77 -0
- package/css/styles.css +2 -0
- package/css/theme.css +255 -0
- package/dist/accordion.d.ts +9 -10
- package/dist/accordion.js +41 -117
- package/dist/activity-timeline.d.ts +29 -0
- package/dist/activity-timeline.js +97 -0
- package/dist/alert.d.ts +8 -9
- package/dist/alert.js +53 -141
- package/dist/auth-layout.d.ts +23 -0
- package/dist/auth-layout.js +153 -0
- package/dist/avatar.d.ts +6 -6
- package/dist/avatar.js +40 -142
- package/dist/badge.d.ts +12 -13
- package/dist/badge.js +66 -114
- package/dist/bar-chart.d.ts +136 -114
- package/dist/bar-chart.js +244 -297
- package/dist/breadcrumb.d.ts +5 -5
- package/dist/breadcrumb.js +56 -148
- package/dist/bullet-chart.d.ts +33 -33
- package/dist/bullet-chart.js +123 -183
- package/dist/button-BZIeyUw6.d.ts +17 -0
- package/dist/button-group.d.ts +13 -16
- package/dist/button-group.js +38 -163
- package/dist/button.d.ts +2 -19
- package/dist/button.js +90 -142
- package/dist/calendar.d.ts +6 -6
- package/dist/calendar.js +134 -288
- package/dist/card.d.ts +14 -16
- package/dist/card.js +58 -174
- package/dist/carousel.d.ts +34 -35
- package/dist/carousel.js +319 -378
- package/dist/chart.d.ts +58 -59
- package/dist/chart.js +350 -466
- package/dist/checkbox.d.ts +10 -12
- package/dist/checkbox.js +84 -84
- package/dist/cn-BI_4DMBf.js +23 -0
- package/dist/collapsible.d.ts +7 -8
- package/dist/collapsible.js +23 -77
- package/dist/combobox.d.ts +10 -10
- package/dist/combobox.js +220 -696
- package/dist/cta.d.ts +64 -0
- package/dist/cta.js +192 -0
- package/dist/currency-selector.d.ts +41 -0
- package/dist/currency-selector.js +114 -0
- package/dist/data-table.d.ts +164 -0
- package/dist/data-table.js +673 -0
- package/dist/date-picker.d.ts +27 -20
- package/dist/date-picker.js +122 -520
- package/dist/details-card.d.ts +19 -0
- package/dist/details-card.js +118 -0
- package/dist/dialog.d.ts +13 -14
- package/dist/dialog.js +117 -320
- package/dist/dropdown-menu.d.ts +14 -14
- package/dist/dropdown-menu.js +170 -365
- package/dist/dropzone.d.ts +55 -55
- package/dist/dropzone.js +328 -467
- package/dist/editorial-card.d.ts +27 -0
- package/dist/editorial-card.js +144 -0
- package/dist/empty-state.d.ts +8 -9
- package/dist/empty-state.js +48 -135
- package/dist/field.d.ts +23 -25
- package/dist/field.js +111 -327
- package/dist/filter.d.ts +118 -0
- package/dist/filter.js +775 -0
- package/dist/footer.d.ts +40 -0
- package/dist/footer.js +227 -0
- package/dist/funnel-chart.d.ts +38 -41
- package/dist/funnel-chart.js +168 -563
- package/dist/gallery-indicator.d.ts +17 -0
- package/dist/gallery-indicator.js +75 -0
- package/dist/heatmap-chart.d.ts +95 -0
- package/dist/heatmap-chart.js +197 -0
- package/dist/infotip.d.ts +10 -0
- package/dist/infotip.js +40 -0
- package/dist/input-CfoEJ8A6.d.ts +12 -0
- package/dist/input-group.d.ts +16 -19
- package/dist/input-group.js +92 -372
- package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
- package/dist/input-size-context.d.ts +2 -11
- package/dist/input-size-context.js +14 -20
- package/dist/input.d.ts +2 -13
- package/dist/input.js +23 -79
- package/dist/item.d.ts +7 -8
- package/dist/item.js +22 -89
- package/dist/kpi-card.d.ts +18 -20
- package/dist/kpi-card.js +84 -232
- package/dist/label.d.ts +6 -6
- package/dist/label.js +39 -66
- package/dist/line-chart.d.ts +88 -89
- package/dist/line-chart.js +143 -262
- package/dist/logo.d.ts +4 -4
- package/dist/logo.js +87 -141
- package/dist/map-indicator.d.ts +13 -0
- package/dist/map-indicator.js +83 -0
- package/dist/match.d.ts +15 -0
- package/dist/match.js +68 -0
- package/dist/media-gallery-hero.d.ts +58 -0
- package/dist/media-gallery-hero.js +201 -0
- package/dist/media-player.d.ts +60 -0
- package/dist/media-player.js +919 -0
- package/dist/multi-step-form.d.ts +56 -0
- package/dist/multi-step-form.js +342 -0
- package/dist/number-input.d.ts +34 -34
- package/dist/number-input.js +62 -413
- package/dist/page-header.d.ts +10 -11
- package/dist/page-header.js +34 -107
- package/dist/pagination.d.ts +17 -20
- package/dist/pagination.js +132 -341
- package/dist/password-input.d.ts +5 -12
- package/dist/password-input.js +32 -354
- package/dist/phone-input.d.ts +19 -19
- package/dist/phone-input.js +232 -561
- package/dist/photo-gallery.d.ts +20 -20
- package/dist/photo-gallery.js +314 -746
- package/dist/picker-lzgmsNfG.js +32 -0
- package/dist/pie-chart.d.ts +60 -60
- package/dist/pie-chart.js +141 -184
- package/dist/popover.d.ts +9 -9
- package/dist/popover.js +60 -156
- package/dist/price-tag.d.ts +34 -0
- package/dist/price-tag.js +118 -0
- package/dist/progress.d.ts +18 -16
- package/dist/progress.js +156 -300
- package/dist/property-listing-card.d.ts +29 -0
- package/dist/property-listing-card.js +117 -0
- package/dist/radar-chart.d.ts +108 -0
- package/dist/radar-chart.js +172 -0
- package/dist/radio-group.d.ts +11 -13
- package/dist/radio-group.js +47 -96
- package/dist/review-block.d.ts +18 -0
- package/dist/review-block.js +154 -0
- package/dist/rich-text-editor.d.ts +30 -14
- package/dist/rich-text-editor.js +594 -979
- package/dist/scatter-chart.d.ts +140 -0
- package/dist/scatter-chart.js +248 -0
- package/dist/search-input.d.ts +8 -15
- package/dist/search-input.js +58 -408
- package/dist/select.d.ts +8 -8
- package/dist/select.js +131 -291
- package/dist/separator.d.ts +8 -9
- package/dist/separator.js +31 -70
- package/dist/sheet.d.ts +11 -11
- package/dist/sheet.js +84 -262
- package/dist/sidebar.d.ts +32 -37
- package/dist/sidebar.js +380 -1055
- package/dist/size-context-D4mYvcg8.d.ts +10 -0
- package/dist/size-context.d.ts +2 -11
- package/dist/size-context.js +14 -18
- package/dist/skeleton.d.ts +4 -5
- package/dist/skeleton.js +9 -45
- package/dist/slider.d.ts +27 -0
- package/dist/slider.js +81 -0
- package/dist/sparkline.d.ts +43 -46
- package/dist/sparkline.js +223 -561
- package/dist/stepper.d.ts +23 -24
- package/dist/stepper.js +149 -276
- package/dist/styles.css +9995 -2
- package/dist/switch.d.ts +10 -12
- package/dist/switch.js +49 -106
- package/dist/table-card.d.ts +35 -0
- package/dist/table-card.js +125 -0
- package/dist/table.d.ts +18 -14
- package/dist/table.js +114 -182
- package/dist/tabs.d.ts +23 -15
- package/dist/tabs.js +62 -149
- package/dist/tag.d.ts +22 -23
- package/dist/tag.js +104 -156
- package/dist/testimonial-block.d.ts +33 -0
- package/dist/testimonial-block.js +208 -0
- package/dist/textarea-IS_D8pXf.d.ts +11 -0
- package/dist/textarea.d.ts +2 -12
- package/dist/textarea.js +20 -74
- package/dist/time-picker.d.ts +11 -11
- package/dist/time-picker.js +247 -464
- package/dist/toast.d.ts +16 -18
- package/dist/toast.js +154 -310
- package/dist/tooltip.d.ts +9 -10
- package/dist/tooltip.js +33 -91
- package/dist/tree-map.d.ts +54 -57
- package/dist/tree-map.js +231 -646
- package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
- package/dist/waterfall-chart.d.ts +126 -0
- package/dist/waterfall-chart.js +480 -0
- package/package.json +123 -34
- package/dist/accordion.js.map +0 -1
- package/dist/alert.js.map +0 -1
- package/dist/avatar.js.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/bar-chart.js.map +0 -1
- package/dist/base.css +0 -32
- package/dist/breadcrumb.js.map +0 -1
- package/dist/bullet-chart.js.map +0 -1
- package/dist/button-group.js.map +0 -1
- package/dist/button.js.map +0 -1
- package/dist/calendar.js.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/carousel.js.map +0 -1
- package/dist/chart.js.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/collapsible.js.map +0 -1
- package/dist/combobox.js.map +0 -1
- package/dist/date-picker.js.map +0 -1
- package/dist/dialog.js.map +0 -1
- package/dist/dropdown-menu.js.map +0 -1
- package/dist/dropzone.js.map +0 -1
- package/dist/empty-state.js.map +0 -1
- package/dist/field.js.map +0 -1
- package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
- package/dist/funnel-chart.js.map +0 -1
- package/dist/index.d.ts +0 -87
- package/dist/index.js +0 -10448
- package/dist/index.js.map +0 -1
- package/dist/input-group.js.map +0 -1
- package/dist/input-size-context.js.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/item.js.map +0 -1
- package/dist/kpi-card.js.map +0 -1
- package/dist/label.js.map +0 -1
- package/dist/line-chart.js.map +0 -1
- package/dist/logo.js.map +0 -1
- package/dist/number-input.js.map +0 -1
- package/dist/page-header.js.map +0 -1
- package/dist/pagination.js.map +0 -1
- package/dist/password-input.js.map +0 -1
- package/dist/phone-input.js.map +0 -1
- package/dist/photo-gallery.js.map +0 -1
- package/dist/pie-chart.js.map +0 -1
- package/dist/popover.js.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/red-hat-display.css +0 -2
- package/dist/rich-text-editor.js.map +0 -1
- package/dist/search-input.js.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/separator.js.map +0 -1
- package/dist/sheet.js.map +0 -1
- package/dist/sidebar.js.map +0 -1
- package/dist/size-context.js.map +0 -1
- package/dist/skeleton.js.map +0 -1
- package/dist/sparkline.js.map +0 -1
- package/dist/stepper.js.map +0 -1
- package/dist/switch.js.map +0 -1
- package/dist/tab-list.d.ts +0 -38
- package/dist/tab-list.js +0 -394
- package/dist/tab-list.js.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tag.js.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/theme/giddaa.css +0 -2
- package/dist/time-picker.js.map +0 -1
- package/dist/toast.js.map +0 -1
- package/dist/tooltip.js.map +0 -1
- package/dist/tree-map.js.map +0 -1
package/dist/bar-chart.js
CHANGED
|
@@ -1,302 +1,249 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
classGroups: {
|
|
7
|
-
"font-size": [
|
|
8
|
-
{
|
|
9
|
-
text: [
|
|
10
|
-
"gdt-display",
|
|
11
|
-
"gdt-h1",
|
|
12
|
-
"gdt-h2",
|
|
13
|
-
"gdt-h3",
|
|
14
|
-
"gdt-h4",
|
|
15
|
-
"gdt-h5",
|
|
16
|
-
"gdt-xl",
|
|
17
|
-
"gdt-lg",
|
|
18
|
-
"gdt-md",
|
|
19
|
-
"gdt-sm",
|
|
20
|
-
"gdt-xs",
|
|
21
|
-
"gdt-subtext",
|
|
22
|
-
"gdt-capitalized"
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
function cn(...inputs) {
|
|
30
|
-
return twMerge(clsx(inputs));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// src/components/ui/chart.tsx
|
|
34
|
-
import { cva } from "class-variance-authority";
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as cn } from "./cn-BI_4DMBf.js";
|
|
3
|
+
import { SizeProvider, useComponentSize } from "./size-context.js";
|
|
4
|
+
import { ChartContainer, cartesianAxisProps } from "./chart.js";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
35
6
|
import * as React from "react";
|
|
36
|
-
import
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
7
|
+
import { Bar, BarChart as BarChart$1, CartesianGrid, XAxis, YAxis } from "recharts";
|
|
8
|
+
//#region src/bar-chart.tsx
|
|
9
|
+
/**
|
|
10
|
+
* Bar charts are composable wrappers over the recharts cartesian primitives.
|
|
11
|
+
* recharts 3 registers graphical items through context when they render, so the
|
|
12
|
+
* primitives CAN be wrapped in our own components. Each wrapper bakes in the
|
|
13
|
+
* giddaa defaults (tokens, size-scaled type, mark specs) and forwards every
|
|
14
|
+
* recharts prop, so anything can be overridden in place or replaced with the
|
|
15
|
+
* raw recharts element.
|
|
16
|
+
*
|
|
17
|
+
* Anatomy: `BarChart` is the plot root (frame + responsive box + recharts
|
|
18
|
+
* chart); compose the grid, axes, series, and the shared overlays from
|
|
19
|
+
* `./chart` as children:
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <ChartCard size="md">
|
|
23
|
+
* <ChartHeader>
|
|
24
|
+
* <ChartTitle>Revenue Overview</ChartTitle>
|
|
25
|
+
* <ChartDescription>Monthly revenue - Jan-Jul</ChartDescription>
|
|
26
|
+
* </ChartHeader>
|
|
27
|
+
* <BarChart config={config} data={data}>
|
|
28
|
+
* <BarChartGrid />
|
|
29
|
+
* <BarChartXAxis dataKey="month" />
|
|
30
|
+
* <BarChartYAxis domain={[0, 120]} />
|
|
31
|
+
* <ChartTooltip content={<ChartTooltipContent />} />
|
|
32
|
+
* <BarChartSeries dataKey="revenue" name="Revenue">
|
|
33
|
+
* <LabelList dataKey="revenue" content={<BarValueLabel />} />
|
|
34
|
+
* </BarChartSeries>
|
|
35
|
+
* </BarChart>
|
|
36
|
+
* </ChartCard>
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Categorical series palette - the theme-aware `chart-1`...`chart-3` tokens.
|
|
40
|
+
* Assign colours in this fixed order, never cycled: a fourth series folds into
|
|
41
|
+
* "Other" or becomes a second chart.
|
|
42
|
+
*/
|
|
43
|
+
const BAR_CHART_PALETTE = [
|
|
44
|
+
"var(--color-chart-1)",
|
|
45
|
+
"var(--color-chart-2)",
|
|
46
|
+
"var(--color-chart-3)"
|
|
47
|
+
];
|
|
48
|
+
const DEFAULT_SERIES_COLOR = BAR_CHART_PALETTE[0];
|
|
49
|
+
const BAR_CHART_LAYOUT = {
|
|
50
|
+
sm: {
|
|
51
|
+
height: 180,
|
|
52
|
+
margin: {
|
|
53
|
+
top: 20,
|
|
54
|
+
right: 8,
|
|
55
|
+
bottom: 0,
|
|
56
|
+
left: 0
|
|
57
|
+
},
|
|
58
|
+
maxBarSize: 22,
|
|
59
|
+
barCategoryGap: "8%",
|
|
60
|
+
barGap: 4,
|
|
61
|
+
barRadius: 4,
|
|
62
|
+
tickFontSize: 10,
|
|
63
|
+
valueFontSize: 10,
|
|
64
|
+
yAxisWidth: 28,
|
|
65
|
+
tickMargin: 6
|
|
66
|
+
},
|
|
67
|
+
md: {
|
|
68
|
+
height: 220,
|
|
69
|
+
margin: {
|
|
70
|
+
top: 24,
|
|
71
|
+
right: 12,
|
|
72
|
+
bottom: 0,
|
|
73
|
+
left: 0
|
|
74
|
+
},
|
|
75
|
+
maxBarSize: 28,
|
|
76
|
+
barCategoryGap: "8%",
|
|
77
|
+
barGap: 6,
|
|
78
|
+
barRadius: 6,
|
|
79
|
+
tickFontSize: 11,
|
|
80
|
+
valueFontSize: 11,
|
|
81
|
+
yAxisWidth: 32,
|
|
82
|
+
tickMargin: 8
|
|
83
|
+
},
|
|
84
|
+
lg: {
|
|
85
|
+
height: 280,
|
|
86
|
+
margin: {
|
|
87
|
+
top: 28,
|
|
88
|
+
right: 16,
|
|
89
|
+
bottom: 0,
|
|
90
|
+
left: 0
|
|
91
|
+
},
|
|
92
|
+
maxBarSize: 36,
|
|
93
|
+
barCategoryGap: "8%",
|
|
94
|
+
barGap: 8,
|
|
95
|
+
barRadius: 8,
|
|
96
|
+
tickFontSize: 12,
|
|
97
|
+
valueFontSize: 12,
|
|
98
|
+
yAxisWidth: 36,
|
|
99
|
+
tickMargin: 10
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const BarChartContext = React.createContext(null);
|
|
103
|
+
function useBarChartOrientation(orientation) {
|
|
104
|
+
const context = React.useContext(BarChartContext);
|
|
105
|
+
return orientation ?? context?.orientation ?? "vertical";
|
|
45
106
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
);
|
|
63
|
-
var chartTitleVariants = cva("min-w-0 font-bold text-fg-primary", {
|
|
64
|
-
variants: {
|
|
65
|
-
size: {
|
|
66
|
-
sm: "text-gdt-md",
|
|
67
|
-
md: "text-gdt-lg",
|
|
68
|
-
lg: "text-gdt-h5"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
defaultVariants: { size: "md" }
|
|
72
|
-
});
|
|
73
|
-
var chartDescriptionVariants = cva("min-w-0 font-normal text-fg-secondary", {
|
|
74
|
-
variants: {
|
|
75
|
-
size: {
|
|
76
|
-
sm: "text-gdt-xs",
|
|
77
|
-
md: "text-gdt-sm",
|
|
78
|
-
lg: "text-gdt-sm"
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
defaultVariants: { size: "md" }
|
|
82
|
-
});
|
|
83
|
-
var chartTooltipVariants = cva(
|
|
84
|
-
"flex flex-col bg-surface-overlay border border-line-subtle shadow-2",
|
|
85
|
-
{
|
|
86
|
-
variants: {
|
|
87
|
-
size: {
|
|
88
|
-
xs: "gap-0.5 rounded-md p-2",
|
|
89
|
-
sm: "gap-0.5 rounded-md p-2.5",
|
|
90
|
-
md: "gap-1 rounded-lg p-3",
|
|
91
|
-
lg: "gap-1 rounded-xl p-3.5"
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
defaultVariants: {
|
|
95
|
-
size: "md"
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
var chartTooltipDotVariants = cva("shrink-0 rounded-full", {
|
|
100
|
-
variants: {
|
|
101
|
-
size: {
|
|
102
|
-
xs: "size-1.5",
|
|
103
|
-
sm: "size-2",
|
|
104
|
-
md: "size-2.5",
|
|
105
|
-
lg: "size-2.5"
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
defaultVariants: {
|
|
109
|
-
size: "md"
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
var chartTooltipLabelVariants = cva("font-medium text-fg-secondary", {
|
|
113
|
-
variants: {
|
|
114
|
-
size: {
|
|
115
|
-
xs: "text-gdt-xs",
|
|
116
|
-
sm: "text-gdt-xs",
|
|
117
|
-
md: "text-gdt-sm",
|
|
118
|
-
lg: "text-gdt-sm"
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
defaultVariants: { size: "md" }
|
|
122
|
-
});
|
|
123
|
-
var chartTooltipValueVariants = cva(
|
|
124
|
-
"font-extrabold text-fg-primary tabular-nums",
|
|
125
|
-
{
|
|
126
|
-
variants: {
|
|
127
|
-
size: {
|
|
128
|
-
xs: "text-gdt-sm",
|
|
129
|
-
sm: "text-gdt-md",
|
|
130
|
-
md: "text-gdt-lg",
|
|
131
|
-
lg: "text-gdt-xl"
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
defaultVariants: { size: "md" }
|
|
135
|
-
}
|
|
136
|
-
);
|
|
137
|
-
var chartLegendItemVariants = cva(
|
|
138
|
-
"group/legend-item flex items-center rounded-md leading-none text-fg-primary transition-colors [&>svg]:shrink-0",
|
|
139
|
-
{
|
|
140
|
-
variants: {
|
|
141
|
-
size: {
|
|
142
|
-
sm: "gap-1.5 px-2 py-1 text-gdt-xs [&>svg]:size-3",
|
|
143
|
-
md: "gap-2 px-2.5 py-1.5 text-gdt-sm [&>svg]:size-3.5"
|
|
144
|
-
},
|
|
145
|
-
interactive: {
|
|
146
|
-
true: "cursor-pointer outline-none hover:bg-surface-raised focus-visible:bg-surface-raised",
|
|
147
|
-
false: ""
|
|
148
|
-
},
|
|
149
|
-
inactive: {
|
|
150
|
-
true: "text-fg-caption-placeholder line-through",
|
|
151
|
-
false: ""
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
defaultVariants: {
|
|
155
|
-
size: "md",
|
|
156
|
-
interactive: false,
|
|
157
|
-
inactive: false
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
);
|
|
161
|
-
var chartLegendMarkerSizeVariants = cva("shrink-0", {
|
|
162
|
-
variants: {
|
|
163
|
-
marker: {
|
|
164
|
-
dot: "rounded-full",
|
|
165
|
-
square: "rounded-[2px]",
|
|
166
|
-
line: "rounded-full"
|
|
167
|
-
},
|
|
168
|
-
size: {
|
|
169
|
-
sm: "",
|
|
170
|
-
md: ""
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
compoundVariants: [
|
|
174
|
-
{ marker: ["dot", "square"], size: "sm", className: "size-2" },
|
|
175
|
-
{ marker: ["dot", "square"], size: "md", className: "size-2.5" },
|
|
176
|
-
{ marker: "line", size: "sm", className: "h-[3px] w-3" },
|
|
177
|
-
{ marker: "line", size: "md", className: "h-[3px] w-3.5" }
|
|
178
|
-
],
|
|
179
|
-
defaultVariants: { marker: "dot", size: "md" }
|
|
180
|
-
});
|
|
181
|
-
function cartesianAxisProps(layout) {
|
|
182
|
-
const tick = { fontSize: layout.tickFontSize };
|
|
183
|
-
return {
|
|
184
|
-
xAxis: {
|
|
185
|
-
tickLine: false,
|
|
186
|
-
axisLine: false,
|
|
187
|
-
tickMargin: layout.tickMargin,
|
|
188
|
-
tick
|
|
189
|
-
},
|
|
190
|
-
yAxis: {
|
|
191
|
-
tickLine: false,
|
|
192
|
-
axisLine: false,
|
|
193
|
-
width: layout.yAxisWidth,
|
|
194
|
-
tick
|
|
195
|
-
}
|
|
196
|
-
};
|
|
107
|
+
function barChartAxisProps(layout) {
|
|
108
|
+
const axes = cartesianAxisProps(layout);
|
|
109
|
+
const tick = {
|
|
110
|
+
...axes.xAxis.tick,
|
|
111
|
+
fill: "var(--color-fg-caption-placeholder)"
|
|
112
|
+
};
|
|
113
|
+
return {
|
|
114
|
+
xAxis: {
|
|
115
|
+
...axes.xAxis,
|
|
116
|
+
tick
|
|
117
|
+
},
|
|
118
|
+
yAxis: {
|
|
119
|
+
...axes.yAxis,
|
|
120
|
+
tick
|
|
121
|
+
}
|
|
122
|
+
};
|
|
197
123
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
maxBarSize: 36,
|
|
230
|
-
barCategoryGap: "8%",
|
|
231
|
-
barGap: 8,
|
|
232
|
-
barRadius: 8,
|
|
233
|
-
tickFontSize: 12,
|
|
234
|
-
valueFontSize: 12,
|
|
235
|
-
yAxisWidth: 36,
|
|
236
|
-
tickMargin: 10
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
|
-
function useBarChartLayout(size) {
|
|
240
|
-
const layout = BAR_CHART_LAYOUT[useComponentSize(size)];
|
|
241
|
-
const axes = cartesianAxisProps(layout);
|
|
242
|
-
return {
|
|
243
|
-
container: {
|
|
244
|
-
className: "aspect-auto w-full",
|
|
245
|
-
style: { height: layout.height }
|
|
246
|
-
},
|
|
247
|
-
chart: {
|
|
248
|
-
accessibilityLayer: true,
|
|
249
|
-
margin: layout.margin,
|
|
250
|
-
barCategoryGap: layout.barCategoryGap,
|
|
251
|
-
barGap: layout.barGap
|
|
252
|
-
},
|
|
253
|
-
xAxis: axes.xAxis,
|
|
254
|
-
yAxis: axes.yAxis,
|
|
255
|
-
bar: {
|
|
256
|
-
radius: [layout.barRadius, layout.barRadius, 0, 0],
|
|
257
|
-
maxBarSize: layout.maxBarSize
|
|
258
|
-
}
|
|
259
|
-
};
|
|
124
|
+
/**
|
|
125
|
+
* Plot root - wraps the shared `ChartContainer` (tooltip/legend theming,
|
|
126
|
+
* responsive box) around the recharts `BarChart` with size-scaled height,
|
|
127
|
+
* margin, and bar gaps. `size` also flows to the child primitives through
|
|
128
|
+
* `SizeProvider`. Extra props reach the recharts chart (`data`, `syncId`,
|
|
129
|
+
* `layout`, ...); passing `layout` directly overrides `orientation`.
|
|
130
|
+
*/
|
|
131
|
+
function BarChart({ config = {}, size, className, children, orientation = "vertical", layout, ...props }) {
|
|
132
|
+
const resolvedSize = useComponentSize(size);
|
|
133
|
+
const chartLayout = BAR_CHART_LAYOUT[resolvedSize];
|
|
134
|
+
const rechartsLayout = layout ?? (orientation === "horizontal" ? "vertical" : "horizontal");
|
|
135
|
+
return /* @__PURE__ */ jsx(SizeProvider, {
|
|
136
|
+
size: resolvedSize,
|
|
137
|
+
children: /* @__PURE__ */ jsx(BarChartContext.Provider, {
|
|
138
|
+
value: { orientation },
|
|
139
|
+
children: /* @__PURE__ */ jsx(ChartContainer, {
|
|
140
|
+
config,
|
|
141
|
+
className: cn("aspect-auto w-full", className),
|
|
142
|
+
style: { height: chartLayout.height },
|
|
143
|
+
children: /* @__PURE__ */ jsx(BarChart$1, {
|
|
144
|
+
accessibilityLayer: true,
|
|
145
|
+
margin: chartLayout.margin,
|
|
146
|
+
barCategoryGap: chartLayout.barCategoryGap,
|
|
147
|
+
barGap: chartLayout.barGap,
|
|
148
|
+
layout: rechartsLayout,
|
|
149
|
+
...props,
|
|
150
|
+
children
|
|
151
|
+
})
|
|
152
|
+
})
|
|
153
|
+
})
|
|
154
|
+
});
|
|
260
155
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
if (value == null || x == null || y == null || width == null) {
|
|
274
|
-
return null;
|
|
275
|
-
}
|
|
276
|
-
const numX = Number(x);
|
|
277
|
-
const numY = Number(y);
|
|
278
|
-
const numWidth = Number(width);
|
|
279
|
-
const numHeight = Number(height ?? 0);
|
|
280
|
-
const gap = 6;
|
|
281
|
-
const isHorizontal = orientation === "horizontal";
|
|
282
|
-
const labelX = isHorizontal ? numX + numWidth + gap : numX + numWidth / 2;
|
|
283
|
-
const labelY = isHorizontal ? numY + numHeight / 2 : numY - gap;
|
|
284
|
-
return /* @__PURE__ */ jsx3(
|
|
285
|
-
"text",
|
|
286
|
-
{
|
|
287
|
-
x: labelX,
|
|
288
|
-
y: labelY,
|
|
289
|
-
textAnchor: isHorizontal ? "start" : "middle",
|
|
290
|
-
dominantBaseline: isHorizontal ? "central" : "auto",
|
|
291
|
-
className: cn("fill-fg-primary font-semibold tabular-nums", className),
|
|
292
|
-
style: { fontSize: fontSize ?? valueFontSize },
|
|
293
|
-
children: formatter ? formatter(value) : value
|
|
294
|
-
}
|
|
295
|
-
);
|
|
156
|
+
/**
|
|
157
|
+
* Value reference lines - recharts `CartesianGrid` with vertical lines hidden
|
|
158
|
+
* and the visible grid painted with the `line` token (`line-subtle` matches the
|
|
159
|
+
* chart card surface in both themes, so it would vanish). For horizontal bar
|
|
160
|
+
* charts, pass `horizontal={false} vertical`.
|
|
161
|
+
*/
|
|
162
|
+
function BarChartGrid(props) {
|
|
163
|
+
return /* @__PURE__ */ jsx(CartesianGrid, {
|
|
164
|
+
vertical: false,
|
|
165
|
+
stroke: "var(--color-line)",
|
|
166
|
+
...props
|
|
167
|
+
});
|
|
296
168
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
169
|
+
/**
|
|
170
|
+
* Category/value axis - recharts `XAxis` with no axis/tick lines,
|
|
171
|
+
* size-scaled tick margin, and caption-placeholder tick ink. Passing your own
|
|
172
|
+
* `tick` replaces the default styling entirely.
|
|
173
|
+
*/
|
|
174
|
+
function BarChartXAxis({ size, tick, ...props }) {
|
|
175
|
+
const layout = BAR_CHART_LAYOUT[useComponentSize(size)];
|
|
176
|
+
const axes = barChartAxisProps(layout);
|
|
177
|
+
return /* @__PURE__ */ jsx(XAxis, {
|
|
178
|
+
tickLine: axes.xAxis.tickLine,
|
|
179
|
+
axisLine: axes.xAxis.axisLine,
|
|
180
|
+
tickMargin: axes.xAxis.tickMargin,
|
|
181
|
+
tick: tick ?? axes.xAxis.tick,
|
|
182
|
+
...props
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Value/category axis - recharts `YAxis` with no axis/tick lines,
|
|
187
|
+
* size-scaled tick type, and reserved width for value labels. Override `width`
|
|
188
|
+
* for long horizontal-category labels.
|
|
189
|
+
*/
|
|
190
|
+
function BarChartYAxis({ size, tick, ...props }) {
|
|
191
|
+
const layout = BAR_CHART_LAYOUT[useComponentSize(size)];
|
|
192
|
+
const axes = barChartAxisProps(layout);
|
|
193
|
+
return /* @__PURE__ */ jsx(YAxis, {
|
|
194
|
+
tickLine: axes.yAxis.tickLine,
|
|
195
|
+
axisLine: axes.yAxis.axisLine,
|
|
196
|
+
width: axes.yAxis.width,
|
|
197
|
+
tick: tick ?? axes.yAxis.tick,
|
|
198
|
+
...props
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* One data series - recharts `Bar` with the giddaa mark spec: a theme-aware
|
|
203
|
+
* series colour, size-scaled max thickness, and a small radius only on the
|
|
204
|
+
* leading edge (top for vertical bars, right for horizontal bars). `color`
|
|
205
|
+
* drives `fill`; `fill`, `radius`, and `maxBarSize` still win when passed
|
|
206
|
+
* directly.
|
|
207
|
+
*/
|
|
208
|
+
function BarChartSeries({ color = DEFAULT_SERIES_COLOR, size, orientation, ...props }) {
|
|
209
|
+
const layout = BAR_CHART_LAYOUT[useComponentSize(size)];
|
|
210
|
+
return /* @__PURE__ */ jsx(Bar, {
|
|
211
|
+
fill: color,
|
|
212
|
+
radius: useBarChartOrientation(orientation) === "horizontal" ? [
|
|
213
|
+
0,
|
|
214
|
+
layout.barRadius,
|
|
215
|
+
layout.barRadius,
|
|
216
|
+
0
|
|
217
|
+
] : [
|
|
218
|
+
layout.barRadius,
|
|
219
|
+
layout.barRadius,
|
|
220
|
+
0,
|
|
221
|
+
0
|
|
222
|
+
],
|
|
223
|
+
maxBarSize: layout.maxBarSize,
|
|
224
|
+
...props
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
function BarValueLabel({ orientation, fontSize, formatter, size, className, x, y, width, height, value }) {
|
|
228
|
+
const resolvedOrientation = useBarChartOrientation(orientation);
|
|
229
|
+
const valueFontSize = BAR_CHART_LAYOUT[useComponentSize(size)].valueFontSize;
|
|
230
|
+
if (value == null || x == null || y == null || width == null) return null;
|
|
231
|
+
const numX = Number(x);
|
|
232
|
+
const numY = Number(y);
|
|
233
|
+
const numWidth = Number(width);
|
|
234
|
+
const numHeight = Number(height ?? 0);
|
|
235
|
+
const gap = 6;
|
|
236
|
+
if (!Number.isFinite(numX) || !Number.isFinite(numY) || !Number.isFinite(numWidth) || !Number.isFinite(numHeight)) return null;
|
|
237
|
+
const isHorizontal = resolvedOrientation === "horizontal";
|
|
238
|
+
return /* @__PURE__ */ jsx("text", {
|
|
239
|
+
x: isHorizontal ? numX + numWidth + gap : numX + numWidth / 2,
|
|
240
|
+
y: isHorizontal ? numY + numHeight / 2 : numY - gap,
|
|
241
|
+
textAnchor: isHorizontal ? "start" : "middle",
|
|
242
|
+
dominantBaseline: isHorizontal ? "central" : "auto",
|
|
243
|
+
className: cn("fill-fg-primary font-semibold tabular-nums", className),
|
|
244
|
+
style: { fontSize: fontSize ?? valueFontSize },
|
|
245
|
+
children: formatter ? formatter(value) : value
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
249
|
+
export { BAR_CHART_LAYOUT, BAR_CHART_PALETTE, BarChart, BarChartGrid, BarChartSeries, BarChartXAxis, BarChartYAxis, BarValueLabel };
|
package/dist/breadcrumb.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useRender } from
|
|
2
|
-
import * as React from
|
|
3
|
-
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
//#region src/breadcrumb.d.ts
|
|
4
4
|
declare function Breadcrumb({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
|
|
5
5
|
declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): React.JSX.Element;
|
|
6
6
|
declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
@@ -8,5 +8,5 @@ declare function BreadcrumbLink({ className, render, ...props }: useRender.Compo
|
|
|
8
8
|
declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
9
9
|
declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
10
10
|
declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
11
|
-
|
|
12
|
-
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
|