@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,48 @@
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 type { ButtonItem } from '..'
18
+ import Button from './Button.svelte'
19
+
20
+ export let items: ButtonItem[]
21
+ export let selected: string | boolean = false
22
+ export let allowDeselected: boolean = true
23
+ export let mode: 'filled-icon' | 'highlighted' | 'selected' = 'selected'
24
+ export let props: any = {}
25
+
26
+ const dispatch = createEventDispatcher()
27
+
28
+ const select = (value: string | false): void => {
29
+ selected = value
30
+ dispatch('select', value)
31
+ }
32
+ </script>
33
+
34
+ {#each items as item}
35
+ {@const isSelect = selected === item.id}
36
+ <Button
37
+ {...item}
38
+ id={`btnGID-${item.id}`}
39
+ iconProps={mode === 'filled-icon' && isSelect ? { filled: true } : {}}
40
+ selected={mode === 'selected' ? isSelect : false}
41
+ highlight={mode === 'highlighted' ? isSelect : false}
42
+ {...props}
43
+ on:click={() => {
44
+ if (!isSelect) select(item.id)
45
+ else if (allowDeselected) select(false)
46
+ }}
47
+ />
48
+ {/each}
@@ -0,0 +1,63 @@
1
+ <!--
2
+ // Copyright © 2023 Hardcore Engineering Inc.
3
+ //
4
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License. You may
6
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ //
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ -->
15
+ <script lang="ts">
16
+ import type { Asset } from '@hanzo/platform'
17
+ import { AnySvelteComponent, IconSize, LabelAndProps } from '../types'
18
+ import { ComponentType } from 'svelte'
19
+ import ButtonBase from './ButtonBase.svelte'
20
+
21
+ export let kind: 'primary' | 'secondary' | 'tertiary' | 'negative' = 'secondary'
22
+ export let size: 'large' | 'medium' | 'small' | 'extra-small' | 'min' = 'large'
23
+ export let icon: Asset | AnySvelteComponent | ComponentType
24
+ export let iconProps: any | undefined = undefined
25
+ export let iconSize: IconSize | undefined = undefined
26
+ export let disabled: boolean = false
27
+ export let pressed: boolean = false
28
+ export let hasMenu: boolean = false
29
+ export let noPrint: boolean = false
30
+ export let loading: boolean = false
31
+ export let inheritColor: boolean = false
32
+ export let tooltip: LabelAndProps | undefined = undefined
33
+ export let focusIndex = -1
34
+ export let id: string | undefined = undefined
35
+ export let dataId: string | undefined = undefined
36
+ export let element: HTMLButtonElement | undefined = undefined
37
+
38
+ export function focus () {
39
+ element?.focus()
40
+ }
41
+ </script>
42
+
43
+ <ButtonBase
44
+ bind:element
45
+ type={'type-button-icon'}
46
+ {kind}
47
+ {iconSize}
48
+ {size}
49
+ {icon}
50
+ {iconProps}
51
+ {disabled}
52
+ {loading}
53
+ {inheritColor}
54
+ {pressed}
55
+ {hasMenu}
56
+ {noPrint}
57
+ {tooltip}
58
+ {focusIndex}
59
+ {id}
60
+ {dataId}
61
+ on:click
62
+ on:keydown
63
+ />
@@ -0,0 +1,103 @@
1
+ <!--
2
+ // Copyright © 2023 Hardcore Engineering Inc.
3
+ //
4
+ // Licensed under the Eclipse Public License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License. You may
6
+ // obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ //
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ -->
15
+ <script lang="ts">
16
+ import type { Asset, IntlString } from '@hanzo/platform'
17
+ import { deepEqual } from 'fast-equals'
18
+ import { ComponentType, createEventDispatcher } from 'svelte'
19
+ import { closePopup, showPopup, type LabelAndProps, closeTooltip } from '..'
20
+ import { AnySvelteComponent, DropdownIntlItem } from '../types'
21
+ import ButtonBase from './ButtonBase.svelte'
22
+ import ModernPopup from './ModernPopup.svelte'
23
+
24
+ export let title: string | undefined = undefined
25
+ export let label: IntlString | undefined = undefined
26
+ export let labelParams: Record<string, any> = {}
27
+ export let kind: 'primary' | 'secondary' | 'tertiary' | 'negative' = 'secondary'
28
+ export let size: 'large' | 'medium' | 'small' | 'extra-small' | 'min' = 'large'
29
+ export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
30
+ export let iconProps: any | undefined = undefined
31
+ export let disabled: boolean = false
32
+ export let loading: boolean = false
33
+ export let inheritColor: boolean = false
34
+ export let noSelection: boolean = false
35
+ export let noPrint: boolean = false
36
+ export let autoSelectionIfOne: boolean = false
37
+ export let tooltip: LabelAndProps | undefined = undefined
38
+
39
+ export let items: DropdownIntlItem[]
40
+ export let params: Record<string, any> = {}
41
+ export let selected: DropdownIntlItem['id'] | undefined = undefined
42
+ export let element: HTMLButtonElement | undefined = undefined
43
+ export let focusIndex = -1
44
+ export let id: string | undefined = undefined
45
+ export let dataId: string | undefined = undefined
46
+
47
+ let opened: boolean = false
48
+
49
+ const dispatch = createEventDispatcher()
50
+
51
+ function openPopup () {
52
+ if (!opened) {
53
+ if (autoSelectionIfOne && items.length === 1) {
54
+ selected = items[0].id
55
+ dispatch('selected', selected)
56
+ return
57
+ }
58
+ opened = true
59
+ closeTooltip()
60
+ showPopup(ModernPopup, { items, selected: noSelection ? undefined : selected, params }, element, (result) => {
61
+ if (result) {
62
+ selected = result
63
+ dispatch('selected', result)
64
+ }
65
+ opened = false
66
+ })
67
+ }
68
+ }
69
+
70
+ let prevItems: DropdownIntlItem[]
71
+ $: if (!deepEqual(items, prevItems)) {
72
+ prevItems = items
73
+
74
+ if (opened) {
75
+ closePopup()
76
+ opened = false
77
+ openPopup()
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <ButtonBase
83
+ type={'type-button'}
84
+ hasMenu
85
+ bind:element
86
+ {kind}
87
+ {title}
88
+ {label}
89
+ {labelParams}
90
+ {size}
91
+ {icon}
92
+ {iconProps}
93
+ {disabled}
94
+ {noPrint}
95
+ {loading}
96
+ {inheritColor}
97
+ pressed={opened}
98
+ {focusIndex}
99
+ {id}
100
+ {dataId}
101
+ {tooltip}
102
+ on:click={openPopup}
103
+ />
@@ -0,0 +1,120 @@
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 { Asset, IntlString } from '@hanzo/platform'
17
+ import {
18
+ AnySvelteComponent,
19
+ Button,
20
+ ButtonKind,
21
+ Icon,
22
+ Label,
23
+ SelectPopup,
24
+ SelectPopupValueType,
25
+ eventToHTMLElement,
26
+ showPopup,
27
+ LabelAndProps,
28
+ ButtonSize
29
+ } from '../index'
30
+ import { createEventDispatcher } from 'svelte'
31
+
32
+ export let dropdownItems: SelectPopupValueType[]
33
+ export let label: IntlString | undefined = undefined
34
+ export let labelParams: Record<string, any> = {}
35
+ export let kind: ButtonKind = 'primary'
36
+ export let size: ButtonSize = 'medium'
37
+ export let justify: 'left' | 'center' = 'center'
38
+ export let icon: Asset | AnySvelteComponent | undefined = undefined
39
+ export let dropdownIcon: Asset | AnySvelteComponent | undefined = undefined
40
+ export let showTooltipMain: LabelAndProps | undefined = undefined
41
+ export let mainButtonId: string | undefined = undefined
42
+ export let disabled: boolean = false
43
+ export let loading: boolean = false
44
+ export let focusIndex: number | undefined = undefined
45
+ export let hasDropdown: boolean = true
46
+
47
+ const dispatch = createEventDispatcher()
48
+
49
+ function openDropdown (ev: MouseEvent): void {
50
+ showPopup(SelectPopup, { value: dropdownItems }, eventToHTMLElement(ev), (res) => {
51
+ dispatch('dropdown-selected', res)
52
+ })
53
+ }
54
+ </script>
55
+
56
+ <div class="w-full flex-row-center">
57
+ <Button
58
+ {focusIndex}
59
+ width="100%"
60
+ {icon}
61
+ {size}
62
+ {kind}
63
+ disabled={disabled || loading}
64
+ shape={hasDropdown ? 'rectangle-right' : undefined}
65
+ {justify}
66
+ shrink={1}
67
+ borderStyle="none"
68
+ on:click
69
+ showTooltip={showTooltipMain}
70
+ id={mainButtonId}
71
+ >
72
+ <svelte:fragment slot="content">
73
+ <div class="flex-row-center w-full flex-between relative">
74
+ {#if label}
75
+ <span class="overflow-label"><Label {label} params={labelParams} /></span>
76
+ <slot name="content" />
77
+ <div class="{kind} vertical-divider max-h-5 h-5" />
78
+ {/if}
79
+ </div>
80
+ </svelte:fragment>
81
+ </Button>
82
+ {#if hasDropdown}
83
+ <Button
84
+ width="1.75rem"
85
+ {kind}
86
+ shape="rectangle-left"
87
+ justify="center"
88
+ borderStyle="none"
89
+ on:click={openDropdown}
90
+ {size}
91
+ {disabled}
92
+ {loading}
93
+ >
94
+ <div slot="icon">
95
+ {#if dropdownIcon}
96
+ <Icon icon={dropdownIcon} size="small" />
97
+ {/if}
98
+ </div>
99
+ </Button>
100
+ {/if}
101
+ </div>
102
+
103
+ <style lang="scss">
104
+ .vertical-divider {
105
+ position: absolute;
106
+ background-color: var(--theme-content-color);
107
+ min-width: 1px;
108
+ opacity: 0.25;
109
+ right: -0.75rem;
110
+
111
+ &.primary,
112
+ &.secondary,
113
+ &.positive,
114
+ &.negative,
115
+ &.dangerous,
116
+ &.contrast {
117
+ background-color: var(--primary-button-content-color);
118
+ }
119
+ }
120
+ </style>
@@ -0,0 +1,239 @@
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 } from 'svelte'
17
+
18
+ export let checked: boolean = false
19
+ export let symbol: 'check' | 'minus' = 'check'
20
+ export let size: 'small' | 'medium' | 'large' = 'small'
21
+ export let circle: boolean = false
22
+ export let kind: 'default' | 'primary' | 'positive' | 'negative' | 'todo' = 'default'
23
+ export let color: string | undefined = undefined
24
+ export let readonly: boolean = false
25
+
26
+ const dispatch = createEventDispatcher()
27
+
28
+ $: oldChecked = checked
29
+
30
+ const handleValueChanged = (event: Event): void => {
31
+ if (readonly) {
32
+ return
33
+ }
34
+ const eventTarget = event.target as HTMLInputElement
35
+ const isChecked = eventTarget.checked
36
+
37
+ if (oldChecked !== isChecked) {
38
+ oldChecked = isChecked
39
+ dispatch('value', isChecked)
40
+ }
41
+ }
42
+ </script>
43
+
44
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
45
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
46
+ <label
47
+ style:--checkbox-color={color ?? 'var(--global-accent-TextColor)'}
48
+ class="checkbox-container {size} {kind} {symbol}"
49
+ class:colored={color !== undefined}
50
+ class:circle
51
+ class:readonly
52
+ class:checked
53
+ on:click|stopPropagation
54
+ >
55
+ <input class="chBox" disabled={readonly} type="checkbox" bind:checked on:change|capture={handleValueChanged} />
56
+ <div class="checkSVG" />
57
+ </label>
58
+
59
+ <style lang="scss">
60
+ .checkbox-container {
61
+ display: flex;
62
+ justify-content: center;
63
+ align-items: center;
64
+ flex-shrink: 0;
65
+
66
+ .checkSVG {
67
+ position: relative;
68
+
69
+ &::after {
70
+ position: absolute;
71
+ inset: 0;
72
+ }
73
+ }
74
+ &:not(.readonly):hover {
75
+ cursor: pointer;
76
+ }
77
+
78
+ &.default,
79
+ &.primary,
80
+ &.positive,
81
+ &.negative {
82
+ .checkSVG {
83
+ background-color: var(--theme-button-hovered);
84
+ border: 1px solid var(--theme-checkbox-border);
85
+
86
+ &::after {
87
+ background-color: var(--theme-checkbox-color);
88
+ }
89
+ }
90
+ &.check .checkSVG::after {
91
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' style='enable-background:new 0 0 14 14' xml:space='preserve'%3E%3Cpath d='M6 10.2 2.7 7l1-.9L6 8.4l4.5-4.6.9 1z'/%3E%3C/svg%3E%0A");
92
+ }
93
+ &.minus .checkSVG::after {
94
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' style='enable-background:new 0 0 14 14' xml:space='preserve'%3E%3Cpath d='M3 6.4h8v1.2H3z'/%3E%3C/svg%3E%0A");
95
+ }
96
+ &.small .checkSVG {
97
+ width: 0.875rem;
98
+ height: 0.875rem;
99
+ }
100
+ &.medium .checkSVG {
101
+ width: 1rem;
102
+ height: 1rem;
103
+ }
104
+ &.large .checkSVG {
105
+ width: 1.25rem;
106
+ height: 1.25rem;
107
+ }
108
+ &.circle .checkSVG {
109
+ width: 1rem;
110
+ height: 1rem;
111
+ border-radius: 50%;
112
+ }
113
+ &:not(.circle) .checkSVG {
114
+ border-radius: 0.25rem;
115
+ }
116
+ &.checked .checkSVG {
117
+ background-color: var(--theme-checkbox-bg-color);
118
+
119
+ &::after {
120
+ content: '';
121
+ }
122
+ }
123
+ &.readonly .checkSVG {
124
+ background-color: var(--theme-checkbox-disabled);
125
+ }
126
+ }
127
+ &.default.readonly,
128
+ &.primary,
129
+ &.positive,
130
+ &.negative {
131
+ .checkSVG::after {
132
+ background-color: var(--primary-button-color);
133
+ }
134
+ }
135
+
136
+ &.primary {
137
+ .checkSVG {
138
+ border-color: var(--primary-button-default);
139
+ }
140
+ &:not(.readonly).checked .checkSVG {
141
+ background-color: var(--primary-button-default);
142
+ }
143
+ }
144
+ &.positive {
145
+ .checkSVG {
146
+ border-color: var(--positive-button-default);
147
+ }
148
+ &:not(.readonly).checked .checkSVG {
149
+ background-color: var(--positive-button-default);
150
+ }
151
+ }
152
+ &.negative {
153
+ .checkSVG {
154
+ border-color: var(--negative-button-default);
155
+ }
156
+ &:not(.readonly).checked .checkSVG {
157
+ background-color: var(--negative-button-default);
158
+ }
159
+ }
160
+
161
+ &.todo {
162
+ width: var(--global-extra-small-Size);
163
+ height: var(--global-extra-small-Size);
164
+ border-radius: 50%;
165
+
166
+ .checkSVG {
167
+ height: var(--global-min-Size);
168
+ width: var(--global-min-Size);
169
+ border: 1px solid var(--global-tertiary-TextColor);
170
+ border-radius: 50%;
171
+
172
+ &::after {
173
+ background-color: var(--global-tertiary-TextColor);
174
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16' xml:space='preserve'%3E%3Cpath d='M11.6 5.5c.2.2.2.6 0 .8l-4.3 4.3c-.2.2-.6.2-.8 0l-2.1-2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l1.7 1.7 3.9-3.9c.2-.3.6-.3.8-.1z' style='fill-rule:evenodd;clip-rule:evenodd;fill:%23072790'/%3E%3C/svg%3E%0A");
175
+ }
176
+ }
177
+ &:focus-within {
178
+ border-radius: 0.25rem;
179
+ box-shadow: 0 0 0 0.125rem var(--global-focus-inset-BorderColor);
180
+ outline: 0.125rem solid var(--global-focus-BorderColor);
181
+ outline-offset: 0.125rem;
182
+ }
183
+ &:not(.readonly):hover {
184
+ background-color: var(--button-secondary-hover-BackgroundColor);
185
+ }
186
+ &:not(.readonly):hover,
187
+ &.checked {
188
+ .checkSVG::after {
189
+ content: '';
190
+ }
191
+ }
192
+ &.colored .checkSVG {
193
+ border-color: var(--checkbox-color);
194
+
195
+ &::after {
196
+ background-color: var(--checkbox-color);
197
+ }
198
+ }
199
+ &.readonly .checkSVG,
200
+ &.checked .checkSVG {
201
+ border: none;
202
+ }
203
+ &.readonly {
204
+ .checkSVG::before {
205
+ position: absolute;
206
+ content: '';
207
+ inset: 0;
208
+ background-color: var(--global-tertiary-TextColor);
209
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16' xml:space='preserve'%3E%3Cpath d='M15.3 11.4c-.5-.2-1.1-.1-1.4.3-.1.1-.1.2-.2.2-.5.7-1.2 1.4-1.9 1.8-.4.3-.6 1-.3 1.4 1.6-.7 2.9-2 3.8-3.7zM.4 10.5c.6-.2.9-.7.8-1.2-.1-.4-.1-.9-.1-1.3s0-.9.1-1.3c.1-.5-.2-1-.8-1.2-.3.9-.4 1.8-.4 2.6s.1 1.6.4 2.4zm3.5 3.2c-.7-.5-1.3-1.1-1.8-1.8-.3-.4-1-.6-1.4-.3.7 1.5 2 2.8 3.5 3.6.4-.6.3-1.2-.3-1.5zm5.3 1.1c-.9.1-1.7.1-2.7 0-.5-.1-1.1.2-1.3.8.9.3 1.7.4 2.7.4.9 0 1.7-.1 2.5-.4-.2-.6-.6-.9-1.2-.8zm5.6-8.2c.1.4.1 1 .1 1.5 0 .4 0 .7-.1 1.2s.2 1.1.9 1.2c.2-.8.3-1.6.3-2.4 0-1-.2-1.8-.4-2.7-.6 0-.9.6-.8 1.2zM6.4 1.2h.2c.9-.2 1.7-.2 2.7 0 .5.1 1.1-.2 1.2-.7C9.7.2 8.9 0 8 0 7 0 6.2.1 5.4.4c.1.5.6.8 1 .8zM.9 4.5c.2.1.3.1.5.1.3 0 .6-.2.9-.4l.1-.1c.5-.6 1.1-1.3 1.7-1.7.4-.4.6-1 .3-1.4-1.5.6-2.8 1.9-3.5 3.5zm10.9-2.3.2.1c.6.4 1.3 1.1 1.7 1.7.2.3.5.4.9.4.2 0 .3-.1.5-.1-.7-1.5-2-2.8-3.6-3.5-.3.5-.2 1.1.3 1.4z'/%3E%3C/svg%3E%0A");
210
+ z-index: 1;
211
+ }
212
+ &.colored .checkSVG::before,
213
+ &.checked .checkSVG::before {
214
+ background-color: var(--checkbox-color);
215
+ }
216
+ &.checked .checkSVG::after {
217
+ background-color: var(--checkbox-color);
218
+ }
219
+ }
220
+ &.checked:not(.readonly) .checkSVG {
221
+ background-color: var(--checkbox-color);
222
+ }
223
+ &.checked .checkSVG::after {
224
+ background-color: var(--global-subtle-BackgroundColor);
225
+ }
226
+ }
227
+
228
+ .chBox {
229
+ position: absolute;
230
+ width: 1px;
231
+ height: 1px;
232
+ margin: -1px;
233
+ border: 0;
234
+ padding: 0;
235
+ clip: rect(0 0 0 0);
236
+ overflow: hidden;
237
+ }
238
+ }
239
+ </style>
@@ -0,0 +1,88 @@
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 } from 'svelte'
17
+ import type { IntlString } from '@hanzo/platform'
18
+ import CheckBoxWithLabel from './CheckBoxWithLabel.svelte'
19
+ import Label from './Label.svelte'
20
+ import Add from './icons/Add.svelte'
21
+
22
+ export let label: IntlString
23
+ export let items: Array<{description: IntlString, done: boolean}>
24
+ = [
25
+ { description: '15 minute phone call', done: true },
26
+ { description: 'Follow up email', done: false },
27
+ { description: 'First round interview', done: false },
28
+ { description: 'Follow up email', done: false },
29
+ { description: 'Second round interview', done: false },
30
+ { description: 'Third round interview', done: false },
31
+ ]
32
+ export let editable: boolean = false
33
+
34
+ const dispatch = createEventDispatcher()
35
+ </script>
36
+
37
+ <div class="checkbox-list">
38
+ {#each items as item}
39
+ <div class="list-item">
40
+ <CheckBoxWithLabel
41
+ bind:label={item.description}
42
+ bind:checked={item.done}
43
+ {editable}
44
+ on:change={() => {
45
+ dispatch('change', item)
46
+ }}
47
+ />
48
+ </div>
49
+ {/each}
50
+ <div
51
+ class="add-item"
52
+ on:click={() => {
53
+ items.push({ description: 'New item', done: false })
54
+ items = items
55
+ }}
56
+ >
57
+ <div class="icon"><Add size={'small'} /></div>
58
+ <div class="label"><Label {label} /></div>
59
+ </div>
60
+ </div>
61
+
62
+ <style lang="scss">
63
+ .checkbox-list {
64
+ display: flex;
65
+ flex-direction: column;
66
+ align-items: stretch;
67
+ margin: 0 1rem;
68
+
69
+ .list-item + .list-item { margin-top: 1.25rem; }
70
+
71
+ .add-item {
72
+ display: flex;
73
+ align-items: center;
74
+ margin-top: 1.25rem;
75
+ cursor: pointer;
76
+
77
+ .icon { opacity: .6; }
78
+ .label {
79
+ margin-left: 1rem;
80
+ color: var(--content-color);
81
+ }
82
+ &:hover {
83
+ .icon { opacity: 1; }
84
+ .label { color: var(--caption-color); }
85
+ }
86
+ }
87
+ }
88
+ </style>