@memobit/libs 2.1.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.d.ts +6 -10
- package/dist/index.esm.js +1 -17738
- 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 +11 -75
- package/dist/mfa.esm.js +0 -1293
- package/dist/styles/themes.scss +0 -74
- package/dist/styles/theming/_profile-theme.scss +0 -317
- package/dist/styles/theming/amber-meridian.scss +0 -271
- package/dist/styles/theming/archive-indigo.scss +0 -270
- package/dist/styles/theming/arctic-blue.scss +0 -266
- package/dist/styles/theming/asphalt-code.scss +0 -271
- package/dist/styles/theming/atelier-media.scss +0 -272
- package/dist/styles/theming/audit-ember.scss +0 -286
- package/dist/styles/theming/azure-night.scss +0 -269
- package/dist/styles/theming/blossom-meadow.scss +0 -273
- package/dist/styles/theming/blueprint-clay.scss +0 -271
- package/dist/styles/theming/blush-market.scss +0 -271
- package/dist/styles/theming/brass-chronicle.scss +0 -271
- package/dist/styles/theming/carbon-velocity.scss +0 -270
- package/dist/styles/theming/chalk-circuit.scss +0 -271
- package/dist/styles/theming/chrono-atlas.scss +0 -279
- package/dist/styles/theming/citrus-vital.scss +0 -34
- package/dist/styles/theming/clinical-aqua.scss +0 -270
- package/dist/styles/theming/cobalt-pulse.scss +0 -272
- package/dist/styles/theming/command-slate.scss +0 -34
- package/dist/styles/theming/crawler-dusk.scss +0 -270
- package/dist/styles/theming/crimson-dusk.scss +0 -269
- package/dist/styles/theming/cyber-forest.scss +0 -269
- package/dist/styles/theming/dashdarkx.scss +0 -269
- package/dist/styles/theming/ember-night.scss +0 -269
- package/dist/styles/theming/emerald-ledger.scss +0 -271
- package/dist/styles/theming/frost-petal.scss +0 -269
- package/dist/styles/theming/garden-harvest.scss +0 -271
- package/dist/styles/theming/gilded-bear.scss +0 -271
- package/dist/styles/theming/graphite-shell.scss +0 -270
- package/dist/styles/theming/horizon-amber.scss +0 -270
- package/dist/styles/theming/horizon-drift.scss +0 -271
- package/dist/styles/theming/ivory-serif.scss +0 -271
- package/dist/styles/theming/lavender-mist.scss +0 -269
- package/dist/styles/theming/light-blue.scss +0 -269
- package/dist/styles/theming/lumen.scss +0 -276
- package/dist/styles/theming/luna.scss +0 -269
- package/dist/styles/theming/mesh-circuit.scss +0 -271
- package/dist/styles/theming/midnight-amber.scss +0 -273
- package/dist/styles/theming/midnight-atlas.scss +0 -35
- package/dist/styles/theming/midnight-folio.scss +0 -34
- package/dist/styles/theming/mint-meadow.scss +0 -269
- package/dist/styles/theming/mintone.scss +0 -269
- package/dist/styles/theming/neon-tokyo.scss +0 -269
- package/dist/styles/theming/noir-marquee.scss +0 -34
- package/dist/styles/theming/ocean-breeze.scss +0 -269
- package/dist/styles/theming/ocean-depths.scss +0 -269
- package/dist/styles/theming/orbital-night.scss +0 -276
- package/dist/styles/theming/sandstone.scss +0 -269
- package/dist/styles/theming/sandy-parchment.scss +0 -270
- package/dist/styles/theming/screening-room.scss +0 -34
- package/dist/styles/theming/signal-burst.scss +0 -271
- package/dist/styles/theming/signal-clarity.scss +0 -34
- package/dist/styles/theming/slate-bazaar.scss +0 -34
- package/dist/styles/theming/slate-focus.scss +0 -270
- package/dist/styles/theming/spectrum-vault.scss +0 -271
- package/dist/styles/theming/tailwind-vue-dark.scss +0 -269
- package/dist/styles/theming/terminal-phosphor.scss +0 -272
- package/dist/styles/theming/terracotta-kitchen.scss +0 -271
- package/dist/styles/theming/twilight-pulse.scss +0 -269
- package/dist/styles/theming/vault-guard.scss +0 -271
- package/dist/styles/theming/velvet-reel.scss +0 -272
- package/dist/styles/theming/velvet-tome.scss +0 -271
- package/dist/styles/theming/verdant-pulse.scss +0 -34
- package/dist/styles/theming/vital-aurora.scss +0 -45
- package/dist/styles/theming/vital-signal.scss +0 -270
- package/dist/useAuth-BBqdDG2z.js +0 -467
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import './SplitPanel.css';
|
|
2
|
+
import { Tooltip as M } from "../Tooltip/Tooltip2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { useCallback as D, useEffect as h, useRef as f, useState as k } from "react";
|
|
5
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
6
|
+
var C = ({ children: c, panel: w, isPanelOpen: t, onPanelClose: l, panelTitle: d, defaultLeftPercent: y = 55, minLeftPercent: a = 25, minRightPercent: u = 20, className: p = "" }) => {
|
|
7
|
+
const [_, b] = k(y), i = f(null), o = f(!1);
|
|
8
|
+
h(() => (t ? document.body.classList.add("split-panel-active") : document.body.classList.remove("split-panel-active"), () => {
|
|
9
|
+
document.body.classList.remove("split-panel-active");
|
|
10
|
+
}), [t]);
|
|
11
|
+
const L = D((s) => {
|
|
12
|
+
s.preventDefault(), o.current = !0, document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
|
|
13
|
+
const n = (N) => {
|
|
14
|
+
if (!o.current || !i.current) return;
|
|
15
|
+
const v = i.current.getBoundingClientRect(), g = (N.clientX - v.left) / v.width * 100, E = Math.max(a, Math.min(100 - u, g));
|
|
16
|
+
b(E);
|
|
17
|
+
}, m = () => {
|
|
18
|
+
o.current = !1, document.body.style.cursor = "", document.body.style.userSelect = "", window.removeEventListener("mousemove", n), window.removeEventListener("mouseup", m);
|
|
19
|
+
};
|
|
20
|
+
window.addEventListener("mousemove", n), window.addEventListener("mouseup", m);
|
|
21
|
+
}, [a, u]);
|
|
22
|
+
return h(() => {
|
|
23
|
+
const s = (n) => {
|
|
24
|
+
n.key === "Escape" && t && l();
|
|
25
|
+
};
|
|
26
|
+
return document.addEventListener("keydown", s), () => document.removeEventListener("keydown", s);
|
|
27
|
+
}, [t, l]), t ? /* @__PURE__ */ r("div", {
|
|
28
|
+
className: `split-panel split-panel--open ${p}`,
|
|
29
|
+
ref: i,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ e("div", {
|
|
32
|
+
className: "split-panel__left",
|
|
33
|
+
style: { width: `${_}%` },
|
|
34
|
+
children: c
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ e("div", {
|
|
37
|
+
className: "split-panel__divider",
|
|
38
|
+
onMouseDown: L,
|
|
39
|
+
children: /* @__PURE__ */ e("div", { className: "split-panel__divider-handle" })
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ r("div", {
|
|
42
|
+
className: "split-panel__right",
|
|
43
|
+
children: [/* @__PURE__ */ r("div", {
|
|
44
|
+
className: "split-panel__right-header",
|
|
45
|
+
children: [d && /* @__PURE__ */ e("h2", {
|
|
46
|
+
className: "split-panel__right-title",
|
|
47
|
+
children: d
|
|
48
|
+
}), /* @__PURE__ */ e(M, {
|
|
49
|
+
title: "Close panel",
|
|
50
|
+
children: /* @__PURE__ */ e("button", {
|
|
51
|
+
className: "split-panel__close",
|
|
52
|
+
onClick: l,
|
|
53
|
+
children: "✕"
|
|
54
|
+
})
|
|
55
|
+
})]
|
|
56
|
+
}), /* @__PURE__ */ e("div", {
|
|
57
|
+
className: "split-panel__right-content",
|
|
58
|
+
children: w
|
|
59
|
+
})]
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
}) : /* @__PURE__ */ e("div", {
|
|
63
|
+
className: `split-panel ${p}`,
|
|
64
|
+
children: c
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
C as SplitPanel
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.splitter{width:100%;display:flex;overflow:hidden}.splitter--horizontal{flex-direction:row}.splitter--horizontal .splitter__gutter{width:var(--_splitter-gutter);cursor:col-resize}.splitter--horizontal .splitter__gutter .splitter__gutter-grip{width:var(--spacing-2);height:var(--spacing-32)}.splitter--vertical{flex-direction:column}.splitter--vertical .splitter__gutter{height:var(--_splitter-gutter);cursor:row-resize}.splitter--vertical .splitter__gutter .splitter__gutter-grip{width:var(--spacing-32);height:var(--spacing-2)}.splitter__pane{box-sizing:border-box;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;display:flex;overflow:auto}.splitter__pane--collapsed{overflow:hidden}.splitter__gutter{background:var(--delimiter-color);transition:background var(--transition-fast);touch-action:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.splitter__gutter:hover,.splitter__gutter:focus-visible{background:var(--body-accent-color);outline:none}.splitter__gutter:hover .splitter__gutter-grip,.splitter__gutter:focus-visible .splitter__gutter-grip{background:var(--card-background-color)}.splitter__gutter-grip{border-radius:var(--radius-full);background:var(--body-sub-title-color);pointer-events:none}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import './Splitter.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { Fragment as K, useCallback as h, useEffect as U, useMemo as $, useRef as I, useState as j } from "react";
|
|
4
|
+
import { jsx as D, jsxs as E } from "react/jsx-runtime";
|
|
5
|
+
var L = 10, F = (c) => {
|
|
6
|
+
const m = c.reduce((e, i) => e + (i.size ?? 0), 0), d = c.filter((e) => e.size === void 0).length;
|
|
7
|
+
if (d === 0) return m === 0 ? c.map(() => 100 / c.length) : c.map((e) => (e.size ?? 0) / m * 100);
|
|
8
|
+
const z = Math.max(0, 100 - m) / d;
|
|
9
|
+
return c.map((e) => e.size ?? z);
|
|
10
|
+
}, Z = ({ className: c = "", collapsible: m = !1, gutterSize: d = 6, keyboardStep: z = 2, onResize: e, orientation: i = "horizontal", panes: g, resetOnDoubleClick: y = !0 }) => {
|
|
11
|
+
const f = $(() => F(g), [g]), [o, S] = j(f), B = I(null), P = I(null);
|
|
12
|
+
U(() => {
|
|
13
|
+
S((t) => t.length === f.length ? t : f);
|
|
14
|
+
}, [f]);
|
|
15
|
+
const A = h((t) => g[t]?.minSize ?? L, [g]), _ = h((t, r, n, s) => {
|
|
16
|
+
const l = A(t), a = A(t + 1), p = r + n;
|
|
17
|
+
let u = r + s;
|
|
18
|
+
return u < l && (u = m && u < l / 2 ? 0 : l), p - u < a && (u = m && p - u < a / 2 ? p : p - a), [u, p - u];
|
|
19
|
+
}, [m, A]), w = h((t, [r, n]) => {
|
|
20
|
+
const s = o.map((l, a) => a === t ? r : a === t + 1 ? n : l);
|
|
21
|
+
return S(s), s;
|
|
22
|
+
}, [o]), M = h((t, r) => {
|
|
23
|
+
t.preventDefault(), t.currentTarget.setPointerCapture(t.pointerId), P.current = {
|
|
24
|
+
index: r,
|
|
25
|
+
startA: o[r],
|
|
26
|
+
startB: o[r + 1],
|
|
27
|
+
startPosition: i === "horizontal" ? t.clientX : t.clientY
|
|
28
|
+
};
|
|
29
|
+
}, [i, o]), C = h((t) => {
|
|
30
|
+
const r = P.current, n = B.current;
|
|
31
|
+
if (!r || !n) return;
|
|
32
|
+
const s = n.getBoundingClientRect(), l = i === "horizontal" ? s.width : s.height;
|
|
33
|
+
if (l === 0) return;
|
|
34
|
+
const a = ((i === "horizontal" ? t.clientX : t.clientY) - r.startPosition) / l * 100;
|
|
35
|
+
w(r.index, _(r.index, r.startA, r.startB, a));
|
|
36
|
+
}, [
|
|
37
|
+
w,
|
|
38
|
+
i,
|
|
39
|
+
_
|
|
40
|
+
]), N = h((t) => {
|
|
41
|
+
P.current && (t.currentTarget.releasePointerCapture(t.pointerId), P.current = null, e?.(o));
|
|
42
|
+
}, [e, o]), T = h((t, r) => {
|
|
43
|
+
const n = i === "horizontal" ? "ArrowLeft" : "ArrowUp", s = i === "horizontal" ? "ArrowRight" : "ArrowDown";
|
|
44
|
+
if (t.key !== n && t.key !== s) return;
|
|
45
|
+
t.preventDefault();
|
|
46
|
+
const l = t.key === s ? 1 : -1;
|
|
47
|
+
e?.(w(r, _(r, o[r], o[r + 1], l * z)));
|
|
48
|
+
}, [
|
|
49
|
+
w,
|
|
50
|
+
z,
|
|
51
|
+
e,
|
|
52
|
+
i,
|
|
53
|
+
_,
|
|
54
|
+
o
|
|
55
|
+
]), k = h(() => {
|
|
56
|
+
y && (S(f), e?.(f));
|
|
57
|
+
}, [
|
|
58
|
+
f,
|
|
59
|
+
e,
|
|
60
|
+
y
|
|
61
|
+
]), v = { "--_splitter-gutter": `${d}px` };
|
|
62
|
+
return /* @__PURE__ */ D("div", {
|
|
63
|
+
className: [
|
|
64
|
+
"splitter",
|
|
65
|
+
`splitter--${i}`,
|
|
66
|
+
c
|
|
67
|
+
].filter(Boolean).join(" "),
|
|
68
|
+
ref: B,
|
|
69
|
+
style: v,
|
|
70
|
+
children: g.map((t, r) => /* @__PURE__ */ E(K, { children: [/* @__PURE__ */ D("div", {
|
|
71
|
+
className: `splitter__pane${o[r] === 0 ? " splitter__pane--collapsed" : ""}`,
|
|
72
|
+
style: { flexBasis: `${o[r]}%` },
|
|
73
|
+
children: t.content
|
|
74
|
+
}), r < g.length - 1 && /* @__PURE__ */ D("div", {
|
|
75
|
+
className: "splitter__gutter",
|
|
76
|
+
onDoubleClick: k,
|
|
77
|
+
onKeyDown: (n) => T(n, r),
|
|
78
|
+
onPointerDown: (n) => M(n, r),
|
|
79
|
+
onPointerMove: C,
|
|
80
|
+
onPointerUp: N,
|
|
81
|
+
tabIndex: 0,
|
|
82
|
+
title: y ? "Drag to resize — double-click to reset" : "Drag to resize",
|
|
83
|
+
children: /* @__PURE__ */ D("span", { className: "splitter__gutter-grip" })
|
|
84
|
+
})] }, t.id))
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
Z as Splitter
|
|
89
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stacked-bar{background-color:var(--progress-bar-background-color);border-radius:var(--radius);font-weight:var(--font-weight-medium);display:flex;overflow:hidden}.stacked-bar--horizontal{width:100%;height:var(--spacing-16);flex-direction:row}.stacked-bar--horizontal.stacked-bar--thin{height:var(--spacing-6);border-radius:var(--spacing-24)}.stacked-bar--vertical{width:var(--spacing-16);height:var(--spacing-200);flex-direction:column-reverse}.stacked-bar--vertical.stacked-bar--thin{width:var(--spacing-6);border-radius:var(--spacing-24)}.stacked-bar__segment{background-color:var(--progress-default-bar-fill-color);color:#fff;font-size:var(--font-size-xs);line-height:var(--line-height-tight);white-space:nowrap;cursor:default;align-items:center;display:flex;overflow:hidden}.stacked-bar__segment--default{background-color:var(--progress-default-bar-fill-color)}.stacked-bar__segment--success{background-color:var(--progress-success-bar-fill-color)}.stacked-bar__segment--warning{background-color:var(--progress-warning-bar-fill-color)}.stacked-bar__segment--danger{background-color:var(--progress-danger-bar-fill-color)}.stacked-bar__segment--info{background-color:var(--progress-info-bar-fill-color)}.stacked-bar__segment--striped{background-image:linear-gradient(45deg,#ffffff2e 25%,#0000 25% 50%,#ffffff2e 50% 75%,#0000 75%,#0000);background-size:1rem 1rem}.stacked-bar__segment--hatched{background-image:repeating-linear-gradient(45deg,#0000,#0000 2px,#0000002e 2px 4px)}.stacked-bar__segment--animated{animation:1s linear infinite stacked-bar-stripes}.stacked-bar--horizontal .stacked-bar__segment{min-width:0;height:100%;padding:0 var(--spacing-8);transition:width .3s}.stacked-bar--vertical .stacked-bar__segment{justify-content:center;width:100%;min-height:0;padding:0;transition:height .3s}.stacked-bar__segment-label{text-overflow:ellipsis;text-shadow:-1px -1px #0006,1px -1px #0006,-1px 1px #0006,1px 1px #0006;max-width:100%;display:block;overflow:hidden}.stacked-bar--thin .stacked-bar__segment-label,.stacked-bar--vertical .stacked-bar__segment-label{display:none}.stacked-bar--horizontal.stacked-bar--thin .stacked-bar__segment{padding:0}.stacked-bar--separators .stacked-bar__segment+.stacked-bar__segment{border-left:var(--spacing-2) solid var(--progress-bar-background-color)}.stacked-bar--separators.stacked-bar--vertical .stacked-bar__segment+.stacked-bar__segment{border-bottom:var(--spacing-2) solid var(--progress-bar-background-color);border-left:0}@keyframes stacked-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import './StackedBar.css';
|
|
2
|
+
import { Tooltip as $ } from "../Tooltip/Tooltip2.js";
|
|
3
|
+
import { format2Digits as x } from "../../helpers/Numbers.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { useMemo as M } from "react";
|
|
6
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
7
|
+
var j = (r, o, c) => {
|
|
8
|
+
const i = `${x(o)}%`;
|
|
9
|
+
return r.label && c ? `${r.label} - ${i}` : r.label ? r.label : i;
|
|
10
|
+
}, w = ({ animated: r = !1, height: o, normalize: c = !0, orientation: i = "horizontal", segments: a, separators: m = !1, showLabels: p = !0, showPercentage: b = !0, thin: h = !1, width: d }) => {
|
|
11
|
+
const k = M(() => {
|
|
12
|
+
if (a.length === 0) return [];
|
|
13
|
+
if (!c) return a.map((t) => Math.max(0, t.value));
|
|
14
|
+
const e = a.reduce((t, l) => t + Math.max(0, l.value), 0);
|
|
15
|
+
return e === 0 ? a.map(() => 0) : a.map((t) => Math.max(0, t.value) / e * 100);
|
|
16
|
+
}, [a, c]), v = i === "vertical", n = {};
|
|
17
|
+
return o !== void 0 && (n.height = o), d !== void 0 && (n.width = d), /* @__PURE__ */ s("div", {
|
|
18
|
+
className: [
|
|
19
|
+
"stacked-bar",
|
|
20
|
+
`stacked-bar--${i}`,
|
|
21
|
+
h ? "stacked-bar--thin" : "",
|
|
22
|
+
m ? "stacked-bar--separators" : ""
|
|
23
|
+
].filter(Boolean).join(" "),
|
|
24
|
+
style: n,
|
|
25
|
+
children: a.map((e, t) => {
|
|
26
|
+
const l = k[t];
|
|
27
|
+
if (l <= 0) return null;
|
|
28
|
+
const _ = e.state || "default", u = e.pattern || "solid", f = j(e, l, b);
|
|
29
|
+
return /* @__PURE__ */ s($, {
|
|
30
|
+
title: f,
|
|
31
|
+
children: /* @__PURE__ */ s("div", {
|
|
32
|
+
className: [
|
|
33
|
+
"stacked-bar__segment",
|
|
34
|
+
`stacked-bar__segment--${_}`,
|
|
35
|
+
`stacked-bar__segment--${u}`,
|
|
36
|
+
r && u !== "solid" ? "stacked-bar__segment--animated" : ""
|
|
37
|
+
].filter(Boolean).join(" "),
|
|
38
|
+
style: v ? { height: `${l}%` } : { width: `${l}%` },
|
|
39
|
+
children: p && /* @__PURE__ */ s("span", {
|
|
40
|
+
className: "stacked-bar__segment-label",
|
|
41
|
+
children: f
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
}, `stacked-bar-segment-${t}`);
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
export {
|
|
49
|
+
w as StackedBar
|
|
50
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stats{align-items:center;gap:var(--spacing-16);padding:var(--spacing-12) var(--spacing-16);background-color:var(--card-background-accent-color);border-radius:var(--radius);flex-wrap:wrap;display:flex}.stats--align-center{justify-content:center}.stats--align-center .stats__item{text-align:center;align-items:center}.stats--align-center .stats__value{justify-content:center}.stats--size-small{padding:var(--spacing-8) var(--spacing-12);gap:var(--spacing-12)}.stats--size-small .stats__label{font-size:var(--font-size-xxs)}.stats--size-small .stats__value{font-size:var(--font-size-sm)}.stats__item{gap:var(--spacing-2);flex-direction:column;min-width:0;display:flex}.stats--dividers .stats__item+.stats__item{border-left:var(--spacing-1) solid var(--card-border-color);padding-left:var(--spacing-16)}.stats--size-small.stats--dividers .stats__item+.stats__item{padding-left:var(--spacing-12)}.stats__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--body-sub-title-color);text-transform:uppercase;letter-spacing:.04em}.stats__value{align-items:center;gap:var(--spacing-6);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--body-color);display:inline-flex}.stats__value--success{color:var(--button-success-background-color)}.stats__value--warning{color:var(--button-warning-background-color)}.stats__value--danger{color:var(--body-danger-color)}.stats__value--info{color:var(--button-info-background-color)}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import './Stats.css';
|
|
2
|
+
/* empty css */
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as s, jsxs as d } from "react/jsx-runtime";
|
|
5
|
+
var v = ({ items: t, dividers: l = !0, align: e = "left", size: r = "medium", className: i = "" }) => t.length === 0 ? null : /* @__PURE__ */ s("div", {
|
|
6
|
+
className: [
|
|
7
|
+
"stats",
|
|
8
|
+
`stats--align-${e}`,
|
|
9
|
+
`stats--size-${r}`,
|
|
10
|
+
l ? "stats--dividers" : "",
|
|
11
|
+
i
|
|
12
|
+
].filter(Boolean).join(" "),
|
|
13
|
+
children: t.map((a, n) => /* @__PURE__ */ d("div", {
|
|
14
|
+
className: "stats__item",
|
|
15
|
+
children: [/* @__PURE__ */ s("span", {
|
|
16
|
+
className: "stats__label",
|
|
17
|
+
children: a.label
|
|
18
|
+
}), /* @__PURE__ */ s("span", {
|
|
19
|
+
className: `stats__value stats__value--${a.variant ?? "default"}`,
|
|
20
|
+
children: a.value
|
|
21
|
+
})]
|
|
22
|
+
}, `${a.label}-${n}`))
|
|
23
|
+
});
|
|
24
|
+
export {
|
|
25
|
+
v as Stats
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.sticky-bar{align-items:center;gap:var(--spacing-16);padding:var(--spacing-12) var(--spacing-16);background-color:var(--card-background-accent-color);border-radius:var(--radius);z-index:10;display:flex;position:sticky;left:0;right:0;box-shadow:0 4px 16px #0000002e}.sticky-bar--bottom{border-top:var(--spacing-1) solid var(--card-border-color);bottom:0}.sticky-bar--top{border-bottom:var(--spacing-1) solid var(--card-border-color);top:0}.sticky-bar__content{align-items:center;gap:var(--spacing-12);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.sticky-bar--align-start .sticky-bar__content{justify-content:flex-start}.sticky-bar--align-center .sticky-bar__content{justify-content:center}.sticky-bar--align-end .sticky-bar__content{justify-content:flex-end}.sticky-bar--align-between .sticky-bar__content{justify-content:space-between}.sticky-bar__close{flex-shrink:0}@media (width<=768px){.sticky-bar{align-items:stretch;gap:var(--spacing-8);padding:var(--spacing-8);flex-direction:column}}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import './StickyBar.css';
|
|
2
|
+
import { Button as n } from "../Button/Button2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx as e, jsxs as m } from "react/jsx-runtime";
|
|
6
|
+
var u = ({ children: c, position: t = "bottom", align: s = "between", visible: l = !0, onClose: r, closeLabel: i = "Close", offset: a = 0, className: o }) => l ? /* @__PURE__ */ m("div", {
|
|
7
|
+
className: [
|
|
8
|
+
"sticky-bar",
|
|
9
|
+
`sticky-bar--${t}`,
|
|
10
|
+
`sticky-bar--align-${s}`,
|
|
11
|
+
o
|
|
12
|
+
].filter(Boolean).join(" "),
|
|
13
|
+
style: a ? { [t]: `${a}px` } : void 0,
|
|
14
|
+
children: [/* @__PURE__ */ e("div", {
|
|
15
|
+
className: "sticky-bar__content",
|
|
16
|
+
children: c
|
|
17
|
+
}), r && /* @__PURE__ */ e(n, {
|
|
18
|
+
className: "sticky-bar__close",
|
|
19
|
+
icon: "clear",
|
|
20
|
+
onClick: r,
|
|
21
|
+
size: "small",
|
|
22
|
+
variant: "ghost",
|
|
23
|
+
title: i,
|
|
24
|
+
children: i
|
|
25
|
+
})]
|
|
26
|
+
}) : null;
|
|
27
|
+
export {
|
|
28
|
+
u as StickyBar
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.suggestions-list{row-gap:var(--spacing-8);flex-direction:column;display:flex}.suggestions-list .list-suggestions-list{border:1px solid var(--card-border-color);border-radius:var(--radius);background-color:var(--card-background-color);flex-direction:column;margin:0;padding:0;display:flex}.suggestions-list .list-suggestions-list legend{padding:var(--spacing-12) var(--spacing-16);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--body-title-color);box-sizing:border-box;border-bottom:1px solid var(--card-border-color)}.suggestions-list .list-suggestions-list .list-suggestions-list-search{padding:var(--spacing-8) var(--spacing-12);border-bottom:1px solid var(--card-border-color)}.suggestions-list .list-suggestions-list .list-suggestions-list-rows{max-height:var(--spacing-400);overflow:hidden auto}.suggestions-list .list-suggestions-list .list-suggestions-list-header{padding:var(--spacing-8) var(--spacing-12);border-bottom:1px solid var(--card-border-color);background-color:var(--card-background-accent-color);gap:var(--spacing-8);display:flex;position:sticky;top:0}.suggestions-list .list-suggestions-list .list-suggestions-list-header-cell{color:var(--body-color-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;align-items:center;gap:var(--spacing-4);transition:color var(--transition-fast);background:0 0;border:none;flex:1;padding:0;display:flex}.suggestions-list .list-suggestions-list .list-suggestions-list-header-cell:hover{color:var(--body-title-color)}.suggestions-list .list-suggestions-list .list-suggestions-list-header-cell--value{flex:none;justify-content:flex-end;min-width:70px}.suggestions-list .list-suggestions-list .suggestions-list__sort-icon{font-size:var(--font-size-xs);opacity:.6;transition:opacity var(--transition-fast)}.suggestions-list .list-suggestions-list .suggestions-list__sort-icon--asc,.suggestions-list .list-suggestions-list .suggestions-list__sort-icon--desc{opacity:1;color:var(--links-color)}.suggestions-list .list-suggestions-list .list-suggestions-list-row{column-gap:var(--spacing-8);text-align:left;padding:var(--spacing-8) var(--spacing-12);transition:background-color var(--transition-fast);border-bottom:1px solid var(--card-border-color);align-items:center;display:flex}.suggestions-list .list-suggestions-list .list-suggestions-list-row:hover{background-color:var(--list-alternate-background-color)}.suggestions-list .list-suggestions-list .list-suggestions-list-row--clickable{cursor:pointer}.suggestions-list .list-suggestions-list .list-suggestions-list-row--clickable:hover{background-color:#60a5fa1a}.suggestions-list .list-suggestions-list .list-suggestions-list-row--clickable:focus-visible{outline:2px solid var(--card-border-accent-color);outline-offset:-1px}.suggestions-list .list-suggestions-list .list-suggestions-list-row div:first-child{flex:auto;min-width:0}.suggestions-list .list-suggestions-list .list-suggestions-list-row div:nth-child(2){text-align:right;min-width:70px;color:var(--body-color-muted);font-size:var(--font-size-sm);flex:0 auto}.suggestions-list .list-suggestions-list .list-suggestions-list-empty{padding:var(--spacing-24) var(--spacing-16);text-align:center;color:var(--body-color-muted)}.suggestions-list .list-suggestions-list .link{padding:var(--spacing-8) var(--spacing-16);color:var(--links-color);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-align:right;border-top:1px solid var(--card-border-color)}.suggestions-list .list-suggestions-list .link:hover{cursor:pointer;color:var(--links-hover-color)}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import './SuggestionsList.css';
|
|
2
|
+
import { Icon as j } from "../Icon/Icon2.js";
|
|
3
|
+
import { Button as T } from "../Button/Button2.js";
|
|
4
|
+
import { Tooltip as B } from "../Tooltip/Tooltip2.js";
|
|
5
|
+
import { InputSearch as H } from "../InputSearch/InputSearch2.js";
|
|
6
|
+
import { format2Digits as q } from "../../helpers/Numbers.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import { useCallback as z, useMemo as h, useState as g } from "react";
|
|
9
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
10
|
+
function V({ state: n }) {
|
|
11
|
+
return /* @__PURE__ */ e("span", {
|
|
12
|
+
className: `suggestions-list__sort-icon suggestions-list__sort-icon--${n}`,
|
|
13
|
+
children: /* @__PURE__ */ e(j, { name: n === "asc" ? "arrow-up" : n === "desc" ? "arrow-down" : "arrow-bidirectional-vertical" })
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
var k = 10, W = ({ data: n, label: I, title: N, tooltip: w, enableSearch: y = !1, onRowClick: o }) => {
|
|
17
|
+
const [d, x] = g(!1), [r, M] = g(!1), [c, _] = g(""), [i, E] = g(null), [u, D] = g("asc"), p = h(() => c.trim() ? n.filter((s) => s.name.toLowerCase().includes(c.toLowerCase())) : n, [n, c]), m = h(() => {
|
|
18
|
+
if (!i) return p;
|
|
19
|
+
const s = [...p].sort((l, a) => {
|
|
20
|
+
const S = i === "name" ? l.name : l.value, b = i === "name" ? a.name : a.value;
|
|
21
|
+
return typeof S == "number" && typeof b == "number" ? S - b : String(S).localeCompare(String(b));
|
|
22
|
+
});
|
|
23
|
+
return u === "asc" ? s : s.reverse();
|
|
24
|
+
}, [
|
|
25
|
+
p,
|
|
26
|
+
i,
|
|
27
|
+
u
|
|
28
|
+
]), v = h(() => r ? [...m] : m.slice(0, k), [m, r]), C = m.length > k, K = () => {
|
|
29
|
+
x(!d);
|
|
30
|
+
}, L = z(() => {
|
|
31
|
+
M(!r);
|
|
32
|
+
}, [r]), f = (s) => {
|
|
33
|
+
i === s ? D((l) => l === "asc" ? "desc" : "asc") : (E(s), D("asc"));
|
|
34
|
+
}, $ = h(() => /* @__PURE__ */ t("div", {
|
|
35
|
+
className: "list-suggestions-list",
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ e(B, {
|
|
38
|
+
title: w,
|
|
39
|
+
children: /* @__PURE__ */ e("legend", { children: N || "Suggestions" })
|
|
40
|
+
}),
|
|
41
|
+
y && /* @__PURE__ */ e("div", {
|
|
42
|
+
className: "list-suggestions-list-search",
|
|
43
|
+
children: /* @__PURE__ */ e(H, {
|
|
44
|
+
value: c,
|
|
45
|
+
onChange: _,
|
|
46
|
+
placeholder: "Search suggestions..."
|
|
47
|
+
})
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ t("div", {
|
|
50
|
+
className: "list-suggestions-list-rows",
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ t("div", {
|
|
53
|
+
className: "list-suggestions-list-header",
|
|
54
|
+
children: [/* @__PURE__ */ t("button", {
|
|
55
|
+
type: "button",
|
|
56
|
+
className: "list-suggestions-list-header-cell list-suggestions-list-header-cell--name",
|
|
57
|
+
onClick: () => f("name"),
|
|
58
|
+
children: ["Name", /* @__PURE__ */ e(V, { state: i === "name" ? u : "unsorted" })]
|
|
59
|
+
}), /* @__PURE__ */ t("button", {
|
|
60
|
+
type: "button",
|
|
61
|
+
className: "list-suggestions-list-header-cell list-suggestions-list-header-cell--value",
|
|
62
|
+
onClick: () => f("value"),
|
|
63
|
+
children: ["Value", /* @__PURE__ */ e(V, { state: i === "value" ? u : "unsorted" })]
|
|
64
|
+
})]
|
|
65
|
+
}),
|
|
66
|
+
v.map((s, l) => /* @__PURE__ */ t("div", {
|
|
67
|
+
className: `list-suggestions-list-row ${o ? "list-suggestions-list-row--clickable" : ""}`,
|
|
68
|
+
onClick: () => o?.(s),
|
|
69
|
+
tabIndex: o ? 0 : void 0,
|
|
70
|
+
onKeyDown: (a) => {
|
|
71
|
+
o && (a.key === "Enter" || a.key === " ") && (a.preventDefault(), o(s));
|
|
72
|
+
},
|
|
73
|
+
children: [/* @__PURE__ */ e("div", { children: s.name }), /* @__PURE__ */ t("div", { children: [
|
|
74
|
+
typeof s.value == "number" && q(s.value),
|
|
75
|
+
typeof s.value == "string" && s.value,
|
|
76
|
+
s.unit
|
|
77
|
+
] })]
|
|
78
|
+
}, `list-suggestions-list-row-${l}`)),
|
|
79
|
+
v.length === 0 && /* @__PURE__ */ e("div", {
|
|
80
|
+
className: "list-suggestions-list-empty",
|
|
81
|
+
children: "No results found"
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
}),
|
|
85
|
+
C && /* @__PURE__ */ t("span", {
|
|
86
|
+
className: "link",
|
|
87
|
+
onClick: L,
|
|
88
|
+
children: ["Show ", r ? "less" : "more"]
|
|
89
|
+
})
|
|
90
|
+
]
|
|
91
|
+
}), [
|
|
92
|
+
y,
|
|
93
|
+
r,
|
|
94
|
+
C,
|
|
95
|
+
o,
|
|
96
|
+
c,
|
|
97
|
+
v,
|
|
98
|
+
i,
|
|
99
|
+
u,
|
|
100
|
+
N,
|
|
101
|
+
L,
|
|
102
|
+
f,
|
|
103
|
+
w
|
|
104
|
+
]);
|
|
105
|
+
return /* @__PURE__ */ t("div", {
|
|
106
|
+
className: "suggestions-list",
|
|
107
|
+
children: [/* @__PURE__ */ e("div", { children: /* @__PURE__ */ t(T, {
|
|
108
|
+
icon: d ? "caret-up" : "caret-down",
|
|
109
|
+
onClick: K,
|
|
110
|
+
children: [
|
|
111
|
+
d ? "Hide" : "Show",
|
|
112
|
+
" ",
|
|
113
|
+
I,
|
|
114
|
+
" suggestions"
|
|
115
|
+
]
|
|
116
|
+
}) }), d && $]
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
export {
|
|
120
|
+
W as SuggestionsList
|
|
121
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { ThemeContext as R } from "./ThemeContextValue.js";
|
|
2
|
+
import { Tooltip as B } from "../Tooltip/Tooltip2.js";
|
|
3
|
+
import { THEME_CONFIGS as c, getThemeConfig as H } from "./themeConfig.js";
|
|
4
|
+
import { useCallback as f, useEffect as I, useState as E } from "react";
|
|
5
|
+
import { jsx as m, jsxs as v } from "react/jsx-runtime";
|
|
6
|
+
var _ = "theme-stylesheet", k = "theme-font-link", b = "theme-font-link-display", w = "theme-font-link-mono", X = ({ children: L, theme: C, effects: M, onSave: y, allowedThemes: s }) => {
|
|
7
|
+
const [d, l] = E(null), [N, a] = E(null), [P, g] = E(!1), i = d ?? C, p = N ?? M;
|
|
8
|
+
I(() => {
|
|
9
|
+
document.documentElement.setAttribute("data-theme", i);
|
|
10
|
+
const o = (typeof __MEMOBIT_THEME_URLS__ > "u" ? void 0 : __MEMOBIT_THEME_URLS__)?.[i];
|
|
11
|
+
if (o !== void 0) {
|
|
12
|
+
let e = document.getElementById(_);
|
|
13
|
+
e || (e = document.createElement("link"), e.id = _, e.rel = "stylesheet", document.head.appendChild(e)), e.href !== new URL(o, document.baseURI).href && (e.href = o);
|
|
14
|
+
}
|
|
15
|
+
const r = H(i);
|
|
16
|
+
if (r) {
|
|
17
|
+
let e = document.getElementById(k);
|
|
18
|
+
e || (e = document.createElement("link"), e.id = k, e.rel = "stylesheet", document.head.appendChild(e)), e.href = r.fontUrl;
|
|
19
|
+
let t = document.getElementById(b);
|
|
20
|
+
r.fontUrlDisplay ? (t || (t = document.createElement("link"), t.id = b, t.rel = "stylesheet", document.head.appendChild(t)), t.href = r.fontUrlDisplay) : t?.remove();
|
|
21
|
+
let n = document.getElementById(w);
|
|
22
|
+
r.fontUrlMono ? (n || (n = document.createElement("link"), n.id = w, n.rel = "stylesheet", document.head.appendChild(n)), n.href = r.fontUrlMono) : n?.remove();
|
|
23
|
+
}
|
|
24
|
+
}, [i]);
|
|
25
|
+
const S = f((o) => {
|
|
26
|
+
l(o);
|
|
27
|
+
}, []), U = f((o) => {
|
|
28
|
+
a(o);
|
|
29
|
+
}, []), D = f(() => {
|
|
30
|
+
l(null), a(null);
|
|
31
|
+
}, []);
|
|
32
|
+
I(() => {
|
|
33
|
+
const o = (e) => {
|
|
34
|
+
if (!(e instanceof HTMLElement)) return !1;
|
|
35
|
+
const t = e.tagName;
|
|
36
|
+
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable;
|
|
37
|
+
}, r = (e) => {
|
|
38
|
+
if (!(e.ctrlKey || e.metaKey || e.altKey) && !o(e.target))
|
|
39
|
+
if (e.key === "[" || e.key === "]") {
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
const t = c.map((u) => u.value), n = s && s.length > 0 ? t.filter((u) => s.includes(u)) : t;
|
|
42
|
+
if (n.length === 0) return;
|
|
43
|
+
const T = n.indexOf(i), K = ((T === -1 ? 0 : T) + (e.key === "]" ? 1 : -1) + n.length) % n.length;
|
|
44
|
+
l(n[K]);
|
|
45
|
+
} else e.key === "Escape" && d && (e.preventDefault(), l(null), a(null));
|
|
46
|
+
};
|
|
47
|
+
return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
|
|
48
|
+
}, [
|
|
49
|
+
i,
|
|
50
|
+
d,
|
|
51
|
+
s
|
|
52
|
+
]);
|
|
53
|
+
const h = c.findIndex((o) => o.value === i), x = h >= 0 ? c[h].label : i, O = f(() => {
|
|
54
|
+
y?.({
|
|
55
|
+
theme: i,
|
|
56
|
+
effects: p
|
|
57
|
+
}), l(null), a(null);
|
|
58
|
+
}, [
|
|
59
|
+
i,
|
|
60
|
+
p,
|
|
61
|
+
y
|
|
62
|
+
]);
|
|
63
|
+
return /* @__PURE__ */ v(R.Provider, {
|
|
64
|
+
value: {
|
|
65
|
+
theme: i,
|
|
66
|
+
effects: p,
|
|
67
|
+
setPreviewTheme: S,
|
|
68
|
+
setPreviewEffects: U,
|
|
69
|
+
commitPreview: O,
|
|
70
|
+
clearPreview: D
|
|
71
|
+
},
|
|
72
|
+
children: [L, d && /* @__PURE__ */ v("div", {
|
|
73
|
+
style: {
|
|
74
|
+
position: "fixed",
|
|
75
|
+
bottom: 16,
|
|
76
|
+
right: 300,
|
|
77
|
+
zIndex: 99999,
|
|
78
|
+
padding: "8px 12px",
|
|
79
|
+
borderRadius: 8,
|
|
80
|
+
background: "rgba(0, 0, 0, 0.85)",
|
|
81
|
+
color: "#fff",
|
|
82
|
+
font: "500 13px/1.4 system-ui, sans-serif",
|
|
83
|
+
boxShadow: "0 4px 16px rgba(0, 0, 0, 0.3)"
|
|
84
|
+
},
|
|
85
|
+
children: [
|
|
86
|
+
/* @__PURE__ */ m(B, {
|
|
87
|
+
title: "Copy theme name",
|
|
88
|
+
children: /* @__PURE__ */ m("span", {
|
|
89
|
+
onClick: () => {
|
|
90
|
+
navigator.clipboard.writeText(x), g(!0), window.setTimeout(() => g(!1), 1500);
|
|
91
|
+
},
|
|
92
|
+
style: { cursor: "pointer" },
|
|
93
|
+
children: x
|
|
94
|
+
})
|
|
95
|
+
}),
|
|
96
|
+
/* @__PURE__ */ v("span", {
|
|
97
|
+
style: {
|
|
98
|
+
opacity: 0.6,
|
|
99
|
+
marginLeft: 8,
|
|
100
|
+
pointerEvents: "none"
|
|
101
|
+
},
|
|
102
|
+
children: [
|
|
103
|
+
h + 1,
|
|
104
|
+
"/",
|
|
105
|
+
c.length
|
|
106
|
+
]
|
|
107
|
+
}),
|
|
108
|
+
/* @__PURE__ */ m("div", {
|
|
109
|
+
style: {
|
|
110
|
+
opacity: 0.5,
|
|
111
|
+
fontSize: 11,
|
|
112
|
+
marginTop: 2,
|
|
113
|
+
pointerEvents: "none"
|
|
114
|
+
},
|
|
115
|
+
children: "[ prev · ] next · Esc revert"
|
|
116
|
+
}),
|
|
117
|
+
P && /* @__PURE__ */ m("div", {
|
|
118
|
+
style: {
|
|
119
|
+
position: "absolute",
|
|
120
|
+
bottom: "calc(100% + 6px)",
|
|
121
|
+
right: 0,
|
|
122
|
+
padding: "4px 8px",
|
|
123
|
+
borderRadius: 6,
|
|
124
|
+
background: "rgba(40, 160, 90, 0.95)",
|
|
125
|
+
color: "#fff",
|
|
126
|
+
font: "500 11px/1.2 system-ui, sans-serif",
|
|
127
|
+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.25)",
|
|
128
|
+
pointerEvents: "none"
|
|
129
|
+
},
|
|
130
|
+
children: "Copied!"
|
|
131
|
+
})
|
|
132
|
+
]
|
|
133
|
+
})]
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
export {
|
|
137
|
+
X as ThemeProvider
|
|
138
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.theme-settings-drawer .drawer__content{min-height:0;display:flex}.theme-settings{min-height:0;padding:var(--spacing-8);flex:1;display:flex}.theme-settings__content{gap:var(--spacing-16);flex-direction:column;flex:1;min-height:0;display:flex}.theme-settings__content label{color:var(--body-accent-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.theme-settings__content .dropdown-menu{width:200px!important;position:fixed!important}.theme-settings__section{gap:var(--spacing-8);flex-direction:column;min-height:0;display:flex}.theme-settings__section:first-child{flex:1}.theme-settings__components{gap:var(--spacing-8);display:flex}.theme-settings__toolbar{align-items:center;gap:var(--spacing-12);display:flex}.theme-settings__toolbar .search{flex:1}.theme-settings__toolbar .toggle-switch{flex-shrink:0}.theme-settings__appearance{gap:var(--spacing-4);padding:var(--spacing-2);border:var(--spacing-1) solid var(--form-control-border-color);border-radius:var(--radius);align-self:flex-start;display:flex}.theme-settings__appearance-option{all:unset;cursor:pointer;padding:var(--spacing-4) var(--spacing-12);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--body-color-muted);transition:background-color var(--transition-fast), color var(--transition-fast)}.theme-settings__appearance-option:hover{color:var(--body-color)}.theme-settings__appearance-option--active{background-color:var(--card-background-accent-color);color:var(--body-accent-color)}.theme-settings__appearance-option--active:hover{color:var(--body-accent-color)}.theme-settings__grid{align-content:start;align-items:start;gap:var(--spacing-12);min-height:0;padding:var(--spacing-4);flex:1;grid-template-columns:repeat(3,1fr);display:grid;overflow-y:auto}.theme-settings__empty{text-align:center;padding:var(--spacing-24);color:var(--body-color-muted);font-size:var(--font-size-sm);grid-column:1/-1}.theme-settings__swatch{all:unset;cursor:pointer;align-self:start;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8);border-radius:var(--radius);border:var(--spacing-2) solid transparent;transition:border-color var(--transition-fast);flex-direction:column;display:flex}.theme-settings__swatch:hover{border-color:var(--body-color-muted)}.theme-settings__swatch--active,.theme-settings__swatch--active:hover{border-color:var(--body-accent-color)}.theme-settings__swatch-meta{align-items:center;gap:var(--spacing-2);flex-direction:column;display:flex}.theme-settings__swatch-label{font-size:var(--font-size-xs);color:var(--body-color);text-align:center;line-height:var(--line-height-tight)}.theme-settings__preview{aspect-ratio:16/10;border-radius:var(--radius-sm);background:var(--body-background);flex-direction:column;width:100%;display:flex;position:relative;overflow:hidden}.theme-settings__favorite-badge{top:var(--spacing-2);right:var(--spacing-2);font-size:var(--font-size-xs);z-index:1;filter:drop-shadow(0 1px 2px #0000004d);line-height:1;position:absolute}.theme-settings__preview-header{background-color:var(--header-background-color);border-bottom:var(--spacing-1) solid var(--header-border-bottom-color);height:14%}.theme-settings__preview-body{padding:var(--spacing-4);gap:var(--spacing-4);flex:1;display:flex}.theme-settings__preview-card{background-color:var(--card-background-color);border-radius:var(--spacing-2);padding:var(--spacing-4);gap:var(--spacing-2);flex-direction:column;flex:1;display:flex}.theme-settings__preview-line{border-radius:var(--spacing-1);background-color:var(--body-color-muted);opacity:.4;height:3px}.theme-settings__preview-line--accent{background-color:var(--body-accent-color);opacity:1}.theme-settings__preview-line--short{width:60%}.theme-settings__preview-sidebar{align-items:center;gap:var(--spacing-4);width:20%;padding-top:var(--spacing-2);flex-direction:column;display:flex}.theme-settings__preview-dot{border-radius:var(--radius-full);background-color:var(--body-accent-color);opacity:.7;width:6px;height:6px}@media (width<=768px){.theme-settings__grid{grid-template-columns:repeat(2,1fr)}}
|