@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/badge.js
CHANGED
|
@@ -1,119 +1,71 @@
|
|
|
1
|
-
|
|
1
|
+
import { t as cn } from "./cn-BI_4DMBf.js";
|
|
2
|
+
import { useComponentSize } from "./size-context.js";
|
|
2
3
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
4
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
5
|
import { cva } from "class-variance-authority";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
6
|
+
//#region src/badge.tsx
|
|
7
|
+
const badgeVariants = cva("group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden border font-bold leading-none whitespace-nowrap transition-[background-color,border-color,color,box-shadow] outline-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] aria-invalid:border-line-danger aria-invalid:text-fg-danger [&>svg]:pointer-events-none [&>svg]:shrink-0 [&>svg]:text-current", {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: "border-line bg-surface-raised text-fg-secondary",
|
|
11
|
+
accent: "border-transparent bg-surface-accent text-fg-on-accent",
|
|
12
|
+
info: "border-status-info/40 bg-surface-info-subtle text-status-info",
|
|
13
|
+
success: "border-status-success/40 bg-surface-brand-subtle text-status-success",
|
|
14
|
+
warning: "border-status-warning/40 bg-surface-accent-subtle text-status-warning",
|
|
15
|
+
danger: "border-line-danger bg-surface-danger-subtle text-status-danger",
|
|
16
|
+
secondary: "border-status-info/40 bg-surface-info-subtle text-status-info",
|
|
17
|
+
destructive: "border-line-danger bg-surface-danger-subtle text-status-danger",
|
|
18
|
+
outline: "border-line bg-transparent text-fg-secondary"
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: "min-h-7 min-w-7 gap-1 px-2.5 py-1 text-gdt-xs [&>svg]:size-3",
|
|
22
|
+
md: "min-h-9 min-w-9 gap-1.5 px-3 py-1.5 text-gdt-sm [&>svg]:size-3.5",
|
|
23
|
+
lg: "min-h-10.5 min-w-10.5 gap-2 px-4 py-2 text-gdt-md [&>svg]:size-4"
|
|
24
|
+
},
|
|
25
|
+
shape: {
|
|
26
|
+
round: "rounded-4xl",
|
|
27
|
+
box: "rounded-lg"
|
|
28
|
+
},
|
|
29
|
+
border: {
|
|
30
|
+
true: "",
|
|
31
|
+
false: "border-transparent"
|
|
32
|
+
},
|
|
33
|
+
iconOnly: {
|
|
34
|
+
true: "py-0 px-0",
|
|
35
|
+
false: ""
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
variant: "default",
|
|
40
|
+
size: "md",
|
|
41
|
+
shape: "round",
|
|
42
|
+
border: true
|
|
43
|
+
}
|
|
33
44
|
});
|
|
34
|
-
function
|
|
35
|
-
|
|
45
|
+
function Badge({ className, variant = "default", size, shape = "round", border = true, iconOnly = false, render, children, ...props }) {
|
|
46
|
+
const resolvedSize = useComponentSize(size);
|
|
47
|
+
return useRender({
|
|
48
|
+
defaultTagName: "span",
|
|
49
|
+
props: mergeProps({
|
|
50
|
+
className: cn(badgeVariants({
|
|
51
|
+
variant,
|
|
52
|
+
size: resolvedSize,
|
|
53
|
+
shape,
|
|
54
|
+
border,
|
|
55
|
+
iconOnly
|
|
56
|
+
}), className),
|
|
57
|
+
children
|
|
58
|
+
}, props),
|
|
59
|
+
render,
|
|
60
|
+
state: {
|
|
61
|
+
slot: "badge",
|
|
62
|
+
variant,
|
|
63
|
+
size: resolvedSize,
|
|
64
|
+
shape,
|
|
65
|
+
border,
|
|
66
|
+
iconOnly
|
|
67
|
+
}
|
|
68
|
+
});
|
|
36
69
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
import { createContext, useContext } from "react";
|
|
40
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
41
|
-
var SizeContext = createContext(void 0);
|
|
42
|
-
function useComponentSize(size, fallback = "md") {
|
|
43
|
-
const inheritedSize = useContext(SizeContext);
|
|
44
|
-
return size ?? inheritedSize ?? fallback;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// src/components/ui/badge.tsx
|
|
48
|
-
var badgeVariants = cva(
|
|
49
|
-
"group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden border font-bold leading-none whitespace-nowrap transition-[background-color,border-color,color,box-shadow] outline-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] aria-invalid:border-line-danger aria-invalid:text-fg-danger [&>svg]:pointer-events-none [&>svg]:shrink-0 [&>svg]:text-current",
|
|
50
|
-
{
|
|
51
|
-
variants: {
|
|
52
|
-
variant: {
|
|
53
|
-
default: "border-line bg-surface-raised text-fg-secondary",
|
|
54
|
-
info: "border-status-info/40 bg-surface-info-subtle text-status-info",
|
|
55
|
-
success: "border-status-success/40 bg-surface-brand-subtle text-status-success",
|
|
56
|
-
warning: "border-status-warning/40 bg-surface-accent-subtle text-status-warning",
|
|
57
|
-
danger: "border-line-danger bg-surface-danger-subtle text-status-danger",
|
|
58
|
-
secondary: "border-status-info/40 bg-surface-info-subtle text-status-info",
|
|
59
|
-
destructive: "border-line-danger bg-surface-danger-subtle text-status-danger",
|
|
60
|
-
outline: "border-line bg-transparent text-fg-secondary"
|
|
61
|
-
},
|
|
62
|
-
size: {
|
|
63
|
-
sm: "gap-1 px-2.5 py-1 text-gdt-xs has-data-[icon=inline-start]:pl-2 has-data-[icon=inline-end]:pr-2 [&>svg]:size-3",
|
|
64
|
-
md: "gap-1.5 px-3 py-1.5 text-gdt-sm has-data-[icon=inline-start]:pl-2.5 has-data-[icon=inline-end]:pr-2.5 [&>svg]:size-3.5",
|
|
65
|
-
lg: "gap-2 px-4 py-2 text-gdt-md has-data-[icon=inline-start]:pl-3.5 has-data-[icon=inline-end]:pr-3.5 [&>svg]:size-4"
|
|
66
|
-
},
|
|
67
|
-
shape: {
|
|
68
|
-
round: "rounded-4xl",
|
|
69
|
-
box: "rounded-lg"
|
|
70
|
-
},
|
|
71
|
-
border: {
|
|
72
|
-
true: "",
|
|
73
|
-
false: "border-transparent"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
defaultVariants: {
|
|
77
|
-
variant: "default",
|
|
78
|
-
size: "md",
|
|
79
|
-
shape: "round",
|
|
80
|
-
border: true
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
);
|
|
84
|
-
function Badge({
|
|
85
|
-
className,
|
|
86
|
-
variant = "default",
|
|
87
|
-
size,
|
|
88
|
-
shape = "round",
|
|
89
|
-
border = true,
|
|
90
|
-
render,
|
|
91
|
-
...props
|
|
92
|
-
}) {
|
|
93
|
-
const resolvedSize = useComponentSize(size);
|
|
94
|
-
return useRender({
|
|
95
|
-
defaultTagName: "span",
|
|
96
|
-
props: mergeProps(
|
|
97
|
-
{
|
|
98
|
-
className: cn(
|
|
99
|
-
badgeVariants({ variant, size: resolvedSize, shape, border }),
|
|
100
|
-
className
|
|
101
|
-
)
|
|
102
|
-
},
|
|
103
|
-
props
|
|
104
|
-
),
|
|
105
|
-
render,
|
|
106
|
-
state: {
|
|
107
|
-
slot: "badge",
|
|
108
|
-
variant,
|
|
109
|
-
size: resolvedSize,
|
|
110
|
-
shape,
|
|
111
|
-
border
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
export {
|
|
116
|
-
Badge,
|
|
117
|
-
badgeVariants
|
|
118
|
-
};
|
|
119
|
-
//# sourceMappingURL=badge.js.map
|
|
70
|
+
//#endregion
|
|
71
|
+
export { Badge, badgeVariants };
|
package/dist/bar-chart.d.ts
CHANGED
|
@@ -1,136 +1,158 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { t as ComponentSize } from "./size-context-D4mYvcg8.js";
|
|
2
|
+
import { ChartConfig } from "./chart.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Bar, BarChart as BarChart$1, CartesianGrid, XAxis, YAxis } from "recharts";
|
|
5
|
+
//#region src/bar-chart.d.ts
|
|
4
6
|
/**
|
|
5
|
-
* Bar charts are
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* Bar charts are composable wrappers over the recharts cartesian primitives.
|
|
8
|
+
* recharts 3 registers graphical items through context when they render, so the
|
|
9
|
+
* primitives CAN be wrapped in our own components. Each wrapper bakes in the
|
|
10
|
+
* giddaa defaults (tokens, size-scaled type, mark specs) and forwards every
|
|
11
|
+
* recharts prop, so anything can be overridden in place or replaced with the
|
|
12
|
+
* raw recharts element.
|
|
13
|
+
*
|
|
14
|
+
* Anatomy: `BarChart` is the plot root (frame + responsive box + recharts
|
|
15
|
+
* chart); compose the grid, axes, series, and the shared overlays from
|
|
16
|
+
* `./chart` as children:
|
|
11
17
|
*
|
|
12
18
|
* @example
|
|
13
|
-
* const chart = useBarChartLayout();
|
|
14
19
|
* <ChartCard size="md">
|
|
15
20
|
* <ChartHeader>
|
|
16
21
|
* <ChartTitle>Revenue Overview</ChartTitle>
|
|
17
|
-
* <ChartDescription>Monthly revenue
|
|
22
|
+
* <ChartDescription>Monthly revenue - Jan-Jul</ChartDescription>
|
|
18
23
|
* </ChartHeader>
|
|
19
|
-
* <
|
|
20
|
-
* <
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* <
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* </Bar>
|
|
29
|
-
* </BarChart>
|
|
30
|
-
* </ChartContainer>
|
|
24
|
+
* <BarChart config={config} data={data}>
|
|
25
|
+
* <BarChartGrid />
|
|
26
|
+
* <BarChartXAxis dataKey="month" />
|
|
27
|
+
* <BarChartYAxis domain={[0, 120]} />
|
|
28
|
+
* <ChartTooltip content={<ChartTooltipContent />} />
|
|
29
|
+
* <BarChartSeries dataKey="revenue" name="Revenue">
|
|
30
|
+
* <LabelList dataKey="revenue" content={<BarValueLabel />} />
|
|
31
|
+
* </BarChartSeries>
|
|
32
|
+
* </BarChart>
|
|
31
33
|
* </ChartCard>
|
|
32
34
|
*/
|
|
35
|
+
/**
|
|
36
|
+
* Categorical series palette - the theme-aware `chart-1`...`chart-3` tokens.
|
|
37
|
+
* Assign colours in this fixed order, never cycled: a fourth series folds into
|
|
38
|
+
* "Other" or becomes a second chart.
|
|
39
|
+
*/
|
|
40
|
+
declare const BAR_CHART_PALETTE: readonly ["var(--color-chart-1)", "var(--color-chart-2)", "var(--color-chart-3)"];
|
|
41
|
+
type BarChartOrientation = "vertical" | "horizontal";
|
|
33
42
|
type BarChartLayout = {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
43
|
+
/** Plot height in px. Width stays fluid via the ResponsiveContainer. */
|
|
44
|
+
height: number;
|
|
45
|
+
/** Outer margin - top leaves room for value labels above the tallest bar. */
|
|
46
|
+
margin: {
|
|
47
|
+
top: number;
|
|
48
|
+
right: number;
|
|
49
|
+
bottom: number;
|
|
50
|
+
left: number;
|
|
51
|
+
};
|
|
52
|
+
/** Cap on bar thickness so a few categories don't render slab-wide bars. */
|
|
53
|
+
maxBarSize: number;
|
|
54
|
+
/** Gap between categories (groups), as a percentage of the band. */
|
|
55
|
+
barCategoryGap: string;
|
|
56
|
+
/** Gap between bars within a group (grouped layout). */
|
|
57
|
+
barGap: number;
|
|
58
|
+
/** Corner radius for a bar. */
|
|
59
|
+
barRadius: number;
|
|
60
|
+
/** Axis tick label font size. */
|
|
61
|
+
tickFontSize: number;
|
|
62
|
+
/** Value label (on-bar number) font size. */
|
|
63
|
+
valueFontSize: number;
|
|
64
|
+
/** Reserved width for the value axis. */
|
|
65
|
+
yAxisWidth: number;
|
|
66
|
+
/** Space between an axis and its tick labels. */
|
|
67
|
+
tickMargin: number;
|
|
59
68
|
};
|
|
60
69
|
declare const BAR_CHART_LAYOUT: Record<ComponentSize, BarChartLayout>;
|
|
70
|
+
type BarChartProps = Omit<React.ComponentProps<typeof BarChart$1>, "width" | "height"> & {
|
|
71
|
+
/** Series labels/icons for the shared tooltip and legend (see `ChartConfig`). */
|
|
72
|
+
config?: ChartConfig;
|
|
73
|
+
/** Plot scale; inherited from the nearest `SizeProvider` when omitted. */
|
|
74
|
+
size?: ComponentSize;
|
|
75
|
+
/** Applied to the responsive plot box, e.g. to override its height. */
|
|
76
|
+
className?: string;
|
|
77
|
+
/** Visual bar direction. `horizontal` maps to recharts `layout="vertical"`. */
|
|
78
|
+
orientation?: BarChartOrientation;
|
|
79
|
+
};
|
|
61
80
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
81
|
+
* Plot root - wraps the shared `ChartContainer` (tooltip/legend theming,
|
|
82
|
+
* responsive box) around the recharts `BarChart` with size-scaled height,
|
|
83
|
+
* margin, and bar gaps. `size` also flows to the child primitives through
|
|
84
|
+
* `SizeProvider`. Extra props reach the recharts chart (`data`, `syncId`,
|
|
85
|
+
* `layout`, ...); passing `layout` directly overrides `orientation`.
|
|
86
|
+
*/
|
|
87
|
+
declare function BarChart({ config, size, className, children, orientation, layout, ...props }: BarChartProps): React.JSX.Element;
|
|
88
|
+
type BarChartGridProps = React.ComponentProps<typeof CartesianGrid>;
|
|
89
|
+
/**
|
|
90
|
+
* Value reference lines - recharts `CartesianGrid` with vertical lines hidden
|
|
91
|
+
* and the visible grid painted with the `line` token (`line-subtle` matches the
|
|
92
|
+
* chart card surface in both themes, so it would vanish). For horizontal bar
|
|
93
|
+
* charts, pass `horizontal={false} vertical`.
|
|
74
94
|
*/
|
|
75
|
-
declare function
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
height: number;
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
chart: {
|
|
83
|
-
accessibilityLayer: boolean;
|
|
84
|
-
margin: {
|
|
85
|
-
top: number;
|
|
86
|
-
right: number;
|
|
87
|
-
bottom: number;
|
|
88
|
-
left: number;
|
|
89
|
-
};
|
|
90
|
-
barCategoryGap: string;
|
|
91
|
-
barGap: number;
|
|
92
|
-
};
|
|
93
|
-
xAxis: {
|
|
94
|
-
readonly tickLine: false;
|
|
95
|
-
readonly axisLine: false;
|
|
96
|
-
readonly tickMargin: number;
|
|
97
|
-
readonly tick: {
|
|
98
|
-
fontSize: number;
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
yAxis: {
|
|
102
|
-
readonly tickLine: false;
|
|
103
|
-
readonly axisLine: false;
|
|
104
|
-
readonly width: number;
|
|
105
|
-
readonly tick: {
|
|
106
|
-
fontSize: number;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
bar: {
|
|
110
|
-
radius: [number, number, number, number];
|
|
111
|
-
maxBarSize: number;
|
|
112
|
-
};
|
|
95
|
+
declare function BarChartGrid(props: BarChartGridProps): React.JSX.Element;
|
|
96
|
+
type BarChartXAxisProps = React.ComponentProps<typeof XAxis> & {
|
|
97
|
+
/** Explicit axis scale; otherwise inherited from the chart's `size`. */
|
|
98
|
+
size?: ComponentSize;
|
|
113
99
|
};
|
|
100
|
+
/**
|
|
101
|
+
* Category/value axis - recharts `XAxis` with no axis/tick lines,
|
|
102
|
+
* size-scaled tick margin, and caption-placeholder tick ink. Passing your own
|
|
103
|
+
* `tick` replaces the default styling entirely.
|
|
104
|
+
*/
|
|
105
|
+
declare function BarChartXAxis({ size, tick, ...props }: BarChartXAxisProps): React.JSX.Element;
|
|
106
|
+
type BarChartYAxisProps = React.ComponentProps<typeof YAxis> & {
|
|
107
|
+
/** Explicit axis scale; otherwise inherited from the chart's `size`. */
|
|
108
|
+
size?: ComponentSize;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Value/category axis - recharts `YAxis` with no axis/tick lines,
|
|
112
|
+
* size-scaled tick type, and reserved width for value labels. Override `width`
|
|
113
|
+
* for long horizontal-category labels.
|
|
114
|
+
*/
|
|
115
|
+
declare function BarChartYAxis({ size, tick, ...props }: BarChartYAxisProps): React.JSX.Element;
|
|
116
|
+
type BarChartSeriesProps = React.ComponentProps<typeof Bar> & {
|
|
117
|
+
/** Series colour for the bar. Defaults to the first categorical chart token. */
|
|
118
|
+
color?: string;
|
|
119
|
+
/** Explicit mark scale; otherwise inherited from the chart's `size`. */
|
|
120
|
+
size?: ComponentSize;
|
|
121
|
+
/** Override visual direction for radius when the root orientation is absent. */
|
|
122
|
+
orientation?: BarChartOrientation;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* One data series - recharts `Bar` with the giddaa mark spec: a theme-aware
|
|
126
|
+
* series colour, size-scaled max thickness, and a small radius only on the
|
|
127
|
+
* leading edge (top for vertical bars, right for horizontal bars). `color`
|
|
128
|
+
* drives `fill`; `fill`, `radius`, and `maxBarSize` still win when passed
|
|
129
|
+
* directly.
|
|
130
|
+
*/
|
|
131
|
+
declare function BarChartSeries({ color, size, orientation, ...props }: BarChartSeriesProps): React.JSX.Element;
|
|
114
132
|
/**
|
|
115
133
|
* Renderer for recharts `<LabelList content={<BarValueLabel />} />`. recharts
|
|
116
134
|
* injects the bar geometry (`x`, `y`, `width`, `height`, `value`); the rest are
|
|
117
135
|
* caller props. For a vertical bar the label sits above the bar; for a
|
|
118
|
-
* horizontal bar
|
|
136
|
+
* horizontal bar it sits to the right of the bar. When used inside `BarChart`,
|
|
137
|
+
* the root `orientation` is inherited unless this component receives an
|
|
138
|
+
* explicit `orientation`.
|
|
119
139
|
*/
|
|
120
140
|
type BarValueLabelProps = {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
141
|
+
/** Bar visual direction - drives where the label is placed. */
|
|
142
|
+
orientation?: BarChartOrientation;
|
|
143
|
+
/** Override the on-bar font size (defaults to the size-scaled value). */
|
|
144
|
+
fontSize?: number;
|
|
145
|
+
/** Format the raw value before display, e.g. `(v) => String(v)`. */
|
|
146
|
+
formatter?: (value: React.ReactNode) => React.ReactNode;
|
|
147
|
+
/** Explicit label scale; otherwise inherited from the chart's `size`. */
|
|
148
|
+
size?: ComponentSize;
|
|
149
|
+
className?: string;
|
|
150
|
+
x?: string | number;
|
|
151
|
+
y?: string | number;
|
|
152
|
+
width?: string | number;
|
|
153
|
+
height?: string | number;
|
|
154
|
+
value?: React.ReactNode;
|
|
133
155
|
};
|
|
134
|
-
declare function BarValueLabel({ orientation, fontSize, formatter, className, x, y, width, height, value
|
|
135
|
-
|
|
136
|
-
export { BAR_CHART_LAYOUT, type BarChartLayout, BarValueLabel, type BarValueLabelProps
|
|
156
|
+
declare function BarValueLabel({ orientation, fontSize, formatter, size, className, x, y, width, height, value }: BarValueLabelProps): React.JSX.Element | null;
|
|
157
|
+
//#endregion
|
|
158
|
+
export { BAR_CHART_LAYOUT, BAR_CHART_PALETTE, BarChart, BarChartGrid, type BarChartGridProps, type BarChartLayout, type BarChartOrientation, type BarChartProps, BarChartSeries, type BarChartSeriesProps, BarChartXAxis, type BarChartXAxisProps, BarChartYAxis, type BarChartYAxisProps, BarValueLabel, type BarValueLabelProps };
|