@memobit/libs 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) 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.esm.js +1 -17211
  292. package/dist/index.js +348 -0
  293. package/dist/mfa.js +4 -0
  294. package/dist/node_modules/qrcode.react/lib/esm/index.js +979 -0
  295. package/dist/validators/Vin.js +69 -0
  296. package/dist/version.js +8 -0
  297. package/dist/version.json +4 -4
  298. package/package.json +8 -7
  299. package/dist/mfa.esm.js +0 -1293
  300. package/dist/useAuth-BBqdDG2z.js +0 -467
@@ -0,0 +1,39 @@
1
+ import './Toast.css';
2
+ import { Icon as m } from "../Icon/Icon2.js";
3
+ import { Tooltip as n } from "../Tooltip/Tooltip2.js";
4
+ /* empty css */
5
+ import { useEffect as p } from "react";
6
+ import { jsx as t, jsxs as u } from "react/jsx-runtime";
7
+ var N = ({ message: r, type: a = "success", onClose: s, position: i = "top-right", showDismissButton: c = !0, timeout: o = 3e3, action: e }) => (p(() => {
8
+ const l = setTimeout(() => {
9
+ s();
10
+ }, o);
11
+ return () => clearTimeout(l);
12
+ }, [s, o]), /* @__PURE__ */ u("div", {
13
+ className: `toast toast--fixed toast-${a} toast--${i}`,
14
+ children: [
15
+ /* @__PURE__ */ t("span", {
16
+ className: "toast__message",
17
+ children: r
18
+ }),
19
+ e && /* @__PURE__ */ t("button", {
20
+ className: "toast__action",
21
+ onClick: e.onClick,
22
+ children: e.label
23
+ }),
24
+ c && /* @__PURE__ */ t(n, {
25
+ title: "Close",
26
+ children: /* @__PURE__ */ t("button", {
27
+ className: "toast__close",
28
+ onClick: s,
29
+ children: /* @__PURE__ */ t(m, {
30
+ name: "clear",
31
+ size: "sm"
32
+ })
33
+ })
34
+ })
35
+ ]
36
+ }));
37
+ export {
38
+ N as Toast
39
+ };
@@ -0,0 +1 @@
1
+ .toggle-buttons{column-gap:var(--spacing-1);align-items:stretch;height:100%;display:flex}.toggle-buttons .button{margin-left:calc(var(--spacing-1) * -1);border-radius:0}.toggle-buttons .button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.toggle-buttons .button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.toggle-buttons .button:only-child{border-radius:var(--radius-sm)}.toggle-buttons--cards{column-gap:var(--spacing-6);height:auto}.toggle-buttons--cards>.tooltip-trigger{flex:1;display:flex}.toggle-buttons__card{justify-content:center;align-items:center;gap:var(--spacing-4);min-width:var(--spacing-64);padding:var(--spacing-12) var(--spacing-4);border:1px solid var(--form-control-border-color);border-radius:var(--radius-sm);cursor:pointer;background:var(--form-control-background-color);color:var(--body-sub-title-color);transition:var(--transition-fast);flex-direction:column;flex:1;display:flex}.toggle-buttons__card:hover{border-color:var(--button-warning-border-color);background:var(--button-warning-hover-background-color);color:var(--body-color)}.toggle-buttons__card--active{border-color:var(--button-warning-border-color);background:var(--button-warning-background-color);color:var(--button-warning-color)}.toggle-buttons__card-icon{width:var(--spacing-32);height:var(--spacing-32);justify-content:center;align-items:center;line-height:1;display:inline-flex}.toggle-buttons__card-icon .icon{width:100%;height:100%}.toggle-buttons__card-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:center;line-height:1.2}
@@ -0,0 +1,47 @@
1
+ import './ToggleButtons.css';
2
+ import { Icon as m } from "../Icon/Icon2.js";
3
+ import { Button as u } from "../Button/Button2.js";
4
+ import { Tooltip as b } from "../Tooltip/Tooltip2.js";
5
+ import { useBreakpoint as g } from "../../hooks/useBreakpoint.js";
6
+ /* empty css */
7
+ import { jsx as o, jsxs as p } from "react/jsx-runtime";
8
+ var v = ({ activeVariant: l = "warning", state: n, onToggleChange: i, states: r, layout: c = "buttons", size: a = "medium" }) => {
9
+ const { isAtLeast: d } = g();
10
+ return c === "cards" ? /* @__PURE__ */ o("div", {
11
+ className: "toggle-buttons toggle-buttons--cards",
12
+ children: r.map((t) => {
13
+ const e = /* @__PURE__ */ p("button", {
14
+ type: "button",
15
+ className: `toggle-buttons__card${n === t.key ? " toggle-buttons__card--active" : ""}`,
16
+ onClick: () => i(t.key),
17
+ children: [t.icon && /* @__PURE__ */ o("span", {
18
+ className: "toggle-buttons__card-icon",
19
+ children: /* @__PURE__ */ o(m, {
20
+ name: t.icon,
21
+ size: "xl"
22
+ })
23
+ }), /* @__PURE__ */ o("span", {
24
+ className: "toggle-buttons__card-label",
25
+ children: t.label
26
+ })]
27
+ }, t.key);
28
+ return t.description ? /* @__PURE__ */ o(b, {
29
+ title: t.description,
30
+ children: e
31
+ }, t.key) : e;
32
+ })
33
+ }) : /* @__PURE__ */ o("div", {
34
+ className: "toggle-buttons",
35
+ children: r.map((t, e) => /* @__PURE__ */ o(u, {
36
+ size: a,
37
+ variant: n === t.key ? l : "default",
38
+ icon: t.icon,
39
+ onClick: () => i(t.key),
40
+ title: t.icon ? t.label : void 0,
41
+ children: d("tablet") || !t.icon ? t.label : ""
42
+ }, `btn-toggle2-${e}-${t.key}`))
43
+ });
44
+ };
45
+ export {
46
+ v as ToggleButtons
47
+ };
@@ -0,0 +1 @@
1
+ .toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;display:inline-flex}.toggle-switch:focus-visible .toggle-switch__track{box-shadow:0 0 0 var(--spacing-2) #007bff40}.toggle-switch__track{background-color:var(--button-danger-background-color);border:var(--spacing-1) solid var(--button-danger-border-color);align-items:center;transition:all .3s;display:flex;position:relative}.toggle-switch__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--button-danger-color);text-transform:uppercase;z-index:1;white-space:nowrap;margin-left:auto;line-height:1;transition:all .3s}.toggle-switch__thumb{left:var(--spacing-2);box-shadow:0 var(--spacing-2) var(--spacing-4) #0003;z-index:2;background-color:#fff;border-radius:50%;transition:all .3s;position:absolute}.toggle-switch.toggle-switch-small .toggle-switch__track{min-width:38px;height:16px;padding:var(--spacing-1) 6px var(--spacing-1) 18px;border-radius:8px}.toggle-switch.toggle-switch-small .toggle-switch__label{font-size:8px}.toggle-switch.toggle-switch-small .toggle-switch__thumb{width:14px;height:14px;left:var(--spacing-1)}.toggle-switch.toggle-switch-small.toggle-switch-checked .toggle-switch__track{padding-left:6px;padding-right:18px}.toggle-switch.toggle-switch-small.toggle-switch-checked .toggle-switch__label{margin-left:0;margin-right:auto}.toggle-switch.toggle-switch-small.toggle-switch-checked .toggle-switch__thumb{left:auto;right:var(--spacing-1)}.toggle-switch.toggle-switch-medium .toggle-switch__track{min-width:60px;height:28px;padding:var(--spacing-2) 8px var(--spacing-2) 28px;border-radius:14px}.toggle-switch.toggle-switch-medium .toggle-switch__label{font-size:var(--font-size-xs)}.toggle-switch.toggle-switch-medium .toggle-switch__thumb{width:22px;height:22px;left:var(--spacing-2)}.toggle-switch.toggle-switch-medium.toggle-switch-checked .toggle-switch__track{padding-left:8px;padding-right:28px}.toggle-switch.toggle-switch-medium.toggle-switch-checked .toggle-switch__label{margin-left:0;margin-right:auto}.toggle-switch.toggle-switch-medium.toggle-switch-checked .toggle-switch__thumb{left:auto;right:var(--spacing-2)}.toggle-switch.toggle-switch-large .toggle-switch__track{min-width:80px;height:36px;padding:var(--spacing-2) 10px var(--spacing-2) 36px;border-radius:18px}.toggle-switch.toggle-switch-large .toggle-switch__label{font-size:var(--font-size-sm)}.toggle-switch.toggle-switch-large .toggle-switch__thumb{width:30px;height:30px;left:var(--spacing-2)}.toggle-switch.toggle-switch-large.toggle-switch-checked .toggle-switch__track{padding-left:10px;padding-right:36px}.toggle-switch.toggle-switch-large.toggle-switch-checked .toggle-switch__label{margin-left:0;margin-right:auto}.toggle-switch.toggle-switch-large.toggle-switch-checked .toggle-switch__thumb{left:auto;right:var(--spacing-2)}.toggle-switch.toggle-switch-checked .toggle-switch__track{background-color:var(--button-success-background-color);border-color:var(--button-success-border-color)}.toggle-switch.toggle-switch-checked .toggle-switch__label{color:var(--button-success-color)}.toggle-switch.toggle-switch-default:not(.toggle-switch-checked) .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-default:not(.toggle-switch-checked) .toggle-switch__label{color:var(--button-default-color)}.toggle-switch.toggle-switch-default.toggle-switch-checked .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-default.toggle-switch-checked .toggle-switch__label{color:var(--button-default-color)}.toggle-switch.toggle-switch-success:not(.toggle-switch-checked) .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-success:not(.toggle-switch-checked) .toggle-switch__label{color:var(--button-danger-color)}.toggle-switch.toggle-switch-success.toggle-switch-checked .toggle-switch__track{background-color:var(--button-success-background-color);border-color:var(--button-success-border-color)}.toggle-switch.toggle-switch-success.toggle-switch-checked .toggle-switch__label{color:var(--button-success-color)}.toggle-switch.toggle-switch-info:not(.toggle-switch-checked) .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-info:not(.toggle-switch-checked) .toggle-switch__label{color:var(--button-danger-color)}.toggle-switch.toggle-switch-info.toggle-switch-checked .toggle-switch__track{background-color:var(--button-info-background-color);border-color:var(--button-info-border-color)}.toggle-switch.toggle-switch-info.toggle-switch-checked .toggle-switch__label{color:var(--button-info-color)}.toggle-switch.toggle-switch-warning:not(.toggle-switch-checked) .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-warning:not(.toggle-switch-checked) .toggle-switch__label{color:var(--button-danger-color)}.toggle-switch.toggle-switch-warning.toggle-switch-checked .toggle-switch__track{background-color:var(--button-warning-background-color);border-color:var(--button-warning-border-color)}.toggle-switch.toggle-switch-warning.toggle-switch-checked .toggle-switch__label{color:var(--button-warning-color)}.toggle-switch.toggle-switch-danger .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-danger .toggle-switch__label{color:var(--button-danger-color)}.toggle-switch.toggle-switch-danger.toggle-switch-checked .toggle-switch__track{background-color:var(--button-danger-background-color);border-color:var(--button-danger-border-color)}.toggle-switch.toggle-switch-danger.toggle-switch-checked .toggle-switch__label{color:var(--button-danger-color)}.toggle-switch.toggle-switch-plain .toggle-switch__track{background-color:var(--button-default-background-color);border-color:var(--button-default-border-color)}.toggle-switch.toggle-switch-plain .toggle-switch__label{color:var(--button-default-color)}.toggle-switch.toggle-switch-plain.toggle-switch-checked .toggle-switch__track{background-color:var(--button-default-hover-background-color);border-color:var(--button-default-hover-border-color)}.toggle-switch.toggle-switch-plain.toggle-switch-checked .toggle-switch__label{color:var(--button-default-hover-color)}.toggle-switch.toggle-switch-disabled{cursor:not-allowed;opacity:.6}.toggle-switch.toggle-switch-disabled:hover .toggle-switch__track{transform:none}.toggle-switch:not(.toggle-switch-disabled):hover .toggle-switch__track{transform:translateY(-1px)}.toggle-switch:not(.toggle-switch-disabled):active .toggle-switch__track{transform:translateY(0)}
@@ -0,0 +1,27 @@
1
+ import './ToggleSwitch.css';
2
+ /* empty css */
3
+ import "react";
4
+ import { jsx as s, jsxs as w } from "react/jsx-runtime";
5
+ var _ = ({ checked: t = !1, className: c, disabled: e = !1, offLabel: g = "Off", onChange: i, onLabel: a = "On", showLabels: r = !0, size: h = "medium", variant: n = "default" }) => {
6
+ const o = () => {
7
+ !e && i && i(!t);
8
+ }, m = (l) => {
9
+ (l.key === " " || l.key === "Enter") && (l.preventDefault(), o());
10
+ };
11
+ return /* @__PURE__ */ s("div", {
12
+ className: `toggle-switch toggle-switch-${h} toggle-switch-${n} ${t ? "toggle-switch-checked" : ""} ${e ? "toggle-switch-disabled" : ""} ${c || ""}`,
13
+ onClick: o,
14
+ onKeyDown: m,
15
+ tabIndex: e ? -1 : 0,
16
+ children: /* @__PURE__ */ w("div", {
17
+ className: "toggle-switch__track",
18
+ children: [r && /* @__PURE__ */ s("span", {
19
+ className: "toggle-switch__label",
20
+ children: t ? a : g
21
+ }), /* @__PURE__ */ s("div", { className: "toggle-switch__thumb" })]
22
+ })
23
+ });
24
+ };
25
+ export {
26
+ _ as ToggleSwitch
27
+ };
@@ -0,0 +1 @@
1
+ .memobit-toolbar{background-color:var(--header-background-color);border-bottom:var(--spacing-1) solid var(--header-border-bottom-color);border-radius:var(--spacing-16);align-items:flex-end;gap:var(--spacing-16);padding:var(--spacing-16);display:flex}.memobit-toolbar__control-panel-toggle,.memobit-toolbar__actions,.memobit-toolbar__sort{flex:none}.memobit-toolbar__control-panel-toggle-count{min-width:var(--spacing-20);height:var(--spacing-20);padding:0 var(--spacing-6);background:var(--body-accent-color);color:var(--button-info-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.memobit-toolbar__heading{align-items:center;gap:var(--spacing-8);flex:0 auto;align-self:center;min-width:0;display:flex}.memobit-toolbar__heading--clickable{cursor:pointer}.memobit-toolbar__heading-icon{flex:none;align-items:center;display:inline-flex}.memobit-toolbar__heading-copy{gap:var(--spacing-2);flex-direction:column;min-width:0;display:flex}.memobit-toolbar__heading-title{color:var(--body-title-color);font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.2}.memobit-toolbar__heading-description{color:var(--body-color-muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.memobit-toolbar__content{align-items:flex-end;gap:var(--spacing-16);flex:auto;min-width:0;display:flex}.memobit-toolbar__search{flex:280px;min-width:180px}.memobit-toolbar__search-input,.memobit-toolbar__search-input .input-text{width:100%}.memobit-toolbar__sort{min-width:220px}.memobit-toolbar__custom{align-items:flex-end;gap:var(--spacing-16);flex:auto;min-width:0;display:flex}.memobit-toolbar__actions{align-items:center;gap:var(--spacing-8);margin-left:auto;display:flex}.memobit-toolbar--no-card{background-color:#0000;border-bottom:0;border-radius:0;padding:0}@media (width<=768px){.memobit-toolbar{align-items:center;gap:var(--spacing-8);padding:var(--spacing-8);flex-wrap:wrap}.memobit-toolbar__control-panel-toggle{order:1}.memobit-toolbar__heading{flex:auto;order:1}.memobit-toolbar__actions{order:2;margin-left:auto}.memobit-toolbar__content{align-items:stretch;gap:var(--spacing-8);flex-direction:column;flex:100%;order:3;width:100%}.memobit-toolbar__search,.memobit-toolbar__sort,.memobit-toolbar__custom{flex:auto;width:100%;min-width:0}.memobit-toolbar__custom{align-items:stretch;gap:var(--spacing-8);flex-direction:column}}
@@ -0,0 +1,129 @@
1
+ import './Toolbar.css';
2
+ import { Icon as S } from "../Icon/Icon2.js";
3
+ import { Button as w } from "../Button/Button2.js";
4
+ import { Tooltip as x } from "../Tooltip/Tooltip2.js";
5
+ import { useControlPanelContext as I } from "../ControlPanel/ControlPanelContext.js";
6
+ import { Dropdown as y } from "../Dropdown/Dropdown2.js";
7
+ import { InputSearch as B } from "../InputSearch/InputSearch2.js";
8
+ import { MenuHamburger as $ } from "../MenuHamburger/MenuHamburger2.js";
9
+ import { NotificationPanel as R } from "../NotificationPanel/NotificationPanel2.js";
10
+ /* empty css */
11
+ import "react";
12
+ import { jsx as a, jsxs as t } from "react/jsx-runtime";
13
+ var c = "::", k = (e) => typeof e == "object" ? e.label : void 0, M = (e) => "fields" in e ? e.fields.flatMap((i) => [{
14
+ value: `${i.value}${c}asc`,
15
+ label: i.label,
16
+ suffixIcon: "arrow-up"
17
+ }, {
18
+ value: `${i.value}${c}desc`,
19
+ label: i.label,
20
+ suffixIcon: "arrow-down"
21
+ }]) : e.options, O = (e) => "fields" in e ? e.value ? `${e.value.field}${c}${e.value.direction}` : null : e.value, J = ({ children: e, className: i = "", controlPanelToggle: n, heading: l, noCard: f = !1, menuItems: _, notifications: r, search: s, sort: o }) => {
22
+ const u = I(), v = !!(n && u?.isMobile), d = typeof n == "object" ? n.count ?? 0 : 0, h = [
23
+ "memobit-toolbar",
24
+ f ? "memobit-toolbar--no-card" : "",
25
+ i
26
+ ].filter(Boolean).join(" "), N = !!(s || o || e), g = (m) => {
27
+ if (o) {
28
+ if (!m || Array.isArray(m)) {
29
+ "fields" in o || o.onChange("", null);
30
+ return;
31
+ }
32
+ if ("fields" in o) {
33
+ const b = String(m.value), p = b.lastIndexOf(c), C = b.substring(0, p), j = b.substring(p + 2);
34
+ o.onChange({
35
+ field: C,
36
+ direction: j
37
+ });
38
+ return;
39
+ }
40
+ o.onChange(String(m.value), m);
41
+ }
42
+ };
43
+ return /* @__PURE__ */ t("div", {
44
+ className: h,
45
+ children: [
46
+ v && /* @__PURE__ */ a(x, {
47
+ title: "Filters",
48
+ children: /* @__PURE__ */ t(w, {
49
+ className: "memobit-toolbar__control-panel-toggle",
50
+ icon: "tune",
51
+ onClick: u?.toggle,
52
+ size: "medium",
53
+ variant: "default",
54
+ children: [n && k(n), d > 0 && /* @__PURE__ */ a("span", {
55
+ className: "memobit-toolbar__control-panel-toggle-count",
56
+ children: d
57
+ })]
58
+ })
59
+ }),
60
+ l && /* @__PURE__ */ t("div", {
61
+ className: ["memobit-toolbar__heading", l.onClick ? "memobit-toolbar__heading--clickable" : ""].filter(Boolean).join(" "),
62
+ onClick: l.onClick,
63
+ children: [(l.svg || l.icon || l.emoji) && /* @__PURE__ */ t("span", {
64
+ className: "memobit-toolbar__heading-icon",
65
+ children: [
66
+ l.svg,
67
+ l.icon && /* @__PURE__ */ a(S, { name: l.icon }),
68
+ l.emoji
69
+ ]
70
+ }), /* @__PURE__ */ t("div", {
71
+ className: "memobit-toolbar__heading-copy",
72
+ children: [/* @__PURE__ */ a("span", {
73
+ className: "memobit-toolbar__heading-title",
74
+ children: l.title
75
+ }), l.description && /* @__PURE__ */ a("span", {
76
+ className: "memobit-toolbar__heading-description",
77
+ children: l.description
78
+ })]
79
+ })]
80
+ }),
81
+ N && /* @__PURE__ */ t("div", {
82
+ className: "memobit-toolbar__content",
83
+ children: [
84
+ s && /* @__PURE__ */ a("div", {
85
+ className: "memobit-toolbar__search",
86
+ children: /* @__PURE__ */ a(B, {
87
+ ...s,
88
+ className: ["memobit-toolbar__search-input", s.className].filter(Boolean).join(" ")
89
+ })
90
+ }),
91
+ e && /* @__PURE__ */ a("div", {
92
+ className: "memobit-toolbar__custom",
93
+ children: e
94
+ }),
95
+ o && /* @__PURE__ */ a("div", {
96
+ className: ["memobit-toolbar__sort", o.className].filter(Boolean).join(" "),
97
+ children: /* @__PURE__ */ a(y, {
98
+ highlighted: o.highlighted,
99
+ label: o.label,
100
+ name: o.name ?? "toolbar-sort",
101
+ onChange: g,
102
+ options: M(o),
103
+ placeholder: o.placeholder,
104
+ searchable: o.searchable ?? !1,
105
+ usePortal: !1,
106
+ value: O(o)
107
+ })
108
+ })
109
+ ]
110
+ }),
111
+ /* @__PURE__ */ t("div", {
112
+ className: "memobit-toolbar__actions",
113
+ children: [r && /* @__PURE__ */ a(R, {
114
+ items: r.items,
115
+ buttonLabel: r.buttonLabel,
116
+ panelTitle: r.panelTitle,
117
+ emptyMessage: r.emptyMessage
118
+ }), /* @__PURE__ */ a($, {
119
+ items: _,
120
+ disableResponsive: !0,
121
+ showLabel: !1
122
+ })]
123
+ })
124
+ ]
125
+ });
126
+ };
127
+ export {
128
+ J as Toolbar
129
+ };
@@ -0,0 +1 @@
1
+ .tooltip-trigger{display:contents}.tooltip{z-index:9999;background:var(--tooltip-background-color);color:var(--tooltip-color);padding:var(--spacing-8) var(--spacing-12);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);word-wrap:break-word;border:1px solid var(--tooltip-border-color);pointer-events:none;max-width:300px;line-height:1.4;animation:.2s tooltipFadeIn;position:fixed;box-shadow:0 4px 12px #00000026}.tooltip--scrollable{pointer-events:auto;overscroll-behavior:contain;overflow-y:auto}.tooltip__arrow{background:var(--tooltip-background-color);border:1px solid var(--tooltip-border-color);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.tooltip__arrow--top{border-top:none;border-left:none;margin-left:-4px;bottom:-5px;left:50%}.tooltip__arrow--bottom{border-bottom:none;border-right:none;margin-left:-4px;top:-5px;left:50%}.tooltip__arrow--left{border-bottom:none;border-left:none;margin-top:-4px;top:50%;right:-5px}.tooltip__arrow--right{border-top:none;border-right:none;margin-top:-4px;top:50%;left:-5px}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.tooltip{font-size:var(--font-size-xs);padding:var(--spacing-4) var(--spacing-8);max-width:200px}}
@@ -0,0 +1,93 @@
1
+ import './Tooltip.css';
2
+ /* empty css */
3
+ import { useEffect as b, useRef as h, useState as B } from "react";
4
+ import { Fragment as V, jsx as k, jsxs as D } from "react/jsx-runtime";
5
+ import { createPortal as O } from "react-dom";
6
+ var K = ({ title: L, position: T = "top", delay: N = 200, children: _, disabled: $ = !1, className: F = "", maxWidth: p, maxHeight: a }) => {
7
+ const [f, s] = B(!1), [M, I] = B({
8
+ top: 0,
9
+ left: 0
10
+ }), c = h(null), t = h(null), l = h(null), g = h(null), w = h(!1), m = a !== void 0, R = m ? 150 : 0, d = () => {
11
+ if (!l.current || !g.current) return;
12
+ const r = l.current.firstElementChild?.getBoundingClientRect();
13
+ let e = r && r.width > 0 ? r : l.current.getBoundingClientRect();
14
+ if (e.width === 0 && e.height === 0) {
15
+ const C = document.createRange();
16
+ C.selectNodeContents(l.current);
17
+ const E = C.getBoundingClientRect();
18
+ (E.width > 0 || E.height > 0) && (e = E);
19
+ }
20
+ const n = g.current.getBoundingClientRect(), v = 8;
21
+ let o = 0, i = 0;
22
+ switch (T) {
23
+ case "top":
24
+ o = e.top - n.height - v, i = e.left + e.width / 2 - n.width / 2;
25
+ break;
26
+ case "bottom":
27
+ o = e.bottom + v, i = e.left + e.width / 2 - n.width / 2;
28
+ break;
29
+ case "left":
30
+ o = e.top + e.height / 2 - n.height / 2, i = e.left - n.width - v;
31
+ break;
32
+ case "right":
33
+ o = e.top + e.height / 2 - n.height / 2, i = e.right + v;
34
+ break;
35
+ }
36
+ const u = 8;
37
+ i < u && (i = u), i + n.width > window.innerWidth - u && (i = window.innerWidth - n.width - u), o < u && (o = u), o + n.height > window.innerHeight - u && (o = window.innerHeight - n.height - u), I({
38
+ top: o,
39
+ left: i
40
+ });
41
+ }, P = () => {
42
+ $ || w.current || (t.current && (clearTimeout(t.current), t.current = null), c.current = setTimeout(() => {
43
+ s(!0);
44
+ }, N));
45
+ }, y = () => {
46
+ w.current || (c.current && clearTimeout(c.current), R > 0 ? t.current = setTimeout(() => s(!1), R) : s(!1));
47
+ }, j = (r) => {
48
+ r.pointerType !== "touch" && r.pointerType !== "pen" || $ || (w.current = !0, c.current && (clearTimeout(c.current), c.current = null), r.stopPropagation(), s((e) => !e));
49
+ };
50
+ b(() => (f && (d(), window.addEventListener("scroll", d, !0), window.addEventListener("resize", d)), () => {
51
+ window.removeEventListener("scroll", d, !0), window.removeEventListener("resize", d);
52
+ }), [f]), b(() => {
53
+ if (!f) return;
54
+ const r = (e) => {
55
+ l.current?.contains(e.target) || g.current?.contains(e.target) || s(!1);
56
+ };
57
+ return document.addEventListener("pointerdown", r), () => {
58
+ document.removeEventListener("pointerdown", r), w.current = !1;
59
+ };
60
+ }, [f]), b(() => () => {
61
+ c.current && clearTimeout(c.current), t.current && clearTimeout(t.current);
62
+ }, []);
63
+ const x = () => {
64
+ m && t.current && (clearTimeout(t.current), t.current = null);
65
+ }, z = () => {
66
+ m && (t.current = setTimeout(() => s(!1), R));
67
+ };
68
+ return /* @__PURE__ */ D(V, { children: [/* @__PURE__ */ k("span", {
69
+ ref: l,
70
+ className: "tooltip-trigger",
71
+ onMouseEnter: P,
72
+ onMouseLeave: y,
73
+ onFocus: P,
74
+ onBlur: y,
75
+ onPointerDown: j,
76
+ children: _
77
+ }), f && L && O(/* @__PURE__ */ D("div", {
78
+ ref: g,
79
+ className: `tooltip tooltip--${T} ${m ? "tooltip--scrollable" : ""} ${F}`,
80
+ style: {
81
+ top: `${M.top}px`,
82
+ left: `${M.left}px`,
83
+ ...p !== void 0 && { maxWidth: typeof p == "number" ? `${p}px` : p },
84
+ ...a !== void 0 && { maxHeight: typeof a == "number" ? `${a}px` : a }
85
+ },
86
+ onMouseEnter: x,
87
+ onMouseLeave: z,
88
+ children: [L, /* @__PURE__ */ k("div", { className: `tooltip__arrow tooltip__arrow--${T}` })]
89
+ }), document.body)] });
90
+ };
91
+ export {
92
+ K as Tooltip
93
+ };
@@ -0,0 +1 @@
1
+ .tour-hud{--tour-hud-accent:var(--tour-hud-accent-color,var(--body-accent-color));--tour-hud-width:auto;left:50%;bottom:var(--spacing-64);z-index:20;align-items:center;gap:var(--spacing-16);box-sizing:border-box;max-width:640px;padding:var(--spacing-12) var(--spacing-16);color:var(--tooltip-color);background-color:var(--tooltip-background-color);border:1px solid var(--tour-hud-accent);border-radius:var(--radius);box-shadow:var(--card-box-shadow);display:flex;position:absolute;transform:translate(-50%)}.tour-hud--fixed-width{width:var(--tour-hud-width);max-width:calc(100% - var(--spacing-32))}.tour-hud__body{gap:var(--spacing-2);flex-direction:column;flex:1;min-width:0;display:flex}.tour-hud__context{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xxs);letter-spacing:.1em;text-transform:uppercase;color:var(--tour-hud-accent)}.tour-hud__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tour-hud__note{font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;opacity:.8;font-style:italic;overflow:hidden}.tour-hud__controls{gap:var(--spacing-8);flex-shrink:0;display:flex}.tour-hud__btn{align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-8);font-family:var(--font-family-sans,sans-serif);font-size:var(--font-size-xxs);letter-spacing:.08em;text-transform:uppercase;color:var(--tour-hud-accent);border:1px solid var(--tour-hud-accent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;display:inline-flex}.tour-hud__btn:hover:not(:disabled){color:var(--tooltip-background-color);background-color:var(--tour-hud-accent)}.tour-hud__btn:disabled{opacity:.4;cursor:default}
@@ -0,0 +1,70 @@
1
+ import './TourHud.css';
2
+ import { Icon as u } from "../Icon/Icon2.js";
3
+ /* empty css */
4
+ import "react";
5
+ import { jsx as t, jsxs as e } from "react/jsx-runtime";
6
+ var y = ({ label: l, stepLabel: n, index: r, total: i, title: s, note: d, onPrev: a, onNext: c, onExit: m, width: o, className: h = "" }) => {
7
+ const _ = o === void 0 ? void 0 : { "--tour-hud-width": typeof o == "number" ? `${o}px` : o };
8
+ return /* @__PURE__ */ e("div", {
9
+ className: [
10
+ "tour-hud",
11
+ o !== void 0 && "tour-hud--fixed-width",
12
+ h
13
+ ].filter(Boolean).join(" "),
14
+ style: _,
15
+ children: [/* @__PURE__ */ e("div", {
16
+ className: "tour-hud__body",
17
+ children: [
18
+ /* @__PURE__ */ t("div", {
19
+ className: "tour-hud__context",
20
+ children: [
21
+ l,
22
+ `Stop ${r + 1} / ${i}`,
23
+ n
24
+ ].filter(Boolean).join(" · ")
25
+ }),
26
+ /* @__PURE__ */ t("div", {
27
+ className: "tour-hud__title",
28
+ children: s
29
+ }),
30
+ d && /* @__PURE__ */ t("div", {
31
+ className: "tour-hud__note",
32
+ children: d
33
+ })
34
+ ]
35
+ }), /* @__PURE__ */ e("div", {
36
+ className: "tour-hud__controls",
37
+ children: [
38
+ /* @__PURE__ */ e("button", {
39
+ type: "button",
40
+ className: "tour-hud__btn",
41
+ disabled: r === 0,
42
+ onClick: a,
43
+ children: [/* @__PURE__ */ t(u, {
44
+ name: "arrow-left",
45
+ size: "sm"
46
+ }), "Prev"]
47
+ }),
48
+ /* @__PURE__ */ e("button", {
49
+ type: "button",
50
+ className: "tour-hud__btn",
51
+ disabled: r >= i - 1,
52
+ onClick: c,
53
+ children: ["Next", /* @__PURE__ */ t(u, {
54
+ name: "arrow-right",
55
+ size: "sm"
56
+ })]
57
+ }),
58
+ /* @__PURE__ */ t("button", {
59
+ type: "button",
60
+ className: "tour-hud__btn",
61
+ onClick: m,
62
+ children: "Exit"
63
+ })
64
+ ]
65
+ })]
66
+ });
67
+ };
68
+ export {
69
+ y as TourHud
70
+ };
@@ -0,0 +1 @@
1
+ .transition{transition-property:opacity,transform,height}.transition--hidden{display:none}.transition--fade.transition--entering,.transition--fade.transition--exiting{opacity:0}.transition--fade.transition--entered{opacity:1}.transition--slide-up,.transition--slide-down,.transition--slide-left,.transition--slide-right{--_transition-travel:var(--spacing-16)}.transition--slide-up.transition--entered,.transition--slide-down.transition--entered,.transition--slide-left.transition--entered,.transition--slide-right.transition--entered{opacity:1;transform:none}.transition--slide-up.transition--entering,.transition--slide-up.transition--exiting,.transition--slide-down.transition--entering,.transition--slide-down.transition--exiting,.transition--slide-left.transition--entering,.transition--slide-left.transition--exiting,.transition--slide-right.transition--entering,.transition--slide-right.transition--exiting{opacity:0}.transition--slide-up.transition--entering,.transition--slide-up.transition--exiting{transform:translateY(var(--_transition-travel))}.transition--slide-down.transition--entering,.transition--slide-down.transition--exiting{transform:translateY(calc(var(--_transition-travel) * -1))}.transition--slide-left.transition--entering,.transition--slide-left.transition--exiting{transform:translateX(var(--_transition-travel))}.transition--slide-right.transition--entering,.transition--slide-right.transition--exiting{transform:translateX(calc(var(--_transition-travel) * -1))}.transition--scale.transition--entering,.transition--scale.transition--exiting{opacity:0;transform:scale(.92)}.transition--scale.transition--entered{opacity:1;transform:scale(1)}.transition--collapse{overflow:hidden}.transition--collapse.transition--entering,.transition--collapse.transition--exiting{opacity:0}.transition--collapse.transition--entered{opacity:1}@media (prefers-reduced-motion:reduce){.transition{transition:none!important;transform:none!important}}
@@ -0,0 +1,68 @@
1
+ import './Transition.css';
2
+ /* empty css */
3
+ import { useCallback as f, useEffect as h, useRef as n, useState as A } from "react";
4
+ import { jsx as P } from "react/jsx-runtime";
5
+ var G = ({ appear: C = !1, as: j = "div", children: q, className: D = "", delay: m = 0, duration: o = 250, easing: b = "ease", keepMounted: F = !1, onEntered: g, onExited: d, show: p, type: a = "fade" }) => {
6
+ const H = p ? C ? "entering" : "entered" : "unmounted", [r, x] = A(H), [S, e] = A("auto"), u = n(null), R = n(H), $ = n(g), v = n(d), i = n(null), s = n(null);
7
+ h(() => {
8
+ $.current = g, v.current = d;
9
+ }, [g, d]);
10
+ const c = f((t) => {
11
+ R.current = t, x(t);
12
+ }, []), l = f(() => {
13
+ i.current !== null && (clearTimeout(i.current), i.current = null), s.current !== null && (cancelAnimationFrame(s.current), s.current = null);
14
+ }, []), T = f((t) => {
15
+ s.current = requestAnimationFrame(() => {
16
+ s.current = requestAnimationFrame(t);
17
+ });
18
+ }, []);
19
+ h(() => l, [l]), h(() => {
20
+ l();
21
+ const t = a === "collapse";
22
+ if (p) {
23
+ if (R.current === "entered") return;
24
+ c("entering"), t && e(0), T(() => {
25
+ c("entered"), t && u.current && e(u.current.scrollHeight);
26
+ }), i.current = setTimeout(() => {
27
+ t && e("auto"), $.current?.();
28
+ }, o + m);
29
+ return;
30
+ }
31
+ R.current !== "unmounted" && (t && u.current && (e(u.current.scrollHeight), T(() => e(0))), c("exiting"), i.current = setTimeout(() => {
32
+ c("unmounted"), e("auto"), v.current?.();
33
+ }, o));
34
+ }, [
35
+ T,
36
+ c,
37
+ l,
38
+ m,
39
+ o,
40
+ p,
41
+ a
42
+ ]);
43
+ const B = f((t) => {
44
+ u.current = t;
45
+ }, []);
46
+ if (r === "unmounted" && !F) return null;
47
+ const N = {
48
+ transitionDelay: r === "entering" || r === "entered" ? `${m}ms` : void 0,
49
+ transitionDuration: `${o}ms`,
50
+ transitionTimingFunction: b,
51
+ ...a === "collapse" && S !== "auto" ? { height: S } : {}
52
+ };
53
+ return /* @__PURE__ */ P(j, {
54
+ className: [
55
+ "transition",
56
+ `transition--${a}`,
57
+ `transition--${r}`,
58
+ F && r === "unmounted" ? "transition--hidden" : "",
59
+ D
60
+ ].filter(Boolean).join(" "),
61
+ ref: B,
62
+ style: N,
63
+ children: q
64
+ });
65
+ };
66
+ export {
67
+ G as Transition
68
+ };
@@ -0,0 +1 @@
1
+ .tree{--depth:0;--guide-level:0;font-size:var(--font-size-sm);color:var(--body-color);-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none}.tree__children{margin:0;padding:0;list-style:none;display:none}.tree__children--open{display:block}.tree__children--animated.tree__children--open{animation:tree-open var(--duration-slide) ease forwards}@keyframes tree-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tree__row{height:34px;padding-left:calc(var(--depth) * 20px);padding-right:var(--spacing-8);align-items:center;gap:var(--spacing-8);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);outline:none;display:flex;position:relative}.tree__row:hover{background:var(--list-hover-background-color)}.tree__row:focus-visible{box-shadow:0 0 0 2px var(--form-control-focus-ring)}.tree__row--selected{background:#60a5fa1f}.tree__row--selected .tree__label{color:var(--body-accent-color);font-weight:var(--font-weight-medium)}.tree__row--selected .tree__chevron{color:var(--body-accent-color)}.tree__row--selected:before{content:"";left:calc(var(--depth) * 20px);border-radius:var(--radius-full);background:var(--body-accent-color);width:2px;height:60%;position:absolute;top:50%;transform:translateY(-50%)}.tree__row--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.tree__row--info .tree__label,.tree__row--info .tree__icon{color:var(--body-accent-color)}.tree__row--success .tree__label,.tree__row--success .tree__icon{color:var(--button-success-border-color)}.tree__row--warning .tree__label,.tree__row--warning .tree__icon{color:var(--button-warning-border-color)}.tree__row--danger .tree__label,.tree__row--danger .tree__icon{color:var(--body-danger-color)}.tree__guide{top:0;bottom:0;left:calc(var(--guide-level) * 20px + 20px * .5 - 1px * .5);background:var(--delimiter-color);border-radius:var(--radius-full);pointer-events:none;width:1px;position:absolute}.tree__toggle{width:16px;height:16px;color:var(--body-color-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tree__chevron{transition:transform var(--transition-fast), color var(--transition-fast);color:var(--body-color-muted)}.tree__chevron--open{color:var(--body-accent-color);transform:rotate(90deg)}.tree__leaf-dot{border-radius:var(--radius-full);background:var(--delimiter-color);width:4px;height:4px;margin:auto;display:block}.tree__icon{color:var(--body-color-muted);transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:1em;line-height:1;display:flex}.tree__label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--body-color);line-height:var(--line-height-tight);transition:color var(--transition-fast), font-weight var(--transition-fast);flex:1;overflow:hidden}.tree__row:hover .tree__label{color:var(--body-color-accent)}.tree__badge{min-width:18px;height:18px;padding:0 var(--spacing-4);border-radius:var(--radius-full);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);letter-spacing:.03em;background:var(--card-background-accent-color);color:var(--body-color-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree__badge--info{color:#93c5fd;background:#3b82f62e}.tree__badge--success{color:#34d399;background:#10b98126}.tree__badge--warning{color:#fbbf24;background:#f59e0b26}.tree__badge--danger{color:#f87171;background:#ef444426}
@@ -0,0 +1,95 @@
1
+ import './Tree.css';
2
+ /* empty css */
3
+ import { useCallback as f, useState as v } from "react";
4
+ import { jsx as r, jsxs as u } from "react/jsx-runtime";
5
+ var N = ({ open: e }) => /* @__PURE__ */ r("svg", {
6
+ className: `tree__chevron ${e ? "tree__chevron--open" : ""}`,
7
+ viewBox: "0 0 16 16",
8
+ width: "12",
9
+ height: "12",
10
+ fill: "none",
11
+ children: /* @__PURE__ */ r("path", {
12
+ d: "M5 3l6 5-6 5",
13
+ stroke: "currentColor",
14
+ strokeWidth: "1.5",
15
+ strokeLinecap: "round",
16
+ strokeLinejoin: "round"
17
+ })
18
+ }), g = ({ node: e, depth: i, selectable: t, showGuides: c, animated: d, selectedId: _, onSelect: s }) => {
19
+ const [o, p] = v(e.defaultExpanded ?? !1), n = Array.isArray(e.children) && e.children.length > 0, a = t && _ === e.id, m = f((l) => {
20
+ e.disabled || "key" in l && l.key !== "Enter" && l.key !== " " || (n && p((h) => !h), t && s(e));
21
+ }, [
22
+ n,
23
+ e,
24
+ t,
25
+ s
26
+ ]);
27
+ return /* @__PURE__ */ u("li", { children: [/* @__PURE__ */ u("div", {
28
+ className: [
29
+ "tree__row",
30
+ a ? "tree__row--selected" : "",
31
+ e.disabled ? "tree__row--disabled" : "",
32
+ e.variant && e.variant !== "default" ? `tree__row--${e.variant}` : ""
33
+ ].filter(Boolean).join(" "),
34
+ style: { "--depth": i },
35
+ tabIndex: e.disabled ? -1 : 0,
36
+ onClick: m,
37
+ onKeyDown: m,
38
+ children: [
39
+ c && i > 0 && Array.from({ length: i }).map((l, h) => /* @__PURE__ */ r("span", {
40
+ className: "tree__guide",
41
+ style: { "--guide-level": h }
42
+ }, h)),
43
+ /* @__PURE__ */ r("span", {
44
+ className: "tree__toggle",
45
+ children: n ? /* @__PURE__ */ r(N, { open: o }) : /* @__PURE__ */ r("span", { className: "tree__leaf-dot" })
46
+ }),
47
+ e.icon && /* @__PURE__ */ r("span", {
48
+ className: "tree__icon",
49
+ children: e.icon
50
+ }),
51
+ /* @__PURE__ */ r("span", {
52
+ className: "tree__label",
53
+ children: e.label
54
+ }),
55
+ e.badge !== void 0 && /* @__PURE__ */ r("span", {
56
+ className: `tree__badge tree__badge--${e.variant ?? "default"}`,
57
+ children: e.badge
58
+ })
59
+ ]
60
+ }), n && /* @__PURE__ */ r("ul", {
61
+ className: [
62
+ "tree__children",
63
+ o ? "tree__children--open" : "",
64
+ d ? "tree__children--animated" : ""
65
+ ].filter(Boolean).join(" "),
66
+ children: e.children.map((l) => /* @__PURE__ */ r(g, {
67
+ node: l,
68
+ depth: i + 1,
69
+ selectable: t,
70
+ showGuides: c,
71
+ animated: d,
72
+ selectedId: _,
73
+ onSelect: s
74
+ }, l.id))
75
+ })] });
76
+ }, j = ({ nodes: e, selectable: i = !1, onSelect: t, showGuides: c = !0, animated: d = !0, defaultSelectedId: _ = null, className: s = "" }) => {
77
+ const [o, p] = v(_), n = f((a) => {
78
+ a.disabled || (p(a.id), t?.(a));
79
+ }, [t]);
80
+ return /* @__PURE__ */ r("ul", {
81
+ className: ["tree", s].filter(Boolean).join(" "),
82
+ children: e.map((a) => /* @__PURE__ */ r(g, {
83
+ node: a,
84
+ depth: 0,
85
+ selectable: i,
86
+ showGuides: c,
87
+ animated: d,
88
+ selectedId: o,
89
+ onSelect: n
90
+ }, a.id))
91
+ });
92
+ };
93
+ export {
94
+ j as Tree
95
+ };
@@ -0,0 +1 @@
1
+ .virtual-list{max-height:var(--spacing-400);margin:0;padding:0;list-style:none;display:block;overflow-y:auto}.virtual-list__row:not(:last-child){margin-bottom:var(--spacing-12)}.virtual-list__spacer{background:0 0;border:0;flex:none;margin:0;padding:0}