@memobit/libs 3.0.0 → 3.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/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 +138 -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,245 @@
|
|
|
1
|
+
import './ThemeSettings.css';
|
|
2
|
+
import { useTheme as H } from "./useTheme.js";
|
|
3
|
+
import { Checkbox as Q } from "../Checkbox/Checkbox2.js";
|
|
4
|
+
import { Dropdown as V } from "../Dropdown/Dropdown2.js";
|
|
5
|
+
import { InputSearch as W } from "../InputSearch/InputSearch2.js";
|
|
6
|
+
import { Drawer as K } from "../Drawer/Drawer2.js";
|
|
7
|
+
import { FAVORITE_THEMES as L, THEME_CONFIGS as U, getThemeAppearance as B } from "./themeConfig.js";
|
|
8
|
+
import { ToggleSwitch as k } from "../ToggleSwitch/ToggleSwitch2.js";
|
|
9
|
+
/* empty css */
|
|
10
|
+
import { useEffect as x, useMemo as J, useRef as R, useState as v } from "react";
|
|
11
|
+
import { Fragment as X, jsx as t, jsxs as a } from "react/jsx-runtime";
|
|
12
|
+
import { previewPalettes as Y } from "@memobit/themes";
|
|
13
|
+
var Z = [
|
|
14
|
+
{
|
|
15
|
+
value: "all",
|
|
16
|
+
label: "All"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
value: "light",
|
|
20
|
+
label: "Light"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
value: "dark",
|
|
24
|
+
label: "Dark"
|
|
25
|
+
}
|
|
26
|
+
], de = ({ isOpen: r, onClose: g, allowedThemes: d, currentApp: o, showEffects: I = !0, showSearch: w = !0, showFavorites: b = !0, showAppearanceFilter: P = !0 }) => {
|
|
27
|
+
const { theme: f, effects: n, setPreviewTheme: $, setPreviewEffects: N, commitPreview: M, clearPreview: D } = H(), O = ["Card", "Modal"], j = [
|
|
28
|
+
{
|
|
29
|
+
label: "None",
|
|
30
|
+
value: ""
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "Note Container",
|
|
34
|
+
value: "note-container-effect"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: "Infuse",
|
|
38
|
+
value: "infuse-effect"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: "Up Lift",
|
|
42
|
+
value: "up-lift-effect"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
label: "Glow",
|
|
46
|
+
value: "glow-effect"
|
|
47
|
+
}
|
|
48
|
+
], [i, C] = v(""), [m, y] = v(!1), [h, S] = v(!1), [c, F] = v("all"), E = R(null), p = R(!1), _ = o?.trim().toLowerCase() ?? "", T = J(() => {
|
|
49
|
+
let e = U;
|
|
50
|
+
if (d && d.length > 0) {
|
|
51
|
+
const s = new Set(d);
|
|
52
|
+
e = e.filter((l) => s.has(l.value));
|
|
53
|
+
}
|
|
54
|
+
if (m && (e = e.filter((s) => L.has(s.value))), h && _ && (e = e.filter((s) => (s.recommendedApps ?? []).some((l) => l.toLowerCase() === _))), c !== "all" && (e = e.filter((s) => B(s.value) === c)), i.trim()) {
|
|
55
|
+
const s = i.toLowerCase().trim();
|
|
56
|
+
e = e.filter((l) => l.label.toLowerCase().includes(s) || (l.recommendedApps ?? []).some((u) => u.toLowerCase().includes(s)));
|
|
57
|
+
}
|
|
58
|
+
return e;
|
|
59
|
+
}, [
|
|
60
|
+
i,
|
|
61
|
+
m,
|
|
62
|
+
h,
|
|
63
|
+
_,
|
|
64
|
+
c,
|
|
65
|
+
d
|
|
66
|
+
]);
|
|
67
|
+
x(() => {
|
|
68
|
+
r ? (C(""), y(!1), S(!1), F("all")) : p.current = !1;
|
|
69
|
+
}, [r]), x(() => {
|
|
70
|
+
if (!r || i || m || h || c !== "all" || p.current) return;
|
|
71
|
+
const e = window.requestAnimationFrame(() => {
|
|
72
|
+
E.current?.scrollIntoView({
|
|
73
|
+
block: "center",
|
|
74
|
+
inline: "nearest"
|
|
75
|
+
}), p.current = !0;
|
|
76
|
+
});
|
|
77
|
+
return () => window.cancelAnimationFrame(e);
|
|
78
|
+
}, [
|
|
79
|
+
r,
|
|
80
|
+
i,
|
|
81
|
+
m,
|
|
82
|
+
h,
|
|
83
|
+
c,
|
|
84
|
+
f
|
|
85
|
+
]);
|
|
86
|
+
const q = (e) => {
|
|
87
|
+
$(e);
|
|
88
|
+
}, z = (e) => {
|
|
89
|
+
const s = !e || Array.isArray(e) ? "" : e.value;
|
|
90
|
+
N({
|
|
91
|
+
effect: s,
|
|
92
|
+
components: n.components
|
|
93
|
+
});
|
|
94
|
+
}, G = (e, s) => {
|
|
95
|
+
const l = s ? [...n.components, e] : n.components.filter((u) => u !== e);
|
|
96
|
+
N({
|
|
97
|
+
effect: n.effect,
|
|
98
|
+
components: l
|
|
99
|
+
});
|
|
100
|
+
}, A = () => {
|
|
101
|
+
D(), g();
|
|
102
|
+
};
|
|
103
|
+
return /* @__PURE__ */ t(K, {
|
|
104
|
+
isOpen: r,
|
|
105
|
+
onClose: A,
|
|
106
|
+
title: "Theme Settings",
|
|
107
|
+
position: "right",
|
|
108
|
+
width: "520px",
|
|
109
|
+
maxWidth: "calc(100vw - 32px)",
|
|
110
|
+
className: "theme-settings-drawer",
|
|
111
|
+
secondary: {
|
|
112
|
+
text: "Cancel",
|
|
113
|
+
variant: "default",
|
|
114
|
+
onClick: A,
|
|
115
|
+
icon: "clear"
|
|
116
|
+
},
|
|
117
|
+
primary: {
|
|
118
|
+
text: "Save changes",
|
|
119
|
+
variant: "success",
|
|
120
|
+
onClick: () => {
|
|
121
|
+
M(), g();
|
|
122
|
+
},
|
|
123
|
+
icon: "save"
|
|
124
|
+
},
|
|
125
|
+
children: /* @__PURE__ */ t("div", {
|
|
126
|
+
className: "theme-settings",
|
|
127
|
+
children: /* @__PURE__ */ a("div", {
|
|
128
|
+
className: "theme-settings__content",
|
|
129
|
+
children: [/* @__PURE__ */ a("div", {
|
|
130
|
+
className: "theme-settings__section",
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ t("label", { children: "Select Theme" }),
|
|
133
|
+
(w || b || o) && /* @__PURE__ */ a("div", {
|
|
134
|
+
className: "theme-settings__toolbar",
|
|
135
|
+
children: [
|
|
136
|
+
w && /* @__PURE__ */ t(W, {
|
|
137
|
+
placeholder: "Search themes...",
|
|
138
|
+
value: i,
|
|
139
|
+
onChange: C
|
|
140
|
+
}),
|
|
141
|
+
o && /* @__PURE__ */ t(k, {
|
|
142
|
+
checked: h,
|
|
143
|
+
onChange: S,
|
|
144
|
+
onLabel: `For ${o}`,
|
|
145
|
+
offLabel: `For ${o}`,
|
|
146
|
+
size: "small"
|
|
147
|
+
}),
|
|
148
|
+
b && /* @__PURE__ */ t(k, {
|
|
149
|
+
checked: m,
|
|
150
|
+
onChange: y,
|
|
151
|
+
onLabel: "Favorites",
|
|
152
|
+
offLabel: "Favorites",
|
|
153
|
+
size: "small"
|
|
154
|
+
})
|
|
155
|
+
]
|
|
156
|
+
}),
|
|
157
|
+
P && /* @__PURE__ */ t("div", {
|
|
158
|
+
className: "theme-settings__appearance",
|
|
159
|
+
children: Z.map((e) => /* @__PURE__ */ t("button", {
|
|
160
|
+
type: "button",
|
|
161
|
+
className: `theme-settings__appearance-option ${c === e.value ? "theme-settings__appearance-option--active" : ""}`,
|
|
162
|
+
onClick: () => F(e.value),
|
|
163
|
+
children: e.label
|
|
164
|
+
}, e.value))
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ t("div", {
|
|
167
|
+
className: "theme-settings__grid",
|
|
168
|
+
children: T.length === 0 ? /* @__PURE__ */ t("div", {
|
|
169
|
+
className: "theme-settings__empty",
|
|
170
|
+
children: "No themes found"
|
|
171
|
+
}) : T.map((e) => /* @__PURE__ */ a("button", {
|
|
172
|
+
ref: f === e.value ? E : null,
|
|
173
|
+
type: "button",
|
|
174
|
+
className: `theme-settings__swatch ${f === e.value ? "theme-settings__swatch--active" : ""}`,
|
|
175
|
+
onClick: () => q(e.value),
|
|
176
|
+
children: [/* @__PURE__ */ a("div", {
|
|
177
|
+
className: "theme-settings__preview",
|
|
178
|
+
style: Y[e.value],
|
|
179
|
+
children: [
|
|
180
|
+
L.has(e.value) && /* @__PURE__ */ t("span", {
|
|
181
|
+
className: "theme-settings__favorite-badge",
|
|
182
|
+
children: "⭐"
|
|
183
|
+
}),
|
|
184
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-header" }),
|
|
185
|
+
/* @__PURE__ */ a("div", {
|
|
186
|
+
className: "theme-settings__preview-body",
|
|
187
|
+
children: [/* @__PURE__ */ a("div", {
|
|
188
|
+
className: "theme-settings__preview-card",
|
|
189
|
+
children: [
|
|
190
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-line theme-settings__preview-line--accent" }),
|
|
191
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-line" }),
|
|
192
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-line theme-settings__preview-line--short" })
|
|
193
|
+
]
|
|
194
|
+
}), /* @__PURE__ */ a("div", {
|
|
195
|
+
className: "theme-settings__preview-sidebar",
|
|
196
|
+
children: [
|
|
197
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-dot" }),
|
|
198
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-dot" }),
|
|
199
|
+
/* @__PURE__ */ t("div", { className: "theme-settings__preview-dot" })
|
|
200
|
+
]
|
|
201
|
+
})]
|
|
202
|
+
})
|
|
203
|
+
]
|
|
204
|
+
}), /* @__PURE__ */ t("div", {
|
|
205
|
+
className: "theme-settings__swatch-meta",
|
|
206
|
+
children: /* @__PURE__ */ t("span", {
|
|
207
|
+
className: "theme-settings__swatch-label",
|
|
208
|
+
children: e.label
|
|
209
|
+
})
|
|
210
|
+
})]
|
|
211
|
+
}, e.value))
|
|
212
|
+
})
|
|
213
|
+
]
|
|
214
|
+
}), I && /* @__PURE__ */ a(X, { children: [/* @__PURE__ */ a("div", {
|
|
215
|
+
className: "theme-settings__section",
|
|
216
|
+
children: [/* @__PURE__ */ t("label", {
|
|
217
|
+
htmlFor: "effect-selector",
|
|
218
|
+
children: "Component Effect"
|
|
219
|
+
}), /* @__PURE__ */ t(V, {
|
|
220
|
+
id: "effect-selector",
|
|
221
|
+
name: "effect",
|
|
222
|
+
options: j,
|
|
223
|
+
value: n.effect,
|
|
224
|
+
onChange: z,
|
|
225
|
+
placeholder: "Choose an effect"
|
|
226
|
+
})]
|
|
227
|
+
}), /* @__PURE__ */ a("div", {
|
|
228
|
+
className: "theme-settings__section",
|
|
229
|
+
children: [/* @__PURE__ */ t("label", { children: "Apply Effect To:" }), /* @__PURE__ */ t("div", {
|
|
230
|
+
className: "theme-settings__components",
|
|
231
|
+
children: O.map((e) => /* @__PURE__ */ t(Q, {
|
|
232
|
+
label: e,
|
|
233
|
+
checked: n.components.includes(e),
|
|
234
|
+
onChange: (s) => G(e, s),
|
|
235
|
+
disabled: !n.effect
|
|
236
|
+
}, e))
|
|
237
|
+
})]
|
|
238
|
+
})] })]
|
|
239
|
+
})
|
|
240
|
+
})
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
export {
|
|
244
|
+
de as ThemeSettings
|
|
245
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ThemeContext as r } from "./ThemeContextValue.js";
|
|
2
|
+
import { useContext as t } from "react";
|
|
3
|
+
var i = () => {
|
|
4
|
+
const e = t(r);
|
|
5
|
+
if (e === void 0) throw new Error("useTheme must be used within a ThemeProvider");
|
|
6
|
+
return e;
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
i as useTheme
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--radius-sm:4px;--radius:8px;--radius-full:9999px;--checkbox-size:18px;--radio-size:18px;--body-background-glow:none;--spacing-1:1px;--spacing-2:2px;--spacing-4:4px;--spacing-6:6px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-32:32px;--spacing-40:40px;--spacing-48:48px;--spacing-60:60px;--spacing-64:64px;--spacing-80:80px;--spacing-100:100px;--spacing-200:200px;--spacing-300:300px;--spacing-400:400px;--font-size-xxs:.625rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--font-size-xxxl:3rem;--font-family-display:var(--font-family,sans-serif);--font-family-mono:ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--form-control-font-family:var(--font-family,sans-serif);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-none:1;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-loose:1.8;--duration-hover:.2s;--duration-fade:.3s;--duration-slide:.4s;--transition-fast:.15s ease-in-out;--transition-moderate:.3s ease-in-out;--transition-slow:.5s ease-in-out}.time-picker{gap:var(--spacing-8);flex-direction:column;display:flex}.time-picker__header{justify-content:space-between;align-items:center;gap:var(--spacing-8);display:flex}.time-picker--with-clock .time-picker__fields{justify-content:center}.time-picker__label{color:var(--calendar-header-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.time-picker__clock-toggle{border:var(--spacing-1) solid var(--calendar-border-color);border-radius:var(--radius-sm);color:var(--calendar-day-color);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-4) var(--spacing-6);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;line-height:1;display:flex}.time-picker__clock-toggle:hover:not(:disabled){border-color:var(--calendar-day-selected-background-color)}.time-picker__clock-toggle--active{background-color:var(--calendar-day-selected-background-color);border-color:var(--calendar-day-selected-background-color);color:var(--calendar-day-selected-color)}.time-picker__clock-toggle:disabled{cursor:not-allowed;opacity:.5}.time-picker__fields{align-items:center;gap:var(--spacing-6);display:flex}.time-picker__separator{color:var(--calendar-day-disabled-color);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.time-picker__period{background-color:var(--datepicker-input-background-color);border:var(--spacing-1) solid var(--calendar-border-color);border-radius:var(--radius-sm);color:var(--calendar-day-color);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-left:var(--spacing-2);padding:var(--spacing-8) var(--spacing-12);transition:background-color var(--transition-fast), border-color var(--transition-fast)}.time-picker__period:hover:not(:disabled){background-color:var(--calendar-day-hover-background-color);border-color:var(--calendar-day-selected-background-color)}.time-picker__period:disabled{cursor:not-allowed;opacity:.5}.time-spinner{background-color:var(--datepicker-input-background-color);border:var(--spacing-1) solid var(--calendar-border-color);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:stretch;display:flex;overflow:hidden}.time-spinner:hover:not(.time-spinner--disabled),.time-spinner--active,.time-spinner:focus-within{border-color:var(--calendar-day-selected-background-color)}.time-spinner--disabled{cursor:not-allowed;opacity:.5}.time-spinner__input{color:var(--calendar-day-color);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;padding:var(--spacing-8) var(--spacing-4) var(--spacing-8) var(--spacing-8);text-align:center;width:var(--spacing-40);background-color:#0000;border:none}.time-spinner__input:focus{outline:none}.time-spinner__input:disabled{cursor:not-allowed}.time-spinner__steppers{border-left:var(--spacing-1) solid var(--calendar-border-color);flex-direction:column;display:flex}.time-spinner__step{color:var(--calendar-day-color);cursor:pointer;font-size:var(--font-size-xs);padding:0 var(--spacing-4);transition:background-color var(--transition-fast), color var(--transition-fast);background-color:#0000;border:none;flex:1;justify-content:center;align-items:center;line-height:0;display:flex}.time-spinner__step:first-child{border-bottom:var(--spacing-1) solid var(--calendar-border-color)}.time-spinner__step:hover:not(:disabled){background-color:var(--calendar-day-selected-background-color);color:var(--calendar-day-selected-color)}.time-spinner__step:disabled{cursor:not-allowed}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import './TimePicker.css';
|
|
2
|
+
import { Icon as $ } from "../Icon/Icon2.js";
|
|
3
|
+
import { AnalogClock as w } from "../AnalogClock/AnalogClock2.js";
|
|
4
|
+
import { TimeSpinner as l } from "./TimeSpinner.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { useState as x } from "react";
|
|
7
|
+
import { Fragment as j, jsx as s, jsxs as h } from "react/jsx-runtime";
|
|
8
|
+
var S = ({ className: M = "", clockSize: F = 208, collapsibleClock: k = !0, disabled: o = !1, format: c = "24h", label: a = "Time", minuteStep: u = 1, onChange: i, value: e, withClock: d = !1, withSeconds: _ = !1 }) => {
|
|
9
|
+
const [r, n] = x("hours"), [m, H] = x(!0), p = e.hours >= 12, g = d && (!k || m), N = d && k, P = !!a || N, C = (t) => {
|
|
10
|
+
if (c === "12h") {
|
|
11
|
+
const f = t % 12;
|
|
12
|
+
i({
|
|
13
|
+
...e,
|
|
14
|
+
hours: p ? f + 12 : f
|
|
15
|
+
});
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
i({
|
|
19
|
+
...e,
|
|
20
|
+
hours: t
|
|
21
|
+
});
|
|
22
|
+
}, T = () => {
|
|
23
|
+
i({
|
|
24
|
+
...e,
|
|
25
|
+
hours: p ? e.hours % 12 : e.hours % 12 + 12
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ h("div", {
|
|
29
|
+
className: `time-picker${g ? " time-picker--with-clock" : ""} ${M}`.trim(),
|
|
30
|
+
children: [
|
|
31
|
+
P && /* @__PURE__ */ h("div", {
|
|
32
|
+
className: "time-picker__header",
|
|
33
|
+
children: [a && /* @__PURE__ */ s("span", {
|
|
34
|
+
className: "time-picker__label",
|
|
35
|
+
children: a
|
|
36
|
+
}), N && /* @__PURE__ */ s("button", {
|
|
37
|
+
className: `time-picker__clock-toggle${m ? " time-picker__clock-toggle--active" : ""}`,
|
|
38
|
+
disabled: o,
|
|
39
|
+
onClick: () => H(!m),
|
|
40
|
+
title: m ? "Hide clock" : "Pick on a clock",
|
|
41
|
+
type: "button",
|
|
42
|
+
children: /* @__PURE__ */ s($, { name: "time" })
|
|
43
|
+
})]
|
|
44
|
+
}),
|
|
45
|
+
/* @__PURE__ */ h("div", {
|
|
46
|
+
className: "time-picker__fields",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ s(l, {
|
|
49
|
+
active: r === "hours",
|
|
50
|
+
disabled: o,
|
|
51
|
+
max: c === "12h" ? 12 : 23,
|
|
52
|
+
min: c === "12h" ? 1 : 0,
|
|
53
|
+
onChange: C,
|
|
54
|
+
onFocus: () => n("hours"),
|
|
55
|
+
title: "Hours",
|
|
56
|
+
value: c === "12h" ? e.hours % 12 || 12 : e.hours
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ s("span", {
|
|
59
|
+
className: "time-picker__separator",
|
|
60
|
+
children: ":"
|
|
61
|
+
}),
|
|
62
|
+
/* @__PURE__ */ s(l, {
|
|
63
|
+
active: r === "minutes",
|
|
64
|
+
disabled: o,
|
|
65
|
+
max: 59,
|
|
66
|
+
min: 0,
|
|
67
|
+
onChange: (t) => i({
|
|
68
|
+
...e,
|
|
69
|
+
minutes: t
|
|
70
|
+
}),
|
|
71
|
+
onFocus: () => n("minutes"),
|
|
72
|
+
step: u,
|
|
73
|
+
title: "Minutes",
|
|
74
|
+
value: e.minutes
|
|
75
|
+
}),
|
|
76
|
+
_ && /* @__PURE__ */ h(j, { children: [/* @__PURE__ */ s("span", {
|
|
77
|
+
className: "time-picker__separator",
|
|
78
|
+
children: ":"
|
|
79
|
+
}), /* @__PURE__ */ s(l, {
|
|
80
|
+
active: r === "seconds",
|
|
81
|
+
disabled: o,
|
|
82
|
+
max: 59,
|
|
83
|
+
min: 0,
|
|
84
|
+
onChange: (t) => i({
|
|
85
|
+
...e,
|
|
86
|
+
seconds: t
|
|
87
|
+
}),
|
|
88
|
+
onFocus: () => n("seconds"),
|
|
89
|
+
title: "Seconds",
|
|
90
|
+
value: e.seconds
|
|
91
|
+
})] }),
|
|
92
|
+
c === "12h" && /* @__PURE__ */ s("button", {
|
|
93
|
+
className: "time-picker__period",
|
|
94
|
+
disabled: o,
|
|
95
|
+
onClick: T,
|
|
96
|
+
type: "button",
|
|
97
|
+
children: p ? "PM" : "AM"
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
}),
|
|
101
|
+
g && /* @__PURE__ */ s(w, {
|
|
102
|
+
disabled: o,
|
|
103
|
+
format: c,
|
|
104
|
+
minuteStep: u,
|
|
105
|
+
mode: r,
|
|
106
|
+
onChange: i,
|
|
107
|
+
onModeChange: n,
|
|
108
|
+
showHeader: !1,
|
|
109
|
+
size: F,
|
|
110
|
+
value: e,
|
|
111
|
+
withSeconds: _
|
|
112
|
+
})
|
|
113
|
+
]
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
export {
|
|
117
|
+
S as TimePicker
|
|
118
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Icon as d } from "../Icon/Icon2.js";
|
|
2
|
+
import { useState as D } from "react";
|
|
3
|
+
import { jsx as a, jsxs as f } from "react/jsx-runtime";
|
|
4
|
+
var _ = (o) => o.toString().padStart(2, "0"), B = ({ active: o, disabled: n, max: p, min: r, onChange: c, onFocus: h, step: v = 1, title: w, value: m }) => {
|
|
5
|
+
const [i, u] = D(void 0), y = (e) => {
|
|
6
|
+
const t = p - r + 1;
|
|
7
|
+
return ((e - r) % t + t) % t + r;
|
|
8
|
+
}, s = (e) => {
|
|
9
|
+
n || (u(void 0), c(y(m + e * v)));
|
|
10
|
+
};
|
|
11
|
+
return /* @__PURE__ */ f("div", {
|
|
12
|
+
className: `time-spinner${o ? " time-spinner--active" : ""}${n ? " time-spinner--disabled" : ""}`,
|
|
13
|
+
children: [/* @__PURE__ */ a("input", {
|
|
14
|
+
className: "time-spinner__input",
|
|
15
|
+
disabled: n,
|
|
16
|
+
inputMode: "numeric",
|
|
17
|
+
onBlur: () => {
|
|
18
|
+
i !== void 0 && i !== "" && c(Math.min(Math.max(Number(i), r), p)), u(void 0);
|
|
19
|
+
},
|
|
20
|
+
onChange: (e) => {
|
|
21
|
+
const t = e.target.value.replace(/\D/g, "").slice(-2);
|
|
22
|
+
if (u(t), t === "") return;
|
|
23
|
+
const l = Number(t);
|
|
24
|
+
l >= r && l <= p && c(l);
|
|
25
|
+
},
|
|
26
|
+
onFocus: h,
|
|
27
|
+
onKeyDown: (e) => {
|
|
28
|
+
if (e.key === "ArrowUp") {
|
|
29
|
+
e.preventDefault(), s(1);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
e.key === "ArrowDown" && (e.preventDefault(), s(-1));
|
|
33
|
+
},
|
|
34
|
+
title: w,
|
|
35
|
+
type: "text",
|
|
36
|
+
value: i ?? _(m)
|
|
37
|
+
}), /* @__PURE__ */ f("span", {
|
|
38
|
+
className: "time-spinner__steppers",
|
|
39
|
+
children: [/* @__PURE__ */ a("button", {
|
|
40
|
+
className: "time-spinner__step",
|
|
41
|
+
disabled: n,
|
|
42
|
+
onClick: () => s(1),
|
|
43
|
+
tabIndex: -1,
|
|
44
|
+
type: "button",
|
|
45
|
+
children: /* @__PURE__ */ a(d, { name: "caret-up" })
|
|
46
|
+
}), /* @__PURE__ */ a("button", {
|
|
47
|
+
className: "time-spinner__step",
|
|
48
|
+
disabled: n,
|
|
49
|
+
onClick: () => s(-1),
|
|
50
|
+
tabIndex: -1,
|
|
51
|
+
type: "button",
|
|
52
|
+
children: /* @__PURE__ */ a(d, { name: "caret-down" })
|
|
53
|
+
})]
|
|
54
|
+
})]
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
export {
|
|
58
|
+
B as TimeSpinner
|
|
59
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.timeline{--item-index:0;margin:0;padding:0;list-style:none;display:flex;position:relative}.timeline--vertical{flex-direction:column;gap:0}.timeline--vertical .timeline__item{gap:0 var(--spacing-16);grid-template-columns:28px 1fr;display:grid;position:relative}.timeline--vertical .timeline__node{flex-direction:column;align-items:center;width:28px;display:flex}.timeline--vertical .timeline__connector{background:linear-gradient(to bottom, var(--border-color) 0%, transparent 100%);width:2px;margin-top:var(--spacing-4);min-height:var(--spacing-20);flex:1}.timeline--vertical .timeline__content{padding-bottom:var(--spacing-24)}.timeline--horizontal{padding-bottom:var(--spacing-8);flex-direction:row;align-items:flex-start;gap:0;overflow-x:auto}.timeline--horizontal .timeline__item{flex-direction:column;flex:1;align-items:center;min-width:120px;display:flex;position:relative}.timeline--horizontal .timeline__node{width:100%;margin-bottom:var(--spacing-12);flex-direction:row;align-items:center;display:flex}.timeline--horizontal .timeline__connector{background:linear-gradient(to right, var(--border-color) 0%, transparent 100%);height:2px;margin-left:var(--spacing-4);flex:1}.timeline--horizontal .timeline__content{text-align:center;padding:0 var(--spacing-8)}.timeline--horizontal .timeline__header{align-items:center;gap:var(--spacing-4);flex-direction:column}.timeline--horizontal .timeline__timestamp{text-align:center;display:block}.timeline--sm .timeline__dot{width:10px;height:10px}.timeline--sm .timeline__title,.timeline--sm .timeline__description{font-size:var(--font-size-xs)}.timeline--sm.timeline--horizontal .timeline__item{min-width:90px}.timeline--md .timeline__dot{width:14px;height:14px}.timeline--md .timeline__title,.timeline--md .timeline__description{font-size:var(--font-size-sm)}.timeline--md.timeline--horizontal .timeline__item{min-width:120px}.timeline--lg .timeline__dot{width:18px;height:18px}.timeline--lg .timeline__title,.timeline--lg .timeline__description{font-size:var(--font-size-md)}.timeline--lg.timeline--horizontal .timeline__item{min-width:160px}.timeline__item{transition:opacity var(--transition-moderate)}.timeline__item--active .timeline__title{color:var(--body-accent-color);font-weight:var(--font-weight-semibold)}.timeline__item--muted{opacity:.45}.timeline__dot{border-radius:var(--radius-full);border:2px solid var(--border-color);background:var(--card-background-color);z-index:1;transition:box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.timeline__dot--default{background:var(--card-background-color);border-color:var(--border-color)}.timeline__dot--info{background:var(--button-info-background-color);border-color:var(--button-info-border-color);box-shadow:0 0 0 3px #60a5fa66}.timeline__dot--success{background:var(--button-success-background-color);border-color:var(--button-success-border-color);box-shadow:0 0 0 3px #34d39966}.timeline__dot--warning{background:var(--button-warning-background-color);border-color:var(--button-warning-border-color);box-shadow:0 0 0 3px #fbbf2466}.timeline__dot--danger{background:var(--button-danger-background-color);border-color:var(--button-danger-border-color);box-shadow:0 0 0 3px #f8717166}.timeline__dot-icon{color:#fff;justify-content:center;align-items:center;font-size:.6em;line-height:1;display:flex}.timeline__connector{transition:background var(--transition-moderate)}.timeline__content{gap:var(--spacing-4);flex-direction:column;display:flex}.timeline__header{align-items:center;gap:var(--spacing-8);flex-wrap:wrap;display:flex}.timeline__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--body-color);line-height:var(--line-height-tight);transition:color var(--transition-fast)}.timeline__description{font-size:var(--font-size-sm);color:var(--body-color-muted);line-height:var(--line-height-normal);margin:0}.timeline__timestamp{font-size:var(--font-size-xs);color:var(--body-color-muted);font-weight:var(--font-weight-light);letter-spacing:.02em}.timeline__badge{padding:1px var(--spacing-8);border-radius:var(--radius-full);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;align-items:center;display:inline-flex}.timeline__badge--default{background:var(--card-background-color);color:var(--body-color-muted)}.timeline__badge--info{color:#93c5fd;background:#3b82f633}.timeline__badge--success{color:#34d399;background:#10b98126}.timeline__badge--warning{color:#fbbf24;background:#f59e0b26}.timeline__badge--danger{color:#f87171;background:#ef444426}.timeline--animated .timeline__item{opacity:0;animation:timeline-fade-in var(--duration-slide) ease forwards;animation-delay:calc(var(--item-index) * 80ms);transform:translateY(8px)}.timeline--animated.timeline--horizontal .timeline__item{transform:translate(-8px)}@keyframes timeline-fade-in{to{opacity:1;transform:translate(0)}}.timeline--animated .timeline__item--muted{animation-name:timeline-fade-in-muted}@keyframes timeline-fade-in-muted{to{opacity:.45;transform:translate(0)}}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import './Timeline.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as i, jsxs as n } from "react/jsx-runtime";
|
|
5
|
+
var d = (l = "default") => `timeline__dot timeline__dot--${l}`, v = ({ items: l, orientation: m = "vertical", size: s = "md", connected: a = !0, animated: c = !0, className: r = "" }) => /* @__PURE__ */ i("ol", {
|
|
6
|
+
className: [
|
|
7
|
+
"timeline",
|
|
8
|
+
`timeline--${m}`,
|
|
9
|
+
`timeline--${s}`,
|
|
10
|
+
a ? "timeline--connected" : "",
|
|
11
|
+
c ? "timeline--animated" : "",
|
|
12
|
+
r
|
|
13
|
+
].filter(Boolean).join(" "),
|
|
14
|
+
children: l.map((e, t) => /* @__PURE__ */ n("li", {
|
|
15
|
+
className: [
|
|
16
|
+
"timeline__item",
|
|
17
|
+
e.active ? "timeline__item--active" : "",
|
|
18
|
+
e.muted ? "timeline__item--muted" : ""
|
|
19
|
+
].filter(Boolean).join(" "),
|
|
20
|
+
style: { "--item-index": t },
|
|
21
|
+
children: [/* @__PURE__ */ n("div", {
|
|
22
|
+
className: "timeline__node",
|
|
23
|
+
children: [/* @__PURE__ */ i("div", {
|
|
24
|
+
className: d(e.variant),
|
|
25
|
+
children: e.icon ? /* @__PURE__ */ i("span", {
|
|
26
|
+
className: "timeline__dot-icon",
|
|
27
|
+
children: e.icon
|
|
28
|
+
}) : null
|
|
29
|
+
}), a && t < l.length - 1 && /* @__PURE__ */ i("div", { className: "timeline__connector" })]
|
|
30
|
+
}), /* @__PURE__ */ n("div", {
|
|
31
|
+
className: "timeline__content",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ n("div", {
|
|
34
|
+
className: "timeline__header",
|
|
35
|
+
children: [/* @__PURE__ */ i("span", {
|
|
36
|
+
className: "timeline__title",
|
|
37
|
+
children: e.title
|
|
38
|
+
}), e.badge && /* @__PURE__ */ i("span", {
|
|
39
|
+
className: `timeline__badge timeline__badge--${e.variant ?? "default"}`,
|
|
40
|
+
children: e.badge
|
|
41
|
+
})]
|
|
42
|
+
}),
|
|
43
|
+
e.description && /* @__PURE__ */ i("p", {
|
|
44
|
+
className: "timeline__description",
|
|
45
|
+
children: e.description
|
|
46
|
+
}),
|
|
47
|
+
e.timestamp && /* @__PURE__ */ i("time", {
|
|
48
|
+
className: "timeline__timestamp",
|
|
49
|
+
children: e.timestamp
|
|
50
|
+
})
|
|
51
|
+
]
|
|
52
|
+
})]
|
|
53
|
+
}, e.id))
|
|
54
|
+
});
|
|
55
|
+
export {
|
|
56
|
+
v as Timeline
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.timeline-markers{margin-left:var(--spacing-100);position:relative}.timeline-markers__track{left:calc(-1 * var(--spacing-16));width:var(--spacing-2);background:var(--delimiter-color);border-radius:var(--spacing-1);position:absolute;top:0;bottom:0}.timeline-markers__marker{left:calc(-1 * var(--spacing-100));z-index:1;width:var(--spacing-100);padding-right:var(--spacing-8);cursor:default;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.timeline-markers__dot{border-radius:50%;flex-shrink:0}.timeline-markers__dot--year{width:var(--spacing-12);height:var(--spacing-12);background:var(--body-accent-color);border:var(--spacing-2) solid var(--card-background-color);box-shadow:0 0 0 var(--spacing-2) var(--body-accent-color)}.timeline-markers__dot--date{width:var(--spacing-8);height:var(--spacing-8);background:var(--body-color-muted)}.timeline-markers__dot--small{width:var(--spacing-4);height:var(--spacing-4);background:var(--delimiter-color)}.timeline-markers__labels{align-items:flex-end;gap:var(--spacing-2);margin-right:var(--spacing-8);flex-direction:column;display:flex}.timeline-markers__label{white-space:nowrap}.timeline-markers__label--year{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--body-accent-color);background:var(--card-background-color);padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-sm);border:var(--spacing-1) solid var(--body-accent-color)}.timeline-markers__label--date{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--body-color-muted)}.timeline-markers__marker--date .timeline-markers__label{margin-right:var(--spacing-8)}.timeline-markers__separator{display:none}@media (width<=1024px){.timeline-markers{margin-left:var(--spacing-80)}.timeline-markers__track{left:calc(-1 * var(--spacing-12))}.timeline-markers__marker{left:calc(-1 * var(--spacing-80));width:var(--spacing-80);padding-right:var(--spacing-4)}.timeline-markers__label{margin-right:var(--spacing-4)}.timeline-markers__label--year{font-size:var(--font-size-xxs);padding:var(--spacing-1) var(--spacing-4)}.timeline-markers__label--date{font-size:var(--font-size-xxs)}.timeline-markers__dot--year{width:var(--spacing-8);height:var(--spacing-8)}}@media (width<=768px){.timeline-markers{margin-left:0}.timeline-markers__track,.timeline-markers__marker{display:none}.timeline-markers__separator{align-items:center;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-16);display:flex}.timeline-markers__separator:before,.timeline-markers__separator:after{content:"";height:var(--spacing-1);background:var(--delimiter-color);flex:1}.timeline-markers__separator-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--body-accent-color);white-space:nowrap}}@media print{.timeline-markers__track{background:#ccc}.timeline-markers__dot--year{box-shadow:0 0 0 var(--spacing-2) #333;background:#333}.timeline-markers__dot--date{background:#666}.timeline-markers__dot--small{background:#ccc}.timeline-markers__label--year{color:#333;background:#fff;border-color:#333}.timeline-markers__label--date{color:#666}}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import './TimelineMarkers.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { useMemo as h } from "react";
|
|
4
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
5
|
+
var u = (e) => {
|
|
6
|
+
const [a, r, l] = e.split("-").map(Number);
|
|
7
|
+
return new Date(a, r - 1, l);
|
|
8
|
+
}, p = (e, a) => a === "month" ? e.toLocaleDateString("en-US", { month: "long" }) : e.toLocaleDateString("en-US", {
|
|
9
|
+
day: "2-digit",
|
|
10
|
+
month: "short"
|
|
11
|
+
}), v = (e, a) => a === "month" ? `${e.getFullYear()}-${e.getMonth()}` : `${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`, b = (e) => e.getFullYear().toString(), g = (e, a = "day") => {
|
|
12
|
+
const r = /* @__PURE__ */ new Map();
|
|
13
|
+
let l = null, i = null;
|
|
14
|
+
return e.forEach((o, n) => {
|
|
15
|
+
const s = u(o.date), c = b(s), _ = v(s, a), d = c !== l, k = _ !== i;
|
|
16
|
+
r.set(n, {
|
|
17
|
+
showYear: d,
|
|
18
|
+
showDate: k,
|
|
19
|
+
yearLabel: d ? s.getFullYear().toString() : "",
|
|
20
|
+
dateLabel: k ? p(s, a) : ""
|
|
21
|
+
}), l = c, i = _;
|
|
22
|
+
}), r;
|
|
23
|
+
}, f = ({ marker: e, onClick: a }) => {
|
|
24
|
+
const r = (l) => {
|
|
25
|
+
l.stopPropagation(), a?.(l);
|
|
26
|
+
};
|
|
27
|
+
return e.showYear ? /* @__PURE__ */ m("div", {
|
|
28
|
+
className: "timeline-markers__marker timeline-markers__marker--year",
|
|
29
|
+
onClick: r,
|
|
30
|
+
children: [/* @__PURE__ */ m("div", {
|
|
31
|
+
className: "timeline-markers__labels",
|
|
32
|
+
children: [/* @__PURE__ */ t("span", {
|
|
33
|
+
className: "timeline-markers__label timeline-markers__label--year",
|
|
34
|
+
children: e.yearLabel
|
|
35
|
+
}), /* @__PURE__ */ t("span", {
|
|
36
|
+
className: "timeline-markers__label timeline-markers__label--date",
|
|
37
|
+
children: e.dateLabel
|
|
38
|
+
})]
|
|
39
|
+
}), /* @__PURE__ */ t("div", { className: "timeline-markers__dot timeline-markers__dot--year" })]
|
|
40
|
+
}) : e.showDate ? /* @__PURE__ */ m("div", {
|
|
41
|
+
className: "timeline-markers__marker timeline-markers__marker--date",
|
|
42
|
+
onClick: r,
|
|
43
|
+
children: [/* @__PURE__ */ t("span", {
|
|
44
|
+
className: "timeline-markers__label timeline-markers__label--date",
|
|
45
|
+
children: e.dateLabel
|
|
46
|
+
}), /* @__PURE__ */ t("div", { className: "timeline-markers__dot timeline-markers__dot--date" })]
|
|
47
|
+
}) : /* @__PURE__ */ t("div", {
|
|
48
|
+
className: "timeline-markers__marker timeline-markers__marker--empty",
|
|
49
|
+
onClick: r,
|
|
50
|
+
children: /* @__PURE__ */ t("div", { className: "timeline-markers__dot timeline-markers__dot--small" })
|
|
51
|
+
});
|
|
52
|
+
}, L = ({ marker: e }) => !e.showYear && !e.showDate ? null : /* @__PURE__ */ t("div", {
|
|
53
|
+
className: "timeline-markers__separator",
|
|
54
|
+
children: /* @__PURE__ */ t("span", {
|
|
55
|
+
className: "timeline-markers__separator-label",
|
|
56
|
+
children: e.showYear ? e.yearLabel : e.dateLabel
|
|
57
|
+
})
|
|
58
|
+
}), Y = ({ items: e, renderItem: a, className: r }) => {
|
|
59
|
+
const l = h(() => g(e), [e]);
|
|
60
|
+
return /* @__PURE__ */ m("div", {
|
|
61
|
+
className: `timeline-markers${r ? ` ${r}` : ""}`,
|
|
62
|
+
children: [/* @__PURE__ */ t("div", { className: "timeline-markers__track" }), e.map((i, o) => {
|
|
63
|
+
const n = l.get(o);
|
|
64
|
+
return n ? a(i, n) : null;
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
f as TimelineMarkerDot,
|
|
70
|
+
Y as TimelineMarkers,
|
|
71
|
+
L as TimelineMobileSeparator,
|
|
72
|
+
g as calculateTimelineMarkers
|
|
73
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.tips-of-the-day{text-align:center}.tips-of-the-day h3,.tips-of-the-day h4{margin:var(--spacing-8) 0}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import './TipsOfTheDay.css';
|
|
2
|
+
import { Icon as e } from "../Icon/Icon2.js";
|
|
3
|
+
import { Card as m } from "../Card/Card2.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import "react";
|
|
6
|
+
import { jsx as o, jsxs as t } from "react/jsx-runtime";
|
|
7
|
+
var n = (r, a) => Math.floor(Math.random() * (a - r + 1) + r), l = ({ list: r }) => {
|
|
8
|
+
const a = n(0, r.length - 1);
|
|
9
|
+
return /* @__PURE__ */ t(m, {
|
|
10
|
+
className: "tips-of-the-day",
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ t("h3", { children: [
|
|
13
|
+
/* @__PURE__ */ o(e, { name: "sparkle" }),
|
|
14
|
+
" Tip Of The Day ",
|
|
15
|
+
/* @__PURE__ */ o(e, { name: "sparkle" })
|
|
16
|
+
] }),
|
|
17
|
+
" ",
|
|
18
|
+
/* @__PURE__ */ o("h4", { children: r[a] })
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
l as TipsOfTheDay
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.toast.toast--fixed{padding:var(--spacing-16);border-radius:var(--radius);box-shadow:0 4px var(--spacing-12) var(--box-shadow);z-index:9999;text-shadow:1px 1px 1px var(--text-shadow);align-items:center;gap:var(--spacing-16);border:1px solid;animation:.3s slideIn;display:flex;position:fixed}.toast.toast--top-left{top:var(--spacing-16);left:var(--spacing-16)}.toast.toast--top-right{top:var(--spacing-16);right:var(--spacing-16)}.toast.toast--bottom-left{bottom:var(--spacing-16);left:var(--spacing-16)}.toast.toast--bottom-right{right:var(--spacing-16);bottom:var(--spacing-16)}.toast.toast--top{top:var(--spacing-16);left:50%;transform:translate(-50%)}.toast.toast--bottom{bottom:var(--spacing-16);left:50%;transform:translate(-50%)}.toast.toast--left{top:50%;left:var(--spacing-16);transform:translateY(-50%)}.toast.toast--right{top:50%;right:var(--spacing-16);transform:translateY(-50%)}.toast__message{flex:1}.toast__action{padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius);color:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;background:#fff3;border:1px solid #ffffff4d;transition:background-color .2s}.toast__action:hover{background:#ffffff4d}.toast__close{width:24px;height:24px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:24px;line-height:1;transition:opacity .2s}.toast__close:hover{opacity:1}.toast.toast-success{background-color:var(--toast-success-background-color);border-color:var(--toast-success-border-color);color:var(--toast-success-color)}.toast.toast-danger{background-color:var(--toast-danger-background-color);border-color:var(--toast-danger-border-color);color:var(--toast-danger-color)}.toast.toast-warning{background-color:var(--toast-warning-background-color);border-color:var(--toast-warning-border-color);color:var(--toast-warning-color)}.toast.toast-info{background-color:var(--toast-info-background-color);border-color:var(--toast-info-border-color);color:var(--toast-info-color)}@keyframes slideIn{0%{opacity:0}to{opacity:1}}
|