@giddaa-housing/ui 0.1.0 → 1.0.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.js +5 -35
- package/dist/accordion.js.map +1 -1
- package/dist/activity-timeline.d.ts +33 -0
- package/dist/activity-timeline.js +212 -0
- package/dist/activity-timeline.js.map +1 -0
- package/dist/alert.js +5 -35
- package/dist/alert.js.map +1 -1
- package/dist/auth-layout.d.ts +23 -0
- package/dist/auth-layout.js +304 -0
- package/dist/auth-layout.js.map +1 -0
- package/dist/avatar.js +10 -142
- package/dist/avatar.js.map +1 -1
- package/dist/badge.d.ts +3 -2
- package/dist/badge.js +6 -114
- package/dist/badge.js.map +1 -1
- package/dist/bar-chart.d.ts +101 -77
- package/dist/bar-chart.js +142 -220
- package/dist/bar-chart.js.map +1 -1
- package/dist/breadcrumb.js +5 -35
- package/dist/breadcrumb.js.map +1 -1
- package/dist/bullet-chart.js +15 -48
- package/dist/bullet-chart.js.map +1 -1
- package/dist/button-group.js +14 -90
- package/dist/button-group.js.map +1 -1
- package/dist/button.d.ts +5 -5
- package/dist/button.js +7 -140
- package/dist/button.js.map +1 -1
- package/dist/calendar.js +12 -287
- package/dist/calendar.js.map +1 -1
- package/dist/card.js +5 -35
- package/dist/card.js.map +1 -1
- package/dist/carousel.js +12 -386
- package/dist/carousel.js.map +1 -1
- package/dist/chart.js +16 -480
- package/dist/chart.js.map +1 -1
- package/dist/checkbox.d.ts +1 -1
- package/dist/checkbox.js +13 -48
- package/dist/checkbox.js.map +1 -1
- package/dist/chunk-322YCNVL.js +278 -0
- package/dist/chunk-322YCNVL.js.map +1 -0
- package/dist/chunk-3ACQVT7A.js +25 -0
- package/dist/chunk-3ACQVT7A.js.map +1 -0
- package/dist/chunk-3T65TLJX.js +334 -0
- package/dist/chunk-3T65TLJX.js.map +1 -0
- package/dist/chunk-6ZSGQHH2.js +192 -0
- package/dist/chunk-6ZSGQHH2.js.map +1 -0
- package/dist/chunk-7TBMLFGW.js +41 -0
- package/dist/chunk-7TBMLFGW.js.map +1 -0
- package/dist/chunk-B4H6RNDH.js +135 -0
- package/dist/chunk-B4H6RNDH.js.map +1 -0
- package/dist/chunk-BUXCGZ6X.js +219 -0
- package/dist/chunk-BUXCGZ6X.js.map +1 -0
- package/dist/chunk-CHII2QHH.js +58 -0
- package/dist/chunk-CHII2QHH.js.map +1 -0
- package/dist/chunk-DMNOXRRW.js +147 -0
- package/dist/chunk-DMNOXRRW.js.map +1 -0
- package/dist/chunk-EFSOSSIC.js +130 -0
- package/dist/chunk-EFSOSSIC.js.map +1 -0
- package/dist/chunk-FZDSVMKY.js +363 -0
- package/dist/chunk-FZDSVMKY.js.map +1 -0
- package/dist/chunk-GJOFIJS3.js +246 -0
- package/dist/chunk-GJOFIJS3.js.map +1 -0
- package/dist/chunk-HL3ZSYES.js +23 -0
- package/dist/chunk-HL3ZSYES.js.map +1 -0
- package/dist/chunk-JVLUBAPB.js +129 -0
- package/dist/chunk-JVLUBAPB.js.map +1 -0
- package/dist/chunk-KDPYSOYZ.js +64 -0
- package/dist/chunk-KDPYSOYZ.js.map +1 -0
- package/dist/chunk-KSMDANKI.js +43 -0
- package/dist/chunk-KSMDANKI.js.map +1 -0
- package/dist/chunk-MEKCCOP5.js +46 -0
- package/dist/chunk-MEKCCOP5.js.map +1 -0
- package/dist/chunk-NOFXVRWL.js +451 -0
- package/dist/chunk-NOFXVRWL.js.map +1 -0
- package/dist/chunk-PC5MHNVA.js +171 -0
- package/dist/chunk-PC5MHNVA.js.map +1 -0
- package/dist/chunk-QKAQZ2GU.js +122 -0
- package/dist/chunk-QKAQZ2GU.js.map +1 -0
- package/dist/chunk-QZHSHSVV.js +26 -0
- package/dist/chunk-QZHSHSVV.js.map +1 -0
- package/dist/chunk-RBMK26XD.js +19 -0
- package/dist/chunk-RBMK26XD.js.map +1 -0
- package/dist/chunk-SFNJGF6M.js +262 -0
- package/dist/chunk-SFNJGF6M.js.map +1 -0
- package/dist/chunk-UJJNLGTM.js +112 -0
- package/dist/chunk-UJJNLGTM.js.map +1 -0
- package/dist/chunk-VGR4ZWJ3.js +418 -0
- package/dist/chunk-VGR4ZWJ3.js.map +1 -0
- package/dist/chunk-XG47P6D4.js +99 -0
- package/dist/chunk-XG47P6D4.js.map +1 -0
- package/dist/chunk-XZZAHNVM.js +21 -0
- package/dist/chunk-XZZAHNVM.js.map +1 -0
- package/dist/chunk-Y4TTYVNE.js +36 -0
- package/dist/chunk-Y4TTYVNE.js.map +1 -0
- package/dist/chunk-YDWIHW6Q.js +69 -0
- package/dist/chunk-YDWIHW6Q.js.map +1 -0
- package/dist/collapsible.js +6 -35
- package/dist/collapsible.js.map +1 -1
- package/dist/combobox.js +26 -694
- package/dist/combobox.js.map +1 -1
- package/dist/cta.d.ts +66 -0
- package/dist/cta.js +358 -0
- package/dist/cta.js.map +1 -0
- package/dist/currency-selector.d.ts +42 -0
- package/dist/currency-selector.js +192 -0
- package/dist/currency-selector.js.map +1 -0
- package/dist/date-picker.d.ts +18 -10
- package/dist/date-picker.js +105 -430
- package/dist/date-picker.js.map +1 -1
- package/dist/details-card.d.ts +19 -0
- package/dist/details-card.js +267 -0
- package/dist/details-card.js.map +1 -0
- package/dist/dialog.js +36 -146
- package/dist/dialog.js.map +1 -1
- package/dist/dropdown-menu.d.ts +1 -1
- package/dist/dropdown-menu.js +20 -358
- package/dist/dropdown-menu.js.map +1 -1
- package/dist/dropzone.js +13 -40
- package/dist/dropzone.js.map +1 -1
- package/dist/editorial-card.d.ts +29 -0
- package/dist/editorial-card.js +311 -0
- package/dist/editorial-card.js.map +1 -0
- package/dist/empty-state.js +5 -35
- package/dist/empty-state.js.map +1 -1
- package/dist/field.js +30 -135
- package/dist/field.js.map +1 -1
- package/dist/footer.d.ts +47 -0
- package/dist/footer.js +430 -0
- package/dist/footer.js.map +1 -0
- package/dist/funnel-chart.js +42 -415
- package/dist/funnel-chart.js.map +1 -1
- package/dist/gallery-indicator.d.ts +18 -0
- package/dist/gallery-indicator.js +12 -0
- package/dist/gallery-indicator.js.map +1 -0
- package/dist/heatmap-chart.d.ts +98 -0
- package/dist/heatmap-chart.js +248 -0
- package/dist/heatmap-chart.js.map +1 -0
- package/dist/infotip.d.ts +11 -0
- package/dist/infotip.js +66 -0
- package/dist/infotip.js.map +1 -0
- package/dist/input-group.d.ts +2 -1
- package/dist/input-group.js +15 -371
- package/dist/input-group.js.map +1 -1
- package/dist/input-size-context.js +5 -19
- package/dist/input-size-context.js.map +1 -1
- package/dist/input.js +6 -78
- package/dist/input.js.map +1 -1
- package/dist/item.js +5 -35
- package/dist/item.js.map +1 -1
- package/dist/kpi-card.js +12 -52
- package/dist/kpi-card.js.map +1 -1
- package/dist/label.js +5 -64
- package/dist/label.js.map +1 -1
- package/dist/line-chart.js +9 -166
- package/dist/line-chart.js.map +1 -1
- package/dist/logo.js +4 -141
- package/dist/logo.js.map +1 -1
- package/dist/map-indicator.d.ts +13 -0
- package/dist/map-indicator.js +109 -0
- package/dist/map-indicator.js.map +1 -0
- package/dist/match.d.ts +16 -0
- package/dist/match.js +113 -0
- package/dist/match.js.map +1 -0
- package/dist/media-gallery-hero.d.ts +60 -0
- package/dist/media-gallery-hero.js +362 -0
- package/dist/media-gallery-hero.js.map +1 -0
- package/dist/media-player.d.ts +60 -0
- package/dist/media-player.js +1394 -0
- package/dist/media-player.js.map +1 -0
- package/dist/number-input.js +30 -325
- package/dist/number-input.js.map +1 -1
- package/dist/page-header.js +4 -32
- package/dist/page-header.js.map +1 -1
- package/dist/pagination.d.ts +1 -0
- package/dist/pagination.js +27 -161
- package/dist/pagination.js.map +1 -1
- package/dist/password-input.d.ts +1 -0
- package/dist/password-input.js +21 -319
- package/dist/password-input.js.map +1 -1
- package/dist/phone-input.d.ts +2 -1
- package/dist/phone-input.js +148 -359
- package/dist/phone-input.js.map +1 -1
- package/dist/photo-gallery.d.ts +1 -1
- package/dist/photo-gallery.js +97 -393
- package/dist/photo-gallery.js.map +1 -1
- package/dist/pie-chart.js +17 -52
- package/dist/pie-chart.js.map +1 -1
- package/dist/popover.js +13 -158
- package/dist/popover.js.map +1 -1
- package/dist/price-tag.d.ts +35 -0
- package/dist/price-tag.js +178 -0
- package/dist/price-tag.js.map +1 -0
- package/dist/progress.d.ts +5 -2
- package/dist/progress.js +14 -303
- package/dist/progress.js.map +1 -1
- package/dist/property-listing-card.d.ts +32 -0
- package/dist/property-listing-card.js +235 -0
- package/dist/property-listing-card.js.map +1 -0
- package/dist/radar-chart.d.ts +110 -0
- package/dist/radar-chart.js +147 -0
- package/dist/radar-chart.js.map +1 -0
- package/dist/radio-group.js +15 -50
- package/dist/radio-group.js.map +1 -1
- package/dist/review-block.d.ts +20 -0
- package/dist/review-block.js +10 -0
- package/dist/review-block.js.map +1 -0
- package/dist/rich-text-editor.js +172 -433
- package/dist/rich-text-editor.js.map +1 -1
- package/dist/scatter-chart.d.ts +142 -0
- package/dist/scatter-chart.js +252 -0
- package/dist/scatter-chart.js.map +1 -0
- package/dist/search-input.d.ts +1 -0
- package/dist/search-input.js +22 -320
- package/dist/search-input.js.map +1 -1
- package/dist/select.js +15 -292
- package/dist/select.js.map +1 -1
- package/dist/separator.js +5 -68
- package/dist/separator.js.map +1 -1
- package/dist/sheet.js +14 -271
- package/dist/sheet.js.map +1 -1
- package/dist/sidebar.d.ts +1 -1
- package/dist/sidebar.js +89 -494
- package/dist/sidebar.js.map +1 -1
- package/dist/size-context.js +5 -17
- package/dist/size-context.js.map +1 -1
- package/dist/skeleton.js +4 -44
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.d.ts +28 -0
- package/dist/slider.js +152 -0
- package/dist/slider.js.map +1 -0
- package/dist/sparkline.js +33 -341
- package/dist/sparkline.js.map +1 -1
- package/dist/stepper.js +5 -35
- package/dist/stepper.js.map +1 -1
- package/dist/styles.css +9593 -2
- package/dist/switch.js +13 -48
- package/dist/switch.js.map +1 -1
- package/dist/tab-list.js +35 -306
- package/dist/tab-list.js.map +1 -1
- package/dist/table.js +5 -32
- package/dist/table.js.map +1 -1
- package/dist/tabs.js +10 -150
- package/dist/tabs.js.map +1 -1
- package/dist/tag.d.ts +7 -6
- package/dist/tag.js +101 -97
- package/dist/tag.js.map +1 -1
- package/dist/testimonial-block.d.ts +34 -0
- package/dist/testimonial-block.js +377 -0
- package/dist/testimonial-block.js.map +1 -0
- package/dist/textarea.js +6 -73
- package/dist/textarea.js.map +1 -1
- package/dist/time-picker.js +119 -279
- package/dist/time-picker.js.map +1 -1
- package/dist/toast.js +27 -132
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.d.ts +5 -5
- package/dist/tooltip.js +7 -90
- package/dist/tooltip.js.map +1 -1
- package/dist/tree-map.js +41 -414
- package/dist/tree-map.js.map +1 -1
- package/dist/waterfall-chart.d.ts +129 -0
- package/dist/waterfall-chart.js +577 -0
- package/dist/waterfall-chart.js.map +1 -0
- package/package.json +98 -28
- package/dist/base.css +0 -32
- 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/index.d.ts +0 -87
- package/dist/index.js +0 -10448
- package/dist/index.js.map +0 -1
- package/dist/red-hat-display.css +0 -2
- package/dist/theme/giddaa.css +0 -2
package/dist/date-picker.js
CHANGED
|
@@ -1,434 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
import { CalendarIcon } from "lucide-react";
|
|
3
|
-
import * as React2 from "react";
|
|
4
|
-
|
|
5
|
-
// src/lib/cn.ts
|
|
6
|
-
import { clsx } from "clsx";
|
|
7
|
-
import { extendTailwindMerge } from "tailwind-merge";
|
|
8
|
-
var twMerge = extendTailwindMerge({
|
|
9
|
-
extend: {
|
|
10
|
-
classGroups: {
|
|
11
|
-
"font-size": [
|
|
12
|
-
{
|
|
13
|
-
text: [
|
|
14
|
-
"gdt-display",
|
|
15
|
-
"gdt-h1",
|
|
16
|
-
"gdt-h2",
|
|
17
|
-
"gdt-h3",
|
|
18
|
-
"gdt-h4",
|
|
19
|
-
"gdt-h5",
|
|
20
|
-
"gdt-xl",
|
|
21
|
-
"gdt-lg",
|
|
22
|
-
"gdt-md",
|
|
23
|
-
"gdt-sm",
|
|
24
|
-
"gdt-xs",
|
|
25
|
-
"gdt-subtext",
|
|
26
|
-
"gdt-capitalized"
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
function cn(...inputs) {
|
|
34
|
-
return twMerge(clsx(inputs));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// src/components/ui/button.tsx
|
|
38
|
-
import { Button as ButtonPrimitive } from "@base-ui/react/button";
|
|
39
|
-
import { cva } from "class-variance-authority";
|
|
40
|
-
import { Loader } from "lucide-react";
|
|
41
|
-
|
|
42
|
-
// src/components/ui/size-context.tsx
|
|
43
|
-
import { createContext, useContext } from "react";
|
|
44
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
45
|
-
var SizeContext = createContext(void 0);
|
|
46
|
-
function SizeProvider({
|
|
47
|
-
children,
|
|
48
|
-
size
|
|
49
|
-
}) {
|
|
50
|
-
if (!size) {
|
|
51
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
52
|
-
}
|
|
53
|
-
return /* @__PURE__ */ jsx(SizeContext.Provider, { value: size, children });
|
|
54
|
-
}
|
|
55
|
-
function useComponentSize(size, fallback = "md") {
|
|
56
|
-
const inheritedSize = useContext(SizeContext);
|
|
57
|
-
return size ?? inheritedSize ?? fallback;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// src/components/ui/button.tsx
|
|
61
|
-
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
62
|
-
var buttonVariants = cva(
|
|
63
|
-
"group/button inline-flex shrink-0 items-center justify-center rounded-full bg-clip-padding whitespace-nowrap font-bold transition-[background-color,color,border-color,box-shadow,transform] outline-none select-none focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-invalid:border-line-danger aria-invalid:ring-3 aria-invalid:ring-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
64
|
-
{
|
|
65
|
-
variants: {
|
|
66
|
-
variant: {
|
|
67
|
-
primary: "bg-action-primary text-fg-on-brand hover:bg-action-primary-hover active:bg-action-primary-pressed",
|
|
68
|
-
"primary-outline": "border-2 border-action-primary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
|
|
69
|
-
secondary: "bg-surface-brand-subtle text-fg-brand hover:bg-action-primary-hover hover:text-fg-on-brand active:bg-action-primary-pressed active:text-fg-on-brand data-focused:bg-action-primary-hover data-pressed:bg-action-primary-pressed data-focused:text-fg-on-brand data-pressed:text-fg-on-brand",
|
|
70
|
-
"secondary-outline": "border-2 border-action-secondary bg-transparent text-fg-brand hover:bg-surface-brand-subtle active:bg-surface-brand-subtle data-focused:bg-surface-brand-subtle data-pressed:bg-surface-brand-subtle",
|
|
71
|
-
tertiary: "bg-action-tertiary text-fg-primary hover:bg-action-tertiary-hover active:bg-action-tertiary-pressed data-focused:bg-action-tertiary-hover data-pressed:bg-action-tertiary-pressed",
|
|
72
|
-
"tertiary-outline": "border border-line-strong bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
|
|
73
|
-
ghost: "bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
|
|
74
|
-
danger: "bg-action-danger text-fg-on-brand hover:bg-action-danger-hover active:bg-action-danger-pressed data-focused:bg-action-danger-hover data-pressed:bg-action-danger-pressed",
|
|
75
|
-
"glass-overlay": "bg-surface-glass-overlay-button text-fg-on-brand",
|
|
76
|
-
"link-brand": "border-transparent bg-transparent px-0 text-fg-brand hover:underline active:underline active:opacity-70",
|
|
77
|
-
"link-neutral": "border-transparent bg-transparent px-0 text-fg-secondary hover:underline active:underline active:opacity-70"
|
|
78
|
-
},
|
|
79
|
-
size: {
|
|
80
|
-
sm: "h-8 gap-2 px-3.5 text-gdt-xs has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3 [&_svg:not([class*='size-'])]:size-3.5",
|
|
81
|
-
md: "h-10 gap-2 px-4.5 text-gdt-sm has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4",
|
|
82
|
-
lg: "h-12.5 gap-2.5 px-5.5 text-gdt-md has-data-[icon=inline-end]:pr-5 has-data-[icon=inline-start]:pl-5 [&_svg:not([class*='size-'])]:size-4.5",
|
|
83
|
-
xl: "h-14 gap-3 px-6.5 text-gdt-lg has-data-[icon=inline-end]:pr-6 has-data-[icon=inline-start]:pl-6 [&_svg:not([class*='size-'])]:size-5",
|
|
84
|
-
icon: "size-10",
|
|
85
|
-
"icon-xs": "size-6 text-gdt-xs [&_svg:not([class*='size-'])]:size-3",
|
|
86
|
-
"icon-sm": "size-8 text-gdt-sm [&_svg:not([class*='size-'])]:size-3.5",
|
|
87
|
-
"icon-lg": "size-12.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5",
|
|
88
|
-
"icon-xl": "size-14 text-gdt-lg [&_svg:not([class*='size-'])]:size-5"
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
defaultVariants: {
|
|
92
|
-
variant: "primary",
|
|
93
|
-
size: "md"
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
);
|
|
97
|
-
function Button({
|
|
98
|
-
className,
|
|
99
|
-
variant = "primary",
|
|
100
|
-
size,
|
|
101
|
-
isLoading = false,
|
|
102
|
-
children,
|
|
103
|
-
disabled = false,
|
|
104
|
-
...props
|
|
105
|
-
}) {
|
|
106
|
-
const inheritedSize = useComponentSize();
|
|
107
|
-
const resolvedSize = size ?? inheritedSize;
|
|
108
|
-
const _disabled = disabled || isLoading;
|
|
109
|
-
return /* @__PURE__ */ jsxs(
|
|
110
|
-
ButtonPrimitive,
|
|
111
|
-
{
|
|
112
|
-
"data-slot": "button",
|
|
113
|
-
className: cn(buttonVariants({ variant, size: resolvedSize, className })),
|
|
114
|
-
disabled: _disabled,
|
|
115
|
-
...props,
|
|
116
|
-
children: [
|
|
117
|
-
isLoading && /* @__PURE__ */ jsx2(Loader, { className: "size-4 animate-spin" }),
|
|
118
|
-
" ",
|
|
119
|
-
children
|
|
120
|
-
]
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// src/components/ui/calendar.tsx
|
|
126
|
-
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
127
|
-
import * as React from "react";
|
|
1
|
+
"use client";
|
|
128
2
|
import {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
} from "
|
|
132
|
-
import {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
className: cn(
|
|
150
|
-
"group/calendar bg-transparent p-4 [--cell-radius:var(--radius-md)] [--cell-height:36px] [--cell-width:40px]",
|
|
151
|
-
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
152
|
-
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
153
|
-
className
|
|
154
|
-
),
|
|
155
|
-
locale,
|
|
156
|
-
formatters: {
|
|
157
|
-
formatWeekdayName: (date) => date.toLocaleString(locale?.code, { weekday: "narrow" }),
|
|
158
|
-
...formatters
|
|
159
|
-
},
|
|
160
|
-
classNames: {
|
|
161
|
-
root: cn("w-fit", defaultClassNames.root),
|
|
162
|
-
months: cn(
|
|
163
|
-
"relative flex flex-col gap-4 md:flex-row",
|
|
164
|
-
defaultClassNames.months
|
|
165
|
-
),
|
|
166
|
-
month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
|
|
167
|
-
nav: cn(
|
|
168
|
-
"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
|
|
169
|
-
defaultClassNames.nav
|
|
170
|
-
),
|
|
171
|
-
button_previous: cn(
|
|
172
|
-
"flex size-7 items-center justify-center rounded-(--cell-radius) text-fg-secondary transition-colors outline-none select-none hover:bg-surface focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] aria-disabled:opacity-40",
|
|
173
|
-
defaultClassNames.button_previous
|
|
174
|
-
),
|
|
175
|
-
button_next: cn(
|
|
176
|
-
"flex size-7 items-center justify-center rounded-(--cell-radius) text-fg-secondary transition-colors outline-none select-none hover:bg-surface focus-visible:border-line-focus focus-visible:shadow-[0px_0px_0px_2px_var(--color-line-focus)] aria-disabled:opacity-40",
|
|
177
|
-
defaultClassNames.button_next
|
|
178
|
-
),
|
|
179
|
-
month_caption: cn(
|
|
180
|
-
"flex h-(--cell-height) w-full items-center justify-center px-(--cell-width)",
|
|
181
|
-
defaultClassNames.month_caption
|
|
182
|
-
),
|
|
183
|
-
caption_label: cn(
|
|
184
|
-
"text-gdt-sm font-medium text-fg-primary select-none",
|
|
185
|
-
defaultClassNames.caption_label
|
|
186
|
-
),
|
|
187
|
-
table: "w-full border-collapse",
|
|
188
|
-
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
189
|
-
weekday: cn(
|
|
190
|
-
"flex-1 text-gdt-xs font-normal text-fg-secondary select-none",
|
|
191
|
-
defaultClassNames.weekday
|
|
192
|
-
),
|
|
193
|
-
week: cn("mt-1 flex w-full", defaultClassNames.week),
|
|
194
|
-
day: cn(
|
|
195
|
-
"group/day relative aspect-square h-full w-full p-0 text-center select-none",
|
|
196
|
-
defaultClassNames.day
|
|
197
|
-
),
|
|
198
|
-
range_start: cn(
|
|
199
|
-
"rounded-l-full bg-surface-brand-subtle",
|
|
200
|
-
defaultClassNames.range_start
|
|
201
|
-
),
|
|
202
|
-
range_middle: cn(
|
|
203
|
-
"rounded-none bg-surface-brand-subtle",
|
|
204
|
-
defaultClassNames.range_middle
|
|
205
|
-
),
|
|
206
|
-
range_end: cn(
|
|
207
|
-
"rounded-r-full bg-surface-brand-subtle",
|
|
208
|
-
defaultClassNames.range_end
|
|
209
|
-
),
|
|
210
|
-
today: cn(
|
|
211
|
-
"rounded-full h-(--cell-height) w-(--cell-width) flex items-center justify-center bg-surface-brand-subtle p-0",
|
|
212
|
-
defaultClassNames.today
|
|
213
|
-
),
|
|
214
|
-
outside: cn(
|
|
215
|
-
"text-fg-caption-placeholder aria-selected:text-fg-caption-placeholder",
|
|
216
|
-
defaultClassNames.outside
|
|
217
|
-
),
|
|
218
|
-
disabled: cn(
|
|
219
|
-
"text-fg-caption-placeholder opacity-50",
|
|
220
|
-
defaultClassNames.disabled
|
|
221
|
-
),
|
|
222
|
-
hidden: cn("invisible", defaultClassNames.hidden),
|
|
223
|
-
...classNames
|
|
224
|
-
},
|
|
225
|
-
components: {
|
|
226
|
-
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
227
|
-
return /* @__PURE__ */ jsx3(
|
|
228
|
-
"div",
|
|
229
|
-
{
|
|
230
|
-
"data-slot": "calendar",
|
|
231
|
-
ref: rootRef,
|
|
232
|
-
className: cn(className2),
|
|
233
|
-
...props2
|
|
234
|
-
}
|
|
235
|
-
);
|
|
236
|
-
},
|
|
237
|
-
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
238
|
-
if (orientation === "right") {
|
|
239
|
-
return /* @__PURE__ */ jsx3(
|
|
240
|
-
ChevronRightIcon,
|
|
241
|
-
{
|
|
242
|
-
className: cn("size-4", className2),
|
|
243
|
-
...props2
|
|
244
|
-
}
|
|
245
|
-
);
|
|
246
|
-
}
|
|
247
|
-
return /* @__PURE__ */ jsx3(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
|
|
248
|
-
},
|
|
249
|
-
DayButton: ({ ...props2 }) => /* @__PURE__ */ jsx3(CalendarDayButton, { locale, ...props2 }),
|
|
250
|
-
WeekNumber: ({ children, ...props2 }) => {
|
|
251
|
-
return /* @__PURE__ */ jsx3("td", { ...props2, children: /* @__PURE__ */ jsx3("div", { className: "flex h-(--cell-height) w-(--cell-width) items-center justify-center text-center", children }) });
|
|
252
|
-
},
|
|
253
|
-
...components
|
|
254
|
-
},
|
|
255
|
-
...props
|
|
256
|
-
}
|
|
257
|
-
);
|
|
258
|
-
}
|
|
259
|
-
function CalendarDayButton({
|
|
260
|
-
className,
|
|
261
|
-
day,
|
|
262
|
-
modifiers,
|
|
263
|
-
locale,
|
|
264
|
-
...props
|
|
265
|
-
}) {
|
|
266
|
-
const defaultClassNames = getDefaultClassNames();
|
|
267
|
-
const ref = React.useRef(null);
|
|
268
|
-
React.useEffect(() => {
|
|
269
|
-
if (modifiers.focused) ref.current?.focus();
|
|
270
|
-
}, [modifiers.focused]);
|
|
271
|
-
const isEndpoint = modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle || modifiers.range_start || modifiers.range_end;
|
|
272
|
-
return /* @__PURE__ */ jsx3(
|
|
273
|
-
Button,
|
|
274
|
-
{
|
|
275
|
-
ref,
|
|
276
|
-
variant: "ghost",
|
|
277
|
-
size: "icon",
|
|
278
|
-
"data-day": day.date.toLocaleDateString(locale?.code),
|
|
279
|
-
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
280
|
-
"data-range-start": modifiers.range_start,
|
|
281
|
-
"data-range-end": modifiers.range_end,
|
|
282
|
-
"data-range-middle": modifiers.range_middle,
|
|
283
|
-
className: cn(
|
|
284
|
-
"relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-width) h-(--cell-height) items-center justify-center rounded-full border-0 text-gdt-sm font-normal leading-none",
|
|
285
|
-
// Selected single + range endpoints: filled brand circle.
|
|
286
|
-
"data-[range-end=true]:bg-action-primary data-[range-end=true]:text-fg-on-brand data-[range-end=true]:hover:bg-action-primary-hover data-[range-end=true]:hover:text-fg-on-brand",
|
|
287
|
-
"data-[range-start=true]:bg-action-primary data-[range-start=true]:text-fg-on-brand data-[range-start=true]:hover:bg-action-primary-hover data-[range-start=true]:hover:text-fg-on-brand",
|
|
288
|
-
"data-[selected-single=true]:bg-action-primary data-[selected-single=true]:text-fg-on-brand data-[selected-single=true]:hover:bg-action-primary-hover data-[selected-single=true]:hover:text-fg-on-brand",
|
|
289
|
-
// In-range days: brand wash carried by the cell, brand text on the button.
|
|
290
|
-
"data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-transparent data-[range-middle=true]:text-fg-brand data-[range-middle=true]:hover:bg-transparent",
|
|
291
|
-
isEndpoint && "font-medium",
|
|
292
|
-
"group-data-[focused=true]/day:border-line-focus group-data-[focused=true]/day:shadow-[0px_0px_0px_2px_var(--color-line-focus)]",
|
|
293
|
-
defaultClassNames.day,
|
|
294
|
-
className
|
|
295
|
-
),
|
|
296
|
-
...props
|
|
297
|
-
}
|
|
298
|
-
);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// src/components/ui/popover.tsx
|
|
302
|
-
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
303
|
-
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
304
|
-
function Popover({ ...props }) {
|
|
305
|
-
return /* @__PURE__ */ jsx4(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
306
|
-
}
|
|
307
|
-
function PopoverTrigger({ ...props }) {
|
|
308
|
-
return /* @__PURE__ */ jsx4(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
309
|
-
}
|
|
310
|
-
function PopoverContent({
|
|
311
|
-
className,
|
|
312
|
-
align = "center",
|
|
313
|
-
alignOffset = 0,
|
|
314
|
-
side = "bottom",
|
|
315
|
-
sideOffset = 6,
|
|
316
|
-
showArrow = true,
|
|
317
|
-
size = "md",
|
|
318
|
-
children,
|
|
319
|
-
...props
|
|
320
|
-
}) {
|
|
321
|
-
return /* @__PURE__ */ jsx4(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx4(
|
|
322
|
-
PopoverPrimitive.Positioner,
|
|
323
|
-
{
|
|
324
|
-
align,
|
|
325
|
-
alignOffset,
|
|
326
|
-
side,
|
|
327
|
-
sideOffset,
|
|
328
|
-
className: "isolate z-50",
|
|
329
|
-
children: /* @__PURE__ */ jsxs2(
|
|
330
|
-
PopoverPrimitive.Popup,
|
|
331
|
-
{
|
|
332
|
-
"data-slot": "popover-content",
|
|
333
|
-
className: cn(
|
|
334
|
-
"z-50 relative flex w-72 max-w-[calc(100vw-2rem)] origin-(--transform-origin) flex-col rounded-lg border-0 bg-surface-overlay py-4 text-gdt-sm text-fg-primary shadow-2 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 has-[&_[data-slot=popover-footer]]:pb-0",
|
|
335
|
-
className
|
|
336
|
-
),
|
|
337
|
-
...props,
|
|
338
|
-
children: [
|
|
339
|
-
/* @__PURE__ */ jsx4(SizeProvider, { size, children }),
|
|
340
|
-
showArrow ? /* @__PURE__ */ jsx4(PopoverPrimitive.Arrow, { className: "relative block w-3 h-1.5 overflow-clip data-[side=bottom]:top-[-6px] data-[side=left]:right-[-9px] data-[side=left]:rotate-90 data-[side=right]:left-[-9px] data-[side=right]:-rotate-90 data-[side=top]:bottom-[-6px] data-[side=top]:rotate-180 before:content-[''] before:absolute before:bottom-0 before:left-1/2 before:w-[calc(6px*sqrt(2))] before:h-[calc(6px*sqrt(2))] before:bg-surface-overlay before:border before:border-line before:[transform:translate(-50%,50%)_rotate(45deg)]" }) : null
|
|
341
|
-
]
|
|
342
|
-
}
|
|
343
|
-
)
|
|
344
|
-
}
|
|
345
|
-
) });
|
|
346
|
-
}
|
|
3
|
+
PickerFooter,
|
|
4
|
+
PickerTrigger
|
|
5
|
+
} from "./chunk-YDWIHW6Q.js";
|
|
6
|
+
import {
|
|
7
|
+
Popover,
|
|
8
|
+
PopoverContent
|
|
9
|
+
} from "./chunk-JVLUBAPB.js";
|
|
10
|
+
import {
|
|
11
|
+
Calendar
|
|
12
|
+
} from "./chunk-GJOFIJS3.js";
|
|
13
|
+
import "./chunk-VGR4ZWJ3.js";
|
|
14
|
+
import "./chunk-6ZSGQHH2.js";
|
|
15
|
+
import "./chunk-KSMDANKI.js";
|
|
16
|
+
import "./chunk-MEKCCOP5.js";
|
|
17
|
+
import "./chunk-3ACQVT7A.js";
|
|
18
|
+
import "./chunk-B4H6RNDH.js";
|
|
19
|
+
import "./chunk-HL3ZSYES.js";
|
|
20
|
+
import {
|
|
21
|
+
cn
|
|
22
|
+
} from "./chunk-Y4TTYVNE.js";
|
|
347
23
|
|
|
348
|
-
// src/
|
|
349
|
-
import {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
"February",
|
|
353
|
-
"March",
|
|
354
|
-
"April",
|
|
355
|
-
"May",
|
|
356
|
-
"June",
|
|
357
|
-
"July",
|
|
358
|
-
"August",
|
|
359
|
-
"September",
|
|
360
|
-
"October",
|
|
361
|
-
"November",
|
|
362
|
-
"December"
|
|
363
|
-
];
|
|
24
|
+
// src/date-picker.tsx
|
|
25
|
+
import { CalendarIcon } from "lucide-react";
|
|
26
|
+
import * as React from "react";
|
|
27
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
364
28
|
function formatDate(date) {
|
|
365
|
-
|
|
366
|
-
|
|
29
|
+
return date.toLocaleDateString("en-GB", {
|
|
30
|
+
day: "2-digit",
|
|
31
|
+
month: "long",
|
|
32
|
+
year: "numeric"
|
|
33
|
+
});
|
|
367
34
|
}
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
disabled,
|
|
372
|
-
open,
|
|
373
|
-
className
|
|
374
|
-
}) {
|
|
375
|
-
return /* @__PURE__ */ jsxs3(
|
|
376
|
-
PopoverTrigger,
|
|
377
|
-
{
|
|
378
|
-
disabled,
|
|
379
|
-
className: cn(
|
|
380
|
-
"flex h-10 w-full items-center justify-between rounded-full border px-3.5 text-gdt-sm transition-[border-color,box-shadow] outline-none",
|
|
381
|
-
disabled ? "cursor-not-allowed border-line-subtle bg-surface text-fg-caption-placeholder" : open ? "border-line-focus bg-canvas text-fg-primary inset-ring-1 inset-ring-line-focus" : "border-line bg-canvas text-fg-primary hover:border-line-strong",
|
|
382
|
-
className
|
|
383
|
-
),
|
|
384
|
-
children: [
|
|
385
|
-
/* @__PURE__ */ jsx5(
|
|
386
|
-
"span",
|
|
387
|
-
{
|
|
388
|
-
className: cn(
|
|
389
|
-
"min-w-0 truncate",
|
|
390
|
-
!displayValue && "text-fg-caption-placeholder"
|
|
391
|
-
),
|
|
392
|
-
children: displayValue || placeholder
|
|
393
|
-
}
|
|
394
|
-
),
|
|
395
|
-
/* @__PURE__ */ jsx5(
|
|
396
|
-
CalendarIcon,
|
|
397
|
-
{
|
|
398
|
-
className: cn(
|
|
399
|
-
"ml-2 size-4 shrink-0",
|
|
400
|
-
disabled ? "text-fg-caption-placeholder" : "text-fg-secondary"
|
|
401
|
-
)
|
|
402
|
-
}
|
|
403
|
-
)
|
|
404
|
-
]
|
|
405
|
-
}
|
|
406
|
-
);
|
|
35
|
+
var PANEL_CLASSES = "flex min-w-(--anchor-width) flex-col items-center gap-0 overflow-hidden rounded-2xl p-0";
|
|
36
|
+
function defaultStartMonth() {
|
|
37
|
+
return new Date((/* @__PURE__ */ new Date()).getFullYear() - 100, 0);
|
|
407
38
|
}
|
|
408
|
-
function
|
|
409
|
-
return /* @__PURE__ */
|
|
410
|
-
/* @__PURE__ */ jsx5(Button, { variant: "tertiary-outline", size: "sm", onClick: onClear, children: "Clear" }),
|
|
411
|
-
/* @__PURE__ */ jsx5(Button, { size: "sm", onClick: onApply, children: "Apply" })
|
|
412
|
-
] });
|
|
39
|
+
function defaultEndMonth() {
|
|
40
|
+
return new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11);
|
|
413
41
|
}
|
|
414
|
-
var PANEL_CLASSES = "min-w-(--anchor-width) gap-0 overflow-hidden rounded-2xl flex flex-col items-center p-0";
|
|
415
42
|
function DatePicker({
|
|
416
43
|
value,
|
|
417
44
|
onChange,
|
|
418
45
|
disabled = false,
|
|
419
46
|
placeholder = "Select date",
|
|
420
|
-
className
|
|
47
|
+
className,
|
|
48
|
+
captionLayout = "dropdown",
|
|
49
|
+
startMonth,
|
|
50
|
+
endMonth,
|
|
51
|
+
disabledDates
|
|
421
52
|
}) {
|
|
422
|
-
const [open, setOpen] =
|
|
423
|
-
const [pending, setPending] =
|
|
53
|
+
const [open, setOpen] = React.useState(false);
|
|
54
|
+
const [pending, setPending] = React.useState(value);
|
|
55
|
+
const [month, setMonth] = React.useState(() => value ?? /* @__PURE__ */ new Date());
|
|
424
56
|
function handleOpenChange(next) {
|
|
425
|
-
if (next)
|
|
57
|
+
if (next) {
|
|
58
|
+
setPending(value);
|
|
59
|
+
setMonth(value ?? /* @__PURE__ */ new Date());
|
|
60
|
+
}
|
|
426
61
|
setOpen(next);
|
|
427
62
|
}
|
|
428
|
-
return /* @__PURE__ */
|
|
429
|
-
/* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
430
65
|
PickerTrigger,
|
|
431
66
|
{
|
|
67
|
+
icon: CalendarIcon,
|
|
432
68
|
displayValue: value ? formatDate(value) : "",
|
|
433
69
|
placeholder,
|
|
434
70
|
disabled,
|
|
@@ -436,19 +72,33 @@ function DatePicker({
|
|
|
436
72
|
className
|
|
437
73
|
}
|
|
438
74
|
),
|
|
439
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ jsxs(
|
|
440
76
|
PopoverContent,
|
|
441
77
|
{
|
|
442
78
|
showArrow: false,
|
|
443
79
|
align: "start",
|
|
444
80
|
side: "bottom",
|
|
445
81
|
className: PANEL_CLASSES,
|
|
446
|
-
children:
|
|
447
|
-
/* @__PURE__ */
|
|
448
|
-
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ jsx(
|
|
84
|
+
Calendar,
|
|
85
|
+
{
|
|
86
|
+
mode: "single",
|
|
87
|
+
selected: pending,
|
|
88
|
+
onSelect: setPending,
|
|
89
|
+
month,
|
|
90
|
+
onMonthChange: setMonth,
|
|
91
|
+
captionLayout,
|
|
92
|
+
startMonth: startMonth ?? defaultStartMonth(),
|
|
93
|
+
endMonth: endMonth ?? defaultEndMonth(),
|
|
94
|
+
disabled: disabledDates
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ jsx(
|
|
449
98
|
PickerFooter,
|
|
450
99
|
{
|
|
451
|
-
|
|
100
|
+
secondaryLabel: "Clear",
|
|
101
|
+
onSecondary: () => {
|
|
452
102
|
setPending(void 0);
|
|
453
103
|
onChange?.(void 0);
|
|
454
104
|
setOpen(false);
|
|
@@ -459,7 +109,7 @@ function DatePicker({
|
|
|
459
109
|
}
|
|
460
110
|
}
|
|
461
111
|
)
|
|
462
|
-
]
|
|
112
|
+
]
|
|
463
113
|
}
|
|
464
114
|
)
|
|
465
115
|
] });
|
|
@@ -469,12 +119,22 @@ function DateRangePicker({
|
|
|
469
119
|
onChange,
|
|
470
120
|
disabled = false,
|
|
471
121
|
placeholder = "Select date range",
|
|
472
|
-
className
|
|
122
|
+
className,
|
|
123
|
+
captionLayout = "dropdown",
|
|
124
|
+
startMonth,
|
|
125
|
+
endMonth,
|
|
126
|
+
disabledDates
|
|
473
127
|
}) {
|
|
474
|
-
const [open, setOpen] =
|
|
475
|
-
const [pending, setPending] =
|
|
128
|
+
const [open, setOpen] = React.useState(false);
|
|
129
|
+
const [pending, setPending] = React.useState(value);
|
|
130
|
+
const [month, setMonth] = React.useState(
|
|
131
|
+
() => value?.from ?? /* @__PURE__ */ new Date()
|
|
132
|
+
);
|
|
476
133
|
function handleOpenChange(next) {
|
|
477
|
-
if (next)
|
|
134
|
+
if (next) {
|
|
135
|
+
setPending(value);
|
|
136
|
+
setMonth(value?.from ?? /* @__PURE__ */ new Date());
|
|
137
|
+
}
|
|
478
138
|
setOpen(next);
|
|
479
139
|
}
|
|
480
140
|
const displayValue = (() => {
|
|
@@ -483,10 +143,11 @@ function DateRangePicker({
|
|
|
483
143
|
if (value?.from) return formatDate(value.from);
|
|
484
144
|
return "";
|
|
485
145
|
})();
|
|
486
|
-
return /* @__PURE__ */
|
|
487
|
-
/* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
147
|
+
/* @__PURE__ */ jsx(
|
|
488
148
|
PickerTrigger,
|
|
489
149
|
{
|
|
150
|
+
icon: CalendarIcon,
|
|
490
151
|
displayValue,
|
|
491
152
|
placeholder,
|
|
492
153
|
disabled,
|
|
@@ -494,18 +155,32 @@ function DateRangePicker({
|
|
|
494
155
|
className
|
|
495
156
|
}
|
|
496
157
|
),
|
|
497
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ jsxs(
|
|
498
159
|
PopoverContent,
|
|
499
160
|
{
|
|
500
161
|
showArrow: false,
|
|
501
162
|
align: "start",
|
|
502
163
|
className: cn(PANEL_CLASSES, "w-auto"),
|
|
503
164
|
children: [
|
|
504
|
-
/* @__PURE__ */
|
|
505
|
-
|
|
165
|
+
/* @__PURE__ */ jsx(
|
|
166
|
+
Calendar,
|
|
167
|
+
{
|
|
168
|
+
mode: "range",
|
|
169
|
+
selected: pending,
|
|
170
|
+
onSelect: setPending,
|
|
171
|
+
month,
|
|
172
|
+
onMonthChange: setMonth,
|
|
173
|
+
captionLayout,
|
|
174
|
+
startMonth: startMonth ?? defaultStartMonth(),
|
|
175
|
+
endMonth: endMonth ?? defaultEndMonth(),
|
|
176
|
+
disabled: disabledDates
|
|
177
|
+
}
|
|
178
|
+
),
|
|
179
|
+
/* @__PURE__ */ jsx(
|
|
506
180
|
PickerFooter,
|
|
507
181
|
{
|
|
508
|
-
|
|
182
|
+
secondaryLabel: "Clear",
|
|
183
|
+
onSecondary: () => {
|
|
509
184
|
setPending(void 0);
|
|
510
185
|
onChange?.(void 0);
|
|
511
186
|
setOpen(false);
|