@giddaa-housing/ui 1.0.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/css/generated/shared.css +1 -1
- package/dist/accordion.d.ts +9 -10
- package/dist/accordion.js +41 -87
- package/dist/activity-timeline.d.ts +12 -16
- package/dist/activity-timeline.js +83 -198
- package/dist/alert.d.ts +8 -9
- package/dist/alert.js +53 -111
- package/dist/auth-layout.d.ts +4 -4
- package/dist/auth-layout.js +143 -294
- package/dist/avatar.d.ts +6 -6
- package/dist/avatar.js +49 -19
- package/dist/badge.d.ts +12 -14
- package/dist/badge.js +71 -11
- package/dist/bar-chart.d.ts +65 -67
- package/dist/bar-chart.js +232 -207
- package/dist/breadcrumb.d.ts +5 -5
- package/dist/breadcrumb.js +56 -118
- package/dist/bullet-chart.d.ts +33 -33
- package/dist/bullet-chart.js +121 -148
- package/dist/button-BZIeyUw6.d.ts +17 -0
- package/dist/button-group.d.ts +13 -16
- package/dist/button-group.js +39 -88
- package/dist/button.d.ts +2 -19
- package/dist/button.js +94 -13
- package/dist/calendar.d.ts +6 -6
- package/dist/calendar.js +138 -17
- package/dist/card.d.ts +14 -16
- package/dist/card.js +59 -145
- package/dist/carousel.d.ts +34 -35
- package/dist/carousel.js +335 -20
- package/dist/chart.d.ts +58 -59
- package/dist/chart.js +376 -28
- package/dist/checkbox.d.ts +10 -12
- package/dist/checkbox.js +82 -47
- package/dist/cn-BI_4DMBf.js +23 -0
- package/dist/collapsible.d.ts +7 -8
- package/dist/collapsible.js +22 -47
- package/dist/combobox.d.ts +10 -10
- package/dist/combobox.js +236 -44
- package/dist/cta.d.ts +12 -14
- package/dist/cta.js +175 -341
- package/dist/currency-selector.d.ts +31 -32
- package/dist/currency-selector.js +106 -184
- package/dist/data-table.d.ts +164 -0
- package/dist/data-table.js +673 -0
- package/dist/date-picker.d.ts +22 -23
- package/dist/date-picker.js +119 -192
- package/dist/details-card.d.ts +7 -7
- package/dist/details-card.js +104 -253
- package/dist/dialog.d.ts +13 -14
- package/dist/dialog.js +116 -209
- package/dist/dropdown-menu.d.ts +13 -13
- package/dist/dropdown-menu.js +180 -37
- package/dist/dropzone.d.ts +55 -55
- package/dist/dropzone.js +327 -439
- package/dist/editorial-card.d.ts +23 -25
- package/dist/editorial-card.js +129 -296
- package/dist/empty-state.d.ts +8 -9
- package/dist/empty-state.js +48 -105
- package/dist/field.d.ts +23 -25
- package/dist/field.js +110 -221
- package/dist/filter.d.ts +118 -0
- package/dist/filter.js +775 -0
- package/dist/footer.d.ts +8 -15
- package/dist/footer.js +197 -400
- package/dist/funnel-chart.d.ts +38 -41
- package/dist/funnel-chart.js +167 -189
- package/dist/gallery-indicator.d.ts +11 -12
- package/dist/gallery-indicator.js +75 -12
- package/dist/heatmap-chart.d.ts +47 -50
- package/dist/heatmap-chart.js +186 -237
- package/dist/infotip.d.ts +8 -9
- package/dist/infotip.js +33 -59
- package/dist/input-CfoEJ8A6.d.ts +12 -0
- package/dist/input-group.d.ts +16 -20
- package/dist/input-group.js +99 -23
- 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 +17 -9
- package/dist/input.d.ts +2 -13
- package/dist/input.js +27 -11
- package/dist/item.d.ts +7 -8
- package/dist/item.js +22 -59
- package/dist/kpi-card.d.ts +18 -20
- package/dist/kpi-card.js +84 -192
- package/dist/label.d.ts +6 -6
- package/dist/label.js +40 -8
- package/dist/line-chart.d.ts +88 -89
- package/dist/line-chart.js +142 -104
- package/dist/logo.d.ts +4 -4
- package/dist/logo.js +92 -9
- package/dist/map-indicator.d.ts +7 -7
- package/dist/map-indicator.js +80 -106
- package/dist/match.d.ts +10 -11
- package/dist/match.js +62 -107
- package/dist/media-gallery-hero.d.ts +40 -42
- package/dist/media-gallery-hero.js +182 -343
- package/dist/media-player.d.ts +17 -17
- package/dist/media-player.js +873 -1348
- 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 +61 -117
- package/dist/page-header.d.ts +10 -11
- package/dist/page-header.js +34 -79
- package/dist/pagination.d.ts +17 -21
- package/dist/pagination.js +132 -207
- package/dist/password-input.d.ts +5 -13
- package/dist/password-input.js +31 -55
- package/dist/phone-input.d.ts +19 -20
- package/dist/phone-input.js +226 -344
- package/dist/photo-gallery.d.ts +19 -19
- package/dist/photo-gallery.js +313 -449
- package/dist/picker-lzgmsNfG.js +32 -0
- package/dist/pie-chart.d.ts +60 -60
- package/dist/pie-chart.js +140 -148
- package/dist/popover.d.ts +9 -9
- package/dist/popover.js +72 -23
- package/dist/price-tag.d.ts +26 -27
- package/dist/price-tag.js +113 -173
- package/dist/progress.d.ts +16 -17
- package/dist/progress.js +169 -24
- package/dist/property-listing-card.d.ts +14 -17
- package/dist/property-listing-card.js +102 -220
- package/dist/radar-chart.d.ts +29 -31
- package/dist/radar-chart.js +162 -137
- package/dist/radio-group.d.ts +11 -13
- package/dist/radio-group.js +46 -60
- package/dist/review-block.d.ts +14 -16
- package/dist/review-block.js +154 -10
- package/dist/rich-text-editor.d.ts +30 -14
- package/dist/rich-text-editor.js +592 -716
- package/dist/scatter-chart.d.ts +45 -47
- package/dist/scatter-chart.js +236 -240
- package/dist/search-input.d.ts +8 -16
- package/dist/search-input.js +57 -109
- package/dist/select.d.ts +8 -8
- package/dist/select.js +144 -27
- package/dist/separator.d.ts +8 -9
- package/dist/separator.js +32 -8
- package/dist/sheet.d.ts +11 -11
- package/dist/sheet.js +103 -24
- package/dist/sidebar.d.ts +32 -37
- package/dist/sidebar.js +364 -634
- package/dist/size-context-D4mYvcg8.d.ts +10 -0
- package/dist/size-context.d.ts +2 -11
- package/dist/size-context.js +17 -9
- package/dist/skeleton.d.ts +4 -5
- package/dist/skeleton.js +12 -8
- package/dist/slider.d.ts +8 -9
- package/dist/slider.js +64 -135
- package/dist/sparkline.d.ts +43 -46
- package/dist/sparkline.js +221 -251
- package/dist/stepper.d.ts +23 -24
- package/dist/stepper.js +149 -246
- package/dist/styles.css +510 -108
- package/dist/switch.d.ts +10 -12
- package/dist/switch.js +48 -70
- 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 +113 -154
- package/dist/tabs.d.ts +23 -15
- package/dist/tabs.js +71 -18
- package/dist/tag.d.ts +21 -23
- package/dist/tag.js +103 -159
- package/dist/testimonial-block.d.ts +18 -19
- package/dist/testimonial-block.js +189 -358
- package/dist/textarea-IS_D8pXf.d.ts +11 -0
- package/dist/textarea.d.ts +2 -12
- package/dist/textarea.js +24 -11
- package/dist/time-picker.d.ts +11 -11
- package/dist/time-picker.js +245 -302
- package/dist/toast.d.ts +16 -18
- package/dist/toast.js +154 -205
- package/dist/tooltip.d.ts +8 -9
- package/dist/tooltip.js +37 -12
- package/dist/tree-map.d.ts +54 -57
- package/dist/tree-map.js +227 -269
- package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
- package/dist/waterfall-chart.d.ts +94 -97
- package/dist/waterfall-chart.js +455 -552
- package/package.json +28 -9
- package/dist/accordion.js.map +0 -1
- package/dist/activity-timeline.js.map +0 -1
- package/dist/alert.js.map +0 -1
- package/dist/auth-layout.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/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/chunk-322YCNVL.js +0 -278
- package/dist/chunk-322YCNVL.js.map +0 -1
- package/dist/chunk-3ACQVT7A.js +0 -25
- package/dist/chunk-3ACQVT7A.js.map +0 -1
- package/dist/chunk-3T65TLJX.js +0 -334
- package/dist/chunk-3T65TLJX.js.map +0 -1
- package/dist/chunk-6ZSGQHH2.js +0 -192
- package/dist/chunk-6ZSGQHH2.js.map +0 -1
- package/dist/chunk-7TBMLFGW.js +0 -41
- package/dist/chunk-7TBMLFGW.js.map +0 -1
- package/dist/chunk-B4H6RNDH.js +0 -135
- package/dist/chunk-B4H6RNDH.js.map +0 -1
- package/dist/chunk-BUXCGZ6X.js +0 -219
- package/dist/chunk-BUXCGZ6X.js.map +0 -1
- package/dist/chunk-CHII2QHH.js +0 -58
- package/dist/chunk-CHII2QHH.js.map +0 -1
- package/dist/chunk-DMNOXRRW.js +0 -147
- package/dist/chunk-DMNOXRRW.js.map +0 -1
- package/dist/chunk-EFSOSSIC.js +0 -130
- package/dist/chunk-EFSOSSIC.js.map +0 -1
- package/dist/chunk-FZDSVMKY.js +0 -363
- package/dist/chunk-FZDSVMKY.js.map +0 -1
- package/dist/chunk-GJOFIJS3.js +0 -246
- package/dist/chunk-GJOFIJS3.js.map +0 -1
- package/dist/chunk-HL3ZSYES.js +0 -23
- package/dist/chunk-HL3ZSYES.js.map +0 -1
- package/dist/chunk-JVLUBAPB.js +0 -129
- package/dist/chunk-JVLUBAPB.js.map +0 -1
- package/dist/chunk-KDPYSOYZ.js +0 -64
- package/dist/chunk-KDPYSOYZ.js.map +0 -1
- package/dist/chunk-KSMDANKI.js +0 -43
- package/dist/chunk-KSMDANKI.js.map +0 -1
- package/dist/chunk-MEKCCOP5.js +0 -46
- package/dist/chunk-MEKCCOP5.js.map +0 -1
- package/dist/chunk-NOFXVRWL.js +0 -451
- package/dist/chunk-NOFXVRWL.js.map +0 -1
- package/dist/chunk-PC5MHNVA.js +0 -171
- package/dist/chunk-PC5MHNVA.js.map +0 -1
- package/dist/chunk-QKAQZ2GU.js +0 -122
- package/dist/chunk-QKAQZ2GU.js.map +0 -1
- package/dist/chunk-QZHSHSVV.js +0 -26
- package/dist/chunk-QZHSHSVV.js.map +0 -1
- package/dist/chunk-RBMK26XD.js +0 -19
- package/dist/chunk-RBMK26XD.js.map +0 -1
- package/dist/chunk-SFNJGF6M.js +0 -262
- package/dist/chunk-SFNJGF6M.js.map +0 -1
- package/dist/chunk-UJJNLGTM.js +0 -112
- package/dist/chunk-UJJNLGTM.js.map +0 -1
- package/dist/chunk-VGR4ZWJ3.js +0 -418
- package/dist/chunk-VGR4ZWJ3.js.map +0 -1
- package/dist/chunk-XG47P6D4.js +0 -99
- package/dist/chunk-XG47P6D4.js.map +0 -1
- package/dist/chunk-XZZAHNVM.js +0 -21
- package/dist/chunk-XZZAHNVM.js.map +0 -1
- package/dist/chunk-Y4TTYVNE.js +0 -36
- package/dist/chunk-Y4TTYVNE.js.map +0 -1
- package/dist/chunk-YDWIHW6Q.js +0 -69
- package/dist/chunk-YDWIHW6Q.js.map +0 -1
- package/dist/collapsible.js.map +0 -1
- package/dist/combobox.js.map +0 -1
- package/dist/cta.js.map +0 -1
- package/dist/currency-selector.js.map +0 -1
- package/dist/date-picker.js.map +0 -1
- package/dist/details-card.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/editorial-card.js.map +0 -1
- package/dist/empty-state.js.map +0 -1
- package/dist/field.js.map +0 -1
- package/dist/footer.js.map +0 -1
- package/dist/funnel-chart.js.map +0 -1
- package/dist/gallery-indicator.js.map +0 -1
- package/dist/heatmap-chart.js.map +0 -1
- package/dist/infotip.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/map-indicator.js.map +0 -1
- package/dist/match.js.map +0 -1
- package/dist/media-gallery-hero.js.map +0 -1
- package/dist/media-player.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/price-tag.js.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/property-listing-card.js.map +0 -1
- package/dist/radar-chart.js.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/review-block.js.map +0 -1
- package/dist/rich-text-editor.js.map +0 -1
- package/dist/scatter-chart.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/slider.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 -123
- 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/testimonial-block.js.map +0 -1
- package/dist/textarea.js.map +0 -1
- 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/waterfall-chart.js.map +0 -1
package/dist/switch.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import { VariantProps } from 'class-variance-authority';
|
|
5
|
-
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { Switch as Switch$1 } from "@base-ui/react/switch";
|
|
3
|
+
//#region src/switch.d.ts
|
|
6
4
|
declare const switchVariants: (props?: ({
|
|
7
|
-
|
|
8
|
-
} &
|
|
5
|
+
size?: "lg" | "md" | "sm" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
7
|
type SwitchSize = NonNullable<VariantProps<typeof switchVariants>["size"]>;
|
|
10
8
|
type SwitchProps = Omit<Switch$1.Root.Props, "children"> & {
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
size?: SwitchSize;
|
|
13
11
|
};
|
|
14
12
|
/**
|
|
15
13
|
* Compose with the shared field primitives for label and helper text.
|
|
@@ -24,6 +22,6 @@ type SwitchProps = Omit<Switch$1.Root.Props, "children"> & {
|
|
|
24
22
|
* </Field>
|
|
25
23
|
* ```
|
|
26
24
|
*/
|
|
27
|
-
declare function Switch({ className, disabled, loading, readOnly, size, ...props }: SwitchProps):
|
|
28
|
-
|
|
29
|
-
export { Switch, switchVariants };
|
|
25
|
+
declare function Switch({ className, disabled, loading, readOnly, size, ...props }: SwitchProps): import("react").JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Switch, switchVariants };
|
package/dist/switch.js
CHANGED
|
@@ -1,73 +1,51 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
} from "./chunk-HL3ZSYES.js";
|
|
5
|
-
import {
|
|
6
|
-
cn
|
|
7
|
-
} from "./chunk-Y4TTYVNE.js";
|
|
8
|
-
|
|
9
|
-
// src/switch.tsx
|
|
10
|
-
import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
|
|
11
|
-
import { cva } from "class-variance-authority";
|
|
2
|
+
import { t as cn } from "./cn-BI_4DMBf.js";
|
|
3
|
+
import { useComponentSize } from "./size-context.js";
|
|
12
4
|
import { jsx } from "react/jsx-runtime";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"span",
|
|
58
|
-
{
|
|
59
|
-
"aria-hidden": "true",
|
|
60
|
-
"data-slot": "switch-spinner",
|
|
61
|
-
className: "size-(--switch-spinner-size) animate-spin rounded-full border-2 border-current border-r-transparent"
|
|
62
|
-
}
|
|
63
|
-
)
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
);
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { Switch as Switch$1 } from "@base-ui/react/switch";
|
|
7
|
+
//#region src/switch.tsx
|
|
8
|
+
const switchVariants = cva("peer group/switch relative inline-flex shrink-0 items-center rounded-full border bg-clip-padding p-0.5 transition-[background-color,border-color,box-shadow,opacity] outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] aria-invalid:border-line-danger aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-checked:border-action-primary data-checked:bg-action-primary data-unchecked:border-line data-unchecked:bg-transparent data-[loading=true]:border-action-primary data-[loading=true]:bg-action-primary data-disabled:border-line-subtle! data-disabled:bg-transparent! data-disabled:cursor-not-allowed data-disabled:opacity-60 h-6 w-10 [--switch-spinner-size:0.75rem] [--switch-thumb-size:18px] [--switch-track-width:2.5rem] group-data-[size=sm]/field:h-5 group-data-[size=sm]/field:w-8 group-data-[size=sm]/field:[--switch-spinner-size:0.625rem] group-data-[size=sm]/field:[--switch-thumb-size:14px] group-data-[size=sm]/field:[--switch-track-width:2rem] group-data-[size=md]/field:h-6 group-data-[size=md]/field:w-10 group-data-[size=md]/field:[--switch-spinner-size:0.75rem] group-data-[size=md]/field:[--switch-thumb-size:18px] group-data-[size=md]/field:[--switch-track-width:2.5rem] group-data-[size=lg]/field:h-7 group-data-[size=lg]/field:w-12 group-data-[size=lg]/field:[--switch-spinner-size:0.875rem] group-data-[size=lg]/field:[--switch-thumb-size:22px] group-data-[size=lg]/field:[--switch-track-width:3rem]", { variants: { size: {
|
|
9
|
+
sm: "h-5 w-8 [--switch-spinner-size:0.625rem] [--switch-thumb-size:14px] [--switch-track-width:2rem]",
|
|
10
|
+
md: "h-6 w-10 [--switch-spinner-size:0.75rem] [--switch-thumb-size:18px] [--switch-track-width:2.5rem]",
|
|
11
|
+
lg: "h-7 w-12 [--switch-spinner-size:0.875rem] [--switch-thumb-size:22px] [--switch-track-width:3rem]"
|
|
12
|
+
} } });
|
|
13
|
+
/**
|
|
14
|
+
* Compose with the shared field primitives for label and helper text.
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <Field orientation="horizontal" size="sm">
|
|
18
|
+
* <Switch id="notifications" />
|
|
19
|
+
* <FieldContent>
|
|
20
|
+
* <FieldLabel htmlFor="notifications">Notifications</FieldLabel>
|
|
21
|
+
* <FieldDescription>Receive product update emails.</FieldDescription>
|
|
22
|
+
* </FieldContent>
|
|
23
|
+
* </Field>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function Switch({ className, disabled = false, loading = false, readOnly = false, size, ...props }) {
|
|
27
|
+
const resolvedSize = useComponentSize(size);
|
|
28
|
+
const isDisabled = disabled;
|
|
29
|
+
const isReadOnly = readOnly || loading;
|
|
30
|
+
return /* @__PURE__ */ jsx(Switch$1.Root, {
|
|
31
|
+
"aria-busy": loading || void 0,
|
|
32
|
+
"data-slot": "switch",
|
|
33
|
+
"data-loading": loading,
|
|
34
|
+
"data-size": resolvedSize,
|
|
35
|
+
disabled: isDisabled,
|
|
36
|
+
readOnly: isReadOnly,
|
|
37
|
+
className: cn(switchVariants({ size: resolvedSize }), className),
|
|
38
|
+
...props,
|
|
39
|
+
children: /* @__PURE__ */ jsx(Switch$1.Thumb, {
|
|
40
|
+
"data-slot": "switch-thumb",
|
|
41
|
+
className: cn("pointer-events-none grid size-(--switch-thumb-size) translate-x-0 place-items-center rounded-full bg-fg-on-brand text-fg-brand ring-0 transition-transform duration-200 ease-out data-checked:translate-x-[calc(var(--switch-track-width)-var(--switch-thumb-size)-4px)]", loading && "translate-x-[calc(var(--switch-track-width)-var(--switch-thumb-size)-4px)]", isDisabled && "translate-x-0! bg-line text-fg-caption-placeholder"),
|
|
42
|
+
children: loading && !isDisabled && /* @__PURE__ */ jsx("span", {
|
|
43
|
+
"aria-hidden": "true",
|
|
44
|
+
"data-slot": "switch-spinner",
|
|
45
|
+
className: "size-(--switch-spinner-size) animate-spin rounded-full border-2 border-current border-r-transparent"
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
});
|
|
68
49
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
switchVariants
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=switch.js.map
|
|
50
|
+
//#endregion
|
|
51
|
+
export { Switch, switchVariants };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
//#region src/table-card.d.ts
|
|
5
|
+
declare const tableCardVariants: (props?: ({
|
|
6
|
+
selected?: boolean | null | undefined;
|
|
7
|
+
size?: "lg" | "md" | "sm" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
type TableCardDetailItem = {
|
|
10
|
+
className?: string;
|
|
11
|
+
label: React.ReactNode;
|
|
12
|
+
labelClassName?: string;
|
|
13
|
+
value: React.ReactNode;
|
|
14
|
+
valueClassName?: string;
|
|
15
|
+
};
|
|
16
|
+
type TableCardProps = Omit<React.ComponentProps<"article">, "title"> & VariantProps<typeof tableCardVariants> & {
|
|
17
|
+
action?: React.ReactNode;
|
|
18
|
+
actions?: React.ReactNode;
|
|
19
|
+
badge?: React.ReactNode;
|
|
20
|
+
details?: TableCardDetailItem[];
|
|
21
|
+
selection?: React.ReactNode;
|
|
22
|
+
subtitle?: React.ReactNode;
|
|
23
|
+
title?: React.ReactNode;
|
|
24
|
+
};
|
|
25
|
+
declare function TableCard({ action, actions, badge, children, className, details, selection, selected, size, subtitle, title, ...props }: TableCardProps): React.JSX.Element;
|
|
26
|
+
declare function TableCardAction({ className, render, ...props }: useRender.ComponentProps<"button">): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
27
|
+
declare function TableCardHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
28
|
+
declare function TableCardTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
|
|
29
|
+
declare function TableCardSubtitle({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
30
|
+
declare function TableCardSelection({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
31
|
+
declare function TableCardActions({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
32
|
+
declare function TableCardDetails({ className, ...props }: React.ComponentProps<"dl">): React.JSX.Element;
|
|
33
|
+
declare function TableCardDetail({ className, label, labelClassName, value, valueClassName }: TableCardDetailItem): React.JSX.Element | null;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { TableCard, TableCardAction, TableCardActions, TableCardDetail, type TableCardDetailItem, TableCardDetails, TableCardHeader, type TableCardProps, TableCardSelection, TableCardSubtitle, TableCardTitle, tableCardVariants };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { t as cn } from "./cn-BI_4DMBf.js";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
4
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
//#region src/table-card.tsx
|
|
7
|
+
const tableCardVariants = cva("group/table-card relative flex w-full min-w-0 flex-col border border-line-subtle bg-canvas text-fg-primary shadow-1 outline-none transition-[background-color,border-color,box-shadow,filter,transform] hover:bg-surface hover:shadow-2 active:bg-surface-raised active:shadow-none has-[[data-slot=table-card-action]:focus-visible]:border-line-focus has-[[data-slot=table-card-action]:focus-visible]:inset-ring-1 has-[[data-slot=table-card-action]:focus-visible]:inset-ring-line-focus has-[[data-slot=table-card-action]]:cursor-pointer", {
|
|
8
|
+
variants: {
|
|
9
|
+
selected: {
|
|
10
|
+
true: "border-line-focus bg-surface-brand-subtle inset-ring-1 inset-ring-line-focus hover:bg-surface-brand-subtle hover:brightness-95 active:bg-surface-brand-subtle active:brightness-90",
|
|
11
|
+
false: ""
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "gap-4 rounded-xl p-4",
|
|
15
|
+
md: "gap-5 rounded-2xl p-5",
|
|
16
|
+
lg: "gap-6 rounded-[20px] p-6"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
selected: false,
|
|
21
|
+
size: "md"
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
function TableCard({ action, actions, badge, children, className, details, selection, selected = false, size = "md", subtitle, title, ...props }) {
|
|
25
|
+
return /* @__PURE__ */ jsx("article", {
|
|
26
|
+
"data-slot": "table-card",
|
|
27
|
+
"data-size": size,
|
|
28
|
+
"data-state": selected ? "selected" : void 0,
|
|
29
|
+
className: cn(tableCardVariants({
|
|
30
|
+
selected,
|
|
31
|
+
size
|
|
32
|
+
}), className),
|
|
33
|
+
...props,
|
|
34
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
35
|
+
action,
|
|
36
|
+
/* @__PURE__ */ jsxs(TableCardHeader, { children: [/* @__PURE__ */ jsxs("div", {
|
|
37
|
+
className: "flex min-w-0 flex-1 items-start gap-3",
|
|
38
|
+
children: [selection ? /* @__PURE__ */ jsx(TableCardSelection, { children: selection }) : null, /* @__PURE__ */ jsxs("div", {
|
|
39
|
+
className: "min-w-0 flex-1",
|
|
40
|
+
children: [title ? /* @__PURE__ */ jsx(TableCardTitle, { children: title }) : null, subtitle ? /* @__PURE__ */ jsx(TableCardSubtitle, { children: subtitle }) : null]
|
|
41
|
+
})]
|
|
42
|
+
}), actions ? /* @__PURE__ */ jsx(TableCardActions, { children: actions }) : null] }),
|
|
43
|
+
badge ? /* @__PURE__ */ jsx("div", {
|
|
44
|
+
"data-slot": "table-card-badge",
|
|
45
|
+
className: "pointer-events-none relative z-2 flex min-w-0 items-center",
|
|
46
|
+
children: badge
|
|
47
|
+
}) : null,
|
|
48
|
+
details?.length ? /* @__PURE__ */ jsx(TableCardDetails, { children: details.map((detail, index) => /* @__PURE__ */ jsx(TableCardDetail, { ...detail }, typeof detail.label === "string" ? detail.label : index.toString())) }) : null
|
|
49
|
+
] })
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function TableCardAction({ className, render, ...props }) {
|
|
53
|
+
return useRender({
|
|
54
|
+
defaultTagName: "button",
|
|
55
|
+
props: mergeProps({
|
|
56
|
+
"data-slot": "table-card-action",
|
|
57
|
+
className: cn("absolute inset-0 z-1 rounded-[inherit] border-0 bg-transparent p-0 text-transparent outline-none", className),
|
|
58
|
+
type: "button"
|
|
59
|
+
}, props),
|
|
60
|
+
render,
|
|
61
|
+
state: { slot: "table-card-action" }
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function TableCardHeader({ className, ...props }) {
|
|
65
|
+
return /* @__PURE__ */ jsx("div", {
|
|
66
|
+
"data-slot": "table-card-header",
|
|
67
|
+
className: cn("pointer-events-none relative z-2 flex min-w-0 items-start justify-between gap-4", className),
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function TableCardTitle({ className, ...props }) {
|
|
72
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
73
|
+
"data-slot": "table-card-title",
|
|
74
|
+
className: cn("text-gdt-md font-bold text-fg-primary group-data-[size=lg]/table-card:text-gdt-lg", className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function TableCardSubtitle({ className, ...props }) {
|
|
79
|
+
return /* @__PURE__ */ jsx("p", {
|
|
80
|
+
"data-slot": "table-card-subtitle",
|
|
81
|
+
className: cn("mt-1 text-gdt-sm text-fg-secondary [&_a]:pointer-events-auto [&_a]:relative [&_a]:z-3", className),
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function TableCardSelection({ className, ...props }) {
|
|
86
|
+
return /* @__PURE__ */ jsx("div", {
|
|
87
|
+
"data-table-card-interactive": "",
|
|
88
|
+
"data-slot": "table-card-selection",
|
|
89
|
+
className: cn("pointer-events-auto relative z-3 flex shrink-0 pt-0.5", className),
|
|
90
|
+
...props
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function TableCardActions({ className, ...props }) {
|
|
94
|
+
return /* @__PURE__ */ jsx("div", {
|
|
95
|
+
"data-table-card-interactive": "",
|
|
96
|
+
"data-slot": "table-card-actions",
|
|
97
|
+
className: cn("pointer-events-auto relative z-3 -m-1 flex shrink-0 items-center justify-center p-1", className),
|
|
98
|
+
...props
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function TableCardDetails({ className, ...props }) {
|
|
102
|
+
return /* @__PURE__ */ jsx("dl", {
|
|
103
|
+
"data-slot": "table-card-details",
|
|
104
|
+
className: cn("pointer-events-none relative z-2 flex min-w-0 flex-col divide-y divide-line-subtle", className),
|
|
105
|
+
...props
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function TableCardDetail({ className, label, labelClassName, value, valueClassName }) {
|
|
109
|
+
if (value === null || value === void 0 || value === "") return null;
|
|
110
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
111
|
+
"data-slot": "table-card-detail",
|
|
112
|
+
className: cn("grid min-w-0 grid-cols-[minmax(0,1fr)_minmax(0,max-content)] items-start gap-4 py-3 text-gdt-sm first:pt-0 last:pb-0", className),
|
|
113
|
+
children: [/* @__PURE__ */ jsx("dt", {
|
|
114
|
+
"data-slot": "table-card-detail-label",
|
|
115
|
+
className: cn("min-w-0 text-fg-secondary", labelClassName),
|
|
116
|
+
children: label
|
|
117
|
+
}), /* @__PURE__ */ jsx("dd", {
|
|
118
|
+
"data-slot": "table-card-detail-value",
|
|
119
|
+
className: cn("min-w-0 max-w-40 text-right font-semibold text-fg-primary [&_a]:pointer-events-auto [&_a]:relative [&_a]:z-3 [&_button]:pointer-events-auto [&_button]:relative [&_button]:z-3", valueClassName),
|
|
120
|
+
children: value
|
|
121
|
+
})]
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
export { TableCard, TableCardAction, TableCardActions, TableCardDetail, TableCardDetails, TableCardHeader, TableCardSelection, TableCardSubtitle, TableCardTitle, tableCardVariants };
|
package/dist/table.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
//#region src/table.d.ts
|
|
3
|
+
type TablePinnedSide = "left" | "right";
|
|
3
4
|
/**
|
|
4
5
|
* Outer card wrapper.
|
|
5
6
|
*
|
|
6
|
-
* Tokens: bg-
|
|
7
|
+
* Tokens: bg-canvas (container fill), border-line-subtle (container border).
|
|
7
8
|
* Pass `containerClassName` to override scroll, sizing, or rounding for
|
|
8
9
|
* individual call-sites (e.g. the data-table's max-height + rounded-[20px]).
|
|
9
10
|
*/
|
|
10
11
|
declare function Table({ className, containerClassName, ...props }: React.ComponentProps<"table"> & {
|
|
11
|
-
|
|
12
|
+
containerClassName?: string;
|
|
12
13
|
}): React.JSX.Element;
|
|
13
14
|
/**
|
|
14
15
|
* Header band (thead).
|
|
@@ -17,7 +18,7 @@ declare function Table({ className, containerClassName, ...props }: React.Compon
|
|
|
17
18
|
* Add `sticky` to pin the header and show Shadow-2 elevation while scrolled.
|
|
18
19
|
*/
|
|
19
20
|
declare function TableHeader({ className, sticky, ...props }: React.ComponentProps<"thead"> & {
|
|
20
|
-
|
|
21
|
+
sticky?: boolean;
|
|
21
22
|
}): React.JSX.Element;
|
|
22
23
|
declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): React.JSX.Element;
|
|
23
24
|
/**
|
|
@@ -37,21 +38,24 @@ declare function TableRow({ className, ...props }: React.ComponentProps<"tr">):
|
|
|
37
38
|
* Header cell (th).
|
|
38
39
|
*
|
|
39
40
|
* Tokens: bg-surface-raised (always applied so sticky/pinned th cells correctly
|
|
40
|
-
* cover scrolling content), text-fg-secondary, text-gdt-
|
|
41
|
-
*
|
|
41
|
+
* cover scrolling content), text-fg-secondary, text-gdt-sm semibold for the
|
|
42
|
+
* table header style in Figma.
|
|
42
43
|
*/
|
|
43
|
-
declare function TableHead({ className, ...props }: React.ComponentProps<"th">
|
|
44
|
+
declare function TableHead({ className, pinnedSide, ...props }: React.ComponentProps<"th"> & {
|
|
45
|
+
pinnedSide?: TablePinnedSide;
|
|
46
|
+
}): React.JSX.Element;
|
|
44
47
|
/**
|
|
45
48
|
* Standard body cell (td).
|
|
46
49
|
*
|
|
47
50
|
* Token: text-fg-primary (body cell text), text-gdt-sm.
|
|
48
51
|
* Pass `pinned` when the column is sticky. Pinned cells get an opaque
|
|
49
|
-
* bg-canvas cover so scrolling content doesn't bleed through
|
|
50
|
-
*
|
|
52
|
+
* bg-canvas cover so scrolling content doesn't bleed through. Pass
|
|
53
|
+
* `pinnedSide` to draw the 2px sticky-column divider from the Figma spec.
|
|
51
54
|
* Non-pinned cells are left transparent so the parent row's surface shows through.
|
|
52
55
|
*/
|
|
53
|
-
declare function TableCell({ className, pinned, ...props }: React.ComponentProps<"td"> & {
|
|
54
|
-
|
|
56
|
+
declare function TableCell({ className, pinned, pinnedSide, ...props }: React.ComponentProps<"td"> & {
|
|
57
|
+
pinned?: boolean;
|
|
58
|
+
pinnedSide?: TablePinnedSide;
|
|
55
59
|
}): React.JSX.Element;
|
|
56
60
|
/**
|
|
57
61
|
* Formatted cell title, for use within a TableCell
|
|
@@ -65,5 +69,5 @@ declare function TableCellCaption({ className, ...props }: React.ComponentProps<
|
|
|
65
69
|
* Caption — rendered below the table, uses secondary text token.
|
|
66
70
|
*/
|
|
67
71
|
declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): React.JSX.Element;
|
|
68
|
-
|
|
69
|
-
export { Table, TableBody, TableCaption, TableCell, TableCellCaption, TableCellTitle, TableFooter, TableHead, TableHeader, TableRow };
|
|
72
|
+
//#endregion
|
|
73
|
+
export { Table, TableBody, TableCaption, TableCell, TableCellCaption, TableCellTitle, TableFooter, TableHead, TableHeader, TableRow };
|