@datum-cloud/datum-ui 3.8.0 → 3.10.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/autocomplete/index.mjs +1 -1
- package/dist/{autocomplete-D0zAcT78.mjs → autocomplete-CrCbO2VS.mjs} +10 -4
- package/dist/autosearch/index.mjs +1 -1
- package/dist/button-group/index.mjs +1 -1
- package/dist/{button-group-C3GKo-0p.mjs → button-group-DJ6X1SSj.mjs} +2 -2
- package/dist/{calendar-date-picker-CknZM6a2.mjs → calendar-date-picker-BRKs56gR.mjs} +1 -1
- package/dist/components/features/logs/hooks/use-logs-url-state.d.ts +59 -0
- package/dist/components/features/logs/index.d.ts +4 -1
- package/dist/components/features/logs/utils/facet-counts.d.ts +50 -0
- package/dist/components/features/logs/utils/facets.d.ts +2 -0
- package/dist/components/features/logs/utils/index.d.ts +4 -0
- package/dist/components/features/logs/utils/url-state.d.ts +61 -0
- package/dist/data-table/index.mjs +1 -1
- package/dist/{data-table-CpBwO8Ea.mjs → data-table-DFUnUydN.mjs} +5 -5
- package/dist/date-picker/index.mjs +3 -3
- package/dist/date-time-picker/index.mjs +1 -1
- package/dist/{date-time-picker-Bc41Ixrs.mjs → date-time-picker-BRMm2QSz.mjs} +1 -1
- package/dist/{date-time-range-picker-yy1Acntn.mjs → date-time-range-picker-CqGGJTLS.mjs} +18 -7
- package/dist/field-styles-D-FJatHt.mjs +31 -0
- package/dist/form/index.mjs +1 -1
- package/dist/{form-DTaVgDSV.mjs → form-VdbSqDjL.mjs} +5 -5
- package/dist/grouped-table/index.mjs +1 -1
- package/dist/{grouped-table-Dl6DclbV.mjs → grouped-table-B4HzLXq6.mjs} +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/hooks/use-breakpoint.d.ts +7 -2
- package/dist/index.mjs +19 -19
- package/dist/{layers-DLUbkJtt.mjs → layers-BC1Ny49w.mjs} +1 -1
- package/dist/logs/index.mjs +374 -80
- package/dist/map/index.mjs +1 -1
- package/dist/more-actions/index.mjs +1 -1
- package/dist/{more-actions-BlSOVwa8.mjs → more-actions-DXQiV-bN.mjs} +1 -1
- package/dist/multi-select/index.mjs +1 -1
- package/dist/{multi-select-C2cBrqXl.mjs → multi-select-DwcsJdHt.mjs} +32 -24
- package/dist/picker/index.mjs +2 -2
- package/dist/{picker-DC3GErYg.mjs → picker-BHPtncpv.mjs} +2 -2
- package/dist/responsive-dropdown/index.mjs +1 -1
- package/dist/{responsive-dropdown-DsWgpE_i.mjs → responsive-dropdown-B9cDUeHt.mjs} +1 -1
- package/dist/responsive-popover/index.mjs +1 -1
- package/dist/{responsive-popover-DJYd8lOK.mjs → responsive-popover-B_pUxrZ1.mjs} +1 -1
- package/dist/rich-text-editor/index.mjs +1 -1
- package/dist/{rich-text-editor-BUz06s-b.mjs → rich-text-editor-CPd_6vdZ.mjs} +1 -1
- package/dist/select/index.mjs +1 -1
- package/dist/{select-DemYhwnG.mjs → select-B0Xlz-wD.mjs} +3 -2
- package/dist/{select-jgK6wyXj.mjs → select-CGsHf70u.mjs} +7 -2
- package/dist/task-queue/index.mjs +1 -1
- package/dist/{task-queue-dropdown-DuCAAybs.mjs → task-queue-dropdown-BflEFiMi.mjs} +1 -1
- package/dist/time-picker/index.mjs +1 -1
- package/dist/{time-picker-B_am4eAK.mjs → time-picker-BFwH-Vd3.mjs} +1 -1
- package/dist/{to-api-format-DyImCzCn.mjs → to-api-format-BiWOTFha.mjs} +3 -3
- package/dist/{use-breakpoint-zY_JYINK.mjs → use-breakpoint-Ce5tS4cU.mjs} +11 -5
- package/dist/utils/field-styles.d.ts +21 -0
- package/package.json +1 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
2
|
+
import { n as fieldPlaceholderClassName, r as fieldTriggerClassName, t as fieldIconClassName } from "./field-styles-D-FJatHt.mjs";
|
|
2
3
|
import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
|
|
3
4
|
import { n as OptionList, t as useOptionPicker } from "./use-option-picker-DXY2SNnT.mjs";
|
|
4
|
-
import { t as ResponsivePopover } from "./responsive-popover-
|
|
5
|
+
import { t as ResponsivePopover } from "./responsive-popover-B_pUxrZ1.mjs";
|
|
5
6
|
import { t as Separator } from "./separator-DNiiN2BN.mjs";
|
|
7
|
+
import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
|
|
6
8
|
import { t as LoaderOverlay } from "./loader-overlay-DP0pvHuG.mjs";
|
|
7
9
|
import { n as useChipMotion, t as MotionBadge } from "./motion-chip-BczV7spP.mjs";
|
|
8
10
|
import { cva } from "class-variance-authority";
|
|
@@ -91,9 +93,9 @@ function SelectedBadgeList({ selectedOptions, maxCount, variant, badgeClassName,
|
|
|
91
93
|
const overflowCount = maxCount === -1 ? 0 : selectedOptions.length - maxCount;
|
|
92
94
|
const chipMotion = useChipMotion();
|
|
93
95
|
return /* @__PURE__ */ jsxs("div", {
|
|
94
|
-
className: "flex w-full items-center justify-between",
|
|
96
|
+
className: "flex w-full items-center justify-between gap-2",
|
|
95
97
|
children: [/* @__PURE__ */ jsx("div", {
|
|
96
|
-
className: "relative flex flex-wrap items-center gap-2",
|
|
98
|
+
className: "relative flex min-w-0 flex-wrap items-center gap-2",
|
|
97
99
|
children: /* @__PURE__ */ jsxs(AnimatePresence, {
|
|
98
100
|
initial: false,
|
|
99
101
|
mode: "popLayout",
|
|
@@ -120,7 +122,9 @@ function SelectedBadgeList({ selectedOptions, maxCount, variant, badgeClassName,
|
|
|
120
122
|
label: `Remove ${option.label}`,
|
|
121
123
|
onActivate: () => onRemove(option.value),
|
|
122
124
|
className: "text-muted-foreground ml-1",
|
|
123
|
-
children: /* @__PURE__ */ jsx(
|
|
125
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
126
|
+
icon: XCircle,
|
|
127
|
+
size: 12,
|
|
124
128
|
className: "size-3",
|
|
125
129
|
"aria-hidden": "true"
|
|
126
130
|
})
|
|
@@ -135,7 +139,9 @@ function SelectedBadgeList({ selectedOptions, maxCount, variant, badgeClassName,
|
|
|
135
139
|
label: "Clear extra selected",
|
|
136
140
|
onActivate: onClearExtra,
|
|
137
141
|
className: "text-muted-foreground ml-1",
|
|
138
|
-
children: /* @__PURE__ */ jsx(
|
|
142
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
143
|
+
icon: XCircle,
|
|
144
|
+
size: 12,
|
|
139
145
|
className: "size-3",
|
|
140
146
|
"aria-hidden": "true"
|
|
141
147
|
})
|
|
@@ -143,23 +149,26 @@ function SelectedBadgeList({ selectedOptions, maxCount, variant, badgeClassName,
|
|
|
143
149
|
}, "overflow")]
|
|
144
150
|
})
|
|
145
151
|
}), /* @__PURE__ */ jsxs("div", {
|
|
146
|
-
className: "flex items-center
|
|
152
|
+
className: "flex shrink-0 items-center gap-2",
|
|
147
153
|
children: [
|
|
148
154
|
/* @__PURE__ */ jsx(IconAction, {
|
|
149
155
|
label: "Clear all",
|
|
150
156
|
onActivate: onClearAll,
|
|
151
|
-
className: "text-muted-foreground
|
|
152
|
-
children: /* @__PURE__ */ jsx(
|
|
153
|
-
|
|
157
|
+
className: "text-muted-foreground hover:text-foreground rounded-sm",
|
|
158
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
159
|
+
icon: XIcon,
|
|
160
|
+
size: 14,
|
|
161
|
+
className: "size-3.5 shrink-0",
|
|
154
162
|
"aria-hidden": "true"
|
|
155
163
|
})
|
|
156
164
|
}),
|
|
157
165
|
/* @__PURE__ */ jsx("span", {
|
|
158
|
-
className: "bg-border
|
|
166
|
+
className: "bg-border h-4 w-px",
|
|
159
167
|
"aria-hidden": "true"
|
|
160
168
|
}),
|
|
161
|
-
/* @__PURE__ */ jsx(
|
|
162
|
-
|
|
169
|
+
/* @__PURE__ */ jsx(Icon, {
|
|
170
|
+
icon: ChevronDown,
|
|
171
|
+
className: fieldIconClassName,
|
|
163
172
|
"aria-hidden": "true"
|
|
164
173
|
})
|
|
165
174
|
]
|
|
@@ -238,6 +247,7 @@ function MultiSelect({ options, onValueChange, variant, defaultValue = EMPTY_ARR
|
|
|
238
247
|
]
|
|
239
248
|
})]
|
|
240
249
|
})] }) : void 0;
|
|
250
|
+
const showBadges = hasSelection && !isLoading && options.length > 0;
|
|
241
251
|
const triggerJSX = /* @__PURE__ */ jsxs("button", {
|
|
242
252
|
...rest,
|
|
243
253
|
type: "button",
|
|
@@ -247,8 +257,8 @@ function MultiSelect({ options, onValueChange, variant, defaultValue = EMPTY_ARR
|
|
|
247
257
|
onTriggerClick?.(event);
|
|
248
258
|
setIsPopoverOpen((prev) => !prev);
|
|
249
259
|
},
|
|
250
|
-
className: cn(
|
|
251
|
-
children: [
|
|
260
|
+
className: cn(fieldTriggerClassName, "relative min-h-10 justify-between py-1", (disabled || isLoading) && "cursor-not-allowed opacity-50", className),
|
|
261
|
+
children: [showBadges ? /* @__PURE__ */ jsx(SelectedBadgeList, {
|
|
252
262
|
selectedOptions,
|
|
253
263
|
maxCount,
|
|
254
264
|
variant,
|
|
@@ -260,16 +270,14 @@ function MultiSelect({ options, onValueChange, variant, defaultValue = EMPTY_ARR
|
|
|
260
270
|
onClearExtra: clearExtraOptions,
|
|
261
271
|
onClearAll: handleClear,
|
|
262
272
|
onBadgeClick
|
|
263
|
-
}) : /* @__PURE__ */ jsxs("
|
|
264
|
-
className: "
|
|
265
|
-
children:
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
})]
|
|
272
|
-
}), isLoading && /* @__PURE__ */ jsx(LoaderOverlay, { className: "rounded-lg" })]
|
|
273
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
|
|
274
|
+
className: cn("min-w-0 flex-1 truncate", fieldPlaceholderClassName),
|
|
275
|
+
children: placeholder
|
|
276
|
+
}), /* @__PURE__ */ jsx(Icon, {
|
|
277
|
+
icon: ChevronDown,
|
|
278
|
+
className: fieldIconClassName,
|
|
279
|
+
"aria-hidden": "true"
|
|
280
|
+
})] }), isLoading && /* @__PURE__ */ jsx(LoaderOverlay, { className: "rounded-lg" })]
|
|
273
281
|
});
|
|
274
282
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
275
283
|
/* @__PURE__ */ jsx(ResponsivePopover, {
|
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-CqGGJTLS.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-BHPtncpv.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
|
-
import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-
|
|
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-
|
|
2
|
+
import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-CGsHf70u.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-CqGGJTLS.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 ResponsiveDropdown } from "../responsive-dropdown-
|
|
1
|
+
export { t as ResponsiveDropdown } from "../responsive-dropdown-B9cDUeHt.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as useBreakpoint } from "./use-breakpoint-
|
|
1
|
+
import { t as useBreakpoint } from "./use-breakpoint-Ce5tS4cU.mjs";
|
|
2
2
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
3
3
|
import { i as useInSheet, t as ResponsiveSheetTrigger } from "./mobile-sheet-1995HYY_.mjs";
|
|
4
4
|
import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "./popover-7YxyP_W0.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as ResponsivePopover } from "../responsive-popover-
|
|
1
|
+
export { t as ResponsivePopover } from "../responsive-popover-B_pUxrZ1.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as useBreakpoint } from "./use-breakpoint-
|
|
1
|
+
import { t as useBreakpoint } from "./use-breakpoint-Ce5tS4cU.mjs";
|
|
2
2
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
3
3
|
import { i as useInSheet, t as ResponsiveSheetTrigger } from "./mobile-sheet-1995HYY_.mjs";
|
|
4
4
|
import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "./popover-7YxyP_W0.mjs";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as RichTextContent } from "../rich-text-content-BiIIowBU.mjs";
|
|
2
|
-
import { n as useRichTextEditor, t as RichTextEditor } from "../rich-text-editor-
|
|
2
|
+
import { n as useRichTextEditor, t as RichTextEditor } from "../rich-text-editor-CPd_6vdZ.mjs";
|
|
3
3
|
export { RichTextContent, RichTextEditor, useRichTextEditor };
|
|
@@ -2,7 +2,7 @@ import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
|
2
2
|
import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
|
|
3
3
|
import { t as Button } from "./button-Cn4KagBO.mjs";
|
|
4
4
|
import { t as Input } from "./input-DsT5qkJn.mjs";
|
|
5
|
-
import { t as ResponsivePopover } from "./responsive-popover-
|
|
5
|
+
import { t as ResponsivePopover } from "./responsive-popover-B_pUxrZ1.mjs";
|
|
6
6
|
import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
|
|
7
7
|
import { BoldIcon, ItalicIcon, LinkIcon, StrikethroughIcon, UnderlineIcon, UnlinkIcon } from "lucide-react";
|
|
8
8
|
import { createContext, use, useCallback, useEffect, useState } from "react";
|
package/dist/select/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as Select, n as SelectContent, r as SelectGroup, i as SelectItem, a as SelectLabel, o as SelectScrollDownButton, s as SelectScrollUpButton, c as SelectSeparator, l as SelectTrigger, u as SelectValue } from "../select-
|
|
1
|
+
export { t as Select, n as SelectContent, r as SelectGroup, i as SelectItem, a as SelectLabel, o as SelectScrollDownButton, s as SelectScrollUpButton, c as SelectSeparator, l as SelectTrigger, u as SelectValue } from "../select-B0Xlz-wD.mjs";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { a as SelectLabel$1, c as SelectSeparator$1, i as SelectItem$1, l as SelectTrigger$1, n as SelectContent$1, o as SelectScrollDownButton$1, r as SelectGroup$1, s as SelectScrollUpButton$1, t as Select$1, u as SelectValue$1 } from "./select-
|
|
1
|
+
import { a as SelectLabel$1, c as SelectSeparator$1, i as SelectItem$1, l as SelectTrigger$1, n as SelectContent$1, o as SelectScrollDownButton$1, r as SelectGroup$1, s as SelectScrollUpButton$1, t as Select$1, u as SelectValue$1 } from "./select-CGsHf70u.mjs";
|
|
2
2
|
import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
3
|
+
import { r as fieldTriggerClassName } from "./field-styles-D-FJatHt.mjs";
|
|
3
4
|
import "react";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
// src/components/base/select/select.tsx
|
|
@@ -16,7 +17,7 @@ SelectGroup.displayName = "SelectGroup";
|
|
|
16
17
|
function SelectTrigger({ ref, className, ...props }) {
|
|
17
18
|
return /* @__PURE__ */ jsx(SelectTrigger$1, {
|
|
18
19
|
ref,
|
|
19
|
-
className: cn(
|
|
20
|
+
className: cn(fieldTriggerClassName, "data-[placeholder]:text-input-placeholder", className),
|
|
20
21
|
...props
|
|
21
22
|
});
|
|
22
23
|
}
|
|
@@ -25,11 +25,16 @@ function SelectValue({ ...props }) {
|
|
|
25
25
|
function SelectTrigger({ className, children, ...props }) {
|
|
26
26
|
return /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {
|
|
27
27
|
"data-slot": "select-trigger",
|
|
28
|
-
className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive rounded-md border bg-transparent py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "flex h-auto min-h-10 w-full items-center justify-between px-3 text-sm font-
|
|
28
|
+
className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive rounded-md border bg-transparent py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "flex h-auto min-h-10 w-full items-center justify-between gap-2 px-3 text-sm font-normal", className),
|
|
29
29
|
...props,
|
|
30
30
|
children: [children, /* @__PURE__ */ jsx(SelectPrimitive.Icon, {
|
|
31
31
|
asChild: true,
|
|
32
|
-
children: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
32
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
33
|
+
className: "text-muted-foreground size-4 shrink-0",
|
|
34
|
+
size: 16,
|
|
35
|
+
strokeWidth: 1,
|
|
36
|
+
absoluteStrokeWidth: true
|
|
37
|
+
})
|
|
33
38
|
})]
|
|
34
39
|
});
|
|
35
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { v as LocalTaskStorage, _ as RedisTaskStorage, i as TaskPanel, s as TaskPanelActions, o as TaskPanelCounter, c as TaskPanelHeader, a as TaskPanelItem, h as TaskQueue, t as TaskQueueDropdown, m as TaskQueueProvider, r as TaskQueueTrigger, n as TaskSummaryDialog, y as createOrgMetadata, b as createProjectMetadata, x as createUserMetadata, g as detectStorage, l as getContextLabel, u as matchesCurrentScope, d as useCurrentScope, p as useTaskQueue, f as useTasksWithLabels } from "../task-queue-dropdown-
|
|
1
|
+
export { v as LocalTaskStorage, _ as RedisTaskStorage, i as TaskPanel, s as TaskPanelActions, o as TaskPanelCounter, c as TaskPanelHeader, a as TaskPanelItem, h as TaskQueue, t as TaskQueueDropdown, m as TaskQueueProvider, r as TaskQueueTrigger, n as TaskSummaryDialog, y as createOrgMetadata, b as createProjectMetadata, x as createUserMetadata, g as detectStorage, l as getContextLabel, u as matchesCurrentScope, d as useCurrentScope, p as useTaskQueue, f as useTasksWithLabels } from "../task-queue-dropdown-BflEFiMi.mjs";
|
|
@@ -4,7 +4,7 @@ import { t as SpinnerIcon } from "./spinner.icon-BiUnMAxw.mjs";
|
|
|
4
4
|
import { t as Button } from "./button-Cn4KagBO.mjs";
|
|
5
5
|
import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
|
|
6
6
|
import { t as Dialog } from "./dialog-C8RXIQYm.mjs";
|
|
7
|
-
import { t as ResponsiveDropdown } from "./responsive-dropdown-
|
|
7
|
+
import { t as ResponsiveDropdown } from "./responsive-dropdown-B9cDUeHt.mjs";
|
|
8
8
|
import { a as TooltipTrigger, n as Tooltip, r as TooltipContent, t as Tooltip$1 } from "./tooltip-OIySjJWW.mjs";
|
|
9
9
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
|
|
10
10
|
import { Ban, CheckCircle2, CircleAlert, CircleCheck, CornerDownRightIcon, FileIcon, ListTodo, X, XCircle } from "lucide-react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as TimePicker } from "../time-picker-
|
|
1
|
+
export { t as TimePicker } from "../time-picker-BFwH-Vd3.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as useDeprecationWarning } from "./use-deprecation-warning-BS1V4IS5.mjs";
|
|
2
|
-
import { n as TimePicker$1 } from "./picker-
|
|
2
|
+
import { n as TimePicker$1 } from "./picker-BHPtncpv.mjs";
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
// src/components/features/time-picker/time-picker.tsx
|
|
5
5
|
const STEP_VALUES = [
|
|
@@ -2,9 +2,9 @@ import { t as cn } from "./utils-CTIuhCOs.mjs";
|
|
|
2
2
|
import { t as Button } from "./button-Cn4KagBO.mjs";
|
|
3
3
|
import { Calendar } from "./calendar/index.mjs";
|
|
4
4
|
import { t as Input } from "./input-DsT5qkJn.mjs";
|
|
5
|
-
import { t as ResponsivePopover } from "./responsive-popover-
|
|
6
|
-
import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-
|
|
7
|
-
import { F as zonedDateToIso, M as getBrowserTimezone, N as getTimezoneOffset, P as isoToZonedDate, U as endOfDayInTz, W as startOfDayInTz, j as formatTimezoneLabel, t as DateTimeRangePicker } from "./date-time-range-picker-
|
|
5
|
+
import { t as ResponsivePopover } from "./responsive-popover-B_pUxrZ1.mjs";
|
|
6
|
+
import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-B0Xlz-wD.mjs";
|
|
7
|
+
import { F as zonedDateToIso, M as getBrowserTimezone, N as getTimezoneOffset, P as isoToZonedDate, U as endOfDayInTz, W as startOfDayInTz, j as formatTimezoneLabel, t as DateTimeRangePicker } from "./date-time-range-picker-CqGGJTLS.mjs";
|
|
8
8
|
import { t as useDeprecationWarning } from "./use-deprecation-warning-BS1V4IS5.mjs";
|
|
9
9
|
import { CalendarIcon, Globe } from "lucide-react";
|
|
10
10
|
import { useCallback, useEffect, useId, useRef, useState } from "react";
|
|
@@ -13,16 +13,22 @@ function getBreakpoint() {
|
|
|
13
13
|
* Returns the current viewport breakpoint tier.
|
|
14
14
|
*
|
|
15
15
|
* Breakpoints: mobile <768px, tablet 768–1023px, desktop ≥1024px.
|
|
16
|
-
*
|
|
16
|
+
*
|
|
17
|
+
* `initial` is the tier the server rendered with. Pass the viewport the server
|
|
18
|
+
* already knows about (for example a viewport client hint) so the hydration
|
|
19
|
+
* render matches; without one it defaults to 'desktop'. The client measures on
|
|
20
|
+
* mount and tracks resizes after that, so the first render stays deterministic
|
|
21
|
+
* on both sides.
|
|
17
22
|
*/
|
|
18
|
-
function useBreakpoint() {
|
|
19
|
-
const [breakpoint, setBreakpoint] = useState(
|
|
23
|
+
function useBreakpoint(initial = "desktop") {
|
|
24
|
+
const [breakpoint, setBreakpoint] = useState(initial);
|
|
20
25
|
useEffect(() => {
|
|
21
|
-
const mqTablet = window.matchMedia(`(min-width: ${TABLET_MIN}px)`);
|
|
22
|
-
const mqDesktop = window.matchMedia(`(min-width: ${DESKTOP_MIN}px)`);
|
|
23
26
|
const update = () => {
|
|
24
27
|
setBreakpoint(getBreakpoint());
|
|
25
28
|
};
|
|
29
|
+
update();
|
|
30
|
+
const mqTablet = window.matchMedia(`(min-width: ${TABLET_MIN}px)`);
|
|
31
|
+
const mqDesktop = window.matchMedia(`(min-width: ${DESKTOP_MIN}px)`);
|
|
26
32
|
mqTablet.addEventListener("change", update);
|
|
27
33
|
mqDesktop.addEventListener("change", update);
|
|
28
34
|
return () => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared look for every input-like trigger: Select, Autocomplete, MultiSelect
|
|
3
|
+
* and the date/time pickers. They sit next to each other in toolbars and
|
|
4
|
+
* filter rows, so they must line up with `Input` and with each other:
|
|
5
|
+
*
|
|
6
|
+
* - 12px (`px-3`) inline padding, the same as `Input`
|
|
7
|
+
* - `text-sm`, regular weight for both the value and the placeholder
|
|
8
|
+
* - 8px (`gap-2`) between the leading icon, the value and trailing icons
|
|
9
|
+
* - trailing chevrons are 16px and muted, with no extra margin, so the
|
|
10
|
+
* chevron sits 12px from the right edge on every trigger
|
|
11
|
+
* - clear (X) icons are 14px: lucide's X fills more of its box than the
|
|
12
|
+
* chevron, so at 16px it looks heavier than the chevron beside it
|
|
13
|
+
*
|
|
14
|
+
* Internal: not part of the public `utils` entry.
|
|
15
|
+
*/
|
|
16
|
+
/** Box, type and focus styles. Height is left to each component. */
|
|
17
|
+
export declare const fieldTriggerClassName: string;
|
|
18
|
+
/** Placeholder text inside a trigger. Same colour as `Input`'s placeholder. */
|
|
19
|
+
export declare const fieldPlaceholderClassName = "text-input-placeholder";
|
|
20
|
+
/** Leading icons and the trailing chevron. Clear icons use `size-3.5`. */
|
|
21
|
+
export declare const fieldIconClassName = "text-muted-foreground size-4 shrink-0";
|