@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.
Files changed (367) hide show
  1. package/dist/components/Accordion/Accordion.css +1 -0
  2. package/dist/components/Accordion/Accordion2.js +79 -0
  3. package/dist/components/AlertDialog/AlertDialog.css +1 -0
  4. package/dist/components/AlertDialog/AlertDialog2.js +26 -0
  5. package/dist/components/AnalogClock/AnalogClock.css +1 -0
  6. package/dist/components/AnalogClock/AnalogClock2.js +293 -0
  7. package/dist/components/AngleSlider/AngleSlider.css +1 -0
  8. package/dist/components/AngleSlider/AngleSlider2.js +135 -0
  9. package/dist/components/AppHeader/AppHeader.css +1 -0
  10. package/dist/components/AppHeader/AppHeader2.js +44 -0
  11. package/dist/components/Auth/ChangePasswordModal/ChangePasswordModal.css +1 -0
  12. package/dist/components/Auth/ChangePasswordModal/ChangePasswordModal2.js +138 -0
  13. package/dist/components/Auth/Login/Login.css +1 -0
  14. package/dist/components/Auth/Login/Login2.js +155 -0
  15. package/dist/components/Auth/MfaSetupModal/MfaSetupModal.css +1 -0
  16. package/dist/components/Auth/MfaSetupModal/MfaSetupModal2.js +327 -0
  17. package/dist/components/AvatarInitials/AvatarInitials.css +1 -0
  18. package/dist/components/AvatarInitials/AvatarInitials2.js +73 -0
  19. package/dist/components/BMI/BMI.css +1 -0
  20. package/dist/components/BMI/BMI2.js +53 -0
  21. package/dist/components/BMI/bmiUtils.js +265 -0
  22. package/dist/components/Badge/Badge.css +1 -0
  23. package/dist/components/Badge/Badge2.js +30 -0
  24. package/dist/components/Banner/Banner.css +1 -0
  25. package/dist/components/Banner/Banner2.js +57 -0
  26. package/dist/components/Blockquote/Blockquote.css +1 -0
  27. package/dist/components/Blockquote/Blockquote2.js +55 -0
  28. package/dist/components/Breadcrumb/Breadcrumb.css +1 -0
  29. package/dist/components/Breadcrumb/Breadcrumb2.js +36 -0
  30. package/dist/components/BulkActionBar/BulkActionBar.css +1 -0
  31. package/dist/components/BulkActionBar/BulkActionBar2.js +39 -0
  32. package/dist/components/Button/Button.css +1 -0
  33. package/dist/components/Button/Button2.js +32 -0
  34. package/dist/components/Calendar/Calendar.css +1 -0
  35. package/dist/components/Calendar/Calendar2.js +279 -0
  36. package/dist/components/CalendarHeatmap/CalendarHeatmap.css +1 -0
  37. package/dist/components/CalendarHeatmap/CalendarHeatmap2.js +91 -0
  38. package/dist/components/Card/Card.css +1 -0
  39. package/dist/components/Card/Card2.js +47 -0
  40. package/dist/components/Checkbox/Checkbox.css +1 -0
  41. package/dist/components/Checkbox/Checkbox2.js +35 -0
  42. package/dist/components/Chip/Chip.css +1 -0
  43. package/dist/components/Chip/Chip2.js +31 -0
  44. package/dist/components/CollapsibleSection/CollapsibleSection.css +1 -0
  45. package/dist/components/CollapsibleSection/CollapsibleSection2.js +68 -0
  46. package/dist/components/ColorPicker/ColorPicker.css +1 -0
  47. package/dist/components/ColorPicker/ColorPicker2.js +257 -0
  48. package/dist/components/CommandPalette/CommandPalette.css +1 -0
  49. package/dist/components/CommandPalette/CommandPalette2.js +97 -0
  50. package/dist/components/Confetti/Confetti.css +1 -0
  51. package/dist/components/Confetti/Confetti2.js +175 -0
  52. package/dist/components/ConfirmDialog/ConfirmDialog.css +1 -0
  53. package/dist/components/ConfirmDialog/ConfirmDialog2.js +37 -0
  54. package/dist/components/ConfirmPopover/ConfirmPopover.css +1 -0
  55. package/dist/components/ConfirmPopover/ConfirmPopover2.js +55 -0
  56. package/dist/components/ContextMenu/ContextMenu.css +1 -0
  57. package/dist/components/ContextMenu/ContextMenu2.js +53 -0
  58. package/dist/components/ContextToast/ContextToast.css +1 -0
  59. package/dist/components/ContextToast/ContextToast2.js +96 -0
  60. package/dist/components/ControlPanel/ControlPanel.css +1 -0
  61. package/dist/components/ControlPanel/ControlPanel.types.js +21 -0
  62. package/dist/components/ControlPanel/ControlPanel2.js +137 -0
  63. package/dist/components/ControlPanel/ControlPanelContext.js +31 -0
  64. package/dist/components/ControlPanel/ControlPanelFilter.js +386 -0
  65. package/dist/components/ControlPanel/ControlPanelNav.js +74 -0
  66. package/dist/components/ControlPanel/ControlPanelOptions.js +197 -0
  67. package/dist/components/CopyButton/CopyButton.css +1 -0
  68. package/dist/components/CopyButton/CopyButton2.js +48 -0
  69. package/dist/components/CountryWithFlag/CountryWithFlag.css +1 -0
  70. package/dist/components/CountryWithFlag/CountryWithFlag2.js +21 -0
  71. package/dist/components/DataView/DataView.CardView.js +189 -0
  72. package/dist/components/DataView/DataView.ColumnSelector.js +51 -0
  73. package/dist/components/DataView/DataView.MiniSort.js +25 -0
  74. package/dist/components/DataView/DataView.css +1 -0
  75. package/dist/components/DataView/DataView2.js +433 -0
  76. package/dist/components/DatePicker/DatePicker.css +1 -0
  77. package/dist/components/DatePicker/DatePicker2.js +151 -0
  78. package/dist/components/DateRangePicker/DateRangePicker.css +1 -0
  79. package/dist/components/DateRangePicker/DateRangePicker2.js +223 -0
  80. package/dist/components/DayAgenda/DayAgenda.css +1 -0
  81. package/dist/components/DayAgenda/DayAgenda2.js +120 -0
  82. package/dist/components/DiffViewer/DiffViewer.css +1 -0
  83. package/dist/components/DiffViewer/DiffViewer2.js +270 -0
  84. package/dist/components/Drawer/Drawer.css +1 -0
  85. package/dist/components/Drawer/Drawer2.js +119 -0
  86. package/dist/components/Dropdown/Dropdown.css +1 -0
  87. package/dist/components/Dropdown/Dropdown2.js +413 -0
  88. package/dist/components/EmojiPicker/EmojiPicker.css +1 -0
  89. package/dist/components/EmojiPicker/EmojiPicker2.js +789 -0
  90. package/dist/components/EmojiPicker/emojiKeywords/activities.js +508 -0
  91. package/dist/components/EmojiPicker/emojiKeywords/animals.js +501 -0
  92. package/dist/components/EmojiPicker/emojiKeywords/food.js +540 -0
  93. package/dist/components/EmojiPicker/emojiKeywords/index.js +21 -0
  94. package/dist/components/EmojiPicker/emojiKeywords/objects.js +652 -0
  95. package/dist/components/EmojiPicker/emojiKeywords/people.js +488 -0
  96. package/dist/components/EmojiPicker/emojiKeywords/smileys.js +538 -0
  97. package/dist/components/EmojiPicker/emojiKeywords/symbols.js +597 -0
  98. package/dist/components/EmojiPicker/emojiKeywords/travel.js +507 -0
  99. package/dist/components/EmptyState/EmptyState.css +1 -0
  100. package/dist/components/EmptyState/EmptyState2.js +47 -0
  101. package/dist/components/ErrorBoundary/ErrorBoundary.css +1 -0
  102. package/dist/components/ErrorBoundary/ErrorBoundary2.js +37 -0
  103. package/dist/components/EventCalendar/EventCalendar.Chip.js +45 -0
  104. package/dist/components/EventCalendar/EventCalendar.Month.js +118 -0
  105. package/dist/components/EventCalendar/EventCalendar.Week.js +131 -0
  106. package/dist/components/EventCalendar/EventCalendar.css +1 -0
  107. package/dist/components/EventCalendar/EventCalendar.helpers.js +72 -0
  108. package/dist/components/EventCalendar/EventCalendar2.js +157 -0
  109. package/dist/components/FileDropzone/FileDropzone.css +1 -0
  110. package/dist/components/FileDropzone/FileDropzone2.js +71 -0
  111. package/dist/components/Flag/Flag.css +1 -0
  112. package/dist/components/Flag/Flag2.js +36 -0
  113. package/dist/components/FloatButton/FloatButton.css +1 -0
  114. package/dist/components/FloatButton/FloatButton2.js +68 -0
  115. package/dist/components/FloatingWindow/FloatingWindow.css +1 -0
  116. package/dist/components/FloatingWindow/FloatingWindow2.js +203 -0
  117. package/dist/components/FolderBrowserModal/FolderBrowserModal.css +1 -0
  118. package/dist/components/FolderBrowserModal/FolderBrowserModal2.js +144 -0
  119. package/dist/components/Grid/Col.js +17 -0
  120. package/dist/components/Grid/Grid.css +1 -0
  121. package/dist/components/Grid/Grid2.js +28 -0
  122. package/dist/components/Icon/Icon.css +1 -0
  123. package/dist/components/Icon/Icon2.js +23 -0
  124. package/dist/components/IconPicker/IconPicker.css +1 -0
  125. package/dist/components/IconPicker/IconPicker2.js +51 -0
  126. package/dist/components/InfiniteScroll/InfiniteScroll.css +1 -0
  127. package/dist/components/InfiniteScroll/InfiniteScroll2.js +66 -0
  128. package/dist/components/InputDate/InputDate.css +1 -0
  129. package/dist/components/InputDate/InputDate2.js +87 -0
  130. package/dist/components/InputEmail/InputEmail.css +1 -0
  131. package/dist/components/InputEmail/InputEmail2.js +73 -0
  132. package/dist/components/InputFile/InputFile.css +1 -0
  133. package/dist/components/InputFile/InputFile2.js +41 -0
  134. package/dist/components/InputMask/InputMask.css +1 -0
  135. package/dist/components/InputMask/InputMask2.js +163 -0
  136. package/dist/components/InputNumber/InputNumber.css +1 -0
  137. package/dist/components/InputNumber/InputNumber2.js +60 -0
  138. package/dist/components/InputPIN/InputPIN.css +1 -0
  139. package/dist/components/InputPIN/InputPIN2.js +121 -0
  140. package/dist/components/InputPassword/InputPassword.css +1 -0
  141. package/dist/components/InputPassword/InputPassword2.js +47 -0
  142. package/dist/components/InputPhone/InputPhone.css +1 -0
  143. package/dist/components/InputPhone/InputPhone2.js +82 -0
  144. package/dist/components/InputSearch/InputSearch.css +1 -0
  145. package/dist/components/InputSearch/InputSearch2.js +53 -0
  146. package/dist/components/InputText/InputText.css +1 -0
  147. package/dist/components/InputText/InputText2.js +47 -0
  148. package/dist/components/InputTextarea/InputTextarea.css +1 -0
  149. package/dist/components/InputTextarea/InputTextarea2.js +46 -0
  150. package/dist/components/InputTime/InputTime.css +1 -0
  151. package/dist/components/InputTime/InputTime2.js +85 -0
  152. package/dist/components/InputUrl/InputUrl.css +1 -0
  153. package/dist/components/InputUrl/InputUrl2.js +65 -0
  154. package/dist/components/JourneyWizard/JourneyWizard.css +1 -0
  155. package/dist/components/JourneyWizard/JourneyWizard2.js +147 -0
  156. package/dist/components/List/List.css +1 -0
  157. package/dist/components/List/List2.js +28 -0
  158. package/dist/components/Loading/Loading.css +1 -0
  159. package/dist/components/Loading/Loading2.js +11 -0
  160. package/dist/components/MenuHamburger/MenuHamburger.css +1 -0
  161. package/dist/components/MenuHamburger/MenuHamburger2.js +65 -0
  162. package/dist/components/MiniSort/MiniSort.css +1 -0
  163. package/dist/components/MiniSort/MiniSort2.js +52 -0
  164. package/dist/components/MiniStatsCard/MiniStatsCard.css +1 -0
  165. package/dist/components/MiniStatsCard/MiniStatsCard2.js +67 -0
  166. package/dist/components/Minimap/Minimap.css +1 -0
  167. package/dist/components/Minimap/Minimap2.js +62 -0
  168. package/dist/components/Modal/Modal.css +1 -0
  169. package/dist/components/Modal/Modal2.js +87 -0
  170. package/dist/components/NavBar/NavBar.css +1 -0
  171. package/dist/components/NavBar/NavBar2.js +64 -0
  172. package/dist/components/NotificationPanel/NotificationPanel.css +1 -0
  173. package/dist/components/NotificationPanel/NotificationPanel2.js +66 -0
  174. package/dist/components/Pagination/Pagination.css +1 -0
  175. package/dist/components/Pagination/Pagination2.js +92 -0
  176. package/dist/components/PieChart/PieChart.css +1 -0
  177. package/dist/components/PieChart/PieChart2.js +142 -0
  178. package/dist/components/Popover/Popover.css +1 -0
  179. package/dist/components/Popover/Popover2.js +109 -0
  180. package/dist/components/Popover/hooks/Popover.hook.js +33 -0
  181. package/dist/components/ProgressBar/ProgressBar.css +1 -0
  182. package/dist/components/ProgressBar/ProgressBar2.js +48 -0
  183. package/dist/components/ProgressRing/ProgressRing.css +1 -0
  184. package/dist/components/ProgressRing/ProgressRing2.js +54 -0
  185. package/dist/components/QuantitySelector/QuantitySelector.css +1 -0
  186. package/dist/components/QuantitySelector/QuantitySelector2.js +94 -0
  187. package/dist/components/QuickAdd/QuickAdd.css +1 -0
  188. package/dist/components/QuickAdd/QuickAdd2.js +56 -0
  189. package/dist/components/QuickNumberUpdate/QuickNumberUpdate.css +1 -0
  190. package/dist/components/QuickNumberUpdate/QuickNumberUpdate2.js +52 -0
  191. package/dist/components/QuickOptionUpdate/QuickOptionUpdate.css +1 -0
  192. package/dist/components/QuickOptionUpdate/QuickOptionUpdate2.js +67 -0
  193. package/dist/components/Radio/Radio.css +1 -0
  194. package/dist/components/Radio/Radio2.js +36 -0
  195. package/dist/components/RangeSlider/RangeSlider.css +1 -0
  196. package/dist/components/RangeSlider/RangeSlider2.js +157 -0
  197. package/dist/components/Rating/Rating.css +1 -0
  198. package/dist/components/Rating/Rating2.js +148 -0
  199. package/dist/components/Rating/RatingIcon.js +102 -0
  200. package/dist/components/RichTextEditor/RichTextEditor.css +1 -0
  201. package/dist/components/RichTextEditor/RichTextEditor2.js +212 -0
  202. package/dist/components/RichTextEditor/RteLinkPrompt.js +42 -0
  203. package/dist/components/RichTextEditor/RteTableToolbar.js +95 -0
  204. package/dist/components/RichTextEditor/RteToolbar.js +106 -0
  205. package/dist/components/RichTextEditor/helpers.js +73 -0
  206. package/dist/components/RichTextEditor/hooks/useEditorHistory.js +39 -0
  207. package/dist/components/RichTextEditor/hooks/useLinkPrompt.js +61 -0
  208. package/dist/components/RichTextEditor/hooks/useTableOps.js +134 -0
  209. package/dist/components/RollingNumber/RollingNumber.css +1 -0
  210. package/dist/components/RollingNumber/RollingNumber2.js +71 -0
  211. package/dist/components/ScrollToTop/ScrollToTop.css +1 -0
  212. package/dist/components/ScrollToTop/ScrollToTop2.js +40 -0
  213. package/dist/components/Separator/Separator.css +1 -0
  214. package/dist/components/Separator/Separator2.js +39 -0
  215. package/dist/components/Sidebar/Sidebar.css +1 -0
  216. package/dist/components/Sidebar/Sidebar2.js +115 -0
  217. package/dist/components/Sidebar/SidebarContext.js +31 -0
  218. package/dist/components/SignalStrength/SignalStrength.css +1 -0
  219. package/dist/components/SignalStrength/SignalStrength2.js +56 -0
  220. package/dist/components/Skeleton/Skeleton.css +1 -0
  221. package/dist/components/Skeleton/Skeleton2.js +50 -0
  222. package/dist/components/Slider/Slider.css +1 -0
  223. package/dist/components/Slider/Slider2.js +39 -0
  224. package/dist/components/SplitPanel/SplitPanel.css +1 -0
  225. package/dist/components/SplitPanel/SplitPanel2.js +69 -0
  226. package/dist/components/Splitter/Splitter.css +1 -0
  227. package/dist/components/Splitter/Splitter2.js +89 -0
  228. package/dist/components/StackedBar/StackedBar.css +1 -0
  229. package/dist/components/StackedBar/StackedBar2.js +50 -0
  230. package/dist/components/Stats/Stats.css +1 -0
  231. package/dist/components/Stats/Stats2.js +26 -0
  232. package/dist/components/StickyBar/StickyBar.css +1 -0
  233. package/dist/components/StickyBar/StickyBar2.js +29 -0
  234. package/dist/components/SuggestionsList/SuggestionsList.css +1 -0
  235. package/dist/components/SuggestionsList/SuggestionsList2.js +121 -0
  236. package/dist/components/ThemeSettings/ThemeContext.js +138 -0
  237. package/dist/components/ThemeSettings/ThemeContextValue.js +5 -0
  238. package/dist/components/ThemeSettings/ThemeSettings.css +1 -0
  239. package/dist/components/ThemeSettings/ThemeSettings2.js +245 -0
  240. package/dist/components/ThemeSettings/themeConfig.js +7 -0
  241. package/dist/components/ThemeSettings/useTheme.js +10 -0
  242. package/dist/components/TimePicker/TimePicker.css +1 -0
  243. package/dist/components/TimePicker/TimePicker2.js +118 -0
  244. package/dist/components/TimePicker/TimeSpinner.js +59 -0
  245. package/dist/components/Timeline/Timeline.css +1 -0
  246. package/dist/components/Timeline/Timeline2.js +57 -0
  247. package/dist/components/TimelineMarkers/TimelineMarkers.css +1 -0
  248. package/dist/components/TimelineMarkers/TimelineMarkers2.js +73 -0
  249. package/dist/components/TipsOfTheDay/TipsOfTheDay.css +1 -0
  250. package/dist/components/TipsOfTheDay/TipsOfTheDay2.js +24 -0
  251. package/dist/components/Toast/Toast.css +1 -0
  252. package/dist/components/Toast/Toast2.js +39 -0
  253. package/dist/components/ToggleButtons/ToggleButtons.css +1 -0
  254. package/dist/components/ToggleButtons/ToggleButtons2.js +47 -0
  255. package/dist/components/ToggleSwitch/ToggleSwitch.css +1 -0
  256. package/dist/components/ToggleSwitch/ToggleSwitch2.js +27 -0
  257. package/dist/components/Toolbar/Toolbar.css +1 -0
  258. package/dist/components/Toolbar/Toolbar2.js +129 -0
  259. package/dist/components/Tooltip/Tooltip.css +1 -0
  260. package/dist/components/Tooltip/Tooltip2.js +93 -0
  261. package/dist/components/TourHud/TourHud.css +1 -0
  262. package/dist/components/TourHud/TourHud2.js +70 -0
  263. package/dist/components/Transition/Transition.css +1 -0
  264. package/dist/components/Transition/Transition2.js +68 -0
  265. package/dist/components/Tree/Tree.css +1 -0
  266. package/dist/components/Tree/Tree2.js +95 -0
  267. package/dist/components/VirtualList/VirtualList.css +1 -0
  268. package/dist/components/VirtualList/VirtualList2.js +64 -0
  269. package/dist/components/WHtR/WHtR.css +1 -0
  270. package/dist/components/WHtR/WHtR2.js +115 -0
  271. package/dist/contexts/AuthContext/AuthContext.js +113 -0
  272. package/dist/helpers/AppPersistenceStorage.js +50 -0
  273. package/dist/helpers/Datetime.js +114 -0
  274. package/dist/helpers/Format.js +21 -0
  275. package/dist/helpers/Highlight.js +36 -0
  276. package/dist/helpers/HtmlContent.js +118 -0
  277. package/dist/helpers/LogicalOperators.js +15 -0
  278. package/dist/helpers/Numbers.js +15 -0
  279. package/dist/helpers/Pagination.js +7 -0
  280. package/dist/helpers/Search.js +15 -0
  281. package/dist/helpers/Strings.js +10 -0
  282. package/dist/helpers/Urls.js +68 -0
  283. package/dist/helpers/VersionInfo.js +36 -0
  284. package/dist/hooks/useAppPersistence.js +51 -0
  285. package/dist/hooks/useAuth/useAuth.js +10 -0
  286. package/dist/hooks/useBodyScrollLock.js +31 -0
  287. package/dist/hooks/useBreakpoint.js +65 -0
  288. package/dist/hooks/useComponentEffect.js +8 -0
  289. package/dist/hooks/useSwipe.js +45 -0
  290. package/dist/index.css +1 -2
  291. package/dist/index.d.ts +6 -10
  292. package/dist/index.esm.js +1 -17738
  293. package/dist/index.js +348 -0
  294. package/dist/mfa.js +4 -0
  295. package/dist/node_modules/qrcode.react/lib/esm/index.js +979 -0
  296. package/dist/validators/Vin.js +69 -0
  297. package/dist/version.js +8 -0
  298. package/dist/version.json +4 -4
  299. package/package.json +11 -75
  300. package/dist/mfa.esm.js +0 -1293
  301. package/dist/styles/themes.scss +0 -74
  302. package/dist/styles/theming/_profile-theme.scss +0 -317
  303. package/dist/styles/theming/amber-meridian.scss +0 -271
  304. package/dist/styles/theming/archive-indigo.scss +0 -270
  305. package/dist/styles/theming/arctic-blue.scss +0 -266
  306. package/dist/styles/theming/asphalt-code.scss +0 -271
  307. package/dist/styles/theming/atelier-media.scss +0 -272
  308. package/dist/styles/theming/audit-ember.scss +0 -286
  309. package/dist/styles/theming/azure-night.scss +0 -269
  310. package/dist/styles/theming/blossom-meadow.scss +0 -273
  311. package/dist/styles/theming/blueprint-clay.scss +0 -271
  312. package/dist/styles/theming/blush-market.scss +0 -271
  313. package/dist/styles/theming/brass-chronicle.scss +0 -271
  314. package/dist/styles/theming/carbon-velocity.scss +0 -270
  315. package/dist/styles/theming/chalk-circuit.scss +0 -271
  316. package/dist/styles/theming/chrono-atlas.scss +0 -279
  317. package/dist/styles/theming/citrus-vital.scss +0 -34
  318. package/dist/styles/theming/clinical-aqua.scss +0 -270
  319. package/dist/styles/theming/cobalt-pulse.scss +0 -272
  320. package/dist/styles/theming/command-slate.scss +0 -34
  321. package/dist/styles/theming/crawler-dusk.scss +0 -270
  322. package/dist/styles/theming/crimson-dusk.scss +0 -269
  323. package/dist/styles/theming/cyber-forest.scss +0 -269
  324. package/dist/styles/theming/dashdarkx.scss +0 -269
  325. package/dist/styles/theming/ember-night.scss +0 -269
  326. package/dist/styles/theming/emerald-ledger.scss +0 -271
  327. package/dist/styles/theming/frost-petal.scss +0 -269
  328. package/dist/styles/theming/garden-harvest.scss +0 -271
  329. package/dist/styles/theming/gilded-bear.scss +0 -271
  330. package/dist/styles/theming/graphite-shell.scss +0 -270
  331. package/dist/styles/theming/horizon-amber.scss +0 -270
  332. package/dist/styles/theming/horizon-drift.scss +0 -271
  333. package/dist/styles/theming/ivory-serif.scss +0 -271
  334. package/dist/styles/theming/lavender-mist.scss +0 -269
  335. package/dist/styles/theming/light-blue.scss +0 -269
  336. package/dist/styles/theming/lumen.scss +0 -276
  337. package/dist/styles/theming/luna.scss +0 -269
  338. package/dist/styles/theming/mesh-circuit.scss +0 -271
  339. package/dist/styles/theming/midnight-amber.scss +0 -273
  340. package/dist/styles/theming/midnight-atlas.scss +0 -35
  341. package/dist/styles/theming/midnight-folio.scss +0 -34
  342. package/dist/styles/theming/mint-meadow.scss +0 -269
  343. package/dist/styles/theming/mintone.scss +0 -269
  344. package/dist/styles/theming/neon-tokyo.scss +0 -269
  345. package/dist/styles/theming/noir-marquee.scss +0 -34
  346. package/dist/styles/theming/ocean-breeze.scss +0 -269
  347. package/dist/styles/theming/ocean-depths.scss +0 -269
  348. package/dist/styles/theming/orbital-night.scss +0 -276
  349. package/dist/styles/theming/sandstone.scss +0 -269
  350. package/dist/styles/theming/sandy-parchment.scss +0 -270
  351. package/dist/styles/theming/screening-room.scss +0 -34
  352. package/dist/styles/theming/signal-burst.scss +0 -271
  353. package/dist/styles/theming/signal-clarity.scss +0 -34
  354. package/dist/styles/theming/slate-bazaar.scss +0 -34
  355. package/dist/styles/theming/slate-focus.scss +0 -270
  356. package/dist/styles/theming/spectrum-vault.scss +0 -271
  357. package/dist/styles/theming/tailwind-vue-dark.scss +0 -269
  358. package/dist/styles/theming/terminal-phosphor.scss +0 -272
  359. package/dist/styles/theming/terracotta-kitchen.scss +0 -271
  360. package/dist/styles/theming/twilight-pulse.scss +0 -269
  361. package/dist/styles/theming/vault-guard.scss +0 -271
  362. package/dist/styles/theming/velvet-reel.scss +0 -272
  363. package/dist/styles/theming/velvet-tome.scss +0 -271
  364. package/dist/styles/theming/verdant-pulse.scss +0 -34
  365. package/dist/styles/theming/vital-aurora.scss +0 -45
  366. package/dist/styles/theming/vital-signal.scss +0 -270
  367. 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,5 @@
1
+ import { createContext as e } from "react";
2
+ var o = e(void 0);
3
+ export {
4
+ o as ThemeContext
5
+ };
@@ -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)}}