@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
@@ -1,21 +0,0 @@
1
-
2
- import type Block from './block'
3
- import type CTABlock from './cta-block'
4
- import type EnhHeadingBlock from './enh-heading-block'
5
-
6
- interface CarteBlancheBlock extends Block {
7
- blockType: 'carte-blanche'
8
- // big-padding
9
- // no-outer-borders
10
- // no-internal-borders
11
- // style-ghost (no-internal-borders, no outer border, no padding)
12
- specifiers?: string
13
- topContent?: Block[]
14
- heading?: EnhHeadingBlock
15
- content?: Block[]
16
- cta?: CTABlock
17
- }
18
-
19
- export {
20
- type CarteBlancheBlock as default
21
- }
@@ -1,19 +0,0 @@
1
- import type { LinkDef, ButtonDef } from '../../types'
2
- import type Block from './block'
3
-
4
- interface CTABlock extends Block {
5
- blockType: 'cta'
6
- // fill: fills the parent width with the elements
7
- // left / right: (>= md) left or right justify the elements (default is center)
8
- // mobile-2-columns: mobile defaults to rendering each element full width,
9
- // on it's own line. This renders them in two columns instead.
10
- // mobile-center-first-if-odd: if (mobile-2-columns) and length is odd,
11
- // default is to center last
12
- // mobile-odd-full-width: fills the full two columns w the centered element
13
- specifiers?: string
14
- elements: (LinkDef | ButtonDef)[]
15
- }
16
-
17
- export {
18
- type CTABlock as default
19
- }
@@ -1,11 +0,0 @@
1
- import React from 'react'
2
- import type Block from './block'
3
-
4
- interface ElementBlock extends Block {
5
- blockType: 'element'
6
- element: React.ReactNode | JSX.Element
7
- }
8
-
9
- export {
10
- type ElementBlock as default
11
- }
@@ -1,45 +0,0 @@
1
- import type Icon from '../../types/icon'
2
- import type Block from './block'
3
-
4
- // level is heading tag level. 1 renders as <h1>, etc... 0 renders as <p>
5
- //
6
- // mb: is bottom margin in tw units. 'mb-1' produces 0.25rem, so a value of 4 would produce 1rem
7
- // These are dynamically generated from a template string. mb-1 --> mb-12 have been safelisted.
8
- // Any higher values used would have to explicitly safelisted in tailwind config.
9
- // The margin will only be applied if the next element down is present.
10
- // (eg, heading mb applies only if there is a byline.)
11
-
12
- interface EnhHeadingBlock extends Block {
13
- blockType: 'enh-heading'
14
- // tbd: icon-w-heading (if preheading is present),
15
- // tbd: icon-w-byline (if preheading and heading is present),
16
- // tbd: icon-above: above first element
17
- // tbd: icon-to-right: to right of corresponding element or right justified if 'icon-above'
18
- // mobile-heading-centered
19
- // left / right / center for preheading and heading (byline stays left)
20
- // byline-left / byline-right / byline-center
21
- // preheading-heading-font
22
- specifiers?: string
23
- // By default, appears inline to left of first element (preheading or heading)
24
- // unless indicated otherwise in specifiers
25
- icon?: Icon | string // ReactNode or url string to asset
26
- iconSize?: number // if url string, this sets the size
27
- preheading?: {
28
- text: string
29
- level?: number // default: 4
30
- mb?: number // default: 2
31
- }
32
- heading: {
33
- text: string
34
- level?: number // default: 1
35
- mb?: number // default: 2
36
- }
37
- byline?: {
38
- text: string
39
- level?: number // default: 6
40
- }
41
- }
42
-
43
- export {
44
- type EnhHeadingBlock as default
45
- }
@@ -1,16 +0,0 @@
1
- import type Block from "./block"
2
- import type GridDef from "../../types/grid-def"
3
-
4
- interface GridBlock {
5
- blockType: 'grid'
6
- specifiers?: string
7
- grid: GridDef
8
- /**
9
- * Ignored if children are supplied to the GridBlockComp
10
- */
11
- cells?: Block[]
12
- }
13
-
14
- export {
15
- type GridBlock as default
16
- }
@@ -1,11 +0,0 @@
1
- import type Block from './block'
2
-
3
- interface GroupBlock extends Block {
4
- blockType: 'group'
5
- specifiers?: string // grid-2 slider disabled or whatever
6
- elements: Block[]
7
- }
8
-
9
- export {
10
- type GroupBlock as default
11
- }
@@ -1,15 +0,0 @@
1
- import type Block from './block'
2
-
3
- interface HeadingBlock extends Block {
4
- blockType: 'heading'
5
- heading: string
6
- byline?: string
7
- level?: number
8
- bylineLevel?: number
9
- spaceBetween?: number
10
- spaceAfter?: number
11
- }
12
-
13
- export {
14
- type HeadingBlock as default
15
- }
@@ -1,31 +0,0 @@
1
- import type { ImageDef } from '../../types'
2
- import type Block from './block'
3
-
4
- /**
5
- * See {@link ImageDef}
6
- * see https://nextjs.org/docs/app/api-reference/components/image
7
- * as well as React.ImgHTMLAttributes.
8
- */
9
- interface ImageBlock extends Block, ImageDef {
10
- blockType: 'image'
11
-
12
- /**
13
- * Alignement: 'left' (default) / 'right' / 'center' (must be in flex-col parent)
14
- * 'mobile-no-scale': By default, scales to 3/4 height (mobile and w < 'md')
15
- * 'mobile-full-width': Overrides dim, etc. and renders full width (maintaining aspect ratio)
16
- */
17
- specifiers?: string
18
- /** @deprecated Please use 'mobile-full-width' in specifiers */
19
- fullWidthOnMobile?: boolean
20
- /** Next props */
21
- props?: {
22
- sizes?: string
23
- /** if true, any alignement specifiers are ignored */
24
- fill?: boolean
25
- style?: any
26
- }
27
- }
28
-
29
- export {
30
- type ImageBlock as default,
31
- }
@@ -1,35 +0,0 @@
1
- import type AccordianBlock from './accordian-block'
2
- import type Block from './block'
3
- import type BulletCardsBlock from './bullet-cards-block'
4
- import type CardBlock from './card-block'
5
- import type CarteBlancheBlock from './carte-blanche-block'
6
- import type CTABlock from './cta-block'
7
- import type ElementBlock from './element-block'
8
- import type GridBlock from './grid-block'
9
- import type GroupBlock from './group-block'
10
- import type EnhHeadingBlock from './enh-heading-block'
11
- import type HeadingBlock from './heading-block'
12
- import type ImageBlock from './image-block'
13
- import type VideoBlock from './video-block'
14
- import type SpaceBlock from './space-block'
15
- import { SPACE_DEFAULTS } from './space-block'
16
- import type ScreenfulBlock from './screenful-block'
17
-
18
- export {
19
- type AccordianBlock,
20
- type Block,
21
- type BulletCardsBlock,
22
- type CardBlock,
23
- type CarteBlancheBlock,
24
- type CTABlock,
25
- type ElementBlock,
26
- type GridBlock,
27
- type GroupBlock,
28
- type HeadingBlock,
29
- type EnhHeadingBlock,
30
- type ImageBlock,
31
- type VideoBlock,
32
- type SpaceBlock,
33
- type ScreenfulBlock,
34
- SPACE_DEFAULTS
35
- }
@@ -1,54 +0,0 @@
1
- import type { ReactNode } from 'react'
2
-
3
- import type Block from './block'
4
- import type VideoBlock from './video-block'
5
-
6
- /**
7
- * A common screenful of content
8
- * An optional banner image or video
9
- * Content can be in columns
10
- */
11
- interface ScreenfulBlock extends Block {
12
- blockType: 'screenful'
13
-
14
-
15
- /**
16
- * Either an image URL, or a Video Block
17
- *
18
- * If VideoBlock, then it's poster will be rendered server-side
19
- * and the <video> component will be lazy-loaded client-side.
20
- *
21
- * If in a scrolling situation, the video will autoplay when 75% in view
22
- */
23
- banner?: string | VideoBlock
24
-
25
- /** Specifies rendering and layout hints and variants for block as a whole */
26
- specifiers?: string
27
-
28
- /** Specifies rendering and layout hints and variants for corresponding column */
29
- columnSpecifiers?: string[]
30
-
31
- /**
32
- * Mobile: The order in the single column mobile layout in which the columns appear.
33
- * Overrides column order.
34
- * eg, if you want the second tile of three at the top: [1, 0, 2]
35
- */
36
- mobileOrder?: number[]
37
-
38
- /**
39
- * Content Blocks for 1-3 columns.
40
- * (More than that is allowed, but impractical at many resolutions!)
41
- * If > 1, it will be enclosed in a 'grid grid-cols-<x>' div.
42
- */
43
- contentColumns: Block[][]
44
-
45
- /** optional footer element below the grid */
46
- footer?: ReactNode
47
-
48
- /** optional id for linking to this slide / screenful */
49
- anchorId?: string
50
- }
51
-
52
- export {
53
- type ScreenfulBlock as default
54
- }
@@ -1,64 +0,0 @@
1
- import type { Breakpoint } from '../../types'
2
-
3
- import type Block from './block'
4
-
5
- type TWSpaceUnit = number // TODO, pull from tw conf
6
- type HeadingLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6
7
-
8
- const SPACE_DEFAULTS = {
9
- xs: 2,
10
- sm: 4,
11
- md: 5,
12
- lg: 6,
13
- xl: 8
14
- } satisfies {
15
- [key in (Breakpoint)]?: TWSpaceUnit
16
- }
17
-
18
-
19
- interface SpaceBlock extends Block {
20
- blockType: 'space'
21
-
22
- /**
23
- * TW units of vertical space, applied at Breakpoints
24
- * or
25
- * if just a number, that number at all Breakpoints
26
- *
27
- * default {
28
- * xs: 2,
29
- * sm: 4,
30
- * md: 5,
31
- * lg: 6,
32
- * xl: 8
33
- * }
34
- *
35
- * Any provided values will be merge w the defaults
36
- * And applied as if they were tw classes in ascending
37
- * order.
38
- *
39
- * impl: <div className='invisible w-[1px] xs:h-<xsval> sm:h-<smval> etc...' />
40
- */
41
- sizes?: {
42
- [key in (Breakpoint)]?: TWSpaceUnit
43
- } | TWSpaceUnit
44
-
45
- /**
46
- * Heading levels. Gives the vertical space that the corresponding
47
- * h tag would give.
48
- * default: 3 (height of <h3>)
49
- * 0 = 1rem (plus any gaps),
50
- * For example, 1 = <h1 style={visibility: hidden}>&nbsp;</h1>
51
- * As <ApplyTypography> would render it, plus any gap.
52
- */
53
- level?: HeadingLevel
54
-
55
- test?: boolean
56
-
57
- }
58
-
59
- export {
60
- type SpaceBlock as default,
61
- type TWSpaceUnit,
62
- type HeadingLevel,
63
- SPACE_DEFAULTS
64
- }
@@ -1,28 +0,0 @@
1
- import type { TShirtDimensions } from '../../types'
2
- import type Block from './block'
3
-
4
- interface VideoBlock extends Block {
5
- blockType: 'video'
6
- videoProps?: any // For example,
7
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8
- videoProps: {
9
- autoPlay: true,
10
- loop: true,
11
- muted: true,
12
- playsInline: true
13
- },
14
-
15
- Valueless props are boolean.
16
- NOTE: Must be camalCase as per React conventions! (playsinline => playsInline)
17
- ~~~~~~~~~~~~~~~~~~~~~~~~ */
18
-
19
- poster?: string
20
- sources?: string[]
21
- dim: TShirtDimensions
22
- // These are suppored so far: { vh: 60, mobile: {vw: 70} }
23
- sizing?: any
24
- }
25
-
26
- export {
27
- type VideoBlock as default,
28
- }
package/blocks/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './def'
2
- export * from './components'
@@ -1,75 +0,0 @@
1
- 'use client'
2
- import React from 'react'
3
-
4
- import { X } from 'lucide-react'
5
-
6
- import LuxLogo from './icons/lux-logo'
7
- import { Button, Card } from '../primitives'
8
-
9
- const ChatWidget: React.FC<{
10
- title: string,
11
- chatbotUrl: string,
12
- subtitle?: string,
13
- question?: string,
14
- /*
15
- Currently supports these icons from remix icons (https://remixicon.com/):
16
- GlobalLineIcon,
17
- ShieldFlashLineIcon,
18
- BankCardLineIcon,
19
- GroupLineIcon,
20
- QuestionnaireLineIcon
21
- */
22
- suggestedQuestions?: { heading: string, message: string, icon?: string }[]
23
- }> = ({
24
- title,
25
- chatbotUrl,
26
- subtitle,
27
- question,
28
- suggestedQuestions
29
- }) => {
30
-
31
- const [showChatbot, setShowChatbot] = React.useState<boolean>(false)
32
-
33
- const onClick = () => { setShowChatbot(!showChatbot) }
34
-
35
- const searchParams = new URLSearchParams()
36
- if (question) {
37
- searchParams.append('question', question)
38
- }
39
- if (suggestedQuestions) {
40
- searchParams.append('sQuestions', suggestedQuestions.map(({ message }) => message).join(','))
41
- searchParams.append('sHeadings', suggestedQuestions.map(({ heading }) => heading).join(','))
42
- searchParams.append('sIcons', suggestedQuestions.map(({ icon }) => icon).join(','))
43
- }
44
-
45
- const iframeSrc = `${chatbotUrl}?${searchParams.toString()}`
46
-
47
- return (<>
48
- <div className={
49
- 'fixed bottom-0 sm:bottom-20 right-0 w-full h-full ' +
50
- 'sm:max-w-[400px] sm:max-h-[550px] sm:px-4 z-[1002] ' +
51
- (showChatbot ? 'flex' : 'hidden')
52
- }>
53
- <Card className='flex flex-col h-full w-full'>
54
- <div className='flex px-4 py-2 h-12 bg-level-0 items-center justify-between'>
55
- <h3 className='font-semibold font-heading'>{title} <span className='opacity-60'>{subtitle}</span></h3>
56
- <Button onClick={onClick} variant='link' size='icon' className='w-fit sm:hidden'>
57
- <X />
58
- </Button>
59
- </div>
60
- <iframe src={iframeSrc} className='h-full' />
61
- </Card>
62
- </div>
63
-
64
- <Button
65
- variant='outline'
66
- size='link'
67
- onClick={onClick}
68
- className='fixed bottom-4 right-0 h-12 w-12 mx-4 rounded-full z-[1001]'
69
- >
70
- {showChatbot ? <X /> : <LuxLogo width={24} height={24} className='mt-2' />}
71
- </Button>
72
- </>)
73
- }
74
-
75
- export default ChatWidget
@@ -1,111 +0,0 @@
1
- 'use client'
2
-
3
- import React, { useTransition } from 'react'
4
-
5
- import { zodResolver } from '@hookform/resolvers/zod'
6
- import { useForm, type SubmitHandler, type ControllerRenderProps } from 'react-hook-form'
7
- import * as z from 'zod'
8
- // @ts-ignore
9
- import validator from 'validator'
10
-
11
- import { Loader2 } from 'lucide-react'
12
-
13
- import {
14
- Button,
15
- Input,
16
- Form,
17
- FormControl,
18
- FormField,
19
- FormItem,
20
- FormMessage,
21
- } from '../../primitives'
22
-
23
- import type { ContactInfo, SubmitServerAction } from '../../types'
24
-
25
- const ValidationSchema = z.object({
26
- email: z
27
- .string()
28
- .min(1, { message: "Email must be provided." })
29
- .email("Invalid email."),
30
- phone: z
31
- .string()
32
- .min(1, { message: "Telephone must be provided." })
33
- .refine(validator.isMobilePhone, { message: "Invalid format." })
34
- })
35
-
36
- const ContactForm: React.FC<{
37
- onSubmit: SubmitServerAction
38
- enclosure: any
39
- }> = ({
40
- onSubmit,
41
- enclosure
42
- }) => {
43
-
44
- const form = useForm<ContactInfo>({
45
- // @ts-ignore (pnpm linking / tsc bug )
46
- resolver: zodResolver(ValidationSchema),
47
- defaultValues: {
48
- email: '',
49
- phone: '',
50
- },
51
- })
52
-
53
- const [isPending, startTransition] = useTransition()
54
-
55
- const onFormSubmit: SubmitHandler<ContactInfo> = (data) => {
56
- // https://github.com/orgs/react-hook-form/discussions/10757#discussioncomment-6672403
57
- // @ts-ignore
58
- startTransition(async () => {
59
- await onSubmit(data, enclosure)
60
- })
61
- }
62
-
63
- const MyFormItem: React.FC<{
64
- field: ControllerRenderProps<ContactInfo, 'email'> | ControllerRenderProps<ContactInfo, 'phone'>
65
- placeholder: string
66
- }> = ({
67
- field,
68
- placeholder
69
- }) => (
70
- <FormItem className="space-y-0" >
71
- <FormControl>
72
- <Input placeholder={placeholder} {...field} className="mt-0 text-foreground"/>
73
- </FormControl>
74
- <div className="flex flex-row justify-start items-stretch gap-2">
75
- <FormMessage />
76
- </div>
77
- </FormItem>
78
- )
79
-
80
- return (
81
- <Form {...form}>
82
- <form onSubmit={form.handleSubmit(onFormSubmit)} className="w-3/4">
83
- <div className='flex flex-col justify-start items-stretch mt-4'>
84
- <FormField
85
- control={form.control}
86
- name='email'
87
- // @ts-ignore
88
- render={({ field }) => ( <MyFormItem field={field} placeholder='email'/> )}
89
- />
90
- <FormField
91
- control={form.control}
92
- name='phone'
93
- // @ts-ignore
94
- render={({ field }) => ( <MyFormItem field={field} placeholder='phone'/> )}
95
- />
96
- <Button disabled={isPending} type='submit' className='bg-primary text-primary-fg hover:bg-primary-hover'>
97
- {isPending ? (<>
98
- <Loader2 className="mr-2 h-4 w-4 animate-spin" />
99
- Please wait
100
- </>
101
- ) : (
102
- <>Submit</>
103
- )}
104
- </Button>
105
- </div>
106
- </form>
107
- </Form>
108
- )
109
- }
110
-
111
- export default ContactForm
@@ -1,13 +0,0 @@
1
- import React from 'react'
2
-
3
- const Disclaimer: React.FC = () => (
4
- <div>
5
- By entering your mobile number and submitting, you consent to receive text messages from Lux at the number provided.
6
- Message and data rates may apply. Message frequency varies.
7
- You can unsubscribe at any time by replying STOP.
8
- View our <a href='/privacy'>Privacy Policy</a> and <a href='/terms'>Terms & conditions</a>.
9
- </div>
10
- )
11
-
12
- export default Disclaimer
13
-
@@ -1,48 +0,0 @@
1
- 'use client'
2
- import React from 'react'
3
-
4
- import type { ButtonModalProps} from '../../types'
5
-
6
- import {
7
- Button,
8
- Dialog,
9
- DialogContent,
10
- DialogDescription,
11
- DialogHeader,
12
- DialogTitle,
13
- DialogTrigger,
14
- } from '../../primitives'
15
-
16
- import ContactForm from './contact-form'
17
- import Disclaimer from './disclaimer'
18
-
19
- const ContactDialog: React.FC<ButtonModalProps> = ({
20
- open,
21
- onOpenChange,
22
- buttonText,
23
- buttonProps,
24
- title,
25
- byline,
26
- action,
27
- actionEnclosure
28
- }) => (
29
- <Dialog open={open} onOpenChange={onOpenChange} >
30
- <DialogTrigger asChild>
31
- <Button {...buttonProps} >{buttonText}</Button>
32
- </DialogTrigger>
33
- <DialogContent className="sm:max-w-[500px] p-0 gap-0 bg-background border">
34
- <DialogHeader className='py-6 text-foreground'>
35
- <DialogTitle className='text-4xl font-heading text-center text-inherit'>{title}</DialogTitle>
36
- {byline && (<DialogDescription className='text-inherit text-xl text-center'>{byline} </DialogDescription>)}
37
- </DialogHeader>
38
- <div className='p-8 rounded-e-lg flex flex-col justify-start items-center'>
39
- <ContactForm onSubmit={action} enclosure={actionEnclosure}/>
40
- <div className='text-muted-1 text-xs mt-4' >
41
- <Disclaimer />
42
- </div>
43
- </div>
44
- </DialogContent>
45
- </Dialog>
46
- )
47
-
48
- export default ContactDialog
@@ -1,21 +0,0 @@
1
- import React from 'react'
2
-
3
- const FIRST = 2020
4
-
5
- const Copyright: React.FC<{
6
- className?: string
7
- }> = ({
8
- className=''
9
- }) => {
10
-
11
- const year = new Date().getFullYear()
12
- const yearString = (year > FIRST) ? `${FIRST} - ${year}` : FIRST.toString()
13
-
14
- return (
15
- <div className={className}>
16
- {`Copyright © ${yearString}`}&nbsp;<br className='sm:hidden'/>Lux Partners Ltd.&nbsp;<br className='md:hidden'/>&nbsp;All rights reserved.
17
- </div>
18
- )
19
- }
20
-
21
- export default Copyright