@hyperpackai/hyperui 0.1.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/LICENSE +21 -0
- package/README.md +82 -0
- package/dist/components/Accordion/index.d.ts +17 -0
- package/dist/components/Accordion/index.d.ts.map +1 -0
- package/dist/components/Accordion/index.js +46 -0
- package/dist/components/Alert/index.d.ts +13 -0
- package/dist/components/Alert/index.d.ts.map +1 -0
- package/dist/components/Alert/index.js +46 -0
- package/dist/components/AppBar/index.d.ts +19 -0
- package/dist/components/AppBar/index.d.ts.map +1 -0
- package/dist/components/AppBar/index.js +48 -0
- package/dist/components/AspectRatio/index.d.ts +8 -0
- package/dist/components/AspectRatio/index.d.ts.map +1 -0
- package/dist/components/AspectRatio/index.js +32 -0
- package/dist/components/Autocomplete/index.d.ts +21 -0
- package/dist/components/Autocomplete/index.d.ts.map +1 -0
- package/dist/components/Autocomplete/index.js +94 -0
- package/dist/components/Avatar/index.d.ts +12 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Avatar/index.js +32 -0
- package/dist/components/AvatarGroup/index.d.ts +9 -0
- package/dist/components/AvatarGroup/index.d.ts.map +1 -0
- package/dist/components/AvatarGroup/index.js +24 -0
- package/dist/components/Backdrop/index.d.ts +10 -0
- package/dist/components/Backdrop/index.d.ts.map +1 -0
- package/dist/components/Backdrop/index.js +25 -0
- package/dist/components/Badge/index.d.ts +10 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Badge/index.js +30 -0
- package/dist/components/BottomNavigation/index.d.ts +16 -0
- package/dist/components/BottomNavigation/index.d.ts.map +1 -0
- package/dist/components/BottomNavigation/index.js +43 -0
- package/dist/components/Box/index.d.ts +21 -0
- package/dist/components/Box/index.d.ts.map +1 -0
- package/dist/components/Box/index.js +30 -0
- package/dist/components/Breadcrumb/index.d.ts +13 -0
- package/dist/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/components/Breadcrumb/index.js +19 -0
- package/dist/components/Button/index.d.ts +22 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +93 -0
- package/dist/components/ButtonGroup/index.d.ts +9 -0
- package/dist/components/ButtonGroup/index.d.ts.map +1 -0
- package/dist/components/ButtonGroup/index.js +27 -0
- package/dist/components/Card/index.d.ts +14 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/dist/components/Card/index.js +33 -0
- package/dist/components/Checkbox/index.d.ts +17 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/Checkbox/index.js +42 -0
- package/dist/components/Chip/index.d.ts +18 -0
- package/dist/components/Chip/index.d.ts.map +1 -0
- package/dist/components/Chip/index.js +60 -0
- package/dist/components/CircularProgress/index.d.ts +14 -0
- package/dist/components/CircularProgress/index.d.ts.map +1 -0
- package/dist/components/CircularProgress/index.js +58 -0
- package/dist/components/ClickAwayListener/index.d.ts +11 -0
- package/dist/components/ClickAwayListener/index.d.ts.map +1 -0
- package/dist/components/ClickAwayListener/index.js +31 -0
- package/dist/components/Code/index.d.ts +9 -0
- package/dist/components/Code/index.d.ts.map +1 -0
- package/dist/components/Code/index.js +50 -0
- package/dist/components/Collapse/index.d.ts +11 -0
- package/dist/components/Collapse/index.d.ts.map +1 -0
- package/dist/components/Collapse/index.js +30 -0
- package/dist/components/CommandPalette/index.d.ts +26 -0
- package/dist/components/CommandPalette/index.d.ts.map +1 -0
- package/dist/components/CommandPalette/index.js +141 -0
- package/dist/components/Container/index.d.ts +11 -0
- package/dist/components/Container/index.d.ts.map +1 -0
- package/dist/components/Container/index.js +18 -0
- package/dist/components/DashboardLayout/index.d.ts +15 -0
- package/dist/components/DashboardLayout/index.d.ts.map +1 -0
- package/dist/components/DashboardLayout/index.js +67 -0
- package/dist/components/DataTable/index.d.ts +27 -0
- package/dist/components/DataTable/index.d.ts.map +1 -0
- package/dist/components/DataTable/index.js +59 -0
- package/dist/components/Dialog/index.d.ts +19 -0
- package/dist/components/Dialog/index.d.ts.map +1 -0
- package/dist/components/Dialog/index.js +96 -0
- package/dist/components/Divider/index.d.ts +13 -0
- package/dist/components/Divider/index.d.ts.map +1 -0
- package/dist/components/Divider/index.js +40 -0
- package/dist/components/Drawer/index.d.ts +17 -0
- package/dist/components/Drawer/index.d.ts.map +1 -0
- package/dist/components/Drawer/index.js +77 -0
- package/dist/components/DropdownMenu/index.d.ts +25 -0
- package/dist/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/components/DropdownMenu/index.js +67 -0
- package/dist/components/EmptyState/index.d.ts +11 -0
- package/dist/components/EmptyState/index.d.ts.map +1 -0
- package/dist/components/EmptyState/index.js +53 -0
- package/dist/components/ErrorState/index.d.ts +12 -0
- package/dist/components/ErrorState/index.d.ts.map +1 -0
- package/dist/components/ErrorState/index.js +54 -0
- package/dist/components/Fab/index.d.ts +16 -0
- package/dist/components/Fab/index.d.ts.map +1 -0
- package/dist/components/Fab/index.js +39 -0
- package/dist/components/Fade/index.d.ts +10 -0
- package/dist/components/Fade/index.d.ts.map +1 -0
- package/dist/components/Fade/index.js +13 -0
- package/dist/components/FocusTrap/index.d.ts +11 -0
- package/dist/components/FocusTrap/index.d.ts.map +1 -0
- package/dist/components/FocusTrap/index.js +69 -0
- package/dist/components/FormControl/index.d.ts +34 -0
- package/dist/components/FormControl/index.d.ts.map +1 -0
- package/dist/components/FormControl/index.js +52 -0
- package/dist/components/GlobalSearch/index.d.ts +23 -0
- package/dist/components/GlobalSearch/index.d.ts.map +1 -0
- package/dist/components/GlobalSearch/index.js +91 -0
- package/dist/components/Grid/index.d.ts +19 -0
- package/dist/components/Grid/index.d.ts.map +1 -0
- package/dist/components/Grid/index.js +30 -0
- package/dist/components/Grow/index.d.ts +10 -0
- package/dist/components/Grow/index.d.ts.map +1 -0
- package/dist/components/Grow/index.js +13 -0
- package/dist/components/IconButton/index.d.ts +16 -0
- package/dist/components/IconButton/index.d.ts.map +1 -0
- package/dist/components/IconButton/index.js +43 -0
- package/dist/components/ImageList/index.d.ts +21 -0
- package/dist/components/ImageList/index.d.ts.map +1 -0
- package/dist/components/ImageList/index.js +39 -0
- package/dist/components/Input/index.d.ts +33 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/Input/index.js +45 -0
- package/dist/components/Kbd/index.d.ts +8 -0
- package/dist/components/Kbd/index.d.ts.map +1 -0
- package/dist/components/Kbd/index.js +41 -0
- package/dist/components/KeyboardShortcut/index.d.ts +20 -0
- package/dist/components/KeyboardShortcut/index.d.ts.map +1 -0
- package/dist/components/KeyboardShortcut/index.js +63 -0
- package/dist/components/Label/index.d.ts +10 -0
- package/dist/components/Label/index.d.ts.map +1 -0
- package/dist/components/Label/index.js +17 -0
- package/dist/components/LinearProgress/index.d.ts +13 -0
- package/dist/components/LinearProgress/index.d.ts.map +1 -0
- package/dist/components/LinearProgress/index.js +69 -0
- package/dist/components/Link/index.d.ts +16 -0
- package/dist/components/Link/index.d.ts.map +1 -0
- package/dist/components/Link/index.js +25 -0
- package/dist/components/List/index.d.ts +40 -0
- package/dist/components/List/index.d.ts.map +1 -0
- package/dist/components/List/index.js +70 -0
- package/dist/components/LoadingState/index.d.ts +11 -0
- package/dist/components/LoadingState/index.d.ts.map +1 -0
- package/dist/components/LoadingState/index.js +66 -0
- package/dist/components/Menu/index.d.ts +40 -0
- package/dist/components/Menu/index.d.ts.map +1 -0
- package/dist/components/Menu/index.js +103 -0
- package/dist/components/MobileStepper/index.d.ts +16 -0
- package/dist/components/MobileStepper/index.d.ts.map +1 -0
- package/dist/components/MobileStepper/index.js +67 -0
- package/dist/components/Modal/index.d.ts +14 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/index.js +51 -0
- package/dist/components/Navbar/index.d.ts +14 -0
- package/dist/components/Navbar/index.d.ts.map +1 -0
- package/dist/components/Navbar/index.js +27 -0
- package/dist/components/NoSSR/index.d.ts +7 -0
- package/dist/components/NoSSR/index.d.ts.map +1 -0
- package/dist/components/NoSSR/index.js +9 -0
- package/dist/components/PageLayout/index.d.ts +13 -0
- package/dist/components/PageLayout/index.d.ts.map +1 -0
- package/dist/components/PageLayout/index.js +41 -0
- package/dist/components/Pagination/index.d.ts +11 -0
- package/dist/components/Pagination/index.d.ts.map +1 -0
- package/dist/components/Pagination/index.js +56 -0
- package/dist/components/Paper/index.d.ts +12 -0
- package/dist/components/Paper/index.d.ts.map +1 -0
- package/dist/components/Paper/index.js +24 -0
- package/dist/components/Popover/index.d.ts +13 -0
- package/dist/components/Popover/index.d.ts.map +1 -0
- package/dist/components/Popover/index.js +34 -0
- package/dist/components/Progress/index.d.ts +13 -0
- package/dist/components/Progress/index.d.ts.map +1 -0
- package/dist/components/Progress/index.js +40 -0
- package/dist/components/Radio/index.d.ts +7 -0
- package/dist/components/Radio/index.d.ts.map +1 -0
- package/dist/components/Radio/index.js +28 -0
- package/dist/components/Rating/index.d.ts +15 -0
- package/dist/components/Rating/index.d.ts.map +1 -0
- package/dist/components/Rating/index.js +41 -0
- package/dist/components/ResizablePanel/index.d.ts +16 -0
- package/dist/components/ResizablePanel/index.d.ts.map +1 -0
- package/dist/components/ResizablePanel/index.js +41 -0
- package/dist/components/ScrollArea/index.d.ts +12 -0
- package/dist/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/components/ScrollArea/index.js +50 -0
- package/dist/components/Select/index.d.ts +23 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/index.js +52 -0
- package/dist/components/Sheet/index.d.ts +15 -0
- package/dist/components/Sheet/index.d.ts.map +1 -0
- package/dist/components/Sheet/index.js +61 -0
- package/dist/components/Sidebar/index.d.ts +23 -0
- package/dist/components/Sidebar/index.d.ts.map +1 -0
- package/dist/components/Sidebar/index.js +37 -0
- package/dist/components/Skeleton/index.d.ts +9 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Skeleton/index.js +22 -0
- package/dist/components/Slide/index.d.ts +12 -0
- package/dist/components/Slide/index.d.ts.map +1 -0
- package/dist/components/Slide/index.js +21 -0
- package/dist/components/Slider/index.d.ts +19 -0
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Slider/index.js +49 -0
- package/dist/components/Snackbar/index.d.ts +28 -0
- package/dist/components/Snackbar/index.d.ts.map +1 -0
- package/dist/components/Snackbar/index.js +71 -0
- package/dist/components/SpeedDial/index.d.ts +18 -0
- package/dist/components/SpeedDial/index.d.ts.map +1 -0
- package/dist/components/SpeedDial/index.js +71 -0
- package/dist/components/Spinner/index.d.ts +10 -0
- package/dist/components/Spinner/index.d.ts.map +1 -0
- package/dist/components/Spinner/index.js +67 -0
- package/dist/components/SplitPane/index.d.ts +11 -0
- package/dist/components/SplitPane/index.d.ts.map +1 -0
- package/dist/components/SplitPane/index.js +46 -0
- package/dist/components/Stack/index.d.ts +17 -0
- package/dist/components/Stack/index.d.ts.map +1 -0
- package/dist/components/Stack/index.js +30 -0
- package/dist/components/Stepper/index.d.ts +20 -0
- package/dist/components/Stepper/index.d.ts.map +1 -0
- package/dist/components/Stepper/index.js +66 -0
- package/dist/components/Switch/index.d.ts +13 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Switch/index.js +38 -0
- package/dist/components/Tabs/index.d.ts +20 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Tabs/index.js +62 -0
- package/dist/components/TextField/index.d.ts +35 -0
- package/dist/components/TextField/index.d.ts.map +1 -0
- package/dist/components/TextField/index.js +69 -0
- package/dist/components/Textarea/index.d.ts +22 -0
- package/dist/components/Textarea/index.d.ts.map +1 -0
- package/dist/components/Textarea/index.js +27 -0
- package/dist/components/Timeline/index.d.ts +16 -0
- package/dist/components/Timeline/index.d.ts.map +1 -0
- package/dist/components/Timeline/index.js +30 -0
- package/dist/components/Toast/index.d.ts +34 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/Toast/index.js +106 -0
- package/dist/components/ToggleButton/index.d.ts +21 -0
- package/dist/components/ToggleButton/index.d.ts.map +1 -0
- package/dist/components/ToggleButton/index.js +81 -0
- package/dist/components/Tooltip/index.d.ts +14 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/components/Tooltip/index.js +47 -0
- package/dist/components/TreeView/index.d.ts +19 -0
- package/dist/components/TreeView/index.d.ts.map +1 -0
- package/dist/components/TreeView/index.js +50 -0
- package/dist/components/Typography/index.d.ts +17 -0
- package/dist/components/Typography/index.d.ts.map +1 -0
- package/dist/components/Typography/index.js +44 -0
- package/dist/components/VisuallyHidden/index.d.ts +7 -0
- package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/components/VisuallyHidden/index.js +18 -0
- package/dist/components/Zoom/index.d.ts +10 -0
- package/dist/components/Zoom/index.d.ts.map +1 -0
- package/dist/components/Zoom/index.js +13 -0
- package/dist/components/ai.d.ts +133 -0
- package/dist/components/ai.d.ts.map +1 -0
- package/dist/components/ai.js +184 -0
- package/dist/components/charts.d.ts +143 -0
- package/dist/components/charts.d.ts.map +1 -0
- package/dist/components/charts.js +435 -0
- package/dist/components/data.d.ts +192 -0
- package/dist/components/data.d.ts.map +1 -0
- package/dist/components/data.js +581 -0
- package/dist/components/date.d.ts +73 -0
- package/dist/components/date.d.ts.map +1 -0
- package/dist/components/date.js +199 -0
- package/dist/components/enterprise.d.ts +246 -0
- package/dist/components/enterprise.d.ts.map +1 -0
- package/dist/components/enterprise.js +428 -0
- package/dist/components/form.d.ts +132 -0
- package/dist/components/form.d.ts.map +1 -0
- package/dist/components/form.js +380 -0
- package/dist/components/index.d.ts +173 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +107 -0
- package/dist/components/inputs.d.ts +169 -0
- package/dist/components/inputs.d.ts.map +1 -0
- package/dist/components/inputs.js +437 -0
- package/dist/components/layout.d.ts +224 -0
- package/dist/components/layout.d.ts.map +1 -0
- package/dist/components/layout.js +644 -0
- package/dist/components/overlay.d.ts +102 -0
- package/dist/components/overlay.d.ts.map +1 -0
- package/dist/components/overlay.js +318 -0
- package/dist/components/surfaces.d.ts +180 -0
- package/dist/components/surfaces.d.ts.map +1 -0
- package/dist/components/surfaces.js +423 -0
- package/dist/components/typography.d.ts +69 -0
- package/dist/components/typography.d.ts.map +1 -0
- package/dist/components/typography.js +206 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/portal.d.ts +3 -0
- package/dist/portal.d.ts.map +1 -0
- package/dist/portal.js +17 -0
- package/dist/theme/index.d.ts +31 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +258 -0
- package/dist/tokens/component.d.ts +124 -0
- package/dist/tokens/component.d.ts.map +1 -0
- package/dist/tokens/component.js +113 -0
- package/dist/tokens/index.d.ts +494 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +345 -0
- package/dist/tokens/primitives.d.ts +675 -0
- package/dist/tokens/primitives.d.ts.map +1 -0
- package/dist/tokens/primitives.js +356 -0
- package/dist/tokens/semantic.d.ts +252 -0
- package/dist/tokens/semantic.d.ts.map +1 -0
- package/dist/tokens/semantic.js +242 -0
- package/dist/tokens/themes.d.ts +18 -0
- package/dist/tokens/themes.d.ts.map +1 -0
- package/dist/tokens/themes.js +316 -0
- package/package.json +69 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperUI Date Components
|
|
3
|
+
* Calendar · DatePicker · TimePicker · DateTimePicker · DateRangePicker
|
|
4
|
+
*/
|
|
5
|
+
import { injectCSS, cn, h } from "../theme/index.js";
|
|
6
|
+
import { TextField } from "./TextField/index.js";
|
|
7
|
+
const DATE_CSS = `
|
|
8
|
+
.hu-calendar {
|
|
9
|
+
display: inline-flex; flex-direction: column; gap: var(--hu-space-3);
|
|
10
|
+
min-width: 280px; padding: var(--hu-space-4);
|
|
11
|
+
background: var(--hu-bg); border: 1px solid var(--hu-border);
|
|
12
|
+
border-radius: var(--hu-radius-md); color: var(--hu-text);
|
|
13
|
+
}
|
|
14
|
+
.hu-calendar__header { display: flex; align-items: center; justify-content: space-between; gap: var(--hu-space-2); }
|
|
15
|
+
.hu-calendar__title { font-size: var(--hu-font-size-sm); font-weight: var(--hu-font-weight-semibold); }
|
|
16
|
+
.hu-calendar__nav { display: inline-flex; align-items: center; gap: var(--hu-space-1); }
|
|
17
|
+
.hu-calendar__nav-btn {
|
|
18
|
+
width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
|
|
19
|
+
border: 1px solid var(--hu-border); border-radius: var(--hu-radius);
|
|
20
|
+
background: var(--hu-bg); color: var(--hu-text-2); cursor: pointer;
|
|
21
|
+
}
|
|
22
|
+
.hu-calendar__nav-btn:hover { background: var(--hu-bg-3); color: var(--hu-text); }
|
|
23
|
+
.hu-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
|
|
24
|
+
.hu-calendar__weekday {
|
|
25
|
+
min-height: 28px; display: flex; align-items: center; justify-content: center;
|
|
26
|
+
font-size: var(--hu-font-size-xs); font-weight: var(--hu-font-weight-semibold);
|
|
27
|
+
color: var(--hu-text-3);
|
|
28
|
+
}
|
|
29
|
+
.hu-calendar__day {
|
|
30
|
+
min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center;
|
|
31
|
+
border: 1px solid transparent; border-radius: var(--hu-radius);
|
|
32
|
+
background: transparent; color: var(--hu-text); font-size: var(--hu-font-size-sm);
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
}
|
|
35
|
+
.hu-calendar__day:hover:not(:disabled) { background: var(--hu-bg-3); }
|
|
36
|
+
.hu-calendar__day:focus-visible { outline: 2px solid var(--hu-primary); outline-offset: 1px; }
|
|
37
|
+
.hu-calendar__day--outside { color: var(--hu-text-3); }
|
|
38
|
+
.hu-calendar__day--today { border-color: var(--hu-primary); }
|
|
39
|
+
.hu-calendar__day--selected { background: var(--hu-primary); color: var(--hu-primary-text); }
|
|
40
|
+
.hu-calendar__day--range { background: var(--hu-primary-bg); color: var(--hu-primary); }
|
|
41
|
+
.hu-calendar__day:disabled { opacity: .4; cursor: not-allowed; }
|
|
42
|
+
.hu-date-field { display: flex; flex-direction: column; gap: var(--hu-space-1); width: 100%; }
|
|
43
|
+
.hu-date-range { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--hu-space-3); width: 100%; }
|
|
44
|
+
@media (max-width: 640px) {
|
|
45
|
+
.hu-date-range { grid-template-columns: minmax(0, 1fr); }
|
|
46
|
+
}
|
|
47
|
+
`;
|
|
48
|
+
const WEEKDAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
49
|
+
const MONTHS = [
|
|
50
|
+
"January", "February", "March", "April", "May", "June",
|
|
51
|
+
"July", "August", "September", "October", "November", "December"
|
|
52
|
+
];
|
|
53
|
+
export function Calendar(props) {
|
|
54
|
+
injectCSS("hu-date", DATE_CSS);
|
|
55
|
+
const selected = parseDate(props.value);
|
|
56
|
+
const visible = parseDate(props.month) ?? selected ?? startOfDay(new Date());
|
|
57
|
+
const monthStart = new Date(visible.getFullYear(), visible.getMonth(), 1);
|
|
58
|
+
const title = `${MONTHS[monthStart.getMonth()]} ${monthStart.getFullYear()}`;
|
|
59
|
+
const cells = buildCalendarCells(monthStart);
|
|
60
|
+
const disabled = new Set(props.disabledDates ?? []);
|
|
61
|
+
return h("div", { class: cn("hu-calendar", props.class) }, h("div", { class: "hu-calendar__header" }, h("div", { class: "hu-calendar__title", "aria-live": "polite" }, title), h("div", { class: "hu-calendar__nav" }, h("button", {
|
|
62
|
+
class: "hu-calendar__nav-btn",
|
|
63
|
+
type: "button",
|
|
64
|
+
"aria-label": "Previous month",
|
|
65
|
+
onClick: () => props.onMonthChange?.(formatMonth(addMonths(monthStart, -1)))
|
|
66
|
+
}, "<"), h("button", {
|
|
67
|
+
class: "hu-calendar__nav-btn",
|
|
68
|
+
type: "button",
|
|
69
|
+
"aria-label": "Next month",
|
|
70
|
+
onClick: () => props.onMonthChange?.(formatMonth(addMonths(monthStart, 1)))
|
|
71
|
+
}, ">"))), h("div", { class: "hu-calendar__grid", role: "grid", "aria-label": title }, ...WEEKDAYS.map((day) => h("div", { class: "hu-calendar__weekday", role: "columnheader" }, day)), ...cells.map((date) => {
|
|
72
|
+
const iso = formatDate(date);
|
|
73
|
+
const isOutside = date.getMonth() !== monthStart.getMonth();
|
|
74
|
+
const isSelected = props.value === iso;
|
|
75
|
+
const isToday = iso === formatDate(new Date());
|
|
76
|
+
const inRange = isDateInRange(iso, props.rangeStart, props.rangeEnd);
|
|
77
|
+
const unavailable = disabled.has(iso) || isBeforeDate(iso, props.min) || isAfterDate(iso, props.max);
|
|
78
|
+
return h("button", {
|
|
79
|
+
key: iso,
|
|
80
|
+
class: cn("hu-calendar__day", isOutside && "hu-calendar__day--outside", isToday && "hu-calendar__day--today", isSelected && "hu-calendar__day--selected", inRange && !isSelected && "hu-calendar__day--range"),
|
|
81
|
+
type: "button",
|
|
82
|
+
role: "gridcell",
|
|
83
|
+
disabled: unavailable,
|
|
84
|
+
"aria-selected": isSelected ? "true" : "false",
|
|
85
|
+
"aria-label": iso,
|
|
86
|
+
onClick: unavailable ? undefined : () => props.onChange?.(iso)
|
|
87
|
+
}, date.getDate());
|
|
88
|
+
})));
|
|
89
|
+
}
|
|
90
|
+
export function DatePicker(props) {
|
|
91
|
+
injectCSS("hu-date", DATE_CSS);
|
|
92
|
+
return h("div", { class: cn("hu-date-field", props.class) }, TextField({
|
|
93
|
+
id: props.id,
|
|
94
|
+
name: props.name,
|
|
95
|
+
label: props.label,
|
|
96
|
+
value: props.value,
|
|
97
|
+
type: "date",
|
|
98
|
+
required: props.required,
|
|
99
|
+
disabled: props.disabled,
|
|
100
|
+
error: props.error,
|
|
101
|
+
helperText: props.helperText,
|
|
102
|
+
onChange: props.onChange
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
export function TimePicker(props) {
|
|
106
|
+
injectCSS("hu-date", DATE_CSS);
|
|
107
|
+
return h("div", { class: cn("hu-date-field", props.class) }, TextField({
|
|
108
|
+
id: props.id,
|
|
109
|
+
name: props.name,
|
|
110
|
+
label: props.label,
|
|
111
|
+
value: props.value,
|
|
112
|
+
type: "time",
|
|
113
|
+
required: props.required,
|
|
114
|
+
disabled: props.disabled,
|
|
115
|
+
error: props.error,
|
|
116
|
+
helperText: props.helperText,
|
|
117
|
+
onChange: props.onChange
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
export function DateTimePicker(props) {
|
|
121
|
+
injectCSS("hu-date", DATE_CSS);
|
|
122
|
+
return h("div", { class: cn("hu-date-field", props.class) }, TextField({
|
|
123
|
+
id: props.id,
|
|
124
|
+
name: props.name,
|
|
125
|
+
label: props.label,
|
|
126
|
+
value: props.value,
|
|
127
|
+
type: "datetime-local",
|
|
128
|
+
required: props.required,
|
|
129
|
+
disabled: props.disabled,
|
|
130
|
+
error: props.error,
|
|
131
|
+
helperText: props.helperText,
|
|
132
|
+
onChange: props.onChange
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
export function DateRangePicker(props) {
|
|
136
|
+
injectCSS("hu-date", DATE_CSS);
|
|
137
|
+
const startId = props.id ? `${props.id}-start` : undefined;
|
|
138
|
+
const endId = props.id ? `${props.id}-end` : undefined;
|
|
139
|
+
return h("fieldset", { class: cn("hu-date-range", props.class), disabled: props.disabled }, props.label && h("legend", { class: "hu-textfield__label" }, props.label), DatePicker({
|
|
140
|
+
id: startId,
|
|
141
|
+
label: props.startLabel ?? "Start date",
|
|
142
|
+
value: props.start,
|
|
143
|
+
min: props.min,
|
|
144
|
+
max: props.max,
|
|
145
|
+
required: props.required,
|
|
146
|
+
disabled: props.disabled,
|
|
147
|
+
error: props.error,
|
|
148
|
+
onChange: (value, e) => props.onChange?.({ start: value, end: props.end }, e)
|
|
149
|
+
}), DatePicker({
|
|
150
|
+
id: endId,
|
|
151
|
+
label: props.endLabel ?? "End date",
|
|
152
|
+
value: props.end,
|
|
153
|
+
min: props.min,
|
|
154
|
+
max: props.max,
|
|
155
|
+
required: props.required,
|
|
156
|
+
disabled: props.disabled,
|
|
157
|
+
onChange: (value, e) => props.onChange?.({ start: props.start, end: value }, e)
|
|
158
|
+
}));
|
|
159
|
+
}
|
|
160
|
+
function parseDate(value) {
|
|
161
|
+
if (!value)
|
|
162
|
+
return undefined;
|
|
163
|
+
const [year, month, day = 1] = value.split("-").map(Number);
|
|
164
|
+
if (!year || !month)
|
|
165
|
+
return undefined;
|
|
166
|
+
return new Date(year, month - 1, day);
|
|
167
|
+
}
|
|
168
|
+
function startOfDay(value) {
|
|
169
|
+
return new Date(value.getFullYear(), value.getMonth(), value.getDate());
|
|
170
|
+
}
|
|
171
|
+
function buildCalendarCells(monthStart) {
|
|
172
|
+
const gridStart = new Date(monthStart);
|
|
173
|
+
gridStart.setDate(1 - monthStart.getDay());
|
|
174
|
+
return Array.from({ length: 42 }, (_, index) => {
|
|
175
|
+
const date = new Date(gridStart);
|
|
176
|
+
date.setDate(gridStart.getDate() + index);
|
|
177
|
+
return date;
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
function addMonths(value, months) {
|
|
181
|
+
return new Date(value.getFullYear(), value.getMonth() + months, 1);
|
|
182
|
+
}
|
|
183
|
+
function formatMonth(value) {
|
|
184
|
+
return `${value.getFullYear()}-${String(value.getMonth() + 1).padStart(2, "0")}`;
|
|
185
|
+
}
|
|
186
|
+
function formatDate(value) {
|
|
187
|
+
return `${value.getFullYear()}-${String(value.getMonth() + 1).padStart(2, "0")}-${String(value.getDate()).padStart(2, "0")}`;
|
|
188
|
+
}
|
|
189
|
+
function isBeforeDate(value, min) {
|
|
190
|
+
return Boolean(min && value < min);
|
|
191
|
+
}
|
|
192
|
+
function isAfterDate(value, max) {
|
|
193
|
+
return Boolean(max && value > max);
|
|
194
|
+
}
|
|
195
|
+
function isDateInRange(value, start, end) {
|
|
196
|
+
if (!start || !end)
|
|
197
|
+
return false;
|
|
198
|
+
return value >= start && value <= end;
|
|
199
|
+
}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperUI Enterprise Components
|
|
3
|
+
* ApprovalFlow · AuditTrail · PermissionMatrix · RoleManager
|
|
4
|
+
*/
|
|
5
|
+
import { type VNode } from "../theme/index.js";
|
|
6
|
+
export type ApprovalStatus = "pending" | "approved" | "rejected" | "skipped";
|
|
7
|
+
export interface ApprovalStep {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
approver?: string;
|
|
11
|
+
status?: ApprovalStatus;
|
|
12
|
+
timestamp?: string;
|
|
13
|
+
comment?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ApprovalFlowProps {
|
|
16
|
+
steps: ApprovalStep[];
|
|
17
|
+
title?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
class?: string;
|
|
20
|
+
onApprove?: (id: string) => void;
|
|
21
|
+
onReject?: (id: string) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function ApprovalFlow(props: ApprovalFlowProps): VNode;
|
|
24
|
+
export type AuditSeverity = "info" | "success" | "warning" | "error";
|
|
25
|
+
export interface AuditEvent {
|
|
26
|
+
id: string;
|
|
27
|
+
action: string;
|
|
28
|
+
actor: string;
|
|
29
|
+
timestamp: string;
|
|
30
|
+
target?: string;
|
|
31
|
+
severity?: AuditSeverity;
|
|
32
|
+
metadata?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
export interface AuditTrailProps {
|
|
35
|
+
events: AuditEvent[];
|
|
36
|
+
title?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
class?: string;
|
|
39
|
+
onEventClick?: (event: AuditEvent) => void;
|
|
40
|
+
}
|
|
41
|
+
export declare function AuditTrail(props: AuditTrailProps): VNode;
|
|
42
|
+
export interface PermissionAction {
|
|
43
|
+
key: string;
|
|
44
|
+
label: string;
|
|
45
|
+
}
|
|
46
|
+
export interface PermissionResource {
|
|
47
|
+
key: string;
|
|
48
|
+
label: string;
|
|
49
|
+
}
|
|
50
|
+
export interface PermissionMatrixProps {
|
|
51
|
+
resources: PermissionResource[];
|
|
52
|
+
actions: PermissionAction[];
|
|
53
|
+
value?: Record<string, string[]>;
|
|
54
|
+
title?: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
class?: string;
|
|
57
|
+
onChange?: (resource: string, action: string, allowed: boolean) => void;
|
|
58
|
+
}
|
|
59
|
+
export declare function PermissionMatrix(props: PermissionMatrixProps): VNode;
|
|
60
|
+
export interface RoleDefinition {
|
|
61
|
+
id: string;
|
|
62
|
+
name: string;
|
|
63
|
+
description?: string;
|
|
64
|
+
users?: number;
|
|
65
|
+
permissions?: string[];
|
|
66
|
+
}
|
|
67
|
+
export interface RoleManagerProps {
|
|
68
|
+
roles: RoleDefinition[];
|
|
69
|
+
selectedRole?: string;
|
|
70
|
+
title?: string;
|
|
71
|
+
description?: string;
|
|
72
|
+
class?: string;
|
|
73
|
+
onRoleSelect?: (id: string) => void;
|
|
74
|
+
onCreateRole?: () => void;
|
|
75
|
+
}
|
|
76
|
+
export declare function RoleManager(props: RoleManagerProps): VNode;
|
|
77
|
+
export interface FeatureFlag {
|
|
78
|
+
key: string;
|
|
79
|
+
name: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
enabled?: boolean;
|
|
82
|
+
environment?: string;
|
|
83
|
+
rollout?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface FeatureFlagsProps {
|
|
86
|
+
flags: FeatureFlag[];
|
|
87
|
+
title?: string;
|
|
88
|
+
description?: string;
|
|
89
|
+
class?: string;
|
|
90
|
+
onToggle?: (key: string, enabled: boolean) => void;
|
|
91
|
+
onEdit?: (key: string) => void;
|
|
92
|
+
}
|
|
93
|
+
export declare function FeatureFlags(props: FeatureFlagsProps): VNode;
|
|
94
|
+
export interface Tenant {
|
|
95
|
+
id: string;
|
|
96
|
+
name: string;
|
|
97
|
+
plan?: string;
|
|
98
|
+
region?: string;
|
|
99
|
+
status?: "active" | "trial" | "suspended";
|
|
100
|
+
}
|
|
101
|
+
export interface TenantSelectorProps {
|
|
102
|
+
tenants: Tenant[];
|
|
103
|
+
value?: string;
|
|
104
|
+
title?: string;
|
|
105
|
+
description?: string;
|
|
106
|
+
class?: string;
|
|
107
|
+
onChange?: (id: string) => void;
|
|
108
|
+
onManage?: (id: string) => void;
|
|
109
|
+
}
|
|
110
|
+
export declare function TenantSelector(props: TenantSelectorProps): VNode;
|
|
111
|
+
export type NotificationKind = "info" | "success" | "warning" | "error";
|
|
112
|
+
export interface NotificationItem {
|
|
113
|
+
id: string;
|
|
114
|
+
title: string;
|
|
115
|
+
message?: string;
|
|
116
|
+
timestamp?: string;
|
|
117
|
+
kind?: NotificationKind;
|
|
118
|
+
read?: boolean;
|
|
119
|
+
}
|
|
120
|
+
export interface NotificationCenterProps {
|
|
121
|
+
notifications: NotificationItem[];
|
|
122
|
+
title?: string;
|
|
123
|
+
description?: string;
|
|
124
|
+
class?: string;
|
|
125
|
+
onMarkRead?: (id: string) => void;
|
|
126
|
+
onDismiss?: (id: string) => void;
|
|
127
|
+
}
|
|
128
|
+
export declare function NotificationCenter(props: NotificationCenterProps): VNode;
|
|
129
|
+
export interface ActivityItem {
|
|
130
|
+
id: string;
|
|
131
|
+
actor: string;
|
|
132
|
+
action: string;
|
|
133
|
+
target?: string;
|
|
134
|
+
timestamp?: string;
|
|
135
|
+
avatar?: string;
|
|
136
|
+
}
|
|
137
|
+
export interface ActivityFeedProps {
|
|
138
|
+
items: ActivityItem[];
|
|
139
|
+
title?: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
class?: string;
|
|
142
|
+
onItemClick?: (item: ActivityItem) => void;
|
|
143
|
+
}
|
|
144
|
+
export declare function ActivityFeed(props: ActivityFeedProps): VNode;
|
|
145
|
+
export interface OrgChartNode {
|
|
146
|
+
id: string;
|
|
147
|
+
name: string;
|
|
148
|
+
title?: string;
|
|
149
|
+
department?: string;
|
|
150
|
+
avatar?: string;
|
|
151
|
+
reports?: OrgChartNode[];
|
|
152
|
+
}
|
|
153
|
+
export interface OrgChartProps {
|
|
154
|
+
nodes: OrgChartNode[];
|
|
155
|
+
title?: string;
|
|
156
|
+
description?: string;
|
|
157
|
+
class?: string;
|
|
158
|
+
onNodeSelect?: (node: OrgChartNode) => void;
|
|
159
|
+
}
|
|
160
|
+
export declare function OrgChart(props: OrgChartProps): VNode;
|
|
161
|
+
export interface GanttTask {
|
|
162
|
+
id: string;
|
|
163
|
+
label: string;
|
|
164
|
+
start: string;
|
|
165
|
+
end: string;
|
|
166
|
+
progress?: number;
|
|
167
|
+
owner?: string;
|
|
168
|
+
}
|
|
169
|
+
export interface GanttChartProps {
|
|
170
|
+
tasks: GanttTask[];
|
|
171
|
+
title?: string;
|
|
172
|
+
description?: string;
|
|
173
|
+
class?: string;
|
|
174
|
+
onTaskClick?: (task: GanttTask) => void;
|
|
175
|
+
}
|
|
176
|
+
export declare function GanttChart(props: GanttChartProps): VNode;
|
|
177
|
+
export interface KanbanColumn {
|
|
178
|
+
id: string;
|
|
179
|
+
title: string;
|
|
180
|
+
limit?: number;
|
|
181
|
+
}
|
|
182
|
+
export interface KanbanCard {
|
|
183
|
+
id: string;
|
|
184
|
+
title: string;
|
|
185
|
+
column: string;
|
|
186
|
+
assignee?: string;
|
|
187
|
+
priority?: "low" | "medium" | "high" | "critical";
|
|
188
|
+
description?: string;
|
|
189
|
+
}
|
|
190
|
+
export interface KanbanBoardProps {
|
|
191
|
+
columns: KanbanColumn[];
|
|
192
|
+
cards: KanbanCard[];
|
|
193
|
+
title?: string;
|
|
194
|
+
description?: string;
|
|
195
|
+
class?: string;
|
|
196
|
+
onCardSelect?: (card: KanbanCard) => void;
|
|
197
|
+
onCardMove?: (cardId: string, columnId: string) => void;
|
|
198
|
+
}
|
|
199
|
+
export declare function KanbanBoard(props: KanbanBoardProps): VNode;
|
|
200
|
+
export type WorkflowNodeType = "start" | "task" | "decision" | "approval" | "end";
|
|
201
|
+
export interface WorkflowNode {
|
|
202
|
+
id: string;
|
|
203
|
+
label: string;
|
|
204
|
+
type?: WorkflowNodeType;
|
|
205
|
+
x?: number;
|
|
206
|
+
y?: number;
|
|
207
|
+
description?: string;
|
|
208
|
+
}
|
|
209
|
+
export interface WorkflowEdge {
|
|
210
|
+
id: string;
|
|
211
|
+
from: string;
|
|
212
|
+
to: string;
|
|
213
|
+
label?: string;
|
|
214
|
+
}
|
|
215
|
+
export interface WorkflowDesignerProps {
|
|
216
|
+
nodes: WorkflowNode[];
|
|
217
|
+
edges?: WorkflowEdge[];
|
|
218
|
+
selectedNode?: string;
|
|
219
|
+
title?: string;
|
|
220
|
+
description?: string;
|
|
221
|
+
class?: string;
|
|
222
|
+
onNodeSelect?: (node: WorkflowNode) => void;
|
|
223
|
+
onAddNode?: () => void;
|
|
224
|
+
}
|
|
225
|
+
export declare function WorkflowDesigner(props: WorkflowDesignerProps): VNode;
|
|
226
|
+
export type DocumentViewerKind = "pdf" | "image" | "text" | "spreadsheet" | "unknown";
|
|
227
|
+
export interface DocumentViewerFile {
|
|
228
|
+
id: string;
|
|
229
|
+
name: string;
|
|
230
|
+
kind?: DocumentViewerKind;
|
|
231
|
+
url?: string;
|
|
232
|
+
content?: string;
|
|
233
|
+
pages?: number;
|
|
234
|
+
size?: string;
|
|
235
|
+
}
|
|
236
|
+
export interface DocumentViewerProps {
|
|
237
|
+
document: DocumentViewerFile;
|
|
238
|
+
page?: number;
|
|
239
|
+
title?: string;
|
|
240
|
+
description?: string;
|
|
241
|
+
class?: string;
|
|
242
|
+
onPageChange?: (page: number) => void;
|
|
243
|
+
onDownload?: (document: DocumentViewerFile) => void;
|
|
244
|
+
}
|
|
245
|
+
export declare function DocumentViewer(props: DocumentViewerProps): VNode;
|
|
246
|
+
//# sourceMappingURL=enterprise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enterprise.d.ts","sourceRoot":"","sources":["../../src/components/enterprise.ts"],"names":[],"mappings":"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"}
|