@wow-two-beta/ui 0.0.21 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-WRPLV6H2.js → chunk-5KVTU5TX.js} +262 -105
- package/dist/chunk-5KVTU5TX.js.map +1 -0
- package/dist/{chunk-CBOC2DT2.js → chunk-6UJX6YAP.js} +813 -3
- package/dist/chunk-6UJX6YAP.js.map +1 -0
- package/dist/chunk-XAJKBU6P.js +145 -0
- package/dist/chunk-XAJKBU6P.js.map +1 -0
- package/dist/display/eventCalendar/EventCalendar.d.ts +30 -0
- package/dist/display/eventCalendar/EventCalendar.d.ts.map +1 -0
- package/dist/display/eventCalendar/index.d.ts +2 -0
- package/dist/display/eventCalendar/index.d.ts.map +1 -0
- package/dist/display/gantt/Gantt.d.ts +38 -0
- package/dist/display/gantt/Gantt.d.ts.map +1 -0
- package/dist/display/gantt/index.d.ts +2 -0
- package/dist/display/gantt/index.d.ts.map +1 -0
- package/dist/display/index.d.ts +3 -0
- package/dist/display/index.d.ts.map +1 -1
- package/dist/display/index.js +2 -2
- package/dist/display/scheduleView/ScheduleView.d.ts +30 -0
- package/dist/display/scheduleView/ScheduleView.d.ts.map +1 -0
- package/dist/display/scheduleView/index.d.ts +2 -0
- package/dist/display/scheduleView/index.d.ts.map +1 -0
- package/dist/forms/index.d.ts +1 -0
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +2 -2
- package/dist/forms/recurrenceEditor/RecurrenceEditor.d.ts +28 -0
- package/dist/forms/recurrenceEditor/RecurrenceEditor.d.ts.map +1 -0
- package/dist/forms/recurrenceEditor/index.d.ts +2 -0
- package/dist/forms/recurrenceEditor/index.d.ts.map +1 -0
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-CBOC2DT2.js.map +0 -1
- package/dist/chunk-WRPLV6H2.js.map +0 -1
- package/dist/chunk-ZCA365IX.js +0 -44
- package/dist/chunk-ZCA365IX.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { listboxVariants, listboxItemVariants, listboxGroupLabelVariants, listboxSeparatorVariants, listboxEmptyVariants } from './chunk-FFQENBTW.js';
|
|
2
2
|
import { PopoverTrigger, Popover, PopoverContent } from './chunk-DSA7L7PD.js';
|
|
3
|
-
import { Tag } from './chunk-
|
|
3
|
+
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-XAJKBU6P.js';
|
|
4
4
|
import { tv, dataAttr } from './chunk-BMBIZLO4.js';
|
|
5
5
|
import { useControlled } from './chunk-4P2TFUVW.js';
|
|
6
6
|
import { Icon } from './chunk-TDX22OWF.js';
|
|
@@ -1967,107 +1967,6 @@ Combobox.Item = ComboboxItem;
|
|
|
1967
1967
|
Combobox.Group = ComboboxGroup;
|
|
1968
1968
|
Combobox.Separator = ComboboxSeparator;
|
|
1969
1969
|
Combobox.Empty = ComboboxEmpty;
|
|
1970
|
-
|
|
1971
|
-
// src/forms/DateExtensions.ts
|
|
1972
|
-
var WEEKDAYS_SHORT = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
1973
|
-
var MONTHS_LONG = [
|
|
1974
|
-
"January",
|
|
1975
|
-
"February",
|
|
1976
|
-
"March",
|
|
1977
|
-
"April",
|
|
1978
|
-
"May",
|
|
1979
|
-
"June",
|
|
1980
|
-
"July",
|
|
1981
|
-
"August",
|
|
1982
|
-
"September",
|
|
1983
|
-
"October",
|
|
1984
|
-
"November",
|
|
1985
|
-
"December"
|
|
1986
|
-
];
|
|
1987
|
-
function startOfDay(d) {
|
|
1988
|
-
const c = new Date(d);
|
|
1989
|
-
c.setHours(0, 0, 0, 0);
|
|
1990
|
-
return c;
|
|
1991
|
-
}
|
|
1992
|
-
function isSameDay(a, b) {
|
|
1993
|
-
if (!a || !b) return false;
|
|
1994
|
-
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
1995
|
-
}
|
|
1996
|
-
function isToday(d) {
|
|
1997
|
-
return isSameDay(d, /* @__PURE__ */ new Date());
|
|
1998
|
-
}
|
|
1999
|
-
function addMonths(d, n) {
|
|
2000
|
-
const c = new Date(d);
|
|
2001
|
-
c.setMonth(c.getMonth() + n);
|
|
2002
|
-
return c;
|
|
2003
|
-
}
|
|
2004
|
-
function addDays(d, n) {
|
|
2005
|
-
const c = new Date(d);
|
|
2006
|
-
c.setDate(c.getDate() + n);
|
|
2007
|
-
return c;
|
|
2008
|
-
}
|
|
2009
|
-
function startOfMonth(d) {
|
|
2010
|
-
return new Date(d.getFullYear(), d.getMonth(), 1);
|
|
2011
|
-
}
|
|
2012
|
-
function buildMonthGrid(year, month) {
|
|
2013
|
-
const first = new Date(year, month, 1);
|
|
2014
|
-
const firstWeekday = first.getDay();
|
|
2015
|
-
const start = addDays(first, -firstWeekday);
|
|
2016
|
-
const cells = [];
|
|
2017
|
-
for (let i = 0; i < 42; i++) {
|
|
2018
|
-
const date = addDays(start, i);
|
|
2019
|
-
cells.push({ date, outOfMonth: date.getMonth() !== month });
|
|
2020
|
-
}
|
|
2021
|
-
return cells;
|
|
2022
|
-
}
|
|
2023
|
-
function formatISODate(d) {
|
|
2024
|
-
if (!d) return "";
|
|
2025
|
-
const year = d.getFullYear();
|
|
2026
|
-
const month = String(d.getMonth() + 1).padStart(2, "0");
|
|
2027
|
-
const day = String(d.getDate()).padStart(2, "0");
|
|
2028
|
-
return `${year}-${month}-${day}`;
|
|
2029
|
-
}
|
|
2030
|
-
function parseISODate(s) {
|
|
2031
|
-
if (!s) return null;
|
|
2032
|
-
const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(s);
|
|
2033
|
-
if (!m) return null;
|
|
2034
|
-
const [, y, mo, d] = m;
|
|
2035
|
-
if (!y || !mo || !d) return null;
|
|
2036
|
-
const date = new Date(Number(y), Number(mo) - 1, Number(d));
|
|
2037
|
-
if (isNaN(date.getTime())) return null;
|
|
2038
|
-
return date;
|
|
2039
|
-
}
|
|
2040
|
-
function formatISOTime(d) {
|
|
2041
|
-
if (!d) return "";
|
|
2042
|
-
const h = String(d.getHours()).padStart(2, "0");
|
|
2043
|
-
const m = String(d.getMinutes()).padStart(2, "0");
|
|
2044
|
-
return `${h}:${m}`;
|
|
2045
|
-
}
|
|
2046
|
-
function parseISOTime(s) {
|
|
2047
|
-
if (!s) return null;
|
|
2048
|
-
const m = /^(\d{2}):(\d{2})$/.exec(s);
|
|
2049
|
-
if (!m) return null;
|
|
2050
|
-
const [, h, mi] = m;
|
|
2051
|
-
if (!h || !mi) return null;
|
|
2052
|
-
const hours = Number(h);
|
|
2053
|
-
const minutes = Number(mi);
|
|
2054
|
-
if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) return null;
|
|
2055
|
-
return { hours, minutes };
|
|
2056
|
-
}
|
|
2057
|
-
function isDateDisabled(d, options) {
|
|
2058
|
-
const { min, max, isDisabled } = options;
|
|
2059
|
-
if (min && startOfDay(d) < startOfDay(min)) return true;
|
|
2060
|
-
if (max && startOfDay(d) > startOfDay(max)) return true;
|
|
2061
|
-
if (isDisabled?.(d)) return true;
|
|
2062
|
-
return false;
|
|
2063
|
-
}
|
|
2064
|
-
function isInRange(d, start, end) {
|
|
2065
|
-
if (!start || !end) return false;
|
|
2066
|
-
const t = startOfDay(d).getTime();
|
|
2067
|
-
const s = startOfDay(start).getTime();
|
|
2068
|
-
const e = startOfDay(end).getTime();
|
|
2069
|
-
return t >= Math.min(s, e) && t <= Math.max(s, e);
|
|
2070
|
-
}
|
|
2071
1970
|
function MonthGrid({
|
|
2072
1971
|
viewMonth,
|
|
2073
1972
|
onViewMonthChange,
|
|
@@ -5041,7 +4940,265 @@ function safeStringify(value, indent) {
|
|
|
5041
4940
|
return "";
|
|
5042
4941
|
}
|
|
5043
4942
|
}
|
|
4943
|
+
var ALL_WEEKDAYS = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"];
|
|
4944
|
+
var WEEKDAY_LABEL = {
|
|
4945
|
+
SU: "Su",
|
|
4946
|
+
MO: "Mo",
|
|
4947
|
+
TU: "Tu",
|
|
4948
|
+
WE: "We",
|
|
4949
|
+
TH: "Th",
|
|
4950
|
+
FR: "Fr",
|
|
4951
|
+
SA: "Sa"
|
|
4952
|
+
};
|
|
4953
|
+
var JS_TO_RRULE = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"];
|
|
4954
|
+
function serializeRule(r) {
|
|
4955
|
+
const parts = [`FREQ=${r.freq}`];
|
|
4956
|
+
if (r.interval > 1) parts.push(`INTERVAL=${r.interval}`);
|
|
4957
|
+
if (r.byDay && r.byDay.length > 0) parts.push(`BYDAY=${r.byDay.join(",")}`);
|
|
4958
|
+
if (r.byMonthDay) parts.push(`BYMONTHDAY=${r.byMonthDay}`);
|
|
4959
|
+
if (r.count) parts.push(`COUNT=${r.count}`);
|
|
4960
|
+
if (r.until) parts.push(`UNTIL=${formatISODate(r.until).replace(/-/g, "")}`);
|
|
4961
|
+
return `RRULE:${parts.join(";")}`;
|
|
4962
|
+
}
|
|
4963
|
+
function nextOccurrence(rule, prev) {
|
|
4964
|
+
switch (rule.freq) {
|
|
4965
|
+
case "DAILY":
|
|
4966
|
+
return addDays(prev, rule.interval);
|
|
4967
|
+
case "WEEKLY": {
|
|
4968
|
+
if (!rule.byDay || rule.byDay.length === 0) return addDays(prev, 7 * rule.interval);
|
|
4969
|
+
const allowed = new Set(rule.byDay);
|
|
4970
|
+
let cursor = addDays(prev, 1);
|
|
4971
|
+
let weekJumps = 0;
|
|
4972
|
+
const maxIter = 7 * rule.interval + 1;
|
|
4973
|
+
for (let i = 0; i < maxIter; i++) {
|
|
4974
|
+
const wd = JS_TO_RRULE[cursor.getDay()];
|
|
4975
|
+
if (allowed.has(wd)) {
|
|
4976
|
+
return cursor;
|
|
4977
|
+
}
|
|
4978
|
+
cursor = addDays(cursor, 1);
|
|
4979
|
+
if (cursor.getDay() === 0) weekJumps++;
|
|
4980
|
+
if (weekJumps >= rule.interval) ;
|
|
4981
|
+
}
|
|
4982
|
+
return null;
|
|
4983
|
+
}
|
|
4984
|
+
case "MONTHLY": {
|
|
4985
|
+
const next = addMonths(prev, rule.interval);
|
|
4986
|
+
if (rule.byMonthDay) {
|
|
4987
|
+
next.setDate(rule.byMonthDay);
|
|
4988
|
+
}
|
|
4989
|
+
return next;
|
|
4990
|
+
}
|
|
4991
|
+
case "YEARLY": {
|
|
4992
|
+
const c = new Date(prev);
|
|
4993
|
+
c.setFullYear(c.getFullYear() + rule.interval);
|
|
4994
|
+
return c;
|
|
4995
|
+
}
|
|
4996
|
+
}
|
|
4997
|
+
}
|
|
4998
|
+
function buildPreview(rule, from, count) {
|
|
4999
|
+
const out = [];
|
|
5000
|
+
let cursor = from;
|
|
5001
|
+
out.push(new Date(cursor));
|
|
5002
|
+
for (let i = 0; i < count - 1; i++) {
|
|
5003
|
+
const next = nextOccurrence(rule, cursor);
|
|
5004
|
+
if (!next) break;
|
|
5005
|
+
if (rule.until && next > rule.until) break;
|
|
5006
|
+
if (rule.count && out.length >= rule.count) break;
|
|
5007
|
+
out.push(next);
|
|
5008
|
+
cursor = next;
|
|
5009
|
+
}
|
|
5010
|
+
return out;
|
|
5011
|
+
}
|
|
5012
|
+
var DEFAULT_RULE = { freq: "WEEKLY", interval: 1, byDay: ["MO"] };
|
|
5013
|
+
var RecurrenceEditor = forwardRef(
|
|
5014
|
+
function RecurrenceEditor2({
|
|
5015
|
+
value,
|
|
5016
|
+
defaultValue,
|
|
5017
|
+
onValueChange,
|
|
5018
|
+
from = /* @__PURE__ */ new Date(),
|
|
5019
|
+
previewCount = 5,
|
|
5020
|
+
disabled,
|
|
5021
|
+
readOnly,
|
|
5022
|
+
name,
|
|
5023
|
+
className,
|
|
5024
|
+
...rest
|
|
5025
|
+
}, ref) {
|
|
5026
|
+
const [rule, setRule] = useControlled({
|
|
5027
|
+
controlled: value,
|
|
5028
|
+
default: defaultValue ?? DEFAULT_RULE,
|
|
5029
|
+
onChange: onValueChange
|
|
5030
|
+
});
|
|
5031
|
+
const preview = useMemo(() => buildPreview(rule, from, previewCount), [rule, from, previewCount]);
|
|
5032
|
+
const update = (patch) => {
|
|
5033
|
+
const next = { ...rule, ...patch };
|
|
5034
|
+
if (patch.freq && patch.freq !== rule.freq) {
|
|
5035
|
+
if (patch.freq !== "WEEKLY") next.byDay = void 0;
|
|
5036
|
+
if (patch.freq !== "MONTHLY") next.byMonthDay = void 0;
|
|
5037
|
+
}
|
|
5038
|
+
setRule(next);
|
|
5039
|
+
};
|
|
5040
|
+
const endMode = rule.count ? "count" : rule.until ? "until" : "never";
|
|
5041
|
+
return /* @__PURE__ */ jsxs(
|
|
5042
|
+
"div",
|
|
5043
|
+
{
|
|
5044
|
+
ref,
|
|
5045
|
+
className: cn(
|
|
5046
|
+
"flex flex-col gap-3 rounded-md border border-border bg-card p-4 text-card-foreground shadow-sm",
|
|
5047
|
+
disabled && "opacity-60",
|
|
5048
|
+
className
|
|
5049
|
+
),
|
|
5050
|
+
...rest,
|
|
5051
|
+
children: [
|
|
5052
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2 text-sm", children: [
|
|
5053
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Every" }),
|
|
5054
|
+
/* @__PURE__ */ jsx(
|
|
5055
|
+
"input",
|
|
5056
|
+
{
|
|
5057
|
+
type: "number",
|
|
5058
|
+
min: 1,
|
|
5059
|
+
max: 999,
|
|
5060
|
+
value: rule.interval,
|
|
5061
|
+
disabled,
|
|
5062
|
+
readOnly,
|
|
5063
|
+
onChange: (e) => update({ interval: Math.max(1, Number(e.target.value) || 1) }),
|
|
5064
|
+
className: cn(inputBaseVariants({ size: "sm" }), "w-16")
|
|
5065
|
+
}
|
|
5066
|
+
),
|
|
5067
|
+
/* @__PURE__ */ jsxs(
|
|
5068
|
+
"select",
|
|
5069
|
+
{
|
|
5070
|
+
"aria-label": "Frequency",
|
|
5071
|
+
value: rule.freq,
|
|
5072
|
+
disabled,
|
|
5073
|
+
onChange: (e) => update({ freq: e.target.value }),
|
|
5074
|
+
className: cn(inputBaseVariants({ size: "sm" }), "w-32"),
|
|
5075
|
+
children: [
|
|
5076
|
+
/* @__PURE__ */ jsx("option", { value: "DAILY", children: rule.interval > 1 ? "days" : "day" }),
|
|
5077
|
+
/* @__PURE__ */ jsx("option", { value: "WEEKLY", children: rule.interval > 1 ? "weeks" : "week" }),
|
|
5078
|
+
/* @__PURE__ */ jsx("option", { value: "MONTHLY", children: rule.interval > 1 ? "months" : "month" }),
|
|
5079
|
+
/* @__PURE__ */ jsx("option", { value: "YEARLY", children: rule.interval > 1 ? "years" : "year" })
|
|
5080
|
+
]
|
|
5081
|
+
}
|
|
5082
|
+
)
|
|
5083
|
+
] }),
|
|
5084
|
+
rule.freq === "WEEKLY" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
5085
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "On" }),
|
|
5086
|
+
/* @__PURE__ */ jsx("div", { role: "group", "aria-label": "Days of week", className: "flex flex-wrap gap-1", children: ALL_WEEKDAYS.map((wd) => {
|
|
5087
|
+
const checked = rule.byDay?.includes(wd) ?? false;
|
|
5088
|
+
return /* @__PURE__ */ jsx(
|
|
5089
|
+
"button",
|
|
5090
|
+
{
|
|
5091
|
+
type: "button",
|
|
5092
|
+
role: "checkbox",
|
|
5093
|
+
"aria-checked": checked,
|
|
5094
|
+
disabled: disabled || readOnly,
|
|
5095
|
+
onClick: () => {
|
|
5096
|
+
const set = new Set(rule.byDay ?? []);
|
|
5097
|
+
if (set.has(wd)) set.delete(wd);
|
|
5098
|
+
else set.add(wd);
|
|
5099
|
+
update({ byDay: Array.from(set) });
|
|
5100
|
+
},
|
|
5101
|
+
className: cn(
|
|
5102
|
+
"inline-flex h-7 w-9 items-center justify-center rounded-md border text-xs font-medium transition-colors",
|
|
5103
|
+
checked ? "border-primary bg-primary text-primary-foreground" : "border-input bg-background text-muted-foreground hover:bg-muted"
|
|
5104
|
+
),
|
|
5105
|
+
children: WEEKDAY_LABEL[wd]
|
|
5106
|
+
},
|
|
5107
|
+
wd
|
|
5108
|
+
);
|
|
5109
|
+
}) })
|
|
5110
|
+
] }),
|
|
5111
|
+
rule.freq === "MONTHLY" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
5112
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "On day" }),
|
|
5113
|
+
/* @__PURE__ */ jsx(
|
|
5114
|
+
"input",
|
|
5115
|
+
{
|
|
5116
|
+
type: "number",
|
|
5117
|
+
min: 1,
|
|
5118
|
+
max: 31,
|
|
5119
|
+
value: rule.byMonthDay ?? from.getDate(),
|
|
5120
|
+
disabled,
|
|
5121
|
+
readOnly,
|
|
5122
|
+
onChange: (e) => update({ byMonthDay: Math.min(31, Math.max(1, Number(e.target.value) || 1)) }),
|
|
5123
|
+
className: cn(inputBaseVariants({ size: "sm" }), "w-20")
|
|
5124
|
+
}
|
|
5125
|
+
),
|
|
5126
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "of the month" })
|
|
5127
|
+
] }),
|
|
5128
|
+
/* @__PURE__ */ jsxs("div", { role: "radiogroup", "aria-label": "End mode", className: "flex flex-col gap-2 text-sm", children: [
|
|
5129
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2", children: [
|
|
5130
|
+
/* @__PURE__ */ jsx(
|
|
5131
|
+
"input",
|
|
5132
|
+
{
|
|
5133
|
+
type: "radio",
|
|
5134
|
+
name: `${name ?? "rule"}-end`,
|
|
5135
|
+
checked: endMode === "never",
|
|
5136
|
+
disabled: disabled || readOnly,
|
|
5137
|
+
onChange: () => update({ count: void 0, until: null })
|
|
5138
|
+
}
|
|
5139
|
+
),
|
|
5140
|
+
"Never"
|
|
5141
|
+
] }),
|
|
5142
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2", children: [
|
|
5143
|
+
/* @__PURE__ */ jsx(
|
|
5144
|
+
"input",
|
|
5145
|
+
{
|
|
5146
|
+
type: "radio",
|
|
5147
|
+
name: `${name ?? "rule"}-end`,
|
|
5148
|
+
checked: endMode === "count",
|
|
5149
|
+
disabled: disabled || readOnly,
|
|
5150
|
+
onChange: () => update({ count: rule.count ?? 10, until: null })
|
|
5151
|
+
}
|
|
5152
|
+
),
|
|
5153
|
+
"After",
|
|
5154
|
+
/* @__PURE__ */ jsx(
|
|
5155
|
+
"input",
|
|
5156
|
+
{
|
|
5157
|
+
type: "number",
|
|
5158
|
+
min: 1,
|
|
5159
|
+
value: rule.count ?? "",
|
|
5160
|
+
disabled: disabled || readOnly || endMode !== "count",
|
|
5161
|
+
onChange: (e) => update({ count: Math.max(1, Number(e.target.value) || 1), until: null }),
|
|
5162
|
+
className: cn(inputBaseVariants({ size: "sm" }), "w-20")
|
|
5163
|
+
}
|
|
5164
|
+
),
|
|
5165
|
+
"occurrences"
|
|
5166
|
+
] }),
|
|
5167
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2", children: [
|
|
5168
|
+
/* @__PURE__ */ jsx(
|
|
5169
|
+
"input",
|
|
5170
|
+
{
|
|
5171
|
+
type: "radio",
|
|
5172
|
+
name: `${name ?? "rule"}-end`,
|
|
5173
|
+
checked: endMode === "until",
|
|
5174
|
+
disabled: disabled || readOnly,
|
|
5175
|
+
onChange: () => update({ until: addMonths(from, 6), count: void 0 })
|
|
5176
|
+
}
|
|
5177
|
+
),
|
|
5178
|
+
"On",
|
|
5179
|
+
/* @__PURE__ */ jsx(
|
|
5180
|
+
"input",
|
|
5181
|
+
{
|
|
5182
|
+
type: "date",
|
|
5183
|
+
value: formatISODate(rule.until ?? null),
|
|
5184
|
+
disabled: disabled || readOnly || endMode !== "until",
|
|
5185
|
+
onChange: (e) => update({ until: parseISODate(e.target.value), count: void 0 }),
|
|
5186
|
+
className: cn(inputBaseVariants({ size: "sm" }), "w-44")
|
|
5187
|
+
}
|
|
5188
|
+
)
|
|
5189
|
+
] })
|
|
5190
|
+
] }),
|
|
5191
|
+
/* @__PURE__ */ jsxs("div", { className: "rounded-md bg-muted/40 p-3 text-xs", children: [
|
|
5192
|
+
/* @__PURE__ */ jsx("div", { className: "mb-1 font-medium text-muted-foreground", children: "Next occurrences" }),
|
|
5193
|
+
/* @__PURE__ */ jsx("ul", { "aria-live": "polite", className: "grid grid-cols-2 gap-x-4 gap-y-0.5 sm:grid-cols-3", children: preview.map((d, i) => /* @__PURE__ */ jsx("li", { className: "text-foreground tabular-nums", children: formatISODate(d) }, i)) })
|
|
5194
|
+
] }),
|
|
5195
|
+
name && /* @__PURE__ */ jsx("input", { type: "hidden", name, value: serializeRule(rule) })
|
|
5196
|
+
]
|
|
5197
|
+
}
|
|
5198
|
+
);
|
|
5199
|
+
}
|
|
5200
|
+
);
|
|
5044
5201
|
|
|
5045
|
-
export { Calendar, CharacterCount, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, Fieldset, FilePicker, FileUpload, FormErrorMessage, FormField, FormHelperText, InputAddon, InputGroup, JSONEditor, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PasswordInput, PasswordStrength, PercentInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, useWizard };
|
|
5046
|
-
//# sourceMappingURL=chunk-
|
|
5047
|
-
//# sourceMappingURL=chunk-
|
|
5202
|
+
export { Calendar, CharacterCount, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, Fieldset, FilePicker, FileUpload, FormErrorMessage, FormField, FormHelperText, InputAddon, InputGroup, JSONEditor, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PasswordInput, PasswordStrength, PercentInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, RecurrenceEditor, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, useWizard };
|
|
5203
|
+
//# sourceMappingURL=chunk-5KVTU5TX.js.map
|
|
5204
|
+
//# sourceMappingURL=chunk-5KVTU5TX.js.map
|