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 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.
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ value: string;
3
+ delay: number;
4
+ }
5
+ export declare const OdometerChar: import('react').MemoExoticComponent<({ value, delay }: Props) => import("react/jsx-runtime").JSX.Element>;
6
+ export {};
@@ -1,6 +1,6 @@
1
- type OdometerTextProps = {
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
+ };
@@ -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 UpdaterFunction = (state: RangeFlowState) => void;
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: (fn: UpdaterFunction) => void;
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, useId as s, useMemo as c, useRef as l, useState as u } from "react";
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 { immer as f } from "zustand/middleware/immer";
4
- import { createStore as p } from "zustand/vanilla";
5
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
6
- import { RestrictToHorizontalAxis as g, restrictShapeToBoundingRectangle as _ } from "@dnd-kit/abstract/modifiers";
7
- import { DragDropProvider as v, DragOverlay as y, useDragDropMonitor as b, useDraggable as ee } from "@dnd-kit/react";
8
- import x, { clsx as S } from "clsx";
9
- import { AnimatePresence as te, motion as C } from "motion/react";
10
- import { useStore as ne } from "zustand";
11
- import { KeyboardSensor as re, PointerSensor as ie } from "@dnd-kit/dom";
12
- import { Group as ae, Panel as w, Separator as T } from "react-resizable-panels";
13
- import { Modifier as oe, configurator as se } from "@dnd-kit/abstract";
14
- import { Rectangle as E } from "@dnd-kit/geometry";
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 ue = [
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 P = N([1, 100], [5, 100]);
62
- function F(e, t) {
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(P(s), 5), u = M(c - (l - s), 0, Math.max(100 - l, 0));
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 I(e, t, n) {
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 L({ onChange: e }) {
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 R() {
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 z(e) {
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 B = (e) => p()(f((t) => ({
104
+ var z = (e) => f()((t) => ({
107
105
  ...e,
108
106
  update: (e) => t(e),
109
- reset: () => t(() => structuredClone(e))
110
- }))), V = e(null);
107
+ reset: () => t(structuredClone(e))
108
+ })), B = e(null);
111
109
  //#endregion
112
110
  //#region src/package/rangeflow/context/ContextProvider.tsx
113
- function H({ children: e, defaultRange: t, defaultSelected: n, disabled: r, duration: i, calendar: a = !0, ranges: o = ue, CalendarProps: s, Slots: l, api: d, onChange: f }) {
114
- let p = R(), h = L({ onChange: f }), g = z(l), [_] = u(() => B({
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: F(t, n),
120
+ slider: P(t, n),
123
121
  CalendarProps: s
124
122
  }));
125
- I(_, p, d);
123
+ F(_, m, d);
126
124
  let v = c(() => ({
127
125
  store: _,
128
126
  events: h,
129
- refs: p,
127
+ refs: m,
130
128
  slots: g
131
129
  }), [
132
130
  _,
133
131
  h,
134
- p,
132
+ m,
135
133
  g
136
134
  ]);
137
- return /* @__PURE__ */ m(V.Provider, {
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 U = n(({ children: e, className: t }) => /* @__PURE__ */ m("span", {
145
- className: x("inline-flex tabular-nums", t),
146
- children: [...e].map((e, t) => {
147
- let n = e === " " ? "\xA0" : e;
148
- return /* @__PURE__ */ h("span", {
149
- className: "relative inline-block overflow-hidden leading-none",
150
- children: [/* @__PURE__ */ m("span", {
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: n
153
- }), /* @__PURE__ */ m(te, {
154
- initial: !1,
155
- mode: "popLayout",
156
- children: /* @__PURE__ */ m(C.span, {
157
- animate: {
158
- y: 0,
159
- filter: "blur(0px)",
160
- opacity: 1
161
- },
162
- className: "absolute inset-0",
163
- exit: {
164
- y: "-110%",
165
- filter: "blur(6px)",
166
- opacity: 0
167
- },
168
- initial: {
169
- y: "110%",
170
- filter: "blur(6px)",
171
- opacity: 0
172
- },
173
- transition: {
174
- duration: .45,
175
- ease: [
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(V).slots;
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 ne(a(V).store, e);
200
+ return x(a(B).store, e);
203
201
  }
204
202
  //#endregion
205
203
  //#region src/package/rangeflow/components/DateSlider/DateLabelsTrack.tsx
206
- function de(e) {
204
+ function le(e) {
207
205
  return e > 120 ? "MMM YYYY" : e > 7 ? "MMM DD" : "ddd DD";
208
206
  }
209
- function fe(e) {
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 pe = n(() => {
210
+ var de = n(() => {
213
211
  let e = K((e) => e.range), n = W(e), { DateLabelsTrack: r } = G(), i = c(() => {
214
- let t = de(n), r = fe(n), i = d(e.from), a = d(e.to).diff(i);
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__ */ m("div", {
225
- className: x("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"),
226
- children: i.map((e, t) => /* @__PURE__ */ m(U, {
227
- className: x("rangeflow-label", { "font-medium text-(--rangeflow-text-muted)": t === 0 || t === i.length - 1 }),
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(V).refs;
233
+ return a(B).refs;
236
234
  }
237
235
  //#endregion
238
236
  //#region src/package/rangeflow/icons/DoubleChevronLeftIcon.tsx
239
- function me() {
240
- return /* @__PURE__ */ m("svg", {
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__ */ m("path", {
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 he() {
257
- return /* @__PURE__ */ m("svg", {
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__ */ m("path", {
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 J = n(() => {
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__ */ m("div", {
273
+ return e ? t(e) : /* @__PURE__ */ p("div", {
276
274
  className: "rangeflow-tickers flex items-center gap-2",
277
- children: /* @__PURE__ */ m("div", {
275
+ children: /* @__PURE__ */ p("div", {
278
276
  className: "flex w-full justify-between",
279
- children: Array.from({ length: n }).map((e, t) => /* @__PURE__ */ m("div", { className: "rangeflow-ticker h-3 w-0.5 rounded-xs bg-(--rangeflow-ticker)" }, t))
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 Y({ children: e, onClick: t }) {
286
- return /* @__PURE__ */ m(C.span, {
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 ge = N([5, 100], [1, 100]);
296
- function _e(e, t) {
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 = ge(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));
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 X() {
309
- return a(V).store;
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 Z() {
314
- let e = X();
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 } = _e(t, n);
317
- r((e) => {
318
- e.slider.size = i, e.slider.left = a, e.slider.right = o, e.selected_date = {
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 ve() {
329
+ function _e() {
328
330
  let e = K((e) => e.slider.left), [t] = u(() => e);
329
- return /* @__PURE__ */ m(w, {
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 ye() {
341
+ function ve() {
340
342
  let e = K((e) => e.slider.right), [t] = u(() => e);
341
- return /* @__PURE__ */ m(w, {
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 be = n(() => {
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__ */ m("div", {
362
+ return /* @__PURE__ */ p("div", {
361
363
  "data-track-handle": "true",
362
- className: x("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)"),
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
- }), Q = N([1, 100], [5, 100]);
366
- function xe({ onHandleRef: e }) {
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(Q(n.min * 100 / r), 100) : 5, o = n?.max ? Math.min(Q(n.max * 100 / r), 100) : 100;
368
- return /* @__PURE__ */ m(w, {
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__ */ m("div", {
376
+ children: /* @__PURE__ */ p("div", {
375
377
  "data-track-handle-container": "",
376
- className: x("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"),
377
- children: /* @__PURE__ */ m(be, {})
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 Se = (e, t, n) => !!e?.querySelector("[data-separator=\"active\"]") && t["slider-track-thumb"] === n["slider-track-thumb"];
384
- function Ce({ onHandleRef: e }) {
385
- let t = Z(), { slider: { root: n } } = q(), i = l(null), a = l(null), o = l(null), s = S("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 } = ee({
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: [ie.configure({ preventActivation: (e) => !(e.target instanceof HTMLDivElement) || !e.target.dataset.trackHandle }), re]
389
+ sensors: [re.configure({ preventActivation: (e) => !(e.target instanceof HTMLDivElement) || !e.target.dataset.trackHandle }), ne]
388
390
  });
389
- return b({
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__ */ m("div", {
407
+ }), /* @__PURE__ */ p("div", {
406
408
  ref: c,
407
- className: S("absolute top-[50%] left-0 z-1 -translate-y-[50%]", "h-7 w-full"),
408
- children: /* @__PURE__ */ h(ae, {
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 && Se(i.current, a, e)) {
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__ */ m(ve, {}),
424
- /* @__PURE__ */ m(T, { className: s }),
425
- /* @__PURE__ */ m(xe, { onHandleRef: e }),
426
- /* @__PURE__ */ m(T, { className: s }),
427
- /* @__PURE__ */ m(ye, {})
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 we({ onHandleRef: e }) {
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__ */ h("div", {
444
+ return /* @__PURE__ */ m("div", {
443
445
  className: "flex items-center select-none",
444
446
  children: [
445
- s ? /* @__PURE__ */ m(Y, {
447
+ s ? /* @__PURE__ */ p(J, {
446
448
  onClick: () => {
447
449
  t((e) => {
448
- let t = d(e.range.from).subtract(r / 2, "day");
449
- e.range.from = a && t.isBefore(a) ? d(a).toDate() : t.toDate(), e.slider = F(e.range, e.selected_date), u(e.slider);
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__ */ m(me, {})
460
+ children: /* @__PURE__ */ p(fe, {})
453
461
  }) : null,
454
- /* @__PURE__ */ h("div", {
462
+ /* @__PURE__ */ m("div", {
455
463
  className: "relative flex-1 px-2",
456
- children: [/* @__PURE__ */ m(Ce, { onHandleRef: e }), /* @__PURE__ */ m(J, {})]
464
+ children: [/* @__PURE__ */ p(Se, { onHandleRef: e }), /* @__PURE__ */ p(me, {})]
457
465
  }),
458
- l ? /* @__PURE__ */ m(Y, {
466
+ l ? /* @__PURE__ */ p(J, {
459
467
  onClick: () => {
460
468
  t((e) => {
461
- let t = d(e.range.to).add(r / 2, "day");
462
- e.range.to = o && t.isAfter(o) ? d(o).toDate() : t.toDate(), e.slider = F(e.range, e.selected_date), u(e.slider);
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__ */ m(he, {})
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 Te = class e extends oe {
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 = ce(() => {
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 : _(new E(t.left, t.top, t.width, t.height), e, n);
502
+ return !t || !n ? e : g(new T(t.left, t.top, t.width, t.height), e, n);
489
503
  }
490
- static configure = se(e);
504
+ static configure = w(e);
491
505
  };
492
506
  //#endregion
493
507
  //#region src/package/rangeflow/components/DateSlider/index.tsx
494
- function Ee() {
508
+ function Te() {
495
509
  let [e, t] = u(null), [n, r] = u(null);
496
- return /* @__PURE__ */ m("div", {
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__ */ h(v, {
500
- modifiers: [Te.configure({
513
+ children: /* @__PURE__ */ m(_, {
514
+ modifiers: [we.configure({
501
515
  inner: n,
502
516
  container: e
503
- }), g],
517
+ }), h],
504
518
  children: [
505
- /* @__PURE__ */ m(we, { onHandleRef: r }),
506
- /* @__PURE__ */ m(pe, {}),
507
- /* @__PURE__ */ m(y, { children: null })
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 De() {
515
- let e = Z(), t = K((e) => e.range.from.getTime()), n = K((e) => e.range.to.getTime()), { slider: { root: i } } = q();
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
- De();
531
- let e = s(), 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), l = c(() => t.filter((e) => !(a && d(e.from).isBefore(a, "day") || o && d(e.to).isAfter(o, "day"))), [
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__ */ m("div", {
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: l.map((t, r) => /* @__PURE__ */ h("button", {
545
- "data-active": u === r || void 0,
546
- className: x("rangeflow-tab relative z-1 flex items-center px-1.5 py-1 focus:outline-none"),
547
- onClick: () => {
548
- n((e) => {
549
- e.range.from = t.from, e.range.to = t.to;
550
- });
551
- },
552
- children: [/* @__PURE__ */ m("span", {
553
- className: x("relative z-1 text-xs tracking-tight text-(--rangeflow-text-muted)", { "font-medium text-(--rangeflow-text)": u === r }),
554
- children: t.label
555
- }), u === r && /* @__PURE__ */ m(C.div, {
556
- className: "rangeflow-tab-indicator absolute inset-0 rounded-sm bg-(--rangeflow-active-bg)",
557
- initial: !1,
558
- layoutId: e,
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__ */ m("button", {
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: x("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),
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__ */ m("svg", {
642
+ return /* @__PURE__ */ p("svg", {
598
643
  "aria-hidden": "true",
599
- className: x("shrink-0", Ae[t], e),
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__ */ m("path", { d: "m6 9 6 6 6-6" })
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__ */ m(le, {
659
+ return /* @__PURE__ */ p(oe, {
615
660
  captionLayout: e,
616
- className: x("rangeflow-calendar w-fit p-3 select-none", t),
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: x("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"),
623
- button_next: x("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"),
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: x("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)"),
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__ */ m(O.Portal, { children: /* @__PURE__ */ m(O.Content, {
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
- children: /* @__PURE__ */ m(C.div, {
660
- animate: {
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 Ie({ children: e }) {
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 } = F(e, r);
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((t) => {
698
- t.range = e;
699
- });
721
+ }), t({ range: e });
700
722
  };
701
- return /* @__PURE__ */ h(Pe, {
723
+ return /* @__PURE__ */ m(Pe, {
702
724
  modal: !0,
703
725
  onOpenChange: (e) => {
704
726
  e === !1 && l();
705
727
  },
706
- children: [/* @__PURE__ */ m(Fe, {
728
+ children: [/* @__PURE__ */ p(Fe, {
707
729
  className: "cursor-pointer",
708
730
  children: e
709
- }), /* @__PURE__ */ m(Ne, {
731
+ }), /* @__PURE__ */ p(Ne, {
710
732
  align: "start",
711
733
  sideOffset: 10,
712
- children: /* @__PURE__ */ m(Me, {
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
- if (!e?.from || !e?.to) return;
724
- let n = d(e.from).startOf("day"), r = d(e.to).startOf("day"), i = {
725
- from: n.toDate(),
726
- to: r.toDate()
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 Le() {
739
- return /* @__PURE__ */ m("svg", {
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__ */ m("path", {
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__ */ h("div", {
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__ */ m(Le, {}),
787
+ /* @__PURE__ */ p(Ie, {}),
770
788
  r,
771
- /* @__PURE__ */ m("span", {
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 Re() {
799
+ function Le() {
782
800
  let e = K((e) => e.calendar), { RangeTabs: n } = G();
783
- return /* @__PURE__ */ h("div", {
801
+ return /* @__PURE__ */ m("div", {
784
802
  className: "flex h-full items-center justify-between px-2",
785
- children: [e ? /* @__PURE__ */ m(Ie, { children: /* @__PURE__ */ m($, {}) }) : /* @__PURE__ */ m($, {}), n ? t(n) : /* @__PURE__ */ m(Oe, {})]
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 ze() {
791
- return a(V).events;
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 Be() {
796
- let e = X(), { onChange: t } = ze();
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 Ve() {
804
- return Be(), /* @__PURE__ */ h("div", {
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__ */ m("div", {
824
+ children: [/* @__PURE__ */ p("div", {
807
825
  className: "rangeflow-header h-10 border-b border-(--rangeflow-border) p-2",
808
- children: /* @__PURE__ */ m(Re, {})
809
- }), /* @__PURE__ */ m("div", {
826
+ children: /* @__PURE__ */ p(Le, {})
827
+ }), /* @__PURE__ */ p("div", {
810
828
  className: "rangeflow-body mx-2",
811
- children: /* @__PURE__ */ m(Ee, {})
829
+ children: /* @__PURE__ */ p(Te, {})
812
830
  })]
813
831
  });
814
832
  }
815
833
  //#endregion
816
834
  //#region src/package/rangeflow/index.tsx
817
- function He(e) {
818
- return /* @__PURE__ */ m(H, {
835
+ function Ve(e) {
836
+ return /* @__PURE__ */ p(V, {
819
837
  ...e,
820
- children: /* @__PURE__ */ m(Ve, {})
838
+ children: /* @__PURE__ */ p(Be, {})
821
839
  });
822
840
  }
823
841
  //#endregion
824
842
  //#region src/package/rangeflow/hooks/use-rangeflow.ts
825
- function Ue() {
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 } = F(n, i);
830
- a((e) => {
831
- e.range.from = n.from, e.range.to = n.to, e.slider = {
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 } = F(i, n);
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 { He as RangeFlow, Ue as useRangeflow };
883
+ export { Ve as RangeFlow, He as useRangeflow };
package/dist/style.css CHANGED
@@ -1,3 +1,3 @@
1
- /*! tailwindcss v4.2.2 | 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-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.6",
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"