@hanzo/ui 0.5.24 → 0.6.16
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.
- package/.eslintrc.js +4 -0
- package/.prettierrc +22 -0
- package/.rush/temp/chunked-rush-logs/ui._phase_build.chunks.jsonl +2 -0
- package/.rush/temp/chunked-rush-logs/ui._phase_validate.chunks.jsonl +11 -0
- package/.rush/temp/hcengineering+ui-_phase_build-16380278e5d28b32a6666092bd103ddbd2c66a56.tar.log +12 -0
- package/.rush/temp/hcengineering+ui-_phase_build-16380278e5d28b32a6666092bd103ddbd2c66a56.untar.log +10 -0
- package/.rush/temp/hcengineering+ui-_phase_validate-8f047ca66e6a4a177eee65782e723a7dc128d73e.tar.log +65 -0
- package/.rush/temp/hcengineering+ui-_phase_validate-8f047ca66e6a4a177eee65782e723a7dc128d73e.untar.log +10 -0
- package/.rush/temp/operation/_phase_build/all.log +2 -0
- package/.rush/temp/operation/_phase_build/log-chunks.jsonl +2 -0
- package/.rush/temp/operation/_phase_build/state.json +3 -0
- package/.rush/temp/operation/_phase_validate/all.log +11 -0
- package/.rush/temp/operation/_phase_validate/log-chunks.jsonl +11 -0
- package/.rush/temp/operation/_phase_validate/state.json +3 -0
- package/.rush/temp/shrinkwrap-deps.json +585 -0
- package/.validate/tsBuildInfoFile.info +1 -0
- package/.validate/validate-err.log +0 -0
- package/.validate/validate.log +0 -0
- package/CHANGELOG.json +17 -0
- package/CHANGELOG.md +9 -0
- package/config/rig.json +5 -0
- package/jest.config.js +5 -0
- package/lang/cs.json +119 -0
- package/lang/de.json +119 -0
- package/lang/en.json +120 -0
- package/lang/es.json +120 -0
- package/lang/fr.json +120 -0
- package/lang/it.json +120 -0
- package/lang/pt.json +120 -0
- package/lang/ru.json +120 -0
- package/lang/zh.json +120 -0
- package/package.json +52 -100
- package/postcss.config.js +5 -0
- package/rush-logs/ui._phase_build.cache.log +4 -0
- package/rush-logs/ui._phase_build.log +2 -0
- package/rush-logs/ui._phase_validate.cache.log +4 -0
- package/rush-logs/ui._phase_validate.log +11 -0
- package/src/__test__/location.test.ts +12 -0
- package/src/colors.ts +552 -0
- package/src/components/AccordionItem.svelte +132 -0
- package/src/components/ActionIcon.svelte +88 -0
- package/src/components/BarDashboard.svelte +47 -0
- package/src/components/BooleanIcon.svelte +31 -0
- package/src/components/Breadcrumb.svelte +102 -0
- package/src/components/Breadcrumbs.svelte +73 -0
- package/src/components/Button.svelte +196 -0
- package/src/components/ButtonBase.svelte +117 -0
- package/src/components/ButtonGroup.svelte +48 -0
- package/src/components/ButtonIcon.svelte +63 -0
- package/src/components/ButtonMenu.svelte +103 -0
- package/src/components/ButtonWithDropdown.svelte +120 -0
- package/src/components/CheckBox.svelte +239 -0
- package/src/components/CheckBoxList.svelte.txt +88 -0
- package/src/components/CheckBoxWithLabel.svelte.txt +147 -0
- package/src/components/Chevron.svelte +85 -0
- package/src/components/Chip.svelte +109 -0
- package/src/components/CircleButton.svelte +165 -0
- package/src/components/CodeForm.svelte +164 -0
- package/src/components/CodeInput.svelte +86 -0
- package/src/components/ColorPopup.svelte +119 -0
- package/src/components/Component.svelte +152 -0
- package/src/components/Dialog.svelte +105 -0
- package/src/components/Dock.svelte +53 -0
- package/src/components/Dropdown.svelte +91 -0
- package/src/components/DropdownLabels.svelte +156 -0
- package/src/components/DropdownLabelsIntl.svelte +108 -0
- package/src/components/DropdownLabelsPopup.svelte +148 -0
- package/src/components/DropdownLabelsPopupIntl.svelte +72 -0
- package/src/components/DropdownPopup.svelte +146 -0
- package/src/components/DropdownRecord.svelte +50 -0
- package/src/components/DropdownRecordPopup.svelte +82 -0
- package/src/components/EditBox.svelte +211 -0
- package/src/components/EditWithIcon.svelte +130 -0
- package/src/components/EmbeddedPDF.svelte +88 -0
- package/src/components/ErrorPopup.svelte +27 -0
- package/src/components/ErrorPresenter.svelte +32 -0
- package/src/components/ExpandCollapse.svelte +42 -0
- package/src/components/Expandable.svelte +90 -0
- package/src/components/FocusHandler.svelte +21 -0
- package/src/components/Fold.svelte +52 -0
- package/src/components/Grid.svelte +39 -0
- package/src/components/Header.svelte +260 -0
- package/src/components/HlsVideo.svelte +170 -0
- package/src/components/Hotkey.svelte +50 -0
- package/src/components/HotkeyGroup.svelte +25 -0
- package/src/components/Html.svelte +24 -0
- package/src/components/Icon.svelte +45 -0
- package/src/components/IconWithEmoji.svelte +74 -0
- package/src/components/Image.svelte +71 -0
- package/src/components/Label.svelte +38 -0
- package/src/components/Lazy.svelte +29 -0
- package/src/components/Like.svelte +73 -0
- package/src/components/Link.svelte +75 -0
- package/src/components/LinkWrapper.svelte +35 -0
- package/src/components/ListView.svelte +153 -0
- package/src/components/ListViewItem.svelte +84 -0
- package/src/components/Loading.svelte +88 -0
- package/src/components/Menu.svelte +205 -0
- package/src/components/MiniToggle.svelte +125 -0
- package/src/components/Modal.svelte +117 -0
- package/src/components/ModeSelector.svelte +37 -0
- package/src/components/ModernButton.svelte +61 -0
- package/src/components/ModernCheckbox.svelte +123 -0
- package/src/components/ModernDialog.svelte +258 -0
- package/src/components/ModernEditbox.svelte +256 -0
- package/src/components/ModernPopup.svelte +105 -0
- package/src/components/ModernRadioButton.svelte +111 -0
- package/src/components/ModernTab.svelte +184 -0
- package/src/components/ModernToggle.svelte +153 -0
- package/src/components/MouseSpeedTracker.svelte +74 -0
- package/src/components/MultiProgress.svelte +97 -0
- package/src/components/NavGroup.svelte +160 -0
- package/src/components/NavItem.svelte +346 -0
- package/src/components/NestedDropdown.svelte +62 -0
- package/src/components/NestedMenu.svelte +119 -0
- package/src/components/NotificationToast.svelte +112 -0
- package/src/components/NumberInput.svelte +200 -0
- package/src/components/Panel.svelte +324 -0
- package/src/components/PanelInstance.svelte +254 -0
- package/src/components/PlainTextEditor.svelte +100 -0
- package/src/components/Popup.svelte +50 -0
- package/src/components/PopupInstance.svelte +390 -0
- package/src/components/PopupMenu.svelte +120 -0
- package/src/components/Progress.svelte +124 -0
- package/src/components/ProgressCircle.svelte +71 -0
- package/src/components/RadioButton.svelte +69 -0
- package/src/components/RadioGroup.svelte +42 -0
- package/src/components/RootStatusComponent.svelte +65 -0
- package/src/components/Row.svelte +25 -0
- package/src/components/ScrollBox.svelte +98 -0
- package/src/components/Scroller.svelte +1063 -0
- package/src/components/ScrollerBar.svelte +181 -0
- package/src/components/SearchEdit.svelte +46 -0
- package/src/components/SearchInput.svelte +213 -0
- package/src/components/SearchPicker.svelte +114 -0
- package/src/components/Section.svelte +49 -0
- package/src/components/SectionEmpty.svelte +38 -0
- package/src/components/SelectBox.svelte +76 -0
- package/src/components/SelectPopup.svelte +217 -0
- package/src/components/Separator.svelte +736 -0
- package/src/components/ShowMore.svelte +99 -0
- package/src/components/Spinner.svelte +72 -0
- package/src/components/SplitButton.svelte +100 -0
- package/src/components/StateTag.svelte +79 -0
- package/src/components/Status.svelte +33 -0
- package/src/components/StepsDialog.svelte +290 -0
- package/src/components/StylishEdit.svelte +127 -0
- package/src/components/Submenu.svelte +68 -0
- package/src/components/Switcher.svelte +55 -0
- package/src/components/SwitcherBase.svelte +116 -0
- package/src/components/TabList.svelte +290 -0
- package/src/components/Tabs.svelte +45 -0
- package/src/components/TabsControl.svelte +113 -0
- package/src/components/TextArea.svelte +110 -0
- package/src/components/TextAreaEditor.svelte +78 -0
- package/src/components/TimeLeft.svelte +66 -0
- package/src/components/TimeShiftPicker.svelte +84 -0
- package/src/components/TimeShiftPopup.svelte +64 -0
- package/src/components/TimeShiftPresenter.svelte +59 -0
- package/src/components/TimeSince.svelte +86 -0
- package/src/components/TimeZonesPopup.svelte +185 -0
- package/src/components/Timeline.svelte +754 -0
- package/src/components/Toggle.svelte +116 -0
- package/src/components/ToggleButton.svelte +176 -0
- package/src/components/ToggleWithLabel.svelte +58 -0
- package/src/components/TooltipInstance.svelte +613 -0
- package/src/components/Video.svelte +40 -0
- package/src/components/calendar/DateInputBox.svelte +430 -0
- package/src/components/calendar/DatePicker.svelte +46 -0
- package/src/components/calendar/DatePopup.svelte +274 -0
- package/src/components/calendar/DatePresenter.svelte +392 -0
- package/src/components/calendar/DateRangePicker.svelte +50 -0
- package/src/components/calendar/DateRangePopup.svelte +76 -0
- package/src/components/calendar/DateRangePresenter.svelte +779 -0
- package/src/components/calendar/DateTimePresenter.svelte +23 -0
- package/src/components/calendar/DateTimeRangePresenter.svelte +28 -0
- package/src/components/calendar/DueDatePopup.svelte +93 -0
- package/src/components/calendar/DueDatePresenter.svelte +83 -0
- package/src/components/calendar/Month.svelte +243 -0
- package/src/components/calendar/MonthCalendar.svelte +138 -0
- package/src/components/calendar/MonthSquare.svelte +315 -0
- package/src/components/calendar/RangeDatePopup.svelte +231 -0
- package/src/components/calendar/Shifts.svelte +114 -0
- package/src/components/calendar/SimpleDatePopup.svelte +42 -0
- package/src/components/calendar/SimpleTimePopup.svelte +41 -0
- package/src/components/calendar/TimeInputBox.svelte +282 -0
- package/src/components/calendar/TimePopup.svelte +62 -0
- package/src/components/calendar/WeekCalendar.svelte +116 -0
- package/src/components/calendar/YearCalendar.svelte +67 -0
- package/src/components/calendar/icons/DPCalendar.svelte +12 -0
- package/src/components/calendar/icons/DPCalendarOver.svelte +15 -0
- package/src/components/calendar/icons/DPClock.svelte +13 -0
- package/src/components/calendar/icons/DPClockBold.svelte +10 -0
- package/src/components/calendar/icons/DPEnd.svelte +13 -0
- package/src/components/calendar/icons/DPSetCalendar.svelte +10 -0
- package/src/components/calendar/icons/DPStart.svelte +13 -0
- package/src/components/calendar/internal/DateUtils.ts +186 -0
- package/src/components/emoji/ActionsPopup.svelte +116 -0
- package/src/components/emoji/EmojiButton.svelte +146 -0
- package/src/components/emoji/EmojiGroup.svelte +105 -0
- package/src/components/emoji/EmojiGroupPalette.svelte +58 -0
- package/src/components/emoji/EmojiPopup.svelte +430 -0
- package/src/components/emoji/SkinTonePopup.svelte +40 -0
- package/src/components/emoji/SkinToneTooltip.svelte +36 -0
- package/src/components/emoji/icons/Activities.svelte +20 -0
- package/src/components/emoji/icons/AnimalsAndNature.svelte +16 -0
- package/src/components/emoji/icons/Flags.svelte +14 -0
- package/src/components/emoji/icons/FoodAndDrink.svelte +20 -0
- package/src/components/emoji/icons/FrequentlyUsed.svelte +17 -0
- package/src/components/emoji/icons/GettingWorkDone.svelte +14 -0
- package/src/components/emoji/icons/Objects.svelte +15 -0
- package/src/components/emoji/icons/Search.svelte +14 -0
- package/src/components/emoji/icons/SmileysAndPeople.svelte +23 -0
- package/src/components/emoji/icons/Symbols.svelte +23 -0
- package/src/components/emoji/icons/TravelAndPlaces.svelte +17 -0
- package/src/components/emoji/index.ts +97 -0
- package/src/components/emoji/store.ts +44 -0
- package/src/components/emoji/types.ts +34 -0
- package/src/components/emoji/utils.ts +182 -0
- package/src/components/icons/Activity.svelte +16 -0
- package/src/components/icons/ActivityEdit.svelte +25 -0
- package/src/components/icons/Add.svelte +10 -0
- package/src/components/icons/ArrowLeft.svelte +25 -0
- package/src/components/icons/ArrowRight.svelte +25 -0
- package/src/components/icons/Attachment.svelte +29 -0
- package/src/components/icons/Back.svelte +32 -0
- package/src/components/icons/BlueCheck.svelte +11 -0
- package/src/components/icons/Calendar.svelte +10 -0
- package/src/components/icons/Check.svelte +12 -0
- package/src/components/icons/CheckAll.svelte +27 -0
- package/src/components/icons/CheckCircle.svelte +12 -0
- package/src/components/icons/Checkmark.svelte +26 -0
- package/src/components/icons/ChevronDown.svelte +27 -0
- package/src/components/icons/ChevronLeft.svelte +22 -0
- package/src/components/icons/ChevronRight.svelte +22 -0
- package/src/components/icons/CircleAdd.svelte +13 -0
- package/src/components/icons/Circles.svelte +43 -0
- package/src/components/icons/Close.svelte +10 -0
- package/src/components/icons/ColStar.svelte +31 -0
- package/src/components/icons/CollapseArrow.svelte +8 -0
- package/src/components/icons/Copy.svelte +10 -0
- package/src/components/icons/Delete.svelte +18 -0
- package/src/components/icons/Description.svelte +31 -0
- package/src/components/icons/Details.svelte +36 -0
- package/src/components/icons/DetailsFilled.svelte +27 -0
- package/src/components/icons/Down.svelte +8 -0
- package/src/components/icons/DownOutline.svelte +8 -0
- package/src/components/icons/Dropdown.svelte +8 -0
- package/src/components/icons/DropdownDown.svelte +24 -0
- package/src/components/icons/DropdownRight.svelte +24 -0
- package/src/components/icons/Edit.svelte +26 -0
- package/src/components/icons/Emoji.svelte +10 -0
- package/src/components/icons/Error.svelte +27 -0
- package/src/components/icons/Expand.svelte +10 -0
- package/src/components/icons/File.svelte +25 -0
- package/src/components/icons/Filter.svelte +26 -0
- package/src/components/icons/Folder.svelte +13 -0
- package/src/components/icons/FolderCollapsed.svelte +34 -0
- package/src/components/icons/FolderExpanded.svelte +34 -0
- package/src/components/icons/Forward.svelte +8 -0
- package/src/components/icons/HalfUpDown.svelte +7 -0
- package/src/components/icons/History.svelte +10 -0
- package/src/components/icons/Info.svelte +26 -0
- package/src/components/icons/KeyCommand.svelte +12 -0
- package/src/components/icons/KeyOption.svelte +8 -0
- package/src/components/icons/KeyShift.svelte +8 -0
- package/src/components/icons/Left.svelte +10 -0
- package/src/components/icons/Like.svelte +25 -0
- package/src/components/icons/Link.svelte +10 -0
- package/src/components/icons/MaxWidth.svelte +27 -0
- package/src/components/icons/Maximize.svelte +25 -0
- package/src/components/icons/MenuClose.svelte +28 -0
- package/src/components/icons/MenuOpen.svelte +26 -0
- package/src/components/icons/MinWidth.svelte +27 -0
- package/src/components/icons/Minimize.svelte +28 -0
- package/src/components/icons/Mixin.svelte +38 -0
- package/src/components/icons/MoreH.svelte +16 -0
- package/src/components/icons/MoreV.svelte +16 -0
- package/src/components/icons/MoreV2.svelte +29 -0
- package/src/components/icons/NavNext.svelte +10 -0
- package/src/components/icons/NavPrev.svelte +10 -0
- package/src/components/icons/Open.svelte +11 -0
- package/src/components/icons/OpenedArrow.svelte +26 -0
- package/src/components/icons/Options.svelte +12 -0
- package/src/components/icons/Redo.svelte +10 -0
- package/src/components/icons/Right.svelte +26 -0
- package/src/components/icons/Scale.svelte +13 -0
- package/src/components/icons/ScaleFull.svelte +13 -0
- package/src/components/icons/Scribble.svelte +10 -0
- package/src/components/icons/Search.svelte +12 -0
- package/src/components/icons/Send.svelte +10 -0
- package/src/components/icons/Settings.svelte +13 -0
- package/src/components/icons/Share.svelte +13 -0
- package/src/components/icons/SquareExpand.svelte +13 -0
- package/src/components/icons/Start.svelte +10 -0
- package/src/components/icons/Stop.svelte +8 -0
- package/src/components/icons/TableOfContents.svelte +35 -0
- package/src/components/icons/Thread.svelte +29 -0
- package/src/components/icons/ToDetails.svelte +28 -0
- package/src/components/icons/Undo.svelte +10 -0
- package/src/components/icons/Up.svelte +8 -0
- package/src/components/icons/UpOutline.svelte +8 -0
- package/src/components/internal/Clock.svelte +42 -0
- package/src/components/internal/ClockFace.svelte +148 -0
- package/src/components/internal/ClockPopup.svelte +91 -0
- package/src/components/internal/ErrorBoundary.ts +33 -0
- package/src/components/internal/ErrorComponent.svelte +37 -0
- package/src/components/internal/Root.svelte +323 -0
- package/src/components/internal/RootBarExtension.svelte +32 -0
- package/src/components/internal/Settings.svelte +39 -0
- package/src/components/internal/SettingsPopup.svelte +196 -0
- package/src/components/internal/ThemeButton.svelte +151 -0
- package/src/components/internal/icons/CheckCircled.svelte +11 -0
- package/src/components/internal/icons/Computer.svelte +15 -0
- package/src/components/internal/icons/FontSize.svelte +13 -0
- package/src/components/internal/icons/Language.svelte +17 -0
- package/src/components/internal/icons/Phone.svelte +18 -0
- package/src/components/internal/icons/Search.svelte +12 -0
- package/src/components/internal/icons/Settings.svelte +13 -0
- package/src/components/internal/icons/Theme.svelte +9 -0
- package/src/components/internal/icons/WiFi.svelte +21 -0
- package/src/components/notifications/Notification.svelte +34 -0
- package/src/components/notifications/Notification.ts +16 -0
- package/src/components/notifications/NotificationPosition.ts +6 -0
- package/src/components/notifications/NotificationSeverity.ts +6 -0
- package/src/components/notifications/Notifications.svelte +53 -0
- package/src/components/notifications/actions.ts +42 -0
- package/src/components/notifications/store.ts +16 -0
- package/src/components/wizard/ModernWizardBar.svelte +105 -0
- package/src/components/wizard/ModernWizardDialog.svelte +144 -0
- package/src/components/wizard/Wizard.svelte +59 -0
- package/src/components/wizard/WizardStep.svelte +144 -0
- package/src/focus.ts +139 -0
- package/src/index.ts +338 -0
- package/src/lazy.ts +93 -0
- package/src/location.ts +259 -0
- package/src/modals.ts +5 -0
- package/src/panelup.ts +70 -0
- package/src/plugin.ts +156 -0
- package/src/popups.ts +486 -0
- package/src/resize.ts +179 -0
- package/src/svg.d.ts +4 -0
- package/src/tooltips.ts +152 -0
- package/src/types.ts +545 -0
- package/src/utils.ts +420 -0
- package/svelte.config.js +5 -0
- package/tsconfig.json +9 -0
- package/types/__test__/location.test.d.ts +2 -0
- package/types/__test__/location.test.d.ts.map +1 -0
- package/types/colors.d.ts +163 -0
- package/types/colors.d.ts.map +1 -0
- package/types/components/calendar/internal/DateUtils.d.ts +34 -0
- package/types/components/calendar/internal/DateUtils.d.ts.map +1 -0
- package/types/components/emoji/index.d.ts +11 -0
- package/types/components/emoji/index.d.ts.map +1 -0
- package/types/components/emoji/store.d.ts +12 -0
- package/types/components/emoji/store.d.ts.map +1 -0
- package/types/components/emoji/types.d.ts +20 -0
- package/types/components/emoji/types.d.ts.map +1 -0
- package/types/components/emoji/utils.d.ts +17 -0
- package/types/components/emoji/utils.d.ts.map +1 -0
- package/types/components/internal/ErrorBoundary.d.ts +5 -0
- package/types/components/internal/ErrorBoundary.d.ts.map +1 -0
- package/types/components/notifications/Notification.d.ts +16 -0
- package/types/components/notifications/Notification.d.ts.map +1 -0
- package/types/components/notifications/NotificationPosition.d.ts +7 -0
- package/types/components/notifications/NotificationPosition.d.ts.map +1 -0
- package/types/components/notifications/NotificationSeverity.d.ts +7 -0
- package/types/components/notifications/NotificationSeverity.d.ts.map +1 -0
- package/types/components/notifications/actions.d.ts +6 -0
- package/types/components/notifications/actions.d.ts.map +1 -0
- package/types/components/notifications/store.d.ts +9 -0
- package/types/components/notifications/store.d.ts.map +1 -0
- package/types/focus.d.ts +32 -0
- package/types/focus.d.ts.map +1 -0
- package/types/index.d.ts +254 -0
- package/types/index.d.ts.map +1 -0
- package/types/lazy.d.ts +6 -0
- package/types/lazy.d.ts.map +1 -0
- package/types/location.d.ts +38 -0
- package/types/location.d.ts.map +1 -0
- package/types/modals.d.ts +5 -0
- package/types/modals.d.ts.map +1 -0
- package/types/panelup.d.ts +17 -0
- package/types/panelup.d.ts.map +1 -0
- package/types/plugin.d.ts +135 -0
- package/types/plugin.d.ts.map +1 -0
- package/types/popups.d.ts +65 -0
- package/types/popups.d.ts.map +1 -0
- package/types/resize.d.ts +32 -0
- package/types/resize.d.ts.map +1 -0
- package/types/tooltips.d.ts +8 -0
- package/types/tooltips.d.ts.map +1 -0
- package/types/types.d.ts +373 -0
- package/types/types.d.ts.map +1 -0
- package/types/utils.d.ts +125 -0
- package/types/utils.d.ts.map +1 -0
- package/assets/lux-site-icons/android-chrome-192x192.png +0 -0
- package/assets/lux-site-icons/android-chrome-512x512.png +0 -0
- package/assets/lux-site-icons/apple-touch-icon.png +0 -0
- package/assets/lux-site-icons/favicon-16x16.png +0 -0
- package/assets/lux-site-icons/favicon-32x32.png +0 -0
- package/assets/lux-site-icons/favicon.ico +0 -0
- package/assets/standard-docs/LUX-NFT-Terms-and-Conditions.pdf +0 -0
- package/assets/standard-docs/LUX-Privacy-Policy.pdf +0 -0
- package/blocks/components/accordian-block.tsx +0 -48
- package/blocks/components/block-component-props.ts +0 -11
- package/blocks/components/bullet-cards-block.tsx +0 -45
- package/blocks/components/card-block.tsx +0 -213
- package/blocks/components/carte-blanche-block/index.tsx +0 -127
- package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
- package/blocks/components/content.tsx +0 -70
- package/blocks/components/cta-block.tsx +0 -98
- package/blocks/components/enh-heading-block.tsx +0 -205
- package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
- package/blocks/components/grid-block/index.tsx +0 -83
- package/blocks/components/grid-block/mutator-registry.ts +0 -10
- package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
- package/blocks/components/group-block.tsx +0 -83
- package/blocks/components/heading-block.tsx +0 -88
- package/blocks/components/image-block.tsx +0 -108
- package/blocks/components/index.ts +0 -30
- package/blocks/components/screenful-block/content.tsx +0 -120
- package/blocks/components/screenful-block/index.tsx +0 -79
- package/blocks/components/screenful-block/poster-background.tsx +0 -34
- package/blocks/components/screenful-block/video-background.tsx +0 -45
- package/blocks/components/space-block.tsx +0 -66
- package/blocks/components/video-block.tsx +0 -137
- package/blocks/def/accordian-block.ts +0 -14
- package/blocks/def/block.ts +0 -7
- package/blocks/def/bullet-cards-block.ts +0 -21
- package/blocks/def/card-block.ts +0 -24
- package/blocks/def/carte-blanche-block.ts +0 -21
- package/blocks/def/cta-block.ts +0 -19
- package/blocks/def/element-block.ts +0 -11
- package/blocks/def/enh-heading-block.ts +0 -45
- package/blocks/def/grid-block.ts +0 -16
- package/blocks/def/group-block.ts +0 -11
- package/blocks/def/heading-block.ts +0 -15
- package/blocks/def/image-block.ts +0 -31
- package/blocks/def/index.ts +0 -35
- package/blocks/def/screenful-block.ts +0 -54
- package/blocks/def/space-block.ts +0 -64
- package/blocks/def/video-block.ts +0 -28
- package/blocks/index.ts +0 -2
- package/common/chat-widget.tsx +0 -75
- package/common/contact-dialog/contact-form.tsx +0 -111
- package/common/contact-dialog/disclaimer.tsx +0 -13
- package/common/contact-dialog/index.tsx +0 -48
- package/common/copyright.tsx +0 -21
- package/common/drawer-menu.tsx +0 -51
- package/common/footer.tsx +0 -77
- package/common/head-metadata/from-next/metadata-types.ts +0 -158
- package/common/head-metadata/from-next/opengraph-types.ts +0 -267
- package/common/head-metadata/from-next/twitter-types.ts +0 -92
- package/common/head-metadata/index.tsx +0 -208
- package/common/header/index.tsx +0 -57
- package/common/header/mobile-nav.tsx +0 -72
- package/common/header/theme-toggle.tsx +0 -26
- package/common/icons/github.tsx +0 -14
- package/common/icons/index.tsx +0 -34
- package/common/icons/lux-logo.tsx +0 -10
- package/common/icons/secure-delivery.tsx +0 -13
- package/common/icons/social-icon.tsx +0 -35
- package/common/icons/youtube-logo.tsx +0 -59
- package/common/index.ts +0 -14
- package/common/logo.tsx +0 -71
- package/common/mini-chart/index.tsx +0 -8
- package/common/mini-chart/mini-chart-props.ts +0 -44
- package/common/mini-chart/mini-chart.tsx +0 -76
- package/common/mini-chart/wrapper.tsx +0 -23
- package/context-providers/index.ts +0 -1
- package/context-providers/theme-provider.tsx +0 -20
- package/next/README.md +0 -11
- package/next/analytics/fpixel.ts +0 -16
- package/next/analytics/pixel-analytics.tsx +0 -55
- package/next/determine-device-middleware.ts +0 -16
- package/next/fonts/DrukTextWide-Bold-Trial.otf +0 -0
- package/next/fonts/DrukTextWide-Heavy-Trial.otf +0 -0
- package/next/fonts/DrukTextWide-Medium-Trial.otf +0 -0
- package/next/fonts/DrukWide-Bold-Trial.otf +0 -0
- package/next/fonts/DrukWide-Heavy-Trial.otf +0 -0
- package/next/fonts/DrukWide-Medium-Trial.otf +0 -0
- package/next/get-app-router-font-classes.ts +0 -12
- package/next/load-and-return-lux-next-fonts-on-import.ts +0 -94
- package/next/next-font-desc.ts +0 -28
- package/next/not-found-content.mdx +0 -4
- package/next/not-found.tsx +0 -23
- package/next/pages-router-font-vars.tsx +0 -18
- package/next/root-layout.tsx +0 -60
- package/primitives/accordion.tsx +0 -61
- package/primitives/action-button.tsx +0 -46
- package/primitives/apply-typography.tsx +0 -55
- package/primitives/avatar.tsx +0 -49
- package/primitives/badge.tsx +0 -36
- package/primitives/button.tsx +0 -73
- package/primitives/calendar.tsx +0 -72
- package/primitives/card.tsx +0 -83
- package/primitives/checkbox.tsx +0 -32
- package/primitives/command.tsx +0 -155
- package/primitives/dialog-video-controller.tsx +0 -38
- package/primitives/dialog.tsx +0 -152
- package/primitives/form.tsx +0 -179
- package/primitives/index.ts +0 -144
- package/primitives/inline-icon.tsx +0 -37
- package/primitives/input.tsx +0 -30
- package/primitives/label.tsx +0 -28
- package/primitives/link-element.tsx +0 -104
- package/primitives/main.tsx +0 -17
- package/primitives/mdx-link.tsx +0 -22
- package/primitives/nav-items.tsx +0 -48
- package/primitives/popover.tsx +0 -35
- package/primitives/progress.tsx +0 -27
- package/primitives/scroll-area.tsx +0 -47
- package/primitives/select.tsx +0 -169
- package/primitives/separator.tsx +0 -29
- package/primitives/sheet.tsx +0 -175
- package/primitives/skeleton.tsx +0 -15
- package/primitives/switch.tsx +0 -33
- package/primitives/table.tsx +0 -117
- package/primitives/tabs.tsx +0 -60
- package/primitives/tailwind-indicator.tsx +0 -19
- package/primitives/text-area.tsx +0 -26
- package/primitives/toast.tsx +0 -129
- package/primitives/toaster.tsx +0 -37
- package/primitives/use-toast.ts +0 -192
- package/primitives/video-player.tsx +0 -26
- package/primitives/youtube-embed.tsx +0 -83
- package/siteDef/footer/community.tsx +0 -67
- package/siteDef/footer/company.ts +0 -37
- package/siteDef/footer/ecosystem.ts +0 -37
- package/siteDef/footer/index.tsx +0 -26
- package/siteDef/footer/legal.ts +0 -28
- package/siteDef/footer/network.ts +0 -33
- package/siteDef/footer/svg/warpcast-logo.svg +0 -12
- package/siteDef/main-nav.ts +0 -35
- package/style/globals.css +0 -13
- package/style/hanzo-common.css +0 -32
- package/style/hanzo-default-colors.css +0 -79
- package/style/social-svg.css +0 -3
- package/tailwind/colors.tailwind.js +0 -46
- package/tailwind/fonts.tailwind.ts +0 -31
- package/tailwind/index.ts +0 -18
- package/tailwind/lux-tw-fonts.ts +0 -37
- package/tailwind/safelist.tailwind.js +0 -26
- package/tailwind/screens.tailwind.js +0 -8
- package/tailwind/spacing.tailwind.js +0 -65
- package/tailwind/tailwind.config.base.js +0 -906
- package/tailwind/tw-font-desc.ts +0 -15
- package/tailwind/typo-plugin/get-plugin-styles.js +0 -676
- package/tailwind/typo-plugin/index.d.ts +0 -9
- package/tailwind/typo-plugin/index.js +0 -141
- package/tailwind/typo-plugin/utils.js +0 -60
- package/tailwind/typography-test.mdx +0 -36
- package/types/breakpoints.ts +0 -11
- package/types/bullet-item.ts +0 -10
- package/types/button-def.ts +0 -39
- package/types/contact-info.ts +0 -11
- package/types/dimensions.ts +0 -20
- package/types/grid-def.ts +0 -56
- package/types/icon.ts +0 -10
- package/types/image-def.ts +0 -28
- package/types/index.ts +0 -29
- package/types/link-def.ts +0 -59
- package/types/site-def.ts +0 -34
- package/types/t-shirt-size.ts +0 -5
- package/util/index.ts +0 -81
- package/util/specifier.ts +0 -43
|
@@ -0,0 +1,113 @@
|
|
|
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 { Icon, TabBase } from '..'
|
|
17
|
+
import Label from './Label.svelte'
|
|
18
|
+
|
|
19
|
+
export let model: TabBase[]
|
|
20
|
+
export let selected = 0
|
|
21
|
+
export let padding: string | undefined = undefined
|
|
22
|
+
export let noMargin: boolean = false
|
|
23
|
+
export let size: 'small' | 'medium' | 'large' = 'medium'
|
|
24
|
+
export let gap: 'small' | 'medium' | 'large' = 'large'
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<div class="flex-stretch tabs-container no-print {size} gap-{gap}" style:padding class:noMargin>
|
|
28
|
+
{#each model as tab, i}
|
|
29
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
30
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
31
|
+
<div
|
|
32
|
+
class="flex-row-center tab"
|
|
33
|
+
class:selected={i === selected}
|
|
34
|
+
on:click={() => {
|
|
35
|
+
selected = i
|
|
36
|
+
}}
|
|
37
|
+
>
|
|
38
|
+
{#if tab.icon !== undefined}
|
|
39
|
+
<div class="mr-2" class:ml-2={tab.label === ''}>
|
|
40
|
+
<Icon icon={tab.icon} size={'small'} />
|
|
41
|
+
</div>
|
|
42
|
+
{/if}
|
|
43
|
+
{#if tab.label !== ''}
|
|
44
|
+
<Label label={tab.label} />
|
|
45
|
+
{/if}
|
|
46
|
+
</div>
|
|
47
|
+
{/each}
|
|
48
|
+
<div class="grow" />
|
|
49
|
+
<slot name="rightButtons" />
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<slot name="content" {selected} />
|
|
53
|
+
|
|
54
|
+
<style lang="scss">
|
|
55
|
+
.tabs-container {
|
|
56
|
+
flex-shrink: 0;
|
|
57
|
+
flex-wrap: nowrap;
|
|
58
|
+
align-items: center;
|
|
59
|
+
width: 100%;
|
|
60
|
+
height: 4.5rem;
|
|
61
|
+
min-width: 0;
|
|
62
|
+
min-height: 0;
|
|
63
|
+
border-bottom: 1px solid var(--theme-divider-color);
|
|
64
|
+
|
|
65
|
+
&.gap-small {
|
|
66
|
+
gap: 0.5rem;
|
|
67
|
+
}
|
|
68
|
+
&.gap-medium {
|
|
69
|
+
gap: 1.5rem;
|
|
70
|
+
}
|
|
71
|
+
&.gap-large {
|
|
72
|
+
gap: 2.5rem;
|
|
73
|
+
}
|
|
74
|
+
&:not(.noMargin) {
|
|
75
|
+
margin-bottom: 0.5rem;
|
|
76
|
+
}
|
|
77
|
+
&.small {
|
|
78
|
+
height: 3.25rem;
|
|
79
|
+
|
|
80
|
+
.tab {
|
|
81
|
+
height: 3.25rem;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
&.large {
|
|
85
|
+
height: 3.5rem;
|
|
86
|
+
|
|
87
|
+
.tab {
|
|
88
|
+
height: 3.5rem;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.tab {
|
|
93
|
+
height: 4.5rem;
|
|
94
|
+
color: var(--theme-dark-color);
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
user-select: none;
|
|
97
|
+
|
|
98
|
+
&.selected {
|
|
99
|
+
border-top: 0.125rem solid transparent;
|
|
100
|
+
border-bottom: 0.125rem solid var(--theme-tablist-plain-color);
|
|
101
|
+
color: var(--theme-caption-color);
|
|
102
|
+
cursor: default;
|
|
103
|
+
}
|
|
104
|
+
&:not(.selected):hover {
|
|
105
|
+
color: var(--theme-content-color);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
.grow {
|
|
109
|
+
min-width: 2.5rem;
|
|
110
|
+
flex-grow: 1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
</style>
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2020 Hanzo <dev@hanzo.ai>.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { IntlString } from '@hanzo/platform'
|
|
17
|
+
import { translateCB } from '@hanzo/platform'
|
|
18
|
+
import { themeStore } from '@hanzo/theme'
|
|
19
|
+
import plugin from '../plugin'
|
|
20
|
+
import Label from './Label.svelte'
|
|
21
|
+
|
|
22
|
+
export let label: IntlString | undefined = undefined
|
|
23
|
+
export let width: string | undefined = undefined
|
|
24
|
+
export let height: string | undefined = undefined
|
|
25
|
+
export let margin: string | undefined = undefined
|
|
26
|
+
export let value: string | undefined = undefined
|
|
27
|
+
export let placeholder: IntlString = plugin.string.EditBoxPlaceholder
|
|
28
|
+
export let placeholderParam: any | undefined = undefined
|
|
29
|
+
export let noFocusBorder: boolean = false
|
|
30
|
+
export let disabled: boolean = false
|
|
31
|
+
|
|
32
|
+
let input: HTMLTextAreaElement
|
|
33
|
+
let phTranslate: string = ''
|
|
34
|
+
|
|
35
|
+
$: translateCB(placeholder, placeholderParam ?? {}, $themeStore.language, (res) => {
|
|
36
|
+
phTranslate = res
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
export function focus () {
|
|
40
|
+
input.focus()
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<div class="textarea" class:no-focus-border={noFocusBorder} style:width style:height style:margin>
|
|
45
|
+
{#if label}<div class="label"><Label {label} /></div>{/if}
|
|
46
|
+
<textarea
|
|
47
|
+
bind:value
|
|
48
|
+
bind:this={input}
|
|
49
|
+
{disabled}
|
|
50
|
+
placeholder={phTranslate}
|
|
51
|
+
on:keydown
|
|
52
|
+
on:change
|
|
53
|
+
on:keydown
|
|
54
|
+
on:keypress
|
|
55
|
+
on:blur
|
|
56
|
+
/>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<style lang="scss">
|
|
60
|
+
.textarea {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
min-width: 3.125rem;
|
|
64
|
+
min-height: 2.25rem;
|
|
65
|
+
|
|
66
|
+
.label {
|
|
67
|
+
margin-bottom: 0.25rem;
|
|
68
|
+
font-size: 0.75rem;
|
|
69
|
+
font-weight: 500;
|
|
70
|
+
color: var(--accent-color);
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
user-select: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
textarea {
|
|
76
|
+
width: auto;
|
|
77
|
+
min-height: 4.5rem;
|
|
78
|
+
margin: -4px;
|
|
79
|
+
padding: 2px;
|
|
80
|
+
font-family: inherit;
|
|
81
|
+
font-size: inherit;
|
|
82
|
+
line-height: 150%;
|
|
83
|
+
color: var(--caption-color);
|
|
84
|
+
background-color: transparent;
|
|
85
|
+
border: 2px solid transparent;
|
|
86
|
+
border-radius: 0.125rem;
|
|
87
|
+
outline: none;
|
|
88
|
+
overflow-y: scroll;
|
|
89
|
+
resize: none;
|
|
90
|
+
|
|
91
|
+
&:focus {
|
|
92
|
+
border-color: var(--primary-button-default);
|
|
93
|
+
}
|
|
94
|
+
&::placeholder {
|
|
95
|
+
color: var(--dark-color);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.no-focus-border {
|
|
101
|
+
textarea {
|
|
102
|
+
font-weight: 500;
|
|
103
|
+
font-size: 1rem;
|
|
104
|
+
|
|
105
|
+
&:focus {
|
|
106
|
+
border-color: transparent;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
</style>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { IntlString } from '@hanzo/platform'
|
|
3
|
+
import { createEventDispatcher } from 'svelte'
|
|
4
|
+
import ui from '../plugin'
|
|
5
|
+
import IconClose from './icons/Close.svelte'
|
|
6
|
+
import ActionIcon from './ActionIcon.svelte'
|
|
7
|
+
import Button from './Button.svelte'
|
|
8
|
+
import TextArea from './TextArea.svelte'
|
|
9
|
+
|
|
10
|
+
export let inputRef: TextArea | undefined = undefined
|
|
11
|
+
export let value: string = ''
|
|
12
|
+
export let width: string | undefined = undefined
|
|
13
|
+
export let height: string | undefined = undefined
|
|
14
|
+
export let submitLabel: IntlString = ui.string.Save
|
|
15
|
+
export let placeholder: IntlString | undefined = undefined
|
|
16
|
+
export let disabled: boolean = false
|
|
17
|
+
|
|
18
|
+
const dispatch = createEventDispatcher()
|
|
19
|
+
let isEditing = false
|
|
20
|
+
let openedContainerRef: HTMLDivElement
|
|
21
|
+
|
|
22
|
+
async function onClickOutside (e: any) {
|
|
23
|
+
if (openedContainerRef && !openedContainerRef.contains(e.target) && !e.defaultPrevented && isEditing) {
|
|
24
|
+
if (value) {
|
|
25
|
+
submit()
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const submit = () => {
|
|
31
|
+
dispatch('submit', value)
|
|
32
|
+
}
|
|
33
|
+
const cancel = () => {
|
|
34
|
+
dispatch('cancel')
|
|
35
|
+
}
|
|
36
|
+
const onKeydown = (e: any) => {
|
|
37
|
+
if (e.detail.key !== 'Enter') {
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
e.detail.preventDefault()
|
|
42
|
+
submit()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
$: if (inputRef && !value) {
|
|
46
|
+
isEditing = true
|
|
47
|
+
inputRef.focus()
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<svelte:window on:click={onClickOutside} />
|
|
52
|
+
<div bind:this={openedContainerRef}>
|
|
53
|
+
<div
|
|
54
|
+
class="flex-col background-accent-bg-color border-divider-color border-radius-1 pt-1 pb-1 pr-2 pl-2"
|
|
55
|
+
style:user-select="none"
|
|
56
|
+
>
|
|
57
|
+
<TextArea
|
|
58
|
+
{placeholder}
|
|
59
|
+
{height}
|
|
60
|
+
{width}
|
|
61
|
+
{disabled}
|
|
62
|
+
bind:this={inputRef}
|
|
63
|
+
bind:value
|
|
64
|
+
on:keydown={onKeydown}
|
|
65
|
+
noFocusBorder={true}
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
{#if !disabled}
|
|
69
|
+
<div class="flex-row-center mt-3">
|
|
70
|
+
<Button label={submitLabel} kind="no-border" size="medium" on:click={submit} />
|
|
71
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
72
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
73
|
+
<div class="ml-2" on:click={cancel}>
|
|
74
|
+
<ActionIcon icon={IconClose} size="medium" action={cancel} />
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
{/if}
|
|
78
|
+
</div>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2024 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import { createEventDispatcher, onDestroy } from 'svelte'
|
|
18
|
+
import { Timestamp } from '@hanzo/core'
|
|
19
|
+
|
|
20
|
+
export let time: Timestamp
|
|
21
|
+
|
|
22
|
+
const dispatch = createEventDispatcher()
|
|
23
|
+
|
|
24
|
+
let displayTime = time
|
|
25
|
+
let notified = false
|
|
26
|
+
let intervalId: any | undefined = undefined
|
|
27
|
+
|
|
28
|
+
function applyTimer (time: number): void {
|
|
29
|
+
if (intervalId !== undefined) {
|
|
30
|
+
clearInterval(intervalId)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
displayTime = Math.max(0, time - Date.now())
|
|
34
|
+
notified = false
|
|
35
|
+
intervalId = setInterval(() => {
|
|
36
|
+
displayTime = Math.max(0, time - Date.now())
|
|
37
|
+
|
|
38
|
+
if (displayTime === 0 && !notified) {
|
|
39
|
+
notified = true
|
|
40
|
+
dispatch('timeout')
|
|
41
|
+
}
|
|
42
|
+
}, 1000)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function restart (time: number): void {
|
|
46
|
+
applyTimer(time)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
$: applyTimer(time)
|
|
50
|
+
|
|
51
|
+
onDestroy(() => {
|
|
52
|
+
if (intervalId !== undefined) {
|
|
53
|
+
clearInterval(intervalId)
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
function getDisplayTime (time: number): string {
|
|
58
|
+
const options: Intl.DateTimeFormatOptions = { minute: 'numeric', second: 'numeric' }
|
|
59
|
+
|
|
60
|
+
return new Date(time).toLocaleString('default', options)
|
|
61
|
+
}
|
|
62
|
+
</script>
|
|
63
|
+
|
|
64
|
+
{#if displayTime > 0}
|
|
65
|
+
{getDisplayTime(displayTime)}
|
|
66
|
+
{/if}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { DateRangeMode } from '@hanzo/core'
|
|
17
|
+
import type { IntlString } from '@hanzo/platform'
|
|
18
|
+
import { createEventDispatcher, onMount } from 'svelte'
|
|
19
|
+
import { showPopup } from '../popups'
|
|
20
|
+
import { DateOrShift } from '../types'
|
|
21
|
+
import DateRangePresenter from './calendar/DateRangePresenter.svelte'
|
|
22
|
+
import Calendar from './icons/Calendar.svelte'
|
|
23
|
+
import Close from './icons/Close.svelte'
|
|
24
|
+
import Label from './Label.svelte'
|
|
25
|
+
import TimeShiftPopup from './TimeShiftPopup.svelte'
|
|
26
|
+
import TimeShiftPresenter from './TimeShiftPresenter.svelte'
|
|
27
|
+
|
|
28
|
+
export let title: IntlString
|
|
29
|
+
export let value: DateOrShift | undefined
|
|
30
|
+
export let show: boolean = false
|
|
31
|
+
export let direction: 'before' | 'after' = 'before'
|
|
32
|
+
|
|
33
|
+
const dispatch = createEventDispatcher()
|
|
34
|
+
|
|
35
|
+
let opened: boolean = false
|
|
36
|
+
let container: HTMLElement
|
|
37
|
+
let btn: HTMLElement
|
|
38
|
+
|
|
39
|
+
const changeValue = (result: DateOrShift): void => {
|
|
40
|
+
if (result !== undefined) {
|
|
41
|
+
value = result
|
|
42
|
+
dispatch('change', result)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
onMount(() => {
|
|
47
|
+
if (btn && show) {
|
|
48
|
+
btn.click()
|
|
49
|
+
show = false
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
55
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
56
|
+
<div
|
|
57
|
+
class="antiSelect"
|
|
58
|
+
bind:this={container}
|
|
59
|
+
on:click|preventDefault={() => {
|
|
60
|
+
btn.focus()
|
|
61
|
+
if (!opened) {
|
|
62
|
+
opened = true
|
|
63
|
+
showPopup(TimeShiftPopup, { title, value, direction }, container, (ev) => {
|
|
64
|
+
changeValue(ev)
|
|
65
|
+
opened = false
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
}}
|
|
69
|
+
>
|
|
70
|
+
<button bind:this={btn} class="button round-2" class:selected={value?.shift}>
|
|
71
|
+
<div class="icon">
|
|
72
|
+
{#if show}<Close size={'small'} />{:else}<Calendar size={'medium'} />{/if}
|
|
73
|
+
</div>
|
|
74
|
+
</button>
|
|
75
|
+
|
|
76
|
+
<div class="group">
|
|
77
|
+
<span class="label"><Label label={title} /></span>
|
|
78
|
+
{#if value?.shift !== undefined}
|
|
79
|
+
<TimeShiftPresenter value={value.shift} />
|
|
80
|
+
{:else}
|
|
81
|
+
<DateRangePresenter value={value?.date} mode={DateRangeMode.DATETIME} editable={false} />
|
|
82
|
+
{/if}
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { DateRangeMode } from '@hanzo/core'
|
|
17
|
+
import { createEventDispatcher } from 'svelte'
|
|
18
|
+
import ui from '../plugin'
|
|
19
|
+
import { DAY, DateOrShift, HOUR, MINUTE } from '../types'
|
|
20
|
+
import DateRangePresenter from './calendar/DateRangePresenter.svelte'
|
|
21
|
+
import TimeShiftPresenter from './TimeShiftPresenter.svelte'
|
|
22
|
+
|
|
23
|
+
export let direction: 'before' | 'after'
|
|
24
|
+
export let value: DateOrShift | undefined = undefined
|
|
25
|
+
export let minutes: number[] = [5, 15, 30]
|
|
26
|
+
export let hours: number[] = [1, 2, 4]
|
|
27
|
+
export let days: number[] = [1, 3, 7, 30]
|
|
28
|
+
|
|
29
|
+
let date = value?.date
|
|
30
|
+
const dispatch = createEventDispatcher()
|
|
31
|
+
|
|
32
|
+
$: base = direction === 'before' ? -1 : 1
|
|
33
|
+
|
|
34
|
+
$: values = [...minutes.map((m) => m * MINUTE), ...hours.map((m) => m * HOUR), ...days.map((m) => m * DAY)]
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<div class="antiPopup">
|
|
38
|
+
<div class="flex-center mt-1 mb-1">
|
|
39
|
+
<DateRangePresenter
|
|
40
|
+
bind:value={date}
|
|
41
|
+
mode={DateRangeMode.DATETIME}
|
|
42
|
+
editable={true}
|
|
43
|
+
labelNull={ui.string.SelectDate}
|
|
44
|
+
on:change={() => {
|
|
45
|
+
if (date) {
|
|
46
|
+
dispatch('close', { date })
|
|
47
|
+
}
|
|
48
|
+
}}
|
|
49
|
+
/>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="bottom-divider mb-2" />
|
|
52
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
53
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
54
|
+
{#each values as value}
|
|
55
|
+
<div
|
|
56
|
+
class="ap-menuItem"
|
|
57
|
+
on:click={() => {
|
|
58
|
+
dispatch('close', { shift: value })
|
|
59
|
+
}}
|
|
60
|
+
>
|
|
61
|
+
<TimeShiftPresenter value={value * base} />
|
|
62
|
+
</div>
|
|
63
|
+
{/each}
|
|
64
|
+
</div>
|
|
@@ -0,0 +1,59 @@
|
|
|
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 { translate } from '@hanzo/platform'
|
|
17
|
+
import ui from '../plugin'
|
|
18
|
+
import { themeStore } from '@hanzo/theme'
|
|
19
|
+
import { DAY, HOUR, MINUTE } from '../types'
|
|
20
|
+
|
|
21
|
+
export let value: number
|
|
22
|
+
export let exact: boolean = false
|
|
23
|
+
|
|
24
|
+
let time: string = ''
|
|
25
|
+
|
|
26
|
+
async function formatTime (value: number) {
|
|
27
|
+
if (value > 0) {
|
|
28
|
+
if (exact) {
|
|
29
|
+
const d = Math.floor(value / DAY)
|
|
30
|
+
time = d ? await translate(ui.string.DaysShort, { value: d }, $themeStore.language) : ''
|
|
31
|
+
const h = Math.floor((value - d * DAY) / HOUR)
|
|
32
|
+
time += h ? ` ${await translate(ui.string.HoursShort, { value: h }, $themeStore.language)}` : ''
|
|
33
|
+
const m = Math.floor((value - d * DAY - h * HOUR) / MINUTE)
|
|
34
|
+
time += m ? ` ${await translate(ui.string.MinutesShort, { value: m }, $themeStore.language)}` : ''
|
|
35
|
+
} else {
|
|
36
|
+
if (value < HOUR) {
|
|
37
|
+
time = await translate(ui.string.MinutesAfter, { minutes: Math.floor(value / MINUTE) }, $themeStore.language)
|
|
38
|
+
} else if (value < DAY) {
|
|
39
|
+
time = await translate(ui.string.HoursAfter, { hours: Math.floor(value / HOUR) }, $themeStore.language)
|
|
40
|
+
} else {
|
|
41
|
+
time = await translate(ui.string.DaysAfter, { days: Math.floor(value / DAY) }, $themeStore.language)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
const abs = Math.abs(value)
|
|
46
|
+
if (abs < HOUR) {
|
|
47
|
+
time = await translate(ui.string.MinutesBefore, { minutes: Math.floor(abs / MINUTE) }, $themeStore.language)
|
|
48
|
+
} else if (abs < DAY) {
|
|
49
|
+
time = await translate(ui.string.HoursBefore, { hours: Math.floor(abs / HOUR) }, $themeStore.language)
|
|
50
|
+
} else {
|
|
51
|
+
time = await translate(ui.string.DaysBefore, { days: Math.floor(abs / DAY) }, $themeStore.language)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
$: formatTime(value)
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<span style="white-space: nowrap;">{time}</span>
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2020, 2021 Hanzo <dev@hanzo.ai>.
|
|
3
|
+
// Copyright © 2021 Hardcore Engineering Inc.
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License. You may
|
|
7
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
//
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
-->
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import { translateCB } from '@hanzo/platform'
|
|
18
|
+
import { themeStore } from '@hanzo/theme'
|
|
19
|
+
import { ticker } from '..'
|
|
20
|
+
import ui from '../plugin'
|
|
21
|
+
import { tooltip } from '../tooltips'
|
|
22
|
+
import { DAY, HOUR, MINUTE, MONTH, YEAR } from '../types'
|
|
23
|
+
|
|
24
|
+
export let value: number | undefined
|
|
25
|
+
export let kind: 'no-border' | 'list' = 'no-border'
|
|
26
|
+
|
|
27
|
+
let time: string = ''
|
|
28
|
+
|
|
29
|
+
function calculateMonthsPassed (now: number, value: number): number {
|
|
30
|
+
const startDate: Date = new Date(value)
|
|
31
|
+
const endDate: Date = new Date(now)
|
|
32
|
+
const startYear = startDate.getFullYear()
|
|
33
|
+
const startMonth = startDate.getMonth()
|
|
34
|
+
const endYear = endDate.getFullYear()
|
|
35
|
+
const endMonth = endDate.getMonth()
|
|
36
|
+
|
|
37
|
+
return (endYear - startYear) * 12 + (endMonth - startMonth)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function formatTime (now: number, value: number): void {
|
|
41
|
+
let passed = now - value
|
|
42
|
+
if (passed < 0) passed = 0
|
|
43
|
+
if (passed < HOUR) {
|
|
44
|
+
translateCB(ui.string.MinutesAgo, { minutes: Math.floor(passed / MINUTE) }, $themeStore.language, (res) => {
|
|
45
|
+
time = res
|
|
46
|
+
})
|
|
47
|
+
} else if (passed < DAY) {
|
|
48
|
+
translateCB(ui.string.HoursAgo, { hours: Math.floor(passed / HOUR) }, $themeStore.language, (res) => {
|
|
49
|
+
time = res
|
|
50
|
+
})
|
|
51
|
+
} else if (passed < MONTH) {
|
|
52
|
+
translateCB(ui.string.DaysAgo, { days: Math.floor(passed / DAY) }, $themeStore.language, (res) => {
|
|
53
|
+
time = res
|
|
54
|
+
})
|
|
55
|
+
} else if (passed < YEAR) {
|
|
56
|
+
translateCB(ui.string.MonthsAgo, { months: calculateMonthsPassed(now, value) }, $themeStore.language, (res) => {
|
|
57
|
+
time = res
|
|
58
|
+
})
|
|
59
|
+
} else {
|
|
60
|
+
translateCB(ui.string.YearsAgo, { years: Math.floor(passed / YEAR) }, $themeStore.language, (res) => {
|
|
61
|
+
time = res
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
$: value && formatTime($ticker, value)
|
|
67
|
+
|
|
68
|
+
$: tooltipValue = value
|
|
69
|
+
? new Date(value).toLocaleString('default', {
|
|
70
|
+
minute: '2-digit',
|
|
71
|
+
hour: 'numeric',
|
|
72
|
+
day: '2-digit',
|
|
73
|
+
month: 'short',
|
|
74
|
+
year: 'numeric'
|
|
75
|
+
})
|
|
76
|
+
: undefined
|
|
77
|
+
</script>
|
|
78
|
+
|
|
79
|
+
<span
|
|
80
|
+
use:tooltip={{ label: ui.string.TimeTooltip, props: { value: tooltipValue } }}
|
|
81
|
+
class="overflow-label"
|
|
82
|
+
class:text-sm={kind === 'list'}
|
|
83
|
+
class:content-dark-color={kind === 'list'}
|
|
84
|
+
>
|
|
85
|
+
{time}
|
|
86
|
+
</span>
|