rangeflow 1.0.6 → 1.0.8
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 +23 -0
- package/dist/animations/OdometerText/OdometerChar.d.ts +6 -0
- package/dist/animations/{OdometerText.d.ts → OdometerText/index.d.ts} +2 -2
- package/dist/components/RangeTabs/hooks/use-tab-indicator.d.ts +8 -0
- package/dist/context/root.d.ts +2 -2
- package/dist/index.js +295 -273
- package/dist/style.css +2 -2
- package/package.json +1 -4
package/README.md
CHANGED
|
@@ -514,6 +514,29 @@ If you are an AI tool generating code with RangeFlow, keep these facts in mind:
|
|
|
514
514
|
- The picker is 560px wide and 140px tall by default (`w-140 h-35` in Tailwind units).
|
|
515
515
|
- Dates are plain JS `Date` objects. The package uses `dayjs` internally but does not require it from you.
|
|
516
516
|
|
|
517
|
+
## Bundle size
|
|
518
|
+
|
|
519
|
+
Measured with `yarn build:lib` (v1.0.*):
|
|
520
|
+
|
|
521
|
+
| What is shipped inside RangeFlow's own `dist` | Minified | Gzip |
|
|
522
|
+
| --------------------------------------------- | -------- | ---- |
|
|
523
|
+
| `dist/index.js` | 32 KB | 9 KB |
|
|
524
|
+
| `dist/style.css` | 31 KB | 4 KB |
|
|
525
|
+
|
|
526
|
+
The published package **does not bundle its dependencies**. They are listed as `external` in [vite.lib.config.ts](vite.lib.config.ts) and tree-shaken by your app's bundler.
|
|
527
|
+
|
|
528
|
+
In a real consumer app (Vite / Rollup / Webpack 5+), the end cost of `import { RangeFlow } from 'rangeflow'` is roughly:
|
|
529
|
+
|
|
530
|
+
| Shipped to the browser (React externalized) | Minified | Gzip |
|
|
531
|
+
| --------------------------------------------- | -------- | ----- |
|
|
532
|
+
| JS (RangeFlow + transitive deps) | 291 KB | 96 KB |
|
|
533
|
+
| CSS | 31 KB | 4 KB |
|
|
534
|
+
| **Total** | **322 KB** | **~100 KB** |
|
|
535
|
+
|
|
536
|
+
> ℹ️ [Bundlephobia](https://bundlephobia.com/package/rangeflow) reports a higher number (~134 KB gzip). It measures the package in isolation, which double-counts React and is pessimistic about tree-shaking. The measurement above reflects what your users actually download.
|
|
537
|
+
|
|
538
|
+
If your app already uses `react-day-picker`, `date-fns`, `dayjs`, `@dnd-kit/*`, or `@radix-ui/react-popover`, your bundler will dedupe them and the added cost will be even smaller.
|
|
539
|
+
|
|
517
540
|
## Browser support
|
|
518
541
|
|
|
519
542
|
RangeFlow uses modern CSS features such as `color-mix()` and the OKLCH color space. It works in all current versions of Chrome, Edge, Firefox, and Safari.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
interface OdometerTextProps {
|
|
2
2
|
children: string;
|
|
3
3
|
className?: string;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
5
|
export declare const OdometerText: import('react').MemoExoticComponent<({ children, className }: OdometerTextProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
6
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Positions an absolute indicator over the active tab using FLIP-lite:
|
|
3
|
+
* the first placement is instant; subsequent moves animate via CSS transition.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useTabIndicator(activeIndex: number, layoutKey: unknown): {
|
|
6
|
+
indicatorRef: import('react').RefObject<HTMLDivElement | null>;
|
|
7
|
+
registerButton: (index: number) => (element: HTMLButtonElement | null) => void;
|
|
8
|
+
};
|
package/dist/context/root.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { DayPickerProps } from 'react-day-picker';
|
|
|
3
3
|
import { GroupImperativeHandle } from 'react-resizable-panels';
|
|
4
4
|
import { StoreApi } from 'zustand/vanilla';
|
|
5
5
|
import { Bounds, DateDisabled, DateRange, RangeListItem, Slots } from '../types';
|
|
6
|
-
type
|
|
6
|
+
type Updater = Partial<RangeFlowState> | ((state: RangeFlowState) => Partial<RangeFlowState>);
|
|
7
7
|
export interface RangeFlowRefs {
|
|
8
8
|
slider: {
|
|
9
9
|
root: RefObject<GroupImperativeHandle | null>;
|
|
@@ -28,7 +28,7 @@ export interface RangeFlowEvents {
|
|
|
28
28
|
onChange: (date: DateRange) => void;
|
|
29
29
|
}
|
|
30
30
|
export interface RangeFlowActions {
|
|
31
|
-
update: (
|
|
31
|
+
update: (updater: Updater) => void;
|
|
32
32
|
reset: () => void;
|
|
33
33
|
}
|
|
34
34
|
export type RangeFlowStore = StoreApi<RangeFlowState & RangeFlowActions>;
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import { createContext as e, createElement as t, memo as n, startTransition as r, useCallback as i, useContext as a, useEffect as o,
|
|
1
|
+
import { createContext as e, createElement as t, memo as n, startTransition as r, useCallback as i, useContext as a, useEffect as o, useLayoutEffect as s, useMemo as c, useRef as l, useState as u } from "react";
|
|
2
2
|
import d from "dayjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { effect as ce, signal as D } from "@dnd-kit/state";
|
|
16
|
-
import { DayPicker as le } from "react-day-picker";
|
|
3
|
+
import { createStore as f } from "zustand/vanilla";
|
|
4
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
5
|
+
import { RestrictToHorizontalAxis as h, restrictShapeToBoundingRectangle as g } from "@dnd-kit/abstract/modifiers";
|
|
6
|
+
import { DragDropProvider as _, DragOverlay as v, useDragDropMonitor as ee, useDraggable as te } from "@dnd-kit/react";
|
|
7
|
+
import y, { clsx as b } from "clsx";
|
|
8
|
+
import { useStore as x } from "zustand";
|
|
9
|
+
import { KeyboardSensor as ne, PointerSensor as re } from "@dnd-kit/dom";
|
|
10
|
+
import { Group as ie, Panel as S, Separator as C } from "react-resizable-panels";
|
|
11
|
+
import { Modifier as ae, configurator as w } from "@dnd-kit/abstract";
|
|
12
|
+
import { Rectangle as T } from "@dnd-kit/geometry";
|
|
13
|
+
import { effect as E, signal as D } from "@dnd-kit/state";
|
|
14
|
+
import { DayPicker as oe } from "react-day-picker";
|
|
17
15
|
import * as O from "@radix-ui/react-popover";
|
|
18
16
|
//#region src/package/rangeflow/constants/date-ranges.ts
|
|
19
|
-
var
|
|
17
|
+
var se = [
|
|
20
18
|
{
|
|
21
19
|
label: "2 Weeks",
|
|
22
20
|
from: d().subtract(1, "weeks").toDate(),
|
|
@@ -58,9 +56,9 @@ function N(e, t) {
|
|
|
58
56
|
}
|
|
59
57
|
//#endregion
|
|
60
58
|
//#region src/package/rangeflow/utils/create-slider-values.ts
|
|
61
|
-
var
|
|
62
|
-
function
|
|
63
|
-
let n = d(e.from).startOf("day"), r = d(e.to).startOf("day").diff(n, "day"), i = d(t.from).startOf("day"), a = d(t.to).startOf("day"), o = Math.max(i.diff(n, "day"), 0), s = Math.max(a.diff(i, "day"), 0) * 100 / r, c = o * 100 / r, l = Math.max(
|
|
59
|
+
var ce = N([1, 100], [5, 100]);
|
|
60
|
+
function P(e, t) {
|
|
61
|
+
let n = d(e.from).startOf("day"), r = d(e.to).startOf("day").diff(n, "day"), i = d(t.from).startOf("day"), a = d(t.to).startOf("day"), o = Math.max(i.diff(n, "day"), 0), s = Math.max(a.diff(i, "day"), 0) * 100 / r, c = o * 100 / r, l = Math.max(ce(s), 5), u = M(c - (l - s), 0, Math.max(100 - l, 0));
|
|
64
62
|
return {
|
|
65
63
|
size: l,
|
|
66
64
|
left: u,
|
|
@@ -69,7 +67,7 @@ function F(e, t) {
|
|
|
69
67
|
}
|
|
70
68
|
//#endregion
|
|
71
69
|
//#region src/package/rangeflow/context/hooks/use-context-api.ts
|
|
72
|
-
function
|
|
70
|
+
function F(e, t, n) {
|
|
73
71
|
o(() => {
|
|
74
72
|
if (!n) return;
|
|
75
73
|
let r = n.__internal.store, i = n.__internal.refs;
|
|
@@ -84,7 +82,7 @@ function I(e, t, n) {
|
|
|
84
82
|
}
|
|
85
83
|
//#endregion
|
|
86
84
|
//#region src/package/rangeflow/context/hooks/use-context-events.ts
|
|
87
|
-
function
|
|
85
|
+
function I({ onChange: e }) {
|
|
88
86
|
let t = l({ onChange: e });
|
|
89
87
|
return o(() => {
|
|
90
88
|
t.current.onChange = e;
|
|
@@ -92,26 +90,26 @@ function L({ onChange: e }) {
|
|
|
92
90
|
}
|
|
93
91
|
//#endregion
|
|
94
92
|
//#region src/package/rangeflow/context/hooks/use-context-refs.ts
|
|
95
|
-
function
|
|
93
|
+
function L() {
|
|
96
94
|
let e = l(null);
|
|
97
95
|
return c(() => ({ slider: { root: e } }), []);
|
|
98
96
|
}
|
|
99
97
|
//#endregion
|
|
100
98
|
//#region src/package/rangeflow/context/hooks/use-context-slots.ts
|
|
101
|
-
function
|
|
99
|
+
function R(e) {
|
|
102
100
|
return c(() => ({ ...e }), [e]);
|
|
103
101
|
}
|
|
104
102
|
//#endregion
|
|
105
103
|
//#region src/package/rangeflow/context/root.ts
|
|
106
|
-
var
|
|
104
|
+
var z = (e) => f()((t) => ({
|
|
107
105
|
...e,
|
|
108
106
|
update: (e) => t(e),
|
|
109
|
-
reset: () => t(
|
|
110
|
-
}))
|
|
107
|
+
reset: () => t(structuredClone(e))
|
|
108
|
+
})), B = e(null);
|
|
111
109
|
//#endregion
|
|
112
110
|
//#region src/package/rangeflow/context/ContextProvider.tsx
|
|
113
|
-
function
|
|
114
|
-
let
|
|
111
|
+
function V({ children: e, defaultRange: t, defaultSelected: n, disabled: r, duration: i, calendar: a = !0, ranges: o = se, CalendarProps: s, Slots: l, api: d, onChange: f }) {
|
|
112
|
+
let m = L(), h = I({ onChange: f }), g = R(l), [_] = u(() => z({
|
|
115
113
|
ranges: o,
|
|
116
114
|
disabled: r,
|
|
117
115
|
duration: i,
|
|
@@ -119,72 +117,72 @@ function H({ children: e, defaultRange: t, defaultSelected: n, disabled: r, dura
|
|
|
119
117
|
range: t,
|
|
120
118
|
default_range: t,
|
|
121
119
|
selected_date: n,
|
|
122
|
-
slider:
|
|
120
|
+
slider: P(t, n),
|
|
123
121
|
CalendarProps: s
|
|
124
122
|
}));
|
|
125
|
-
|
|
123
|
+
F(_, m, d);
|
|
126
124
|
let v = c(() => ({
|
|
127
125
|
store: _,
|
|
128
126
|
events: h,
|
|
129
|
-
refs:
|
|
127
|
+
refs: m,
|
|
130
128
|
slots: g
|
|
131
129
|
}), [
|
|
132
130
|
_,
|
|
133
131
|
h,
|
|
134
|
-
|
|
132
|
+
m,
|
|
135
133
|
g
|
|
136
134
|
]);
|
|
137
|
-
return /* @__PURE__ */
|
|
135
|
+
return /* @__PURE__ */ p(B.Provider, {
|
|
138
136
|
value: v,
|
|
139
137
|
children: e
|
|
140
138
|
});
|
|
141
139
|
}
|
|
142
140
|
//#endregion
|
|
143
|
-
//#region src/package/rangeflow/animations/OdometerText.tsx
|
|
144
|
-
var
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
141
|
+
//#region src/package/rangeflow/animations/OdometerText/OdometerChar.tsx
|
|
142
|
+
var H = n(({ value: e, delay: t }) => {
|
|
143
|
+
let [n, r] = u({
|
|
144
|
+
current: e,
|
|
145
|
+
version: 0,
|
|
146
|
+
exiting: null
|
|
147
|
+
}), { current: i, version: a, exiting: o } = n;
|
|
148
|
+
i !== e && (a = n.version + 1, o = {
|
|
149
|
+
value: i,
|
|
150
|
+
version: a
|
|
151
|
+
}, i = e, r({
|
|
152
|
+
current: i,
|
|
153
|
+
version: a,
|
|
154
|
+
exiting: o
|
|
155
|
+
}));
|
|
156
|
+
let s = i === " " ? "\xA0" : i, c = o?.value === " " ? "\xA0" : o?.value, l = { animationDelay: `${t}ms` };
|
|
157
|
+
return /* @__PURE__ */ m("span", {
|
|
158
|
+
className: "relative inline-block overflow-hidden leading-none",
|
|
159
|
+
children: [
|
|
160
|
+
/* @__PURE__ */ p("span", {
|
|
151
161
|
className: "invisible",
|
|
152
|
-
children:
|
|
153
|
-
}),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
.32,
|
|
177
|
-
.72,
|
|
178
|
-
0,
|
|
179
|
-
1
|
|
180
|
-
],
|
|
181
|
-
delay: t * .035
|
|
182
|
-
},
|
|
183
|
-
children: n
|
|
184
|
-
}, e)
|
|
185
|
-
})]
|
|
186
|
-
}, t);
|
|
187
|
-
})
|
|
162
|
+
children: s
|
|
163
|
+
}),
|
|
164
|
+
/* @__PURE__ */ p("span", {
|
|
165
|
+
className: "rangeflow-odometer-enter absolute inset-0",
|
|
166
|
+
style: l,
|
|
167
|
+
children: s
|
|
168
|
+
}, `enter-${a}`),
|
|
169
|
+
o && /* @__PURE__ */ p("span", {
|
|
170
|
+
className: "rangeflow-odometer-exit absolute inset-0",
|
|
171
|
+
style: l,
|
|
172
|
+
onAnimationEnd: () => r((e) => e.exiting === o ? {
|
|
173
|
+
...e,
|
|
174
|
+
exiting: null
|
|
175
|
+
} : e),
|
|
176
|
+
children: c
|
|
177
|
+
}, `exit-${o.version}`)
|
|
178
|
+
]
|
|
179
|
+
});
|
|
180
|
+
}), U = n(({ children: e, className: t }) => /* @__PURE__ */ p("span", {
|
|
181
|
+
className: y("inline-flex tabular-nums", t),
|
|
182
|
+
children: [...e].map((e, t) => /* @__PURE__ */ p(H, {
|
|
183
|
+
delay: t * 35,
|
|
184
|
+
value: e
|
|
185
|
+
}, t))
|
|
188
186
|
}));
|
|
189
187
|
//#endregion
|
|
190
188
|
//#region src/package/rangeflow/hooks/use-days-in-range.ts
|
|
@@ -194,24 +192,24 @@ function W(e) {
|
|
|
194
192
|
//#endregion
|
|
195
193
|
//#region src/package/rangeflow/hooks/use-rangeflow-slots.ts
|
|
196
194
|
function G() {
|
|
197
|
-
return a(
|
|
195
|
+
return a(B).slots;
|
|
198
196
|
}
|
|
199
197
|
//#endregion
|
|
200
198
|
//#region src/package/rangeflow/hooks/use-rangeflow-store.ts
|
|
201
199
|
function K(e) {
|
|
202
|
-
return
|
|
200
|
+
return x(a(B).store, e);
|
|
203
201
|
}
|
|
204
202
|
//#endregion
|
|
205
203
|
//#region src/package/rangeflow/components/DateSlider/DateLabelsTrack.tsx
|
|
206
|
-
function
|
|
204
|
+
function le(e) {
|
|
207
205
|
return e > 120 ? "MMM YYYY" : e > 7 ? "MMM DD" : "ddd DD";
|
|
208
206
|
}
|
|
209
|
-
function
|
|
207
|
+
function ue(e) {
|
|
210
208
|
return e > 120 ? 8 : e > 30 ? 10 : e > 7 ? 8 : Math.min(e + 1, 8);
|
|
211
209
|
}
|
|
212
|
-
var
|
|
210
|
+
var de = n(() => {
|
|
213
211
|
let e = K((e) => e.range), n = W(e), { DateLabelsTrack: r } = G(), i = c(() => {
|
|
214
|
-
let t =
|
|
212
|
+
let t = le(n), r = ue(n), i = d(e.from), a = d(e.to).diff(i);
|
|
215
213
|
return Array.from({ length: r }, (e, n) => {
|
|
216
214
|
let o = n / (r - 1);
|
|
217
215
|
return i.add(a * o, "ms").format(t);
|
|
@@ -221,10 +219,10 @@ var pe = n(() => {
|
|
|
221
219
|
e.to,
|
|
222
220
|
n
|
|
223
221
|
]);
|
|
224
|
-
return r ? t(r) : /* @__PURE__ */
|
|
225
|
-
className:
|
|
226
|
-
children: i.map((e, t) => /* @__PURE__ */
|
|
227
|
-
className:
|
|
222
|
+
return r ? t(r) : /* @__PURE__ */ p("div", {
|
|
223
|
+
className: y("rangeflow-labels flex w-full items-center justify-between select-none", "absolute top-10 left-0 px-2", "text-xs tracking-tighter text-(--rangeflow-text-faint) uppercase"),
|
|
224
|
+
children: i.map((e, t) => /* @__PURE__ */ p(U, {
|
|
225
|
+
className: y("rangeflow-label", { "font-medium text-(--rangeflow-text-muted)": t === 0 || t === i.length - 1 }),
|
|
228
226
|
children: e
|
|
229
227
|
}, t))
|
|
230
228
|
});
|
|
@@ -232,18 +230,18 @@ var pe = n(() => {
|
|
|
232
230
|
//#endregion
|
|
233
231
|
//#region src/package/rangeflow/hooks/use-rangeflow-refs.ts
|
|
234
232
|
function q() {
|
|
235
|
-
return a(
|
|
233
|
+
return a(B).refs;
|
|
236
234
|
}
|
|
237
235
|
//#endregion
|
|
238
236
|
//#region src/package/rangeflow/icons/DoubleChevronLeftIcon.tsx
|
|
239
|
-
function
|
|
240
|
-
return /* @__PURE__ */
|
|
237
|
+
function fe() {
|
|
238
|
+
return /* @__PURE__ */ p("svg", {
|
|
241
239
|
fill: "none",
|
|
242
240
|
height: "15",
|
|
243
241
|
viewBox: "0 0 15 15",
|
|
244
242
|
width: "15",
|
|
245
243
|
xmlns: "http://www.w3.org/2000/svg",
|
|
246
|
-
children: /* @__PURE__ */
|
|
244
|
+
children: /* @__PURE__ */ p("path", {
|
|
247
245
|
clipRule: "evenodd",
|
|
248
246
|
d: "M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z",
|
|
249
247
|
fill: "currentColor",
|
|
@@ -253,14 +251,14 @@ function me() {
|
|
|
253
251
|
}
|
|
254
252
|
//#endregion
|
|
255
253
|
//#region src/package/rangeflow/icons/DoubleChevronRightIcon.tsx
|
|
256
|
-
function
|
|
257
|
-
return /* @__PURE__ */
|
|
254
|
+
function pe() {
|
|
255
|
+
return /* @__PURE__ */ p("svg", {
|
|
258
256
|
fill: "none",
|
|
259
257
|
height: "15",
|
|
260
258
|
viewBox: "0 0 15 15",
|
|
261
259
|
width: "15",
|
|
262
260
|
xmlns: "http://www.w3.org/2000/svg",
|
|
263
|
-
children: /* @__PURE__ */
|
|
261
|
+
children: /* @__PURE__ */ p("path", {
|
|
264
262
|
clipRule: "evenodd",
|
|
265
263
|
d: "M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z",
|
|
266
264
|
fill: "currentColor",
|
|
@@ -270,31 +268,30 @@ function he() {
|
|
|
270
268
|
}
|
|
271
269
|
//#endregion
|
|
272
270
|
//#region src/package/rangeflow/components/DateSlider/DateTickers.tsx
|
|
273
|
-
var
|
|
271
|
+
var me = n(() => {
|
|
274
272
|
let { DateTickers: e } = G(), n = Math.min(Math.max(70, W(K((e) => e.range))), 100);
|
|
275
|
-
return e ? t(e) : /* @__PURE__ */
|
|
273
|
+
return e ? t(e) : /* @__PURE__ */ p("div", {
|
|
276
274
|
className: "rangeflow-tickers flex items-center gap-2",
|
|
277
|
-
children: /* @__PURE__ */
|
|
275
|
+
children: /* @__PURE__ */ p("div", {
|
|
278
276
|
className: "flex w-full justify-between",
|
|
279
|
-
children: Array.from({ length: n }).map((e, t) => /* @__PURE__ */
|
|
277
|
+
children: Array.from({ length: n }).map((e, t) => /* @__PURE__ */ p("div", { className: "rangeflow-ticker h-3 w-0.5 rounded-xs bg-(--rangeflow-ticker)" }, t))
|
|
280
278
|
})
|
|
281
279
|
});
|
|
282
280
|
});
|
|
283
281
|
//#endregion
|
|
284
282
|
//#region src/package/rangeflow/components/DateSlider/RangeStepButton.tsx
|
|
285
|
-
function
|
|
286
|
-
return /* @__PURE__ */
|
|
287
|
-
className: "rangeflow-step-button shrink-0 cursor-pointer text-(--rangeflow-text) select-none hover:text-(--rangeflow-text-muted)",
|
|
288
|
-
whileHover: { scale: 1.1 },
|
|
283
|
+
function J({ children: e, onClick: t }) {
|
|
284
|
+
return /* @__PURE__ */ p("span", {
|
|
285
|
+
className: "rangeflow-step-button inline-block shrink-0 cursor-pointer text-(--rangeflow-text) transition-transform duration-150 ease-out select-none hover:scale-110 hover:text-(--rangeflow-text-muted)",
|
|
289
286
|
onClick: t,
|
|
290
287
|
children: e
|
|
291
288
|
});
|
|
292
289
|
}
|
|
293
290
|
//#endregion
|
|
294
291
|
//#region src/package/rangeflow/utils/derive-selection-from-layout.ts
|
|
295
|
-
var
|
|
296
|
-
function
|
|
297
|
-
let n = e[j], r = e[k], i = e[A], a = d(t.from).startOf("day"), o = d(t.to).startOf("day").diff(a, "day"), s =
|
|
292
|
+
var he = N([5, 100], [1, 100]);
|
|
293
|
+
function ge(e, t) {
|
|
294
|
+
let n = e[j], r = e[k], i = e[A], a = d(t.from).startOf("day"), o = d(t.to).startOf("day").diff(a, "day"), s = he(n), c = r + (n - s), l = Math.round(n) <= 5 ? 1 : Math.max(Math.round(s * o / 100), 1), u = M(Math.round(c * o / 100), 0, Math.max(o - l, 0));
|
|
298
295
|
return {
|
|
299
296
|
size: n,
|
|
300
297
|
left: r,
|
|
@@ -305,28 +302,33 @@ function _e(e, t) {
|
|
|
305
302
|
}
|
|
306
303
|
//#endregion
|
|
307
304
|
//#region src/package/rangeflow/hooks/use-rangeflow-store-api.ts
|
|
308
|
-
function
|
|
309
|
-
return a(
|
|
305
|
+
function Y() {
|
|
306
|
+
return a(B).store;
|
|
310
307
|
}
|
|
311
308
|
//#endregion
|
|
312
309
|
//#region src/package/rangeflow/hooks/use-update-selected-date.ts
|
|
313
|
-
function
|
|
314
|
-
let e =
|
|
310
|
+
function X() {
|
|
311
|
+
let e = Y();
|
|
315
312
|
return i((t) => {
|
|
316
|
-
let { range: n, update: r } = e.getState(), { size: i, left: a, right: o, from: s, to: c } =
|
|
317
|
-
r(
|
|
318
|
-
|
|
313
|
+
let { range: n, update: r } = e.getState(), { size: i, left: a, right: o, from: s, to: c } = ge(t, n);
|
|
314
|
+
r({
|
|
315
|
+
slider: {
|
|
316
|
+
size: i,
|
|
317
|
+
left: a,
|
|
318
|
+
right: o
|
|
319
|
+
},
|
|
320
|
+
selected_date: {
|
|
319
321
|
from: s,
|
|
320
322
|
to: c
|
|
321
|
-
}
|
|
323
|
+
}
|
|
322
324
|
});
|
|
323
325
|
}, [e]);
|
|
324
326
|
}
|
|
325
327
|
//#endregion
|
|
326
328
|
//#region src/package/rangeflow/components/DateSlider/Slider/SliderLeftSpacer.tsx
|
|
327
|
-
function
|
|
329
|
+
function _e() {
|
|
328
330
|
let e = K((e) => e.slider.left), [t] = u(() => e);
|
|
329
|
-
return /* @__PURE__ */
|
|
331
|
+
return /* @__PURE__ */ p(S, {
|
|
330
332
|
className: "focus:outline-none",
|
|
331
333
|
defaultSize: `${t}%`,
|
|
332
334
|
id: k,
|
|
@@ -336,9 +338,9 @@ function ve() {
|
|
|
336
338
|
}
|
|
337
339
|
//#endregion
|
|
338
340
|
//#region src/package/rangeflow/components/DateSlider/Slider/SliderRightSpacer.tsx
|
|
339
|
-
function
|
|
341
|
+
function ve() {
|
|
340
342
|
let e = K((e) => e.slider.right), [t] = u(() => e);
|
|
341
|
-
return /* @__PURE__ */
|
|
343
|
+
return /* @__PURE__ */ p(S, {
|
|
342
344
|
className: "focus:outline-none",
|
|
343
345
|
defaultSize: `${t}%`,
|
|
344
346
|
id: A,
|
|
@@ -348,7 +350,7 @@ function ye() {
|
|
|
348
350
|
}
|
|
349
351
|
//#endregion
|
|
350
352
|
//#region src/package/rangeflow/components/DateSlider/SliderValue.tsx
|
|
351
|
-
var
|
|
353
|
+
var ye = n(() => {
|
|
352
354
|
let { SliderValueLabel: e } = G(), n = K((e) => e.slider.size), r = K((e) => e.selected_date), i = c(() => {
|
|
353
355
|
let e = Math.max(d(r.to).diff(r.from, "day"), 1);
|
|
354
356
|
return n < 10 ? `${e}D` : e === 1 ? "1 Day" : `${e} Days`;
|
|
@@ -357,36 +359,36 @@ var be = n(() => {
|
|
|
357
359
|
r.to,
|
|
358
360
|
n
|
|
359
361
|
]);
|
|
360
|
-
return /* @__PURE__ */
|
|
362
|
+
return /* @__PURE__ */ p("div", {
|
|
361
363
|
"data-track-handle": "true",
|
|
362
|
-
className:
|
|
364
|
+
className: y("rangeflow-thumb-label flex h-full w-full items-center justify-center", "mx-[clamp(0.5rem,5vw,5%)] cursor-grab", "text-xs font-medium text-nowrap text-(--rangeflow-text)"),
|
|
363
365
|
children: e ? t(e, { label: i }) : i
|
|
364
366
|
});
|
|
365
|
-
}),
|
|
366
|
-
function
|
|
367
|
-
let t = K((e) => e.slider.size), n = K((e) => e.duration), r = W(K((e) => e.range)), [i] = u(() => t), a = n?.min ? Math.min(
|
|
368
|
-
return /* @__PURE__ */
|
|
367
|
+
}), Z = N([1, 100], [5, 100]);
|
|
368
|
+
function be({ onHandleRef: e }) {
|
|
369
|
+
let t = K((e) => e.slider.size), n = K((e) => e.duration), r = W(K((e) => e.range)), [i] = u(() => t), a = n?.min ? Math.min(Z(n.min * 100 / r), 100) : 5, o = n?.max ? Math.min(Z(n.max * 100 / r), 100) : 100;
|
|
370
|
+
return /* @__PURE__ */ p(S, {
|
|
369
371
|
defaultSize: `${i}%`,
|
|
370
372
|
elementRef: e,
|
|
371
373
|
id: j,
|
|
372
374
|
maxSize: `${o}%`,
|
|
373
375
|
minSize: `${a}%`,
|
|
374
|
-
children: /* @__PURE__ */
|
|
376
|
+
children: /* @__PURE__ */ p("div", {
|
|
375
377
|
"data-track-handle-container": "",
|
|
376
|
-
className:
|
|
377
|
-
children: /* @__PURE__ */
|
|
378
|
+
className: y("rangeflow-thumb flex items-center justify-center", "h-full rounded-sm border border-(--rangeflow-border-strong) inset-shadow-sm shadow-(color:--rangeflow-shadow-color)", "backdrop-blur-[2.5px]", "cursor-default select-none"),
|
|
379
|
+
children: /* @__PURE__ */ p(ye, {})
|
|
378
380
|
})
|
|
379
381
|
});
|
|
380
382
|
}
|
|
381
383
|
//#endregion
|
|
382
384
|
//#region src/package/rangeflow/components/DateSlider/Slider/index.tsx
|
|
383
|
-
var
|
|
384
|
-
function
|
|
385
|
-
let t =
|
|
385
|
+
var xe = (e, t, n) => !!e?.querySelector("[data-separator=\"active\"]") && t["slider-track-thumb"] === n["slider-track-thumb"];
|
|
386
|
+
function Se({ onHandleRef: e }) {
|
|
387
|
+
let t = X(), { slider: { root: n } } = q(), i = l(null), a = l(null), o = l(null), s = b("rangeflow-separator h-3/4 w-0.75 self-center rounded-full transition-[background-color,opacity] duration-150", "bg-(--rangeflow-separator) hover:bg-(--rangeflow-separator-active) focus:outline-none", "data-[separator=active]:bg-(--rangeflow-separator-active)", "opacity-0 group-has-[[data-track-handle-container]:hover]:opacity-100", "hover:opacity-100 data-[separator=active]:opacity-100 data-[separator=focus]:opacity-100"), { ref: c } = te({
|
|
386
388
|
id: "track-handle-draggable",
|
|
387
|
-
sensors: [
|
|
389
|
+
sensors: [re.configure({ preventActivation: (e) => !(e.target instanceof HTMLDivElement) || !e.target.dataset.trackHandle }), ne]
|
|
388
390
|
});
|
|
389
|
-
return
|
|
391
|
+
return ee({
|
|
390
392
|
onDragStart: () => {
|
|
391
393
|
a.current = n.current?.getLayout() ?? null;
|
|
392
394
|
},
|
|
@@ -402,16 +404,16 @@ function Ce({ onHandleRef: e }) {
|
|
|
402
404
|
onDragEnd: () => {
|
|
403
405
|
a.current = null;
|
|
404
406
|
}
|
|
405
|
-
}), /* @__PURE__ */
|
|
407
|
+
}), /* @__PURE__ */ p("div", {
|
|
406
408
|
ref: c,
|
|
407
|
-
className:
|
|
408
|
-
children: /* @__PURE__ */
|
|
409
|
+
className: b("absolute top-[50%] left-0 z-1 -translate-y-[50%]", "h-7 w-full"),
|
|
410
|
+
children: /* @__PURE__ */ m(ie, {
|
|
409
411
|
className: "group h-full w-full",
|
|
410
412
|
elementRef: i,
|
|
411
413
|
groupRef: n,
|
|
412
414
|
onLayoutChange: (e) => {
|
|
413
415
|
let a = o.current;
|
|
414
|
-
if (a &&
|
|
416
|
+
if (a && xe(i.current, a, e)) {
|
|
415
417
|
n.current?.setLayout(a);
|
|
416
418
|
return;
|
|
417
419
|
}
|
|
@@ -420,18 +422,18 @@ function Ce({ onHandleRef: e }) {
|
|
|
420
422
|
});
|
|
421
423
|
},
|
|
422
424
|
children: [
|
|
423
|
-
/* @__PURE__ */
|
|
424
|
-
/* @__PURE__ */
|
|
425
|
-
/* @__PURE__ */
|
|
426
|
-
/* @__PURE__ */
|
|
427
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ p(_e, {}),
|
|
426
|
+
/* @__PURE__ */ p(C, { className: s }),
|
|
427
|
+
/* @__PURE__ */ p(be, { onHandleRef: e }),
|
|
428
|
+
/* @__PURE__ */ p(C, { className: s }),
|
|
429
|
+
/* @__PURE__ */ p(ve, {})
|
|
428
430
|
]
|
|
429
431
|
})
|
|
430
432
|
});
|
|
431
433
|
}
|
|
432
434
|
//#endregion
|
|
433
435
|
//#region src/package/rangeflow/components/DateSlider/SliderTrack.tsx
|
|
434
|
-
function
|
|
436
|
+
function Ce({ onHandleRef: e }) {
|
|
435
437
|
let t = K((e) => e.update), n = K((e) => e.range), r = W(n), { slider: { root: i } } = q(), a = K((e) => e.disabled?.before), o = K((e) => e.disabled?.after), s = c(() => !a || d(n.from).isAfter(a), [n.from, a]), l = c(() => !o || d(n.to).isBefore(o), [n.to, o]), u = ({ left: e, right: t, size: n }) => {
|
|
436
438
|
i.current?.setLayout({
|
|
437
439
|
[k]: e,
|
|
@@ -439,41 +441,53 @@ function we({ onHandleRef: e }) {
|
|
|
439
441
|
[A]: t
|
|
440
442
|
});
|
|
441
443
|
};
|
|
442
|
-
return /* @__PURE__ */
|
|
444
|
+
return /* @__PURE__ */ m("div", {
|
|
443
445
|
className: "flex items-center select-none",
|
|
444
446
|
children: [
|
|
445
|
-
s ? /* @__PURE__ */
|
|
447
|
+
s ? /* @__PURE__ */ p(J, {
|
|
446
448
|
onClick: () => {
|
|
447
449
|
t((e) => {
|
|
448
|
-
let t = d(e.range.from).subtract(r / 2, "day")
|
|
449
|
-
|
|
450
|
+
let t = d(e.range.from).subtract(r / 2, "day"), n = {
|
|
451
|
+
from: a && t.isBefore(a) ? d(a).toDate() : t.toDate(),
|
|
452
|
+
to: e.range.to
|
|
453
|
+
}, i = P(n, e.selected_date);
|
|
454
|
+
return u(i), {
|
|
455
|
+
range: n,
|
|
456
|
+
slider: i
|
|
457
|
+
};
|
|
450
458
|
});
|
|
451
459
|
},
|
|
452
|
-
children: /* @__PURE__ */
|
|
460
|
+
children: /* @__PURE__ */ p(fe, {})
|
|
453
461
|
}) : null,
|
|
454
|
-
/* @__PURE__ */
|
|
462
|
+
/* @__PURE__ */ m("div", {
|
|
455
463
|
className: "relative flex-1 px-2",
|
|
456
|
-
children: [/* @__PURE__ */
|
|
464
|
+
children: [/* @__PURE__ */ p(Se, { onHandleRef: e }), /* @__PURE__ */ p(me, {})]
|
|
457
465
|
}),
|
|
458
|
-
l ? /* @__PURE__ */
|
|
466
|
+
l ? /* @__PURE__ */ p(J, {
|
|
459
467
|
onClick: () => {
|
|
460
468
|
t((e) => {
|
|
461
|
-
let t = d(e.range.to).add(r / 2, "day")
|
|
462
|
-
|
|
469
|
+
let t = d(e.range.to).add(r / 2, "day"), n = {
|
|
470
|
+
from: e.range.from,
|
|
471
|
+
to: o && t.isAfter(o) ? d(o).toDate() : t.toDate()
|
|
472
|
+
}, i = P(n, e.selected_date);
|
|
473
|
+
return u(i), {
|
|
474
|
+
range: n,
|
|
475
|
+
slider: i
|
|
476
|
+
};
|
|
463
477
|
});
|
|
464
478
|
},
|
|
465
|
-
children: /* @__PURE__ */
|
|
479
|
+
children: /* @__PURE__ */ p(pe, {})
|
|
466
480
|
}) : null
|
|
467
481
|
]
|
|
468
482
|
});
|
|
469
483
|
}
|
|
470
484
|
//#endregion
|
|
471
485
|
//#region src/package/rangeflow/components/DateSlider/utils/restrict-inner-to-element.ts
|
|
472
|
-
var
|
|
486
|
+
var we = class e extends ae {
|
|
473
487
|
innerRect = D(null);
|
|
474
488
|
containerRect = D(null);
|
|
475
489
|
constructor(e, t) {
|
|
476
|
-
super(e, t), this.destroy =
|
|
490
|
+
super(e, t), this.destroy = E(() => {
|
|
477
491
|
if (!this.options) return;
|
|
478
492
|
let { dragOperation: t } = e;
|
|
479
493
|
if (!t.status.initialized) return;
|
|
@@ -485,34 +499,34 @@ var Te = class e extends oe {
|
|
|
485
499
|
}
|
|
486
500
|
apply({ transform: e }) {
|
|
487
501
|
let t = this.innerRect.value, n = this.containerRect.value;
|
|
488
|
-
return !t || !n ? e :
|
|
502
|
+
return !t || !n ? e : g(new T(t.left, t.top, t.width, t.height), e, n);
|
|
489
503
|
}
|
|
490
|
-
static configure =
|
|
504
|
+
static configure = w(e);
|
|
491
505
|
};
|
|
492
506
|
//#endregion
|
|
493
507
|
//#region src/package/rangeflow/components/DateSlider/index.tsx
|
|
494
|
-
function
|
|
508
|
+
function Te() {
|
|
495
509
|
let [e, t] = u(null), [n, r] = u(null);
|
|
496
|
-
return /* @__PURE__ */
|
|
510
|
+
return /* @__PURE__ */ p("div", {
|
|
497
511
|
ref: t,
|
|
498
512
|
className: "rangeflow-slider relative my-8 h-3 w-full px-2",
|
|
499
|
-
children: /* @__PURE__ */
|
|
500
|
-
modifiers: [
|
|
513
|
+
children: /* @__PURE__ */ m(_, {
|
|
514
|
+
modifiers: [we.configure({
|
|
501
515
|
inner: n,
|
|
502
516
|
container: e
|
|
503
|
-
}),
|
|
517
|
+
}), h],
|
|
504
518
|
children: [
|
|
505
|
-
/* @__PURE__ */
|
|
506
|
-
/* @__PURE__ */
|
|
507
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ p(Ce, { onHandleRef: r }),
|
|
520
|
+
/* @__PURE__ */ p(de, {}),
|
|
521
|
+
/* @__PURE__ */ p(v, { children: null })
|
|
508
522
|
]
|
|
509
523
|
})
|
|
510
524
|
});
|
|
511
525
|
}
|
|
512
526
|
//#endregion
|
|
513
527
|
//#region src/package/rangeflow/components/RangeTabs/hooks/use-apply-slider-layout.ts
|
|
514
|
-
function
|
|
515
|
-
let e =
|
|
528
|
+
function Ee() {
|
|
529
|
+
let e = X(), t = K((e) => e.range.from.getTime()), n = K((e) => e.range.to.getTime()), { slider: { root: i } } = q();
|
|
516
530
|
o(() => {
|
|
517
531
|
r(() => {
|
|
518
532
|
e(i.current.getLayout());
|
|
@@ -525,10 +539,48 @@ function De() {
|
|
|
525
539
|
]);
|
|
526
540
|
}
|
|
527
541
|
//#endregion
|
|
542
|
+
//#region src/package/rangeflow/components/RangeTabs/hooks/use-tab-indicator.ts
|
|
543
|
+
function De(e, t) {
|
|
544
|
+
let n = l([]), r = l(null), i = l(!1);
|
|
545
|
+
return s(() => {
|
|
546
|
+
let t = r.current;
|
|
547
|
+
if (!t) return;
|
|
548
|
+
let a = n.current[e];
|
|
549
|
+
if (!a) {
|
|
550
|
+
t.style.opacity = "0", i.current = !1;
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
Object.assign(t.style, {
|
|
554
|
+
opacity: "1",
|
|
555
|
+
transitionProperty: i.current ? "transform, width, height" : "none",
|
|
556
|
+
transform: `translate(${a.offsetLeft}px, ${a.offsetTop}px)`,
|
|
557
|
+
width: `${a.offsetWidth}px`,
|
|
558
|
+
height: `${a.offsetHeight}px`
|
|
559
|
+
}), i.current = !0;
|
|
560
|
+
}, [e, t]), {
|
|
561
|
+
indicatorRef: r,
|
|
562
|
+
registerButton: (e) => (t) => {
|
|
563
|
+
n.current[e] = t;
|
|
564
|
+
}
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
//#endregion
|
|
528
568
|
//#region src/package/rangeflow/components/RangeTabs/index.tsx
|
|
529
569
|
function Oe() {
|
|
530
|
-
|
|
531
|
-
let e =
|
|
570
|
+
Ee();
|
|
571
|
+
let { slider: { root: e } } = q(), t = K((e) => e.ranges), n = K((e) => e.update), r = K((e) => e.range.from), i = K((e) => e.range.to), a = K((e) => e.disabled?.before), o = K((e) => e.disabled?.after), s = (t) => {
|
|
572
|
+
n((n) => {
|
|
573
|
+
let r = P(t, n.selected_date);
|
|
574
|
+
return e.current?.setLayout({
|
|
575
|
+
[k]: r.left,
|
|
576
|
+
[j]: r.size,
|
|
577
|
+
[A]: r.right
|
|
578
|
+
}), { range: {
|
|
579
|
+
from: t.from,
|
|
580
|
+
to: t.to
|
|
581
|
+
} };
|
|
582
|
+
});
|
|
583
|
+
}, l = c(() => t.filter((e) => !(a && d(e.from).isBefore(a, "day") || o && d(e.to).isAfter(o, "day"))), [
|
|
532
584
|
t,
|
|
533
585
|
a,
|
|
534
586
|
o
|
|
@@ -536,33 +588,26 @@ function Oe() {
|
|
|
536
588
|
l,
|
|
537
589
|
r,
|
|
538
590
|
i
|
|
539
|
-
]);
|
|
540
|
-
return /* @__PURE__ */
|
|
591
|
+
]), { indicatorRef: f, registerButton: h } = De(u, l);
|
|
592
|
+
return /* @__PURE__ */ p("div", {
|
|
541
593
|
className: "rangeflow-tabs flex items-center justify-center select-none",
|
|
542
594
|
children: /* @__PURE__ */ m("div", {
|
|
543
595
|
className: "relative flex items-center overflow-hidden",
|
|
544
|
-
children:
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
transition: {
|
|
560
|
-
type: "spring",
|
|
561
|
-
stiffness: 200,
|
|
562
|
-
damping: 25
|
|
563
|
-
}
|
|
564
|
-
})]
|
|
565
|
-
}, `${t.from.getTime()}_${t.to.getTime()}`))
|
|
596
|
+
children: [/* @__PURE__ */ p("div", {
|
|
597
|
+
ref: f,
|
|
598
|
+
"aria-hidden": !0,
|
|
599
|
+
className: "rangeflow-tab-indicator pointer-events-none absolute top-0 left-0 rounded-sm bg-(--rangeflow-active-bg) duration-300 ease-[cubic-bezier(0.32,0.72,0,1)]",
|
|
600
|
+
style: { opacity: 0 }
|
|
601
|
+
}), l.map((e, t) => /* @__PURE__ */ p("button", {
|
|
602
|
+
ref: h(t),
|
|
603
|
+
"data-active": u === t || void 0,
|
|
604
|
+
className: y("rangeflow-tab relative z-1 flex items-center px-1.5 py-1 focus:outline-none"),
|
|
605
|
+
onClick: () => s(e),
|
|
606
|
+
children: /* @__PURE__ */ p("span", {
|
|
607
|
+
className: y("relative z-1 text-xs tracking-tight text-(--rangeflow-text-muted)", { "font-medium text-(--rangeflow-text)": u === t }),
|
|
608
|
+
children: e.label
|
|
609
|
+
})
|
|
610
|
+
}, `${e.from.getTime()}_${e.to.getTime()}`))]
|
|
566
611
|
})
|
|
567
612
|
});
|
|
568
613
|
}
|
|
@@ -574,14 +619,14 @@ function ke({ className: e, day: t, modifiers: n, ...r }) {
|
|
|
574
619
|
n.focused && i.current?.focus();
|
|
575
620
|
}, [n.focused]);
|
|
576
621
|
let a = n.selected && !n.range_start && !n.range_middle && !n.range_end;
|
|
577
|
-
return /* @__PURE__ */
|
|
622
|
+
return /* @__PURE__ */ p("button", {
|
|
578
623
|
ref: i,
|
|
579
624
|
"data-range-end": n.range_end || void 0,
|
|
580
625
|
"data-range-middle": n.range_middle || void 0,
|
|
581
626
|
"data-range-start": n.range_start || void 0,
|
|
582
627
|
"data-selected": a || void 0,
|
|
583
628
|
"data-today": n.today || void 0,
|
|
584
|
-
className:
|
|
629
|
+
className: y("rangeflow-day flex h-9 w-9 items-center justify-center rounded-sm leading-none", "text-xs text-(--rangeflow-text-muted) transition-colors", "hover:bg-(--rangeflow-hover-bg)", "focus-visible:ring-1 focus-visible:ring-(--rangeflow-ring) focus-visible:outline-none", "data-[today=true]:font-bold data-[today=true]:text-(--rangeflow-today)", "data-[selected=true]:bg-(--rangeflow-accent-solid) data-[selected=true]:text-(--rangeflow-accent-contrast) data-[selected=true]:hover:bg-(--rangeflow-accent-solid-hover)", "data-[range-start=true]:bg-(--rangeflow-accent-solid) data-[range-start=true]:text-(--rangeflow-accent-contrast)", "data-[range-end=true]:bg-(--rangeflow-accent-solid) data-[range-end=true]:text-(--rangeflow-accent-contrast)", e),
|
|
585
630
|
...r
|
|
586
631
|
});
|
|
587
632
|
}
|
|
@@ -594,9 +639,9 @@ var Ae = {
|
|
|
594
639
|
right: "-rotate-90"
|
|
595
640
|
};
|
|
596
641
|
function je({ className: e, orientation: t = "down", size: n = 16 }) {
|
|
597
|
-
return /* @__PURE__ */
|
|
642
|
+
return /* @__PURE__ */ p("svg", {
|
|
598
643
|
"aria-hidden": "true",
|
|
599
|
-
className:
|
|
644
|
+
className: y("shrink-0", Ae[t], e),
|
|
600
645
|
fill: "none",
|
|
601
646
|
height: n,
|
|
602
647
|
stroke: "currentColor",
|
|
@@ -605,26 +650,26 @@ function je({ className: e, orientation: t = "down", size: n = 16 }) {
|
|
|
605
650
|
strokeWidth: 2,
|
|
606
651
|
viewBox: "0 0 24 24",
|
|
607
652
|
width: n,
|
|
608
|
-
children: /* @__PURE__ */
|
|
653
|
+
children: /* @__PURE__ */ p("path", { d: "m6 9 6 6 6-6" })
|
|
609
654
|
});
|
|
610
655
|
}
|
|
611
656
|
//#endregion
|
|
612
657
|
//#region src/package/rangeflow/components/Calendar/index.tsx
|
|
613
658
|
function Me({ captionLayout: e = "label", className: t, classNames: n, components: r, showOutsideDays: i = !0, ...a }) {
|
|
614
|
-
return /* @__PURE__ */
|
|
659
|
+
return /* @__PURE__ */ p(oe, {
|
|
615
660
|
captionLayout: e,
|
|
616
|
-
className:
|
|
661
|
+
className: y("rangeflow-calendar w-fit p-3 select-none", t),
|
|
617
662
|
showOutsideDays: i,
|
|
618
663
|
classNames: {
|
|
619
664
|
months: "relative flex flex-col gap-4 md:flex-row",
|
|
620
665
|
month: "flex w-full flex-col gap-4",
|
|
621
666
|
nav: "absolute inset-x-0 top-0 flex h-7 items-center justify-between",
|
|
622
|
-
button_previous:
|
|
623
|
-
button_next:
|
|
667
|
+
button_previous: y("inline-flex h-7 w-7 items-center justify-center rounded-sm", "text-(--rangeflow-text-subtle) transition-colors hover:bg-(--rangeflow-hover-bg) hover:text-(--rangeflow-text-muted)", "aria-disabled:pointer-events-none aria-disabled:opacity-40"),
|
|
668
|
+
button_next: y("inline-flex h-7 w-7 items-center justify-center rounded-sm", "text-(--rangeflow-text-subtle) transition-colors hover:bg-(--rangeflow-hover-bg) hover:text-(--rangeflow-text-muted)", "aria-disabled:pointer-events-none aria-disabled:opacity-40"),
|
|
624
669
|
month_caption: "flex h-7 items-center justify-center text-xs font-medium text-(--rangeflow-text-muted)",
|
|
625
670
|
caption_label: "text-xs font-medium",
|
|
626
671
|
dropdowns: "flex items-center gap-1 text-xs font-medium text-(--rangeflow-text-muted)",
|
|
627
|
-
dropdown_root:
|
|
672
|
+
dropdown_root: y("relative flex items-center gap-1 rounded-sm border border-(--rangeflow-border) px-1.5 py-0.5", "has-[:focus]:ring-1 has-[:focus]:ring-(--rangeflow-ring)"),
|
|
628
673
|
dropdown: "absolute inset-0 cursor-pointer opacity-0",
|
|
629
674
|
month_grid: "mt-2 w-full border-collapse",
|
|
630
675
|
weekdays: "flex",
|
|
@@ -651,37 +696,16 @@ function Me({ captionLayout: e = "label", className: t, classNames: n, component
|
|
|
651
696
|
}
|
|
652
697
|
//#endregion
|
|
653
698
|
//#region src/package/rangeflow/components/Popover/index.tsx
|
|
654
|
-
var Ne = n(({ align: e = "center", className: t, sideOffset: n = 6, children: r, ...i }) => /* @__PURE__ */
|
|
655
|
-
asChild: !0,
|
|
699
|
+
var Ne = n(({ align: e = "center", className: t, sideOffset: n = 6, children: r, ...i }) => /* @__PURE__ */ p(O.Portal, { children: /* @__PURE__ */ p(O.Content, {
|
|
656
700
|
align: e,
|
|
657
701
|
sideOffset: n,
|
|
658
702
|
...i,
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
opacity: 1,
|
|
662
|
-
scale: 1,
|
|
663
|
-
y: 0
|
|
664
|
-
},
|
|
665
|
-
initial: {
|
|
666
|
-
opacity: 0,
|
|
667
|
-
scale: .96,
|
|
668
|
-
y: -4
|
|
669
|
-
},
|
|
670
|
-
style: { transformOrigin: "var(--radix-popover-content-transform-origin)" },
|
|
671
|
-
transition: {
|
|
672
|
-
type: "spring",
|
|
673
|
-
stiffness: 420,
|
|
674
|
-
damping: 32,
|
|
675
|
-
mass: .8
|
|
676
|
-
},
|
|
677
|
-
className: x("rangeflow-date-picker-portal rangeflow-popover z-50 rounded-lg border border-(--rangeflow-border) bg-(--rangeflow-bg) p-2 text-(--rangeflow-text) shadow-md shadow-(color:--rangeflow-shadow-color) backdrop-blur-[10px] outline-none", t),
|
|
678
|
-
children: r
|
|
679
|
-
})
|
|
703
|
+
className: y("rangeflow-date-picker-portal rangeflow-popover z-50 rounded-lg border border-(--rangeflow-border) bg-(--rangeflow-bg) p-2 text-(--rangeflow-text) shadow-md shadow-(color:--rangeflow-shadow-color) backdrop-blur-[10px] outline-none", t),
|
|
704
|
+
children: r
|
|
680
705
|
}) })), Pe = O.Root, Fe = O.Trigger;
|
|
681
|
-
O.Anchor;
|
|
682
706
|
//#endregion
|
|
683
707
|
//#region src/package/rangeflow/components/PickerBar/CalendarPopover.tsx
|
|
684
|
-
function
|
|
708
|
+
function Q({ children: e }) {
|
|
685
709
|
let t = K((e) => e.update), n = K((e) => e.range), r = K((e) => e.selected_date), i = K((e) => e.disabled), a = K((e) => e.duration), o = K((e) => e.CalendarProps), { slider: { root: s } } = q(), c = () => {
|
|
686
710
|
let e = d(n.from), t = d(n.to);
|
|
687
711
|
return d(r.from).isBefore(e) && (e = d(r.from).subtract(10, "day")), d(r.to).isAfter(t) && (t = d(r.to).add(10, "day")), {
|
|
@@ -689,27 +713,25 @@ function Ie({ children: e }) {
|
|
|
689
713
|
to: t.toDate()
|
|
690
714
|
};
|
|
691
715
|
}, l = () => {
|
|
692
|
-
let e = c(), { size: n, left: i, right: a } =
|
|
716
|
+
let e = c(), { size: n, left: i, right: a } = P(e, r);
|
|
693
717
|
s.current?.setLayout({
|
|
694
718
|
[k]: i,
|
|
695
719
|
[j]: n,
|
|
696
720
|
[A]: a
|
|
697
|
-
}), t(
|
|
698
|
-
t.range = e;
|
|
699
|
-
});
|
|
721
|
+
}), t({ range: e });
|
|
700
722
|
};
|
|
701
|
-
return /* @__PURE__ */
|
|
723
|
+
return /* @__PURE__ */ m(Pe, {
|
|
702
724
|
modal: !0,
|
|
703
725
|
onOpenChange: (e) => {
|
|
704
726
|
e === !1 && l();
|
|
705
727
|
},
|
|
706
|
-
children: [/* @__PURE__ */
|
|
728
|
+
children: [/* @__PURE__ */ p(Fe, {
|
|
707
729
|
className: "cursor-pointer",
|
|
708
730
|
children: e
|
|
709
|
-
}), /* @__PURE__ */
|
|
731
|
+
}), /* @__PURE__ */ p(Ne, {
|
|
710
732
|
align: "start",
|
|
711
733
|
sideOffset: 10,
|
|
712
|
-
children: /* @__PURE__ */
|
|
734
|
+
children: /* @__PURE__ */ p(Me, {
|
|
713
735
|
defaultMonth: r.from,
|
|
714
736
|
numberOfMonths: 2,
|
|
715
737
|
showOutsideDays: !1,
|
|
@@ -720,14 +742,10 @@ function Ie({ children: e }) {
|
|
|
720
742
|
mode: "range",
|
|
721
743
|
selected: r,
|
|
722
744
|
onSelect: (e) => {
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
};
|
|
728
|
-
t((e) => {
|
|
729
|
-
e.selected_date = i;
|
|
730
|
-
});
|
|
745
|
+
!e?.from || !e?.to || t({ selected_date: {
|
|
746
|
+
from: d(e.from).startOf("day").toDate(),
|
|
747
|
+
to: d(e.to).startOf("day").toDate()
|
|
748
|
+
} });
|
|
731
749
|
}
|
|
732
750
|
})
|
|
733
751
|
})]
|
|
@@ -735,14 +753,14 @@ function Ie({ children: e }) {
|
|
|
735
753
|
}
|
|
736
754
|
//#endregion
|
|
737
755
|
//#region src/package/rangeflow/icons/CalendarIcon.tsx
|
|
738
|
-
function
|
|
739
|
-
return /* @__PURE__ */
|
|
756
|
+
function Ie() {
|
|
757
|
+
return /* @__PURE__ */ p("svg", {
|
|
740
758
|
fill: "none",
|
|
741
759
|
height: "15",
|
|
742
760
|
viewBox: "0 0 15 15",
|
|
743
761
|
width: "15",
|
|
744
762
|
xmlns: "http://www.w3.org/2000/svg",
|
|
745
|
-
children: /* @__PURE__ */
|
|
763
|
+
children: /* @__PURE__ */ p("path", {
|
|
746
764
|
clipRule: "evenodd",
|
|
747
765
|
d: "M4.5 1C4.77614 1 5 1.22386 5 1.5V2H10V1.5C10 1.22386 10.2239 1 10.5 1C10.7761 1 11 1.22386 11 1.5V2H12.5C13.3284 2 14 2.67157 14 3.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V3.5C1 2.67157 1.67157 2 2.5 2H4V1.5C4 1.22386 4.22386 1 4.5 1ZM10 3V3.5C10 3.77614 10.2239 4 10.5 4C10.7761 4 11 3.77614 11 3.5V3H12.5C12.7761 3 13 3.22386 13 3.5V5H2V3.5C2 3.22386 2.22386 3 2.5 3H4V3.5C4 3.77614 4.22386 4 4.5 4C4.77614 4 5 3.77614 5 3.5V3H10ZM2 6V12.5C2 12.7761 2.22386 13 2.5 13H12.5C12.7761 13 13 12.7761 13 12.5V6H2ZM7 7.5C7 7.22386 7.22386 7 7.5 7C7.77614 7 8 7.22386 8 7.5C8 7.77614 7.77614 8 7.5 8C7.22386 8 7 7.77614 7 7.5ZM9.5 7C9.22386 7 9 7.22386 9 7.5C9 7.77614 9.22386 8 9.5 8C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7ZM11 7.5C11 7.22386 11.2239 7 11.5 7C11.7761 7 12 7.22386 12 7.5C12 7.77614 11.7761 8 11.5 8C11.2239 8 11 7.77614 11 7.5ZM11.5 9C11.2239 9 11 9.22386 11 9.5C11 9.77614 11.2239 10 11.5 10C11.7761 10 12 9.77614 12 9.5C12 9.22386 11.7761 9 11.5 9ZM9 9.5C9 9.22386 9.22386 9 9.5 9C9.77614 9 10 9.22386 10 9.5C10 9.77614 9.77614 10 9.5 10C9.22386 10 9 9.77614 9 9.5ZM7.5 9C7.22386 9 7 9.22386 7 9.5C7 9.77614 7.22386 10 7.5 10C7.77614 10 8 9.77614 8 9.5C8 9.22386 7.77614 9 7.5 9ZM5 9.5C5 9.22386 5.22386 9 5.5 9C5.77614 9 6 9.22386 6 9.5C6 9.77614 5.77614 10 5.5 10C5.22386 10 5 9.77614 5 9.5ZM3.5 9C3.22386 9 3 9.22386 3 9.5C3 9.77614 3.22386 10 3.5 10C3.77614 10 4 9.77614 4 9.5C4 9.22386 3.77614 9 3.5 9ZM3 11.5C3 11.2239 3.22386 11 3.5 11C3.77614 11 4 11.2239 4 11.5C4 11.7761 3.77614 12 3.5 12C3.22386 12 3 11.7761 3 11.5ZM5.5 11C5.22386 11 5 11.2239 5 11.5C5 11.7761 5.22386 12 5.5 12C5.77614 12 6 11.7761 6 11.5C6 11.2239 5.77614 11 5.5 11ZM7 11.5C7 11.2239 7.22386 11 7.5 11C7.77614 11 8 11.2239 8 11.5C8 11.7761 7.77614 12 7.5 12C7.22386 12 7 11.7761 7 11.5ZM9.5 11C9.22386 11 9 11.2239 9 11.5C9 11.7761 9.22386 12 9.5 12C9.77614 12 10 11.7761 10 11.5C10 11.2239 9.77614 11 9.5 11Z",
|
|
748
766
|
fill: "currentColor",
|
|
@@ -763,12 +781,12 @@ function $() {
|
|
|
763
781
|
return n ? t(n, {
|
|
764
782
|
from: r,
|
|
765
783
|
to: i
|
|
766
|
-
}) : /* @__PURE__ */
|
|
784
|
+
}) : /* @__PURE__ */ m("div", {
|
|
767
785
|
className: "rangeflow-selected-date flex items-center gap-2 text-xs font-medium text-(--rangeflow-accent-text) select-none hover:opacity-90",
|
|
768
786
|
children: [
|
|
769
|
-
/* @__PURE__ */
|
|
787
|
+
/* @__PURE__ */ p(Ie, {}),
|
|
770
788
|
r,
|
|
771
|
-
/* @__PURE__ */
|
|
789
|
+
/* @__PURE__ */ p("span", {
|
|
772
790
|
className: "text-(--rangeflow-text-faint)",
|
|
773
791
|
children: "—"
|
|
774
792
|
}),
|
|
@@ -778,61 +796,65 @@ function $() {
|
|
|
778
796
|
}
|
|
779
797
|
//#endregion
|
|
780
798
|
//#region src/package/rangeflow/components/PickerBar/index.tsx
|
|
781
|
-
function
|
|
799
|
+
function Le() {
|
|
782
800
|
let e = K((e) => e.calendar), { RangeTabs: n } = G();
|
|
783
|
-
return /* @__PURE__ */
|
|
801
|
+
return /* @__PURE__ */ m("div", {
|
|
784
802
|
className: "flex h-full items-center justify-between px-2",
|
|
785
|
-
children: [e ? /* @__PURE__ */
|
|
803
|
+
children: [e ? /* @__PURE__ */ p(Q, { children: /* @__PURE__ */ p($, {}) }) : /* @__PURE__ */ p($, {}), n ? t(n) : /* @__PURE__ */ p(Oe, {})]
|
|
786
804
|
});
|
|
787
805
|
}
|
|
788
806
|
//#endregion
|
|
789
807
|
//#region src/package/rangeflow/hooks/use-rangeflow-events.ts
|
|
790
|
-
function
|
|
791
|
-
return a(
|
|
808
|
+
function Re() {
|
|
809
|
+
return a(B).events;
|
|
792
810
|
}
|
|
793
811
|
//#endregion
|
|
794
812
|
//#region src/package/rangeflow/hooks/use-emit-date-change.ts
|
|
795
|
-
function
|
|
796
|
-
let e =
|
|
813
|
+
function ze() {
|
|
814
|
+
let e = Y(), { onChange: t } = Re();
|
|
797
815
|
o(() => e.subscribe((e, n) => {
|
|
798
816
|
e.selected_date !== n.selected_date && t(e.selected_date);
|
|
799
817
|
}), [e, t]);
|
|
800
818
|
}
|
|
801
819
|
//#endregion
|
|
802
820
|
//#region src/package/rangeflow/Root.tsx
|
|
803
|
-
function
|
|
804
|
-
return
|
|
821
|
+
function Be() {
|
|
822
|
+
return ze(), /* @__PURE__ */ m("div", {
|
|
805
823
|
className: "rangeflow-date-picker rangeflow-root h-35 w-140 rounded-lg border border-(--rangeflow-border) bg-(--rangeflow-bg) text-(--rangeflow-text) shadow-md shadow-(color:--rangeflow-shadow-color)",
|
|
806
|
-
children: [/* @__PURE__ */
|
|
824
|
+
children: [/* @__PURE__ */ p("div", {
|
|
807
825
|
className: "rangeflow-header h-10 border-b border-(--rangeflow-border) p-2",
|
|
808
|
-
children: /* @__PURE__ */
|
|
809
|
-
}), /* @__PURE__ */
|
|
826
|
+
children: /* @__PURE__ */ p(Le, {})
|
|
827
|
+
}), /* @__PURE__ */ p("div", {
|
|
810
828
|
className: "rangeflow-body mx-2",
|
|
811
|
-
children: /* @__PURE__ */
|
|
829
|
+
children: /* @__PURE__ */ p(Te, {})
|
|
812
830
|
})]
|
|
813
831
|
});
|
|
814
832
|
}
|
|
815
833
|
//#endregion
|
|
816
834
|
//#region src/package/rangeflow/index.tsx
|
|
817
|
-
function
|
|
818
|
-
return /* @__PURE__ */
|
|
835
|
+
function Ve(e) {
|
|
836
|
+
return /* @__PURE__ */ p(V, {
|
|
819
837
|
...e,
|
|
820
|
-
children: /* @__PURE__ */
|
|
838
|
+
children: /* @__PURE__ */ p(Be, {})
|
|
821
839
|
});
|
|
822
840
|
}
|
|
823
841
|
//#endregion
|
|
824
842
|
//#region src/package/rangeflow/hooks/use-rangeflow.ts
|
|
825
|
-
function
|
|
843
|
+
function He() {
|
|
826
844
|
let e = l(null), t = l(null), n = i((n) => {
|
|
827
845
|
let r = e.current;
|
|
828
846
|
if (!r) return;
|
|
829
|
-
let { selected_date: i, update: a } = r.getState(), { size: o, left: s, right: c } =
|
|
830
|
-
a(
|
|
831
|
-
|
|
847
|
+
let { selected_date: i, update: a } = r.getState(), { size: o, left: s, right: c } = P(n, i);
|
|
848
|
+
a({
|
|
849
|
+
range: {
|
|
850
|
+
from: n.from,
|
|
851
|
+
to: n.to
|
|
852
|
+
},
|
|
853
|
+
slider: {
|
|
832
854
|
size: o,
|
|
833
855
|
left: s,
|
|
834
856
|
right: c
|
|
835
|
-
}
|
|
857
|
+
}
|
|
836
858
|
}), t.current?.slider.root.current?.setLayout({
|
|
837
859
|
[k]: s,
|
|
838
860
|
[j]: o,
|
|
@@ -841,7 +863,7 @@ function Ue() {
|
|
|
841
863
|
}, []), r = i((n) => {
|
|
842
864
|
let r = e.current;
|
|
843
865
|
if (!r) return;
|
|
844
|
-
let { range: i } = r.getState(), { size: a, left: o, right: s } =
|
|
866
|
+
let { range: i } = r.getState(), { size: a, left: o, right: s } = P(i, n);
|
|
845
867
|
t.current?.slider.root.current?.setLayout({
|
|
846
868
|
[k]: o,
|
|
847
869
|
[j]: a,
|
|
@@ -858,4 +880,4 @@ function Ue() {
|
|
|
858
880
|
};
|
|
859
881
|
}
|
|
860
882
|
//#endregion
|
|
861
|
-
export {
|
|
883
|
+
export { Ve as RangeFlow, He as useRangeflow };
|
package/dist/style.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! tailwindcss v4.2.
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent:#16433c;--rangeflow-surface:#fff;--rangeflow-foreground:#0a0f0c;--rangeflow-on-accent:oklch(from var(--rangeflow-accent) clamp(0, (.62 - l) * 100, 1) 0 0);--rangeflow-bg:var(--rangeflow-surface);--rangeflow-border:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border:color-mix(in oklab, var(--rangeflow-accent) 22%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border-strong:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border-strong:color-mix(in oklab, var(--rangeflow-accent) 45%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-shadow-color:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-shadow-color:color-mix(in oklab, var(--rangeflow-foreground) 10%, transparent)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text:color-mix(in oklab, var(--rangeflow-foreground) 92%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-muted:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-muted:color-mix(in oklab, var(--rangeflow-foreground) 65%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-subtle:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-subtle:color-mix(in oklab, var(--rangeflow-foreground) 50%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-faint:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-faint:color-mix(in oklab, var(--rangeflow-foreground) 35%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-disabled:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-disabled:color-mix(in oklab, var(--rangeflow-foreground) 20%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-hover-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-hover-bg:color-mix(in oklab, var(--rangeflow-accent) 12%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-range-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-range-bg:color-mix(in oklab, var(--rangeflow-accent) 20%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-active-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-active-bg:color-mix(in oklab, var(--rangeflow-accent) 32%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-solid:var(--rangeflow-accent);--rangeflow-accent-solid-hover:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:color-mix(in oklab, var(--rangeflow-accent), var(--rangeflow-foreground) 12%)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-contrast:var(--rangeflow-on-accent);--rangeflow-accent-text:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-text:color-mix(in oklab, var(--rangeflow-accent) 55%, var(--rangeflow-foreground))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-ring:var(--rangeflow-accent);--rangeflow-separator:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-separator:color-mix(in oklab, var(--rangeflow-accent) 65%, transparent)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-separator-active:var(--rangeflow-accent);--rangeflow-ticker:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-ticker:color-mix(in oklab, var(--rangeflow-accent) 40%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-today:var(--rangeflow-accent-text)}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-surface:#0a0f0c;--rangeflow-foreground:#fff;--rangeflow-border:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border:color-mix(in oklab, var(--rangeflow-accent) 30%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 14%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border-strong:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border-strong:color-mix(in oklab, var(--rangeflow-accent) 55%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 22%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-hover-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-hover-bg:color-mix(in oklab, var(--rangeflow-accent) 22%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 10%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-range-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-range-bg:color-mix(in oklab, var(--rangeflow-accent) 32%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 14%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-active-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-active-bg:color-mix(in oklab, var(--rangeflow-accent) 45%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 20%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-ticker:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-ticker:color-mix(in oklab, var(--rangeflow-accent) 55%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 28%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator:color-mix(in oklab, var(--rangeflow-accent) 55%, var(--rangeflow-foreground))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator-active:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator-active:color-mix(in oklab, var(--rangeflow-accent) 35%, var(--rangeflow-foreground))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:color-mix(in oklab, var(--rangeflow-accent), var(--rangeflow-foreground) 18%)}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-text:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-text:color-mix(in oklab, var(--rangeflow-accent) 45%, var(--rangeflow-foreground))}}}@layer base{.rangeflow-date-picker,.rangeflow-date-picker-portal{font-family:var(--rangeflow-font,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rangeflow-date-picker,.rangeflow-date-picker *,.rangeflow-date-picker-portal,.rangeflow-date-picker-portal *{box-sizing:border-box}.rangeflow-date-picker button,.rangeflow-date-picker-portal button,.rangeflow-date-picker select,.rangeflow-date-picker-portal select{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.rangeflow-date-picker select,.rangeflow-date-picker-portal select{appearance:none}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-\[50\%\]{top:50%}.left-0{left:calc(var(--spacing) * 0)}.z-1{z-index:1}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-\[clamp\(0\.5rem\,5vw\,5\%\)\]{margin-inline:clamp(.5rem,5vw,5%)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\/4{height:75%}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-35{height:calc(var(--spacing) * 35)}.h-full{height:100%}.w-0\.5{width:calc(var(--spacing) * .5)}.w-0\.75{width:calc(var(--spacing) * .75)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-140{width:calc(var(--spacing) * 140)}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-\[50\%\]{--tw-translate-y:calc(50% * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\(--rangeflow-border\){border-color:var(--rangeflow-border)}.border-\(--rangeflow-border-strong\){border-color:var(--rangeflow-border-strong)}.bg-\(--rangeflow-active-bg\){background-color:var(--rangeflow-active-bg)}.bg-\(--rangeflow-bg\){background-color:var(--rangeflow-bg)}.bg-\(--rangeflow-range-bg\){background-color:var(--rangeflow-range-bg)}.bg-\(--rangeflow-separator\){background-color:var(--rangeflow-separator)}.bg-\(--rangeflow-ticker\){background-color:var(--rangeflow-ticker)}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.text-nowrap{text-wrap:nowrap}.text-\(--rangeflow-accent-text\){color:var(--rangeflow-accent-text)}.text-\(--rangeflow-text\){color:var(--rangeflow-text)}.text-\(--rangeflow-text-disabled\){color:var(--rangeflow-text-disabled)}.text-\(--rangeflow-text-faint\){color:var(--rangeflow-text-faint)}.text-\(--rangeflow-text-muted\){color:var(--rangeflow-text-muted)}.text-\(--rangeflow-text-subtle\){color:var(--rangeflow-text-subtle)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-shadow-sm{--tw-inset-shadow:inset 0 2px 4px var(--tw-inset-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\(color\:--rangeflow-shadow-color\){--tw-shadow-color:var(--rangeflow-shadow-color)}@supports (color:color-mix(in lab, red, red)){.shadow-\(color\:--rangeflow-shadow-color\){--tw-shadow-color:color-mix(in oklab, var(--rangeflow-shadow-color) var(--tw-shadow-alpha), transparent)}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[2\.5px\]{--tw-backdrop-blur:blur(2.5px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[10px\]{--tw-backdrop-blur:blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,opacity\]{transition-property:background-color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-has-\[\[data-track-handle-container\]\:hover\]\:opacity-100:is(:where(.group):has([data-track-handle-container]:hover) *){opacity:1}@media (hover:hover){.hover\:bg-\(--rangeflow-hover-bg\):hover{background-color:var(--rangeflow-hover-bg)}.hover\:bg-\(--rangeflow-separator-active\):hover{background-color:var(--rangeflow-separator-active)}.hover\:text-\(--rangeflow-text-muted\):hover{color:var(--rangeflow-text-muted)}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\(--rangeflow-ring\):focus-visible{--tw-ring-color:var(--rangeflow-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.has-\[\:focus\]\:ring-1:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\:focus\]\:ring-\(--rangeflow-ring\):has(:focus){--tw-ring-color:var(--rangeflow-ring)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-40[aria-disabled=true]{opacity:.4}.data-\[range-end\=true\]\:bg-\(--rangeflow-accent-solid\)[data-range-end=true]{background-color:var(--rangeflow-accent-solid)}.data-\[range-end\=true\]\:text-\(--rangeflow-accent-contrast\)[data-range-end=true]{color:var(--rangeflow-accent-contrast)}.data-\[range-start\=true\]\:bg-\(--rangeflow-accent-solid\)[data-range-start=true]{background-color:var(--rangeflow-accent-solid)}.data-\[range-start\=true\]\:text-\(--rangeflow-accent-contrast\)[data-range-start=true]{color:var(--rangeflow-accent-contrast)}.data-\[selected\=true\]\:bg-\(--rangeflow-accent-solid\)[data-selected=true]{background-color:var(--rangeflow-accent-solid)}.data-\[selected\=true\]\:text-\(--rangeflow-accent-contrast\)[data-selected=true]{color:var(--rangeflow-accent-contrast)}@media (hover:hover){.data-\[selected\=true\]\:hover\:bg-\(--rangeflow-accent-solid-hover\)[data-selected=true]:hover{background-color:var(--rangeflow-accent-solid-hover)}}.data-\[separator\=active\]\:bg-\(--rangeflow-separator-active\)[data-separator=active]{background-color:var(--rangeflow-separator-active)}.data-\[separator\=active\]\:opacity-100[data-separator=active],.data-\[separator\=focus\]\:opacity-100[data-separator=focus]{opacity:1}.data-\[today\=true\]\:font-bold[data-today=true]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[today\=true\]\:text-\(--rangeflow-today\)[data-today=true]{color:var(--rangeflow-today)}@media (width>=48rem){.md\:flex-row{flex-direction:row}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
|
|
1
|
+
/*! tailwindcss v4.2.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent:#16433c;--rangeflow-surface:#fff;--rangeflow-foreground:#0a0f0c;--rangeflow-on-accent:oklch(from var(--rangeflow-accent) clamp(0, (.62 - l) * 100, 1) 0 0);--rangeflow-bg:var(--rangeflow-surface);--rangeflow-border:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border:color-mix(in oklab, var(--rangeflow-accent) 22%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border-strong:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-border-strong:color-mix(in oklab, var(--rangeflow-accent) 45%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-shadow-color:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-shadow-color:color-mix(in oklab, var(--rangeflow-foreground) 10%, transparent)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text:color-mix(in oklab, var(--rangeflow-foreground) 92%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-muted:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-muted:color-mix(in oklab, var(--rangeflow-foreground) 65%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-subtle:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-subtle:color-mix(in oklab, var(--rangeflow-foreground) 50%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-faint:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-faint:color-mix(in oklab, var(--rangeflow-foreground) 35%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-disabled:var(--rangeflow-foreground)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-text-disabled:color-mix(in oklab, var(--rangeflow-foreground) 20%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-hover-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-hover-bg:color-mix(in oklab, var(--rangeflow-accent) 12%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-range-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-range-bg:color-mix(in oklab, var(--rangeflow-accent) 20%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-active-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-active-bg:color-mix(in oklab, var(--rangeflow-accent) 32%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-solid:var(--rangeflow-accent);--rangeflow-accent-solid-hover:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:color-mix(in oklab, var(--rangeflow-accent), var(--rangeflow-foreground) 12%)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-contrast:var(--rangeflow-on-accent);--rangeflow-accent-text:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-accent-text:color-mix(in oklab, var(--rangeflow-accent) 55%, var(--rangeflow-foreground))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-ring:var(--rangeflow-accent);--rangeflow-separator:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-separator:color-mix(in oklab, var(--rangeflow-accent) 65%, transparent)}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-separator-active:var(--rangeflow-accent);--rangeflow-ticker:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-ticker:color-mix(in oklab, var(--rangeflow-accent) 40%, var(--rangeflow-surface))}}.rangeflow-date-picker,.rangeflow-date-picker-portal{--rangeflow-today:var(--rangeflow-accent-text)}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-surface:#0a0f0c;--rangeflow-foreground:#fff;--rangeflow-border:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border:color-mix(in oklab, var(--rangeflow-accent) 30%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 14%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border-strong:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-border-strong:color-mix(in oklab, var(--rangeflow-accent) 55%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 22%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-hover-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-hover-bg:color-mix(in oklab, var(--rangeflow-accent) 22%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 10%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-range-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-range-bg:color-mix(in oklab, var(--rangeflow-accent) 32%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 14%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-active-bg:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-active-bg:color-mix(in oklab, var(--rangeflow-accent) 45%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 20%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-ticker:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-ticker:color-mix(in oklab, var(--rangeflow-accent) 55%, color-mix(in oklab, var(--rangeflow-surface), var(--rangeflow-foreground) 28%))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator:color-mix(in oklab, var(--rangeflow-accent) 55%, var(--rangeflow-foreground))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator-active:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-separator-active:color-mix(in oklab, var(--rangeflow-accent) 35%, var(--rangeflow-foreground))}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-solid-hover:color-mix(in oklab, var(--rangeflow-accent), var(--rangeflow-foreground) 18%)}}.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-text:var(--rangeflow-accent)}@supports (color:color-mix(in lab, red, red)){.rangeflow-date-picker.dark,.rangeflow-date-picker[data-theme=dark],.dark .rangeflow-date-picker,[data-theme=dark] .rangeflow-date-picker,.rangeflow-date-picker-portal.dark,.rangeflow-date-picker-portal[data-theme=dark],.dark .rangeflow-date-picker-portal,[data-theme=dark] .rangeflow-date-picker-portal{--rangeflow-accent-text:color-mix(in oklab, var(--rangeflow-accent) 45%, var(--rangeflow-foreground))}}}@layer base{.rangeflow-date-picker,.rangeflow-date-picker-portal{font-family:var(--rangeflow-font,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rangeflow-date-picker,.rangeflow-date-picker *,.rangeflow-date-picker-portal,.rangeflow-date-picker-portal *{box-sizing:border-box}.rangeflow-date-picker button,.rangeflow-date-picker-portal button,.rangeflow-date-picker select,.rangeflow-date-picker-portal select{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.rangeflow-date-picker select,.rangeflow-date-picker-portal select{appearance:none}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-\[50\%\]{top:50%}.left-0{left:calc(var(--spacing) * 0)}.z-1{z-index:1}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-\[clamp\(0\.5rem\,5vw\,5\%\)\]{margin-inline:clamp(.5rem,5vw,5%)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\/4{height:75%}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-35{height:calc(var(--spacing) * 35)}.h-full{height:100%}.w-0\.5{width:calc(var(--spacing) * .5)}.w-0\.75{width:calc(var(--spacing) * .75)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-140{width:calc(var(--spacing) * 140)}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-\[50\%\]{--tw-translate-y:calc(50% * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\(--rangeflow-border\){border-color:var(--rangeflow-border)}.border-\(--rangeflow-border-strong\){border-color:var(--rangeflow-border-strong)}.bg-\(--rangeflow-active-bg\){background-color:var(--rangeflow-active-bg)}.bg-\(--rangeflow-bg\){background-color:var(--rangeflow-bg)}.bg-\(--rangeflow-range-bg\){background-color:var(--rangeflow-range-bg)}.bg-\(--rangeflow-separator\){background-color:var(--rangeflow-separator)}.bg-\(--rangeflow-ticker\){background-color:var(--rangeflow-ticker)}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.text-nowrap{text-wrap:nowrap}.text-\(--rangeflow-accent-text\){color:var(--rangeflow-accent-text)}.text-\(--rangeflow-text\){color:var(--rangeflow-text)}.text-\(--rangeflow-text-disabled\){color:var(--rangeflow-text-disabled)}.text-\(--rangeflow-text-faint\){color:var(--rangeflow-text-faint)}.text-\(--rangeflow-text-muted\){color:var(--rangeflow-text-muted)}.text-\(--rangeflow-text-subtle\){color:var(--rangeflow-text-subtle)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-shadow-sm{--tw-inset-shadow:inset 0 2px 4px var(--tw-inset-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\(color\:--rangeflow-shadow-color\){--tw-shadow-color:var(--rangeflow-shadow-color)}@supports (color:color-mix(in lab, red, red)){.shadow-\(color\:--rangeflow-shadow-color\){--tw-shadow-color:color-mix(in oklab, var(--rangeflow-shadow-color) var(--tw-shadow-alpha), transparent)}}.backdrop-blur-\[2\.5px\]{--tw-backdrop-blur:blur(2.5px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[10px\]{--tw-backdrop-blur:blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-\[background-color\,opacity\]{transition-property:background-color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\]{--tw-ease:cubic-bezier(.32,.72,0,1);transition-timing-function:cubic-bezier(.32,.72,0,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-has-\[\[data-track-handle-container\]\:hover\]\:opacity-100:is(:where(.group):has([data-track-handle-container]:hover) *){opacity:1}@media (hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-\(--rangeflow-hover-bg\):hover{background-color:var(--rangeflow-hover-bg)}.hover\:bg-\(--rangeflow-separator-active\):hover{background-color:var(--rangeflow-separator-active)}.hover\:text-\(--rangeflow-text-muted\):hover{color:var(--rangeflow-text-muted)}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\(--rangeflow-ring\):focus-visible{--tw-ring-color:var(--rangeflow-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.has-\[\:focus\]\:ring-1:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\:focus\]\:ring-\(--rangeflow-ring\):has(:focus){--tw-ring-color:var(--rangeflow-ring)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-40[aria-disabled=true]{opacity:.4}.data-\[range-end\=true\]\:bg-\(--rangeflow-accent-solid\)[data-range-end=true]{background-color:var(--rangeflow-accent-solid)}.data-\[range-end\=true\]\:text-\(--rangeflow-accent-contrast\)[data-range-end=true]{color:var(--rangeflow-accent-contrast)}.data-\[range-start\=true\]\:bg-\(--rangeflow-accent-solid\)[data-range-start=true]{background-color:var(--rangeflow-accent-solid)}.data-\[range-start\=true\]\:text-\(--rangeflow-accent-contrast\)[data-range-start=true]{color:var(--rangeflow-accent-contrast)}.data-\[selected\=true\]\:bg-\(--rangeflow-accent-solid\)[data-selected=true]{background-color:var(--rangeflow-accent-solid)}.data-\[selected\=true\]\:text-\(--rangeflow-accent-contrast\)[data-selected=true]{color:var(--rangeflow-accent-contrast)}@media (hover:hover){.data-\[selected\=true\]\:hover\:bg-\(--rangeflow-accent-solid-hover\)[data-selected=true]:hover{background-color:var(--rangeflow-accent-solid-hover)}}.data-\[separator\=active\]\:bg-\(--rangeflow-separator-active\)[data-separator=active]{background-color:var(--rangeflow-separator-active)}.data-\[separator\=active\]\:opacity-100[data-separator=active],.data-\[separator\=focus\]\:opacity-100[data-separator=focus]{opacity:1}.data-\[today\=true\]\:font-bold[data-today=true]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.data-\[today\=true\]\:text-\(--rangeflow-today\)[data-today=true]{color:var(--rangeflow-today)}@media (width>=48rem){.md\:flex-row{flex-direction:row}}}@keyframes rangeflow-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rangeflow-odometer-enter{0%{filter:blur(6px);opacity:0;transform:translateY(110%)}to{filter:blur();opacity:1;transform:translateY(0)}}@keyframes rangeflow-odometer-exit{0%{filter:blur();opacity:1;transform:translateY(0)}to{filter:blur(6px);opacity:0;transform:translateY(-110%)}}.rangeflow-popover[data-state=open]{transform-origin:var(--radix-popover-content-transform-origin);animation:.22s cubic-bezier(.16,1,.3,1) rangeflow-popover-in}.rangeflow-odometer-enter{animation:.45s cubic-bezier(.32,.72,0,1) both rangeflow-odometer-enter}.rangeflow-odometer-exit{animation:.45s cubic-bezier(.32,.72,0,1) both rangeflow-odometer-exit}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
|
3
3
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rangeflow",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A fancy date range picker built with React and Tailwind.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,9 +59,6 @@
|
|
|
59
59
|
"@radix-ui/react-popover": "^1.1.15",
|
|
60
60
|
"clsx": "^2.1.1",
|
|
61
61
|
"dayjs": "^1.11.20",
|
|
62
|
-
"immer": "^11.1.4",
|
|
63
|
-
"motion": "^12.38.0",
|
|
64
|
-
"motion-plus": "https://api.motion.dev/registry.tgz?package=motion-plus&version=2.10.0&token=924901a20c0ebcbb5d02a033c4af9bb0283aec707a78b61012b5af339b839fe1",
|
|
65
62
|
"react-day-picker": "^9.14.0",
|
|
66
63
|
"react-resizable-panels": "^4.10.0",
|
|
67
64
|
"zustand": "^5.0.12"
|