@hanzo/ui 0.5.23 → 0.6.15

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,84 @@
1
+ <!--
2
+ // Copyright © 2024 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
+ export let row: number = 0
17
+ export let colorsSchema: 'default' | 'lumia' = 'default'
18
+ export let addClass: string | undefined = undefined
19
+ export let selected = false
20
+ export let element: HTMLElement | undefined = undefined
21
+ export let kind: 'default' | 'thin' | 'full-size' = 'default'
22
+ export let isHighlighted = false
23
+ </script>
24
+
25
+ <slot name="category" item={row} />
26
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
27
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
28
+ <div
29
+ class="list-item{addClass ? ` ${addClass}` : ''} {kind}"
30
+ class:selection={selected}
31
+ class:lumia={colorsSchema === 'lumia'}
32
+ class:default={colorsSchema === 'default'}
33
+ class:highlighted={isHighlighted}
34
+ on:mouseover
35
+ on:mouseenter
36
+ on:focus={() => {}}
37
+ bind:this={element}
38
+ on:click
39
+ >
40
+ <slot name="item" item={row} />
41
+ </div>
42
+
43
+ <style lang="scss">
44
+ .list-item {
45
+ margin: 0 0.5rem;
46
+ min-width: 0;
47
+ border-radius: 0.25rem;
48
+
49
+ &.thin {
50
+ margin: 0 0.375rem;
51
+ border-radius: 0.375rem;
52
+
53
+ &:not(:first-child) {
54
+ margin-top: 0.375rem;
55
+ }
56
+ }
57
+
58
+ &.full-size {
59
+ margin: 0;
60
+ }
61
+
62
+ &.default.highlighted:hover:not(.highlighted) {
63
+ background-color: var(--theme-popup-divider);
64
+ }
65
+
66
+ &.lumia.highlighted:hover:not(.highlighted) {
67
+ background-color: var(--global-ui-highlight-BackgroundColor);
68
+ }
69
+
70
+ &.selection:not(.highlighted) {
71
+ &.default {
72
+ background-color: var(--theme-popup-hover);
73
+ }
74
+
75
+ &.lumia {
76
+ background-color: var(--global-ui-highlight-BackgroundColor);
77
+ }
78
+ }
79
+
80
+ &.highlighted {
81
+ background-color: var(--global-ui-hover-highlight-BackgroundColor);
82
+ }
83
+ }
84
+ </style>
@@ -0,0 +1,88 @@
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 { createEventDispatcher, onMount } from 'svelte'
18
+ import Spinner from './Spinner.svelte'
19
+ import { ButtonSize } from '../types'
20
+
21
+ export let shrink: boolean = false
22
+ export let label: string = ''
23
+ export let size: ButtonSize = 'medium'
24
+
25
+ const dispatch = createEventDispatcher()
26
+ let timer: any
27
+ onMount(() => {
28
+ timer = setTimeout(() => {
29
+ dispatch('progress')
30
+ }, 50)
31
+ return () => {
32
+ clearTimeout(timer)
33
+ }
34
+ })
35
+ </script>
36
+
37
+ <div class="spinner-container" class:fullSize={!shrink}>
38
+ <div data-label={label} class="inner flex-row-center" class:labeled={label !== ''}>
39
+ <Spinner {size} />
40
+ <slot />
41
+ </div>
42
+ </div>
43
+
44
+ <style lang="scss">
45
+ .spinner-container {
46
+ display: flex;
47
+ justify-content: center;
48
+ align-items: center;
49
+
50
+ &.fullSize {
51
+ width: 100%;
52
+ height: 100%;
53
+ }
54
+ }
55
+
56
+ @keyframes makeVisible {
57
+ from {
58
+ opacity: 0;
59
+ }
60
+ to {
61
+ opacity: 1;
62
+ }
63
+ }
64
+
65
+ .spinner-container .inner {
66
+ opacity: 0;
67
+ animation-name: makeVisible;
68
+ animation-duration: 0.25s;
69
+ animation-delay: 0.25s;
70
+ animation-fill-mode: forwards;
71
+
72
+ &.labeled {
73
+ position: relative;
74
+
75
+ &::after {
76
+ position: absolute;
77
+ content: attr(data-label);
78
+ bottom: -0.75rem;
79
+ left: 50%;
80
+ text-transform: uppercase;
81
+ font-weight: 500;
82
+ font-size: 0.5rem;
83
+ color: var(--dark-color);
84
+ transform: translateX(-50%);
85
+ }
86
+ }
87
+ }
88
+ </style>
@@ -0,0 +1,205 @@
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 { createEventDispatcher, onDestroy, onMount } from 'svelte'
17
+ import { generateId, Ref, Doc } from '@hanzo/core'
18
+ import ui from '../plugin'
19
+ import { closePopup, showPopup } from '../popups'
20
+ import { Action } from '../types'
21
+ import Icon from './Icon.svelte'
22
+ import Label from './Label.svelte'
23
+ import MouseSpeedTracker from './MouseSpeedTracker.svelte'
24
+ import { resizeObserver } from '../resize'
25
+
26
+ export let actions: Action[] = []
27
+ export let ctx: any = undefined
28
+ export let popupCategory: Ref<Doc> | undefined = undefined
29
+ export let addClass: string | undefined = undefined
30
+
31
+ const dispatch = createEventDispatcher()
32
+ const btns: HTMLElement[] = []
33
+ let activeElement: HTMLElement
34
+ const category = popupCategory || generateId()
35
+ const nextCategory = generateId()
36
+
37
+ const keyDown = (ev: KeyboardEvent): void => {
38
+ if (ev.key === 'Tab') {
39
+ dispatch('close')
40
+ ev.preventDefault()
41
+ ev.stopPropagation()
42
+ }
43
+ const n = btns.indexOf(activeElement) ?? 0
44
+ if (ev.key === 'ArrowDown') {
45
+ if (n < btns.length - 1) {
46
+ activeElement = btns[n + 1]
47
+ }
48
+ ev.preventDefault()
49
+ ev.stopPropagation()
50
+ }
51
+ if (ev.key === 'ArrowUp') {
52
+ if (n > 0) {
53
+ activeElement = btns[n - 1]
54
+ }
55
+ ev.preventDefault()
56
+ ev.stopPropagation()
57
+ }
58
+ if (ev.key === 'ArrowLeft') {
59
+ dispatch('update', 'left')
60
+ closePopup(category)
61
+ ev.preventDefault()
62
+ ev.stopPropagation()
63
+ }
64
+ if (ev.key === 'ArrowRight') {
65
+ dispatch('update', 'right')
66
+ showActionPopup(actions[n], activeElement)
67
+ ev.preventDefault()
68
+ ev.stopPropagation()
69
+ }
70
+ }
71
+
72
+ onMount(() => {
73
+ dispatch('update')
74
+ if (btns[0]) {
75
+ btns[0].focus()
76
+ }
77
+ })
78
+ onDestroy(() => {
79
+ closePopup(category)
80
+ })
81
+
82
+ function showActionPopup (action: Action, target: HTMLElement, isPopupHidden?: boolean): void {
83
+ closePopup(category)
84
+ closePopup(nextCategory)
85
+
86
+ if (action.component !== undefined && !isPopupHidden) {
87
+ showPopup(
88
+ action.component,
89
+ { ...action.props, popupCategory: nextCategory },
90
+ { getBoundingClientRect: () => target.getBoundingClientRect(), kind: 'submenu' },
91
+ (evt) => {
92
+ dispatch('close')
93
+ },
94
+ undefined,
95
+ { category, overlay: false }
96
+ )
97
+ }
98
+ }
99
+ function focusTarget (action: Action, target: HTMLElement, isPopupHidden?: boolean): void {
100
+ if (focusSpeed && target !== activeElement) {
101
+ activeElement = target
102
+ showActionPopup(action, target, isPopupHidden)
103
+ }
104
+ }
105
+ export function clearFocus (): void {
106
+ closePopup(category)
107
+ activeElement = popup
108
+ }
109
+
110
+ let focusSpeed: boolean = false
111
+ let popup: HTMLElement
112
+
113
+ $: popup?.focus()
114
+ </script>
115
+
116
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
117
+ <div
118
+ class="antiPopup{addClass ? ` ${addClass}` : ''}"
119
+ use:resizeObserver={() => {
120
+ dispatch('changeContent')
121
+ }}
122
+ on:keydown={keyDown}
123
+ >
124
+ <MouseSpeedTracker bind:focusSpeed />
125
+ <div class="ap-space x2" />
126
+ <slot name="header" />
127
+ <div class="ap-scroll">
128
+ <div class="ap-box" bind:this={popup}>
129
+ {#if actions.length === 0}
130
+ <div class="p-6 error-color">
131
+ <Label label={ui.string.NoActionsDefined} />
132
+ </div>
133
+ {/if}
134
+ {#each actions as action, i}
135
+ {#if i > 0 && actions[i - 1].group !== action.group}
136
+ <span class="ap-menuItem separator" />
137
+ {/if}
138
+ {#if action.link}
139
+ <a class="stealth" href={action.link}>
140
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
141
+ <button
142
+ bind:this={btns[i]}
143
+ class="ap-menuItem flex-row-center withIcon w-full"
144
+ class:hover={btns[i] === activeElement}
145
+ on:mousemove={() => {
146
+ if (btns[i] !== activeElement) focusTarget(action, btns[i])
147
+ }}
148
+ on:click|preventDefault|stopPropagation={(evt) => {
149
+ if (!action.inline) dispatch('close')
150
+ action.action(ctx, evt)
151
+ }}
152
+ >
153
+ {#if action.icon}<div class="icon mr-2"><Icon icon={action.icon} size={'small'} /></div>{/if}
154
+ <span class="overflow-label pr-4 flex-grow"><Label label={action.label} /></span>
155
+ </button>
156
+ </a>
157
+ {:else if action.component !== undefined && !action.isSubmenuRightClicking}
158
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
159
+ <button
160
+ bind:this={btns[i]}
161
+ class="ap-menuItem antiPopup-submenu withIconHover"
162
+ class:hover={btns[i] === activeElement}
163
+ on:mousemove={() => {
164
+ if (btns[i] !== activeElement) focusTarget(action, btns[i])
165
+ }}
166
+ on:click={() => {
167
+ focusTarget(action, btns[i])
168
+ }}
169
+ >
170
+ {#if action.icon}
171
+ <div class="icon mr-2"><Icon icon={action.icon} size={'small'} /></div>
172
+ {/if}
173
+ <span class="overflow-label pr-4 flex-grow"><Label label={action.label} /></span>
174
+ </button>
175
+ {:else}
176
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
177
+ <button
178
+ bind:this={btns[i]}
179
+ class="ap-menuItem flex-row-center withIcon"
180
+ class:hover={btns[i] === activeElement}
181
+ on:mousemove={() => {
182
+ if (btns[i] !== activeElement) focusTarget(action, btns[i], action.isSubmenuRightClicking)
183
+ }}
184
+ on:click={(evt) => {
185
+ if (!action.inline) dispatch('close')
186
+ action.action(ctx, evt)
187
+ }}
188
+ on:contextmenu={(evt) => {
189
+ if (action.component) {
190
+ evt.preventDefault()
191
+ showActionPopup(action, btns[i])
192
+ }
193
+ }}
194
+ >
195
+ {#if action.icon}
196
+ <div class="icon mr-2"><Icon icon={action.icon} size={'small'} /></div>
197
+ {/if}
198
+ <span class="overflow-label pr-4 flex-grow"><Label label={action.label} /></span>
199
+ </button>
200
+ {/if}
201
+ {/each}
202
+ </div>
203
+ </div>
204
+ <div class="ap-space x2" />
205
+ </div>
@@ -0,0 +1,125 @@
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 { IntlString } from '@hanzo/platform'
17
+ import Label from './Label.svelte'
18
+ import { createEventDispatcher } from 'svelte'
19
+
20
+ export let label: IntlString | undefined = undefined
21
+ export let on: boolean = false
22
+ export let disabled: boolean = false
23
+ const dispatch = createEventDispatcher()
24
+ </script>
25
+
26
+ <div class="flex-row-center">
27
+ <label class="mini-toggle">
28
+ <input class="chBox" type="checkbox" bind:checked={on} on:change {disabled} />
29
+ <span class="toggle-switch" />
30
+ </label>
31
+ {#if label}
32
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
33
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
34
+ <span
35
+ class="mini-toggle-label"
36
+ on:click={() => {
37
+ if (!disabled) {
38
+ on = !on
39
+ dispatch('change', on)
40
+ }
41
+ }}
42
+ >
43
+ <Label {label} />
44
+ </span>
45
+ {/if}
46
+ </div>
47
+
48
+ <style lang="scss">
49
+ .mini-toggle {
50
+ display: inline-block;
51
+ width: 22px;
52
+ height: 14px;
53
+ min-width: 22px;
54
+ // line-height: 1.75rem;
55
+ vertical-align: middle;
56
+ font-size: inherit;
57
+ user-select: none;
58
+ .chBox {
59
+ position: absolute;
60
+ width: 1px;
61
+ height: 1px;
62
+ margin: -1px;
63
+ border: 0;
64
+ padding: 0;
65
+ clip: rect(0 0 0 0);
66
+ overflow: hidden;
67
+
68
+ &:checked + .toggle-switch {
69
+ background-color: var(--theme-toggle-on-bg-color);
70
+ &:hover {
71
+ background-color: var(--theme-toggle-on-bg-hover);
72
+ }
73
+ &:before {
74
+ left: 9px;
75
+ background: var(--theme-toggle-on-sw-color);
76
+ }
77
+ }
78
+ &:not(:disabled) + .toggle-switch {
79
+ cursor: pointer;
80
+ }
81
+ &:disabled + .toggle-switch {
82
+ filter: grayscale(70%);
83
+ &:before {
84
+ background: #eee;
85
+ }
86
+ }
87
+ // &:focus-within + .toggle-switch { box-shadow: 0 0 0 2px var(--primary-button-outline); }
88
+ }
89
+ // &:active > .toggle-switch { box-shadow: 0 0 0 2px var(--primary-button-outline); }
90
+ .toggle-switch {
91
+ position: relative;
92
+ display: inline-block;
93
+ width: 22px;
94
+ height: 14px;
95
+ border-radius: 4.5rem;
96
+ background-color: var(--theme-toggle-bg-color);
97
+ transition:
98
+ left 0.2s,
99
+ background-color 0.2s;
100
+ &:before {
101
+ content: '';
102
+ position: absolute;
103
+ top: 2px;
104
+ left: 3px;
105
+ display: inline-block;
106
+ width: 10px;
107
+ height: 10px;
108
+ border-radius: 50%;
109
+ background: var(--theme-toggle-sw-color);
110
+ // box-shadow: 1px 2px 7px rgba(119, 129, 142, 0.1);
111
+ transition: all 0.1s ease-out;
112
+ }
113
+ &:hover {
114
+ background-color: var(--theme-toggle-bg-hover);
115
+ }
116
+ }
117
+
118
+ &-label {
119
+ margin-left: 0.375rem;
120
+ font-size: 0.75rem;
121
+ color: var(--content-color);
122
+ cursor: pointer;
123
+ }
124
+ }
125
+ </style>
@@ -0,0 +1,117 @@
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 { createEventDispatcher } from 'svelte'
17
+ import { IntlString } from '@hanzo/platform'
18
+ import Header from './Header.svelte'
19
+ import Label from './Label.svelte'
20
+ import ButtonIcon from './ButtonIcon.svelte'
21
+ import ButtonBase from './ButtonBase.svelte'
22
+ import Scroller from './Scroller.svelte'
23
+ import ui from '..'
24
+
25
+ export let type: 'type-aside' | 'type-popup' | 'type-component'
26
+ export let width: 'large' | 'medium' | 'small' | 'x-small' | 'menu' | undefined = undefined
27
+ export let label: IntlString | undefined = undefined
28
+ export let labelProps: any | undefined = undefined
29
+ export let okAction: () => Promise<void> | void = () => {}
30
+ export let onCancel: (() => void) | undefined = undefined
31
+ export let canSave: boolean = false
32
+ export let okLabel: IntlString = ui.string.Ok
33
+ export let padding: string | undefined = undefined
34
+ export let hidden: boolean = false
35
+ export let allowFullsize: boolean = false
36
+ export let noTopIndent: boolean = false
37
+ export let hideFooter: boolean = false
38
+ export let adaptive: 'default' | 'freezeActions' | 'doubleRow' | 'disabled' = 'disabled'
39
+ export let showCancelButton: boolean = true
40
+
41
+ const dispatch = createEventDispatcher()
42
+
43
+ function close (): void {
44
+ if (onCancel) onCancel()
45
+ else dispatch('close')
46
+ }
47
+ function onKeyDown (ev: KeyboardEvent) {
48
+ if (ev.key === 'Escape') close()
49
+ }
50
+
51
+ $: typePadding =
52
+ type === 'type-popup'
53
+ ? 'var(--spacing-2) var(--spacing-3) var(--spacing-4)'
54
+ : type === 'type-aside'
55
+ ? 'var(--spacing-2) var(--spacing-1_5)'
56
+ : 'var(--spacing-4)'
57
+ </script>
58
+
59
+ <svelte:window on:keydown={onKeyDown} />
60
+
61
+ <div class="hulyModal-container {type} {width ?? ''}" class:hidden class:noTopIndent>
62
+ <Header
63
+ {type}
64
+ {allowFullsize}
65
+ {adaptive}
66
+ on:close={close}
67
+ hideBefore={!$$slots.beforeTitle}
68
+ hideActions={!$$slots.actions}
69
+ >
70
+ <svelte:fragment slot="beforeTitle">
71
+ <slot name="beforeTitle" />
72
+ </svelte:fragment>
73
+ {#if label}<Label {label} params={labelProps} />{/if}
74
+ <slot name="title" />
75
+ <svelte:fragment slot="actions">
76
+ <slot name="actions" />
77
+ </svelte:fragment>
78
+ </Header>
79
+ <slot name="beforeContent" />
80
+ <div class="hulyModal-content">
81
+ <Scroller
82
+ padding={padding ?? typePadding}
83
+ bottomPadding={type === 'type-popup'
84
+ ? undefined
85
+ : type === 'type-aside'
86
+ ? 'var(--spacing-2)'
87
+ : 'var(--spacing-4)'}
88
+ >
89
+ <slot />
90
+ </Scroller>
91
+ </div>
92
+ <slot name="afterContent" />
93
+ {#if type !== 'type-component' && !hideFooter}
94
+ <div class="hulyModal-footer">
95
+ <ButtonBase
96
+ type={'type-button'}
97
+ kind={'primary'}
98
+ size={type === 'type-aside' ? 'large' : 'medium'}
99
+ label={okLabel}
100
+ on:click={okAction}
101
+ disabled={!canSave}
102
+ />
103
+ {#if showCancelButton}
104
+ <ButtonBase
105
+ type={'type-button'}
106
+ kind={'secondary'}
107
+ size={type === 'type-aside' ? 'large' : 'medium'}
108
+ label={ui.string.Cancel}
109
+ on:click={onCancel}
110
+ />
111
+ {/if}
112
+ {#if $$slots.buttons}
113
+ <slot name="buttons" />
114
+ {/if}
115
+ </div>
116
+ {/if}
117
+ </div>
@@ -0,0 +1,37 @@
1
+ <script lang="ts" generics="T extends string">
2
+ import Switcher from './Switcher.svelte'
3
+ import { IModeSelector } from '../utils'
4
+
5
+ export let props: IModeSelector
6
+ export let kind: 'nuance' | 'subtle' = 'nuance'
7
+ export let onlyIcons: boolean = false
8
+ export let expansion: 'stretch' | 'default' = 'default'
9
+ export let padding: string | undefined = undefined
10
+
11
+ $: modeList =
12
+ props.config != null
13
+ ? props.config.map((c) => {
14
+ return {
15
+ id: c[0],
16
+ labelIntl: c[1],
17
+ labelParams: c[2],
18
+ action: () => {
19
+ props.onChange(c[0])
20
+ }
21
+ }
22
+ })
23
+ : []
24
+ </script>
25
+
26
+ {#if modeList.length > 0}
27
+ <Switcher
28
+ name={'modeSelector'}
29
+ items={modeList}
30
+ selected={props.mode}
31
+ {kind}
32
+ {onlyIcons}
33
+ on:select={(result) => {
34
+ if (result.detail !== undefined && result.detail.action) result.detail.action()
35
+ }}
36
+ />
37
+ {/if}