@borisj74/bv-ds 0.1.7 → 0.1.9
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/index.cjs +573 -244
- package/dist/index.d.cts +106 -21
- package/dist/index.d.ts +106 -21
- package/dist/index.js +573 -247
- package/package.json +17 -2
- package/src/components/Calendar/Calendar.tsx +249 -0
- package/src/components/Calendar/index.ts +2 -0
- package/src/components/TextEditor/TextEditor.tsx +188 -0
- package/src/components/TextEditor/index.ts +2 -0
- package/src/hooks/useTextEditor.ts +45 -0
- package/src/index.ts +5 -0
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var React28 = require('react');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var reactBigCalendar = require('react-big-calendar');
|
|
6
|
+
var dateFns = require('date-fns');
|
|
7
|
+
var locale$1 = require('date-fns/locale');
|
|
5
8
|
var bvDsIcons = require('@borisj74/bv-ds-icons');
|
|
9
|
+
var react = require('@tiptap/react');
|
|
10
|
+
var starterKit = require('@tiptap/starter-kit');
|
|
11
|
+
var extensionTextAlign = require('@tiptap/extension-text-align');
|
|
12
|
+
var extensionPlaceholder = require('@tiptap/extension-placeholder');
|
|
6
13
|
|
|
7
14
|
function _interopNamespace(e) {
|
|
8
15
|
if (e && e.__esModule) return e;
|
|
@@ -4884,10 +4891,10 @@ function ActivityFeed({
|
|
|
4884
4891
|
}
|
|
4885
4892
|
);
|
|
4886
4893
|
}
|
|
4887
|
-
function ringGeometry(diameter,
|
|
4894
|
+
function ringGeometry(diameter, stroke2, value, opts = {}) {
|
|
4888
4895
|
const { ringIndex = 0, ringGap = 0, arcFraction = 1 } = opts;
|
|
4889
4896
|
const center = diameter / 2;
|
|
4890
|
-
const radius = center -
|
|
4897
|
+
const radius = center - stroke2 / 2 - ringIndex * (stroke2 + ringGap);
|
|
4891
4898
|
const circumference = 2 * Math.PI * radius;
|
|
4892
4899
|
const arc = circumference * arcFraction;
|
|
4893
4900
|
const filled = Math.max(0, Math.min(100, value)) / 100 * arc;
|
|
@@ -4895,7 +4902,7 @@ function ringGeometry(diameter, stroke, value, opts = {}) {
|
|
|
4895
4902
|
}
|
|
4896
4903
|
function RingPair({
|
|
4897
4904
|
geo,
|
|
4898
|
-
stroke,
|
|
4905
|
+
stroke: stroke2,
|
|
4899
4906
|
trackClass = "stroke-utility-neutral-100",
|
|
4900
4907
|
progressClass,
|
|
4901
4908
|
progressColor,
|
|
@@ -4911,7 +4918,7 @@ function RingPair({
|
|
|
4911
4918
|
r: radius,
|
|
4912
4919
|
fill: "none",
|
|
4913
4920
|
className: trackClass,
|
|
4914
|
-
strokeWidth:
|
|
4921
|
+
strokeWidth: stroke2,
|
|
4915
4922
|
strokeDasharray: `${arc} ${circumference}`
|
|
4916
4923
|
}
|
|
4917
4924
|
),
|
|
@@ -4924,7 +4931,7 @@ function RingPair({
|
|
|
4924
4931
|
fill: "none",
|
|
4925
4932
|
className: clsx_default(!progressColor && progressClass),
|
|
4926
4933
|
stroke: progressColor,
|
|
4927
|
-
strokeWidth:
|
|
4934
|
+
strokeWidth: stroke2,
|
|
4928
4935
|
strokeLinecap: linecap,
|
|
4929
4936
|
strokeDasharray: `${filled} ${circumference}`
|
|
4930
4937
|
}
|
|
@@ -4956,10 +4963,10 @@ function ActivityGauge({
|
|
|
4956
4963
|
legend = "none",
|
|
4957
4964
|
className
|
|
4958
4965
|
}) {
|
|
4959
|
-
const { diameter, stroke, gap, valueClass } = sizeSpecs[size];
|
|
4966
|
+
const { diameter, stroke: stroke2, gap, valueClass } = sizeSpecs[size];
|
|
4960
4967
|
const center = diameter / 2;
|
|
4961
4968
|
const rings = series.map((s2, i) => {
|
|
4962
|
-
const geo = ringGeometry(diameter,
|
|
4969
|
+
const geo = ringGeometry(diameter, stroke2, s2.value, { ringIndex: i, ringGap: gap });
|
|
4963
4970
|
const strokeClass = DEFAULT_STROKE_CLASSES[i % DEFAULT_STROKE_CLASSES.length];
|
|
4964
4971
|
return { radius: geo.radius, circumference: geo.circumference, filled: geo.filled, strokeClass, custom: s2.color };
|
|
4965
4972
|
});
|
|
@@ -4981,7 +4988,7 @@ function ActivityGauge({
|
|
|
4981
4988
|
r: r2.radius,
|
|
4982
4989
|
fill: "none",
|
|
4983
4990
|
className: TRACK_STROKE_CLASS,
|
|
4984
|
-
strokeWidth:
|
|
4991
|
+
strokeWidth: stroke2
|
|
4985
4992
|
}
|
|
4986
4993
|
),
|
|
4987
4994
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4993,7 +5000,7 @@ function ActivityGauge({
|
|
|
4993
5000
|
fill: "none",
|
|
4994
5001
|
className: clsx_default(!r2.custom && r2.strokeClass),
|
|
4995
5002
|
stroke: r2.custom,
|
|
4996
|
-
strokeWidth:
|
|
5003
|
+
strokeWidth: stroke2,
|
|
4997
5004
|
strokeLinecap: "round",
|
|
4998
5005
|
strokeDasharray: `${r2.filled} ${r2.circumference - r2.filled}`
|
|
4999
5006
|
}
|
|
@@ -6118,6 +6125,91 @@ function ButtonUtility({
|
|
|
6118
6125
|
) : null
|
|
6119
6126
|
] });
|
|
6120
6127
|
}
|
|
6128
|
+
function IconBox({ size = 20, className, children }) {
|
|
6129
|
+
const icon = React28.isValidElement(children) ? React28.cloneElement(children, {
|
|
6130
|
+
viewBox: children.props.viewBox ?? "0 0 24 24",
|
|
6131
|
+
className: clsx_default("w-full h-full", children.props.className)
|
|
6132
|
+
}) : children;
|
|
6133
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6134
|
+
"span",
|
|
6135
|
+
{
|
|
6136
|
+
className: clsx_default("relative flex shrink-0 items-center justify-center", className),
|
|
6137
|
+
style: { width: size, height: size },
|
|
6138
|
+
children: icon
|
|
6139
|
+
}
|
|
6140
|
+
);
|
|
6141
|
+
}
|
|
6142
|
+
function CalendarHeader({
|
|
6143
|
+
title,
|
|
6144
|
+
range: range6,
|
|
6145
|
+
supportingText,
|
|
6146
|
+
badge,
|
|
6147
|
+
dateIcon,
|
|
6148
|
+
actions,
|
|
6149
|
+
className
|
|
6150
|
+
}) {
|
|
6151
|
+
const subtitle = range6 ?? supportingText;
|
|
6152
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6153
|
+
"div",
|
|
6154
|
+
{
|
|
6155
|
+
className: clsx_default(
|
|
6156
|
+
"flex flex-wrap items-start justify-between gap-lg font-body",
|
|
6157
|
+
className
|
|
6158
|
+
),
|
|
6159
|
+
children: [
|
|
6160
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-lg", children: [
|
|
6161
|
+
dateIcon,
|
|
6162
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-xxs", children: [
|
|
6163
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-md", children: [
|
|
6164
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-bold text-text-primary", children: title }),
|
|
6165
|
+
badge
|
|
6166
|
+
] }),
|
|
6167
|
+
subtitle ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-text-tertiary", children: subtitle }) : null
|
|
6168
|
+
] })
|
|
6169
|
+
] }),
|
|
6170
|
+
actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-md", children: actions }) : null
|
|
6171
|
+
]
|
|
6172
|
+
}
|
|
6173
|
+
);
|
|
6174
|
+
}
|
|
6175
|
+
function CalendarColumnHeader({
|
|
6176
|
+
weekday,
|
|
6177
|
+
date: date2,
|
|
6178
|
+
type,
|
|
6179
|
+
current = false,
|
|
6180
|
+
orientation = "vertical",
|
|
6181
|
+
breakpoint = "desktop",
|
|
6182
|
+
className
|
|
6183
|
+
}) {
|
|
6184
|
+
const state = type ?? (current ? "selected" : "default");
|
|
6185
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6186
|
+
"div",
|
|
6187
|
+
{
|
|
6188
|
+
className: clsx_default(
|
|
6189
|
+
"flex items-center justify-center gap-md py-md font-body",
|
|
6190
|
+
orientation === "vertical" && "flex-col gap-xs",
|
|
6191
|
+
breakpoint === "desktop" && "w-[160px]",
|
|
6192
|
+
className
|
|
6193
|
+
),
|
|
6194
|
+
children: [
|
|
6195
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-text-quaternary", children: weekday }),
|
|
6196
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6197
|
+
"span",
|
|
6198
|
+
{
|
|
6199
|
+
className: clsx_default(
|
|
6200
|
+
"flex items-center justify-center text-xs font-semibold",
|
|
6201
|
+
state === "selected" && "size-6 rounded-full bg-bg-brand-solid text-white",
|
|
6202
|
+
state === "today" && "border-b-2 border-border-brand pb-xxs text-text-brand-secondary",
|
|
6203
|
+
state === "default" && "text-text-secondary"
|
|
6204
|
+
),
|
|
6205
|
+
"aria-current": state !== "default" ? "date" : void 0,
|
|
6206
|
+
children: date2
|
|
6207
|
+
}
|
|
6208
|
+
)
|
|
6209
|
+
]
|
|
6210
|
+
}
|
|
6211
|
+
);
|
|
6212
|
+
}
|
|
6121
6213
|
var dotClasses = {
|
|
6122
6214
|
neutral: "bg-utility-neutral-500",
|
|
6123
6215
|
brand: "bg-utility-brand-500",
|
|
@@ -6209,6 +6301,281 @@ function CalendarEvent({
|
|
|
6209
6301
|
}
|
|
6210
6302
|
);
|
|
6211
6303
|
}
|
|
6304
|
+
var DEFAULT_OPTIONS = [
|
|
6305
|
+
{ value: "day", label: "Day view", shortcut: "\u2318D" },
|
|
6306
|
+
{ value: "week", label: "Week view", shortcut: "\u2318W" },
|
|
6307
|
+
{ value: "month", label: "Month view", shortcut: "\u2318M" }
|
|
6308
|
+
];
|
|
6309
|
+
function Chevron2() {
|
|
6310
|
+
return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5 shrink-0", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6311
|
+
"path",
|
|
6312
|
+
{
|
|
6313
|
+
d: "m5 7.5 5 5 5-5",
|
|
6314
|
+
stroke: "currentColor",
|
|
6315
|
+
strokeWidth: "1.667",
|
|
6316
|
+
strokeLinecap: "round",
|
|
6317
|
+
strokeLinejoin: "round"
|
|
6318
|
+
}
|
|
6319
|
+
) });
|
|
6320
|
+
}
|
|
6321
|
+
function CalendarViewDropdown({
|
|
6322
|
+
value,
|
|
6323
|
+
onChange,
|
|
6324
|
+
onSelect,
|
|
6325
|
+
open: openProp,
|
|
6326
|
+
onOpenChange,
|
|
6327
|
+
options = DEFAULT_OPTIONS,
|
|
6328
|
+
className
|
|
6329
|
+
}) {
|
|
6330
|
+
const [internalOpen, setInternalOpen] = React28.useState(false);
|
|
6331
|
+
const isControlled = openProp !== void 0;
|
|
6332
|
+
const open = isControlled ? openProp : internalOpen;
|
|
6333
|
+
const setOpen = (next) => {
|
|
6334
|
+
if (!isControlled) setInternalOpen(next);
|
|
6335
|
+
onOpenChange?.(next);
|
|
6336
|
+
};
|
|
6337
|
+
const selected = options.find((o) => o.value === value) ?? options[0];
|
|
6338
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default("relative inline-block font-body", className), children: [
|
|
6339
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
6340
|
+
"button",
|
|
6341
|
+
{
|
|
6342
|
+
type: "button",
|
|
6343
|
+
"aria-haspopup": "listbox",
|
|
6344
|
+
"aria-expanded": open,
|
|
6345
|
+
onClick: () => setOpen(!open),
|
|
6346
|
+
className: "inline-flex items-center gap-md rounded-md border border-border-primary bg-bg-primary px-lg py-md text-sm font-semibold text-text-secondary shadow-skeuomorphic transition-colors hover:bg-bg-primary-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-brand focus-visible:ring-offset-2 focus-visible:ring-offset-bg-primary",
|
|
6347
|
+
children: [
|
|
6348
|
+
selected.label,
|
|
6349
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-fg-quaternary", children: /* @__PURE__ */ jsxRuntime.jsx(Chevron2, {}) })
|
|
6350
|
+
]
|
|
6351
|
+
}
|
|
6352
|
+
),
|
|
6353
|
+
open ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6354
|
+
"ul",
|
|
6355
|
+
{
|
|
6356
|
+
role: "listbox",
|
|
6357
|
+
className: "absolute left-0 z-10 mt-xs min-w-[200px] rounded-md border border-border-secondary bg-bg-primary p-xs shadow-lg",
|
|
6358
|
+
children: options.map((opt) => {
|
|
6359
|
+
const isSelected = opt.value === value;
|
|
6360
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { role: "option", "aria-selected": isSelected, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6361
|
+
"button",
|
|
6362
|
+
{
|
|
6363
|
+
type: "button",
|
|
6364
|
+
onClick: () => {
|
|
6365
|
+
onChange?.(opt.value);
|
|
6366
|
+
onSelect?.(opt.value);
|
|
6367
|
+
setOpen(false);
|
|
6368
|
+
},
|
|
6369
|
+
className: "flex w-full items-center gap-md rounded-sm px-md py-xs text-sm font-medium text-text-secondary transition-colors hover:bg-bg-primary-hover",
|
|
6370
|
+
children: [
|
|
6371
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6372
|
+
"span",
|
|
6373
|
+
{
|
|
6374
|
+
className: clsx_default(
|
|
6375
|
+
"flex size-4 shrink-0 items-center justify-center rounded-full border",
|
|
6376
|
+
isSelected ? "border-border-brand" : "border-border-primary"
|
|
6377
|
+
),
|
|
6378
|
+
children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-2 rounded-full bg-bg-brand-solid" }) : null
|
|
6379
|
+
}
|
|
6380
|
+
),
|
|
6381
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: opt.label }),
|
|
6382
|
+
opt.shortcut ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-text-quaternary", children: opt.shortcut }) : null
|
|
6383
|
+
]
|
|
6384
|
+
}
|
|
6385
|
+
) }, opt.value);
|
|
6386
|
+
})
|
|
6387
|
+
}
|
|
6388
|
+
) : null
|
|
6389
|
+
] });
|
|
6390
|
+
}
|
|
6391
|
+
var localizer = reactBigCalendar.dateFnsLocalizer({
|
|
6392
|
+
format: dateFns.format,
|
|
6393
|
+
parse: dateFns.parse,
|
|
6394
|
+
// Monday-first week, matching the Figma column-header order (Mon…Sun).
|
|
6395
|
+
startOfWeek: (date2) => dateFns.startOfWeek(date2, { weekStartsOn: 1 }),
|
|
6396
|
+
getDay: dateFns.getDay,
|
|
6397
|
+
locales: { "en-US": locale$1.enUS }
|
|
6398
|
+
});
|
|
6399
|
+
var rbcStructural = clsx_default(
|
|
6400
|
+
"h-full font-body",
|
|
6401
|
+
"[&_.rbc-month-view]:flex [&_.rbc-month-view]:flex-1 [&_.rbc-month-view]:flex-col [&_.rbc-month-view]:overflow-hidden",
|
|
6402
|
+
"[&_.rbc-month-header]:flex [&_.rbc-month-header]:flex-row",
|
|
6403
|
+
"[&_.rbc-header]:min-w-0 [&_.rbc-header]:flex-1 [&_.rbc-header]:overflow-hidden",
|
|
6404
|
+
"[&_.rbc-month-row]:relative [&_.rbc-month-row]:flex [&_.rbc-month-row]:min-h-[120px] [&_.rbc-month-row]:flex-1 [&_.rbc-month-row]:flex-col [&_.rbc-month-row]:overflow-hidden",
|
|
6405
|
+
"[&_.rbc-row-bg]:absolute [&_.rbc-row-bg]:inset-0 [&_.rbc-row-bg]:flex [&_.rbc-row-bg]:flex-row",
|
|
6406
|
+
"[&_.rbc-day-bg]:min-w-0 [&_.rbc-day-bg]:flex-1 [&_.rbc-day-bg]:border-b [&_.rbc-day-bg]:border-r [&_.rbc-day-bg]:border-border-secondary [&_.rbc-day-bg]:bg-bg-primary",
|
|
6407
|
+
"[&_.rbc-off-range-bg]:!bg-bg-secondary-alt",
|
|
6408
|
+
"[&_.rbc-row-content]:relative [&_.rbc-row-content]:z-[1] [&_.rbc-row-content]:flex [&_.rbc-row-content]:flex-1 [&_.rbc-row-content]:flex-col",
|
|
6409
|
+
"[&_.rbc-row]:flex [&_.rbc-row]:flex-row",
|
|
6410
|
+
"[&_.rbc-date-cell]:min-w-0 [&_.rbc-date-cell]:flex-1",
|
|
6411
|
+
"[&_.rbc-off-range]:opacity-50",
|
|
6412
|
+
"[&_.rbc-row-segment]:min-w-0 [&_.rbc-row-segment]:px-md [&_.rbc-row-segment]:pb-xxs",
|
|
6413
|
+
"[&_.rbc-event]:block [&_.rbc-event]:w-full [&_.rbc-event]:outline-none",
|
|
6414
|
+
"[&_.rbc-show-more]:block [&_.rbc-show-more]:px-md [&_.rbc-show-more]:text-xs [&_.rbc-show-more]:font-semibold [&_.rbc-show-more]:text-utility-neutral-500"
|
|
6415
|
+
);
|
|
6416
|
+
function NavArrow({ dir }) {
|
|
6417
|
+
return /* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: 20, children: dir === "left" ? /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.ArrowLeft, {}) : /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.ArrowRight, {}) });
|
|
6418
|
+
}
|
|
6419
|
+
function Calendar({
|
|
6420
|
+
events,
|
|
6421
|
+
defaultView = "month",
|
|
6422
|
+
defaultDate,
|
|
6423
|
+
onNavigate,
|
|
6424
|
+
onView,
|
|
6425
|
+
onSelectEvent,
|
|
6426
|
+
onSelectSlot,
|
|
6427
|
+
onAddEvent,
|
|
6428
|
+
className
|
|
6429
|
+
}) {
|
|
6430
|
+
const [date2, setDate] = React28.useState(defaultDate ?? new Date(2027, 0, 1));
|
|
6431
|
+
const [view, setView] = React28.useState(defaultView);
|
|
6432
|
+
const [selected, setSelected] = React28.useState(null);
|
|
6433
|
+
const handleNavigate = React28.useCallback(
|
|
6434
|
+
(next) => {
|
|
6435
|
+
setDate(next);
|
|
6436
|
+
onNavigate?.(next);
|
|
6437
|
+
},
|
|
6438
|
+
[onNavigate]
|
|
6439
|
+
);
|
|
6440
|
+
const handleView = React28.useCallback(
|
|
6441
|
+
(next) => {
|
|
6442
|
+
setView(next);
|
|
6443
|
+
onView?.(next);
|
|
6444
|
+
},
|
|
6445
|
+
[onView]
|
|
6446
|
+
);
|
|
6447
|
+
const handleSelectSlot = React28.useCallback(
|
|
6448
|
+
(slot) => {
|
|
6449
|
+
setSelected(slot.start);
|
|
6450
|
+
onSelectSlot?.(slot);
|
|
6451
|
+
},
|
|
6452
|
+
[onSelectSlot]
|
|
6453
|
+
);
|
|
6454
|
+
const components = React28.useMemo(
|
|
6455
|
+
() => ({
|
|
6456
|
+
// Header bar → CalendarHeader primitive + nav/view/add controls.
|
|
6457
|
+
toolbar: (tb) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border-secondary px-3xl py-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6458
|
+
CalendarHeader,
|
|
6459
|
+
{
|
|
6460
|
+
title: tb.label,
|
|
6461
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-lg", children: [
|
|
6462
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center overflow-hidden rounded-md border border-border-primary shadow-xs", children: [
|
|
6463
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6464
|
+
"button",
|
|
6465
|
+
{
|
|
6466
|
+
type: "button",
|
|
6467
|
+
"aria-label": "Previous",
|
|
6468
|
+
onClick: () => tb.onNavigate("PREV"),
|
|
6469
|
+
className: "flex items-center justify-center bg-bg-primary px-[10px] py-md text-fg-quaternary transition-colors hover:bg-bg-primary-hover",
|
|
6470
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(NavArrow, { dir: "left" })
|
|
6471
|
+
}
|
|
6472
|
+
),
|
|
6473
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6474
|
+
"button",
|
|
6475
|
+
{
|
|
6476
|
+
type: "button",
|
|
6477
|
+
onClick: () => tb.onNavigate("TODAY"),
|
|
6478
|
+
className: "border-x border-border-primary bg-bg-primary px-[14px] py-md text-sm font-semibold text-text-secondary transition-colors hover:bg-bg-primary-hover",
|
|
6479
|
+
children: "Today"
|
|
6480
|
+
}
|
|
6481
|
+
),
|
|
6482
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6483
|
+
"button",
|
|
6484
|
+
{
|
|
6485
|
+
type: "button",
|
|
6486
|
+
"aria-label": "Next",
|
|
6487
|
+
onClick: () => tb.onNavigate("NEXT"),
|
|
6488
|
+
className: "flex items-center justify-center bg-bg-primary px-[10px] py-md text-fg-quaternary transition-colors hover:bg-bg-primary-hover",
|
|
6489
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(NavArrow, { dir: "right" })
|
|
6490
|
+
}
|
|
6491
|
+
)
|
|
6492
|
+
] }),
|
|
6493
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6494
|
+
CalendarViewDropdown,
|
|
6495
|
+
{
|
|
6496
|
+
value: tb.view,
|
|
6497
|
+
onChange: (v) => tb.onView(v)
|
|
6498
|
+
}
|
|
6499
|
+
),
|
|
6500
|
+
onAddEvent && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6501
|
+
"button",
|
|
6502
|
+
{
|
|
6503
|
+
type: "button",
|
|
6504
|
+
onClick: onAddEvent,
|
|
6505
|
+
className: "flex items-center gap-xs rounded-md border-2 border-white/[0.12] bg-bg-brand-solid px-lg py-md text-sm font-semibold text-text-white shadow-skeuomorphic",
|
|
6506
|
+
children: [
|
|
6507
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-60", children: /* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: 20, children: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.Plus, {}) }) }),
|
|
6508
|
+
"Add event"
|
|
6509
|
+
]
|
|
6510
|
+
}
|
|
6511
|
+
)
|
|
6512
|
+
] })
|
|
6513
|
+
}
|
|
6514
|
+
) }),
|
|
6515
|
+
month: {
|
|
6516
|
+
// Weekday column header → CalendarColumnHeader primitive.
|
|
6517
|
+
header: ({ label }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center border-b border-r border-border-secondary bg-bg-primary p-md", children: /* @__PURE__ */ jsxRuntime.jsx(CalendarColumnHeader, { weekday: label, date: "" }) }),
|
|
6518
|
+
// Date-number circle (Figma 7991:81840): default / today / selected.
|
|
6519
|
+
dateHeader: ({ date: cellDate, label }) => {
|
|
6520
|
+
const today = dateFns.isSameDay(cellDate, /* @__PURE__ */ new Date());
|
|
6521
|
+
const isSel = selected ? dateFns.isSameDay(cellDate, selected) : false;
|
|
6522
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex p-md", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6523
|
+
"span",
|
|
6524
|
+
{
|
|
6525
|
+
className: clsx_default(
|
|
6526
|
+
"flex size-6 items-center justify-center rounded-full text-xs font-semibold",
|
|
6527
|
+
today ? "bg-bg-brand-solid text-text-white" : isSel ? "bg-bg-secondary text-text-secondary" : "text-text-secondary"
|
|
6528
|
+
),
|
|
6529
|
+
children: label
|
|
6530
|
+
}
|
|
6531
|
+
) });
|
|
6532
|
+
},
|
|
6533
|
+
// Event chip → CalendarEvent primitive (desktop, filled).
|
|
6534
|
+
event: ({ event }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6535
|
+
CalendarEvent,
|
|
6536
|
+
{
|
|
6537
|
+
title: event.title,
|
|
6538
|
+
time: event.allDay ? void 0 : dateFns.format(event.start, "h:mm a"),
|
|
6539
|
+
color: event.color ?? "brand",
|
|
6540
|
+
filled: true
|
|
6541
|
+
}
|
|
6542
|
+
)
|
|
6543
|
+
}
|
|
6544
|
+
}),
|
|
6545
|
+
[onAddEvent, selected]
|
|
6546
|
+
);
|
|
6547
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6548
|
+
"div",
|
|
6549
|
+
{
|
|
6550
|
+
className: clsx_default(
|
|
6551
|
+
"flex w-full flex-col overflow-hidden rounded-xl border border-border-secondary bg-bg-primary shadow-xs",
|
|
6552
|
+
className
|
|
6553
|
+
),
|
|
6554
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6555
|
+
reactBigCalendar.Calendar,
|
|
6556
|
+
{
|
|
6557
|
+
localizer,
|
|
6558
|
+
events,
|
|
6559
|
+
date: date2,
|
|
6560
|
+
view,
|
|
6561
|
+
onNavigate: handleNavigate,
|
|
6562
|
+
onView: handleView,
|
|
6563
|
+
views: ["month", "week", "day"],
|
|
6564
|
+
selectable: true,
|
|
6565
|
+
popup: true,
|
|
6566
|
+
startAccessor: "start",
|
|
6567
|
+
endAccessor: "end",
|
|
6568
|
+
onSelectEvent: (e) => onSelectEvent?.(e),
|
|
6569
|
+
onSelectSlot: handleSelectSlot,
|
|
6570
|
+
messages: { showMore: (total) => `${total} more\u2026` },
|
|
6571
|
+
components,
|
|
6572
|
+
className: rbcStructural,
|
|
6573
|
+
style: { height: 800 }
|
|
6574
|
+
}
|
|
6575
|
+
)
|
|
6576
|
+
}
|
|
6577
|
+
);
|
|
6578
|
+
}
|
|
6212
6579
|
function PlusIcon2() {
|
|
6213
6580
|
return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-4", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6214
6581
|
"path",
|
|
@@ -6346,44 +6713,6 @@ function CalendarCellDayWeekView({
|
|
|
6346
6713
|
}
|
|
6347
6714
|
);
|
|
6348
6715
|
}
|
|
6349
|
-
function CalendarColumnHeader({
|
|
6350
|
-
weekday,
|
|
6351
|
-
date: date2,
|
|
6352
|
-
type,
|
|
6353
|
-
current = false,
|
|
6354
|
-
orientation = "vertical",
|
|
6355
|
-
breakpoint = "desktop",
|
|
6356
|
-
className
|
|
6357
|
-
}) {
|
|
6358
|
-
const state = type ?? (current ? "selected" : "default");
|
|
6359
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6360
|
-
"div",
|
|
6361
|
-
{
|
|
6362
|
-
className: clsx_default(
|
|
6363
|
-
"flex items-center justify-center gap-md py-md font-body",
|
|
6364
|
-
orientation === "vertical" && "flex-col gap-xs",
|
|
6365
|
-
breakpoint === "desktop" && "w-[160px]",
|
|
6366
|
-
className
|
|
6367
|
-
),
|
|
6368
|
-
children: [
|
|
6369
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-text-quaternary", children: weekday }),
|
|
6370
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6371
|
-
"span",
|
|
6372
|
-
{
|
|
6373
|
-
className: clsx_default(
|
|
6374
|
-
"flex items-center justify-center text-xs font-semibold",
|
|
6375
|
-
state === "selected" && "size-6 rounded-full bg-bg-brand-solid text-white",
|
|
6376
|
-
state === "today" && "border-b-2 border-border-brand pb-xxs text-text-brand-secondary",
|
|
6377
|
-
state === "default" && "text-text-secondary"
|
|
6378
|
-
),
|
|
6379
|
-
"aria-current": state !== "default" ? "date" : void 0,
|
|
6380
|
-
children: date2
|
|
6381
|
-
}
|
|
6382
|
-
)
|
|
6383
|
-
]
|
|
6384
|
-
}
|
|
6385
|
-
);
|
|
6386
|
-
}
|
|
6387
6716
|
function CalendarDateIcon({ month, day, className }) {
|
|
6388
6717
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6389
6718
|
"div",
|
|
@@ -6462,39 +6791,6 @@ function CalendarEventDayWeekView({
|
|
|
6462
6791
|
}
|
|
6463
6792
|
);
|
|
6464
6793
|
}
|
|
6465
|
-
function CalendarHeader({
|
|
6466
|
-
title,
|
|
6467
|
-
range: range6,
|
|
6468
|
-
supportingText,
|
|
6469
|
-
badge,
|
|
6470
|
-
dateIcon,
|
|
6471
|
-
actions,
|
|
6472
|
-
className
|
|
6473
|
-
}) {
|
|
6474
|
-
const subtitle = range6 ?? supportingText;
|
|
6475
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6476
|
-
"div",
|
|
6477
|
-
{
|
|
6478
|
-
className: clsx_default(
|
|
6479
|
-
"flex flex-wrap items-start justify-between gap-lg font-body",
|
|
6480
|
-
className
|
|
6481
|
-
),
|
|
6482
|
-
children: [
|
|
6483
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-lg", children: [
|
|
6484
|
-
dateIcon,
|
|
6485
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-xxs", children: [
|
|
6486
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-md", children: [
|
|
6487
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-bold text-text-primary", children: title }),
|
|
6488
|
-
badge
|
|
6489
|
-
] }),
|
|
6490
|
-
subtitle ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-text-tertiary", children: subtitle }) : null
|
|
6491
|
-
] })
|
|
6492
|
-
] }),
|
|
6493
|
-
actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-md", children: actions }) : null
|
|
6494
|
-
]
|
|
6495
|
-
}
|
|
6496
|
-
);
|
|
6497
|
-
}
|
|
6498
6794
|
function CalendarRowLabel({ label, time: time2, className }) {
|
|
6499
6795
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6500
6796
|
"div",
|
|
@@ -6528,93 +6824,6 @@ function CalendarTimemarker({
|
|
|
6528
6824
|
/* @__PURE__ */ jsxRuntime.jsx(Line, {})
|
|
6529
6825
|
] }) });
|
|
6530
6826
|
}
|
|
6531
|
-
var DEFAULT_OPTIONS = [
|
|
6532
|
-
{ value: "day", label: "Day view", shortcut: "\u2318D" },
|
|
6533
|
-
{ value: "week", label: "Week view", shortcut: "\u2318W" },
|
|
6534
|
-
{ value: "month", label: "Month view", shortcut: "\u2318M" }
|
|
6535
|
-
];
|
|
6536
|
-
function Chevron2() {
|
|
6537
|
-
return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5 shrink-0", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6538
|
-
"path",
|
|
6539
|
-
{
|
|
6540
|
-
d: "m5 7.5 5 5 5-5",
|
|
6541
|
-
stroke: "currentColor",
|
|
6542
|
-
strokeWidth: "1.667",
|
|
6543
|
-
strokeLinecap: "round",
|
|
6544
|
-
strokeLinejoin: "round"
|
|
6545
|
-
}
|
|
6546
|
-
) });
|
|
6547
|
-
}
|
|
6548
|
-
function CalendarViewDropdown({
|
|
6549
|
-
value,
|
|
6550
|
-
onChange,
|
|
6551
|
-
onSelect,
|
|
6552
|
-
open: openProp,
|
|
6553
|
-
onOpenChange,
|
|
6554
|
-
options = DEFAULT_OPTIONS,
|
|
6555
|
-
className
|
|
6556
|
-
}) {
|
|
6557
|
-
const [internalOpen, setInternalOpen] = React28.useState(false);
|
|
6558
|
-
const isControlled = openProp !== void 0;
|
|
6559
|
-
const open = isControlled ? openProp : internalOpen;
|
|
6560
|
-
const setOpen = (next) => {
|
|
6561
|
-
if (!isControlled) setInternalOpen(next);
|
|
6562
|
-
onOpenChange?.(next);
|
|
6563
|
-
};
|
|
6564
|
-
const selected = options.find((o) => o.value === value) ?? options[0];
|
|
6565
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default("relative inline-block font-body", className), children: [
|
|
6566
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
6567
|
-
"button",
|
|
6568
|
-
{
|
|
6569
|
-
type: "button",
|
|
6570
|
-
"aria-haspopup": "listbox",
|
|
6571
|
-
"aria-expanded": open,
|
|
6572
|
-
onClick: () => setOpen(!open),
|
|
6573
|
-
className: "inline-flex items-center gap-md rounded-md border border-border-primary bg-bg-primary px-lg py-md text-sm font-semibold text-text-secondary shadow-skeuomorphic transition-colors hover:bg-bg-primary-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-brand focus-visible:ring-offset-2 focus-visible:ring-offset-bg-primary",
|
|
6574
|
-
children: [
|
|
6575
|
-
selected.label,
|
|
6576
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-fg-quaternary", children: /* @__PURE__ */ jsxRuntime.jsx(Chevron2, {}) })
|
|
6577
|
-
]
|
|
6578
|
-
}
|
|
6579
|
-
),
|
|
6580
|
-
open ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6581
|
-
"ul",
|
|
6582
|
-
{
|
|
6583
|
-
role: "listbox",
|
|
6584
|
-
className: "absolute left-0 z-10 mt-xs min-w-[200px] rounded-md border border-border-secondary bg-bg-primary p-xs shadow-lg",
|
|
6585
|
-
children: options.map((opt) => {
|
|
6586
|
-
const isSelected = opt.value === value;
|
|
6587
|
-
return /* @__PURE__ */ jsxRuntime.jsx("li", { role: "option", "aria-selected": isSelected, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6588
|
-
"button",
|
|
6589
|
-
{
|
|
6590
|
-
type: "button",
|
|
6591
|
-
onClick: () => {
|
|
6592
|
-
onChange?.(opt.value);
|
|
6593
|
-
onSelect?.(opt.value);
|
|
6594
|
-
setOpen(false);
|
|
6595
|
-
},
|
|
6596
|
-
className: "flex w-full items-center gap-md rounded-sm px-md py-xs text-sm font-medium text-text-secondary transition-colors hover:bg-bg-primary-hover",
|
|
6597
|
-
children: [
|
|
6598
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6599
|
-
"span",
|
|
6600
|
-
{
|
|
6601
|
-
className: clsx_default(
|
|
6602
|
-
"flex size-4 shrink-0 items-center justify-center rounded-full border",
|
|
6603
|
-
isSelected ? "border-border-brand" : "border-border-primary"
|
|
6604
|
-
),
|
|
6605
|
-
children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-2 rounded-full bg-bg-brand-solid" }) : null
|
|
6606
|
-
}
|
|
6607
|
-
),
|
|
6608
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: opt.label }),
|
|
6609
|
-
opt.shortcut ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-text-quaternary", children: opt.shortcut }) : null
|
|
6610
|
-
]
|
|
6611
|
-
}
|
|
6612
|
-
) }, opt.value);
|
|
6613
|
-
})
|
|
6614
|
-
}
|
|
6615
|
-
) : null
|
|
6616
|
-
] });
|
|
6617
|
-
}
|
|
6618
6827
|
function CardHeader({
|
|
6619
6828
|
title,
|
|
6620
6829
|
description,
|
|
@@ -7701,20 +7910,20 @@ var import_isFunction2 = __toESM(require_isFunction());
|
|
|
7701
7910
|
|
|
7702
7911
|
// node_modules/recharts/es6/util/LogUtils.js
|
|
7703
7912
|
var isDev = process.env.NODE_ENV !== "production";
|
|
7704
|
-
var warn = function warn2(condition,
|
|
7913
|
+
var warn = function warn2(condition, format3) {
|
|
7705
7914
|
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
7706
7915
|
args[_key - 2] = arguments[_key];
|
|
7707
7916
|
}
|
|
7708
7917
|
if (isDev && typeof console !== "undefined" && console.warn) {
|
|
7709
|
-
if (
|
|
7918
|
+
if (format3 === void 0) {
|
|
7710
7919
|
console.warn("LogUtils requires an error message argument");
|
|
7711
7920
|
}
|
|
7712
7921
|
if (!condition) {
|
|
7713
|
-
if (
|
|
7922
|
+
if (format3 === void 0) {
|
|
7714
7923
|
console.warn("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
|
|
7715
7924
|
} else {
|
|
7716
7925
|
var argIndex = 0;
|
|
7717
|
-
console.warn(
|
|
7926
|
+
console.warn(format3.replace(/%s/g, function() {
|
|
7718
7927
|
return args[argIndex++];
|
|
7719
7928
|
}));
|
|
7720
7929
|
}
|
|
@@ -10728,7 +10937,7 @@ var DecimalCSS = /* @__PURE__ */ (function() {
|
|
|
10728
10937
|
}
|
|
10729
10938
|
}], [{
|
|
10730
10939
|
key: "parse",
|
|
10731
|
-
value: function
|
|
10940
|
+
value: function parse2(str) {
|
|
10732
10941
|
var _NUM_SPLIT_REGEX$exec;
|
|
10733
10942
|
var _ref = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [], _ref2 = _slicedToArray3(_ref, 3), numStr = _ref2[1], unit2 = _ref2[2];
|
|
10734
10943
|
return new DecimalCSS2(parseFloat(numStr), unit2 !== null && unit2 !== void 0 ? unit2 : "");
|
|
@@ -11718,10 +11927,10 @@ function color_formatHsl() {
|
|
|
11718
11927
|
function color_formatRgb() {
|
|
11719
11928
|
return this.rgb().formatRgb();
|
|
11720
11929
|
}
|
|
11721
|
-
function color(
|
|
11930
|
+
function color(format3) {
|
|
11722
11931
|
var m, l;
|
|
11723
|
-
|
|
11724
|
-
return (m = reHex.exec(
|
|
11932
|
+
format3 = (format3 + "").trim().toLowerCase();
|
|
11933
|
+
return (m = reHex.exec(format3)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format3)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format3)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format3)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format3)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format3)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format3)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format3) ? rgbn(named[format3]) : format3 === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
|
|
11725
11934
|
}
|
|
11726
11935
|
function rgbn(n) {
|
|
11727
11936
|
return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);
|
|
@@ -12273,7 +12482,7 @@ function locale_default(locale3) {
|
|
|
12273
12482
|
var prefix2 = (options && options.prefix !== void 0 ? options.prefix : "") + (symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : ""), suffix = (symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "") + (options && options.suffix !== void 0 ? options.suffix : "");
|
|
12274
12483
|
var formatType = formatTypes_default[type], maybeSuffix = /[defgprs%]/.test(type);
|
|
12275
12484
|
precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));
|
|
12276
|
-
function
|
|
12485
|
+
function format3(value) {
|
|
12277
12486
|
var valuePrefix = prefix2, valueSuffix = suffix, i, n, c2;
|
|
12278
12487
|
if (type === "c") {
|
|
12279
12488
|
valueSuffix = formatType(value) + valueSuffix;
|
|
@@ -12316,10 +12525,10 @@ function locale_default(locale3) {
|
|
|
12316
12525
|
}
|
|
12317
12526
|
return numerals(value);
|
|
12318
12527
|
}
|
|
12319
|
-
|
|
12528
|
+
format3.toString = function() {
|
|
12320
12529
|
return specifier + "";
|
|
12321
12530
|
};
|
|
12322
|
-
return
|
|
12531
|
+
return format3;
|
|
12323
12532
|
}
|
|
12324
12533
|
function formatPrefix2(specifier, value) {
|
|
12325
12534
|
var e = Math.max(-8, Math.min(8, Math.floor(exponent_default(value) / 3))) * 3, k2 = Math.pow(10, -e), f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier), { suffix: prefixes[8 + e / 3] });
|
|
@@ -12335,7 +12544,7 @@ function locale_default(locale3) {
|
|
|
12335
12544
|
|
|
12336
12545
|
// node_modules/d3-format/src/defaultLocale.js
|
|
12337
12546
|
var locale;
|
|
12338
|
-
var
|
|
12547
|
+
var format2;
|
|
12339
12548
|
var formatPrefix;
|
|
12340
12549
|
defaultLocale({
|
|
12341
12550
|
thousands: ",",
|
|
@@ -12344,7 +12553,7 @@ defaultLocale({
|
|
|
12344
12553
|
});
|
|
12345
12554
|
function defaultLocale(definition) {
|
|
12346
12555
|
locale = locale_default(definition);
|
|
12347
|
-
|
|
12556
|
+
format2 = locale.format;
|
|
12348
12557
|
formatPrefix = locale.formatPrefix;
|
|
12349
12558
|
return locale;
|
|
12350
12559
|
}
|
|
@@ -12389,7 +12598,7 @@ function tickFormat(start, stop, count, specifier) {
|
|
|
12389
12598
|
break;
|
|
12390
12599
|
}
|
|
12391
12600
|
}
|
|
12392
|
-
return
|
|
12601
|
+
return format2(specifier);
|
|
12393
12602
|
}
|
|
12394
12603
|
|
|
12395
12604
|
// node_modules/d3-scale/src/linear.js
|
|
@@ -12568,7 +12777,7 @@ function loggish(transform) {
|
|
|
12568
12777
|
if (specifier == null) specifier = base === 10 ? "s" : ",";
|
|
12569
12778
|
if (typeof specifier !== "function") {
|
|
12570
12779
|
if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;
|
|
12571
|
-
specifier =
|
|
12780
|
+
specifier = format2(specifier);
|
|
12572
12781
|
}
|
|
12573
12782
|
if (count === Infinity) return specifier;
|
|
12574
12783
|
const k2 = Math.max(1, base * count / scale.ticks().length);
|
|
@@ -13261,14 +13470,14 @@ function formatLocale(locale3) {
|
|
|
13261
13470
|
utcFormats.c = newFormat(locale_dateTime, utcFormats);
|
|
13262
13471
|
function newFormat(specifier, formats2) {
|
|
13263
13472
|
return function(date2) {
|
|
13264
|
-
var string = [], i = -1, j = 0, n = specifier.length, c2, pad4,
|
|
13473
|
+
var string = [], i = -1, j = 0, n = specifier.length, c2, pad4, format3;
|
|
13265
13474
|
if (!(date2 instanceof Date)) date2 = /* @__PURE__ */ new Date(+date2);
|
|
13266
13475
|
while (++i < n) {
|
|
13267
13476
|
if (specifier.charCodeAt(i) === 37) {
|
|
13268
13477
|
string.push(specifier.slice(j, i));
|
|
13269
13478
|
if ((pad4 = pads[c2 = specifier.charAt(++i)]) != null) c2 = specifier.charAt(++i);
|
|
13270
13479
|
else pad4 = c2 === "e" ? " " : "0";
|
|
13271
|
-
if (
|
|
13480
|
+
if (format3 = formats2[c2]) c2 = format3(date2, pad4);
|
|
13272
13481
|
string.push(c2);
|
|
13273
13482
|
j = i + 1;
|
|
13274
13483
|
}
|
|
@@ -13319,14 +13528,14 @@ function formatLocale(locale3) {
|
|
|
13319
13528
|
};
|
|
13320
13529
|
}
|
|
13321
13530
|
function parseSpecifier(d, specifier, string, j) {
|
|
13322
|
-
var i = 0, n = specifier.length, m = string.length, c2,
|
|
13531
|
+
var i = 0, n = specifier.length, m = string.length, c2, parse2;
|
|
13323
13532
|
while (i < n) {
|
|
13324
13533
|
if (j >= m) return -1;
|
|
13325
13534
|
c2 = specifier.charCodeAt(i++);
|
|
13326
13535
|
if (c2 === 37) {
|
|
13327
13536
|
c2 = specifier.charAt(i++);
|
|
13328
|
-
|
|
13329
|
-
if (!
|
|
13537
|
+
parse2 = parses[c2 in pads ? specifier.charAt(i++) : c2];
|
|
13538
|
+
if (!parse2 || (j = parse2(d, string, j)) < 0) return -1;
|
|
13330
13539
|
} else if (c2 != string.charCodeAt(j++)) {
|
|
13331
13540
|
return -1;
|
|
13332
13541
|
}
|
|
@@ -13699,9 +13908,9 @@ function date(t) {
|
|
|
13699
13908
|
function number3(t) {
|
|
13700
13909
|
return t instanceof Date ? +t : +/* @__PURE__ */ new Date(+t);
|
|
13701
13910
|
}
|
|
13702
|
-
function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2,
|
|
13911
|
+
function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format3) {
|
|
13703
13912
|
var scale = continuous(), invert = scale.invert, domain = scale.domain;
|
|
13704
|
-
var formatMillisecond =
|
|
13913
|
+
var formatMillisecond = format3(".%L"), formatSecond = format3(":%S"), formatMinute = format3("%I:%M"), formatHour = format3("%I %p"), formatDay = format3("%a %d"), formatWeek = format3("%b %d"), formatMonth = format3("%B"), formatYear2 = format3("%Y");
|
|
13705
13914
|
function tickFormat2(date2) {
|
|
13706
13915
|
return (second2(date2) < date2 ? formatMillisecond : minute(date2) < date2 ? formatSecond : hour(date2) < date2 ? formatMinute : day(date2) < date2 ? formatHour : month(date2) < date2 ? week(date2) < date2 ? formatDay : formatWeek : year(date2) < date2 ? formatMonth : formatYear2)(date2);
|
|
13707
13916
|
}
|
|
@@ -13716,7 +13925,7 @@ function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, se
|
|
|
13716
13925
|
return ticks2(d[0], d[d.length - 1], interval == null ? 10 : interval);
|
|
13717
13926
|
};
|
|
13718
13927
|
scale.tickFormat = function(count, specifier) {
|
|
13719
|
-
return specifier == null ? tickFormat2 :
|
|
13928
|
+
return specifier == null ? tickFormat2 : format3(specifier);
|
|
13720
13929
|
};
|
|
13721
13930
|
scale.nice = function(interval) {
|
|
13722
13931
|
var d = domain();
|
|
@@ -13724,7 +13933,7 @@ function calendar(ticks2, tickInterval, year, month, week, day, hour, minute, se
|
|
|
13724
13933
|
return interval ? domain(nice(d, interval)) : scale;
|
|
13725
13934
|
};
|
|
13726
13935
|
scale.copy = function() {
|
|
13727
|
-
return copy(scale, calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2,
|
|
13936
|
+
return copy(scale, calendar(ticks2, tickInterval, year, month, week, day, hour, minute, second2, format3));
|
|
13728
13937
|
};
|
|
13729
13938
|
return scale;
|
|
13730
13939
|
}
|
|
@@ -15793,15 +16002,15 @@ var getMainColorOfGraphicItem = function getMainColorOfGraphicItem2(item) {
|
|
|
15793
16002
|
var _item$type;
|
|
15794
16003
|
var _ref = item, displayName = _ref.type.displayName;
|
|
15795
16004
|
var defaultedProps = (_item$type = item.type) !== null && _item$type !== void 0 && _item$type.defaultProps ? _objectSpread10(_objectSpread10({}, item.type.defaultProps), item.props) : item.props;
|
|
15796
|
-
var
|
|
16005
|
+
var stroke2 = defaultedProps.stroke, fill = defaultedProps.fill;
|
|
15797
16006
|
var result;
|
|
15798
16007
|
switch (displayName) {
|
|
15799
16008
|
case "Line":
|
|
15800
|
-
result =
|
|
16009
|
+
result = stroke2;
|
|
15801
16010
|
break;
|
|
15802
16011
|
case "Area":
|
|
15803
16012
|
case "Radar":
|
|
15804
|
-
result =
|
|
16013
|
+
result = stroke2 && stroke2 !== "none" ? stroke2 : fill;
|
|
15805
16014
|
break;
|
|
15806
16015
|
default:
|
|
15807
16016
|
result = fill;
|
|
@@ -18465,18 +18674,18 @@ var getTransitionVal = function getTransitionVal2(props, duration, easing) {
|
|
|
18465
18674
|
}).join(",");
|
|
18466
18675
|
};
|
|
18467
18676
|
var isDev2 = process.env.NODE_ENV !== "production";
|
|
18468
|
-
var warn3 = function warn4(condition,
|
|
18677
|
+
var warn3 = function warn4(condition, format3, a2, b, c2, d, e, f) {
|
|
18469
18678
|
if (isDev2 && typeof console !== "undefined" && console.warn) {
|
|
18470
|
-
if (
|
|
18679
|
+
if (format3 === void 0) {
|
|
18471
18680
|
console.warn("LogUtils requires an error message argument");
|
|
18472
18681
|
}
|
|
18473
18682
|
if (!condition) {
|
|
18474
|
-
if (
|
|
18683
|
+
if (format3 === void 0) {
|
|
18475
18684
|
console.warn("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
|
|
18476
18685
|
} else {
|
|
18477
18686
|
var args = [a2, b, c2, d, e, f];
|
|
18478
18687
|
var argIndex = 0;
|
|
18479
|
-
console.warn(
|
|
18688
|
+
console.warn(format3.replace(/%s/g, function() {
|
|
18480
18689
|
return args[argIndex++];
|
|
18481
18690
|
}));
|
|
18482
18691
|
}
|
|
@@ -20311,7 +20520,7 @@ var PolarRadiusAxis = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
20311
20520
|
key: "renderTicks",
|
|
20312
20521
|
value: function renderTicks() {
|
|
20313
20522
|
var _this = this;
|
|
20314
|
-
var _this$props4 = this.props, ticks2 = _this$props4.ticks, tick = _this$props4.tick, angle = _this$props4.angle, tickFormatter = _this$props4.tickFormatter,
|
|
20523
|
+
var _this$props4 = this.props, ticks2 = _this$props4.ticks, tick = _this$props4.tick, angle = _this$props4.angle, tickFormatter = _this$props4.tickFormatter, stroke2 = _this$props4.stroke, others = _objectWithoutProperties14(_this$props4, _excluded24);
|
|
20315
20524
|
var textAnchor = this.getTickTextAnchor();
|
|
20316
20525
|
var axisProps = filterProps(others, false);
|
|
20317
20526
|
var customTickProps = filterProps(tick, false);
|
|
@@ -20322,7 +20531,7 @@ var PolarRadiusAxis = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
20322
20531
|
transform: "rotate(".concat(90 - angle, ", ").concat(coord.x, ", ").concat(coord.y, ")")
|
|
20323
20532
|
}, axisProps), {}, {
|
|
20324
20533
|
stroke: "none",
|
|
20325
|
-
fill:
|
|
20534
|
+
fill: stroke2
|
|
20326
20535
|
}, customTickProps), {}, {
|
|
20327
20536
|
index: i
|
|
20328
20537
|
}, coord), {}, {
|
|
@@ -20600,7 +20809,7 @@ var PolarAngleAxis = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
20600
20809
|
key: "renderTicks",
|
|
20601
20810
|
value: function renderTicks() {
|
|
20602
20811
|
var _this = this;
|
|
20603
|
-
var _this$props3 = this.props, ticks2 = _this$props3.ticks, tick = _this$props3.tick, tickLine = _this$props3.tickLine, tickFormatter = _this$props3.tickFormatter,
|
|
20812
|
+
var _this$props3 = this.props, ticks2 = _this$props3.ticks, tick = _this$props3.tick, tickLine = _this$props3.tickLine, tickFormatter = _this$props3.tickFormatter, stroke2 = _this$props3.stroke;
|
|
20604
20813
|
var axisProps = filterProps(this.props, false);
|
|
20605
20814
|
var customTickProps = filterProps(tick, false);
|
|
20606
20815
|
var tickLineProps = _objectSpread23(_objectSpread23({}, axisProps), {}, {
|
|
@@ -20613,7 +20822,7 @@ var PolarAngleAxis = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
20613
20822
|
textAnchor
|
|
20614
20823
|
}, axisProps), {}, {
|
|
20615
20824
|
stroke: "none",
|
|
20616
|
-
fill:
|
|
20825
|
+
fill: stroke2
|
|
20617
20826
|
}, customTickProps), {}, {
|
|
20618
20827
|
index: i,
|
|
20619
20828
|
payload: entry,
|
|
@@ -22547,9 +22756,9 @@ var Brush = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
22547
22756
|
}, {
|
|
22548
22757
|
key: "renderBackground",
|
|
22549
22758
|
value: function renderBackground() {
|
|
22550
|
-
var _this$props6 = this.props, x2 = _this$props6.x, y2 = _this$props6.y, width = _this$props6.width, height = _this$props6.height, fill = _this$props6.fill,
|
|
22759
|
+
var _this$props6 = this.props, x2 = _this$props6.x, y2 = _this$props6.y, width = _this$props6.width, height = _this$props6.height, fill = _this$props6.fill, stroke2 = _this$props6.stroke;
|
|
22551
22760
|
return /* @__PURE__ */ React28__namespace.default.createElement("rect", {
|
|
22552
|
-
stroke,
|
|
22761
|
+
stroke: stroke2,
|
|
22553
22762
|
fill,
|
|
22554
22763
|
x: x2,
|
|
22555
22764
|
y: y2,
|
|
@@ -22624,7 +22833,7 @@ var Brush = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
22624
22833
|
}, {
|
|
22625
22834
|
key: "renderSlide",
|
|
22626
22835
|
value: function renderSlide(startX, endX) {
|
|
22627
|
-
var _this$props9 = this.props, y2 = _this$props9.y, height = _this$props9.height,
|
|
22836
|
+
var _this$props9 = this.props, y2 = _this$props9.y, height = _this$props9.height, stroke2 = _this$props9.stroke, travellerWidth = _this$props9.travellerWidth;
|
|
22628
22837
|
var x2 = Math.min(startX, endX) + travellerWidth;
|
|
22629
22838
|
var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);
|
|
22630
22839
|
return /* @__PURE__ */ React28__namespace.default.createElement("rect", {
|
|
@@ -22637,7 +22846,7 @@ var Brush = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
22637
22846
|
cursor: "move"
|
|
22638
22847
|
},
|
|
22639
22848
|
stroke: "none",
|
|
22640
|
-
fill:
|
|
22849
|
+
fill: stroke2,
|
|
22641
22850
|
fillOpacity: 0.2,
|
|
22642
22851
|
x: x2,
|
|
22643
22852
|
y: y2,
|
|
@@ -22648,12 +22857,12 @@ var Brush = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
22648
22857
|
}, {
|
|
22649
22858
|
key: "renderText",
|
|
22650
22859
|
value: function renderText() {
|
|
22651
|
-
var _this$props10 = this.props, startIndex = _this$props10.startIndex, endIndex = _this$props10.endIndex, y2 = _this$props10.y, height = _this$props10.height, travellerWidth = _this$props10.travellerWidth,
|
|
22860
|
+
var _this$props10 = this.props, startIndex = _this$props10.startIndex, endIndex = _this$props10.endIndex, y2 = _this$props10.y, height = _this$props10.height, travellerWidth = _this$props10.travellerWidth, stroke2 = _this$props10.stroke;
|
|
22652
22861
|
var _this$state4 = this.state, startX = _this$state4.startX, endX = _this$state4.endX;
|
|
22653
22862
|
var offset = 5;
|
|
22654
22863
|
var attrs = {
|
|
22655
22864
|
pointerEvents: "none",
|
|
22656
|
-
fill:
|
|
22865
|
+
fill: stroke2
|
|
22657
22866
|
};
|
|
22658
22867
|
return /* @__PURE__ */ React28__namespace.default.createElement(Layer, {
|
|
22659
22868
|
className: "recharts-brush-texts"
|
|
@@ -22690,14 +22899,14 @@ var Brush = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
22690
22899
|
}], [{
|
|
22691
22900
|
key: "renderDefaultTraveller",
|
|
22692
22901
|
value: function renderDefaultTraveller(props) {
|
|
22693
|
-
var x2 = props.x, y2 = props.y, width = props.width, height = props.height,
|
|
22902
|
+
var x2 = props.x, y2 = props.y, width = props.width, height = props.height, stroke2 = props.stroke;
|
|
22694
22903
|
var lineY = Math.floor(y2 + height / 2) - 1;
|
|
22695
22904
|
return /* @__PURE__ */ React28__namespace.default.createElement(React28__namespace.default.Fragment, null, /* @__PURE__ */ React28__namespace.default.createElement("rect", {
|
|
22696
22905
|
x: x2,
|
|
22697
22906
|
y: y2,
|
|
22698
22907
|
width,
|
|
22699
22908
|
height,
|
|
22700
|
-
fill:
|
|
22909
|
+
fill: stroke2,
|
|
22701
22910
|
stroke: "none"
|
|
22702
22911
|
}), /* @__PURE__ */ React28__namespace.default.createElement("line", {
|
|
22703
22912
|
x1: x2 + 1,
|
|
@@ -25212,7 +25421,7 @@ var CartesianAxis = /* @__PURE__ */ (function(_Component) {
|
|
|
25212
25421
|
*/
|
|
25213
25422
|
function renderTicks(ticks2, fontSize, letterSpacing) {
|
|
25214
25423
|
var _this2 = this;
|
|
25215
|
-
var _this$props6 = this.props, tickLine = _this$props6.tickLine,
|
|
25424
|
+
var _this$props6 = this.props, tickLine = _this$props6.tickLine, stroke2 = _this$props6.stroke, tick = _this$props6.tick, tickFormatter = _this$props6.tickFormatter, unit2 = _this$props6.unit;
|
|
25216
25425
|
var finalTicks = getTicks(_objectSpread37(_objectSpread37({}, this.props), {}, {
|
|
25217
25426
|
ticks: ticks2
|
|
25218
25427
|
}), fontSize, letterSpacing);
|
|
@@ -25230,7 +25439,7 @@ var CartesianAxis = /* @__PURE__ */ (function(_Component) {
|
|
|
25230
25439
|
verticalAnchor
|
|
25231
25440
|
}, axisProps), {}, {
|
|
25232
25441
|
stroke: "none",
|
|
25233
|
-
fill:
|
|
25442
|
+
fill: stroke2
|
|
25234
25443
|
}, customTickProps), tickCoord), {}, {
|
|
25235
25444
|
index: i,
|
|
25236
25445
|
payload: entry,
|
|
@@ -28922,13 +29131,13 @@ function ChartMini({
|
|
|
28922
29131
|
className,
|
|
28923
29132
|
style
|
|
28924
29133
|
}) {
|
|
28925
|
-
const
|
|
29134
|
+
const stroke2 = resolveColor(color2, trend);
|
|
28926
29135
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { width, height, ...style }, children: /* @__PURE__ */ jsxRuntime.jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(LineChart, { data, margin: { top: 4, right: 4, bottom: 4, left: 4 }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
28927
29136
|
Line2,
|
|
28928
29137
|
{
|
|
28929
29138
|
type: "monotone",
|
|
28930
29139
|
dataKey: "value",
|
|
28931
|
-
stroke,
|
|
29140
|
+
stroke: stroke2,
|
|
28932
29141
|
strokeWidth: 2,
|
|
28933
29142
|
dot: false,
|
|
28934
29143
|
isAnimationActive: false
|
|
@@ -31101,8 +31310,8 @@ function LoadingIndicator({
|
|
|
31101
31310
|
if (variant === "dot-circle") {
|
|
31102
31311
|
spinner = /* @__PURE__ */ jsxRuntime.jsx(DotCircle, { px });
|
|
31103
31312
|
} else {
|
|
31104
|
-
const
|
|
31105
|
-
const r2 = (px -
|
|
31313
|
+
const stroke2 = borderPx[size];
|
|
31314
|
+
const r2 = (px - stroke2) / 2;
|
|
31106
31315
|
const c2 = 2 * Math.PI * r2;
|
|
31107
31316
|
spinner = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31108
31317
|
"svg",
|
|
@@ -31120,7 +31329,7 @@ function LoadingIndicator({
|
|
|
31120
31329
|
r: r2,
|
|
31121
31330
|
fill: "none",
|
|
31122
31331
|
className: "stroke-bg-quaternary",
|
|
31123
|
-
strokeWidth:
|
|
31332
|
+
strokeWidth: stroke2
|
|
31124
31333
|
}
|
|
31125
31334
|
),
|
|
31126
31335
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -31131,7 +31340,7 @@ function LoadingIndicator({
|
|
|
31131
31340
|
r: r2,
|
|
31132
31341
|
fill: "none",
|
|
31133
31342
|
className: "stroke-fg-brand-primary",
|
|
31134
|
-
strokeWidth:
|
|
31343
|
+
strokeWidth: stroke2,
|
|
31135
31344
|
strokeDasharray: c2,
|
|
31136
31345
|
strokeDashoffset: c2 * 0.75,
|
|
31137
31346
|
strokeLinecap: variant === "line-spinner" ? "round" : "butt"
|
|
@@ -31957,20 +32166,6 @@ function MultiSelect({
|
|
|
31957
32166
|
hint && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("text-sm", invalid ? "text-text-error-primary" : "text-text-tertiary"), children: hint })
|
|
31958
32167
|
] });
|
|
31959
32168
|
}
|
|
31960
|
-
function IconBox({ size = 20, className, children }) {
|
|
31961
|
-
const icon = React28.isValidElement(children) ? React28.cloneElement(children, {
|
|
31962
|
-
viewBox: children.props.viewBox ?? "0 0 24 24",
|
|
31963
|
-
className: clsx_default("w-full h-full", children.props.className)
|
|
31964
|
-
}) : children;
|
|
31965
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31966
|
-
"span",
|
|
31967
|
-
{
|
|
31968
|
-
className: clsx_default("relative flex shrink-0 items-center justify-center", className),
|
|
31969
|
-
style: { width: size, height: size },
|
|
31970
|
-
children: icon
|
|
31971
|
-
}
|
|
31972
|
-
);
|
|
31973
|
-
}
|
|
31974
32169
|
var LayeredAvatar = ({ src, online }) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-flex size-10 shrink-0 rounded-full border-[0.75px] border-border-secondary-alt bg-bg-primary p-[1px] shadow-xs", children: [
|
|
31975
32170
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-full overflow-hidden rounded-full border-[0.5px] border-[rgba(0,0,0,0.16)]", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: "", className: "size-full rounded-full object-cover" }) }),
|
|
31976
32171
|
online !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32376,7 +32571,7 @@ function NumberInput({
|
|
|
32376
32571
|
const dec = () => set2(value - step);
|
|
32377
32572
|
const inc = () => set2(value + step);
|
|
32378
32573
|
const Minus = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.167 10h11.666", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round" }) });
|
|
32379
|
-
const
|
|
32574
|
+
const Plus2 = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 4.167v11.666M4.167 10h11.666", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round" }) });
|
|
32380
32575
|
const Chevron5 = ({ up }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 12 12", fill: "none", className: clsx_default("size-3", up && "rotate-180"), "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 4.5 6 7.5 9 4.5", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
32381
32576
|
const numberEl = /* @__PURE__ */ jsxRuntime.jsx(
|
|
32382
32577
|
"input",
|
|
@@ -32399,7 +32594,7 @@ function NumberInput({
|
|
|
32399
32594
|
const box = layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default(boxClasses(destructive), "gap-0 overflow-hidden p-0"), children: [
|
|
32400
32595
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: dec, disabled, "aria-label": "Decrease", className: "flex items-center justify-center border-r border-border-primary p-2.5 text-fg-quaternary hover:bg-bg-primary-hover disabled:opacity-60", children: Minus }),
|
|
32401
32596
|
numberEl,
|
|
32402
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: inc, disabled, "aria-label": "Increase", className: "flex items-center justify-center border-l border-border-primary p-2.5 text-fg-quaternary hover:bg-bg-primary-hover disabled:opacity-60", children:
|
|
32597
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: inc, disabled, "aria-label": "Increase", className: "flex items-center justify-center border-l border-border-primary p-2.5 text-fg-quaternary hover:bg-bg-primary-hover disabled:opacity-60", children: Plus2 })
|
|
32403
32598
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default(boxClasses(destructive), "gap-0 overflow-hidden p-0"), children: [
|
|
32404
32599
|
numberEl,
|
|
32405
32600
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col self-stretch border-l border-border-primary", children: [
|
|
@@ -32489,8 +32684,8 @@ function PaginationNumberBase({
|
|
|
32489
32684
|
}
|
|
32490
32685
|
);
|
|
32491
32686
|
}
|
|
32492
|
-
var
|
|
32493
|
-
var
|
|
32687
|
+
var ArrowLeft2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.83 10H4.17M4.17 10l5 5M4.17 10l5-5", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
32688
|
+
var ArrowRight2 = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 20 20", fill: "none", className: "size-5", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.17 10h11.66M15.83 10l-5 5M15.83 10l-5-5", stroke: "currentColor", strokeWidth: "1.67", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
32494
32689
|
function PaginationButtonGroupBase({
|
|
32495
32690
|
cellType = "number",
|
|
32496
32691
|
active = false,
|
|
@@ -32519,11 +32714,11 @@ function PaginationButtonGroupBase({
|
|
|
32519
32714
|
),
|
|
32520
32715
|
...rest,
|
|
32521
32716
|
children: [
|
|
32522
|
-
isLeading && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32717
|
+
isLeading && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowLeft2, {})),
|
|
32523
32718
|
(isLeading || isTrailing) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-xxs", children: children ?? (isLeading ? "Previous" : "Next") }),
|
|
32524
|
-
isTrailing && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32719
|
+
isTrailing && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowRight2, {})),
|
|
32525
32720
|
isNumber3 && children,
|
|
32526
|
-
isIcon && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32721
|
+
isIcon && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowRight2, {}))
|
|
32527
32722
|
]
|
|
32528
32723
|
}
|
|
32529
32724
|
);
|
|
@@ -32728,22 +32923,22 @@ function ProgressCircle({
|
|
|
32728
32923
|
size = "xxs",
|
|
32729
32924
|
className
|
|
32730
32925
|
}) {
|
|
32731
|
-
const { d, stroke, valueClass, labelClass } = SPECS[size];
|
|
32926
|
+
const { d, stroke: stroke2, valueClass, labelClass } = SPECS[size];
|
|
32732
32927
|
const isHalf = shape === "half";
|
|
32733
|
-
const geo = ringGeometry(d,
|
|
32928
|
+
const geo = ringGeometry(d, stroke2, value, { arcFraction: isHalf ? 0.5 : 1 });
|
|
32734
32929
|
const center = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center text-center", children: [
|
|
32735
32930
|
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("font-medium text-text-tertiary", labelClass), children: label }),
|
|
32736
32931
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx_default("font-display font-semibold text-text-primary", valueClass), children: valueText ?? `${value}%` })
|
|
32737
32932
|
] });
|
|
32738
32933
|
if (isHalf) {
|
|
32739
|
-
const h = geo.center +
|
|
32934
|
+
const h = geo.center + stroke2;
|
|
32740
32935
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default("relative", className), style: { width: d, height: h }, children: [
|
|
32741
|
-
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: d, height: d, viewBox: `0 0 ${d} ${d}`, className: "absolute left-0 top-0", role: "img", "aria-label": `${value}%`, children: /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `rotate(180 ${geo.center} ${geo.center})`, children: /* @__PURE__ */ jsxRuntime.jsx(RingPair, { geo, stroke, trackClass: "stroke-bg-quaternary", progressClass: "stroke-fg-brand-primary" }) }) }),
|
|
32936
|
+
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: d, height: d, viewBox: `0 0 ${d} ${d}`, className: "absolute left-0 top-0", role: "img", "aria-label": `${value}%`, children: /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `rotate(180 ${geo.center} ${geo.center})`, children: /* @__PURE__ */ jsxRuntime.jsx(RingPair, { geo, stroke: stroke2, trackClass: "stroke-bg-quaternary", progressClass: "stroke-fg-brand-primary" }) }) }),
|
|
32742
32937
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-1/2 -translate-x-1/2", children: center })
|
|
32743
32938
|
] });
|
|
32744
32939
|
}
|
|
32745
32940
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx_default("relative", className), style: { width: d, height: d }, children: [
|
|
32746
|
-
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: d, height: d, viewBox: `0 0 ${d} ${d}`, className: "block", role: "img", "aria-label": `${value}%`, children: /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `rotate(-90 ${geo.center} ${geo.center})`, children: /* @__PURE__ */ jsxRuntime.jsx(RingPair, { geo, stroke, trackClass: "stroke-bg-quaternary", progressClass: "stroke-fg-brand-primary" }) }) }),
|
|
32941
|
+
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: d, height: d, viewBox: `0 0 ${d} ${d}`, className: "block", role: "img", "aria-label": `${value}%`, children: /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `rotate(-90 ${geo.center} ${geo.center})`, children: /* @__PURE__ */ jsxRuntime.jsx(RingPair, { geo, stroke: stroke2, trackClass: "stroke-bg-quaternary", progressClass: "stroke-fg-brand-primary" }) }) }),
|
|
32747
32942
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: center })
|
|
32748
32943
|
] });
|
|
32749
32944
|
}
|
|
@@ -33705,6 +33900,137 @@ function TextEditorTooltip({ children, className, ...rest }) {
|
|
|
33705
33900
|
}
|
|
33706
33901
|
);
|
|
33707
33902
|
}
|
|
33903
|
+
function useTextEditor({
|
|
33904
|
+
placeholder,
|
|
33905
|
+
content,
|
|
33906
|
+
editable = true,
|
|
33907
|
+
onUpdate
|
|
33908
|
+
} = {}) {
|
|
33909
|
+
return react.useEditor({
|
|
33910
|
+
editable,
|
|
33911
|
+
content: content ?? "",
|
|
33912
|
+
extensions: [
|
|
33913
|
+
starterKit.StarterKit.configure({ link: { openOnClick: false } }),
|
|
33914
|
+
extensionTextAlign.TextAlign.configure({ types: ["heading", "paragraph"] }),
|
|
33915
|
+
extensionPlaceholder.Placeholder.configure({ placeholder: placeholder ?? "" })
|
|
33916
|
+
],
|
|
33917
|
+
onUpdate: ({ editor }) => onUpdate?.(editor.getHTML())
|
|
33918
|
+
});
|
|
33919
|
+
}
|
|
33920
|
+
var stroke = {
|
|
33921
|
+
fill: "none",
|
|
33922
|
+
stroke: "currentColor",
|
|
33923
|
+
strokeWidth: 2,
|
|
33924
|
+
strokeLinecap: "round",
|
|
33925
|
+
strokeLinejoin: "round"
|
|
33926
|
+
};
|
|
33927
|
+
var ItalicIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 4h-9M14 20H5M15 4 9 20" }) });
|
|
33928
|
+
var UnderlineIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4v6a6 6 0 0 0 12 0V4M4 21h16" }) });
|
|
33929
|
+
var StrikeIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 12h16M16 7.5A4 3 0 0 0 8 8M8 16.5a4 3 0 0 0 8-.5" }) });
|
|
33930
|
+
var HeadingIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4v16M18 4v16M6 12h12" }) });
|
|
33931
|
+
var BulletListIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01" }) });
|
|
33932
|
+
var OrderedListIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", ...stroke, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 6h10M10 12h10M10 18h10M4 4v4M3 14h2l-2 3h2" }) });
|
|
33933
|
+
var proseClass = clsx_default(
|
|
33934
|
+
"font-body text-sm text-text-primary",
|
|
33935
|
+
"[&_.ProseMirror]:min-h-[80px] [&_.ProseMirror]:outline-none",
|
|
33936
|
+
"[&_.ProseMirror_p]:my-0",
|
|
33937
|
+
"[&_.ProseMirror_ul]:list-disc [&_.ProseMirror_ul]:pl-2xl",
|
|
33938
|
+
"[&_.ProseMirror_ol]:list-decimal [&_.ProseMirror_ol]:pl-2xl",
|
|
33939
|
+
"[&_.ProseMirror_h2]:text-lg [&_.ProseMirror_h2]:font-semibold [&_.ProseMirror_h2]:text-text-primary",
|
|
33940
|
+
"[&_.ProseMirror_a]:text-text-brand-secondary [&_.ProseMirror_a]:underline",
|
|
33941
|
+
// Placeholder (extension adds .is-editor-empty + data-placeholder).
|
|
33942
|
+
"[&_.ProseMirror_p.is-editor-empty:first-child]:before:pointer-events-none",
|
|
33943
|
+
"[&_.ProseMirror_p.is-editor-empty:first-child]:before:float-left",
|
|
33944
|
+
"[&_.ProseMirror_p.is-editor-empty:first-child]:before:h-0",
|
|
33945
|
+
"[&_.ProseMirror_p.is-editor-empty:first-child]:before:text-text-placeholder",
|
|
33946
|
+
"[&_.ProseMirror_p.is-editor-empty:first-child]:before:content-[attr(data-placeholder)]"
|
|
33947
|
+
);
|
|
33948
|
+
function TextEditor({
|
|
33949
|
+
placeholder,
|
|
33950
|
+
content,
|
|
33951
|
+
onUpdate,
|
|
33952
|
+
disabled = false,
|
|
33953
|
+
className
|
|
33954
|
+
}) {
|
|
33955
|
+
const editor = useTextEditor({ placeholder, content, editable: !disabled, onUpdate });
|
|
33956
|
+
React28.useEffect(() => {
|
|
33957
|
+
editor?.setEditable(!disabled);
|
|
33958
|
+
}, [editor, disabled]);
|
|
33959
|
+
const isActive = (name, attrs) => editor?.isActive(name, attrs) ?? false;
|
|
33960
|
+
const setLink = () => {
|
|
33961
|
+
if (!editor) return;
|
|
33962
|
+
const prev = editor.getAttributes("link").href ?? "";
|
|
33963
|
+
const url = window.prompt("Link URL", prev);
|
|
33964
|
+
if (url === null) return;
|
|
33965
|
+
const chain = editor.chain().focus().extendMarkRange("link");
|
|
33966
|
+
if (url === "") chain.unsetLink().run();
|
|
33967
|
+
else chain.setLink({ href: url }).run();
|
|
33968
|
+
};
|
|
33969
|
+
const ToolbarButton = ({
|
|
33970
|
+
label,
|
|
33971
|
+
icon,
|
|
33972
|
+
active,
|
|
33973
|
+
onRun
|
|
33974
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33975
|
+
ButtonUtility,
|
|
33976
|
+
{
|
|
33977
|
+
variant: "ghost",
|
|
33978
|
+
label,
|
|
33979
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: 20, children: icon }),
|
|
33980
|
+
"aria-pressed": active,
|
|
33981
|
+
disabled: disabled || !editor,
|
|
33982
|
+
className: active ? "!bg-bg-secondary !text-fg-secondary" : void 0,
|
|
33983
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
33984
|
+
onClick: onRun
|
|
33985
|
+
}
|
|
33986
|
+
);
|
|
33987
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33988
|
+
"div",
|
|
33989
|
+
{
|
|
33990
|
+
className: clsx_default(
|
|
33991
|
+
"relative flex flex-col overflow-hidden rounded-xl border border-border-primary bg-bg-primary",
|
|
33992
|
+
"focus-within:ring-2 focus-within:ring-border-brand",
|
|
33993
|
+
disabled && "opacity-60",
|
|
33994
|
+
className
|
|
33995
|
+
),
|
|
33996
|
+
children: [
|
|
33997
|
+
/* @__PURE__ */ jsxRuntime.jsxs(TextEditorToolbar, { className: "w-full !rounded-none !border-l-0 !border-r-0 !border-t-0 !shadow-none", children: [
|
|
33998
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Bold", icon: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.Bold01, {}), active: isActive("bold"), onRun: () => editor?.chain().focus().toggleBold().run() }),
|
|
33999
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Italic", icon: /* @__PURE__ */ jsxRuntime.jsx(ItalicIcon, {}), active: isActive("italic"), onRun: () => editor?.chain().focus().toggleItalic().run() }),
|
|
34000
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Underline", icon: /* @__PURE__ */ jsxRuntime.jsx(UnderlineIcon, {}), active: isActive("underline"), onRun: () => editor?.chain().focus().toggleUnderline().run() }),
|
|
34001
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Strikethrough", icon: /* @__PURE__ */ jsxRuntime.jsx(StrikeIcon, {}), active: isActive("strike"), onRun: () => editor?.chain().focus().toggleStrike().run() }),
|
|
34002
|
+
/* @__PURE__ */ jsxRuntime.jsx(TextEditorToolbarDivider, {}),
|
|
34003
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Heading", icon: /* @__PURE__ */ jsxRuntime.jsx(HeadingIcon, {}), active: isActive("heading", { level: 2 }), onRun: () => editor?.chain().focus().toggleHeading({ level: 2 }).run() }),
|
|
34004
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Bullet list", icon: /* @__PURE__ */ jsxRuntime.jsx(BulletListIcon, {}), active: isActive("bulletList"), onRun: () => editor?.chain().focus().toggleBulletList().run() }),
|
|
34005
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Ordered list", icon: /* @__PURE__ */ jsxRuntime.jsx(OrderedListIcon, {}), active: isActive("orderedList"), onRun: () => editor?.chain().focus().toggleOrderedList().run() }),
|
|
34006
|
+
/* @__PURE__ */ jsxRuntime.jsx(TextEditorToolbarDivider, {}),
|
|
34007
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Align left", icon: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.AlignLeft, {}), active: editor?.isActive({ textAlign: "left" }) ?? false, onRun: () => editor?.chain().focus().setTextAlign("left").run() }),
|
|
34008
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Align center", icon: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.AlignCenter, {}), active: editor?.isActive({ textAlign: "center" }) ?? false, onRun: () => editor?.chain().focus().setTextAlign("center").run() }),
|
|
34009
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Align right", icon: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.AlignRight, {}), active: editor?.isActive({ textAlign: "right" }) ?? false, onRun: () => editor?.chain().focus().setTextAlign("right").run() }),
|
|
34010
|
+
/* @__PURE__ */ jsxRuntime.jsx(TextEditorToolbarDivider, {}),
|
|
34011
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { label: "Link", icon: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.Link01, {}), active: isActive("link"), onRun: setLink })
|
|
34012
|
+
] }),
|
|
34013
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative min-h-[120px] px-3xl py-2xl", children: [
|
|
34014
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.EditorContent, { editor, className: proseClass }),
|
|
34015
|
+
editor?.isActive("link") && /* @__PURE__ */ jsxRuntime.jsxs(TextEditorTooltip, { className: "absolute right-3xl top-md z-10", children: [
|
|
34016
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[160px] truncate px-xs text-xs text-text-secondary", children: String(editor.getAttributes("link").href ?? "") }),
|
|
34017
|
+
/* @__PURE__ */ jsxRuntime.jsx(ButtonUtility, { variant: "ghost", size: "xs", label: "Edit link", icon: /* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: 16, children: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.Link01, {}) }), onClick: setLink }),
|
|
34018
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34019
|
+
ButtonUtility,
|
|
34020
|
+
{
|
|
34021
|
+
variant: "ghost",
|
|
34022
|
+
size: "xs",
|
|
34023
|
+
label: "Remove link",
|
|
34024
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(IconBox, { size: 16, children: /* @__PURE__ */ jsxRuntime.jsx(bvDsIcons.XClose, {}) }),
|
|
34025
|
+
onClick: () => editor.chain().focus().extendMarkRange("link").unsetLink().run()
|
|
34026
|
+
}
|
|
34027
|
+
)
|
|
34028
|
+
] })
|
|
34029
|
+
] })
|
|
34030
|
+
]
|
|
34031
|
+
}
|
|
34032
|
+
);
|
|
34033
|
+
}
|
|
33708
34034
|
function TextareaInputField({
|
|
33709
34035
|
size = "md",
|
|
33710
34036
|
label,
|
|
@@ -34098,6 +34424,7 @@ exports.ButtonDestructive = ButtonDestructive;
|
|
|
34098
34424
|
exports.ButtonGroup = ButtonGroup;
|
|
34099
34425
|
exports.ButtonGroupSegment = ButtonGroupSegment;
|
|
34100
34426
|
exports.ButtonUtility = ButtonUtility;
|
|
34427
|
+
exports.Calendar = Calendar;
|
|
34101
34428
|
exports.CalendarCell = CalendarCell;
|
|
34102
34429
|
exports.CalendarCellDayWeekView = CalendarCellDayWeekView;
|
|
34103
34430
|
exports.CalendarColumnHeader = CalendarColumnHeader;
|
|
@@ -34217,6 +34544,7 @@ exports.TableHeaderLabel = TableHeaderLabel;
|
|
|
34217
34544
|
exports.Tabs = Tabs;
|
|
34218
34545
|
exports.Tag = Tag;
|
|
34219
34546
|
exports.TagsInputField = TagsInputField;
|
|
34547
|
+
exports.TextEditor = TextEditor;
|
|
34220
34548
|
exports.TextEditorToolbar = TextEditorToolbar;
|
|
34221
34549
|
exports.TextEditorToolbarDivider = TextEditorToolbarDivider;
|
|
34222
34550
|
exports.TextEditorTooltip = TextEditorTooltip;
|
|
@@ -34230,5 +34558,6 @@ exports.TreeViewItem = TreeViewItem;
|
|
|
34230
34558
|
exports.VerificationCodeInput = VerificationCodeInput;
|
|
34231
34559
|
exports.illustrations = illustrations_exports;
|
|
34232
34560
|
exports.useContextMenu = useContextMenu;
|
|
34561
|
+
exports.useTextEditor = useTextEditor;
|
|
34233
34562
|
//# sourceMappingURL=index.cjs.map
|
|
34234
34563
|
//# sourceMappingURL=index.cjs.map
|