northline 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/components/BottomNav.d.ts +12 -0
- package/dist/components/Canvas.d.ts +8 -0
- package/dist/components/Icon.d.ts +1 -1
- package/dist/components/Navbar.d.ts +8 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +102 -34
- package/dist/index.js.map +1 -1
- package/dist/theme.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -119,6 +119,32 @@ theme change. If you need charts to follow the theme too, re-create the
|
|
|
119
119
|
chart (or update its options) when `data-theme`/`prefers-color-scheme`
|
|
120
120
|
changes.
|
|
121
121
|
|
|
122
|
+
## Responsiveness
|
|
123
|
+
|
|
124
|
+
One breakpoint, 640px (roughly phone-width), covers the patterns that
|
|
125
|
+
actually needed it:
|
|
126
|
+
|
|
127
|
+
- `ScoreCard`'s grid (`.scorecards`) drops from a fixed 4 columns to
|
|
128
|
+
`auto-fit` (min 150px) instead of squishing.
|
|
129
|
+
- `Table`/`.nl-table-wrap` scrolls horizontally instead of clipping content.
|
|
130
|
+
- `Navbar`'s `items` menu collapses behind a hamburger toggle instead of
|
|
131
|
+
wrapping/overflowing; `BottomNav` appears (it's `display: none` above the
|
|
132
|
+
breakpoint).
|
|
133
|
+
- `ChartCard` drops its 320px `min-width` floor so it doesn't force page-level
|
|
134
|
+
horizontal scroll.
|
|
135
|
+
- `Modal`/`Drawer` go full-bleed; `Pagination`/`SegmentedControl` wrap;
|
|
136
|
+
`Stepper` scrolls horizontally rather than overflowing.
|
|
137
|
+
|
|
138
|
+
For the mobile primary-navigation pattern, pair `Canvas` + `Navbar` (brand +
|
|
139
|
+
actions only, or omit `items` since `BottomNav` is the primary nav on
|
|
140
|
+
phones) + `BottomNav`, rather than `Sidebar` (a persistent rail doesn't fit
|
|
141
|
+
a phone viewport - it isn't auto-hidden for you, since some apps do want it
|
|
142
|
+
on tablet-width screens; hide/show it yourself based on viewport if needed).
|
|
143
|
+
|
|
144
|
+
Everything else - `Stack`/`Grid`/`Container` sizes, flex-wrapping button
|
|
145
|
+
rows, etc - was already responsive by construction (flexbox/grid with
|
|
146
|
+
sensible min-widths), not by a breakpoint override.
|
|
147
|
+
|
|
122
148
|
## Components
|
|
123
149
|
|
|
124
150
|
| Component | Purpose |
|
|
@@ -191,7 +217,9 @@ Generic, non-dashboard-specific primitives (typography/layout, feedback, remaini
|
|
|
191
217
|
| `CodeBlock` | Monospace code snippet frame with optional language tag + copy button |
|
|
192
218
|
| `Kbd` | Keyboard-shortcut chip |
|
|
193
219
|
| `Tree` | Nested expandable hierarchy (file trees, category trees) |
|
|
194
|
-
| `
|
|
220
|
+
| `Canvas` | Full-viewport app shell wrapper (background + flex column) - mount `Navbar`/routed content/`BottomNav` inside it |
|
|
221
|
+
| `Navbar` | App header bar: brand, an optional `items` nav menu (collapses behind a hamburger under 640px), and arbitrary actions |
|
|
222
|
+
| `BottomNav` | Fixed mobile bottom tab bar (icon + label), hidden above 640px - the mobile counterpart to `Navbar`'s menu/`Sidebar` |
|
|
195
223
|
| `Sidebar` | Persistent side navigation rail, with a `collapsed` icon-only mode |
|
|
196
224
|
| `ButtonGroup` | Visually merges adjacent `Button`s into one segmented-looking group |
|
|
197
225
|
| `ColorPicker` | Preset swatch grid plus a native color input for anything else |
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface BottomNavItem {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
icon: ReactNode;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface BottomNavProps {
|
|
9
|
+
items: BottomNavItem[];
|
|
10
|
+
activeId?: string;
|
|
11
|
+
}
|
|
12
|
+
export default function BottomNav({ items, activeId }: BottomNavProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export interface CanvasProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
/** Escape hatch, e.g. to constrain height when embedding a Canvas demo inside another layout. */
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
export default function Canvas({ children, className, style }: CanvasProps): import('react').JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type IconName = 'close' | 'check' | 'chevron-left' | 'chevron-right' | 'kebab' | 'drag-handle' | 'copy' | 'trash' | 'plus' | 'minus' | 'upload' | 'star' | 'info' | 'warning' | 'settings' | 'inbox' | 'search' | 'calendar' | 'eye' | 'eye-off';
|
|
1
|
+
export type IconName = 'close' | 'check' | 'chevron-left' | 'chevron-right' | 'kebab' | 'drag-handle' | 'copy' | 'trash' | 'plus' | 'minus' | 'upload' | 'star' | 'info' | 'warning' | 'settings' | 'inbox' | 'search' | 'calendar' | 'eye' | 'eye-off' | 'menu' | 'home';
|
|
2
2
|
export interface IconProps {
|
|
3
3
|
name: IconName;
|
|
4
4
|
size?: number;
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
export interface NavbarItem {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
}
|
|
2
7
|
export interface NavbarProps {
|
|
3
8
|
brand?: ReactNode;
|
|
9
|
+
items?: NavbarItem[];
|
|
10
|
+
activeId?: string;
|
|
4
11
|
children?: ReactNode;
|
|
5
12
|
sticky?: boolean;
|
|
6
13
|
}
|
|
7
|
-
export default function Navbar({ brand, children, sticky }: NavbarProps): import('react').JSX.Element;
|
|
14
|
+
export default function Navbar({ brand, items, activeId, children, sticky }: NavbarProps): import('react').JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -61,7 +61,9 @@ export { default as AvatarGroup } from './components/AvatarGroup';
|
|
|
61
61
|
export { default as CodeBlock } from './components/CodeBlock';
|
|
62
62
|
export { default as Kbd } from './components/Kbd';
|
|
63
63
|
export { default as Tree } from './components/Tree';
|
|
64
|
+
export { default as Canvas } from './components/Canvas';
|
|
64
65
|
export { default as Navbar } from './components/Navbar';
|
|
66
|
+
export { default as BottomNav } from './components/BottomNav';
|
|
65
67
|
export { default as Sidebar } from './components/Sidebar';
|
|
66
68
|
export { default as ButtonGroup } from './components/ButtonGroup';
|
|
67
69
|
export { default as ColorPicker } from './components/ColorPicker';
|
package/dist/index.js
CHANGED
|
@@ -208,7 +208,16 @@ var v = {
|
|
|
208
208
|
/* @__PURE__ */ t("path", { d: "M3 3l18 18" }),
|
|
209
209
|
/* @__PURE__ */ t("path", { d: "M10.6 5.2A10.6 10.6 0 0 1 12 5c6.5 0 10 7 10 7a15.6 15.6 0 0 1-3.4 4.3M6.6 6.6A15.7 15.7 0 0 0 2 12s3.5 7 10 7a10.4 10.4 0 0 0 3.4-.6" }),
|
|
210
210
|
/* @__PURE__ */ t("path", { d: "M9.9 9.9a3 3 0 0 0 4.2 4.2" })
|
|
211
|
-
] })
|
|
211
|
+
] }),
|
|
212
|
+
menu: /* @__PURE__ */ n(e, { children: [
|
|
213
|
+
/* @__PURE__ */ t("path", { d: "M4 6h16" }),
|
|
214
|
+
/* @__PURE__ */ t("path", { d: "M4 12h16" }),
|
|
215
|
+
/* @__PURE__ */ t("path", { d: "M4 18h16" })
|
|
216
|
+
] }),
|
|
217
|
+
home: /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("path", { d: "M4 11l8-7 8 7" }), /* @__PURE__ */ t("path", {
|
|
218
|
+
d: "M6 9.5V20a1 1 0 0 0 1 1h4v-6h2v6h4a1 1 0 0 0 1-1V9.5",
|
|
219
|
+
strokeLinejoin: "round"
|
|
220
|
+
})] })
|
|
212
221
|
};
|
|
213
222
|
function y({ name: e, size: n = 16, color: r = "currentColor", filled: i = !1 }) {
|
|
214
223
|
return /* @__PURE__ */ t("svg", {
|
|
@@ -2148,22 +2157,81 @@ function $e({ nodes: e, defaultExpandedIds: n = [], onSelect: r, selectedId: i }
|
|
|
2148
2157
|
});
|
|
2149
2158
|
}
|
|
2150
2159
|
//#endregion
|
|
2160
|
+
//#region src/components/Canvas.tsx
|
|
2161
|
+
function et({ children: e, className: n, style: r }) {
|
|
2162
|
+
return /* @__PURE__ */ t("div", {
|
|
2163
|
+
className: `nl-canvas${n ? ` ${n}` : ""}`,
|
|
2164
|
+
style: r,
|
|
2165
|
+
children: e
|
|
2166
|
+
});
|
|
2167
|
+
}
|
|
2168
|
+
//#endregion
|
|
2151
2169
|
//#region src/components/Navbar.tsx
|
|
2152
|
-
function
|
|
2170
|
+
function tt({ brand: e, items: r, activeId: i, children: a, sticky: o = !1 }) {
|
|
2171
|
+
let [s, c] = d(!1);
|
|
2153
2172
|
return /* @__PURE__ */ n("header", {
|
|
2154
|
-
className: `navbar${
|
|
2155
|
-
children: [
|
|
2156
|
-
className: "
|
|
2157
|
-
children:
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2173
|
+
className: `navbar${o ? " navbar--sticky" : ""}`,
|
|
2174
|
+
children: [/* @__PURE__ */ n("div", {
|
|
2175
|
+
className: "navbar__row",
|
|
2176
|
+
children: [
|
|
2177
|
+
e && /* @__PURE__ */ t("div", {
|
|
2178
|
+
className: "navbar__brand",
|
|
2179
|
+
children: e
|
|
2180
|
+
}),
|
|
2181
|
+
r && r.length > 0 && /* @__PURE__ */ t("button", {
|
|
2182
|
+
type: "button",
|
|
2183
|
+
className: "navbar__menu-toggle",
|
|
2184
|
+
"aria-label": s ? "Close menu" : "Open menu",
|
|
2185
|
+
"aria-expanded": s,
|
|
2186
|
+
onClick: () => c((e) => !e),
|
|
2187
|
+
children: /* @__PURE__ */ t(y, {
|
|
2188
|
+
name: s ? "close" : "menu",
|
|
2189
|
+
size: 18
|
|
2190
|
+
})
|
|
2191
|
+
}),
|
|
2192
|
+
/* @__PURE__ */ t("div", {
|
|
2193
|
+
className: "navbar__actions",
|
|
2194
|
+
children: a
|
|
2195
|
+
})
|
|
2196
|
+
]
|
|
2197
|
+
}), r && r.length > 0 && /* @__PURE__ */ t("nav", {
|
|
2198
|
+
className: `navbar__menu${s ? " navbar__menu--open" : ""}`,
|
|
2199
|
+
"aria-label": "Primary",
|
|
2200
|
+
children: r.map((e) => /* @__PURE__ */ t("button", {
|
|
2201
|
+
type: "button",
|
|
2202
|
+
className: `navbar__menu-item${e.id === i ? " navbar__menu-item--active" : ""}`,
|
|
2203
|
+
onClick: () => {
|
|
2204
|
+
c(!1), e.onClick?.();
|
|
2205
|
+
},
|
|
2206
|
+
children: e.label
|
|
2207
|
+
}, e.id))
|
|
2161
2208
|
})]
|
|
2162
2209
|
});
|
|
2163
2210
|
}
|
|
2164
2211
|
//#endregion
|
|
2212
|
+
//#region src/components/BottomNav.tsx
|
|
2213
|
+
function nt({ items: e, activeId: r }) {
|
|
2214
|
+
return /* @__PURE__ */ t("nav", {
|
|
2215
|
+
className: "bottom-nav",
|
|
2216
|
+
"aria-label": "Primary",
|
|
2217
|
+
children: e.map((e) => /* @__PURE__ */ n("button", {
|
|
2218
|
+
type: "button",
|
|
2219
|
+
className: `bottom-nav__item${e.id === r ? " bottom-nav__item--active" : ""}`,
|
|
2220
|
+
"aria-current": e.id === r ? "page" : void 0,
|
|
2221
|
+
onClick: e.onClick,
|
|
2222
|
+
children: [/* @__PURE__ */ t("span", {
|
|
2223
|
+
className: "bottom-nav__icon",
|
|
2224
|
+
children: e.icon
|
|
2225
|
+
}), /* @__PURE__ */ t("span", {
|
|
2226
|
+
className: "bottom-nav__label",
|
|
2227
|
+
children: e.label
|
|
2228
|
+
})]
|
|
2229
|
+
}, e.id))
|
|
2230
|
+
});
|
|
2231
|
+
}
|
|
2232
|
+
//#endregion
|
|
2165
2233
|
//#region src/components/Sidebar.tsx
|
|
2166
|
-
function
|
|
2234
|
+
function rt({ items: e, activeId: r, collapsed: i = !1, header: a }) {
|
|
2167
2235
|
return /* @__PURE__ */ n("nav", {
|
|
2168
2236
|
className: `sidebar${i ? " sidebar--collapsed" : ""}`,
|
|
2169
2237
|
children: [a && /* @__PURE__ */ t("div", {
|
|
@@ -2189,7 +2257,7 @@ function tt({ items: e, activeId: r, collapsed: i = !1, header: a }) {
|
|
|
2189
2257
|
}
|
|
2190
2258
|
//#endregion
|
|
2191
2259
|
//#region src/components/ButtonGroup.tsx
|
|
2192
|
-
function
|
|
2260
|
+
function it({ children: e }) {
|
|
2193
2261
|
return /* @__PURE__ */ t("div", {
|
|
2194
2262
|
className: "button-group",
|
|
2195
2263
|
children: e
|
|
@@ -2197,7 +2265,7 @@ function nt({ children: e }) {
|
|
|
2197
2265
|
}
|
|
2198
2266
|
//#endregion
|
|
2199
2267
|
//#region src/components/ColorPicker.tsx
|
|
2200
|
-
var
|
|
2268
|
+
var at = [
|
|
2201
2269
|
"#8FB4F5",
|
|
2202
2270
|
"#7FD8C9",
|
|
2203
2271
|
"#C9A8F0",
|
|
@@ -2205,7 +2273,7 @@ var rt = [
|
|
|
2205
2273
|
"#F19A9A",
|
|
2206
2274
|
"#8FCB9E"
|
|
2207
2275
|
];
|
|
2208
|
-
function
|
|
2276
|
+
function ot({ value: e, onChange: r, swatches: i = at, label: a = "Color" }) {
|
|
2209
2277
|
return /* @__PURE__ */ n("div", {
|
|
2210
2278
|
className: "color-picker",
|
|
2211
2279
|
role: "group",
|
|
@@ -2230,7 +2298,7 @@ function it({ value: e, onChange: r, swatches: i = rt, label: a = "Color" }) {
|
|
|
2230
2298
|
}
|
|
2231
2299
|
//#endregion
|
|
2232
2300
|
//#region src/components/PasswordInput.tsx
|
|
2233
|
-
function
|
|
2301
|
+
function st({ label: e, value: r, onChange: i, placeholder: a, disabled: o = !1, error: s = !1, hint: l, id: u, autoComplete: f = "current-password" }) {
|
|
2234
2302
|
let [p, m] = d(!1), h = c(), g = u ?? h;
|
|
2235
2303
|
return /* @__PURE__ */ n("div", {
|
|
2236
2304
|
className: `field${s ? " field--error" : ""}`,
|
|
@@ -2273,7 +2341,7 @@ function at({ label: e, value: r, onChange: i, placeholder: a, disabled: o = !1,
|
|
|
2273
2341
|
}
|
|
2274
2342
|
//#endregion
|
|
2275
2343
|
//#region src/components/OTPInput.tsx
|
|
2276
|
-
function
|
|
2344
|
+
function ct({ length: e = 6, value: n, onChange: r, disabled: i = !1, label: a = "Verification code" }) {
|
|
2277
2345
|
let o = u([]), s = Array.from({ length: e }, (e, t) => n[t] ?? ""), c = (t, n) => {
|
|
2278
2346
|
let i = s.slice();
|
|
2279
2347
|
i[t] = n, r(i.join("").slice(0, e));
|
|
@@ -2309,7 +2377,7 @@ function ot({ length: e = 6, value: n, onChange: r, disabled: i = !1, label: a =
|
|
|
2309
2377
|
}
|
|
2310
2378
|
//#endregion
|
|
2311
2379
|
//#region src/components/LoadingOverlay.tsx
|
|
2312
|
-
function
|
|
2380
|
+
function lt({ active: e, children: r, label: i = "Loading" }) {
|
|
2313
2381
|
return /* @__PURE__ */ n("div", {
|
|
2314
2382
|
className: "loading-overlay",
|
|
2315
2383
|
children: [r, e && /* @__PURE__ */ t("div", {
|
|
@@ -2322,7 +2390,7 @@ function st({ active: e, children: r, label: i = "Loading" }) {
|
|
|
2322
2390
|
}
|
|
2323
2391
|
//#endregion
|
|
2324
2392
|
//#region src/components/ErrorBoundary.tsx
|
|
2325
|
-
var
|
|
2393
|
+
var ut = class extends r {
|
|
2326
2394
|
state = { error: null };
|
|
2327
2395
|
static getDerivedStateFromError(e) {
|
|
2328
2396
|
return { error: e };
|
|
@@ -2353,7 +2421,7 @@ var ct = class extends r {
|
|
|
2353
2421
|
};
|
|
2354
2422
|
//#endregion
|
|
2355
2423
|
//#region src/components/Carousel.tsx
|
|
2356
|
-
function
|
|
2424
|
+
function dt({ items: r, autoPlay: i = !1, interval: a = 4e3 }) {
|
|
2357
2425
|
let [o, c] = d(0);
|
|
2358
2426
|
if (s(() => {
|
|
2359
2427
|
if (!i || r.length <= 1) return;
|
|
@@ -2407,12 +2475,12 @@ function lt({ items: r, autoPlay: i = !1, interval: a = 4e3 }) {
|
|
|
2407
2475
|
}
|
|
2408
2476
|
//#endregion
|
|
2409
2477
|
//#region src/components/Portal.tsx
|
|
2410
|
-
function
|
|
2478
|
+
function ft({ children: e }) {
|
|
2411
2479
|
return typeof document > "u" ? null : f(e, document.body);
|
|
2412
2480
|
}
|
|
2413
2481
|
//#endregion
|
|
2414
2482
|
//#region src/hooks/useClickOutside.ts
|
|
2415
|
-
function
|
|
2483
|
+
function pt(e, t, n = !0) {
|
|
2416
2484
|
s(() => {
|
|
2417
2485
|
if (!n) return;
|
|
2418
2486
|
let r = (n) => {
|
|
@@ -2431,7 +2499,7 @@ function dt(e, t, n = !0) {
|
|
|
2431
2499
|
}
|
|
2432
2500
|
//#endregion
|
|
2433
2501
|
//#region src/chartTheme.ts
|
|
2434
|
-
var
|
|
2502
|
+
var mt = [
|
|
2435
2503
|
"#8FB4F5",
|
|
2436
2504
|
"#7FD8C9",
|
|
2437
2505
|
"#C9A8F0",
|
|
@@ -2468,7 +2536,7 @@ function Z() {
|
|
|
2468
2536
|
}
|
|
2469
2537
|
};
|
|
2470
2538
|
}
|
|
2471
|
-
var
|
|
2539
|
+
var ht = Z().axisColor, gt = Z().gridColor, _t = {
|
|
2472
2540
|
...Z().tooltip,
|
|
2473
2541
|
borderWidth: 1,
|
|
2474
2542
|
padding: 8,
|
|
@@ -2507,7 +2575,7 @@ var $ = {
|
|
|
2507
2575
|
family: "'IBM Plex Mono', monospace"
|
|
2508
2576
|
}
|
|
2509
2577
|
};
|
|
2510
|
-
function
|
|
2578
|
+
function vt(e) {
|
|
2511
2579
|
if (typeof window > "u") return () => {};
|
|
2512
2580
|
let t = window.matchMedia("(prefers-color-scheme: dark)");
|
|
2513
2581
|
t.addEventListener("change", e);
|
|
@@ -2519,7 +2587,7 @@ function gt(e) {
|
|
|
2519
2587
|
t.removeEventListener("change", e), n.disconnect();
|
|
2520
2588
|
};
|
|
2521
2589
|
}
|
|
2522
|
-
function
|
|
2590
|
+
function yt(e, { rotateXTicks: t = !1, maxTicks: n, longLabels: r = !1 } = {}) {
|
|
2523
2591
|
let { gridColor: i, axisColor: a } = Z();
|
|
2524
2592
|
return {
|
|
2525
2593
|
responsive: !0,
|
|
@@ -2580,7 +2648,7 @@ function _t(e, { rotateXTicks: t = !1, maxTicks: n, longLabels: r = !1 } = {}) {
|
|
|
2580
2648
|
}
|
|
2581
2649
|
};
|
|
2582
2650
|
}
|
|
2583
|
-
function
|
|
2651
|
+
function bt({ cutout: e = "65%", showLegend: t = !0 } = {}) {
|
|
2584
2652
|
return {
|
|
2585
2653
|
responsive: !0,
|
|
2586
2654
|
maintainAspectRatio: !1,
|
|
@@ -2598,7 +2666,7 @@ function vt({ cutout: e = "65%", showLegend: t = !0 } = {}) {
|
|
|
2598
2666
|
}
|
|
2599
2667
|
};
|
|
2600
2668
|
}
|
|
2601
|
-
function
|
|
2669
|
+
function xt({ maxTicks: e, beginAtZero: t = !0 } = {}) {
|
|
2602
2670
|
let { gridColor: n, axisColor: r } = Z();
|
|
2603
2671
|
return {
|
|
2604
2672
|
indexAxis: "y",
|
|
@@ -2632,7 +2700,7 @@ function yt({ maxTicks: e, beginAtZero: t = !0 } = {}) {
|
|
|
2632
2700
|
}
|
|
2633
2701
|
};
|
|
2634
2702
|
}
|
|
2635
|
-
function
|
|
2703
|
+
function St({ maxTicks: e, beginAtZero: t = !0, unit: n = "" } = {}) {
|
|
2636
2704
|
let { gridColor: r, axisColor: i } = Z();
|
|
2637
2705
|
return {
|
|
2638
2706
|
responsive: !0,
|
|
@@ -2671,7 +2739,7 @@ function bt({ maxTicks: e, beginAtZero: t = !0, unit: n = "" } = {}) {
|
|
|
2671
2739
|
}
|
|
2672
2740
|
};
|
|
2673
2741
|
}
|
|
2674
|
-
function
|
|
2742
|
+
function Ct({ maxTicks: e, rotateXTicks: t = !1 } = {}) {
|
|
2675
2743
|
let { gridColor: n, axisColor: r } = Z();
|
|
2676
2744
|
return {
|
|
2677
2745
|
responsive: !0,
|
|
@@ -2718,7 +2786,7 @@ function xt({ maxTicks: e, rotateXTicks: t = !1 } = {}) {
|
|
|
2718
2786
|
}
|
|
2719
2787
|
};
|
|
2720
2788
|
}
|
|
2721
|
-
function
|
|
2789
|
+
function wt() {
|
|
2722
2790
|
let { gridColor: e, axisColor: t } = Z();
|
|
2723
2791
|
return {
|
|
2724
2792
|
responsive: !0,
|
|
@@ -2749,7 +2817,7 @@ function St() {
|
|
|
2749
2817
|
} }
|
|
2750
2818
|
};
|
|
2751
2819
|
}
|
|
2752
|
-
function
|
|
2820
|
+
function Tt(e, t, n) {
|
|
2753
2821
|
return e.map((r, i) => {
|
|
2754
2822
|
let a = Math.max(0, i - n + 1), o = e.slice(a, i + 1).filter((e) => e[t] != null);
|
|
2755
2823
|
if (!o.length) return null;
|
|
@@ -2759,11 +2827,11 @@ function Ct(e, t, n) {
|
|
|
2759
2827
|
}
|
|
2760
2828
|
//#endregion
|
|
2761
2829
|
//#region src/chartSetup.ts
|
|
2762
|
-
var
|
|
2763
|
-
function
|
|
2764
|
-
|
|
2830
|
+
var Et = !1;
|
|
2831
|
+
function Dt() {
|
|
2832
|
+
Et || (Et = !0, p.register(...m, h), p.defaults.set("plugins.datalabels", { display: !1 }));
|
|
2765
2833
|
}
|
|
2766
2834
|
//#endregion
|
|
2767
|
-
export {
|
|
2835
|
+
export { ht as AXIS_COLOR, Y as AXIS_TICK_FONT, me as Accordion, K as Alert, H as Avatar, Xe as AvatarGroup, j as Badge, nt as BottomNav, se as Breadcrumbs, ve as BulletChart, A as Button, it as ButtonGroup, et as Canvas, fe as Card, dt as Carousel, x as ChartCard, ge as ChartLegend, z as Checkbox, Ze as CodeBlock, ot as ColorPicker, ze as Combobox, ke as Container, W as CopyButton, Ke as DatePicker, O as DateRangePicker, Ee as DescriptionList, Ne as Divider, xe as Drawer, pe as EmptyState, ut as ErrorBoundary, Re as Fieldset, Ve as FileUpload, gt as GRID_COLOR, le as Gauge, Me as Grid, je as HStack, Oe as Heading, y as Icon, Ie as IconButton, b as InfoTooltip, M as Input, Qe as Kbd, Pe as Link, Je as List, lt as LoadingOverlay, ie as Menu, _e as MiniBar, P as Modal, tt as Navbar, Be as NumberStepper, ct as OTPInput, mt as PALETTE, oe as Pagination, st as PasswordInput, Se as Popover, ft as Portal, ce as ProgressBar, B as Radio, te as RadioGroup, qe as Rating, _ as ScoreCard, we as SearchInput, he as SegmentedControl, S as Select, rt as Sidebar, re as Skeleton, ye as Slider, g as Sparkline, U as Spinner, G as Stack, Te as StatusDot, be as Stepper, ee as Switch, _t as TOOLTIP_OPTS, N as Table, k as Tabs, Ce as TagInput, De as Text, ne as Textarea, Ye as Timeline, L as ToastProvider, Le as Tooltip, $e as Tree, Ae as VStack, St as areaOptions, bt as donutOptions, yt as dualAxisOptions, Z as getChartColors, xt as horizontalBarOptions, Dt as installCharts, vt as onThemeChange, wt as radarOptions, Tt as rollingAverage, Ct as stackedBarOptions, pt as useClickOutside, R as useToast };
|
|
2768
2836
|
|
|
2769
2837
|
//# sourceMappingURL=index.js.map
|