@hanzo/ui 0.5.24 → 0.6.16

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 (568) hide show
  1. package/.eslintrc.js +4 -0
  2. package/.prettierrc +22 -0
  3. package/.rush/temp/chunked-rush-logs/ui._phase_build.chunks.jsonl +2 -0
  4. package/.rush/temp/chunked-rush-logs/ui._phase_validate.chunks.jsonl +11 -0
  5. package/.rush/temp/hcengineering+ui-_phase_build-16380278e5d28b32a6666092bd103ddbd2c66a56.tar.log +12 -0
  6. package/.rush/temp/hcengineering+ui-_phase_build-16380278e5d28b32a6666092bd103ddbd2c66a56.untar.log +10 -0
  7. package/.rush/temp/hcengineering+ui-_phase_validate-8f047ca66e6a4a177eee65782e723a7dc128d73e.tar.log +65 -0
  8. package/.rush/temp/hcengineering+ui-_phase_validate-8f047ca66e6a4a177eee65782e723a7dc128d73e.untar.log +10 -0
  9. package/.rush/temp/operation/_phase_build/all.log +2 -0
  10. package/.rush/temp/operation/_phase_build/log-chunks.jsonl +2 -0
  11. package/.rush/temp/operation/_phase_build/state.json +3 -0
  12. package/.rush/temp/operation/_phase_validate/all.log +11 -0
  13. package/.rush/temp/operation/_phase_validate/log-chunks.jsonl +11 -0
  14. package/.rush/temp/operation/_phase_validate/state.json +3 -0
  15. package/.rush/temp/shrinkwrap-deps.json +585 -0
  16. package/.validate/tsBuildInfoFile.info +1 -0
  17. package/.validate/validate-err.log +0 -0
  18. package/.validate/validate.log +0 -0
  19. package/CHANGELOG.json +17 -0
  20. package/CHANGELOG.md +9 -0
  21. package/config/rig.json +5 -0
  22. package/jest.config.js +5 -0
  23. package/lang/cs.json +119 -0
  24. package/lang/de.json +119 -0
  25. package/lang/en.json +120 -0
  26. package/lang/es.json +120 -0
  27. package/lang/fr.json +120 -0
  28. package/lang/it.json +120 -0
  29. package/lang/pt.json +120 -0
  30. package/lang/ru.json +120 -0
  31. package/lang/zh.json +120 -0
  32. package/package.json +52 -100
  33. package/postcss.config.js +5 -0
  34. package/rush-logs/ui._phase_build.cache.log +4 -0
  35. package/rush-logs/ui._phase_build.log +2 -0
  36. package/rush-logs/ui._phase_validate.cache.log +4 -0
  37. package/rush-logs/ui._phase_validate.log +11 -0
  38. package/src/__test__/location.test.ts +12 -0
  39. package/src/colors.ts +552 -0
  40. package/src/components/AccordionItem.svelte +132 -0
  41. package/src/components/ActionIcon.svelte +88 -0
  42. package/src/components/BarDashboard.svelte +47 -0
  43. package/src/components/BooleanIcon.svelte +31 -0
  44. package/src/components/Breadcrumb.svelte +102 -0
  45. package/src/components/Breadcrumbs.svelte +73 -0
  46. package/src/components/Button.svelte +196 -0
  47. package/src/components/ButtonBase.svelte +117 -0
  48. package/src/components/ButtonGroup.svelte +48 -0
  49. package/src/components/ButtonIcon.svelte +63 -0
  50. package/src/components/ButtonMenu.svelte +103 -0
  51. package/src/components/ButtonWithDropdown.svelte +120 -0
  52. package/src/components/CheckBox.svelte +239 -0
  53. package/src/components/CheckBoxList.svelte.txt +88 -0
  54. package/src/components/CheckBoxWithLabel.svelte.txt +147 -0
  55. package/src/components/Chevron.svelte +85 -0
  56. package/src/components/Chip.svelte +109 -0
  57. package/src/components/CircleButton.svelte +165 -0
  58. package/src/components/CodeForm.svelte +164 -0
  59. package/src/components/CodeInput.svelte +86 -0
  60. package/src/components/ColorPopup.svelte +119 -0
  61. package/src/components/Component.svelte +152 -0
  62. package/src/components/Dialog.svelte +105 -0
  63. package/src/components/Dock.svelte +53 -0
  64. package/src/components/Dropdown.svelte +91 -0
  65. package/src/components/DropdownLabels.svelte +156 -0
  66. package/src/components/DropdownLabelsIntl.svelte +108 -0
  67. package/src/components/DropdownLabelsPopup.svelte +148 -0
  68. package/src/components/DropdownLabelsPopupIntl.svelte +72 -0
  69. package/src/components/DropdownPopup.svelte +146 -0
  70. package/src/components/DropdownRecord.svelte +50 -0
  71. package/src/components/DropdownRecordPopup.svelte +82 -0
  72. package/src/components/EditBox.svelte +211 -0
  73. package/src/components/EditWithIcon.svelte +130 -0
  74. package/src/components/EmbeddedPDF.svelte +88 -0
  75. package/src/components/ErrorPopup.svelte +27 -0
  76. package/src/components/ErrorPresenter.svelte +32 -0
  77. package/src/components/ExpandCollapse.svelte +42 -0
  78. package/src/components/Expandable.svelte +90 -0
  79. package/src/components/FocusHandler.svelte +21 -0
  80. package/src/components/Fold.svelte +52 -0
  81. package/src/components/Grid.svelte +39 -0
  82. package/src/components/Header.svelte +260 -0
  83. package/src/components/HlsVideo.svelte +170 -0
  84. package/src/components/Hotkey.svelte +50 -0
  85. package/src/components/HotkeyGroup.svelte +25 -0
  86. package/src/components/Html.svelte +24 -0
  87. package/src/components/Icon.svelte +45 -0
  88. package/src/components/IconWithEmoji.svelte +74 -0
  89. package/src/components/Image.svelte +71 -0
  90. package/src/components/Label.svelte +38 -0
  91. package/src/components/Lazy.svelte +29 -0
  92. package/src/components/Like.svelte +73 -0
  93. package/src/components/Link.svelte +75 -0
  94. package/src/components/LinkWrapper.svelte +35 -0
  95. package/src/components/ListView.svelte +153 -0
  96. package/src/components/ListViewItem.svelte +84 -0
  97. package/src/components/Loading.svelte +88 -0
  98. package/src/components/Menu.svelte +205 -0
  99. package/src/components/MiniToggle.svelte +125 -0
  100. package/src/components/Modal.svelte +117 -0
  101. package/src/components/ModeSelector.svelte +37 -0
  102. package/src/components/ModernButton.svelte +61 -0
  103. package/src/components/ModernCheckbox.svelte +123 -0
  104. package/src/components/ModernDialog.svelte +258 -0
  105. package/src/components/ModernEditbox.svelte +256 -0
  106. package/src/components/ModernPopup.svelte +105 -0
  107. package/src/components/ModernRadioButton.svelte +111 -0
  108. package/src/components/ModernTab.svelte +184 -0
  109. package/src/components/ModernToggle.svelte +153 -0
  110. package/src/components/MouseSpeedTracker.svelte +74 -0
  111. package/src/components/MultiProgress.svelte +97 -0
  112. package/src/components/NavGroup.svelte +160 -0
  113. package/src/components/NavItem.svelte +346 -0
  114. package/src/components/NestedDropdown.svelte +62 -0
  115. package/src/components/NestedMenu.svelte +119 -0
  116. package/src/components/NotificationToast.svelte +112 -0
  117. package/src/components/NumberInput.svelte +200 -0
  118. package/src/components/Panel.svelte +324 -0
  119. package/src/components/PanelInstance.svelte +254 -0
  120. package/src/components/PlainTextEditor.svelte +100 -0
  121. package/src/components/Popup.svelte +50 -0
  122. package/src/components/PopupInstance.svelte +390 -0
  123. package/src/components/PopupMenu.svelte +120 -0
  124. package/src/components/Progress.svelte +124 -0
  125. package/src/components/ProgressCircle.svelte +71 -0
  126. package/src/components/RadioButton.svelte +69 -0
  127. package/src/components/RadioGroup.svelte +42 -0
  128. package/src/components/RootStatusComponent.svelte +65 -0
  129. package/src/components/Row.svelte +25 -0
  130. package/src/components/ScrollBox.svelte +98 -0
  131. package/src/components/Scroller.svelte +1063 -0
  132. package/src/components/ScrollerBar.svelte +181 -0
  133. package/src/components/SearchEdit.svelte +46 -0
  134. package/src/components/SearchInput.svelte +213 -0
  135. package/src/components/SearchPicker.svelte +114 -0
  136. package/src/components/Section.svelte +49 -0
  137. package/src/components/SectionEmpty.svelte +38 -0
  138. package/src/components/SelectBox.svelte +76 -0
  139. package/src/components/SelectPopup.svelte +217 -0
  140. package/src/components/Separator.svelte +736 -0
  141. package/src/components/ShowMore.svelte +99 -0
  142. package/src/components/Spinner.svelte +72 -0
  143. package/src/components/SplitButton.svelte +100 -0
  144. package/src/components/StateTag.svelte +79 -0
  145. package/src/components/Status.svelte +33 -0
  146. package/src/components/StepsDialog.svelte +290 -0
  147. package/src/components/StylishEdit.svelte +127 -0
  148. package/src/components/Submenu.svelte +68 -0
  149. package/src/components/Switcher.svelte +55 -0
  150. package/src/components/SwitcherBase.svelte +116 -0
  151. package/src/components/TabList.svelte +290 -0
  152. package/src/components/Tabs.svelte +45 -0
  153. package/src/components/TabsControl.svelte +113 -0
  154. package/src/components/TextArea.svelte +110 -0
  155. package/src/components/TextAreaEditor.svelte +78 -0
  156. package/src/components/TimeLeft.svelte +66 -0
  157. package/src/components/TimeShiftPicker.svelte +84 -0
  158. package/src/components/TimeShiftPopup.svelte +64 -0
  159. package/src/components/TimeShiftPresenter.svelte +59 -0
  160. package/src/components/TimeSince.svelte +86 -0
  161. package/src/components/TimeZonesPopup.svelte +185 -0
  162. package/src/components/Timeline.svelte +754 -0
  163. package/src/components/Toggle.svelte +116 -0
  164. package/src/components/ToggleButton.svelte +176 -0
  165. package/src/components/ToggleWithLabel.svelte +58 -0
  166. package/src/components/TooltipInstance.svelte +613 -0
  167. package/src/components/Video.svelte +40 -0
  168. package/src/components/calendar/DateInputBox.svelte +430 -0
  169. package/src/components/calendar/DatePicker.svelte +46 -0
  170. package/src/components/calendar/DatePopup.svelte +274 -0
  171. package/src/components/calendar/DatePresenter.svelte +392 -0
  172. package/src/components/calendar/DateRangePicker.svelte +50 -0
  173. package/src/components/calendar/DateRangePopup.svelte +76 -0
  174. package/src/components/calendar/DateRangePresenter.svelte +779 -0
  175. package/src/components/calendar/DateTimePresenter.svelte +23 -0
  176. package/src/components/calendar/DateTimeRangePresenter.svelte +28 -0
  177. package/src/components/calendar/DueDatePopup.svelte +93 -0
  178. package/src/components/calendar/DueDatePresenter.svelte +83 -0
  179. package/src/components/calendar/Month.svelte +243 -0
  180. package/src/components/calendar/MonthCalendar.svelte +138 -0
  181. package/src/components/calendar/MonthSquare.svelte +315 -0
  182. package/src/components/calendar/RangeDatePopup.svelte +231 -0
  183. package/src/components/calendar/Shifts.svelte +114 -0
  184. package/src/components/calendar/SimpleDatePopup.svelte +42 -0
  185. package/src/components/calendar/SimpleTimePopup.svelte +41 -0
  186. package/src/components/calendar/TimeInputBox.svelte +282 -0
  187. package/src/components/calendar/TimePopup.svelte +62 -0
  188. package/src/components/calendar/WeekCalendar.svelte +116 -0
  189. package/src/components/calendar/YearCalendar.svelte +67 -0
  190. package/src/components/calendar/icons/DPCalendar.svelte +12 -0
  191. package/src/components/calendar/icons/DPCalendarOver.svelte +15 -0
  192. package/src/components/calendar/icons/DPClock.svelte +13 -0
  193. package/src/components/calendar/icons/DPClockBold.svelte +10 -0
  194. package/src/components/calendar/icons/DPEnd.svelte +13 -0
  195. package/src/components/calendar/icons/DPSetCalendar.svelte +10 -0
  196. package/src/components/calendar/icons/DPStart.svelte +13 -0
  197. package/src/components/calendar/internal/DateUtils.ts +186 -0
  198. package/src/components/emoji/ActionsPopup.svelte +116 -0
  199. package/src/components/emoji/EmojiButton.svelte +146 -0
  200. package/src/components/emoji/EmojiGroup.svelte +105 -0
  201. package/src/components/emoji/EmojiGroupPalette.svelte +58 -0
  202. package/src/components/emoji/EmojiPopup.svelte +430 -0
  203. package/src/components/emoji/SkinTonePopup.svelte +40 -0
  204. package/src/components/emoji/SkinToneTooltip.svelte +36 -0
  205. package/src/components/emoji/icons/Activities.svelte +20 -0
  206. package/src/components/emoji/icons/AnimalsAndNature.svelte +16 -0
  207. package/src/components/emoji/icons/Flags.svelte +14 -0
  208. package/src/components/emoji/icons/FoodAndDrink.svelte +20 -0
  209. package/src/components/emoji/icons/FrequentlyUsed.svelte +17 -0
  210. package/src/components/emoji/icons/GettingWorkDone.svelte +14 -0
  211. package/src/components/emoji/icons/Objects.svelte +15 -0
  212. package/src/components/emoji/icons/Search.svelte +14 -0
  213. package/src/components/emoji/icons/SmileysAndPeople.svelte +23 -0
  214. package/src/components/emoji/icons/Symbols.svelte +23 -0
  215. package/src/components/emoji/icons/TravelAndPlaces.svelte +17 -0
  216. package/src/components/emoji/index.ts +97 -0
  217. package/src/components/emoji/store.ts +44 -0
  218. package/src/components/emoji/types.ts +34 -0
  219. package/src/components/emoji/utils.ts +182 -0
  220. package/src/components/icons/Activity.svelte +16 -0
  221. package/src/components/icons/ActivityEdit.svelte +25 -0
  222. package/src/components/icons/Add.svelte +10 -0
  223. package/src/components/icons/ArrowLeft.svelte +25 -0
  224. package/src/components/icons/ArrowRight.svelte +25 -0
  225. package/src/components/icons/Attachment.svelte +29 -0
  226. package/src/components/icons/Back.svelte +32 -0
  227. package/src/components/icons/BlueCheck.svelte +11 -0
  228. package/src/components/icons/Calendar.svelte +10 -0
  229. package/src/components/icons/Check.svelte +12 -0
  230. package/src/components/icons/CheckAll.svelte +27 -0
  231. package/src/components/icons/CheckCircle.svelte +12 -0
  232. package/src/components/icons/Checkmark.svelte +26 -0
  233. package/src/components/icons/ChevronDown.svelte +27 -0
  234. package/src/components/icons/ChevronLeft.svelte +22 -0
  235. package/src/components/icons/ChevronRight.svelte +22 -0
  236. package/src/components/icons/CircleAdd.svelte +13 -0
  237. package/src/components/icons/Circles.svelte +43 -0
  238. package/src/components/icons/Close.svelte +10 -0
  239. package/src/components/icons/ColStar.svelte +31 -0
  240. package/src/components/icons/CollapseArrow.svelte +8 -0
  241. package/src/components/icons/Copy.svelte +10 -0
  242. package/src/components/icons/Delete.svelte +18 -0
  243. package/src/components/icons/Description.svelte +31 -0
  244. package/src/components/icons/Details.svelte +36 -0
  245. package/src/components/icons/DetailsFilled.svelte +27 -0
  246. package/src/components/icons/Down.svelte +8 -0
  247. package/src/components/icons/DownOutline.svelte +8 -0
  248. package/src/components/icons/Dropdown.svelte +8 -0
  249. package/src/components/icons/DropdownDown.svelte +24 -0
  250. package/src/components/icons/DropdownRight.svelte +24 -0
  251. package/src/components/icons/Edit.svelte +26 -0
  252. package/src/components/icons/Emoji.svelte +10 -0
  253. package/src/components/icons/Error.svelte +27 -0
  254. package/src/components/icons/Expand.svelte +10 -0
  255. package/src/components/icons/File.svelte +25 -0
  256. package/src/components/icons/Filter.svelte +26 -0
  257. package/src/components/icons/Folder.svelte +13 -0
  258. package/src/components/icons/FolderCollapsed.svelte +34 -0
  259. package/src/components/icons/FolderExpanded.svelte +34 -0
  260. package/src/components/icons/Forward.svelte +8 -0
  261. package/src/components/icons/HalfUpDown.svelte +7 -0
  262. package/src/components/icons/History.svelte +10 -0
  263. package/src/components/icons/Info.svelte +26 -0
  264. package/src/components/icons/KeyCommand.svelte +12 -0
  265. package/src/components/icons/KeyOption.svelte +8 -0
  266. package/src/components/icons/KeyShift.svelte +8 -0
  267. package/src/components/icons/Left.svelte +10 -0
  268. package/src/components/icons/Like.svelte +25 -0
  269. package/src/components/icons/Link.svelte +10 -0
  270. package/src/components/icons/MaxWidth.svelte +27 -0
  271. package/src/components/icons/Maximize.svelte +25 -0
  272. package/src/components/icons/MenuClose.svelte +28 -0
  273. package/src/components/icons/MenuOpen.svelte +26 -0
  274. package/src/components/icons/MinWidth.svelte +27 -0
  275. package/src/components/icons/Minimize.svelte +28 -0
  276. package/src/components/icons/Mixin.svelte +38 -0
  277. package/src/components/icons/MoreH.svelte +16 -0
  278. package/src/components/icons/MoreV.svelte +16 -0
  279. package/src/components/icons/MoreV2.svelte +29 -0
  280. package/src/components/icons/NavNext.svelte +10 -0
  281. package/src/components/icons/NavPrev.svelte +10 -0
  282. package/src/components/icons/Open.svelte +11 -0
  283. package/src/components/icons/OpenedArrow.svelte +26 -0
  284. package/src/components/icons/Options.svelte +12 -0
  285. package/src/components/icons/Redo.svelte +10 -0
  286. package/src/components/icons/Right.svelte +26 -0
  287. package/src/components/icons/Scale.svelte +13 -0
  288. package/src/components/icons/ScaleFull.svelte +13 -0
  289. package/src/components/icons/Scribble.svelte +10 -0
  290. package/src/components/icons/Search.svelte +12 -0
  291. package/src/components/icons/Send.svelte +10 -0
  292. package/src/components/icons/Settings.svelte +13 -0
  293. package/src/components/icons/Share.svelte +13 -0
  294. package/src/components/icons/SquareExpand.svelte +13 -0
  295. package/src/components/icons/Start.svelte +10 -0
  296. package/src/components/icons/Stop.svelte +8 -0
  297. package/src/components/icons/TableOfContents.svelte +35 -0
  298. package/src/components/icons/Thread.svelte +29 -0
  299. package/src/components/icons/ToDetails.svelte +28 -0
  300. package/src/components/icons/Undo.svelte +10 -0
  301. package/src/components/icons/Up.svelte +8 -0
  302. package/src/components/icons/UpOutline.svelte +8 -0
  303. package/src/components/internal/Clock.svelte +42 -0
  304. package/src/components/internal/ClockFace.svelte +148 -0
  305. package/src/components/internal/ClockPopup.svelte +91 -0
  306. package/src/components/internal/ErrorBoundary.ts +33 -0
  307. package/src/components/internal/ErrorComponent.svelte +37 -0
  308. package/src/components/internal/Root.svelte +323 -0
  309. package/src/components/internal/RootBarExtension.svelte +32 -0
  310. package/src/components/internal/Settings.svelte +39 -0
  311. package/src/components/internal/SettingsPopup.svelte +196 -0
  312. package/src/components/internal/ThemeButton.svelte +151 -0
  313. package/src/components/internal/icons/CheckCircled.svelte +11 -0
  314. package/src/components/internal/icons/Computer.svelte +15 -0
  315. package/src/components/internal/icons/FontSize.svelte +13 -0
  316. package/src/components/internal/icons/Language.svelte +17 -0
  317. package/src/components/internal/icons/Phone.svelte +18 -0
  318. package/src/components/internal/icons/Search.svelte +12 -0
  319. package/src/components/internal/icons/Settings.svelte +13 -0
  320. package/src/components/internal/icons/Theme.svelte +9 -0
  321. package/src/components/internal/icons/WiFi.svelte +21 -0
  322. package/src/components/notifications/Notification.svelte +34 -0
  323. package/src/components/notifications/Notification.ts +16 -0
  324. package/src/components/notifications/NotificationPosition.ts +6 -0
  325. package/src/components/notifications/NotificationSeverity.ts +6 -0
  326. package/src/components/notifications/Notifications.svelte +53 -0
  327. package/src/components/notifications/actions.ts +42 -0
  328. package/src/components/notifications/store.ts +16 -0
  329. package/src/components/wizard/ModernWizardBar.svelte +105 -0
  330. package/src/components/wizard/ModernWizardDialog.svelte +144 -0
  331. package/src/components/wizard/Wizard.svelte +59 -0
  332. package/src/components/wizard/WizardStep.svelte +144 -0
  333. package/src/focus.ts +139 -0
  334. package/src/index.ts +338 -0
  335. package/src/lazy.ts +93 -0
  336. package/src/location.ts +259 -0
  337. package/src/modals.ts +5 -0
  338. package/src/panelup.ts +70 -0
  339. package/src/plugin.ts +156 -0
  340. package/src/popups.ts +486 -0
  341. package/src/resize.ts +179 -0
  342. package/src/svg.d.ts +4 -0
  343. package/src/tooltips.ts +152 -0
  344. package/src/types.ts +545 -0
  345. package/src/utils.ts +420 -0
  346. package/svelte.config.js +5 -0
  347. package/tsconfig.json +9 -0
  348. package/types/__test__/location.test.d.ts +2 -0
  349. package/types/__test__/location.test.d.ts.map +1 -0
  350. package/types/colors.d.ts +163 -0
  351. package/types/colors.d.ts.map +1 -0
  352. package/types/components/calendar/internal/DateUtils.d.ts +34 -0
  353. package/types/components/calendar/internal/DateUtils.d.ts.map +1 -0
  354. package/types/components/emoji/index.d.ts +11 -0
  355. package/types/components/emoji/index.d.ts.map +1 -0
  356. package/types/components/emoji/store.d.ts +12 -0
  357. package/types/components/emoji/store.d.ts.map +1 -0
  358. package/types/components/emoji/types.d.ts +20 -0
  359. package/types/components/emoji/types.d.ts.map +1 -0
  360. package/types/components/emoji/utils.d.ts +17 -0
  361. package/types/components/emoji/utils.d.ts.map +1 -0
  362. package/types/components/internal/ErrorBoundary.d.ts +5 -0
  363. package/types/components/internal/ErrorBoundary.d.ts.map +1 -0
  364. package/types/components/notifications/Notification.d.ts +16 -0
  365. package/types/components/notifications/Notification.d.ts.map +1 -0
  366. package/types/components/notifications/NotificationPosition.d.ts +7 -0
  367. package/types/components/notifications/NotificationPosition.d.ts.map +1 -0
  368. package/types/components/notifications/NotificationSeverity.d.ts +7 -0
  369. package/types/components/notifications/NotificationSeverity.d.ts.map +1 -0
  370. package/types/components/notifications/actions.d.ts +6 -0
  371. package/types/components/notifications/actions.d.ts.map +1 -0
  372. package/types/components/notifications/store.d.ts +9 -0
  373. package/types/components/notifications/store.d.ts.map +1 -0
  374. package/types/focus.d.ts +32 -0
  375. package/types/focus.d.ts.map +1 -0
  376. package/types/index.d.ts +254 -0
  377. package/types/index.d.ts.map +1 -0
  378. package/types/lazy.d.ts +6 -0
  379. package/types/lazy.d.ts.map +1 -0
  380. package/types/location.d.ts +38 -0
  381. package/types/location.d.ts.map +1 -0
  382. package/types/modals.d.ts +5 -0
  383. package/types/modals.d.ts.map +1 -0
  384. package/types/panelup.d.ts +17 -0
  385. package/types/panelup.d.ts.map +1 -0
  386. package/types/plugin.d.ts +135 -0
  387. package/types/plugin.d.ts.map +1 -0
  388. package/types/popups.d.ts +65 -0
  389. package/types/popups.d.ts.map +1 -0
  390. package/types/resize.d.ts +32 -0
  391. package/types/resize.d.ts.map +1 -0
  392. package/types/tooltips.d.ts +8 -0
  393. package/types/tooltips.d.ts.map +1 -0
  394. package/types/types.d.ts +373 -0
  395. package/types/types.d.ts.map +1 -0
  396. package/types/utils.d.ts +125 -0
  397. package/types/utils.d.ts.map +1 -0
  398. package/assets/lux-site-icons/android-chrome-192x192.png +0 -0
  399. package/assets/lux-site-icons/android-chrome-512x512.png +0 -0
  400. package/assets/lux-site-icons/apple-touch-icon.png +0 -0
  401. package/assets/lux-site-icons/favicon-16x16.png +0 -0
  402. package/assets/lux-site-icons/favicon-32x32.png +0 -0
  403. package/assets/lux-site-icons/favicon.ico +0 -0
  404. package/assets/standard-docs/LUX-NFT-Terms-and-Conditions.pdf +0 -0
  405. package/assets/standard-docs/LUX-Privacy-Policy.pdf +0 -0
  406. package/blocks/components/accordian-block.tsx +0 -48
  407. package/blocks/components/block-component-props.ts +0 -11
  408. package/blocks/components/bullet-cards-block.tsx +0 -45
  409. package/blocks/components/card-block.tsx +0 -213
  410. package/blocks/components/carte-blanche-block/index.tsx +0 -127
  411. package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
  412. package/blocks/components/content.tsx +0 -70
  413. package/blocks/components/cta-block.tsx +0 -98
  414. package/blocks/components/enh-heading-block.tsx +0 -205
  415. package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
  416. package/blocks/components/grid-block/index.tsx +0 -83
  417. package/blocks/components/grid-block/mutator-registry.ts +0 -10
  418. package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
  419. package/blocks/components/group-block.tsx +0 -83
  420. package/blocks/components/heading-block.tsx +0 -88
  421. package/blocks/components/image-block.tsx +0 -108
  422. package/blocks/components/index.ts +0 -30
  423. package/blocks/components/screenful-block/content.tsx +0 -120
  424. package/blocks/components/screenful-block/index.tsx +0 -79
  425. package/blocks/components/screenful-block/poster-background.tsx +0 -34
  426. package/blocks/components/screenful-block/video-background.tsx +0 -45
  427. package/blocks/components/space-block.tsx +0 -66
  428. package/blocks/components/video-block.tsx +0 -137
  429. package/blocks/def/accordian-block.ts +0 -14
  430. package/blocks/def/block.ts +0 -7
  431. package/blocks/def/bullet-cards-block.ts +0 -21
  432. package/blocks/def/card-block.ts +0 -24
  433. package/blocks/def/carte-blanche-block.ts +0 -21
  434. package/blocks/def/cta-block.ts +0 -19
  435. package/blocks/def/element-block.ts +0 -11
  436. package/blocks/def/enh-heading-block.ts +0 -45
  437. package/blocks/def/grid-block.ts +0 -16
  438. package/blocks/def/group-block.ts +0 -11
  439. package/blocks/def/heading-block.ts +0 -15
  440. package/blocks/def/image-block.ts +0 -31
  441. package/blocks/def/index.ts +0 -35
  442. package/blocks/def/screenful-block.ts +0 -54
  443. package/blocks/def/space-block.ts +0 -64
  444. package/blocks/def/video-block.ts +0 -28
  445. package/blocks/index.ts +0 -2
  446. package/common/chat-widget.tsx +0 -75
  447. package/common/contact-dialog/contact-form.tsx +0 -111
  448. package/common/contact-dialog/disclaimer.tsx +0 -13
  449. package/common/contact-dialog/index.tsx +0 -48
  450. package/common/copyright.tsx +0 -21
  451. package/common/drawer-menu.tsx +0 -51
  452. package/common/footer.tsx +0 -77
  453. package/common/head-metadata/from-next/metadata-types.ts +0 -158
  454. package/common/head-metadata/from-next/opengraph-types.ts +0 -267
  455. package/common/head-metadata/from-next/twitter-types.ts +0 -92
  456. package/common/head-metadata/index.tsx +0 -208
  457. package/common/header/index.tsx +0 -57
  458. package/common/header/mobile-nav.tsx +0 -72
  459. package/common/header/theme-toggle.tsx +0 -26
  460. package/common/icons/github.tsx +0 -14
  461. package/common/icons/index.tsx +0 -34
  462. package/common/icons/lux-logo.tsx +0 -10
  463. package/common/icons/secure-delivery.tsx +0 -13
  464. package/common/icons/social-icon.tsx +0 -35
  465. package/common/icons/youtube-logo.tsx +0 -59
  466. package/common/index.ts +0 -14
  467. package/common/logo.tsx +0 -71
  468. package/common/mini-chart/index.tsx +0 -8
  469. package/common/mini-chart/mini-chart-props.ts +0 -44
  470. package/common/mini-chart/mini-chart.tsx +0 -76
  471. package/common/mini-chart/wrapper.tsx +0 -23
  472. package/context-providers/index.ts +0 -1
  473. package/context-providers/theme-provider.tsx +0 -20
  474. package/next/README.md +0 -11
  475. package/next/analytics/fpixel.ts +0 -16
  476. package/next/analytics/pixel-analytics.tsx +0 -55
  477. package/next/determine-device-middleware.ts +0 -16
  478. package/next/fonts/DrukTextWide-Bold-Trial.otf +0 -0
  479. package/next/fonts/DrukTextWide-Heavy-Trial.otf +0 -0
  480. package/next/fonts/DrukTextWide-Medium-Trial.otf +0 -0
  481. package/next/fonts/DrukWide-Bold-Trial.otf +0 -0
  482. package/next/fonts/DrukWide-Heavy-Trial.otf +0 -0
  483. package/next/fonts/DrukWide-Medium-Trial.otf +0 -0
  484. package/next/get-app-router-font-classes.ts +0 -12
  485. package/next/load-and-return-lux-next-fonts-on-import.ts +0 -94
  486. package/next/next-font-desc.ts +0 -28
  487. package/next/not-found-content.mdx +0 -4
  488. package/next/not-found.tsx +0 -23
  489. package/next/pages-router-font-vars.tsx +0 -18
  490. package/next/root-layout.tsx +0 -60
  491. package/primitives/accordion.tsx +0 -61
  492. package/primitives/action-button.tsx +0 -46
  493. package/primitives/apply-typography.tsx +0 -55
  494. package/primitives/avatar.tsx +0 -49
  495. package/primitives/badge.tsx +0 -36
  496. package/primitives/button.tsx +0 -73
  497. package/primitives/calendar.tsx +0 -72
  498. package/primitives/card.tsx +0 -83
  499. package/primitives/checkbox.tsx +0 -32
  500. package/primitives/command.tsx +0 -155
  501. package/primitives/dialog-video-controller.tsx +0 -38
  502. package/primitives/dialog.tsx +0 -152
  503. package/primitives/form.tsx +0 -179
  504. package/primitives/index.ts +0 -144
  505. package/primitives/inline-icon.tsx +0 -37
  506. package/primitives/input.tsx +0 -30
  507. package/primitives/label.tsx +0 -28
  508. package/primitives/link-element.tsx +0 -104
  509. package/primitives/main.tsx +0 -17
  510. package/primitives/mdx-link.tsx +0 -22
  511. package/primitives/nav-items.tsx +0 -48
  512. package/primitives/popover.tsx +0 -35
  513. package/primitives/progress.tsx +0 -27
  514. package/primitives/scroll-area.tsx +0 -47
  515. package/primitives/select.tsx +0 -169
  516. package/primitives/separator.tsx +0 -29
  517. package/primitives/sheet.tsx +0 -175
  518. package/primitives/skeleton.tsx +0 -15
  519. package/primitives/switch.tsx +0 -33
  520. package/primitives/table.tsx +0 -117
  521. package/primitives/tabs.tsx +0 -60
  522. package/primitives/tailwind-indicator.tsx +0 -19
  523. package/primitives/text-area.tsx +0 -26
  524. package/primitives/toast.tsx +0 -129
  525. package/primitives/toaster.tsx +0 -37
  526. package/primitives/use-toast.ts +0 -192
  527. package/primitives/video-player.tsx +0 -26
  528. package/primitives/youtube-embed.tsx +0 -83
  529. package/siteDef/footer/community.tsx +0 -67
  530. package/siteDef/footer/company.ts +0 -37
  531. package/siteDef/footer/ecosystem.ts +0 -37
  532. package/siteDef/footer/index.tsx +0 -26
  533. package/siteDef/footer/legal.ts +0 -28
  534. package/siteDef/footer/network.ts +0 -33
  535. package/siteDef/footer/svg/warpcast-logo.svg +0 -12
  536. package/siteDef/main-nav.ts +0 -35
  537. package/style/globals.css +0 -13
  538. package/style/hanzo-common.css +0 -32
  539. package/style/hanzo-default-colors.css +0 -79
  540. package/style/social-svg.css +0 -3
  541. package/tailwind/colors.tailwind.js +0 -46
  542. package/tailwind/fonts.tailwind.ts +0 -31
  543. package/tailwind/index.ts +0 -18
  544. package/tailwind/lux-tw-fonts.ts +0 -37
  545. package/tailwind/safelist.tailwind.js +0 -26
  546. package/tailwind/screens.tailwind.js +0 -8
  547. package/tailwind/spacing.tailwind.js +0 -65
  548. package/tailwind/tailwind.config.base.js +0 -906
  549. package/tailwind/tw-font-desc.ts +0 -15
  550. package/tailwind/typo-plugin/get-plugin-styles.js +0 -676
  551. package/tailwind/typo-plugin/index.d.ts +0 -9
  552. package/tailwind/typo-plugin/index.js +0 -141
  553. package/tailwind/typo-plugin/utils.js +0 -60
  554. package/tailwind/typography-test.mdx +0 -36
  555. package/types/breakpoints.ts +0 -11
  556. package/types/bullet-item.ts +0 -10
  557. package/types/button-def.ts +0 -39
  558. package/types/contact-info.ts +0 -11
  559. package/types/dimensions.ts +0 -20
  560. package/types/grid-def.ts +0 -56
  561. package/types/icon.ts +0 -10
  562. package/types/image-def.ts +0 -28
  563. package/types/index.ts +0 -29
  564. package/types/link-def.ts +0 -59
  565. package/types/site-def.ts +0 -34
  566. package/types/t-shirt-size.ts +0 -5
  567. package/util/index.ts +0 -81
  568. package/util/specifier.ts +0 -43
@@ -0,0 +1,99 @@
1
+ <!--
2
+ // Copyright © 2020, 2021 Hanzo <dev@hanzo.ai>.
3
+ // Copyright © 2021 Hardcore Engineering Inc.
4
+ //
5
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License. You may
7
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ //
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ -->
16
+ <script lang="ts">
17
+ import Label from './Label.svelte'
18
+ import ui from '../plugin'
19
+ import { resizeObserver } from '../resize'
20
+
21
+ export let limit: number = 240
22
+ export let ignore: boolean = false
23
+ export let fixed: boolean = false
24
+
25
+ let cHeight: number
26
+ let bigger: boolean = false
27
+ let crop: boolean = false
28
+
29
+ const toggle = (): void => {
30
+ crop = !crop
31
+ }
32
+
33
+ $: if (cHeight > limit && !bigger) bigger = true
34
+ $: if (bigger && !ignore) crop = true
35
+ </script>
36
+
37
+ <div class="clear-mins">
38
+ <div
39
+ use:resizeObserver={(element) => {
40
+ cHeight = element.clientHeight
41
+ }}
42
+ class="showMore-content"
43
+ class:crop={!ignore && crop}
44
+ class:full={bigger && !ignore && !crop}
45
+ style={!ignore && crop ? `max-height: ${limit}px;` : ''}
46
+ >
47
+ <slot />
48
+ </div>
49
+
50
+ {#if !ignore && bigger && !fixed}
51
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
52
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
53
+ <div class="showMore" class:outter={cHeight > limit} on:click={toggle}>
54
+ <Label label={cHeight > limit ? ui.string.ShowLess : ui.string.ShowMore} />
55
+ </div>
56
+ {/if}
57
+ </div>
58
+
59
+ <style lang="scss">
60
+ .showMore-content {
61
+ max-height: max-content;
62
+
63
+ &.crop {
64
+ overflow: hidden;
65
+ max-height: 15rem;
66
+ mask: linear-gradient(to top, rgba(0, 0, 0, 0) 0, black 5rem);
67
+ }
68
+ &.full {
69
+ margin-bottom: 2.25rem;
70
+ }
71
+ }
72
+
73
+ .showMore {
74
+ position: absolute;
75
+ left: 50%;
76
+ bottom: 0.25rem;
77
+ padding: 0.5rem 1rem;
78
+ transform: translateX(-50%);
79
+
80
+ word-wrap: none;
81
+ font-size: 0.75rem;
82
+ color: var(--theme-caption-color);
83
+ background: var(--theme-list-row-color);
84
+ border: 0.5px solid var(--theme-list-divider-color);
85
+ box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
86
+ border-radius: 2.5rem;
87
+ // z-index: 1;
88
+ user-select: none;
89
+ cursor: pointer;
90
+
91
+ &.outter {
92
+ bottom: 0.25rem;
93
+ transform: translateX(-50%);
94
+ }
95
+ &:hover {
96
+ background: var(--theme-list-button-color);
97
+ }
98
+ }
99
+ </style>
@@ -0,0 +1,72 @@
1
+ <!--
2
+ // Copyright © 2020 Hanzo <dev@hanzo.ai>.
3
+ //
4
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License. You may
6
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ //
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ -->
15
+ <script lang="ts">
16
+ import type { ButtonSize } from '../types'
17
+
18
+ export let size: ButtonSize = 'medium'
19
+ </script>
20
+
21
+ <div class="spinner spinner-{size}">
22
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
23
+ <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="0" y1="22" x2="0" y2="2">
24
+ <stop offset="0" stop-color={'var(--caption-color)'} />
25
+ <stop offset="1" stop-color={'var(--caption-color)'} stop-opacity="0" />
26
+ </linearGradient>
27
+ <g>
28
+ <animateTransform
29
+ attributeName="transform"
30
+ attributeType="XML"
31
+ type="rotate"
32
+ from="0 12 12"
33
+ to="360 12 12"
34
+ dur="1s"
35
+ repeatCount="indefinite"
36
+ />
37
+ <path
38
+ d="M12,22.5C6.2,22.5,1.5,17.8,1.5,12C1.5,6.2,6.2,1.5,12,1.5v-1C5.6,0.5,0.5,5.6,0.5,12c0,6.4,5.1,11.5,11.5,11.5V22.5z"
39
+ fill="var(--caption-color)"
40
+ />
41
+ <path
42
+ d="M12,0.5v1c5.8,0,10.5,4.7,10.5,10.5c0,5.8-4.7,10.5-10.5,10.5v1c6.4,0,11.5-5.1,11.5-11.5C23.5,5.6,18.4,0.5,12,0.5z"
43
+ fill="url(#a)"
44
+ />
45
+ </g>
46
+ </svg>
47
+ </div>
48
+
49
+ <style lang="scss">
50
+ .spinner {
51
+ &-inline {
52
+ width: 0.75rem;
53
+ height: 0.75rem;
54
+ }
55
+ &-small {
56
+ width: 1rem;
57
+ height: 1rem;
58
+ }
59
+ &-medium {
60
+ width: 1.5rem;
61
+ height: 1.5rem;
62
+ }
63
+ &-large {
64
+ width: 2rem;
65
+ height: 2rem;
66
+ }
67
+ &-x-large {
68
+ width: 3rem;
69
+ height: 3rem;
70
+ }
71
+ }
72
+ </style>
@@ -0,0 +1,100 @@
1
+ <!--
2
+ // Copyright © 2020 Hanzo <dev@hanzo.ai>.
3
+ //
4
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License. You may
6
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ //
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ -->
15
+ <script lang="ts">
16
+ import type { Asset, IntlString } from '@hanzo/platform'
17
+ import { ComponentType } from 'svelte'
18
+ import { tooltip } from '../tooltips'
19
+ import type { AnySvelteComponent, ButtonBaseSize, IconProps, LabelAndProps } from '../types'
20
+ import Icon from './Icon.svelte'
21
+ import Label from './Label.svelte'
22
+ import Spinner from './Spinner.svelte'
23
+
24
+ export let label: IntlString | undefined = undefined
25
+ export let labelParams: Record<string, any> = {}
26
+ export let title: string | undefined = undefined
27
+ export let secondTitle: string | undefined = undefined
28
+ export let kind: 'secondary' | 'primary' = 'secondary'
29
+ export let size: ButtonBaseSize = 'medium'
30
+ export let disabled: boolean = false
31
+ export let loading: boolean = false
32
+ export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
33
+ export let iconProps: IconProps = {}
34
+ export let secondIcon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
35
+ export let secondIconProps: IconProps = {}
36
+ export let width: string | undefined = undefined
37
+ export let height: string | undefined = undefined
38
+ export let pressed: boolean = false
39
+ export let secondPressed: boolean = false
40
+ export let showTooltip: LabelAndProps | undefined = undefined
41
+ export let secondShowTooltip: LabelAndProps | undefined = undefined
42
+ export let action: (e: MouseEvent) => void = () => {}
43
+ export let secondAction: (e: MouseEvent) => void = () => {}
44
+ export let noFocus: boolean = false
45
+ export let separate: boolean = false
46
+
47
+ $: iconSize = iconProps?.size !== undefined ? iconProps.size : 'full'
48
+ $: secondIconSize = secondIconProps?.size !== undefined ? secondIconProps.size : 'full'
49
+ </script>
50
+
51
+ <div
52
+ class="hulySplitButton-container {kind} {size}"
53
+ class:no-focus={noFocus}
54
+ class:disabled
55
+ class:separate
56
+ style:width
57
+ style:height
58
+ >
59
+ {#if loading}
60
+ <Spinner size={iconSize === 'inline' ? 'inline' : 'small'} />
61
+ {:else}
62
+ <button
63
+ use:tooltip={showTooltip}
64
+ class="hulySplitButton-main"
65
+ class:pressed
66
+ {disabled}
67
+ {title}
68
+ type={kind === 'primary' ? 'submit' : 'button'}
69
+ on:click|stopPropagation={action}
70
+ >
71
+ {#if icon || $$slots.icon}
72
+ <div class="btn-icon pointer-events-none">
73
+ {#if icon}<Icon bind:icon size={iconSize} {iconProps} />{/if}
74
+ {#if $$slots.icon}<slot name="icon" />{/if}
75
+ </div>
76
+ {/if}
77
+ {#if label}
78
+ <span class="overflow-label label pointer-events-none">
79
+ <Label {label} params={labelParams} />
80
+ </span>
81
+ {/if}
82
+ {#if $$slots.content}<slot name="content" />{/if}
83
+ </button>
84
+ <button
85
+ use:tooltip={secondShowTooltip}
86
+ class="hulySplitButton-second"
87
+ class:pressed={secondPressed}
88
+ {disabled}
89
+ title={secondTitle}
90
+ on:click|stopPropagation={secondAction}
91
+ >
92
+ {#if secondIcon || $$slots.secondIcon}
93
+ <div class="btn-icon pointer-events-none">
94
+ {#if secondIcon}<Icon bind:icon={secondIcon} size={secondIconSize} iconProps={secondIconProps} />{/if}
95
+ {#if $$slots.secondIcon}<slot name="secondIcon" />{/if}
96
+ </div>
97
+ {/if}
98
+ </button>
99
+ {/if}
100
+ </div>
@@ -0,0 +1,79 @@
1
+ <!--
2
+ //
3
+ // Copyright © 2024 Hardcore Engineering Inc.
4
+ //
5
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License. You may
7
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ //
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+ -->
17
+ <script lang="ts">
18
+ import type { IntlString } from '@hanzo/platform'
19
+
20
+ import Label from './Label.svelte'
21
+ import { StateType } from '../types'
22
+
23
+ type LabelString = $$Generic<IntlString>
24
+ type LabelParams = LabelString extends IntlString<infer Params> ? Params : Record<string, any>
25
+
26
+ export let type: StateType
27
+ export let label: LabelString
28
+ export let params: LabelParams = {} as unknown as LabelParams
29
+ </script>
30
+
31
+ <div
32
+ class="root"
33
+ class:ghost={type === StateType.Ghost}
34
+ class:negative={type === StateType.Negative}
35
+ class:positive={type === StateType.Positive}
36
+ class:primary={type === StateType.Primary}
37
+ class:regular={type === StateType.Regular}
38
+ >
39
+ <Label {label} {params} />
40
+ </div>
41
+
42
+ <style lang="scss">
43
+ .root {
44
+ border: 1px solid transparent;
45
+ border-radius: 0.25rem;
46
+ display: flex;
47
+ font-size: 0.75rem;
48
+ font-weight: 500;
49
+ line-height: 1rem;
50
+ padding: 0.125rem 0.5rem;
51
+ width: max-content;
52
+
53
+ &.ghost {
54
+ background: var(--theme-state-ghost-background-color);
55
+ border-color: var(--theme-state-ghost-border-color);
56
+ color: var(--theme-state-ghost-color);
57
+ }
58
+ &.negative {
59
+ background: var(--theme-state-negative-background-color);
60
+ border-color: var(--theme-state-negative-border-color);
61
+ color: var(--theme-state-negative-color);
62
+ }
63
+ &.positive {
64
+ background: var(--theme-state-positive-background-color);
65
+ border-color: var(--theme-state-positive-border-color);
66
+ color: var(--theme-state-positive-color);
67
+ }
68
+ &.primary {
69
+ background: var(--theme-state-primary-background-color);
70
+ border-color: var(--theme-qms-primary-ghost-border-color);
71
+ color: var(--theme-state-primary-color);
72
+ }
73
+ &.regular {
74
+ background: var(--theme-state-regular-background-color);
75
+ border-color: var(--theme-state-regular-border-color);
76
+ color: var(--theme-state-regular-color);
77
+ }
78
+ }
79
+ </style>
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Status } from '@hanzo/platform'
3
+ import { Severity } from '@hanzo/platform'
4
+
5
+ import Info from './icons/Info.svelte'
6
+ import Label from './Label.svelte'
7
+
8
+ export let status: Status
9
+ export let overflow: boolean = true
10
+ </script>
11
+
12
+ <div class="flex-center container {status.severity}" class:overflow-label={overflow}>
13
+ {#if status.severity !== Severity.OK}
14
+ <Info size={'small'} />
15
+ <span class="text-sm ml-2" class:overflow-label={overflow}>
16
+ <Label label={status.code} params={status.params} />
17
+ </span>
18
+ {/if}
19
+ </div>
20
+
21
+ <style lang="scss">
22
+ .container {
23
+ user-select: none;
24
+ font-size: 14px;
25
+ color: var(--theme-content-color);
26
+ &.WARNING {
27
+ color: yellow;
28
+ }
29
+ &.ERROR {
30
+ color: var(--system-error-color);
31
+ }
32
+ }
33
+ </style>
@@ -0,0 +1,290 @@
1
+ <!--
2
+ // Copyright © 2023 Hardcore Engineering Inc.
3
+ //
4
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License. You may
6
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ //
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ -->
15
+ <script lang="ts">
16
+ import type { Asset, IntlString } from '@hanzo/platform'
17
+ import { createEventDispatcher, SvelteComponent } from 'svelte'
18
+ import ui from '../plugin'
19
+ import {
20
+ AnySvelteComponent,
21
+ DialogStep,
22
+ Panel,
23
+ Icon,
24
+ deviceOptionsStore as deviceInfo,
25
+ Scroller,
26
+ Label,
27
+ Button,
28
+ Component
29
+ } from '..'
30
+
31
+ export let steps: readonly DialogStep[]
32
+ export let stepIndex = 0
33
+ export let doneLabel: IntlString = ui.string.Save
34
+ export let title: IntlString
35
+ export let stepsName: IntlString | undefined = undefined
36
+ export let stepsDescription: IntlString | undefined = undefined
37
+ export let icon: Asset | AnySvelteComponent | undefined = undefined
38
+ export let useMaxWidth: boolean | undefined = undefined
39
+ export let panelWidth = 0
40
+ export let innerWidth = 0
41
+ export let allowClose = true
42
+ export let floatAside = false
43
+
44
+ const dispatch = createEventDispatcher()
45
+
46
+ let step: SvelteComponent | undefined
47
+ let currentStepModel: DialogStep | undefined
48
+ let currentStepIndex = 0
49
+ let isStepValid = false
50
+ let isSaving = false
51
+
52
+ async function handleStepSelect (index: number) {
53
+ const newStepIndex = index < steps.length ? Math.max(0, index) : Math.max(0, steps.length - 1)
54
+
55
+ if (newStepIndex > currentStepIndex) {
56
+ await completeCurrentStep()
57
+ }
58
+
59
+ currentStepIndex = newStepIndex
60
+ isStepValid = false
61
+ }
62
+
63
+ function handleComponentChange (ev: CustomEvent<{ isValid?: boolean }>) {
64
+ isStepValid = !!ev.detail.isValid
65
+ }
66
+
67
+ async function handleDone () {
68
+ await completeCurrentStep()
69
+
70
+ dispatch('close')
71
+ }
72
+
73
+ async function completeCurrentStep () {
74
+ if (!step?.done) {
75
+ return
76
+ }
77
+
78
+ isSaving = true
79
+ try {
80
+ await step.done()
81
+ } finally {
82
+ isSaving = false
83
+ }
84
+ }
85
+
86
+ $: currentStepModel = steps[currentStepIndex]
87
+ $: stepIndex = currentStepIndex
88
+ </script>
89
+
90
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
91
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
92
+ <Panel bind:panelWidth bind:innerWidth bind:useMaxWidth {floatAside} {allowClose} isAside isHeader on:close>
93
+ <svelte:fragment slot="title">
94
+ {@const additionalStepInfo = currentStepModel?.additionalInfo}
95
+
96
+ <div class="popupPanel-title__content-container antiTitle" style:min-height={'2.5rem'}>
97
+ <div class="icon-wrapper">
98
+ {#if icon}<div class="wrapped-icon"><Icon {icon} size="medium" /></div>{/if}
99
+ <div class="title-wrapper">
100
+ {#if title}<span class="wrapped-title"><Label label={title} /></span>{/if}
101
+ {#if additionalStepInfo}<span class="wrapped-subtitle">{additionalStepInfo}</span>{/if}
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </svelte:fragment>
106
+
107
+ <svelte:fragment slot="utils">
108
+ {@const isDone = currentStepIndex === steps.length - 1}
109
+
110
+ {#if currentStepIndex > 0}
111
+ <Button
112
+ kind="regular"
113
+ label={ui.string.Back}
114
+ on:click={async () => {
115
+ await handleStepSelect(currentStepIndex - 1)
116
+ }}
117
+ />
118
+ {/if}
119
+ <Button
120
+ kind="primary"
121
+ label={isDone ? doneLabel : ui.string.Next}
122
+ disabled={!isStepValid}
123
+ loading={isSaving}
124
+ on:click={isDone
125
+ ? handleDone
126
+ : async () => {
127
+ await handleStepSelect(currentStepIndex + 1)
128
+ }}
129
+ />
130
+ </svelte:fragment>
131
+
132
+ <svelte:fragment slot="header">
133
+ {@const stepName = currentStepModel?.name}
134
+ {@const stepDescription = currentStepModel?.description}
135
+
136
+ <div class="header header-row between">
137
+ {#if stepName}<h4 class="no-margin"><Label label={stepName} /></h4>{/if}
138
+ {#if stepDescription}
139
+ <div class="buttons-group xsmall-gap" style:align-self="flex-start">
140
+ <span class="lines-limit-2"><Label label={stepDescription} /></span>
141
+ </div>
142
+ {/if}
143
+ </div>
144
+ </svelte:fragment>
145
+
146
+ <svelte:fragment slot="aside">
147
+ <Scroller>
148
+ <div class="default-padding">
149
+ {#if stepsName}<h4 class="no-margin"><Label label={stepsName} /></h4>{/if}
150
+ <ol>
151
+ {#each steps as step, index}
152
+ {@const selected = index === currentStepIndex}
153
+ {@const disabled = index > currentStepIndex && !(index === currentStepIndex + 1 && isStepValid)}
154
+ {@const fulfilled = index < currentStepIndex}
155
+
156
+ <li
157
+ class="overflow-label"
158
+ class:selected
159
+ class:disabled
160
+ class:fulfilled
161
+ title={step.name}
162
+ on:click={disabled || selected
163
+ ? undefined
164
+ : async () => {
165
+ await handleStepSelect(index)
166
+ }}
167
+ >
168
+ <Label label={step.name} />
169
+ </li>
170
+ {/each}
171
+ </ol>
172
+ {#if stepsDescription}
173
+ <span class="content-dark-color"><Label label={stepsDescription} /></span>
174
+ {/if}
175
+ </div>
176
+ </Scroller>
177
+ </svelte:fragment>
178
+
179
+ {#if currentStepModel?.component}
180
+ {@const { component, props } = currentStepModel}
181
+ {@const isMobile = $deviceInfo.isMobile}
182
+
183
+ <Scroller>
184
+ <div
185
+ class="clear-mins flex-no-shrink"
186
+ class:popupPanel-body__mobile-content={isMobile}
187
+ class:popupPanel-body__main-content={!isMobile}
188
+ class:py-8={!isMobile}
189
+ class:max={!isMobile && useMaxWidth}
190
+ >
191
+ {#if typeof component === 'string'}
192
+ <Component bind:innerRef={step} is={component} {props} on:change={handleComponentChange} />
193
+ {:else}
194
+ <svelte:component this={component} bind:this={step} {...props} on:change={handleComponentChange} />
195
+ {/if}
196
+ </div>
197
+ </Scroller>
198
+ {/if}
199
+ </Panel>
200
+
201
+ <style lang="scss">
202
+ ol {
203
+ list-style: none;
204
+ counter-reset: item;
205
+ margin: 2rem 0;
206
+ }
207
+
208
+ li {
209
+ counter-increment: item;
210
+ transition-property: border, background-color, color, box-shadow;
211
+ transition-duration: 0.15s;
212
+ color: var(--content-color);
213
+ border-radius: 1rem 0.25rem 0.25rem 1rem;
214
+ padding-right: 0.5rem;
215
+
216
+ &:not(:last-child) {
217
+ margin-bottom: 0.75rem;
218
+ }
219
+
220
+ &:hover {
221
+ background-color: var(--button-bg-hover);
222
+ color: var(--caption-color);
223
+ cursor: pointer;
224
+
225
+ &::before {
226
+ color: var(--caption-color);
227
+ }
228
+ }
229
+
230
+ &.selected {
231
+ color: var(--accent-color);
232
+ background-color: var(--noborder-bg-color);
233
+ cursor: default;
234
+
235
+ &::before {
236
+ color: var(--accent-color);
237
+ background-color: var(--primary-bg-color);
238
+ }
239
+ }
240
+
241
+ &.fulfilled {
242
+ background-color: var(--accent-bg-color);
243
+
244
+ &::before {
245
+ background-color: var(--primary-button-outline);
246
+ }
247
+ }
248
+
249
+ &.disabled {
250
+ color: var(--dark-color);
251
+ cursor: not-allowed;
252
+
253
+ &::before {
254
+ color: var(--dark-color);
255
+ background-color: var(--trans-content-05);
256
+ }
257
+
258
+ &:hover {
259
+ background-color: inherit;
260
+ color: none;
261
+ }
262
+ }
263
+
264
+ &::before {
265
+ display: inline-flex;
266
+ justify-content: center;
267
+ align-items: center;
268
+ margin-right: 1rem;
269
+ content: counter(item);
270
+ color: var(--content-color);
271
+ background-color: var(--trans-content-10);
272
+ border-radius: 100%;
273
+ width: 2rem;
274
+ height: 2rem;
275
+ }
276
+ }
277
+
278
+ .header {
279
+ display: flex;
280
+ gap: 0.25rem 1rem;
281
+ }
282
+
283
+ .default-padding {
284
+ padding: 0.75rem 1.5rem;
285
+ }
286
+
287
+ .no-margin {
288
+ margin: 0;
289
+ }
290
+ </style>