@hanzo/ui 0.5.24 → 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,61 @@
1
+ <script lang="ts">
2
+ //
3
+ // © 2023 Hardcore Engineering, Inc. All Rights Reserved.
4
+ // Licensed under the Eclipse Public License v2.0 (SPDX: EPL-2.0).
5
+ //
6
+
7
+ import type { Asset, IntlString } from '@hanzo/platform'
8
+ import { AnySvelteComponent, ButtonBaseSize, IconSize, LabelAndProps } from '../types'
9
+ import { ComponentType } from 'svelte'
10
+ import ButtonBase from './ButtonBase.svelte'
11
+
12
+ export let title: string | undefined = undefined
13
+ export let label: IntlString | undefined = undefined
14
+ export let labelParams: Record<string, any> = {}
15
+ export let kind: 'primary' | 'secondary' | 'tertiary' | 'negative' = 'secondary'
16
+ export let size: ButtonBaseSize = 'large'
17
+ export let shape: 'rectangle' | 'round' = 'rectangle'
18
+ export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
19
+ export let iconProps: any | undefined = undefined
20
+ export let iconSize: IconSize | undefined = undefined
21
+ export let disabled: boolean = false
22
+ export let loading: boolean = false
23
+ export let pressed: boolean = false
24
+ export let hasMenu: boolean = false
25
+ export let noPrint: boolean = false
26
+ export let autoFocus: boolean = false
27
+ export let inheritFont: boolean = false
28
+ export let focusIndex = -1
29
+ export let tooltip: LabelAndProps | undefined = undefined
30
+ export let element: HTMLButtonElement | undefined = undefined
31
+ export let id: string | undefined = undefined
32
+ export let dataId: string | undefined = undefined
33
+ </script>
34
+
35
+ <ButtonBase
36
+ bind:element
37
+ type={'type-button'}
38
+ {title}
39
+ {shape}
40
+ {label}
41
+ {labelParams}
42
+ {kind}
43
+ {size}
44
+ {icon}
45
+ {iconProps}
46
+ {iconSize}
47
+ {loading}
48
+ {disabled}
49
+ {pressed}
50
+ {hasMenu}
51
+ {noPrint}
52
+ {inheritFont}
53
+ {focusIndex}
54
+ {tooltip}
55
+ {autoFocus}
56
+ {id}
57
+ {dataId}
58
+ on:click
59
+ >
60
+ <slot />
61
+ </ButtonBase>
@@ -0,0 +1,123 @@
1
+ <script lang="ts">
2
+ //
3
+ // © 2023 Hardcore Engineering, Inc. All Rights Reserved.
4
+ // Licensed under the Eclipse Public License v2.0 (SPDX: EPL-2.0).
5
+ //
6
+ import type { IntlString } from '@hanzo/platform'
7
+ import { generateId } from '@hanzo/core'
8
+ import { Label } from '../..'
9
+
10
+ export let id: string = generateId()
11
+ export let label: string | undefined = undefined
12
+ export let labelIntl: IntlString | undefined = undefined
13
+ export let labelParams: Record<string, any> | undefined = undefined
14
+ export let checked: boolean = false
15
+ export let indeterminate: boolean = false
16
+ export let disabled: boolean = false
17
+ export let error: boolean = false
18
+ export let required: boolean = false
19
+ </script>
20
+
21
+ <label class="checkbox-container" class:disabled>
22
+ <input type="checkbox" class="checkbox" {id} bind:checked {disabled} {indeterminate} {required} on:change />
23
+ <div class="checkbox-element" class:disabled class:error />
24
+ {#if label !== undefined || labelIntl !== undefined || $$slots.default !== undefined}
25
+ <div class="checkbox-label">
26
+ {#if labelIntl}<Label label={labelIntl} params={labelParams} />{:else}{label}{/if}
27
+ <slot />
28
+ </div>
29
+ {/if}
30
+ <slot name="after" />
31
+ </label>
32
+
33
+ <style lang="scss">
34
+ .checkbox-element {
35
+ position: relative;
36
+ flex-shrink: 0;
37
+ width: var(--spacing-2);
38
+ height: var(--spacing-2);
39
+ background-color: var(--selector-BackgroundColor);
40
+ border: 1px solid var(--selector-BorderColor);
41
+ border-radius: var(--extra-small-BorderRadius);
42
+ }
43
+ .checkbox-label {
44
+ color: var(--global-primary-TextColor);
45
+ user-select: none;
46
+ }
47
+ .checkbox {
48
+ overflow: hidden;
49
+ position: absolute;
50
+ margin: -1px;
51
+ padding: 0;
52
+ width: 1px;
53
+ height: 1px;
54
+ border: 0;
55
+ clip: rect(0 0 0 0);
56
+
57
+ &:checked + .checkbox-element,
58
+ &:indeterminate + .checkbox-element {
59
+ background-color: var(--selector-active-BackgroundColor);
60
+ border-color: var(--selector-active-BackgroundColor);
61
+
62
+ &::after {
63
+ content: '';
64
+ position: absolute;
65
+ top: 50%;
66
+ left: 50%;
67
+ width: 0.625rem;
68
+ height: 0.5rem;
69
+ background-color: var(--selector-IconColor);
70
+ transform: translate(-50%, -50%);
71
+ }
72
+ }
73
+ &:checked + .checkbox-element::after {
74
+ clip-path: path(
75
+ 'M9.7,0.5c0.4,0.4,0.4,1,0,1.4L4.1,7.8L0.3,4.2c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0L4,5l4.3-4.5C8.6,0.1,9.3,0.1,9.7,0.5z'
76
+ );
77
+ }
78
+ &:indeterminate + .checkbox-element::after {
79
+ clip-path: path('M0,4c0-0.6,0.4-1,1-1h8c0.6,0,1,0.4,1,1c0,0.6-0.4,1-1,1H1C0.4,5,0,4.6,0,4z');
80
+ }
81
+ &:disabled + .checkbox-element {
82
+ box-shadow: none;
83
+ background-color: var(--selector-disabled-BackgroundColor);
84
+ border-color: var(--selector-disabled-BorderColor);
85
+
86
+ & + .checkbox-label {
87
+ color: var(--global-disabled-TextColor);
88
+ }
89
+ }
90
+ & + .checkbox-element.error {
91
+ border-color: var(--border-color-global-error-border-color);
92
+ }
93
+ &:focus + .checkbox-element {
94
+ outline: 2px solid var(--global-focus-BorderColor);
95
+ outline-offset: 2px;
96
+ }
97
+ &:required + .checkbox-element + .checkbox-label::after {
98
+ content: '*';
99
+ position: relative;
100
+ top: -0.125rem;
101
+ left: 0.125rem;
102
+ color: var(--global-error-TextColor);
103
+ }
104
+ }
105
+ .checkbox-container {
106
+ display: inline-flex;
107
+ gap: var(--spacing-1_5);
108
+ min-width: var(--spacing-2);
109
+ min-height: var(--spacing-2);
110
+
111
+ &:not(.disabled) {
112
+ cursor: pointer;
113
+
114
+ &:active .checkbox-element {
115
+ outline: 2px solid var(--global-focus-BorderColor);
116
+ outline-offset: 2px;
117
+ }
118
+ &:hover .checkbox-element {
119
+ box-shadow: 0 0 0 4px var(--selector-hover-overlay-BackgroundColor);
120
+ }
121
+ }
122
+ }
123
+ </style>
@@ -0,0 +1,258 @@
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
+ // Note: migrated from QMS. Should be unified with the platform solutions eventually.
17
+ import { createEventDispatcher } from 'svelte'
18
+ import type { IntlString } from '@hanzo/platform'
19
+ import { AnySvelteComponent, ButtonKind } from '../types'
20
+ import Button from './Button.svelte'
21
+ import Label from './Label.svelte'
22
+ import Scroller from './Scroller.svelte'
23
+ import { resizeObserver } from '../resize'
24
+ import ui from '../plugin'
25
+ import Close from './icons/Close.svelte'
26
+ import Left from './icons/Left.svelte'
27
+
28
+ export let label: IntlString
29
+ export let labelProps: any | undefined = undefined
30
+ export let submitLabel: IntlString = ui.string.Submit
31
+ export let submitKind: ButtonKind = 'primary'
32
+ export let cancelLabel: IntlString = ui.string.Cancel
33
+ export let canSubmit: boolean = false
34
+ export let shouldSubmitOnEnter: boolean = false
35
+ export let shouldCloseOnCancel: boolean = true
36
+ export let hasBack: boolean = false
37
+ export let isForm: boolean = true
38
+ export let embedded: boolean = false
39
+ export let width: string | undefined = undefined
40
+ export let isFooterBorderHidden = false
41
+ export let loading = false
42
+ export let noContentPadding = false
43
+ export let scrollableContent = true
44
+ export let withoutFooter = false
45
+ export let closeIcon: AnySvelteComponent = Close
46
+ export let shadow: boolean = false
47
+ export let className: string = ''
48
+
49
+ const dispatch = createEventDispatcher()
50
+
51
+ function submit (): void {
52
+ dispatch('submit')
53
+ }
54
+
55
+ function close (): void {
56
+ dispatch('close')
57
+ }
58
+
59
+ function cancel (): void {
60
+ dispatch('cancel')
61
+
62
+ if (shouldCloseOnCancel) {
63
+ close()
64
+ }
65
+ }
66
+ </script>
67
+
68
+ <svelte:element
69
+ this={isForm ? 'form' : 'div'}
70
+ class="root {className}"
71
+ class:shadow
72
+ class:embedded
73
+ on:submit|preventDefault={isForm && shouldSubmitOnEnter ? submit : undefined}
74
+ use:resizeObserver={() => {
75
+ dispatch('changeContent')
76
+ }}
77
+ style:width
78
+ >
79
+ <div class="header">
80
+ <slot name="headerLeft">
81
+ <div class="headerLeft">
82
+ <div class="flex-row-center flex-gap-2">
83
+ {#if hasBack}
84
+ <div class="back">
85
+ <Button
86
+ icon={Left}
87
+ iconProps={{ size: 'small' }}
88
+ size="small"
89
+ kind="ghost"
90
+ label={ui.string.Back}
91
+ on:click={() => dispatch('back')}
92
+ />
93
+ </div>
94
+ {/if}
95
+ <slot name="headerExtra" />
96
+ </div>
97
+ <span class="label"><Label {label} params={labelProps} /></span>
98
+ </div>
99
+ </slot>
100
+ <slot name="headerRight">
101
+ {#if !embedded}
102
+ <Button icon={closeIcon} iconProps={{ size: 'medium' }} kind="ghost" size="small" on:click={close} />
103
+ {/if}
104
+ </slot>
105
+ </div>
106
+
107
+ {#if scrollableContent}
108
+ <Scroller>
109
+ <div class="content" class:noPadding={noContentPadding}>
110
+ {#if !noContentPadding}
111
+ <div class="htPadding" />
112
+ {/if}
113
+ <slot />
114
+ {#if !noContentPadding}
115
+ <div class="hbPadding" />
116
+ {/if}
117
+ </div>
118
+ </Scroller>
119
+ {:else}
120
+ <div class="content" class:noPadding={noContentPadding}>
121
+ {#if !noContentPadding}
122
+ <div class="htPadding" />
123
+ {/if}
124
+ <slot />
125
+ {#if !noContentPadding}
126
+ <div class="hbPadding" />
127
+ {/if}
128
+ </div>
129
+ {/if}
130
+
131
+ {#if !withoutFooter || $$slots.footerExtra || $$slots.footerButtons || $$slots.btnsXtraStart || $$slots.btnsXtraBetween || $$slots.btnsXtraEnd}
132
+ <div class="footer tweak-buttons" class:footerWithBorder={!isFooterBorderHidden}>
133
+ <slot name="footerExtra">
134
+ <div />
135
+ </slot>
136
+
137
+ <div class="footerButtons">
138
+ <slot name="footerButtons">
139
+ <slot name="btnsXtraStart" />
140
+ <Button kind="regular" size="large" label={cancelLabel} on:click={cancel} {loading} />
141
+ <slot name="btnsXtraBetween" />
142
+ <Button
143
+ kind={submitKind}
144
+ size="large"
145
+ label={submitLabel}
146
+ focusIndex={10001}
147
+ disabled={!canSubmit}
148
+ on:click={submit}
149
+ {loading}
150
+ />
151
+ <slot name="btnsXtraEnd" />
152
+ </slot>
153
+ </div>
154
+ </div>
155
+ {/if}
156
+ </svelte:element>
157
+
158
+ <style lang="scss">
159
+ .root {
160
+ display: flex;
161
+ flex-direction: column;
162
+ align-items: stretch;
163
+ width: 58.25rem;
164
+ max-height: 80vh;
165
+ border-radius: 1.25rem;
166
+ background-color: var(--theme-dialog-background-color);
167
+
168
+ &.embedded {
169
+ width: 100%;
170
+ height: 100%;
171
+ max-height: unset;
172
+ border-radius: 0;
173
+ }
174
+ }
175
+
176
+ .shadow {
177
+ box-shadow: var(--theme-popup-shadow);
178
+ }
179
+
180
+ .header {
181
+ flex: 0 0 auto;
182
+ display: flex;
183
+ flex-wrap: nowrap;
184
+ justify-content: space-between;
185
+ padding: 1.25rem 2rem 0.875rem 2.5rem;
186
+ border-bottom: 1px solid var(--theme-dialog-border-color);
187
+ }
188
+
189
+ .headerLeft {
190
+ display: flex;
191
+ flex-direction: column;
192
+ gap: 0.25rem;
193
+ }
194
+
195
+ .back {
196
+ :global(button) {
197
+ color: var(--theme-dialog-back-color) !important;
198
+ padding-left: 0 !important;
199
+ }
200
+ }
201
+
202
+ .label {
203
+ font-size: 1.25rem;
204
+ color: var(--theme-caption-color);
205
+ }
206
+
207
+ // we need these elements as paddings because Scroller doesn't respect css padding
208
+ .htPadding {
209
+ width: 100%;
210
+ height: 1.25rem;
211
+ }
212
+
213
+ .hbPadding {
214
+ width: 100%;
215
+ height: 2rem;
216
+ }
217
+
218
+ .content {
219
+ display: flex;
220
+ flex-direction: column;
221
+ align-items: stretch;
222
+
223
+ flex: 1 1 auto;
224
+ min-height: 0;
225
+ padding: 0 2.5rem 0 2.5rem;
226
+
227
+ &.noPadding {
228
+ padding: 0;
229
+ }
230
+ }
231
+
232
+ .footer {
233
+ flex: 0 0 auto;
234
+ height: 4.875rem;
235
+ padding: 1.25rem 2.5rem;
236
+ display: flex;
237
+ justify-content: space-between;
238
+ align-items: center;
239
+
240
+ &.footerWithBorder {
241
+ border-top: 1px solid var(--theme-dialog-border-color);
242
+ }
243
+ }
244
+
245
+ .footerButtons {
246
+ display: flex;
247
+ flex-wrap: nowrap;
248
+ align-items: center;
249
+ gap: 0.75rem;
250
+ }
251
+
252
+ // TODO: remove when supported on the platform
253
+ .tweak-buttons {
254
+ :global(button) {
255
+ min-width: 6.25rem !important;
256
+ }
257
+ }
258
+ </style>
@@ -0,0 +1,256 @@
1
+ <script lang="ts">
2
+ //
3
+ // © 2023 Hardcore Engineering, Inc. All Rights Reserved.
4
+ // Licensed under the Eclipse Public License v2.0 (SPDX: EPL-2.0).
5
+ //
6
+
7
+ import { IntlString, translateCB } from '@hanzo/platform'
8
+ import { createEventDispatcher, onMount } from 'svelte'
9
+ import { themeStore } from '..'
10
+ import { registerFocus } from '../focus'
11
+ import Label from './Label.svelte'
12
+
13
+ export let label: IntlString
14
+ export let value: string | undefined = undefined
15
+ export let kind: 'default' | 'ghost' = 'default'
16
+ export let size: 'small' | 'medium' | 'large' = 'small'
17
+ export let disabled: boolean = false
18
+ export let error: boolean = false
19
+ export let password: boolean = false
20
+ export let limit: number = 0
21
+ export let element: HTMLInputElement | undefined = undefined
22
+ export let autoFocus: boolean = false
23
+ export let autoAction: boolean = true
24
+ export let width: string = ''
25
+ export let style: string = ''
26
+
27
+ const dispatch = createEventDispatcher()
28
+
29
+ $: maxlength = limit === 0 ? null : limit
30
+
31
+ let placeholderStr: string = ''
32
+ $: translateCB(label, {}, $themeStore.language, (r) => {
33
+ placeholderStr = r
34
+ })
35
+ $: labeled = kind === 'default' && size === 'large'
36
+ $: placeholder = labeled ? ' ' : placeholderStr
37
+
38
+ onMount(() => {
39
+ if (autoFocus && element) {
40
+ autoFocus = false
41
+ element.focus()
42
+ }
43
+ })
44
+
45
+ // Focusable control with index
46
+ export let focusIndex = -1
47
+ const { idx, focusManager } = registerFocus(focusIndex, {
48
+ focus: () => {
49
+ element?.focus()
50
+ return element != null
51
+ },
52
+ isFocus: () => document.activeElement === element
53
+ })
54
+ const updateFocus = () => {
55
+ focusManager?.setFocus(idx)
56
+ }
57
+ $: if (element) {
58
+ element.addEventListener('focus', updateFocus)
59
+ }
60
+ </script>
61
+
62
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
63
+ <svelte:element
64
+ this={autoAction ? 'label' : 'div'}
65
+ class="editbox-wrapper {kind} {size}"
66
+ class:error
67
+ class:disabled
68
+ {style}
69
+ style:width
70
+ on:click|stopPropagation={() => {
71
+ if (!autoAction) element?.focus()
72
+ }}
73
+ >
74
+ {#if size !== 'large' && $$slots.default}
75
+ <slot />
76
+ {/if}
77
+ {#if password}
78
+ <input
79
+ bind:this={element}
80
+ type="password"
81
+ class="font-regular-14"
82
+ class:labeled
83
+ {style}
84
+ style:width
85
+ bind:value
86
+ autocomplete="off"
87
+ {placeholder}
88
+ spellcheck="false"
89
+ {disabled}
90
+ {maxlength}
91
+ on:change
92
+ on:keyup
93
+ on:keydown
94
+ on:input
95
+ on:blur={() => {
96
+ dispatch('blur', value)
97
+ }}
98
+ />
99
+ {:else}
100
+ <input
101
+ bind:this={element}
102
+ type="text"
103
+ class="font-regular-14"
104
+ class:labeled
105
+ {style}
106
+ style:width
107
+ bind:value
108
+ autocomplete="off"
109
+ {placeholder}
110
+ spellcheck="false"
111
+ {disabled}
112
+ {maxlength}
113
+ on:change
114
+ on:keyup
115
+ on:keydown
116
+ on:input
117
+ on:blur={() => {
118
+ dispatch('blur', value)
119
+ }}
120
+ />
121
+ {/if}
122
+ {#if labeled}<div class="font-regular-14 label"><Label {label} /></div>{/if}
123
+ </svelte:element>
124
+
125
+ <style lang="scss">
126
+ .editbox-wrapper {
127
+ display: flex;
128
+ align-items: center;
129
+ gap: var(--spacing-0_75);
130
+ min-width: 0;
131
+ border-radius: var(--medium-BorderRadius);
132
+
133
+ &.default {
134
+ background-color: var(--input-BackgroundColor);
135
+ box-shadow: inset 0 0 0 1px var(--input-BorderColor);
136
+
137
+ &.small {
138
+ padding: var(--spacing-1) var(--spacing-1_5);
139
+ height: var(--global-small-Size);
140
+ }
141
+ &.medium {
142
+ padding: var(--spacing-1_5) var(--spacing-2);
143
+ height: var(--global-medium-Size);
144
+ }
145
+ &.large {
146
+ position: relative;
147
+ padding: 0 var(--spacing-2);
148
+ height: var(--global-extra-large-Size);
149
+ }
150
+ }
151
+ &.ghost {
152
+ &.small,
153
+ &.medium {
154
+ // medium/ghost - not designed
155
+ padding: var(--spacing-1_5) var(--spacing-2);
156
+ height: var(--spacing-5);
157
+ }
158
+ &.large {
159
+ padding: var(--spacing-1) var(--spacing-2);
160
+ height: var(--spacing-6);
161
+
162
+ input {
163
+ font-weight: 500;
164
+ font-size: 1.5rem;
165
+ }
166
+ }
167
+ }
168
+
169
+ &.error {
170
+ box-shadow: inset 0 0 0 1px var(--input-error-BorderColor);
171
+ }
172
+ &:not(.disabled) {
173
+ cursor: text;
174
+
175
+ &.default {
176
+ input::placeholder {
177
+ color: var(--input-PlaceholderColor);
178
+ }
179
+ &:active,
180
+ &:focus-within {
181
+ background-color: var(--input-BackgroundColor);
182
+ outline: 2px solid var(--global-focus-BorderColor);
183
+ outline-offset: 2px;
184
+ }
185
+ &:hover {
186
+ background-color: var(--input-hover-BackgroundColor);
187
+ }
188
+ }
189
+ &.ghost input::placeholder {
190
+ color: var(--input-PlaceholderColor);
191
+ }
192
+ &:hover input:not(:focus)::placeholder {
193
+ color: var(--input-hover-PlaceholderColor);
194
+ }
195
+ &.default:active input::placeholder,
196
+ input:focus::placeholder {
197
+ color: var(--input-focus-PlaceholderColor);
198
+ }
199
+ }
200
+ &.disabled {
201
+ &,
202
+ input {
203
+ cursor: not-allowed;
204
+ }
205
+ input::placeholder {
206
+ color: var(--input-PlaceholderColor);
207
+ }
208
+ &.default {
209
+ background-color: transparent;
210
+ }
211
+ &.ghost {
212
+ box-shadow: inset 0 0 0 1px var(--input-BorderColor);
213
+ }
214
+ }
215
+
216
+ input {
217
+ margin: 0;
218
+ padding: 0;
219
+ width: 100%;
220
+ text-overflow: ellipsis;
221
+ color: var(--input-TextColor);
222
+ caret-color: var(--global-focus-BorderColor);
223
+ background-color: transparent;
224
+ border: none;
225
+ outline: none;
226
+ appearance: none;
227
+
228
+ &.labeled {
229
+ height: 100%;
230
+ padding-top: var(--spacing-3_5);
231
+ padding-bottom: var(--spacing-1_5);
232
+ }
233
+ }
234
+
235
+ .label {
236
+ position: absolute;
237
+ top: 0;
238
+ left: 0;
239
+ height: 100%;
240
+ padding: var(--spacing-2_5) var(--spacing-2);
241
+ font-size: 0.875rem;
242
+ color: var(--input-LabelColor);
243
+ transition:
244
+ padding-top 0.2s,
245
+ font-size 0.2s;
246
+ pointer-events: none;
247
+ user-select: none;
248
+ }
249
+ input:focus + .label,
250
+ input:not(:placeholder-shown) + .label {
251
+ padding-top: var(--spacing-1_5);
252
+ font-size: 0.75rem;
253
+ color: var(--input-filled-LabelColor);
254
+ }
255
+ }
256
+ </style>