@datum-cloud/datum-ui 3.7.1 → 3.8.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/dist/app-navigation/index.mjs +1 -1
- package/dist/{app-navigation-Bcx7hr9L.mjs → app-navigation-DyNZwlSG.mjs} +4 -4
- package/dist/assistant/index.mjs +9 -8
- package/dist/autocomplete/index.mjs +1 -1
- package/dist/{autocomplete-fSSmRLYK.mjs → autocomplete-D0zAcT78.mjs} +2 -2
- package/dist/autosearch/index.mjs +2 -2
- package/dist/badge/index.mjs +182 -1
- package/dist/button/index.mjs +2 -2
- package/dist/{button-Dj6cKrWj.mjs → button-Cn4KagBO.mjs} +1 -1
- package/dist/{button-BU8TEbJ5.mjs → button-IK-Lnu_9.mjs} +1 -1
- package/dist/{calendar-date-picker-BUwgVaI1.mjs → calendar-date-picker-CknZM6a2.mjs} +1 -1
- package/dist/card/index.mjs +1 -1
- package/dist/{card-save-bar-0XDpAJo_.mjs → card-save-bar-Te8jf-ie.mjs} +1 -1
- package/dist/checkbox/index.mjs +1 -1
- package/dist/checkbox-BAo5sbHk.mjs +84 -0
- package/dist/collapsible/index.mjs +1 -6
- package/dist/collapsible-B-KP3JZ-.mjs +104 -0
- package/dist/components/base/checkbox/checkbox.d.ts +11 -3
- package/dist/components/base/collapsible/collapsible.d.ts +28 -0
- package/dist/components/base/collapsible/index.d.ts +1 -1
- package/dist/components/base/radio-group/radio-group.d.ts +11 -5
- package/dist/components/base/spinner/index.d.ts +1 -1
- package/dist/components/base/spinner/spinner.d.ts +11 -0
- package/dist/components/base/switch/switch.d.ts +6 -1
- package/dist/components/base/typography/typography.d.ts +1 -1
- package/dist/components/features/_shared/copy-state-icon.d.ts +12 -0
- package/dist/components/features/_shared/index.d.ts +2 -0
- package/dist/components/features/_shared/motion-chip.d.ts +293 -0
- package/dist/components/icons/spinner.icon.d.ts +17 -3
- package/dist/copy-state-icon-DMvXXsZm.mjs +61 -0
- package/dist/data-table/index.mjs +1 -1
- package/dist/{data-table-s2YrE79S.mjs → data-table-CpBwO8Ea.mjs} +6 -6
- package/dist/date-picker/index.mjs +3 -3
- package/dist/date-time-picker/index.mjs +1 -1
- package/dist/{date-time-picker-CLdaGiGC.mjs → date-time-picker-Bc41Ixrs.mjs} +1 -1
- package/dist/{date-time-range-picker-RZX4CS4b.mjs → date-time-range-picker-yy1Acntn.mjs} +2 -2
- package/dist/dropzone/index.mjs +1 -1
- package/dist/{dropzone-Cer9E-VH.mjs → dropzone-qKYfSe7o.mjs} +1 -1
- package/dist/empty-content/index.mjs +1 -1
- package/dist/{empty-content-B2FZ9cyt.mjs → empty-content-CTMHak36.mjs} +1 -1
- package/dist/form/index.mjs +1 -1
- package/dist/form/stepper/index.mjs +1 -1
- package/dist/{form-C4XcxxjK.mjs → form-DTaVgDSV.mjs} +19 -12
- package/dist/grouped-table/index.mjs +1 -1
- package/dist/{grouped-table-32RO2v7U.mjs → grouped-table-Dl6DclbV.mjs} +3 -3
- package/dist/icons/index.mjs +1 -1
- package/dist/index.mjs +32 -32
- package/dist/{layers-XEND2WKv.mjs → layers-DLUbkJtt.mjs} +10 -2
- package/dist/loader-overlay/index.mjs +1 -1
- package/dist/{loader-overlay-JvB8IQo3.mjs → loader-overlay-DP0pvHuG.mjs} +1 -1
- package/dist/logs/index.mjs +39 -36
- package/dist/map/index.mjs +1 -1
- package/dist/more-actions/index.mjs +1 -1
- package/dist/{more-actions-D9k1ILzT.mjs → more-actions-BlSOVwa8.mjs} +1 -1
- package/dist/motion-chip-BczV7spP.mjs +52 -0
- package/dist/multi-select/index.mjs +1 -1
- package/dist/{multi-select-BUgx6VZF.mjs → multi-select-C2cBrqXl.mjs} +53 -45
- package/dist/picker/index.mjs +2 -2
- package/dist/{picker-C0h30DHf.mjs → picker-DC3GErYg.mjs} +1 -1
- package/dist/radio-group/index.mjs +1 -1
- package/dist/radio-group-Boxi2hm0.mjs +83 -0
- package/dist/rich-text-editor/index.mjs +1 -1
- package/dist/{rich-text-editor-ibngjhQV.mjs → rich-text-editor-BUz06s-b.mjs} +1 -1
- package/dist/spinner/index.mjs +1 -1
- package/dist/spinner-DSlDJdWl.mjs +23 -0
- package/dist/spinner.icon-BiUnMAxw.mjs +104 -0
- package/dist/switch/index.mjs +1 -1
- package/dist/switch-IduVwiPZ.mjs +114 -0
- package/dist/tabs/index.mjs +1 -1
- package/dist/tag-input/index.mjs +1 -1
- package/dist/{tag-input-DAMY703F.mjs → tag-input-a3ktkGrH.mjs} +39 -32
- package/dist/task-queue/index.mjs +1 -1
- package/dist/{task-queue-dropdown-BgQSGDwg.mjs → task-queue-dropdown-DuCAAybs.mjs} +3 -3
- package/dist/time-picker/index.mjs +1 -1
- package/dist/{time-picker-DgHjdcMZ.mjs → time-picker-B_am4eAK.mjs} +1 -1
- package/dist/{to-api-format-EZInfj0_.mjs → to-api-format-DyImCzCn.mjs} +2 -2
- package/dist/transfer/index.mjs +1 -1
- package/dist/{transfer-91lwTOhX.mjs → transfer-DGUeAQUL.mjs} +1 -1
- package/dist/{use-option-picker-CBMU72LU.mjs → use-option-picker-DXY2SNnT.mjs} +2 -2
- package/package.json +1 -4
- package/dist/badge-D7A6GfWn.mjs +0 -182
- package/dist/checkbox-CNljVnKj.mjs +0 -28
- package/dist/radio-group-0RxTmRnF.mjs +0 -43
- package/dist/spinner-DjEpx6Q3.mjs +0 -13
- package/dist/spinner.icon-D0SKuGFG.mjs +0 -47
- package/dist/switch-CWvVN9ea.mjs +0 -33
package/dist/icons/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { t as CloseIcon } from "../close.icon-BCPmH4nN.mjs";
|
|
2
2
|
import { t as Icon } from "../icon-wrapper-CIk2th6R.mjs";
|
|
3
|
-
import { t as SpinnerIcon } from "../spinner.icon-
|
|
3
|
+
import { t as SpinnerIcon } from "../spinner.icon-BiUnMAxw.mjs";
|
|
4
4
|
export { CloseIcon, Icon, SpinnerIcon };
|
package/dist/index.mjs
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
2
|
import { n as AlertDescription, r as AlertTitle, t as Alert } from "./alert-CVckvox4.mjs";
|
|
3
3
|
import { Avatar, AvatarFallback, AvatarImage } from "./avatar/index.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { Badge, badgeVariants } from "./badge/index.mjs";
|
|
5
5
|
import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "./breadcrumb-D97jAZ2N.mjs";
|
|
6
|
-
import { t as SpinnerIcon } from "./spinner.icon-
|
|
7
|
-
import { n as buttonVariants, t as Button } from "./button-
|
|
8
|
-
import { t as LinkButton } from "./button-
|
|
6
|
+
import { t as SpinnerIcon } from "./spinner.icon-BiUnMAxw.mjs";
|
|
7
|
+
import { n as buttonVariants, t as Button } from "./button-Cn4KagBO.mjs";
|
|
8
|
+
import { t as LinkButton } from "./button-IK-Lnu_9.mjs";
|
|
9
9
|
import { t as Separator } from "./separator-DNiiN2BN.mjs";
|
|
10
10
|
import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "./button-group-C3GKo-0p.mjs";
|
|
11
11
|
import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
|
|
12
12
|
import { Calendar, CalendarDayButton } from "./calendar/index.mjs";
|
|
13
|
-
import { a as CardField, c as CardFooter, d as CardTitle, i as CardContent, l as CardHeader, n as Card, o as CardFieldLabel, r as CardAction, s as CardFieldValue, t as CardSaveBar, u as CardDescription } from "./card-save-bar-
|
|
13
|
+
import { a as CardField, c as CardFooter, d as CardTitle, i as CardContent, l as CardHeader, n as Card, o as CardFieldLabel, r as CardAction, s as CardFieldValue, t as CardSaveBar, u as CardDescription } from "./card-save-bar-Te8jf-ie.mjs";
|
|
14
14
|
import { a as ChartTooltip, i as ChartStyle, n as ChartLegend, o as ChartTooltipContent, r as ChartLegendContent, t as ChartContainer } from "./chart-BsGsx2jb.mjs";
|
|
15
|
-
import { t as
|
|
16
|
-
import {
|
|
15
|
+
import { n as EASE, t as DURATION } from "./motion-DOrRbLmy.mjs";
|
|
16
|
+
import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
|
|
17
|
+
import { t as Checkbox } from "./checkbox-BAo5sbHk.mjs";
|
|
18
|
+
import { n as CollapsibleContent, r as CollapsibleTrigger, t as Collapsible } from "./collapsible-B-KP3JZ-.mjs";
|
|
17
19
|
import { a as CommandInput, c as CommandSeparator, i as CommandGroup, l as CommandShortcut, n as CommandDialog, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B0be-zU5.mjs";
|
|
18
20
|
import { t as CloseIcon } from "./close.icon-BCPmH4nN.mjs";
|
|
19
21
|
import { t as Dialog } from "./dialog-C8RXIQYm.mjs";
|
|
20
|
-
import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
|
|
21
22
|
import { n as HoverCardContent, r as HoverCardTrigger, t as HoverCard } from "./hover-card-DSt1lZGg.mjs";
|
|
22
23
|
import { t as Input } from "./input-DsT5qkJn.mjs";
|
|
23
24
|
import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as InputGroupTextarea, r as InputGroupButton, t as InputGroup } from "./input-group-CCzvJIZM.mjs";
|
|
24
25
|
import { t as Label } from "./label-BR1V3Imy.mjs";
|
|
25
|
-
import { t as
|
|
26
|
-
import { A as useLeaflet, C as MapMarkerClusterGroup, D as MapRectangle, E as MapPopup, O as MapTooltip, S as MapMarker, T as MapPolyline, _ as MapLocateControl, a as MapTileLayer, b as MapCircle, c as MapDrawDelete, d as MapDrawPolygon, f as MapDrawPolyline, g as MapFullscreenControl, h as MapControlContainer, i as MapLayersControl, j as PlaceAutocomplete, k as Map, l as MapDrawEdit, m as MapDrawUndo, n as MapLayerGroup, o as MapDrawCircle, p as MapDrawRectangle, r as MapLayers, s as MapDrawControl, t as MapFeatureGroup, u as MapDrawMarker, v as MapSearchControl, w as MapPolygon, x as MapCircleMarker, y as MapZoomControl } from "./layers-XEND2WKv.mjs";
|
|
26
|
+
import { A as useLeaflet, C as MapMarkerClusterGroup, D as MapRectangle, E as MapPopup, O as MapTooltip, S as MapMarker, T as MapPolyline, _ as MapLocateControl, a as MapTileLayer, b as MapCircle, c as MapDrawDelete, d as MapDrawPolygon, f as MapDrawPolyline, g as MapFullscreenControl, h as MapControlContainer, i as MapLayersControl, j as PlaceAutocomplete, k as Map, l as MapDrawEdit, m as MapDrawUndo, n as MapLayerGroup, o as MapDrawCircle, p as MapDrawRectangle, r as MapLayers, s as MapDrawControl, t as MapFeatureGroup, u as MapDrawMarker, v as MapSearchControl, w as MapPolygon, x as MapCircleMarker, y as MapZoomControl } from "./layers-DLUbkJtt.mjs";
|
|
27
27
|
import { i as useInSheet, n as MobileSheet, r as InSheetContext, t as ResponsiveSheetTrigger } from "./mobile-sheet-1995HYY_.mjs";
|
|
28
28
|
import { a as SheetHeader, i as SheetFooter, o as SheetTitle, r as SheetDescription, s as SheetTrigger } from "./sheet-DYPtVIb2.mjs";
|
|
29
29
|
import { i as SheetOverlay, n as SheetClose, r as SheetContent, t as Sheet } from "./sheet-DEpEJ_Rk.mjs";
|
|
30
30
|
import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "./popover-7YxyP_W0.mjs";
|
|
31
|
-
import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-
|
|
31
|
+
import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-Boxi2hm0.mjs";
|
|
32
32
|
import { t as useBreakpoint } from "./use-breakpoint-zY_JYINK.mjs";
|
|
33
33
|
import { t as ResponsiveDropdown } from "./responsive-dropdown-DsWgpE_i.mjs";
|
|
34
34
|
import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
|
|
@@ -37,53 +37,53 @@ import { n as SettingsNavItem, r as SettingsNavLabel, t as SettingsNav } from ".
|
|
|
37
37
|
import { C as SidebarProvider, S as SidebarGroupLabel, _ as SidebarMenuSubButton, a as SidebarInput, b as SidebarGroupAction, c as SidebarSeparator, d as SidebarMenuAction, f as SidebarMenuBadge, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, o as SidebarInset, p as SidebarMenuButton, r as SidebarFooter, s as SidebarRail, t as Sidebar, u as SidebarMenu, v as SidebarMenuSubItem, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-DWnxQWQ8.mjs";
|
|
38
38
|
import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
|
|
39
39
|
import { Skeleton } from "./skeleton/index.mjs";
|
|
40
|
-
import { t as
|
|
40
|
+
import { t as Spinner } from "./spinner-DSlDJdWl.mjs";
|
|
41
|
+
import { t as Switch } from "./switch-IduVwiPZ.mjs";
|
|
41
42
|
import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./table/index.mjs";
|
|
42
43
|
import { Tabs, TabsContent, TabsLinkTrigger, TabsList, TabsTrigger } from "./tabs/index.mjs";
|
|
43
44
|
import { t as Textarea } from "./textarea-CvhdK6JY.mjs";
|
|
44
45
|
import { a as ListItem, c as Title, d as titleVariants, i as List, l as paragraphVariants, n as Code, o as Paragraph, r as Link, s as Text, t as Blockquote, u as textVariants } from "./typography-XFfN6PGD.mjs";
|
|
45
46
|
import { t as VisuallyHidden } from "./visuallyhidden-Mg4OsZ-l.mjs";
|
|
46
|
-
import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "./app-navigation-
|
|
47
|
-
import {
|
|
48
|
-
import { t as
|
|
49
|
-
import { t as Autocomplete } from "./autocomplete-fSSmRLYK.mjs";
|
|
47
|
+
import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "./app-navigation-DyNZwlSG.mjs";
|
|
48
|
+
import { t as LoaderOverlay } from "./loader-overlay-DP0pvHuG.mjs";
|
|
49
|
+
import { t as Autocomplete } from "./autocomplete-D0zAcT78.mjs";
|
|
50
50
|
import { Autosearch, defaultAutosearchValue } from "./autosearch/index.mjs";
|
|
51
51
|
import { n as avatarStackVariants, t as AvatarStack } from "./avatar-stack-2ow672bR.mjs";
|
|
52
|
-
import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "./date-time-range-picker-
|
|
53
|
-
import { t as CalendarDatePicker } from "./calendar-date-picker-
|
|
52
|
+
import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "./date-time-range-picker-yy1Acntn.mjs";
|
|
53
|
+
import { t as CalendarDatePicker } from "./calendar-date-picker-CknZM6a2.mjs";
|
|
54
54
|
import { i as ClientOnly, n as useTheme, r as ThemeScript, t as ThemeProvider } from "./themes-BoxnQbbu.mjs";
|
|
55
55
|
import { a as formatJson, c as isValidYaml, d as CodeEditor, i as CodeEditorTabs, l as jsonToYaml, n as jsonSchema, o as formatYaml, r as yamlSchema, s as isValidJson, t as createCodeEditorSchema, u as yamlToJson } from "./types-ChINrR8H.mjs";
|
|
56
56
|
import { t as toast } from "./toast-CizxCEcK.mjs";
|
|
57
57
|
import { n as Toaster, t as useToast } from "./use-toast-CZAZeS95.mjs";
|
|
58
|
-
import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-
|
|
58
|
+
import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-CpBwO8Ea.mjs";
|
|
59
59
|
import { t as ActionRow } from "./action-row-BEzE9x37.mjs";
|
|
60
60
|
import { n as useDebouncedSearchInput, t as DEFAULT_SEARCH_DEBOUNCE_MS } from "./use-debounced-search-input-B4u28iLx.mjs";
|
|
61
|
-
import { t as MultiSelect } from "./multi-select-
|
|
61
|
+
import { t as MultiSelect } from "./multi-select-C2cBrqXl.mjs";
|
|
62
62
|
import { a as formatRelativeDate, d as parseDate, i as formatCombinedDate, l as getTimestamp, n as DEFAULT_DATE_FORMAT, o as formatTimezoneDate, r as formatAbsoluteDate, s as formatUTCDate, t as DateTime, u as getTimezoneAbbreviation } from "./date-time-BBRVM9qb.mjs";
|
|
63
|
-
import { t as DateTimePicker } from "./date-time-picker-
|
|
63
|
+
import { t as DateTimePicker } from "./date-time-picker-Bc41Ixrs.mjs";
|
|
64
64
|
import { a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator } from "./dropdown-DR9j3Ni_.mjs";
|
|
65
|
-
import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "./dropzone-
|
|
66
|
-
import { t as EmptyContent } from "./empty-content-
|
|
67
|
-
import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "./form-
|
|
65
|
+
import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "./dropzone-qKYfSe7o.mjs";
|
|
66
|
+
import { t as EmptyContent } from "./empty-content-CTMHak36.mjs";
|
|
67
|
+
import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "./form-DTaVgDSV.mjs";
|
|
68
68
|
import { t as useCopyToClipboard } from "./use-copy-to-clipboard-CWKWHLxI.mjs";
|
|
69
69
|
import { n as useAdapter, t as FormAdapterProvider } from "./adapter-context-XT749tyT.mjs";
|
|
70
70
|
import { InputWithAddons } from "./input-with-addons/index.mjs";
|
|
71
|
-
import { t as TimePicker } from "./time-picker-
|
|
72
|
-
import { t as Transfer } from "./transfer-
|
|
71
|
+
import { t as TimePicker } from "./time-picker-B_am4eAK.mjs";
|
|
72
|
+
import { t as Transfer } from "./transfer-DGUeAQUL.mjs";
|
|
73
73
|
import { a as getResponsiveValue, c as GRID_COLUMNS, d as RESPONSIVE_MAP, i as getGutter, l as GRID_PREFIX, n as Row, o as registerMediaQuery, r as RowContext, s as GRID_BREAKPOINTS, t as Col, u as RESPONSIVE_ARRAY } from "./col-CYHIfPJq.mjs";
|
|
74
|
-
import { t as GroupedTable } from "./grouped-table-
|
|
74
|
+
import { t as GroupedTable } from "./grouped-table-Dl6DclbV.mjs";
|
|
75
75
|
import { t as InputNumber } from "./input-number-DF-bfIo8.mjs";
|
|
76
76
|
import { a as logoStyles, i as LogoFlat, n as LogoStacked, r as LogoIcon, t as LogoText } from "./logo-text-B54YiEte.mjs";
|
|
77
77
|
import { t as Logo } from "./logo-CkzKra6H.mjs";
|
|
78
|
-
import { t as MoreActions } from "./more-actions-
|
|
78
|
+
import { t as MoreActions } from "./more-actions-BlSOVwa8.mjs";
|
|
79
79
|
import { configureProgress, startProgress, stopProgress } from "./nprogress/index.mjs";
|
|
80
80
|
import { t as PageTitle } from "./page-title-Djl3LvPT.mjs";
|
|
81
81
|
import { t as RichTextContent } from "./rich-text-content-BiIIowBU.mjs";
|
|
82
|
-
import { n as useRichTextEditor, t as RichTextEditor } from "./rich-text-editor-
|
|
82
|
+
import { n as useRichTextEditor, t as RichTextEditor } from "./rich-text-editor-BUz06s-b.mjs";
|
|
83
83
|
import { t as defineStepper } from "./stepper-ZipxpzWY.mjs";
|
|
84
|
-
import { t as TagsInput } from "./tag-input-
|
|
85
|
-
import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-
|
|
86
|
-
import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "./to-api-format-
|
|
84
|
+
import { t as TagsInput } from "./tag-input-a3ktkGrH.mjs";
|
|
85
|
+
import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-DuCAAybs.mjs";
|
|
86
|
+
import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "./to-api-format-DyImCzCn.mjs";
|
|
87
87
|
import { t as useDebounce } from "./hooks-WVJbyhCz.mjs";
|
|
88
88
|
import { n as toUTCTimestampStartOfDay, t as toUTCTimestampEndOfDay } from "./utils-CPJ5MCfd.mjs";
|
|
89
89
|
export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, ActionRow, Alert, AlertDescription, AlertTitle, AppNavigation, Autocomplete, Autosearch, Avatar, AvatarFallback, AvatarImage, AvatarStack, Badge, Blockquote, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDatePicker, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardField, CardFieldLabel, CardFieldValue, CardFooter, CardHeader, CardSaveBar, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, ClientOnly, CloseIcon, Code, CodeEditor, CodeEditorTabs, Col, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DEFAULT_DATE_FORMAT, DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DEFAULT_PRESETS, DEFAULT_SEARCH_DEBOUNCE_MS, DURATION, DataTable, DataTableColumnHeader, DataTableRowActions, DateTime, DateTimePicker, Dialog, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, DropzoneEmptyState, EASE, EmptyContent, FileInputButton, Form, FormAdapterProvider, FormAutocomplete, FormAutosearch, FormButton, FormCheckbox, FormCombobox, FormCopyBox, FormCustom, FormDatePicker, FormDateTimePicker, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormTimePicker, FormTransfer, FormWhen, GRID_BREAKPOINTS, GRID_COLUMNS, GRID_PREFIX, GroupedTable, HoverCard, HoverCardContent, HoverCardTrigger, Icon, InSheetContext, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumber, InputWithAddons, Label, Link, LinkButton, List, ListItem, LoaderOverlay, LocalTaskStorage, Logo, LogoFlat, LogoIcon, LogoStacked, LogoText, Map, MapCircle, MapCircleMarker, MapControlContainer, MapDrawCircle, MapDrawControl, MapDrawDelete, MapDrawEdit, MapDrawMarker, MapDrawPolygon, MapDrawPolyline, MapDrawRectangle, MapDrawUndo, MapFeatureGroup, MapFullscreenControl, MapLayerGroup, MapLayers, MapLayersControl, MapLocateControl, MapMarker, MapMarkerClusterGroup, MapPolygon, MapPolyline, MapPopup, MapRectangle, MapSearchControl, MapTileLayer, MapTooltip, MapZoomControl, MobileSheet, MoreActions, MultiSelect, NavMenu, NavMenuItem, PageTitle, Paragraph, PlaceAutocomplete, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, QuickRangesPanel, RESPONSIVE_ARRAY, RESPONSIVE_MAP, RadioGroup, RadioGroupItem, RedisTaskStorage, ResponsiveDropdown, ResponsivePopover, ResponsiveSheetTrigger, RichTextContent, RichTextEditor, Row, RowContext, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsNav, SettingsNavItem, SettingsNavLabel, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, SpinnerIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsLinkTrigger, TabsList, TabsTrigger, TagsInput, TaskPanel, TaskPanelActions, TaskPanelCounter, TaskPanelHeader, TaskPanelItem, TaskQueue, TaskQueueDropdown, TaskQueueProvider, TaskQueueTrigger, TaskSummaryDialog, Text, Textarea, ThemeProvider, ThemeScript, TimePicker, TimeRangePicker, TimezoneSelector, Title, Toaster, Tooltip, Transfer, VisuallyHidden, avatarStackVariants, badgeVariants, buttonGroupVariants, buttonVariants, cn, configureProgress, createCodeEditorSchema, createDataTableStore, createOrgMetadata, createProjectMetadata, createSelectionColumn, createTimezoneOption, createUserMetadata, dataTableFeatures, defaultAutosearchValue, defineStepper, detectStorage, findItemByHref, formatAbsoluteDate, formatCombinedDate, formatDateForInput, formatJson, formatRelativeDate, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneDate, formatTimezoneLabel, formatUTCDate, formatUtcForDisplay, formatYaml, getBrowserTimezone, getContextLabel, getDefaultPreset, getDefaultTimezoneOptions, getGutter, getPresetByKey, getPresetByShortcut, getPresetRange, getResponsiveValue, getShortTimezoneDisplay, getTimestamp, getTimezoneAbbreviation, getTimezoneOffset, hasActiveDescendant, isNavItemActive, isValidJson, isValidYaml, jsonSchema, jsonToYaml, localInputStringToUtc, logoStyles, matchesCurrentScope, normalizePath, paragraphVariants, parseDate, registerMediaQuery, resolvePath, rowMatchesSearch, startProgress, stopProgress, textVariants, titleVariants, toApiTimeRange, toUTCTimestampEndOfDay, toUTCTimestampStartOfDay, toast, useAdapter, useBreakpoint, useControllableState, useCopyToClipboard, useCurrentScope, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useDebounce, useDebouncedSearchInput, useField, useFieldContext, useFormContext, useFormState, useInSheet, useLeaflet, useNuqsAdapter, useRichTextEditor, useSidebar, useTaskQueue, useTasksWithLabels, useTheme, useToast, useWatch, useWatchAll, utcStringToZonedDate, utcToLocalInputString, yamlSchema, yamlToJson, zonedDateToUtcString };
|
|
@@ -3,13 +3,21 @@ import { t as ButtonGroup } from "./button-group-C3GKo-0p.mjs";
|
|
|
3
3
|
import { t as Button } from "./button-C57mkFkS.mjs";
|
|
4
4
|
import { i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B0be-zU5.mjs";
|
|
5
5
|
import { i as InputGroupInput, n as InputGroupAddon, t as InputGroup } from "./input-group-CCzvJIZM.mjs";
|
|
6
|
-
import { t as Spinner } from "./spinner-DjEpx6Q3.mjs";
|
|
7
6
|
import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, n as DropdownMenuCheckboxItem, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "./dropdown-menu-CjgTr8Ab.mjs";
|
|
8
|
-
import { CircleIcon, LayersIcon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
|
|
7
|
+
import { CircleIcon, LayersIcon, Loader2Icon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
|
|
9
8
|
import * as React from "react";
|
|
10
9
|
import { Suspense, createContext, lazy, useContext, useEffect, useRef, useState } from "react";
|
|
11
10
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
import { renderToString } from "react-dom/server.browser";
|
|
12
|
+
// ../shadcn/ui/spinner.tsx
|
|
13
|
+
function Spinner({ className, ...props }) {
|
|
14
|
+
return /* @__PURE__ */ jsx(Loader2Icon, {
|
|
15
|
+
role: "status",
|
|
16
|
+
"aria-label": "Loading",
|
|
17
|
+
className: cn("size-4 animate-spin", className),
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
20
|
+
}
|
|
13
21
|
// ../shadcn/ui/place-autocomplete.tsx
|
|
14
22
|
function formatAddress(properties) {
|
|
15
23
|
const parts = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as LoaderOverlay } from "../loader-overlay-
|
|
1
|
+
export { t as LoaderOverlay } from "../loader-overlay-DP0pvHuG.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
|
-
import { t as SpinnerIcon } from "./spinner.icon-
|
|
2
|
+
import { t as SpinnerIcon } from "./spinner.icon-BiUnMAxw.mjs";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
// src/components/base/loader-overlay/loader-overlay.tsx
|
|
5
5
|
function LoaderOverlay({ message, className }) {
|
package/dist/logs/index.mjs
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { t as cn } from "../utils-CTIuhCOs.mjs";
|
|
2
2
|
import { Skeleton } from "../skeleton/index.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { Badge } from "../badge/index.mjs";
|
|
4
4
|
import { t as useBreakpoint } from "../use-breakpoint-zY_JYINK.mjs";
|
|
5
5
|
import { t as useCopyToClipboard } from "../use-copy-to-clipboard-CWKWHLxI.mjs";
|
|
6
|
-
import { t as Button } from "../button-
|
|
6
|
+
import { t as Button } from "../button-Cn4KagBO.mjs";
|
|
7
7
|
import { t as Sheet } from "../sheet-DEpEJ_Rk.mjs";
|
|
8
8
|
import { t as Icon } from "../icon-wrapper-CIk2th6R.mjs";
|
|
9
|
+
import { t as CopyStateIcon } from "../copy-state-icon-DMvXXsZm.mjs";
|
|
9
10
|
import { c as getBrowserTimezone, t as DateTime, u as getTimezoneAbbreviation } from "../date-time-BBRVM9qb.mjs";
|
|
10
|
-
import { t as Checkbox } from "../checkbox-
|
|
11
|
-
import {
|
|
12
|
-
import { t as DateTimeRangePicker } from "../date-time-range-picker-
|
|
11
|
+
import { t as Checkbox } from "../checkbox-BAo5sbHk.mjs";
|
|
12
|
+
import { n as CollapsibleContent, r as CollapsibleTrigger, t as Collapsible } from "../collapsible-B-KP3JZ-.mjs";
|
|
13
|
+
import { t as DateTimeRangePicker } from "../date-time-range-picker-yy1Acntn.mjs";
|
|
13
14
|
import { TableBody, TableCell, TableHead, TableHeader, TableRow } from "../table/index.mjs";
|
|
14
15
|
import { t as Input } from "../input-DsT5qkJn.mjs";
|
|
15
|
-
import { Bot, ChevronDown, ChevronUp, Clock,
|
|
16
|
+
import { Bot, ChevronDown, ChevronUp, Clock, Download, HelpCircle, Inbox, Monitor, RefreshCw, Search, SlidersHorizontal, Smartphone, Tablet, TriangleAlert, X } from "lucide-react";
|
|
16
17
|
import { createContext, memo, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
17
18
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
18
19
|
import { AnimatePresence, motion, useReducedMotion } from "motion/react";
|
|
@@ -688,9 +689,29 @@ function keyedParams(params) {
|
|
|
688
689
|
};
|
|
689
690
|
});
|
|
690
691
|
}
|
|
692
|
+
/**
|
|
693
|
+
* Icon button that copies `text` and shows a check until the copied state
|
|
694
|
+
* resets. Each button owns its hook so only the one clicked flips.
|
|
695
|
+
*/
|
|
696
|
+
function LogsCopyButton({ text, label, small = false }) {
|
|
697
|
+
const [copied, copy] = useCopyToClipboard();
|
|
698
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
699
|
+
type: "secondary",
|
|
700
|
+
theme: "borderless",
|
|
701
|
+
size: "icon",
|
|
702
|
+
className: small ? "-my-1 size-6" : void 0,
|
|
703
|
+
"aria-label": label,
|
|
704
|
+
onClick: () => copy(text, { withToast: true }),
|
|
705
|
+
children: /* @__PURE__ */ jsx(CopyStateIcon, {
|
|
706
|
+
copied,
|
|
707
|
+
size: small ? 14 : 16,
|
|
708
|
+
strokeWidth: 1,
|
|
709
|
+
absoluteStrokeWidth: true
|
|
710
|
+
})
|
|
711
|
+
});
|
|
712
|
+
}
|
|
691
713
|
const DetailBody = memo(({ showClose = true }) => {
|
|
692
714
|
const { selectedEntry, selectPrevious, selectNext, setSelectedId } = useLogs();
|
|
693
|
-
const [, copy] = useCopyToClipboard();
|
|
694
715
|
if (!selectedEntry) return null;
|
|
695
716
|
const parsed = parseLogLine(selectedEntry.line, selectedEntry.labels);
|
|
696
717
|
const displayLine = parsed.kind === "http" && !selectedEntry.line.trim() ? formatHttpLogLine(parsed) : selectedEntry.line;
|
|
@@ -729,13 +750,9 @@ const DetailBody = memo(({ showClose = true }) => {
|
|
|
729
750
|
onClick: selectNext,
|
|
730
751
|
children: /* @__PURE__ */ jsx(Icon, { icon: ChevronDown })
|
|
731
752
|
}),
|
|
732
|
-
/* @__PURE__ */ jsx(
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
size: "icon",
|
|
736
|
-
"aria-label": "Copy log line",
|
|
737
|
-
onClick: () => copy(displayLine, { withToast: true }),
|
|
738
|
-
children: /* @__PURE__ */ jsx(Icon, { icon: Copy })
|
|
753
|
+
/* @__PURE__ */ jsx(LogsCopyButton, {
|
|
754
|
+
text: displayLine,
|
|
755
|
+
label: "Copy log line"
|
|
739
756
|
}),
|
|
740
757
|
showClose && /* @__PURE__ */ jsx(Button, {
|
|
741
758
|
type: "secondary",
|
|
@@ -827,17 +844,10 @@ const DetailBody = memo(({ showClose = true }) => {
|
|
|
827
844
|
children: [/* @__PURE__ */ jsx("span", {
|
|
828
845
|
className: "text-muted-foreground text-3xs font-medium",
|
|
829
846
|
children: "Client"
|
|
830
|
-
}), /* @__PURE__ */ jsx(
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
className: "-my-1 size-6",
|
|
835
|
-
"aria-label": "Copy user agent",
|
|
836
|
-
onClick: () => copy(client.raw, { withToast: true }),
|
|
837
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
838
|
-
icon: Copy,
|
|
839
|
-
size: 14
|
|
840
|
-
})
|
|
847
|
+
}), /* @__PURE__ */ jsx(LogsCopyButton, {
|
|
848
|
+
text: client.raw,
|
|
849
|
+
label: "Copy user agent",
|
|
850
|
+
small: true
|
|
841
851
|
})]
|
|
842
852
|
}),
|
|
843
853
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -873,17 +883,10 @@ const DetailBody = memo(({ showClose = true }) => {
|
|
|
873
883
|
children: [/* @__PURE__ */ jsx("span", {
|
|
874
884
|
className: "text-muted-foreground text-3xs font-medium",
|
|
875
885
|
children: "Search params"
|
|
876
|
-
}), /* @__PURE__ */ jsx(
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
className: "-my-1 size-6",
|
|
881
|
-
"aria-label": "Copy search params",
|
|
882
|
-
onClick: () => copy(`?${request.search}`, { withToast: true }),
|
|
883
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
884
|
-
icon: Copy,
|
|
885
|
-
size: 14
|
|
886
|
-
})
|
|
886
|
+
}), /* @__PURE__ */ jsx(LogsCopyButton, {
|
|
887
|
+
text: `?${request.search}`,
|
|
888
|
+
label: "Copy search params",
|
|
889
|
+
small: true
|
|
887
890
|
})]
|
|
888
891
|
}), /* @__PURE__ */ jsx("dl", {
|
|
889
892
|
className: "flex flex-wrap gap-1.5",
|
package/dist/map/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { k as Map, b as MapCircle, x as MapCircleMarker, h as MapControlContainer, o as MapDrawCircle, s as MapDrawControl, c as MapDrawDelete, l as MapDrawEdit, u as MapDrawMarker, d as MapDrawPolygon, f as MapDrawPolyline, p as MapDrawRectangle, m as MapDrawUndo, t as MapFeatureGroup, g as MapFullscreenControl, n as MapLayerGroup, r as MapLayers, i as MapLayersControl, _ as MapLocateControl, S as MapMarker, C as MapMarkerClusterGroup, w as MapPolygon, T as MapPolyline, E as MapPopup, D as MapRectangle, v as MapSearchControl, a as MapTileLayer, O as MapTooltip, y as MapZoomControl, j as PlaceAutocomplete, A as useLeaflet } from "../layers-
|
|
1
|
+
export { k as Map, b as MapCircle, x as MapCircleMarker, h as MapControlContainer, o as MapDrawCircle, s as MapDrawControl, c as MapDrawDelete, l as MapDrawEdit, u as MapDrawMarker, d as MapDrawPolygon, f as MapDrawPolyline, p as MapDrawRectangle, m as MapDrawUndo, t as MapFeatureGroup, g as MapFullscreenControl, n as MapLayerGroup, r as MapLayers, i as MapLayersControl, _ as MapLocateControl, S as MapMarker, C as MapMarkerClusterGroup, w as MapPolygon, T as MapPolyline, E as MapPopup, D as MapRectangle, v as MapSearchControl, a as MapTileLayer, O as MapTooltip, y as MapZoomControl, j as PlaceAutocomplete, A as useLeaflet } from "../layers-DLUbkJtt.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Button } from "./button-
|
|
1
|
+
import { t as Button } from "./button-Cn4KagBO.mjs";
|
|
2
2
|
import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
|
|
3
3
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
4
4
|
import { t as ResponsiveDropdown } from "./responsive-dropdown-DsWgpE_i.mjs";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { n as EASE, t as DURATION } from "./motion-DOrRbLmy.mjs";
|
|
2
|
+
import { Badge } from "./badge/index.mjs";
|
|
3
|
+
import { motion, useReducedMotion } from "motion/react";
|
|
4
|
+
// src/components/features/_shared/motion-chip.tsx
|
|
5
|
+
/** `Badge` as a Motion component, so chips can enter, exit and reflow. */
|
|
6
|
+
const MotionBadge = motion.create(Badge);
|
|
7
|
+
const ENTER = {
|
|
8
|
+
duration: DURATION.fast,
|
|
9
|
+
ease: EASE.out
|
|
10
|
+
};
|
|
11
|
+
const EXIT = {
|
|
12
|
+
duration: .1,
|
|
13
|
+
ease: EASE.out
|
|
14
|
+
};
|
|
15
|
+
/** Neighbours slide into a removed chip's gap a touch slower than it fades. */
|
|
16
|
+
const REFLOW = {
|
|
17
|
+
duration: .2,
|
|
18
|
+
ease: EASE.out
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Motion props for a chip in a wrapping list, for use with `MotionBadge`
|
|
22
|
+
* inside `<AnimatePresence initial={false} mode="popLayout">`.
|
|
23
|
+
*
|
|
24
|
+
* A chip scales up slightly as it fades in, and fades out a little faster
|
|
25
|
+
* when removed. `popLayout` takes the leaving chip out of flow straight away,
|
|
26
|
+
* and `layout="position"` slides the chips after it into the gap rather than
|
|
27
|
+
* snapping. The list needs `position: relative` for `popLayout` to place the
|
|
28
|
+
* leaving chip. Under reduced motion chips only fade and nothing slides.
|
|
29
|
+
*/
|
|
30
|
+
function useChipMotion() {
|
|
31
|
+
const reduceMotion = Boolean(useReducedMotion());
|
|
32
|
+
const scale = reduceMotion ? 1 : .85;
|
|
33
|
+
return {
|
|
34
|
+
initial: {
|
|
35
|
+
opacity: 0,
|
|
36
|
+
scale
|
|
37
|
+
},
|
|
38
|
+
animate: {
|
|
39
|
+
opacity: 1,
|
|
40
|
+
scale: 1,
|
|
41
|
+
transition: ENTER
|
|
42
|
+
},
|
|
43
|
+
exit: {
|
|
44
|
+
opacity: 0,
|
|
45
|
+
scale,
|
|
46
|
+
transition: EXIT
|
|
47
|
+
},
|
|
48
|
+
transition: { layout: REFLOW },
|
|
49
|
+
layout: reduceMotion ? false : "position"
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export { useChipMotion as n, MotionBadge as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as MultiSelect } from "../multi-select-
|
|
1
|
+
export { t as MultiSelect } from "../multi-select-C2cBrqXl.mjs";
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
2
|
import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
|
|
3
|
-
import { n as OptionList, t as useOptionPicker } from "./use-option-picker-
|
|
3
|
+
import { n as OptionList, t as useOptionPicker } from "./use-option-picker-DXY2SNnT.mjs";
|
|
4
4
|
import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
|
|
5
5
|
import { t as Separator } from "./separator-DNiiN2BN.mjs";
|
|
6
|
-
import { t as LoaderOverlay } from "./loader-overlay-
|
|
7
|
-
import { t as
|
|
6
|
+
import { t as LoaderOverlay } from "./loader-overlay-DP0pvHuG.mjs";
|
|
7
|
+
import { n as useChipMotion, t as MotionBadge } from "./motion-chip-BczV7spP.mjs";
|
|
8
8
|
import { cva } from "class-variance-authority";
|
|
9
9
|
import { CheckIcon, ChevronDown, WandSparkles, XCircle, XIcon } from "lucide-react";
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { AnimatePresence } from "motion/react";
|
|
12
13
|
// src/components/features/multi-select/multi-select-options.tsx
|
|
13
14
|
/**
|
|
14
15
|
* Presentational popover command list for the multi-select: the searchable
|
|
@@ -88,52 +89,59 @@ function IconAction({ label, onActivate, className, children }) {
|
|
|
88
89
|
function SelectedBadgeList({ selectedOptions, maxCount, variant, badgeClassName, clickableBadges, isAnimating, animation, onRemove, onClearExtra, onClearAll, onBadgeClick }) {
|
|
89
90
|
const visibleOptions = selectedOptions.slice(0, maxCount === -1 ? void 0 : maxCount);
|
|
90
91
|
const overflowCount = maxCount === -1 ? 0 : selectedOptions.length - maxCount;
|
|
92
|
+
const chipMotion = useChipMotion();
|
|
91
93
|
return /* @__PURE__ */ jsxs("div", {
|
|
92
94
|
className: "flex w-full items-center justify-between",
|
|
93
|
-
children: [/* @__PURE__ */
|
|
94
|
-
className: "flex flex-wrap items-center gap-2",
|
|
95
|
-
children:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
95
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
96
|
+
className: "relative flex flex-wrap items-center gap-2",
|
|
97
|
+
children: /* @__PURE__ */ jsxs(AnimatePresence, {
|
|
98
|
+
initial: false,
|
|
99
|
+
mode: "popLayout",
|
|
100
|
+
children: [visibleOptions.map((option) => {
|
|
101
|
+
const IconComponent = option.icon;
|
|
102
|
+
return /* @__PURE__ */ jsxs(MotionBadge, {
|
|
103
|
+
...chipMotion,
|
|
104
|
+
className: cn(multiSelectVariants({ variant }), "truncate", isAnimating && "animate-bounce", clickableBadges && "cursor-pointer", badgeClassName),
|
|
105
|
+
style: { animationDuration: `${animation}s` },
|
|
106
|
+
onClick: (event) => {
|
|
107
|
+
if (clickableBadges) {
|
|
108
|
+
event.stopPropagation();
|
|
109
|
+
event.preventDefault();
|
|
110
|
+
onBadgeClick?.(option);
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
children: [
|
|
114
|
+
IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "text-muted-foreground size-3" }),
|
|
115
|
+
/* @__PURE__ */ jsx("span", {
|
|
116
|
+
className: "max-w-[120px] truncate",
|
|
117
|
+
children: option.label
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ jsx(IconAction, {
|
|
120
|
+
label: `Remove ${option.label}`,
|
|
121
|
+
onActivate: () => onRemove(option.value),
|
|
122
|
+
className: "text-muted-foreground ml-1",
|
|
123
|
+
children: /* @__PURE__ */ jsx(XCircle, {
|
|
124
|
+
className: "size-3",
|
|
125
|
+
"aria-hidden": "true"
|
|
126
|
+
})
|
|
120
127
|
})
|
|
128
|
+
]
|
|
129
|
+
}, option.value);
|
|
130
|
+
}), overflowCount > 0 && /* @__PURE__ */ jsxs(MotionBadge, {
|
|
131
|
+
...chipMotion,
|
|
132
|
+
className: cn(multiSelectVariants({ variant }), "text-muted-foreground", isAnimating && "animate-bounce"),
|
|
133
|
+
style: { animationDuration: `${animation}s` },
|
|
134
|
+
children: [`+ ${overflowCount} more`, /* @__PURE__ */ jsx(IconAction, {
|
|
135
|
+
label: "Clear extra selected",
|
|
136
|
+
onActivate: onClearExtra,
|
|
137
|
+
className: "text-muted-foreground ml-1",
|
|
138
|
+
children: /* @__PURE__ */ jsx(XCircle, {
|
|
139
|
+
className: "size-3",
|
|
140
|
+
"aria-hidden": "true"
|
|
121
141
|
})
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
|
-
})
|
|
125
|
-
className: cn(multiSelectVariants({ variant }), "text-muted-foreground", isAnimating && "animate-bounce"),
|
|
126
|
-
style: { animationDuration: `${animation}s` },
|
|
127
|
-
children: [`+ ${overflowCount} more`, /* @__PURE__ */ jsx(IconAction, {
|
|
128
|
-
label: "Clear extra selected",
|
|
129
|
-
onActivate: onClearExtra,
|
|
130
|
-
className: "text-muted-foreground ml-1",
|
|
131
|
-
children: /* @__PURE__ */ jsx(XCircle, {
|
|
132
|
-
className: "size-3",
|
|
133
|
-
"aria-hidden": "true"
|
|
134
|
-
})
|
|
135
|
-
})]
|
|
136
|
-
})]
|
|
142
|
+
})]
|
|
143
|
+
}, "overflow")]
|
|
144
|
+
})
|
|
137
145
|
}), /* @__PURE__ */ jsxs("div", {
|
|
138
146
|
className: "flex items-center justify-between",
|
|
139
147
|
children: [
|
package/dist/picker/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { A as formatInTimezone, B as isDateBearingMode, C as PickerClear, D as PickerCalendar, E as PickerContent, F as zonedDateToIso, H as isTimeBearingMode, I as ALLOWED_STEPS, L as DATE_BEARING_MODES, M as getBrowserTimezone, N as getTimezoneOffset, O as PickerContext, P as isoToZonedDate, R as RANGE_MODES, S as PickerCancel, T as PickerReset, V as isRangeMode, _ as parseTimeString, a as PickerTimezoneIndicator, b as PickerPresets, d as DATE_PRESETS, f as getDefaultPresets, g as isValidTimeString, h as formatTimeLabel, i as PickerTrigger, j as formatTimezoneLabel, k as usePickerContext, l as usePresets, m as dateToYYYYMMDD, o as PickerTimeInput, p as usePickerState, r as formatPickerValue, s as useTimeSlots, t as DateTimeRangePicker, u as DATETIME_PRESETS, v as resolveCommit, w as PickerFooter, x as PickerApply, y as useKeyboardShortcuts, z as TIME_BEARING_MODES } from "../date-time-range-picker-
|
|
2
|
-
import { a as DateRangePicker, c as getDaysDifference, d as isSameDateRange, f as isSameStringRange, i as DateRangeTimePicker, l as isRangeValid, m as PickerTimezoneSelect, n as TimePicker, o as DatePicker, p as Picker, r as DateTimePicker, s as clampRange, t as TimeRangePicker, u as isSameDate } from "../picker-
|
|
1
|
+
import { A as formatInTimezone, B as isDateBearingMode, C as PickerClear, D as PickerCalendar, E as PickerContent, F as zonedDateToIso, H as isTimeBearingMode, I as ALLOWED_STEPS, L as DATE_BEARING_MODES, M as getBrowserTimezone, N as getTimezoneOffset, O as PickerContext, P as isoToZonedDate, R as RANGE_MODES, S as PickerCancel, T as PickerReset, V as isRangeMode, _ as parseTimeString, a as PickerTimezoneIndicator, b as PickerPresets, d as DATE_PRESETS, f as getDefaultPresets, g as isValidTimeString, h as formatTimeLabel, i as PickerTrigger, j as formatTimezoneLabel, k as usePickerContext, l as usePresets, m as dateToYYYYMMDD, o as PickerTimeInput, p as usePickerState, r as formatPickerValue, s as useTimeSlots, t as DateTimeRangePicker, u as DATETIME_PRESETS, v as resolveCommit, w as PickerFooter, x as PickerApply, y as useKeyboardShortcuts, z as TIME_BEARING_MODES } from "../date-time-range-picker-yy1Acntn.mjs";
|
|
2
|
+
import { a as DateRangePicker, c as getDaysDifference, d as isSameDateRange, f as isSameStringRange, i as DateRangeTimePicker, l as isRangeValid, m as PickerTimezoneSelect, n as TimePicker, o as DatePicker, p as Picker, r as DateTimePicker, s as clampRange, t as TimeRangePicker, u as isSameDate } from "../picker-DC3GErYg.mjs";
|
|
3
3
|
export { ALLOWED_STEPS, DATETIME_PRESETS, DATE_BEARING_MODES, DATE_PRESETS, DatePicker, DateRangePicker, DateRangeTimePicker, DateTimePicker, DateTimeRangePicker, Picker, PickerApply, PickerCalendar, PickerCancel, PickerClear, PickerContent, PickerContext, PickerFooter, PickerPresets, PickerReset, PickerTimeInput, PickerTimezoneIndicator, PickerTimezoneSelect, PickerTrigger, RANGE_MODES, TIME_BEARING_MODES, TimePicker, TimeRangePicker, clampRange, dateToYYYYMMDD, formatInTimezone, formatPickerValue, formatTimeLabel, formatTimezoneLabel, getBrowserTimezone, getDaysDifference, getDefaultPresets, getTimezoneOffset, isDateBearingMode, isRangeMode, isRangeValid, isSameDate, isSameDateRange, isSameStringRange, isTimeBearingMode, isValidTimeString, isoToZonedDate, parseTimeString, resolveCommit, useKeyboardShortcuts, usePickerContext, usePickerState, usePresets, useTimeSlots, zonedDateToIso };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
2
|
import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-jgK6wyXj.mjs";
|
|
3
|
-
import { C as PickerClear, D as PickerCalendar, E as PickerContent, F as zonedDateToIso, H as isTimeBearingMode, P as isoToZonedDate, S as PickerCancel, T as PickerReset, _ as parseTimeString, a as PickerTimezoneIndicator, b as PickerPresets, c as Picker$1, i as PickerTrigger, k as usePickerContext, n as DefaultFooter, o as PickerTimeInput, r as formatPickerValue, w as PickerFooter, x as PickerApply } from "./date-time-range-picker-
|
|
3
|
+
import { C as PickerClear, D as PickerCalendar, E as PickerContent, F as zonedDateToIso, H as isTimeBearingMode, P as isoToZonedDate, S as PickerCancel, T as PickerReset, _ as parseTimeString, a as PickerTimezoneIndicator, b as PickerPresets, c as Picker$1, i as PickerTrigger, k as usePickerContext, n as DefaultFooter, o as PickerTimeInput, r as formatPickerValue, w as PickerFooter, x as PickerApply } from "./date-time-range-picker-yy1Acntn.mjs";
|
|
4
4
|
import { Clock, Globe } from "lucide-react";
|
|
5
5
|
import { useEffect, useState } from "react";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as RadioGroup, n as RadioGroupItem } from "../radio-group-
|
|
1
|
+
export { t as RadioGroup, n as RadioGroupItem } from "../radio-group-Boxi2hm0.mjs";
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
|
+
import { n as EASE } from "./motion-DOrRbLmy.mjs";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { motion, useReducedMotion } from "motion/react";
|
|
6
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
7
|
+
// src/components/base/radio-group/radio-group.tsx
|
|
8
|
+
/**
|
|
9
|
+
* The selected value, mirrored from Radix so each item can animate its dot in
|
|
10
|
+
* and out. `null` means there is no datum `RadioGroup` above the item (it was
|
|
11
|
+
* placed in a bare Radix root), in which case the item falls back to Radix's
|
|
12
|
+
* own mount/unmount and does not animate.
|
|
13
|
+
*/
|
|
14
|
+
const RadioGroupValueContext = React.createContext(null);
|
|
15
|
+
function RadioGroup({ ref, className, value: valueProp, defaultValue, onValueChange, ...props }) {
|
|
16
|
+
const [uncontrolled, setUncontrolled] = React.useState(defaultValue);
|
|
17
|
+
const value = valueProp ?? uncontrolled;
|
|
18
|
+
const handleValueChange = React.useCallback((next) => {
|
|
19
|
+
if (valueProp === void 0) setUncontrolled(next);
|
|
20
|
+
onValueChange?.(next);
|
|
21
|
+
}, [onValueChange, valueProp]);
|
|
22
|
+
return /* @__PURE__ */ jsx(RadioGroupValueContext, {
|
|
23
|
+
value,
|
|
24
|
+
children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, {
|
|
25
|
+
ref,
|
|
26
|
+
"data-slot": "radio-group",
|
|
27
|
+
className: cn("grid gap-3", className),
|
|
28
|
+
value: valueProp,
|
|
29
|
+
defaultValue,
|
|
30
|
+
onValueChange: handleValueChange,
|
|
31
|
+
...props
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
RadioGroup.displayName = "RadioGroup";
|
|
36
|
+
const DOT_IN = {
|
|
37
|
+
type: "spring",
|
|
38
|
+
visualDuration: .2,
|
|
39
|
+
bounce: .35
|
|
40
|
+
};
|
|
41
|
+
const DOT_OUT = {
|
|
42
|
+
duration: .1,
|
|
43
|
+
ease: EASE.out
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* RadioGroupItem renders the Radix primitive directly (not the shadcn wrapper)
|
|
47
|
+
* so the dot can stay mounted and animate out as well as in. The dot pops in
|
|
48
|
+
* from half size with a small spring and fades out quickly when another option
|
|
49
|
+
* takes the selection. Under reduced motion it only fades.
|
|
50
|
+
*/
|
|
51
|
+
function RadioGroupItem({ ref, className, value, ...props }) {
|
|
52
|
+
const groupValue = React.use(RadioGroupValueContext);
|
|
53
|
+
const reduceMotion = Boolean(useReducedMotion());
|
|
54
|
+
const animated = groupValue !== null;
|
|
55
|
+
const visible = animated ? groupValue === value : true;
|
|
56
|
+
return /* @__PURE__ */ jsx(RadioGroupPrimitive.Item, {
|
|
57
|
+
ref,
|
|
58
|
+
value,
|
|
59
|
+
"data-slot": "radio-group-item",
|
|
60
|
+
className: cn("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", "transition-[color,box-shadow,transform] duration-[var(--duration-fast)] ease-out active:scale-[0.92] disabled:active:scale-100", className),
|
|
61
|
+
...props,
|
|
62
|
+
children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, {
|
|
63
|
+
forceMount: animated ? true : void 0,
|
|
64
|
+
"data-slot": "radio-group-indicator",
|
|
65
|
+
className: "flex size-full items-center justify-center",
|
|
66
|
+
children: /* @__PURE__ */ jsx(motion.span, {
|
|
67
|
+
"aria-hidden": true,
|
|
68
|
+
className: "bg-primary size-2 rounded-full",
|
|
69
|
+
initial: false,
|
|
70
|
+
animate: visible ? {
|
|
71
|
+
scale: 1,
|
|
72
|
+
opacity: 1
|
|
73
|
+
} : {
|
|
74
|
+
scale: reduceMotion ? 1 : .5,
|
|
75
|
+
opacity: 0
|
|
76
|
+
},
|
|
77
|
+
transition: visible && !reduceMotion ? DOT_IN : DOT_OUT
|
|
78
|
+
})
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
RadioGroupItem.displayName = "RadioGroupItem";
|
|
83
|
+
export { RadioGroupItem as n, RadioGroup as t };
|