@memobit/libs 3.0.0 → 3.1.1
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/components/Accordion/Accordion.css +1 -0
- package/dist/components/Accordion/Accordion2.js +79 -0
- package/dist/components/AlertDialog/AlertDialog.css +1 -0
- package/dist/components/AlertDialog/AlertDialog2.js +26 -0
- package/dist/components/AnalogClock/AnalogClock.css +1 -0
- package/dist/components/AnalogClock/AnalogClock2.js +293 -0
- package/dist/components/AngleSlider/AngleSlider.css +1 -0
- package/dist/components/AngleSlider/AngleSlider2.js +135 -0
- package/dist/components/AppHeader/AppHeader.css +1 -0
- package/dist/components/AppHeader/AppHeader2.js +44 -0
- package/dist/components/Auth/ChangePasswordModal/ChangePasswordModal.css +1 -0
- package/dist/components/Auth/ChangePasswordModal/ChangePasswordModal2.js +138 -0
- package/dist/components/Auth/Login/Login.css +1 -0
- package/dist/components/Auth/Login/Login2.js +155 -0
- package/dist/components/Auth/MfaSetupModal/MfaSetupModal.css +1 -0
- package/dist/components/Auth/MfaSetupModal/MfaSetupModal2.js +327 -0
- package/dist/components/AvatarInitials/AvatarInitials.css +1 -0
- package/dist/components/AvatarInitials/AvatarInitials2.js +73 -0
- package/dist/components/BMI/BMI.css +1 -0
- package/dist/components/BMI/BMI2.js +53 -0
- package/dist/components/BMI/bmiUtils.js +265 -0
- package/dist/components/Badge/Badge.css +1 -0
- package/dist/components/Badge/Badge2.js +30 -0
- package/dist/components/Banner/Banner.css +1 -0
- package/dist/components/Banner/Banner2.js +57 -0
- package/dist/components/Blockquote/Blockquote.css +1 -0
- package/dist/components/Blockquote/Blockquote2.js +55 -0
- package/dist/components/Breadcrumb/Breadcrumb.css +1 -0
- package/dist/components/Breadcrumb/Breadcrumb2.js +36 -0
- package/dist/components/BulkActionBar/BulkActionBar.css +1 -0
- package/dist/components/BulkActionBar/BulkActionBar2.js +39 -0
- package/dist/components/Button/Button.css +1 -0
- package/dist/components/Button/Button2.js +32 -0
- package/dist/components/Calendar/Calendar.css +1 -0
- package/dist/components/Calendar/Calendar2.js +279 -0
- package/dist/components/CalendarHeatmap/CalendarHeatmap.css +1 -0
- package/dist/components/CalendarHeatmap/CalendarHeatmap2.js +91 -0
- package/dist/components/Card/Card.css +1 -0
- package/dist/components/Card/Card2.js +47 -0
- package/dist/components/Checkbox/Checkbox.css +1 -0
- package/dist/components/Checkbox/Checkbox2.js +35 -0
- package/dist/components/Chip/Chip.css +1 -0
- package/dist/components/Chip/Chip2.js +31 -0
- package/dist/components/CollapsibleSection/CollapsibleSection.css +1 -0
- package/dist/components/CollapsibleSection/CollapsibleSection2.js +68 -0
- package/dist/components/ColorPicker/ColorPicker.css +1 -0
- package/dist/components/ColorPicker/ColorPicker2.js +257 -0
- package/dist/components/CommandPalette/CommandPalette.css +1 -0
- package/dist/components/CommandPalette/CommandPalette2.js +97 -0
- package/dist/components/Confetti/Confetti.css +1 -0
- package/dist/components/Confetti/Confetti2.js +175 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.css +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog2.js +37 -0
- package/dist/components/ConfirmPopover/ConfirmPopover.css +1 -0
- package/dist/components/ConfirmPopover/ConfirmPopover2.js +55 -0
- package/dist/components/ContextMenu/ContextMenu.css +1 -0
- package/dist/components/ContextMenu/ContextMenu2.js +53 -0
- package/dist/components/ContextToast/ContextToast.css +1 -0
- package/dist/components/ContextToast/ContextToast2.js +96 -0
- package/dist/components/ControlPanel/ControlPanel.css +1 -0
- package/dist/components/ControlPanel/ControlPanel.types.js +21 -0
- package/dist/components/ControlPanel/ControlPanel2.js +137 -0
- package/dist/components/ControlPanel/ControlPanelContext.js +31 -0
- package/dist/components/ControlPanel/ControlPanelFilter.js +386 -0
- package/dist/components/ControlPanel/ControlPanelNav.js +74 -0
- package/dist/components/ControlPanel/ControlPanelOptions.js +197 -0
- package/dist/components/CopyButton/CopyButton.css +1 -0
- package/dist/components/CopyButton/CopyButton2.js +48 -0
- package/dist/components/CountryWithFlag/CountryWithFlag.css +1 -0
- package/dist/components/CountryWithFlag/CountryWithFlag2.js +21 -0
- package/dist/components/DataView/DataView.CardView.js +189 -0
- package/dist/components/DataView/DataView.ColumnSelector.js +51 -0
- package/dist/components/DataView/DataView.MiniSort.js +25 -0
- package/dist/components/DataView/DataView.css +1 -0
- package/dist/components/DataView/DataView2.js +433 -0
- package/dist/components/DatePicker/DatePicker.css +1 -0
- package/dist/components/DatePicker/DatePicker2.js +151 -0
- package/dist/components/DateRangePicker/DateRangePicker.css +1 -0
- package/dist/components/DateRangePicker/DateRangePicker2.js +223 -0
- package/dist/components/DayAgenda/DayAgenda.css +1 -0
- package/dist/components/DayAgenda/DayAgenda2.js +120 -0
- package/dist/components/DiffViewer/DiffViewer.css +1 -0
- package/dist/components/DiffViewer/DiffViewer2.js +270 -0
- package/dist/components/Drawer/Drawer.css +1 -0
- package/dist/components/Drawer/Drawer2.js +119 -0
- package/dist/components/Dropdown/Dropdown.css +1 -0
- package/dist/components/Dropdown/Dropdown2.js +413 -0
- package/dist/components/EmojiPicker/EmojiPicker.css +1 -0
- package/dist/components/EmojiPicker/EmojiPicker2.js +789 -0
- package/dist/components/EmojiPicker/emojiKeywords/activities.js +508 -0
- package/dist/components/EmojiPicker/emojiKeywords/animals.js +501 -0
- package/dist/components/EmojiPicker/emojiKeywords/food.js +540 -0
- package/dist/components/EmojiPicker/emojiKeywords/index.js +21 -0
- package/dist/components/EmojiPicker/emojiKeywords/objects.js +652 -0
- package/dist/components/EmojiPicker/emojiKeywords/people.js +488 -0
- package/dist/components/EmojiPicker/emojiKeywords/smileys.js +538 -0
- package/dist/components/EmojiPicker/emojiKeywords/symbols.js +597 -0
- package/dist/components/EmojiPicker/emojiKeywords/travel.js +507 -0
- package/dist/components/EmptyState/EmptyState.css +1 -0
- package/dist/components/EmptyState/EmptyState2.js +47 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.css +1 -0
- package/dist/components/ErrorBoundary/ErrorBoundary2.js +37 -0
- package/dist/components/EventCalendar/EventCalendar.Chip.js +45 -0
- package/dist/components/EventCalendar/EventCalendar.Month.js +118 -0
- package/dist/components/EventCalendar/EventCalendar.Week.js +131 -0
- package/dist/components/EventCalendar/EventCalendar.css +1 -0
- package/dist/components/EventCalendar/EventCalendar.helpers.js +72 -0
- package/dist/components/EventCalendar/EventCalendar2.js +157 -0
- package/dist/components/FileDropzone/FileDropzone.css +1 -0
- package/dist/components/FileDropzone/FileDropzone2.js +71 -0
- package/dist/components/Flag/Flag.css +1 -0
- package/dist/components/Flag/Flag2.js +36 -0
- package/dist/components/FloatButton/FloatButton.css +1 -0
- package/dist/components/FloatButton/FloatButton2.js +68 -0
- package/dist/components/FloatingWindow/FloatingWindow.css +1 -0
- package/dist/components/FloatingWindow/FloatingWindow2.js +203 -0
- package/dist/components/FolderBrowserModal/FolderBrowserModal.css +1 -0
- package/dist/components/FolderBrowserModal/FolderBrowserModal2.js +144 -0
- package/dist/components/Grid/Col.js +17 -0
- package/dist/components/Grid/Grid.css +1 -0
- package/dist/components/Grid/Grid2.js +28 -0
- package/dist/components/Icon/Icon.css +1 -0
- package/dist/components/Icon/Icon2.js +23 -0
- package/dist/components/IconPicker/IconPicker.css +1 -0
- package/dist/components/IconPicker/IconPicker2.js +51 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.css +1 -0
- package/dist/components/InfiniteScroll/InfiniteScroll2.js +66 -0
- package/dist/components/InputDate/InputDate.css +1 -0
- package/dist/components/InputDate/InputDate2.js +87 -0
- package/dist/components/InputEmail/InputEmail.css +1 -0
- package/dist/components/InputEmail/InputEmail2.js +73 -0
- package/dist/components/InputFile/InputFile.css +1 -0
- package/dist/components/InputFile/InputFile2.js +41 -0
- package/dist/components/InputMask/InputMask.css +1 -0
- package/dist/components/InputMask/InputMask2.js +163 -0
- package/dist/components/InputNumber/InputNumber.css +1 -0
- package/dist/components/InputNumber/InputNumber2.js +60 -0
- package/dist/components/InputPIN/InputPIN.css +1 -0
- package/dist/components/InputPIN/InputPIN2.js +121 -0
- package/dist/components/InputPassword/InputPassword.css +1 -0
- package/dist/components/InputPassword/InputPassword2.js +47 -0
- package/dist/components/InputPhone/InputPhone.css +1 -0
- package/dist/components/InputPhone/InputPhone2.js +82 -0
- package/dist/components/InputSearch/InputSearch.css +1 -0
- package/dist/components/InputSearch/InputSearch2.js +53 -0
- package/dist/components/InputText/InputText.css +1 -0
- package/dist/components/InputText/InputText2.js +47 -0
- package/dist/components/InputTextarea/InputTextarea.css +1 -0
- package/dist/components/InputTextarea/InputTextarea2.js +46 -0
- package/dist/components/InputTime/InputTime.css +1 -0
- package/dist/components/InputTime/InputTime2.js +85 -0
- package/dist/components/InputUrl/InputUrl.css +1 -0
- package/dist/components/InputUrl/InputUrl2.js +65 -0
- package/dist/components/JourneyWizard/JourneyWizard.css +1 -0
- package/dist/components/JourneyWizard/JourneyWizard2.js +147 -0
- package/dist/components/List/List.css +1 -0
- package/dist/components/List/List2.js +28 -0
- package/dist/components/Loading/Loading.css +1 -0
- package/dist/components/Loading/Loading2.js +11 -0
- package/dist/components/MenuHamburger/MenuHamburger.css +1 -0
- package/dist/components/MenuHamburger/MenuHamburger2.js +65 -0
- package/dist/components/MiniSort/MiniSort.css +1 -0
- package/dist/components/MiniSort/MiniSort2.js +52 -0
- package/dist/components/MiniStatsCard/MiniStatsCard.css +1 -0
- package/dist/components/MiniStatsCard/MiniStatsCard2.js +67 -0
- package/dist/components/Minimap/Minimap.css +1 -0
- package/dist/components/Minimap/Minimap2.js +62 -0
- package/dist/components/Modal/Modal.css +1 -0
- package/dist/components/Modal/Modal2.js +87 -0
- package/dist/components/NavBar/NavBar.css +1 -0
- package/dist/components/NavBar/NavBar2.js +64 -0
- package/dist/components/NotificationPanel/NotificationPanel.css +1 -0
- package/dist/components/NotificationPanel/NotificationPanel2.js +66 -0
- package/dist/components/Pagination/Pagination.css +1 -0
- package/dist/components/Pagination/Pagination2.js +92 -0
- package/dist/components/PieChart/PieChart.css +1 -0
- package/dist/components/PieChart/PieChart2.js +142 -0
- package/dist/components/Popover/Popover.css +1 -0
- package/dist/components/Popover/Popover2.js +109 -0
- package/dist/components/Popover/hooks/Popover.hook.js +33 -0
- package/dist/components/ProgressBar/ProgressBar.css +1 -0
- package/dist/components/ProgressBar/ProgressBar2.js +48 -0
- package/dist/components/ProgressRing/ProgressRing.css +1 -0
- package/dist/components/ProgressRing/ProgressRing2.js +54 -0
- package/dist/components/QuantitySelector/QuantitySelector.css +1 -0
- package/dist/components/QuantitySelector/QuantitySelector2.js +94 -0
- package/dist/components/QuickAdd/QuickAdd.css +1 -0
- package/dist/components/QuickAdd/QuickAdd2.js +56 -0
- package/dist/components/QuickNumberUpdate/QuickNumberUpdate.css +1 -0
- package/dist/components/QuickNumberUpdate/QuickNumberUpdate2.js +52 -0
- package/dist/components/QuickOptionUpdate/QuickOptionUpdate.css +1 -0
- package/dist/components/QuickOptionUpdate/QuickOptionUpdate2.js +67 -0
- package/dist/components/Radio/Radio.css +1 -0
- package/dist/components/Radio/Radio2.js +36 -0
- package/dist/components/RangeSlider/RangeSlider.css +1 -0
- package/dist/components/RangeSlider/RangeSlider2.js +157 -0
- package/dist/components/Rating/Rating.css +1 -0
- package/dist/components/Rating/Rating2.js +148 -0
- package/dist/components/Rating/RatingIcon.js +102 -0
- package/dist/components/RichTextEditor/RichTextEditor.css +1 -0
- package/dist/components/RichTextEditor/RichTextEditor2.js +212 -0
- package/dist/components/RichTextEditor/RteLinkPrompt.js +42 -0
- package/dist/components/RichTextEditor/RteTableToolbar.js +95 -0
- package/dist/components/RichTextEditor/RteToolbar.js +106 -0
- package/dist/components/RichTextEditor/helpers.js +73 -0
- package/dist/components/RichTextEditor/hooks/useEditorHistory.js +39 -0
- package/dist/components/RichTextEditor/hooks/useLinkPrompt.js +61 -0
- package/dist/components/RichTextEditor/hooks/useTableOps.js +134 -0
- package/dist/components/RollingNumber/RollingNumber.css +1 -0
- package/dist/components/RollingNumber/RollingNumber2.js +71 -0
- package/dist/components/ScrollToTop/ScrollToTop.css +1 -0
- package/dist/components/ScrollToTop/ScrollToTop2.js +40 -0
- package/dist/components/Separator/Separator.css +1 -0
- package/dist/components/Separator/Separator2.js +39 -0
- package/dist/components/Sidebar/Sidebar.css +1 -0
- package/dist/components/Sidebar/Sidebar2.js +115 -0
- package/dist/components/Sidebar/SidebarContext.js +31 -0
- package/dist/components/SignalStrength/SignalStrength.css +1 -0
- package/dist/components/SignalStrength/SignalStrength2.js +56 -0
- package/dist/components/Skeleton/Skeleton.css +1 -0
- package/dist/components/Skeleton/Skeleton2.js +50 -0
- package/dist/components/Slider/Slider.css +1 -0
- package/dist/components/Slider/Slider2.js +39 -0
- package/dist/components/SplitPanel/SplitPanel.css +1 -0
- package/dist/components/SplitPanel/SplitPanel2.js +69 -0
- package/dist/components/Splitter/Splitter.css +1 -0
- package/dist/components/Splitter/Splitter2.js +89 -0
- package/dist/components/StackedBar/StackedBar.css +1 -0
- package/dist/components/StackedBar/StackedBar2.js +50 -0
- package/dist/components/Stats/Stats.css +1 -0
- package/dist/components/Stats/Stats2.js +26 -0
- package/dist/components/StickyBar/StickyBar.css +1 -0
- package/dist/components/StickyBar/StickyBar2.js +29 -0
- package/dist/components/SuggestionsList/SuggestionsList.css +1 -0
- package/dist/components/SuggestionsList/SuggestionsList2.js +121 -0
- package/dist/components/ThemeSettings/ThemeContext.js +140 -0
- package/dist/components/ThemeSettings/ThemeContextValue.js +5 -0
- package/dist/components/ThemeSettings/ThemeSettings.css +1 -0
- package/dist/components/ThemeSettings/ThemeSettings2.js +245 -0
- package/dist/components/ThemeSettings/themeConfig.js +7 -0
- package/dist/components/ThemeSettings/useTheme.js +10 -0
- package/dist/components/TimePicker/TimePicker.css +1 -0
- package/dist/components/TimePicker/TimePicker2.js +118 -0
- package/dist/components/TimePicker/TimeSpinner.js +59 -0
- package/dist/components/Timeline/Timeline.css +1 -0
- package/dist/components/Timeline/Timeline2.js +57 -0
- package/dist/components/TimelineMarkers/TimelineMarkers.css +1 -0
- package/dist/components/TimelineMarkers/TimelineMarkers2.js +73 -0
- package/dist/components/TipsOfTheDay/TipsOfTheDay.css +1 -0
- package/dist/components/TipsOfTheDay/TipsOfTheDay2.js +24 -0
- package/dist/components/Toast/Toast.css +1 -0
- package/dist/components/Toast/Toast2.js +39 -0
- package/dist/components/ToggleButtons/ToggleButtons.css +1 -0
- package/dist/components/ToggleButtons/ToggleButtons2.js +47 -0
- package/dist/components/ToggleSwitch/ToggleSwitch.css +1 -0
- package/dist/components/ToggleSwitch/ToggleSwitch2.js +27 -0
- package/dist/components/Toolbar/Toolbar.css +1 -0
- package/dist/components/Toolbar/Toolbar2.js +129 -0
- package/dist/components/Tooltip/Tooltip.css +1 -0
- package/dist/components/Tooltip/Tooltip2.js +93 -0
- package/dist/components/TourHud/TourHud.css +1 -0
- package/dist/components/TourHud/TourHud2.js +70 -0
- package/dist/components/Transition/Transition.css +1 -0
- package/dist/components/Transition/Transition2.js +68 -0
- package/dist/components/Tree/Tree.css +1 -0
- package/dist/components/Tree/Tree2.js +95 -0
- package/dist/components/VirtualList/VirtualList.css +1 -0
- package/dist/components/VirtualList/VirtualList2.js +64 -0
- package/dist/components/WHtR/WHtR.css +1 -0
- package/dist/components/WHtR/WHtR2.js +115 -0
- package/dist/contexts/AuthContext/AuthContext.js +113 -0
- package/dist/helpers/AppPersistenceStorage.js +50 -0
- package/dist/helpers/Datetime.js +114 -0
- package/dist/helpers/Format.js +21 -0
- package/dist/helpers/Highlight.js +36 -0
- package/dist/helpers/HtmlContent.js +118 -0
- package/dist/helpers/LogicalOperators.js +15 -0
- package/dist/helpers/Numbers.js +15 -0
- package/dist/helpers/Pagination.js +7 -0
- package/dist/helpers/Search.js +15 -0
- package/dist/helpers/Strings.js +10 -0
- package/dist/helpers/Urls.js +68 -0
- package/dist/helpers/VersionInfo.js +36 -0
- package/dist/hooks/useAppPersistence.js +51 -0
- package/dist/hooks/useAuth/useAuth.js +10 -0
- package/dist/hooks/useBodyScrollLock.js +31 -0
- package/dist/hooks/useBreakpoint.js +65 -0
- package/dist/hooks/useComponentEffect.js +8 -0
- package/dist/hooks/useSwipe.js +45 -0
- package/dist/index.css +1 -2
- package/dist/index.esm.js +1 -17211
- package/dist/index.js +348 -0
- package/dist/mfa.js +4 -0
- package/dist/node_modules/qrcode.react/lib/esm/index.js +979 -0
- package/dist/validators/Vin.js +69 -0
- package/dist/version.js +8 -0
- package/dist/version.json +4 -4
- package/package.json +8 -7
- package/dist/mfa.esm.js +0 -1293
- package/dist/useAuth-BBqdDG2z.js +0 -467
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import './MenuHamburger.css';
|
|
2
|
+
import { Icon as H } from "../Icon/Icon2.js";
|
|
3
|
+
import { Button as l } from "../Button/Button2.js";
|
|
4
|
+
import { ContextMenu as v } from "../ContextMenu/ContextMenu2.js";
|
|
5
|
+
import { useBreakpoint as f } from "../../hooks/useBreakpoint.js";
|
|
6
|
+
/* empty css */
|
|
7
|
+
import { useState as N } from "react";
|
|
8
|
+
import { jsx as n, jsxs as i } from "react/jsx-runtime";
|
|
9
|
+
var I = ({ icon: b = "menu-hamburger", isCompact: o, items: t, label: c, showLabel: s = !0, disableResponsive: p = !1 }) => {
|
|
10
|
+
const { isAtLeast: M } = f(), [u, m] = N(null), h = (e) => {
|
|
11
|
+
m(e.currentTarget);
|
|
12
|
+
}, g = () => {
|
|
13
|
+
m(null);
|
|
14
|
+
}, r = p ? !0 : M("tablet");
|
|
15
|
+
if (t.length === 1) {
|
|
16
|
+
const e = t[0], a = r && s;
|
|
17
|
+
return /* @__PURE__ */ n("div", {
|
|
18
|
+
className: "MenuHamburger",
|
|
19
|
+
children: /* @__PURE__ */ n(l, {
|
|
20
|
+
variant: o || !r ? "plain" : "default",
|
|
21
|
+
onClick: e.onClick,
|
|
22
|
+
icon: e.icon,
|
|
23
|
+
className: `MenuHamburger_single-item ${a ? "" : "MenuHamburger_single-item--icon-only"} ${e.isActive ? "MenuHamburger_item--active" : ""}`,
|
|
24
|
+
children: a ? e.label : ""
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const _ = (e) => {
|
|
29
|
+
e.onClick(), g();
|
|
30
|
+
}, d = r && s && !!c;
|
|
31
|
+
return /* @__PURE__ */ i("div", {
|
|
32
|
+
className: "MenuHamburger",
|
|
33
|
+
children: [/* @__PURE__ */ n(l, {
|
|
34
|
+
variant: o || !r ? "plain" : "default",
|
|
35
|
+
onClick: h,
|
|
36
|
+
icon: b,
|
|
37
|
+
className: d ? "" : "MenuHamburger_opener--icon-only",
|
|
38
|
+
children: d ? c : ""
|
|
39
|
+
}), u && /* @__PURE__ */ n(v, {
|
|
40
|
+
target: u,
|
|
41
|
+
onClose: g,
|
|
42
|
+
children: /* @__PURE__ */ n("div", {
|
|
43
|
+
className: "MenuHamburger_dropdown",
|
|
44
|
+
children: t.map((e, a) => /* @__PURE__ */ i("div", {
|
|
45
|
+
className: "MenuHamburger_entry",
|
|
46
|
+
children: [e.separator && /* @__PURE__ */ n("div", { className: "MenuHamburger_separator" }), /* @__PURE__ */ i(l, {
|
|
47
|
+
variant: "plain",
|
|
48
|
+
className: `MenuHamburger_item ${e.isActive ? "MenuHamburger_item--active" : ""}`,
|
|
49
|
+
onClick: () => _(e),
|
|
50
|
+
children: [/* @__PURE__ */ n("span", {
|
|
51
|
+
className: "MenuHamburger_item__icon",
|
|
52
|
+
children: e.icon ? /* @__PURE__ */ n(H, { name: e.icon }) : null
|
|
53
|
+
}), /* @__PURE__ */ n("span", {
|
|
54
|
+
className: "MenuHamburger_item__label",
|
|
55
|
+
children: e.label
|
|
56
|
+
})]
|
|
57
|
+
})]
|
|
58
|
+
}, a))
|
|
59
|
+
})
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
I as MenuHamburger
|
|
65
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mini-sort{align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);border:var(--spacing-1) solid var(--delimiter-color);border-radius:var(--radius);background:var(--card-background-accent-color);flex-wrap:wrap;display:inline-flex}.mini-sort--align-center{justify-content:center}.mini-sort--align-right{margin-left:auto}.mini-sort__button.button{justify-content:center;align-items:center;gap:var(--spacing-6);min-height:32px;padding:var(--spacing-4) var(--spacing-8);border-radius:calc(var(--radius) - var(--spacing-2));color:var(--body-color);cursor:pointer;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;display:inline-flex}.mini-sort__button.button:hover:not(:disabled){background:color-mix(in srgb, var(--body-accent-color) 10%, transparent);color:var(--body-color-accent)}.mini-sort__button.button:focus-visible{box-shadow:0 0 0 var(--spacing-2) color-mix(in srgb, var(--body-accent-color) 35%, transparent);outline:none}.mini-sort__button.button:disabled{cursor:not-allowed;opacity:.5}.mini-sort__button.button.is-active{background:var(--button-info-background-color);color:var(--button-info-color)}.mini-sort__button.button.is-active .mini-sort__icon{color:currentColor}.mini-sort__button.button>span{white-space:nowrap}.mini-sort__direction.button{padding:var(--spacing-4)}.mini-sort__icon{flex-shrink:0}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import './MiniSort.css';
|
|
2
|
+
import { Icon as t } from "../Icon/Icon2.js";
|
|
3
|
+
import { Button as d } from "../Button/Button2.js";
|
|
4
|
+
import { Tooltip as u } from "../Tooltip/Tooltip2.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import "react";
|
|
7
|
+
import { jsx as l, jsxs as b } from "react/jsx-runtime";
|
|
8
|
+
var j = ({ items: e, sortKey: n, sortDirection: i, onSort: r, align: m = "left", showDirectionToggle: s = !1, className: v = "" }) => e.length === 0 ? null : /* @__PURE__ */ b("div", {
|
|
9
|
+
className: [
|
|
10
|
+
"mini-sort",
|
|
11
|
+
`mini-sort--align-${m}`,
|
|
12
|
+
v
|
|
13
|
+
].filter(Boolean).join(" "),
|
|
14
|
+
children: [e.map((a, p) => {
|
|
15
|
+
const c = a.direction ?? "asc", o = s ? n === a.value : n === a.value && i === c;
|
|
16
|
+
return /* @__PURE__ */ l(u, {
|
|
17
|
+
title: `Sort by ${typeof a.label == "string" || typeof a.label == "number" ? String(a.label) : a.value}${s ? "" : ` ${c === "asc" ? "ascending" : "descending"}`}`,
|
|
18
|
+
children: /* @__PURE__ */ l(d, {
|
|
19
|
+
className: `mini-sort__button${o ? " is-active" : ""}`,
|
|
20
|
+
disabled: a.disabled,
|
|
21
|
+
icon: a.icon ? /* @__PURE__ */ l(t, {
|
|
22
|
+
className: "mini-sort__icon",
|
|
23
|
+
name: a.icon,
|
|
24
|
+
size: "sm",
|
|
25
|
+
variant: o ? "accent" : "muted"
|
|
26
|
+
}) : void 0,
|
|
27
|
+
size: "small",
|
|
28
|
+
variant: "ghost",
|
|
29
|
+
onClick: () => r(a.value, s && n === a.value ? i : c),
|
|
30
|
+
children: a.label ?? a.value
|
|
31
|
+
})
|
|
32
|
+
}, `${a.value}-${p}`);
|
|
33
|
+
}), s && /* @__PURE__ */ l(u, {
|
|
34
|
+
title: `Direction: ${i === "asc" ? "ascending" : "descending"}`,
|
|
35
|
+
children: /* @__PURE__ */ l(d, {
|
|
36
|
+
className: "mini-sort__button mini-sort__direction",
|
|
37
|
+
disabled: n === null,
|
|
38
|
+
icon: /* @__PURE__ */ l(t, {
|
|
39
|
+
className: "mini-sort__icon",
|
|
40
|
+
name: i === "asc" ? "arrow-up" : "arrow-down",
|
|
41
|
+
size: "sm",
|
|
42
|
+
variant: "accent"
|
|
43
|
+
}),
|
|
44
|
+
size: "small",
|
|
45
|
+
variant: "ghost",
|
|
46
|
+
onClick: () => n !== null && r(n, i === "asc" ? "desc" : "asc")
|
|
47
|
+
})
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
export {
|
|
51
|
+
j as MiniSort
|
|
52
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mini-stats-card__content{gap:var(--spacing-12);padding:var(--spacing-24);flex-direction:column;display:flex}@media (width<=768px){.mini-stats-card__content{gap:var(--spacing-4);padding:var(--spacing-12)}}.mini-stats-card__value-container{align-items:center;gap:var(--spacing-8);display:flex}.mini-stats-card__value{align-items:baseline;gap:var(--spacing-4);line-height:1.2;display:flex}.mini-stats-card__value-number{font-family:var(--font-family-display);font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}@media (width<=768px){.mini-stats-card__value-number{font-size:var(--font-size-lg)}}.mini-stats-card__value-unit{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);opacity:.8}@media (width<=768px){.mini-stats-card__value-unit{font-size:var(--font-size-sm)}}.mini-stats-card__value--default{color:var(--body-color)}.mini-stats-card__value--success{color:var(--rating-color-success)}.mini-stats-card__value--warning{color:var(--rating-color-warning)}.mini-stats-card__value--danger{color:var(--rating-color-danger)}.mini-stats-card__value--info{color:var(--rating-color-info)}.mini-stats-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--body-color-muted)}.mini-stats-card__trend{align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.mini-stats-card__trend-arrow{font-size:var(--font-size-md)}.mini-stats-card__trend--success{color:var(--rating-color-success)}.mini-stats-card__trend--warning{color:var(--rating-color-warning)}.mini-stats-card__trend--danger{color:var(--rating-color-danger)}.mini-stats-card__footer{padding:var(--spacing-12) var(--spacing-24);border-top:var(--spacing-1) solid var(--border-color);justify-content:center;align-items:center;display:flex}.mini-stats-card--align-left .mini-stats-card__content{align-items:flex-start}.mini-stats-card--align-left .mini-stats-card__label{text-align:left}.mini-stats-card--align-center .mini-stats-card__content{align-items:center}.mini-stats-card--align-center .mini-stats-card__label{text-align:center}.mini-stats-card--align-right .mini-stats-card__content{align-items:flex-end}.mini-stats-card--align-right .mini-stats-card__label{text-align:right}.mini-stats-card--filled{border-color:#0000}.mini-stats-card--filled.mini-stats-card--variant-default{background-color:var(--card-background-accent-color);background-image:var(--card-tint-default-background,radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--body-accent-color) 14%, transparent) 0%, transparent 70%));border-color:color-mix(in srgb, var(--body-accent-color) 22%, transparent)}.mini-stats-card--filled.mini-stats-card--variant-success{background-color:var(--card-background-color);background-image:var(--card-tint-success-background,radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--rating-color-success) 18%, transparent) 0%, transparent 70%));border-color:color-mix(in srgb, var(--rating-color-success) 32%, transparent)}.mini-stats-card--filled.mini-stats-card--variant-warning{background-color:var(--card-background-color);background-image:var(--card-tint-warning-background,radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--rating-color-warning) 18%, transparent) 0%, transparent 70%));border-color:color-mix(in srgb, var(--rating-color-warning) 32%, transparent)}.mini-stats-card--filled.mini-stats-card--variant-danger{background-color:var(--card-background-color);background-image:var(--card-tint-danger-background,radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--rating-color-danger) 18%, transparent) 0%, transparent 70%));border-color:color-mix(in srgb, var(--rating-color-danger) 32%, transparent)}.mini-stats-card--filled.mini-stats-card--variant-info{background-color:var(--card-background-color);background-image:var(--card-tint-info-background,radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--rating-color-info) 18%, transparent) 0%, transparent 70%));border-color:color-mix(in srgb, var(--rating-color-info) 32%, transparent)}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import './MiniStatsCard.css';
|
|
2
|
+
import { Card as g } from "../Card/Card2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
var V = ({ label: o, value: _, unit: t, variant: r = "default", align: u = "center", labelPosition: e = "bottom", trend: i, trendUnit: n = "%", trendLabel: v, trendVariant: h = "success", footer: c, filled: d = !1, className: N = "" }) => {
|
|
7
|
+
const p = () => /* @__PURE__ */ s("div", {
|
|
8
|
+
className: `mini-stats-card__value mini-stats-card__value--${r}`,
|
|
9
|
+
children: [/* @__PURE__ */ a("span", {
|
|
10
|
+
className: "mini-stats-card__value-number",
|
|
11
|
+
children: _
|
|
12
|
+
}), t && /* @__PURE__ */ a("span", {
|
|
13
|
+
className: "mini-stats-card__value-unit",
|
|
14
|
+
children: t
|
|
15
|
+
})]
|
|
16
|
+
}), l = () => /* @__PURE__ */ a("div", {
|
|
17
|
+
className: "mini-stats-card__label",
|
|
18
|
+
children: o
|
|
19
|
+
}), f = () => {
|
|
20
|
+
if (i === void 0) return null;
|
|
21
|
+
const $ = i > 0, b = i < 0, m = Math.abs(i), x = v ?? (n ? `${m}${n}` : `${m}`);
|
|
22
|
+
return /* @__PURE__ */ s("div", {
|
|
23
|
+
className: `mini-stats-card__trend mini-stats-card__trend--${h}`,
|
|
24
|
+
children: [
|
|
25
|
+
$ && /* @__PURE__ */ a("span", {
|
|
26
|
+
className: "mini-stats-card__trend-arrow",
|
|
27
|
+
children: "↑"
|
|
28
|
+
}),
|
|
29
|
+
b && /* @__PURE__ */ a("span", {
|
|
30
|
+
className: "mini-stats-card__trend-arrow",
|
|
31
|
+
children: "↓"
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ a("span", {
|
|
34
|
+
className: "mini-stats-card__trend-value",
|
|
35
|
+
children: x
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
return /* @__PURE__ */ s(g, {
|
|
41
|
+
className: [
|
|
42
|
+
"mini-stats-card",
|
|
43
|
+
`mini-stats-card--align-${u}`,
|
|
44
|
+
d ? "mini-stats-card--filled" : "",
|
|
45
|
+
d ? `mini-stats-card--variant-${r}` : "",
|
|
46
|
+
N
|
|
47
|
+
].filter(Boolean).join(" "),
|
|
48
|
+
noPadding: !0,
|
|
49
|
+
children: [/* @__PURE__ */ s("div", {
|
|
50
|
+
className: "mini-stats-card__content",
|
|
51
|
+
children: [
|
|
52
|
+
e === "top" && l(),
|
|
53
|
+
/* @__PURE__ */ s("div", {
|
|
54
|
+
className: "mini-stats-card__value-container",
|
|
55
|
+
children: [p(), f()]
|
|
56
|
+
}),
|
|
57
|
+
e === "bottom" && l()
|
|
58
|
+
]
|
|
59
|
+
}), c && /* @__PURE__ */ a("div", {
|
|
60
|
+
className: "mini-stats-card__footer",
|
|
61
|
+
children: c
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
V as MiniStatsCard
|
|
67
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.minimap{gap:var(--spacing-4);padding:var(--spacing-8) var(--spacing-12);background-color:var(--card-background-color);border-bottom:1px solid var(--card-border-color);flex-direction:column;display:flex}.minimap__caption{font-size:var(--font-size-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--body-color-muted)}.minimap__track{height:var(--spacing-40);cursor:pointer;touch-action:none;position:relative}.minimap__bars{inset:0 0 var(--spacing-6) 0;align-items:flex-end;gap:var(--spacing-1);display:flex;position:absolute}.minimap__bar{min-height:var(--spacing-1);background-color:var(--body-color-muted);opacity:.4;flex:1}.minimap__bands{height:var(--spacing-4);position:absolute;bottom:0;left:0;right:0}.minimap__band{position:absolute;top:0;bottom:0}.minimap__viewport{top:calc(-1 * var(--spacing-2));bottom:calc(-1 * var(--spacing-2));background-color:color-mix(in srgb, var(--body-accent-color) 14%, transparent);border-left:var(--spacing-2) solid var(--body-accent-color);border-right:var(--spacing-2) solid var(--body-accent-color);pointer-events:none;position:absolute}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import './Minimap.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { useCallback as o, useRef as _ } from "react";
|
|
4
|
+
import { jsx as n, jsxs as g } from "react/jsx-runtime";
|
|
5
|
+
var a = (r) => Math.max(0, Math.min(1, r)), T = ({ buckets: r, viewportStart: l, viewportEnd: v, onScrub: p, bands: s, caption: d, className: P = "" }) => {
|
|
6
|
+
const h = _(null), m = _(!1), i = Math.max(0, v - l), M = Math.max(1, ...r), c = o((t) => {
|
|
7
|
+
const e = h.current;
|
|
8
|
+
if (!e) return;
|
|
9
|
+
const f = e.getBoundingClientRect(), w = a((t - f.left) / f.width);
|
|
10
|
+
p(Math.max(0, Math.min(1 - i, w - i / 2)));
|
|
11
|
+
}, [p, i]), x = o((t) => {
|
|
12
|
+
m.current = !0, t.currentTarget.setPointerCapture(t.pointerId), c(t.clientX);
|
|
13
|
+
}, [c]), N = o((t) => {
|
|
14
|
+
m.current && c(t.clientX);
|
|
15
|
+
}, [c]), u = o((t) => {
|
|
16
|
+
m.current = !1, t.currentTarget.hasPointerCapture(t.pointerId) && t.currentTarget.releasePointerCapture(t.pointerId);
|
|
17
|
+
}, []);
|
|
18
|
+
return /* @__PURE__ */ g("div", {
|
|
19
|
+
className: `minimap ${P}`.trim(),
|
|
20
|
+
children: [d && /* @__PURE__ */ n("div", {
|
|
21
|
+
className: "minimap__caption",
|
|
22
|
+
children: d
|
|
23
|
+
}), /* @__PURE__ */ g("div", {
|
|
24
|
+
ref: h,
|
|
25
|
+
className: "minimap__track",
|
|
26
|
+
onPointerDown: x,
|
|
27
|
+
onPointerMove: N,
|
|
28
|
+
onPointerUp: u,
|
|
29
|
+
onPointerCancel: u,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ n("div", {
|
|
32
|
+
className: "minimap__bars",
|
|
33
|
+
children: r.map((t, e) => /* @__PURE__ */ n("span", {
|
|
34
|
+
className: "minimap__bar",
|
|
35
|
+
style: { height: `${t / M * 100}%` }
|
|
36
|
+
}, e))
|
|
37
|
+
}),
|
|
38
|
+
s && s.length > 0 && /* @__PURE__ */ n("div", {
|
|
39
|
+
className: "minimap__bands",
|
|
40
|
+
children: s.map((t, e) => /* @__PURE__ */ n("span", {
|
|
41
|
+
className: "minimap__band",
|
|
42
|
+
style: {
|
|
43
|
+
left: `${a(t.start) * 100}%`,
|
|
44
|
+
width: `${a(t.end - t.start) * 100}%`,
|
|
45
|
+
background: t.color
|
|
46
|
+
}
|
|
47
|
+
}, e))
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ n("div", {
|
|
50
|
+
className: "minimap__viewport",
|
|
51
|
+
style: {
|
|
52
|
+
left: `${a(l) * 100}%`,
|
|
53
|
+
width: `${a(i) * 100}%`
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
T as Minimap
|
|
62
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.modal-overlay{background-color:var(--backdrop-color);z-index:1100;padding:var(--spacing-16);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--modal-background-color);-webkit-backdrop-filter:var(--modal-backdrop-filter,none);border:var(--spacing-1) solid var(--modal-border-color);border-radius:var(--radius);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--modal-surface-box-shadow,var(--modal-box-shadow));-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;display:flex;position:relative}.modal:hover{box-shadow:var(--modal-box-shadow-hover)}.modal__header{padding:var(--spacing-16) var(--spacing-24);border-bottom:var(--spacing-1) solid var(--modal-border-color);justify-content:space-between;align-items:center;gap:var(--spacing-12);flex-shrink:0;display:flex}.modal__header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--modal-title-color,var(--modal-header-color));font-family:var(--modal-title-font-family,var(--font-family,sans-serif));font-size:var(--modal-title-font-size,var(--font-size-xl));font-style:var(--modal-title-font-style,normal);font-weight:var(--modal-title-font-weight,var(--font-weight-semibold));letter-spacing:var(--modal-title-letter-spacing,normal);text-transform:var(--modal-title-text-transform,none);flex:1;margin:0;overflow:hidden}.modal__close{width:32px;height:32px;padding:var(--spacing-4);flex-shrink:0;justify-content:center;font-size:1.5rem;line-height:1}.modal__body{box-sizing:border-box;padding:var(--spacing-16);-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.modal__body--no-padding{padding:0}.modal__footer{padding:var(--spacing-24);gap:var(--spacing-16);border-top:var(--spacing-1) solid var(--modal-border-color);flex-shrink:0;justify-content:flex-end;display:flex}.modal--small{max-width:400px}.modal--small h2{color:var(--modal-title-color,var(--modal-header-color));font-size:var(--modal-title-font-size);margin:0}.modal--medium{max-width:768px}.modal--large{max-width:900px}.modal--auto{max-width:fit-content}.modal--full-height{height:100%}@media (width<=768px){.modal-overlay,.modal__body{padding:var(--spacing-8)}.modal__body--no-padding{padding:0}.modal__footer{justify-content:space-between}}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import './Modal.css';
|
|
2
|
+
import { Icon as L } from "../Icon/Icon2.js";
|
|
3
|
+
import { useBodyScrollLock as P } from "../../hooks/useBodyScrollLock.js";
|
|
4
|
+
import { useComponentEffect as R } from "../../hooks/useComponentEffect.js";
|
|
5
|
+
import { Button as c } from "../Button/Button2.js";
|
|
6
|
+
import { Tooltip as j } from "../Tooltip/Tooltip2.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import { useEffect as w, useRef as h } from "react";
|
|
9
|
+
import { jsx as o, jsxs as i } from "react/jsx-runtime";
|
|
10
|
+
import { createPortal as B } from "react-dom";
|
|
11
|
+
var H = ({ children: r, className: k, fullHeight: p = !1, isOpen: a, noPadding: C = !1, onClose: t, onOverlayClick: _, primary: l, secondary: e, size: b = "auto", tertiary: n, title: g, titleIcon: m, usePortal: x = !1 }) => {
|
|
12
|
+
const E = R("Modal");
|
|
13
|
+
P(a);
|
|
14
|
+
const N = h(null), s = h(null);
|
|
15
|
+
if (w(() => {
|
|
16
|
+
if (!a) return;
|
|
17
|
+
const d = (u) => {
|
|
18
|
+
if (u.key !== "Escape" || !t) return;
|
|
19
|
+
const v = document.querySelectorAll(".modal-overlay");
|
|
20
|
+
v[v.length - 1] === s.current && (u.stopPropagation(), t());
|
|
21
|
+
};
|
|
22
|
+
return document.addEventListener("keydown", d), () => document.removeEventListener("keydown", d);
|
|
23
|
+
}, [a, t]), !a) return null;
|
|
24
|
+
const $ = l || e || n, f = /* @__PURE__ */ o("div", {
|
|
25
|
+
ref: s,
|
|
26
|
+
className: "modal-overlay",
|
|
27
|
+
onClick: _,
|
|
28
|
+
children: /* @__PURE__ */ i("div", {
|
|
29
|
+
ref: N,
|
|
30
|
+
className: `modal modal--${b} ${p ? "modal--full-height" : ""} ${k || ""} ${E}`,
|
|
31
|
+
onClick: (d) => d.stopPropagation(),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ i("div", {
|
|
34
|
+
className: "modal__header",
|
|
35
|
+
children: [/* @__PURE__ */ i("h2", { children: [
|
|
36
|
+
m ? /* @__PURE__ */ o(L, { name: m }) : null,
|
|
37
|
+
" ",
|
|
38
|
+
g
|
|
39
|
+
] }), /* @__PURE__ */ o(j, {
|
|
40
|
+
title: "Close modal",
|
|
41
|
+
children: /* @__PURE__ */ o(c, {
|
|
42
|
+
className: "modal__close",
|
|
43
|
+
icon: "clear",
|
|
44
|
+
onClick: t,
|
|
45
|
+
size: "medium",
|
|
46
|
+
variant: "ghost"
|
|
47
|
+
})
|
|
48
|
+
})]
|
|
49
|
+
}),
|
|
50
|
+
r != null && /* @__PURE__ */ o("div", {
|
|
51
|
+
className: `modal__body ${C ? "modal__body--no-padding" : ""}`,
|
|
52
|
+
children: r
|
|
53
|
+
}),
|
|
54
|
+
$ && /* @__PURE__ */ i("div", {
|
|
55
|
+
className: "modal__footer",
|
|
56
|
+
children: [
|
|
57
|
+
n && /* @__PURE__ */ o(c, {
|
|
58
|
+
variant: n.variant || "default",
|
|
59
|
+
icon: n.icon,
|
|
60
|
+
onClick: n.onClick,
|
|
61
|
+
disabled: n.disabled,
|
|
62
|
+
children: n.text
|
|
63
|
+
}),
|
|
64
|
+
e && /* @__PURE__ */ o(c, {
|
|
65
|
+
variant: e.variant || "default",
|
|
66
|
+
icon: e.icon || "clear",
|
|
67
|
+
onClick: e.onClick,
|
|
68
|
+
disabled: e.disabled,
|
|
69
|
+
children: e.text
|
|
70
|
+
}),
|
|
71
|
+
l && /* @__PURE__ */ o(c, {
|
|
72
|
+
variant: l.variant || "success",
|
|
73
|
+
icon: l.icon || "checkmark",
|
|
74
|
+
onClick: l.onClick,
|
|
75
|
+
disabled: l.disabled,
|
|
76
|
+
children: l.text
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
return x ? B(f, document.body) : f;
|
|
84
|
+
};
|
|
85
|
+
export {
|
|
86
|
+
H as Modal
|
|
87
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.navbar{align-items:center;gap:var(--spacing-24);width:100%;padding:var(--spacing-12) var(--spacing-24);background:var(--card-background-color);border-bottom:var(--spacing-1) solid var(--delimiter-color);box-sizing:border-box;z-index:100;display:flex}.navbar--no-padding{padding:0}.navbar--fixed{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--card-background-color) 85%, transparent);position:fixed;top:0;left:0;right:0}.navbar--sticky{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--card-background-color) 85%, transparent);position:sticky;top:0}.navbar--static{position:static}.navbar__logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--body-color);flex-shrink:0;align-items:center;display:flex}.navbar__items{flex:1;align-items:center;min-width:0;display:flex}.navbar__item{align-self:stretch;align-items:center;gap:var(--spacing-8);padding:var(--spacing-12) var(--spacing-16);background-color:var(--button-default-background-color);color:var(--button-default-color);border:none;border-bottom:var(--spacing-1) solid var(--button-default-border-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:0;text-decoration:none;display:flex;position:relative}.navbar__item:hover:not(.navbar__item--disabled){color:var(--button-default-hover-color);background-color:var(--button-default-hover-background-color);border-bottom-color:var(--button-default-hover-border-color);z-index:1;transform:translateY(-1px)}.navbar__item:active:not(.navbar__item--disabled){transform:translateY(0)}.navbar__item--active{color:var(--body-accent-color);z-index:1}.navbar__item--active:after{content:"";height:var(--spacing-2);background:var(--body-accent-color);border-radius:var(--radius-full);position:absolute;bottom:0;left:0;right:0}.navbar__item--disabled{opacity:.6;cursor:not-allowed}.navbar__item--expand{color:var(--body-accent-color);font-style:italic}.navbar__item-icon{font-size:var(--font-size-lg);flex-shrink:0;line-height:1}.navbar__item-label{flex-shrink:0}.navbar__actions{align-items:center;gap:var(--spacing-12);flex-shrink:0;display:flex}@media (width<=768px){.navbar{gap:var(--spacing-12);padding:var(--spacing-8) var(--spacing-16)}.navbar--no-padding{padding:0}.navbar__items{scrollbar-width:none;overflow-x:auto}.navbar__items::-webkit-scrollbar{display:none}.navbar__item{padding:var(--spacing-4) var(--spacing-12);font-size:var(--font-size-sm)}}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import './NavBar.css';
|
|
2
|
+
import { Icon as u } from "../Icon/Icon2.js";
|
|
3
|
+
import { Button as o } from "../Button/Button2.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { useState as x } from "react";
|
|
6
|
+
import { jsx as n, jsxs as i } from "react/jsx-runtime";
|
|
7
|
+
var j = ({ items: r, logo: d, actions: t, position: b = "static", className: m = "", renderItem: v, collapsible: e = !1, noPadding: f = !1 }) => {
|
|
8
|
+
const [s, l] = x(!1), h = (a) => {
|
|
9
|
+
a.disabled || (a.onClick && a.onClick(), e && l(!1));
|
|
10
|
+
}, p = (a) => /* @__PURE__ */ i("button", {
|
|
11
|
+
className: `navbar__item ${a.isActive ? "navbar__item--active" : ""} ${a.disabled ? "navbar__item--disabled" : ""}`,
|
|
12
|
+
onClick: () => h(a),
|
|
13
|
+
disabled: a.disabled,
|
|
14
|
+
children: [a.icon && /* @__PURE__ */ n("span", {
|
|
15
|
+
className: "navbar__item-icon",
|
|
16
|
+
children: a.icon ? /* @__PURE__ */ n(u, { name: a.icon }) : null
|
|
17
|
+
}), /* @__PURE__ */ n("span", {
|
|
18
|
+
className: "navbar__item-label",
|
|
19
|
+
children: a.label
|
|
20
|
+
})]
|
|
21
|
+
}, a.id), N = e && !s ? r.filter((a, c) => c === 0 || a.isActive) : r, _ = e && !s ? r.filter((a, c) => c > 0 && !a.isActive).length : 0;
|
|
22
|
+
return /* @__PURE__ */ i("nav", {
|
|
23
|
+
className: `navbar navbar--${b} ${m} ${f ? "navbar--no-padding" : ""}`,
|
|
24
|
+
children: [
|
|
25
|
+
d && /* @__PURE__ */ n("div", {
|
|
26
|
+
className: "navbar__logo",
|
|
27
|
+
children: d
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ i("div", {
|
|
30
|
+
className: "navbar__items",
|
|
31
|
+
children: [
|
|
32
|
+
N.map((a) => v ? v(a) : p(a)),
|
|
33
|
+
e && !s && _ > 0 && /* @__PURE__ */ n(o, {
|
|
34
|
+
className: "navbar__item navbar__item--expand",
|
|
35
|
+
onClick: () => l(!0),
|
|
36
|
+
children: /* @__PURE__ */ i("span", {
|
|
37
|
+
className: "navbar__item-label",
|
|
38
|
+
children: [
|
|
39
|
+
"+",
|
|
40
|
+
_,
|
|
41
|
+
" more"
|
|
42
|
+
]
|
|
43
|
+
})
|
|
44
|
+
}),
|
|
45
|
+
e && s && /* @__PURE__ */ n(o, {
|
|
46
|
+
className: "navbar__item navbar__item--expand",
|
|
47
|
+
onClick: () => l(!1),
|
|
48
|
+
children: /* @__PURE__ */ n("span", {
|
|
49
|
+
className: "navbar__item-label",
|
|
50
|
+
children: "− Less"
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
}),
|
|
55
|
+
t && /* @__PURE__ */ n("div", {
|
|
56
|
+
className: "navbar__actions",
|
|
57
|
+
children: t
|
|
58
|
+
})
|
|
59
|
+
]
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
j as NavBar
|
|
64
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.NotificationPanel{position:relative}.NotificationPanel__button{align-items:center;gap:var(--spacing-8);border:1px solid var(--border-color);border-radius:var(--radius);background:var(--card-background-color);color:var(--body-title-color);padding:var(--spacing-8) var(--spacing-12);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex}.NotificationPanel__button--critical{border-color:color-mix(in srgb, var(--button-danger-border-color) 55%, var(--border-color));background:color-mix(in srgb, var(--button-danger-border-color) 12%, transparent)}.NotificationPanel__badge{min-width:var(--spacing-20);height:var(--spacing-20);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--button-danger-background-color);color:var(--button-danger-color);padding:0 var(--spacing-4);justify-content:center;align-items:center;display:inline-flex}.NotificationPanel__backdrop{z-index:9998;position:fixed;inset:0}.NotificationPanel__panel{z-index:9999;background:var(--card-background-color);border:1px solid var(--border-color);border-radius:var(--radius);width:min(420px,80vw);box-shadow:var(--card-box-shadow);padding:var(--spacing-12);position:fixed;top:0;left:0}.NotificationPanel__title{margin:0 0 var(--spacing-8) 0;font-size:var(--font-size-sm);color:var(--body-title-color);font-weight:var(--font-weight-medium)}.NotificationPanel__list{gap:var(--spacing-4);flex-direction:column;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.NotificationPanel__list::-webkit-scrollbar{width:var(--scrollbar-size)}.NotificationPanel__list::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.NotificationPanel__list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:var(--scrollbar-radius)}.NotificationPanel__list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-color)}.NotificationPanel__list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color)}.NotificationPanel__item{font-size:var(--font-size-sm);color:var(--body-color);padding:var(--spacing-8);border-radius:var(--radius-sm);border:1px solid #0000}.NotificationPanel__item--critical{border-color:color-mix(in srgb, var(--button-danger-border-color) 50%, var(--border-color));background:color-mix(in srgb, var(--button-danger-border-color) 10%, transparent)}.NotificationPanel__empty{color:var(--body-sub-title-color);font-size:var(--font-size-sm);margin:0}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import './NotificationPanel.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { useEffect as p, useRef as N, useState as g } from "react";
|
|
4
|
+
import { Fragment as k, jsx as n, jsxs as d } from "react/jsx-runtime";
|
|
5
|
+
import { createPortal as w } from "react-dom";
|
|
6
|
+
var S = ({ items: i, buttonLabel: _ = "Alerts", panelTitle: y = "Notifications", emptyMessage: P = "No active notifications." }) => {
|
|
7
|
+
const [o, m] = g(!1), [v, u] = g({ opacity: 0 }), s = N(null), f = N(null), b = i.some((t) => t.severity === "critical");
|
|
8
|
+
return p(() => {
|
|
9
|
+
if (!o || !s.current || !f.current) return;
|
|
10
|
+
const t = requestAnimationFrame(() => {
|
|
11
|
+
if (!s.current || !f.current) return;
|
|
12
|
+
const c = s.current.getBoundingClientRect(), a = f.current.getBoundingClientRect(), h = document.documentElement.clientWidth, R = document.documentElement.clientHeight, e = 8;
|
|
13
|
+
let l = c.bottom + e, r = c.right - a.width;
|
|
14
|
+
r < e && (r = e), r + a.width > h - e && (r = h - a.width - e), l + a.height > R - e && (l = c.top - a.height - e), l < e && (l = e), u({
|
|
15
|
+
position: "fixed",
|
|
16
|
+
top: l,
|
|
17
|
+
left: r,
|
|
18
|
+
opacity: 1
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
return () => cancelAnimationFrame(t);
|
|
22
|
+
}, [o]), p(() => {
|
|
23
|
+
if (!o) return;
|
|
24
|
+
const t = (c) => {
|
|
25
|
+
c.key === "Escape" && m(!1);
|
|
26
|
+
};
|
|
27
|
+
return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
|
|
28
|
+
}, [o]), /* @__PURE__ */ d("div", {
|
|
29
|
+
className: "NotificationPanel",
|
|
30
|
+
children: [/* @__PURE__ */ d("button", {
|
|
31
|
+
ref: s,
|
|
32
|
+
type: "button",
|
|
33
|
+
className: `NotificationPanel__button${b ? " NotificationPanel__button--critical" : ""}`,
|
|
34
|
+
onClick: () => {
|
|
35
|
+
u({ opacity: 0 }), m((t) => !t);
|
|
36
|
+
},
|
|
37
|
+
children: [_, i.length > 0 && /* @__PURE__ */ n("span", {
|
|
38
|
+
className: "NotificationPanel__badge",
|
|
39
|
+
children: i.length
|
|
40
|
+
})]
|
|
41
|
+
}), o && w(/* @__PURE__ */ d(k, { children: [/* @__PURE__ */ n("div", {
|
|
42
|
+
className: "NotificationPanel__backdrop",
|
|
43
|
+
onClick: () => m(!1)
|
|
44
|
+
}), /* @__PURE__ */ d("div", {
|
|
45
|
+
ref: f,
|
|
46
|
+
className: "NotificationPanel__panel",
|
|
47
|
+
style: v,
|
|
48
|
+
children: [/* @__PURE__ */ n("h4", {
|
|
49
|
+
className: "NotificationPanel__title",
|
|
50
|
+
children: y
|
|
51
|
+
}), i.length === 0 ? /* @__PURE__ */ n("p", {
|
|
52
|
+
className: "NotificationPanel__empty",
|
|
53
|
+
children: P
|
|
54
|
+
}) : /* @__PURE__ */ n("ul", {
|
|
55
|
+
className: "NotificationPanel__list",
|
|
56
|
+
children: i.map((t) => /* @__PURE__ */ n("li", {
|
|
57
|
+
className: `NotificationPanel__item${t.severity === "critical" ? " NotificationPanel__item--critical" : ""}`,
|
|
58
|
+
children: t.message
|
|
59
|
+
}, t.id))
|
|
60
|
+
})]
|
|
61
|
+
})] }), document.body)]
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
export {
|
|
65
|
+
S as NotificationPanel
|
|
66
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pagination{align-items:center;gap:var(--spacing-12);flex-wrap:wrap;justify-content:space-around;width:100%;display:flex}.pagination__pages{justify-content:center;align-items:center;gap:var(--spacing-8);flex:1;display:flex}.pagination--left .pagination__pages{justify-content:flex-start}.pagination--center .pagination__pages{flex:none;justify-content:center}.pagination--right{flex-direction:row-reverse}.pagination--right .pagination__pages{justify-content:flex-end}.pagination .page-info{color:var(--body-color);font-size:var(--font-size-sm)}.pagination__page-size{align-items:center;gap:var(--spacing-8);font-size:var(--font-size-sm);color:var(--body-color);display:flex}.pagination__page-size .dropdown-container{min-width:120px}@media (width>=769px) and (width<=1024px){.pagination__pages{flex-wrap:wrap}.pagination .page-info{text-align:center;width:100%;margin-top:var(--spacing-8)}}@media (width<=768px){.pagination{flex-direction:column;align-items:stretch}.pagination__pages{flex-wrap:wrap;justify-content:center}.pagination__page-size{justify-content:center}}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import './Pagination.css';
|
|
2
|
+
import { Button as u } from "../Button/Button2.js";
|
|
3
|
+
import { useBreakpoint as I } from "../../hooks/useBreakpoint.js";
|
|
4
|
+
import { Dropdown as O } from "../Dropdown/Dropdown2.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { useCallback as y, useEffect as H, useRef as L, useState as R } from "react";
|
|
7
|
+
import { jsx as t, jsxs as c } from "react/jsx-runtime";
|
|
8
|
+
var U = 45, V = 120, j = 45, C = 45, D = 8, G = 4, F = ({ currentPage: i, totalPages: r, totalItems: p, onPageChange: d, showPagesNumbers: M = !1, pageSizeOptions: o, pageSize: m, onPageSizeChange: v, pageSizeLabel: N = "Rows", horizontalAlign: x = "left" }) => {
|
|
9
|
+
const { isAtLeast: a, isMobile: A } = I(), f = L(null), [l, W] = R(A ? 0 : 2), h = y(() => {
|
|
10
|
+
const s = f.current, e = s?.parentElement;
|
|
11
|
+
if (!s || !e) return;
|
|
12
|
+
let n = 0;
|
|
13
|
+
for (const T of e.children) T !== s && (n += T.offsetWidth + D);
|
|
14
|
+
const w = e.clientWidth - n - ((a("desktop") ? V : j) * 2 + U * 2 + C * 2 + D * 6), B = Math.floor(w / 53), E = Math.min(G, Math.max(0, Math.floor(B / 2)));
|
|
15
|
+
W(E);
|
|
16
|
+
}, [a]);
|
|
17
|
+
H(() => {
|
|
18
|
+
const s = f.current, e = s?.parentElement;
|
|
19
|
+
if (!s || !e) return;
|
|
20
|
+
const n = new ResizeObserver(() => {
|
|
21
|
+
h();
|
|
22
|
+
});
|
|
23
|
+
return n.observe(s), n.observe(e), h(), () => n.disconnect();
|
|
24
|
+
}, [h]);
|
|
25
|
+
const b = o && m !== void 0 && v, _ = o?.map((s) => ({
|
|
26
|
+
label: `${s}`,
|
|
27
|
+
value: s
|
|
28
|
+
})), k = () => {
|
|
29
|
+
const s = [], e = [];
|
|
30
|
+
for (let n = Math.max(2, i - l); n <= Math.min(r - 1, i + l); n++) s.push(n);
|
|
31
|
+
return i - l > 2 ? e.push(1, "...") : e.push(1), e.push(...s), i + l < r - 1 ? e.push("...", r) : r > 1 && e.push(r), e;
|
|
32
|
+
};
|
|
33
|
+
return p !== void 0 && o?.length && p <= Math.min(...o) || r <= 1 && !b ? null : /* @__PURE__ */ c("div", {
|
|
34
|
+
className: `pagination pagination--${x}`,
|
|
35
|
+
children: [
|
|
36
|
+
r > 1 && /* @__PURE__ */ c("div", {
|
|
37
|
+
className: "pagination__pages",
|
|
38
|
+
ref: f,
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ t(u, {
|
|
41
|
+
variant: "default",
|
|
42
|
+
borders: "sharp",
|
|
43
|
+
disabled: i === 1,
|
|
44
|
+
icon: "previous",
|
|
45
|
+
onClick: () => d(i - 1),
|
|
46
|
+
children: a("desktop") ? "Previous" : ""
|
|
47
|
+
}),
|
|
48
|
+
k().map((s, e) => /* @__PURE__ */ t(u, {
|
|
49
|
+
borders: "sharp",
|
|
50
|
+
variant: s === i ? "warning" : "default",
|
|
51
|
+
disabled: typeof s == "string",
|
|
52
|
+
onClick: () => typeof s == "number" && d(s),
|
|
53
|
+
children: s
|
|
54
|
+
}, e)),
|
|
55
|
+
/* @__PURE__ */ t(u, {
|
|
56
|
+
variant: "default",
|
|
57
|
+
borders: "sharp",
|
|
58
|
+
disabled: i === r,
|
|
59
|
+
sufixIcon: "next",
|
|
60
|
+
onClick: () => d(i + 1),
|
|
61
|
+
children: a("desktop") ? "Next" : ""
|
|
62
|
+
})
|
|
63
|
+
]
|
|
64
|
+
}),
|
|
65
|
+
b && _ && /* @__PURE__ */ c("div", {
|
|
66
|
+
className: "pagination__page-size",
|
|
67
|
+
children: [/* @__PURE__ */ t("span", { children: N }), /* @__PURE__ */ t(O, {
|
|
68
|
+
name: "pageSize",
|
|
69
|
+
options: _,
|
|
70
|
+
value: m,
|
|
71
|
+
searchable: !1,
|
|
72
|
+
usePortal: !1,
|
|
73
|
+
onChange: (s) => {
|
|
74
|
+
s && !Array.isArray(s) && v(Number(s.value));
|
|
75
|
+
}
|
|
76
|
+
})]
|
|
77
|
+
}),
|
|
78
|
+
M && /* @__PURE__ */ c("span", {
|
|
79
|
+
className: "page-info",
|
|
80
|
+
children: [
|
|
81
|
+
"Page ",
|
|
82
|
+
i,
|
|
83
|
+
" of ",
|
|
84
|
+
r
|
|
85
|
+
]
|
|
86
|
+
})
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
export {
|
|
91
|
+
F as Pagination
|
|
92
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pie-chart{color:var(--body-color);justify-content:center;align-items:center;display:inline-flex}.pie-chart svg{display:block;overflow:visible}.pie-chart--small{--pie-chart-label-font-size:var(--font-size-xs);--pie-chart-empty-label-font-size:var(--font-size-xs)}.pie-chart--medium{--pie-chart-label-font-size:var(--font-size-sm);--pie-chart-empty-label-font-size:var(--font-size-sm)}.pie-chart--large{--pie-chart-label-font-size:var(--font-size-md);--pie-chart-empty-label-font-size:var(--font-size-md)}.pie-chart__slice{stroke:var(--card-background-color);stroke-linejoin:round}.pie-chart__empty-circle{fill:var(--progress-bar-background-color);stroke:var(--delimiter-color);stroke-width:var(--spacing-1)}.pie-chart__empty-label{fill:var(--body-color-muted);font-size:var(--pie-chart-empty-label-font-size);font-weight:var(--font-weight-semibold)}.pie-chart__value-label{font-size:var(--pie-chart-label-font-size);font-weight:var(--font-weight-semibold);pointer-events:none}.pie-chart__value-label--inside{fill:#fff;paint-order:stroke;stroke:#0000008c;stroke-linejoin:round;stroke-width:3px}.pie-chart__value-label--outside{stroke:none}.pie-chart__leader-line{stroke-width:var(--spacing-1);stroke-linecap:round}
|