@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,23 @@
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 { DateRangeMode } from '@hanzo/core'
17
+ import DatePresenter from './DatePresenter.svelte'
18
+
19
+ export let value: number | null | undefined
20
+ export let editable: boolean = false
21
+ </script>
22
+
23
+ <DatePresenter bind:value mode={DateRangeMode.DATETIME} {editable} />
@@ -0,0 +1,28 @@
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 { DateRangeMode } from '@hanzo/core'
17
+ import type { IntlString } from '@hanzo/platform'
18
+ import ui from '../../plugin'
19
+ import DateRangePresenter from './DateRangePresenter.svelte'
20
+
21
+ export let value: number | null | undefined
22
+ export let editable: boolean = false
23
+ export let iconModifier: 'normal' | 'warning' | 'overdue' = 'normal'
24
+ export let labelNull: IntlString = ui.string.NoDate
25
+ export let noShift: boolean = false
26
+ </script>
27
+
28
+ <DateRangePresenter bind:value mode={DateRangeMode.DATETIME} {editable} {iconModifier} {labelNull} {noShift} />
@@ -0,0 +1,93 @@
1
+ <!--
2
+ // Copyright © 2022 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 DPCalendar from './icons/DPCalendar.svelte'
17
+ import DPCalendarOver from './icons/DPCalendarOver.svelte'
18
+ import ui from '../../plugin'
19
+ import Icon from '../Icon.svelte'
20
+ import Label from '../Label.svelte'
21
+
22
+ export let formattedDate: string = ''
23
+ export let daysDifference: number = 0
24
+ export let isOverdue: boolean = false
25
+ export let iconModifier: 'warning' | 'critical' | 'overdue' | 'normal' = 'normal'
26
+ export let shouldIgnoreOverdue: boolean = false
27
+ </script>
28
+
29
+ {#if formattedDate}
30
+ <div class="root">
31
+ <div
32
+ class="iconContainer"
33
+ class:mIconContainerWarning={iconModifier === 'warning'}
34
+ class:mIconContainerCritical={iconModifier === 'critical' || iconModifier === 'overdue'}
35
+ >
36
+ <Icon icon={isOverdue && !shouldIgnoreOverdue ? DPCalendarOver : DPCalendar} size={'small'} />
37
+ </div>
38
+ <div class="messageContainer">
39
+ <div class="title">
40
+ <Label
41
+ label={isOverdue ? ui.string.DueDatePopupOverdueTitle : ui.string.DueDatePopupTitle}
42
+ params={{ value: formattedDate }}
43
+ />
44
+ </div>
45
+ {#if !shouldIgnoreOverdue}
46
+ <div class="description">
47
+ <Label
48
+ label={isOverdue ? ui.string.DueDatePopupOverdueDescription : ui.string.DueDatePopupDescription}
49
+ params={{ value: daysDifference }}
50
+ />
51
+ </div>
52
+ {/if}
53
+ </div>
54
+ </div>
55
+ {/if}
56
+
57
+ <style lang="scss">
58
+ .root {
59
+ display: flex;
60
+ width: 10rem;
61
+ min-width: 0;
62
+ }
63
+
64
+ .iconContainer {
65
+ margin-top: 0.125rem;
66
+ margin-right: 0.5rem;
67
+ color: var(--theme-caption-color);
68
+
69
+ &.mIconContainerWarning {
70
+ color: var(--theme-warning-color);
71
+ }
72
+
73
+ &.mIconContainerCritical {
74
+ color: var(--theme-error-color);
75
+ }
76
+ }
77
+
78
+ .messageContainer {
79
+ display: flex;
80
+ flex-direction: column;
81
+ justify-content: center;
82
+ }
83
+
84
+ .title {
85
+ color: var(--theme-caption-color);
86
+ font-weight: 500;
87
+ }
88
+
89
+ .description {
90
+ margin-top: 0.25rem;
91
+ color: var(--theme-dark-color);
92
+ }
93
+ </style>
@@ -0,0 +1,83 @@
1
+ <!--
2
+ // Copyright © 2022 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 { Timestamp } from '@hanzo/core'
17
+ import DueDatePopup from './DueDatePopup.svelte'
18
+ import { tooltip } from '../../tooltips'
19
+ import ui from '../../plugin'
20
+ import DatePresenter from './DatePresenter.svelte'
21
+ import { getDaysDifference, getDueDateIconModifier, getFormattedDate } from './internal/DateUtils'
22
+ import { ButtonKind, ButtonSize } from '../../types'
23
+
24
+ export let value: number | null = null
25
+ export let shouldRender: boolean = true
26
+ export let onChange: (newDate: number | null) => void
27
+ export let kind: ButtonKind = 'link'
28
+ export let editable: boolean = true
29
+ export let shouldIgnoreOverdue: boolean = false
30
+ export let size: ButtonSize = 'medium'
31
+ export let width: string | undefined = 'auto'
32
+
33
+ const today = new Date(new Date(Date.now()).setHours(0, 0, 0, 0))
34
+ $: isOverdue = value !== null && value < today.getTime()
35
+ $: dueDate = value === null ? null : new Date(value)
36
+ $: daysDifference = dueDate === null ? null : getDaysDifference(today, dueDate)
37
+ $: iconModifier = getDueDateIconModifier(isOverdue, daysDifference, shouldIgnoreOverdue)
38
+ let formattedDate = getFormattedDate(value)
39
+ $: formattedDate = getFormattedDate(value)
40
+
41
+ const handleDueDateChanged = async (event: CustomEvent<Timestamp>) => {
42
+ const newDate = event.detail
43
+
44
+ if (newDate === undefined || value === newDate || !editable) {
45
+ return
46
+ }
47
+
48
+ onChange(newDate)
49
+ }
50
+ </script>
51
+
52
+ {#if shouldRender}
53
+ <div
54
+ class="clear-mins"
55
+ style:width
56
+ use:tooltip={formattedDate
57
+ ? {
58
+ direction: 'top',
59
+ component: DueDatePopup,
60
+ props: {
61
+ formattedDate,
62
+ daysDifference,
63
+ isOverdue,
64
+ iconModifier,
65
+ shouldIgnoreOverdue
66
+ }
67
+ }
68
+ : undefined}
69
+ >
70
+ <DatePresenter
71
+ labelNull={ui.string.DueDate}
72
+ {value}
73
+ {editable}
74
+ {iconModifier}
75
+ {kind}
76
+ {size}
77
+ {width}
78
+ {shouldIgnoreOverdue}
79
+ on:change={handleDueDateChanged}
80
+ on:resize
81
+ />
82
+ </div>
83
+ {/if}
@@ -0,0 +1,243 @@
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 { afterUpdate, createEventDispatcher } from 'svelte'
17
+ import { capitalizeFirstLetter } from '../../utils'
18
+ import ButtonIcon from '../ButtonIcon.svelte'
19
+ import IconChevronLeft from '../icons/ChevronLeft.svelte'
20
+ import IconChevronRight from '../icons/ChevronRight.svelte'
21
+ import { deviceOptionsStore as deviceInfo } from '../..'
22
+ import {
23
+ ICell,
24
+ TCellStyle,
25
+ areDatesEqual,
26
+ day,
27
+ daysInMonth,
28
+ firstDay,
29
+ fromCurrentToTz,
30
+ getMonthName,
31
+ getUserTimezone,
32
+ getWeekDayName
33
+ } from './internal/DateUtils'
34
+
35
+ export let currentDate: Date | null
36
+ export let timeZone: string = getUserTimezone()
37
+ export let hideNavigator: boolean = false
38
+ export let replacementDay: boolean = false
39
+
40
+ const dispatch = createEventDispatcher()
41
+
42
+ let monthYear: string
43
+ const today: Date = new Date()
44
+ const viewDate: Date = new Date(currentDate ?? today)
45
+ let selectedDate: Date = new Date(currentDate ?? today)
46
+ $: firstDayOfCurrentMonth = firstDay(viewDate, $deviceInfo.firstDayOfWeek)
47
+ const isToday = (n: number): boolean => {
48
+ if (areDatesEqual(today, new Date(viewDate.getFullYear(), viewDate.getMonth(), n))) return true
49
+ return false
50
+ }
51
+
52
+ const getDateStyle = (date: Date): TCellStyle => {
53
+ if (selectedDate != null) {
54
+ const zonedTime = fromCurrentToTz(selectedDate, timeZone)
55
+ if (areDatesEqual(zonedTime, date)) {
56
+ return 'selected'
57
+ }
58
+ }
59
+ return 'not-selected'
60
+ }
61
+ const renderCellStyles = (date: Date, firstDay: number = 1): ICell[] => {
62
+ const result: ICell[] = []
63
+ for (let i = 1; i <= daysInMonth(date); i++) {
64
+ const tempDate = new Date(date.getFullYear(), date.getMonth(), i)
65
+ result.push({
66
+ dayOfWeek: (tempDate.getDay() - firstDay + 7) % 7,
67
+ classes: getDateStyle(tempDate)
68
+ })
69
+ }
70
+ monthYear = capitalizeFirstLetter(getMonthName(viewDate)) + ' ' + viewDate.getFullYear()
71
+ return result
72
+ }
73
+ $: days = renderCellStyles(viewDate, $deviceInfo.firstDayOfWeek)
74
+
75
+ const changeMonth = (offset: number): void => {
76
+ viewDate.setMonth(viewDate.getMonth() + offset)
77
+ days = renderCellStyles(viewDate, $deviceInfo.firstDayOfWeek)
78
+ }
79
+ </script>
80
+
81
+ <div class="month-container">
82
+ <div class="header">
83
+ {#if viewDate}
84
+ <div class="monthYear font-medium-14">{monthYear}</div>
85
+ <slot name="header" />
86
+ {#if !hideNavigator}
87
+ <div class="flex-row-center flex-no-shrink gap-2 tertiary-textColor">
88
+ <ButtonIcon
89
+ icon={IconChevronLeft}
90
+ kind={'tertiary'}
91
+ size={'extra-small'}
92
+ inheritColor
93
+ on:click={() => {
94
+ viewDate.setDate(1)
95
+ changeMonth(-1)
96
+ }}
97
+ />
98
+ <ButtonIcon
99
+ icon={IconChevronRight}
100
+ kind={'tertiary'}
101
+ size={'extra-small'}
102
+ inheritColor
103
+ on:click={() => {
104
+ viewDate.setDate(1)
105
+ changeMonth(1)
106
+ }}
107
+ />
108
+ </div>
109
+ {/if}
110
+ {/if}
111
+ </div>
112
+
113
+ {#if viewDate}
114
+ <div class="caption">
115
+ {#each [...Array(7).keys()] as dayOfWeek}
116
+ <span class="weekdays ui-regular-12">
117
+ {capitalizeFirstLetter(getWeekDayName(day(firstDayOfCurrentMonth, dayOfWeek), 'short'))}
118
+ </span>
119
+ {/each}
120
+ </div>
121
+ <div class="calendar">
122
+ {#each days as day, i}
123
+ <button
124
+ class="day ui-regular-14 {day.classes}"
125
+ class:today={isToday(i + 1)}
126
+ class:day-off={day.dayOfWeek > 5}
127
+ style="grid-column: {day.dayOfWeek + 1}/{day.dayOfWeek + 2};"
128
+ on:click|stopPropagation={() => {
129
+ viewDate.setDate(i + 1)
130
+ selectedDate = new Date(viewDate)
131
+ dispatch('update', viewDate)
132
+ }}
133
+ >
134
+ <slot day={{ display: i + 1, date: new Date(viewDate.getFullYear(), viewDate.getMonth(), i + 1) }}>
135
+ {i + 1}
136
+ </slot>
137
+ {#if $$slots.default && !replacementDay}{i + 1}{/if}
138
+ </button>
139
+ {/each}
140
+ </div>
141
+ {/if}
142
+ </div>
143
+
144
+ <style lang="scss">
145
+ .month-container {
146
+ display: flex;
147
+ flex-direction: column;
148
+ min-width: 0;
149
+ min-height: 0;
150
+ width: 100%;
151
+ height: 100%;
152
+ border-radius: var(--medium-BorderRadius);
153
+
154
+ .header {
155
+ display: flex;
156
+ justify-content: space-between;
157
+ align-items: center;
158
+ padding: var(--spacing-2) var(--spacing-2) var(--spacing-2) var(--spacing-2_75);
159
+
160
+ .monthYear {
161
+ white-space: nowrap;
162
+ word-break: break-all;
163
+ text-overflow: ellipsis;
164
+ overflow: hidden;
165
+ min-width: 0;
166
+ color: var(--global-primary-TextColor);
167
+
168
+ &::first-letter {
169
+ text-transform: capitalize;
170
+ }
171
+ }
172
+ }
173
+ }
174
+
175
+ .caption,
176
+ .calendar {
177
+ display: grid;
178
+ grid-template-columns: repeat(7, 1fr);
179
+
180
+ .weekdays,
181
+ .day {
182
+ display: flex;
183
+ justify-content: center;
184
+ align-items: center;
185
+ width: 2rem;
186
+ height: 2rem;
187
+ margin: 0.125rem;
188
+ color: var(--content-color);
189
+ }
190
+ }
191
+ .caption {
192
+ padding: 0 var(--spacing-2);
193
+
194
+ .weekdays {
195
+ height: 2rem;
196
+ color: var(--dark-color);
197
+ &::first-letter {
198
+ text-transform: capitalize;
199
+ }
200
+ }
201
+ }
202
+ .calendar {
203
+ padding: var(--spacing-1) var(--spacing-2) var(--spacing-2);
204
+
205
+ .day {
206
+ position: relative;
207
+ margin: 0;
208
+ padding: 0;
209
+ color: var(--accent-color);
210
+ background-color: rgba(var(--accent-color), 0.05);
211
+ border: 1px solid transparent;
212
+ border-radius: 0.25rem;
213
+ outline: none;
214
+
215
+ &.day-off {
216
+ color: var(--content-color);
217
+ }
218
+ &.focused {
219
+ box-shadow: 0 0 0 3px var(--primary-button-outline);
220
+ }
221
+ &:hover {
222
+ color: var(--caption-color);
223
+ background-color: var(--primary-button-transparent);
224
+ }
225
+ &.today:not(.selected) {
226
+ font-weight: 700;
227
+ color: var(--global-primary-LinkColor);
228
+ }
229
+ &.selected {
230
+ font-weight: 700;
231
+ color: var(--primary-button-color);
232
+ background-color: var(--primary-button-default);
233
+ cursor: default;
234
+ }
235
+
236
+ &:before {
237
+ content: '';
238
+ position: absolute;
239
+ inset: -0.625rem;
240
+ }
241
+ }
242
+ }
243
+ </style>
@@ -0,0 +1,138 @@
1
+ <!--
2
+ // Copyright © 2022 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 { areDatesEqual, day, firstDay, getWeekDayName, isWeekend, weekday } from './internal/DateUtils'
18
+ import { Scroller, deviceOptionsStore as deviceInfo, checkAdaptiveMatching } from '../..'
19
+
20
+ export let weekFormat: 'narrow' | 'short' | 'long' | undefined = 'long'
21
+ export let cellHeight: string | undefined = undefined
22
+ export let selectedDate: Date = new Date()
23
+ export let currentDate: Date = selectedDate
24
+ export let displayedWeeksCount = 6
25
+
26
+ const dispatch = createEventDispatcher()
27
+
28
+ $: devSize = $deviceInfo.size
29
+ $: shortName = checkAdaptiveMatching(devSize, 'lg')
30
+
31
+ $: firstDayOfCurrentMonth = firstDay(currentDate, $deviceInfo.firstDayOfWeek)
32
+
33
+ function onSelect (date: Date): void {
34
+ dispatch('change', date)
35
+ }
36
+
37
+ const todayDate = new Date()
38
+ </script>
39
+
40
+ <Scroller fade={{ multipler: { top: 2.25, bottom: 0 } }}>
41
+ <div class="days-of-week-header scroller-header">
42
+ {#each [...Array(7).keys()] as dayOfWeek}
43
+ <div class="day-name">
44
+ {getWeekDayName(
45
+ day(firstDayOfCurrentMonth, dayOfWeek),
46
+ shortName && weekFormat === 'long' ? 'short' : weekFormat
47
+ )}
48
+ </div>
49
+ {/each}
50
+ </div>
51
+ <div
52
+ class="days-of-month"
53
+ style:grid-template-rows={`repeat(${displayedWeeksCount}, ${cellHeight || 'minmax(0, 1fr)'})`}
54
+ >
55
+ {#each [...Array(displayedWeeksCount).keys()] as weekIndex}
56
+ {#each [...Array(7).keys()] as dayOfWeek}
57
+ {@const date = weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek)}
58
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
59
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
60
+ <div
61
+ class="cell"
62
+ class:weekend={isWeekend(date)}
63
+ class:wrongMonth={date.getMonth() !== currentDate.getMonth()}
64
+ class:left-border={dayOfWeek !== 0}
65
+ class:right-border={dayOfWeek === 6}
66
+ style:grid-column-start={dayOfWeek + 1}
67
+ style:grid-row-start={weekIndex + 1}
68
+ on:click={() => {
69
+ onSelect(date)
70
+ }}
71
+ >
72
+ {#if !$$slots.cell}
73
+ {date.getDate()}
74
+ {:else}
75
+ <slot
76
+ name="cell"
77
+ {date}
78
+ today={areDatesEqual(todayDate, date)}
79
+ selected={areDatesEqual(selectedDate, date)}
80
+ wrongMonth={date.getMonth() !== currentDate.getMonth()}
81
+ />
82
+ {/if}
83
+ </div>
84
+ {/each}
85
+ {/each}
86
+ </div>
87
+ </Scroller>
88
+
89
+ <style lang="scss">
90
+ .days-of-week-header,
91
+ .days-of-month {
92
+ display: grid;
93
+ grid-auto-columns: max-content;
94
+ grid-template-columns: repeat(7, minmax(0, 1fr));
95
+ width: 100%;
96
+ }
97
+ .days-of-week-header {
98
+ justify-content: center;
99
+ align-items: center;
100
+ width: 100%;
101
+ min-width: 0;
102
+ min-height: 2.25rem;
103
+ color: var(--theme-darker-color);
104
+ background-color: var(--theme-comp-header-color);
105
+ border-bottom: 1px solid var(--theme-divider-color);
106
+
107
+ .day-name {
108
+ text-align: center;
109
+ &::first-letter {
110
+ text-transform: uppercase;
111
+ }
112
+ }
113
+ }
114
+ .days-of-month {
115
+ justify-items: stretch;
116
+ align-items: stretch;
117
+ }
118
+ .cell {
119
+ display: flex;
120
+ justify-content: center;
121
+ align-items: center;
122
+ width: 100%;
123
+ min-width: 0;
124
+ border-bottom: 1px solid var(--theme-divider-color);
125
+ cursor: pointer;
126
+
127
+ &.weekend {
128
+ background-color: var(--theme-button-default);
129
+ }
130
+ &.wrongMonth {
131
+ color: var(--theme-trans-color);
132
+ }
133
+
134
+ &.left-border {
135
+ border-left: 1px solid var(--theme-divider-color);
136
+ }
137
+ }
138
+ </style>