@tollerud/ui 1.1.4 → 3.0.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/AGENTS.md +34 -11
- package/CHANGELOG.md +376 -0
- package/COMPONENTS.md +951 -0
- package/GETTING_STARTED.md +159 -0
- package/README.md +51 -43
- package/SKILL.md +55 -19
- package/components.json +18 -0
- package/dist/accordion.d.ts +20 -0
- package/dist/accordion.js +5 -0
- package/dist/accordion.js.map +1 -0
- package/dist/action-diff.d.ts +26 -0
- package/dist/action-diff.js +5 -0
- package/dist/action-diff.js.map +1 -0
- package/dist/action-row.d.ts +36 -0
- package/dist/action-row.js +6 -0
- package/dist/action-row.js.map +1 -0
- package/dist/alert-inbox.d.ts +23 -0
- package/dist/alert-inbox.js +6 -0
- package/dist/alert-inbox.js.map +1 -0
- package/dist/alert.d.ts +33 -0
- package/dist/alert.js +5 -0
- package/dist/alert.js.map +1 -0
- package/dist/approval-card.d.ts +27 -0
- package/dist/approval-card.js +5 -0
- package/dist/approval-card.js.map +1 -0
- package/dist/area-chart.d.ts +10 -0
- package/dist/area-chart.js +5 -0
- package/dist/area-chart.js.map +1 -0
- package/dist/avatar.d.ts +27 -0
- package/dist/avatar.js +5 -0
- package/dist/avatar.js.map +1 -0
- package/dist/backup-status-panel.d.ts +25 -0
- package/dist/backup-status-panel.js +6 -0
- package/dist/backup-status-panel.js.map +1 -0
- package/dist/badge.d.ts +17 -0
- package/dist/badge.js +5 -0
- package/dist/badge.js.map +1 -0
- package/dist/bar-chart.d.ts +15 -0
- package/dist/bar-chart.js +5 -0
- package/dist/bar-chart.js.map +1 -0
- package/dist/bento-dashboard.d.ts +30 -0
- package/dist/bento-dashboard.js +5 -0
- package/dist/bento-dashboard.js.map +1 -0
- package/dist/breadcrumb.d.ts +16 -0
- package/dist/breadcrumb.js +5 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button.d.ts +29 -0
- package/dist/button.js +5 -0
- package/dist/button.js.map +1 -0
- package/dist/card.d.ts +10 -0
- package/dist/card.js +5 -0
- package/dist/card.js.map +1 -0
- package/dist/checkbox.d.ts +9 -0
- package/dist/checkbox.js +5 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chunk-2QWKOCWF.js +79 -0
- package/dist/chunk-2QWKOCWF.js.map +1 -0
- package/dist/chunk-3TGMGBKM.js +393 -0
- package/dist/chunk-3TGMGBKM.js.map +1 -0
- package/dist/chunk-3XTZPDNV.js +94 -0
- package/dist/chunk-3XTZPDNV.js.map +1 -0
- package/dist/chunk-435JHF7G.js +65 -0
- package/dist/chunk-435JHF7G.js.map +1 -0
- package/dist/chunk-4PA2ACNF.js +52 -0
- package/dist/chunk-4PA2ACNF.js.map +1 -0
- package/dist/chunk-5GWHUJ5D.js +29 -0
- package/dist/chunk-5GWHUJ5D.js.map +1 -0
- package/dist/chunk-6FUKJD3W.js +123 -0
- package/dist/chunk-6FUKJD3W.js.map +1 -0
- package/dist/chunk-6IS2AYYG.js +106 -0
- package/dist/chunk-6IS2AYYG.js.map +1 -0
- package/dist/chunk-6PZKU6ZL.js +78 -0
- package/dist/chunk-6PZKU6ZL.js.map +1 -0
- package/dist/chunk-6SKTH45H.js +75 -0
- package/dist/chunk-6SKTH45H.js.map +1 -0
- package/dist/chunk-6UXW5YUC.js +77 -0
- package/dist/chunk-6UXW5YUC.js.map +1 -0
- package/dist/chunk-7EP2T3OW.js +52 -0
- package/dist/chunk-7EP2T3OW.js.map +1 -0
- package/dist/chunk-7J5QXUQN.js +38 -0
- package/dist/chunk-7J5QXUQN.js.map +1 -0
- package/dist/chunk-7TOT5ME3.js +53 -0
- package/dist/chunk-7TOT5ME3.js.map +1 -0
- package/dist/chunk-A6L5C3IJ.js +47 -0
- package/dist/chunk-A6L5C3IJ.js.map +1 -0
- package/dist/chunk-ANW6J6PV.js +42 -0
- package/dist/chunk-ANW6J6PV.js.map +1 -0
- package/dist/chunk-APFFKNPS.js +80 -0
- package/dist/chunk-APFFKNPS.js.map +1 -0
- package/dist/chunk-AZADSX4Z.js +85 -0
- package/dist/chunk-AZADSX4Z.js.map +1 -0
- package/dist/chunk-BPCH5LJ3.js +36 -0
- package/dist/chunk-BPCH5LJ3.js.map +1 -0
- package/dist/chunk-CBQ63EBL.js +85 -0
- package/dist/chunk-CBQ63EBL.js.map +1 -0
- package/dist/chunk-CDI7353B.js +40 -0
- package/dist/chunk-CDI7353B.js.map +1 -0
- package/dist/chunk-CKNWXYMA.js +53 -0
- package/dist/chunk-CKNWXYMA.js.map +1 -0
- package/dist/chunk-DFM7UUKB.js +79 -0
- package/dist/chunk-DFM7UUKB.js.map +1 -0
- package/dist/chunk-DGCRHVWW.js +84 -0
- package/dist/chunk-DGCRHVWW.js.map +1 -0
- package/dist/chunk-DNJI65VQ.js +22 -0
- package/dist/chunk-DNJI65VQ.js.map +1 -0
- package/dist/chunk-DOUDJU4P.js +63 -0
- package/dist/chunk-DOUDJU4P.js.map +1 -0
- package/dist/chunk-DRCMGIQ6.js +64 -0
- package/dist/chunk-DRCMGIQ6.js.map +1 -0
- package/dist/chunk-DZOBXK2S.js +28 -0
- package/dist/chunk-DZOBXK2S.js.map +1 -0
- package/dist/chunk-EN4OJCEF.js +54 -0
- package/dist/chunk-EN4OJCEF.js.map +1 -0
- package/dist/chunk-EVHZFYWX.js +33 -0
- package/dist/chunk-EVHZFYWX.js.map +1 -0
- package/dist/chunk-FGXOV2QH.js +23 -0
- package/dist/chunk-FGXOV2QH.js.map +1 -0
- package/dist/chunk-G2VKWNZA.js +53 -0
- package/dist/chunk-G2VKWNZA.js.map +1 -0
- package/dist/chunk-GTM2DE4C.js +156 -0
- package/dist/chunk-GTM2DE4C.js.map +1 -0
- package/dist/chunk-H3ZVGTJM.js +165 -0
- package/dist/chunk-H3ZVGTJM.js.map +1 -0
- package/dist/chunk-HWAWUEHC.js +28 -0
- package/dist/chunk-HWAWUEHC.js.map +1 -0
- package/dist/chunk-HWJVRTWO.js +36 -0
- package/dist/chunk-HWJVRTWO.js.map +1 -0
- package/dist/chunk-HYQGOC2E.js +79 -0
- package/dist/chunk-HYQGOC2E.js.map +1 -0
- package/dist/chunk-ILADNTUB.js +77 -0
- package/dist/chunk-ILADNTUB.js.map +1 -0
- package/dist/chunk-ISHZ6ZPJ.js +31 -0
- package/dist/chunk-ISHZ6ZPJ.js.map +1 -0
- package/dist/chunk-JRFSUVSO.js +66 -0
- package/dist/chunk-JRFSUVSO.js.map +1 -0
- package/dist/chunk-KI6OTVID.js +91 -0
- package/dist/chunk-KI6OTVID.js.map +1 -0
- package/dist/chunk-LUM2YJBH.js +73 -0
- package/dist/chunk-LUM2YJBH.js.map +1 -0
- package/dist/chunk-NHPISZWS.js +71 -0
- package/dist/chunk-NHPISZWS.js.map +1 -0
- package/dist/chunk-NOLWJJHT.js +52 -0
- package/dist/chunk-NOLWJJHT.js.map +1 -0
- package/dist/chunk-NPVINX3Q.js +20 -0
- package/dist/chunk-NPVINX3Q.js.map +1 -0
- package/dist/chunk-NSMU66ZX.js +47 -0
- package/dist/chunk-NSMU66ZX.js.map +1 -0
- package/dist/chunk-O57QMLNI.js +68 -0
- package/dist/chunk-O57QMLNI.js.map +1 -0
- package/dist/chunk-O5SWPHUQ.js +79 -0
- package/dist/chunk-O5SWPHUQ.js.map +1 -0
- package/dist/chunk-OGVSZ7NV.js +53 -0
- package/dist/chunk-OGVSZ7NV.js.map +1 -0
- package/dist/chunk-OONIUDST.js +48 -0
- package/dist/chunk-OONIUDST.js.map +1 -0
- package/dist/chunk-PLF3BBQI.js +139 -0
- package/dist/chunk-PLF3BBQI.js.map +1 -0
- package/dist/chunk-Q74VRQEX.js +26 -0
- package/dist/chunk-Q74VRQEX.js.map +1 -0
- package/dist/chunk-QEHTPQHL.js +35 -0
- package/dist/chunk-QEHTPQHL.js.map +1 -0
- package/dist/chunk-RJTDQOT2.js +73 -0
- package/dist/chunk-RJTDQOT2.js.map +1 -0
- package/dist/chunk-RQ3RXKAZ.js +203 -0
- package/dist/chunk-RQ3RXKAZ.js.map +1 -0
- package/dist/chunk-RWJELAS6.js +46 -0
- package/dist/chunk-RWJELAS6.js.map +1 -0
- package/dist/chunk-RZK2S2OO.js +126 -0
- package/dist/chunk-RZK2S2OO.js.map +1 -0
- package/dist/chunk-SAP7JSSO.js +106 -0
- package/dist/chunk-SAP7JSSO.js.map +1 -0
- package/dist/chunk-T3TQPOVM.js +79 -0
- package/dist/chunk-T3TQPOVM.js.map +1 -0
- package/dist/chunk-T56TTOI6.js +53 -0
- package/dist/chunk-T56TTOI6.js.map +1 -0
- package/dist/chunk-T7EFDE2L.js +36 -0
- package/dist/chunk-T7EFDE2L.js.map +1 -0
- package/dist/chunk-V3P5QLLX.js +154 -0
- package/dist/chunk-V3P5QLLX.js.map +1 -0
- package/dist/chunk-VTRUUT5K.js +31 -0
- package/dist/chunk-VTRUUT5K.js.map +1 -0
- package/dist/chunk-WDANALHD.js +95 -0
- package/dist/chunk-WDANALHD.js.map +1 -0
- package/dist/chunk-WSQNPRGN.js +12 -0
- package/dist/chunk-WSQNPRGN.js.map +1 -0
- package/dist/chunk-XR5QBVEV.js +56 -0
- package/dist/chunk-XR5QBVEV.js.map +1 -0
- package/dist/chunk-YYWODLER.js +111 -0
- package/dist/chunk-YYWODLER.js.map +1 -0
- package/dist/chunk-ZOXO3G3I.js +50 -0
- package/dist/chunk-ZOXO3G3I.js.map +1 -0
- package/dist/code-block.d.ts +14 -0
- package/dist/code-block.js +5 -0
- package/dist/code-block.js.map +1 -0
- package/dist/combobox.d.ts +26 -0
- package/dist/combobox.js +5 -0
- package/dist/combobox.js.map +1 -0
- package/dist/command-menu.d.ts +52 -0
- package/dist/command-menu.js +7 -0
- package/dist/command-menu.js.map +1 -0
- package/dist/container.d.ts +9 -0
- package/dist/container.js +5 -0
- package/dist/container.js.map +1 -0
- package/dist/cta-band.d.ts +12 -0
- package/dist/cta-band.js +5 -0
- package/dist/cta-band.js.map +1 -0
- package/dist/data-table.d.ts +58 -0
- package/dist/data-table.js +12 -0
- package/dist/data-table.js.map +1 -0
- package/dist/date-picker.d.ts +20 -0
- package/dist/date-picker.js +5 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/dialog.d.ts +21 -0
- package/dist/dialog.js +5 -0
- package/dist/dialog.js.map +1 -0
- package/dist/divider.d.ts +12 -0
- package/dist/divider.js +5 -0
- package/dist/divider.js.map +1 -0
- package/dist/docker-stack-card.d.ts +21 -0
- package/dist/docker-stack-card.js +6 -0
- package/dist/docker-stack-card.js.map +1 -0
- package/dist/donut.d.ts +15 -0
- package/dist/donut.js +5 -0
- package/dist/donut.js.map +1 -0
- package/dist/dropdown-menu.d.ts +15 -0
- package/dist/dropdown-menu.js +5 -0
- package/dist/dropdown-menu.js.map +1 -0
- package/dist/empty.d.ts +12 -0
- package/dist/empty.js +5 -0
- package/dist/empty.js.map +1 -0
- package/dist/feature-card.d.ts +11 -0
- package/dist/feature-card.js +6 -0
- package/dist/feature-card.js.map +1 -0
- package/dist/file-upload.d.ts +20 -0
- package/dist/file-upload.js +5 -0
- package/dist/file-upload.js.map +1 -0
- package/dist/footer.d.ts +35 -0
- package/dist/footer.js +5 -0
- package/dist/footer.js.map +1 -0
- package/dist/form-row.d.ts +15 -0
- package/dist/form-row.js +5 -0
- package/dist/form-row.js.map +1 -0
- package/dist/glow-card.d.ts +14 -0
- package/dist/glow-card.js +5 -0
- package/dist/glow-card.js.map +1 -0
- package/dist/hero-block.d.ts +16 -0
- package/dist/hero-block.js +7 -0
- package/dist/hero-block.js.map +1 -0
- package/dist/host-card.d.ts +27 -0
- package/dist/host-card.js +6 -0
- package/dist/host-card.js.map +1 -0
- package/dist/incident-card.d.ts +23 -0
- package/dist/incident-card.js +5 -0
- package/dist/incident-card.js.map +1 -0
- package/dist/index.d.ts +76 -960
- package/dist/index.js +68 -3812
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +10 -0
- package/dist/input.js +5 -0
- package/dist/input.js.map +1 -0
- package/dist/kbd.d.ts +24 -0
- package/dist/kbd.js +5 -0
- package/dist/kbd.js.map +1 -0
- package/dist/log-viewer.d.ts +35 -0
- package/dist/log-viewer.js +5 -0
- package/dist/log-viewer.js.map +1 -0
- package/dist/meter.d.ts +23 -0
- package/dist/meter.js +5 -0
- package/dist/meter.js.map +1 -0
- package/dist/noir-glow-background.d.ts +50 -0
- package/dist/noir-glow-background.js +4 -0
- package/dist/noir-glow-background.js.map +1 -0
- package/dist/pagination.d.ts +16 -0
- package/dist/pagination.js +5 -0
- package/dist/pagination.js.map +1 -0
- package/dist/panel.d.ts +12 -0
- package/dist/panel.js +5 -0
- package/dist/panel.js.map +1 -0
- package/dist/password-input.d.ts +10 -0
- package/dist/password-input.js +5 -0
- package/dist/password-input.js.map +1 -0
- package/dist/pill.d.ts +14 -0
- package/dist/pill.js +5 -0
- package/dist/pill.js.map +1 -0
- package/dist/pricing-card.d.ts +20 -0
- package/dist/pricing-card.js +6 -0
- package/dist/pricing-card.js.map +1 -0
- package/dist/progress.d.ts +6 -0
- package/dist/progress.js +5 -0
- package/dist/progress.js.map +1 -0
- package/dist/radio-group.d.ts +18 -0
- package/dist/radio-group.js +5 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/rollback-plan.d.ts +23 -0
- package/dist/rollback-plan.js +5 -0
- package/dist/rollback-plan.js.map +1 -0
- package/dist/segmented.d.ts +17 -0
- package/dist/segmented.js +5 -0
- package/dist/segmented.js.map +1 -0
- package/dist/select.d.ts +18 -0
- package/dist/select.js +5 -0
- package/dist/select.js.map +1 -0
- package/dist/service-health-card.d.ts +21 -0
- package/dist/service-health-card.js +6 -0
- package/dist/service-health-card.js.map +1 -0
- package/dist/sheet.d.ts +25 -0
- package/dist/sheet.js +5 -0
- package/dist/sheet.js.map +1 -0
- package/dist/skeleton.d.ts +5 -0
- package/dist/skeleton.js +5 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.d.ts +12 -0
- package/dist/slider.js +5 -0
- package/dist/slider.js.map +1 -0
- package/dist/sparkline.d.ts +16 -0
- package/dist/sparkline.js +5 -0
- package/dist/sparkline.js.map +1 -0
- package/dist/stat-card.d.ts +15 -0
- package/dist/stat-card.js +5 -0
- package/dist/stat-card.js.map +1 -0
- package/dist/status-dot.d.ts +13 -0
- package/dist/status-dot.js +5 -0
- package/dist/status-dot.js.map +1 -0
- package/dist/stepper.d.ts +16 -0
- package/dist/stepper.js +5 -0
- package/dist/stepper.js.map +1 -0
- package/dist/switch.d.ts +9 -0
- package/dist/switch.js +5 -0
- package/dist/switch.js.map +1 -0
- package/dist/tabs.d.ts +9 -0
- package/dist/tabs.js +5 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tag-input.d.ts +20 -0
- package/dist/tag-input.js +5 -0
- package/dist/tag-input.js.map +1 -0
- package/dist/textarea.d.ts +10 -0
- package/dist/textarea.js +5 -0
- package/dist/textarea.js.map +1 -0
- package/dist/timeline.d.ts +30 -0
- package/dist/timeline.js +5 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toaster.d.ts +10 -0
- package/dist/toaster.js +4 -0
- package/dist/toaster.js.map +1 -0
- package/dist/tooltip.d.ts +12 -0
- package/dist/tooltip.js +5 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +4 -0
- package/dist/utils.js.map +1 -0
- package/globals-layers.css +935 -0
- package/globals-v3.css +17 -0
- package/globals-v4.css +2 -0
- package/globals.css +12 -939
- package/package.json +82 -17
- package/registry.json +920 -0
- package/tailwind.css +9 -0
- package/tollerud-preset.js +55 -50
- package/dist/index.cjs +0 -3938
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -960
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type ApprovalState = 'pending' | 'approved' | 'rejected';
|
|
5
|
+
interface ApprovalCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/** Action being approved */
|
|
7
|
+
action: string;
|
|
8
|
+
/** Description of what will happen */
|
|
9
|
+
description?: string;
|
|
10
|
+
/** Source (e.g. 'Emma → backup.sh') */
|
|
11
|
+
source?: string;
|
|
12
|
+
/** Current approval state */
|
|
13
|
+
state?: ApprovalState;
|
|
14
|
+
/** Timestamp of the request */
|
|
15
|
+
timestamp?: string;
|
|
16
|
+
/** Called when user approves */
|
|
17
|
+
onApprove?: () => void;
|
|
18
|
+
/** Called when user rejects */
|
|
19
|
+
onReject?: () => void;
|
|
20
|
+
/** Whether actions are disabled */
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Whether the card is loading */
|
|
23
|
+
loading?: boolean;
|
|
24
|
+
}
|
|
25
|
+
declare const ApprovalCard: react.ForwardRefExoticComponent<ApprovalCardProps & react.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
|
|
27
|
+
export { ApprovalCard, type ApprovalCardProps, type ApprovalState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"approval-card.js"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface AreaChartProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
data: number[];
|
|
6
|
+
height?: number;
|
|
7
|
+
}
|
|
8
|
+
declare const AreaChart: react.ForwardRefExoticComponent<AreaChartProps & react.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
|
|
10
|
+
export { AreaChart, type AreaChartProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"area-chart.js"}
|
package/dist/avatar.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const avatarSizes: {
|
|
5
|
+
readonly sm: "h-6 w-6 text-[10px]";
|
|
6
|
+
readonly md: "h-8 w-8 text-xs";
|
|
7
|
+
readonly lg: "h-11 w-11 text-sm";
|
|
8
|
+
};
|
|
9
|
+
interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
|
|
10
|
+
/** Image source */
|
|
11
|
+
src?: string;
|
|
12
|
+
/** Accessible name / used to derive initials fallback */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** Explicit fallback content (overrides derived initials) */
|
|
15
|
+
fallback?: React.ReactNode;
|
|
16
|
+
size?: keyof typeof avatarSizes;
|
|
17
|
+
}
|
|
18
|
+
declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
20
|
+
/** Maximum avatars to render before collapsing into a "+N" overflow indicator */
|
|
21
|
+
max?: number;
|
|
22
|
+
size?: keyof typeof avatarSizes;
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
|
|
27
|
+
export { Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps };
|
package/dist/avatar.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"avatar.js"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
import { Status } from './status-dot.js';
|
|
4
|
+
|
|
5
|
+
interface BackupJob {
|
|
6
|
+
name: string;
|
|
7
|
+
status: Status;
|
|
8
|
+
lastRun?: string;
|
|
9
|
+
nextRun?: string;
|
|
10
|
+
size?: string;
|
|
11
|
+
target?: string;
|
|
12
|
+
}
|
|
13
|
+
interface BackupStatusPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
/** List of backup jobs */
|
|
15
|
+
jobs: BackupJob[];
|
|
16
|
+
/** Total size of all backups */
|
|
17
|
+
totalSize?: string;
|
|
18
|
+
/** Last full backup timestamp */
|
|
19
|
+
lastFullBackup?: string;
|
|
20
|
+
/** Whether the panel is loading */
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
}
|
|
23
|
+
declare const BackupStatusPanel: react.ForwardRefExoticComponent<BackupStatusPanelProps & react.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
|
|
25
|
+
export { type BackupJob, BackupStatusPanel, type BackupStatusPanelProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"backup-status-panel.js"}
|
package/dist/badge.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const badgeVariants: {
|
|
5
|
+
readonly default: "bg-tollerud-noir-700 text-tollerud-text-secondary";
|
|
6
|
+
readonly accent: "bg-tollerud-yellow/15 text-tollerud-yellow";
|
|
7
|
+
readonly success: "bg-tollerud-success/15 text-tollerud-success";
|
|
8
|
+
readonly error: "bg-tollerud-error/15 text-tollerud-error";
|
|
9
|
+
readonly info: "bg-tollerud-info/15 text-tollerud-info";
|
|
10
|
+
readonly warning: "bg-tollerud-yellow/15 text-tollerud-warning";
|
|
11
|
+
};
|
|
12
|
+
interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
13
|
+
variant?: keyof typeof badgeVariants;
|
|
14
|
+
}
|
|
15
|
+
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
16
|
+
|
|
17
|
+
export { Badge, type BadgeProps };
|
package/dist/badge.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"badge.js"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface BarChartDatum {
|
|
5
|
+
label: string;
|
|
6
|
+
value: number;
|
|
7
|
+
accent?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface BarChartProps extends HTMLAttributes<HTMLDivElement> {
|
|
10
|
+
data: BarChartDatum[];
|
|
11
|
+
height?: number;
|
|
12
|
+
}
|
|
13
|
+
declare const BarChart: react.ForwardRefExoticComponent<BarChartProps & react.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
|
|
15
|
+
export { BarChart, type BarChartDatum, type BarChartProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"bar-chart.js"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { HostCardProps } from './host-card.js';
|
|
4
|
+
import { StatCardProps } from './stat-card.js';
|
|
5
|
+
import { ServiceHealthCardProps } from './service-health-card.js';
|
|
6
|
+
import { IncidentSeverity } from './incident-card.js';
|
|
7
|
+
import { BackupJob } from './backup-status-panel.js';
|
|
8
|
+
import './status-dot.js';
|
|
9
|
+
|
|
10
|
+
interface BentoDashboardProps {
|
|
11
|
+
title: string;
|
|
12
|
+
hosts?: HostCardProps[];
|
|
13
|
+
metrics?: StatCardProps[];
|
|
14
|
+
services?: ServiceHealthCardProps[];
|
|
15
|
+
incidents?: {
|
|
16
|
+
title: string;
|
|
17
|
+
severity: IncidentSeverity;
|
|
18
|
+
timestamp: string;
|
|
19
|
+
service: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
acknowledged?: boolean;
|
|
22
|
+
}[];
|
|
23
|
+
backupJobs?: BackupJob[];
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Render the incident list footer */
|
|
26
|
+
renderIncidentFooter?: () => ReactNode;
|
|
27
|
+
}
|
|
28
|
+
declare function BentoDashboard({ title, hosts, metrics, services, incidents, className, }: BentoDashboardProps): react.JSX.Element;
|
|
29
|
+
|
|
30
|
+
export { BentoDashboard, type BentoDashboardProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"bento-dashboard.js"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface BreadcrumbItem {
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
href?: string;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
10
|
+
items: BreadcrumbItem[];
|
|
11
|
+
/** Custom separator (defaults to a chevron) */
|
|
12
|
+
separator?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
|
|
15
|
+
|
|
16
|
+
export { Breadcrumb, type BreadcrumbItem, type BreadcrumbProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"breadcrumb.js"}
|
package/dist/button.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const variants: {
|
|
5
|
+
readonly primary: "bg-tollerud-yellow text-tollerud-black border-tollerud-yellow hover:bg-tollerud-yellow hover:shadow-tollerud-glow";
|
|
6
|
+
readonly secondary: "bg-transparent text-tollerud-text-primary border-tollerud-border hover:border-tollerud-text-secondary hover:bg-tollerud-surface-hover";
|
|
7
|
+
readonly ghost: "bg-transparent text-tollerud-text-secondary border-transparent hover:text-tollerud-text-primary hover:bg-tollerud-surface-hover";
|
|
8
|
+
readonly destructive: "bg-tollerud-error text-white border-tollerud-error hover:shadow-[0_0_12px_rgba(239,68,68,0.3)]";
|
|
9
|
+
readonly terminal: "font-mono text-tollerud-yellow border-[rgba(255,255,0,0.25)] bg-transparent before:content-[\"❯_\"] before:opacity-70 hover:border-tollerud-yellow hover:shadow-tollerud-glow hover:bg-[rgba(255,255,0,0.05)]";
|
|
10
|
+
};
|
|
11
|
+
declare const sizes: {
|
|
12
|
+
readonly sm: "px-3 py-1 text-sm";
|
|
13
|
+
readonly md: "px-4 py-2 text-base";
|
|
14
|
+
readonly lg: "px-6 py-3 text-lg";
|
|
15
|
+
};
|
|
16
|
+
interface ButtonVariantProps {
|
|
17
|
+
variant?: keyof typeof variants;
|
|
18
|
+
size?: keyof typeof sizes;
|
|
19
|
+
}
|
|
20
|
+
declare function buttonVariants({ variant, size, className }?: ButtonVariantProps & {
|
|
21
|
+
className?: string;
|
|
22
|
+
}): string;
|
|
23
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantProps {
|
|
24
|
+
/** Render as the single child element (e.g. a `<Link>`) instead of a `<button>`, merging props and styles onto it. */
|
|
25
|
+
asChild?: boolean;
|
|
26
|
+
}
|
|
27
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
28
|
+
|
|
29
|
+
export { Button, type ButtonProps, type ButtonVariantProps, buttonVariants };
|
package/dist/button.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"button.js"}
|
package/dist/card.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
accent?: boolean;
|
|
6
|
+
density?: 'comfortable' | 'compact';
|
|
7
|
+
}
|
|
8
|
+
declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
|
|
10
|
+
export { Card, type CardProps };
|
package/dist/card.js
ADDED
package/dist/card.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"card.js"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { InputHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
5
|
+
label?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
|
|
8
|
+
|
|
9
|
+
export { Checkbox, type CheckboxProps };
|
package/dist/checkbox.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"checkbox.js"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { cn } from './chunk-WSQNPRGN.js';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Check } from 'lucide-react';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var Stepper = forwardRef(
|
|
8
|
+
({ className, steps, current, orientation = "horizontal", ...props }, ref) => {
|
|
9
|
+
const vertical = orientation === "vertical";
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
"ol",
|
|
12
|
+
{
|
|
13
|
+
ref,
|
|
14
|
+
className: cn("flex", vertical ? "flex-col gap-0" : "items-start gap-0 w-full", className),
|
|
15
|
+
...props,
|
|
16
|
+
children: steps.map((step, i) => {
|
|
17
|
+
const status = i < current ? "complete" : i === current ? "active" : "upcoming";
|
|
18
|
+
const isLast = i === steps.length - 1;
|
|
19
|
+
return /* @__PURE__ */ jsxs(
|
|
20
|
+
"li",
|
|
21
|
+
{
|
|
22
|
+
className: cn(
|
|
23
|
+
"flex",
|
|
24
|
+
vertical ? "flex-row gap-3" : "flex-col flex-1 gap-2",
|
|
25
|
+
!vertical && !isLast && "pr-2"
|
|
26
|
+
),
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center", vertical ? "flex-col" : "flex-row gap-2 w-full"), children: [
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
"span",
|
|
31
|
+
{
|
|
32
|
+
className: cn(
|
|
33
|
+
"flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-medium transition-colors duration-[150ms]",
|
|
34
|
+
status === "complete" && "bg-tollerud-yellow text-tollerud-noir-black",
|
|
35
|
+
status === "active" && "border-2 border-tollerud-yellow text-tollerud-yellow",
|
|
36
|
+
status === "upcoming" && "border border-tollerud-border text-tollerud-text-muted"
|
|
37
|
+
),
|
|
38
|
+
children: status === "complete" ? /* @__PURE__ */ jsx(Check, { size: 14 }) : i + 1
|
|
39
|
+
}
|
|
40
|
+
),
|
|
41
|
+
!isLast && /* @__PURE__ */ jsx(
|
|
42
|
+
"span",
|
|
43
|
+
{
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
className: cn(
|
|
46
|
+
"bg-tollerud-border",
|
|
47
|
+
vertical ? "w-px flex-1 my-1" : "h-px flex-1",
|
|
48
|
+
status === "complete" && "bg-tollerud-yellow"
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] }),
|
|
53
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", vertical && "pb-6"), children: [
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
"span",
|
|
56
|
+
{
|
|
57
|
+
className: cn(
|
|
58
|
+
"text-sm font-medium",
|
|
59
|
+
status === "upcoming" ? "text-tollerud-text-muted" : "text-tollerud-text-primary"
|
|
60
|
+
),
|
|
61
|
+
children: step.label
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
step.description && /* @__PURE__ */ jsx("span", { className: "text-xs text-tollerud-text-muted", children: step.description })
|
|
65
|
+
] })
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
i
|
|
69
|
+
);
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
Stepper.displayName = "Stepper";
|
|
76
|
+
|
|
77
|
+
export { Stepper };
|
|
78
|
+
//# sourceMappingURL=chunk-2QWKOCWF.js.map
|
|
79
|
+
//# sourceMappingURL=chunk-2QWKOCWF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/Stepper.tsx"],"names":[],"mappings":";;;;;AAgBA,IAAM,OAAA,GAAU,UAAA;AAAA,EACd,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,OAAA,EAAS,cAAc,YAAA,EAAc,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC5E,IAAA,MAAM,WAAW,WAAA,KAAgB,UAAA;AAEjC,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAW,EAAA,CAAG,MAAA,EAAQ,QAAA,GAAW,gBAAA,GAAmB,4BAA4B,SAAS,CAAA;AAAA,QACxF,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,KAAM;AACtB,UAAA,MAAM,SAAS,CAAA,GAAI,OAAA,GAAU,UAAA,GAAa,CAAA,KAAM,UAAU,QAAA,GAAW,UAAA;AACrE,UAAA,MAAM,MAAA,GAAS,CAAA,KAAM,KAAA,CAAM,MAAA,GAAS,CAAA;AAEpC,UAAA,uBACE,IAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cAEC,SAAA,EAAW,EAAA;AAAA,gBACT,MAAA;AAAA,gBACA,WAAW,gBAAA,GAAmB,uBAAA;AAAA,gBAC9B,CAAC,QAAA,IAAY,CAAC,MAAA,IAAU;AAAA,eAC1B;AAAA,cAEA,QAAA,EAAA;AAAA,gCAAA,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,qBAAqB,QAAA,GAAW,UAAA,GAAa,uBAAuB,CAAA,EACrF,QAAA,EAAA;AAAA,kCAAA,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAW,EAAA;AAAA,wBACT,uHAAA;AAAA,wBACA,WAAW,UAAA,IAAc,6CAAA;AAAA,wBACzB,WAAW,QAAA,IAAY,sDAAA;AAAA,wBACvB,WAAW,UAAA,IAAc;AAAA,uBAC3B;AAAA,sBAEC,qBAAW,UAAA,mBAAa,GAAA,CAAC,SAAM,IAAA,EAAM,EAAA,EAAI,IAAK,CAAA,GAAI;AAAA;AAAA,mBACrD;AAAA,kBACC,CAAC,MAAA,oBACA,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,aAAA,EAAY,MAAA;AAAA,sBACZ,SAAA,EAAW,EAAA;AAAA,wBACT,oBAAA;AAAA,wBACA,WAAW,kBAAA,GAAqB,aAAA;AAAA,wBAChC,WAAW,UAAA,IAAc;AAAA;AAC3B;AAAA;AACF,iBAAA,EAEJ,CAAA;AAAA,qCACC,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,eAAA,EAAiB,QAAA,IAAY,MAAM,CAAA,EACpD,QAAA,EAAA;AAAA,kCAAA,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAW,EAAA;AAAA,wBACT,qBAAA;AAAA,wBACA,MAAA,KAAW,aAAa,0BAAA,GAA6B;AAAA,uBACvD;AAAA,sBAEC,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,mBACR;AAAA,kBACC,KAAK,WAAA,oBACJ,GAAA,CAAC,UAAK,SAAA,EAAU,kCAAA,EAAoC,eAAK,WAAA,EAAY;AAAA,iBAAA,EAEzE;AAAA;AAAA,aAAA;AAAA,YAzCK;AAAA,WA0CP;AAAA,QAEJ,CAAC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AACA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-2QWKOCWF.js","sourcesContent":["import { type HTMLAttributes, forwardRef } from 'react'\nimport { Check } from 'lucide-react'\nimport { cn } from '@/lib/utils'\n\nexport interface StepperStep {\n label: React.ReactNode\n description?: React.ReactNode\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLOListElement> {\n steps: StepperStep[]\n /** 0-indexed current step */\n current: number\n orientation?: 'horizontal' | 'vertical'\n}\n\nconst Stepper = forwardRef<HTMLOListElement, StepperProps>(\n ({ className, steps, current, orientation = 'horizontal', ...props }, ref) => {\n const vertical = orientation === 'vertical'\n\n return (\n <ol\n ref={ref}\n className={cn('flex', vertical ? 'flex-col gap-0' : 'items-start gap-0 w-full', className)}\n {...props}\n >\n {steps.map((step, i) => {\n const status = i < current ? 'complete' : i === current ? 'active' : 'upcoming'\n const isLast = i === steps.length - 1\n\n return (\n <li\n key={i}\n className={cn(\n 'flex',\n vertical ? 'flex-row gap-3' : 'flex-col flex-1 gap-2',\n !vertical && !isLast && 'pr-2'\n )}\n >\n <div className={cn('flex items-center', vertical ? 'flex-col' : 'flex-row gap-2 w-full')}>\n <span\n className={cn(\n 'flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-medium transition-colors duration-[150ms]',\n status === 'complete' && 'bg-tollerud-yellow text-tollerud-noir-black',\n status === 'active' && 'border-2 border-tollerud-yellow text-tollerud-yellow',\n status === 'upcoming' && 'border border-tollerud-border text-tollerud-text-muted'\n )}\n >\n {status === 'complete' ? <Check size={14} /> : i + 1}\n </span>\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'bg-tollerud-border',\n vertical ? 'w-px flex-1 my-1' : 'h-px flex-1',\n status === 'complete' && 'bg-tollerud-yellow'\n )}\n />\n )}\n </div>\n <div className={cn('flex flex-col', vertical && 'pb-6')}>\n <span\n className={cn(\n 'text-sm font-medium',\n status === 'upcoming' ? 'text-tollerud-text-muted' : 'text-tollerud-text-primary'\n )}\n >\n {step.label}\n </span>\n {step.description && (\n <span className=\"text-xs text-tollerud-text-muted\">{step.description}</span>\n )}\n </div>\n </li>\n )\n })}\n </ol>\n )\n }\n)\nStepper.displayName = 'Stepper'\n\nexport { Stepper }\n"]}
|