@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,90 @@
|
|
|
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 type { Asset, IntlString } from '@hanzo/platform'
|
|
17
|
+
import ExpandCollapse from './ExpandCollapse.svelte'
|
|
18
|
+
import Icon from './Icon.svelte'
|
|
19
|
+
import Label from './Label.svelte'
|
|
20
|
+
import Chevron from './Chevron.svelte'
|
|
21
|
+
|
|
22
|
+
export let icon: Asset | undefined = undefined
|
|
23
|
+
export let label: IntlString | undefined = undefined
|
|
24
|
+
export let expanded: boolean = false
|
|
25
|
+
export let bordered: boolean = false
|
|
26
|
+
export let expandable = true
|
|
27
|
+
export let contentColor = false
|
|
28
|
+
export let showChevron = true
|
|
29
|
+
|
|
30
|
+
let wasExpanded = expanded
|
|
31
|
+
$: if (expanded) wasExpanded = true
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<div class="flex-col">
|
|
35
|
+
<div class="expandable-header flex-between" class:expanded class:bordered>
|
|
36
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
37
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
38
|
+
<div
|
|
39
|
+
class="flex-row-center mr-4"
|
|
40
|
+
class:cursor-pointer={expandable}
|
|
41
|
+
on:click|stopPropagation={() => {
|
|
42
|
+
if (expandable) expanded = !expanded
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
<Chevron {expanded} marginRight={'.5rem'} fill={!showChevron ? 'transparent' : undefined} />
|
|
46
|
+
{#if icon}
|
|
47
|
+
<div class="min-w-4 mr-2">
|
|
48
|
+
<Icon {icon} size={'small'} />
|
|
49
|
+
</div>
|
|
50
|
+
{/if}
|
|
51
|
+
<span class="fs-title overflow-label" class:content-color={contentColor}>
|
|
52
|
+
{#if label}<Label {label} />{/if}<slot name="title" />
|
|
53
|
+
</span>
|
|
54
|
+
{#if $$slots['title-tools']}
|
|
55
|
+
<div class="buttons-group small-gap">
|
|
56
|
+
<slot name="title-tools" />
|
|
57
|
+
</div>
|
|
58
|
+
{/if}
|
|
59
|
+
</div>
|
|
60
|
+
{#if $$slots.tools}
|
|
61
|
+
<div class="buttons-group small-gap">
|
|
62
|
+
<slot name="tools" />
|
|
63
|
+
</div>
|
|
64
|
+
{/if}
|
|
65
|
+
</div>
|
|
66
|
+
<ExpandCollapse isExpanded={expanded}>
|
|
67
|
+
{#if wasExpanded}
|
|
68
|
+
<slot />
|
|
69
|
+
{/if}
|
|
70
|
+
</ExpandCollapse>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
<style lang="scss">
|
|
74
|
+
.expandable-header {
|
|
75
|
+
transition: margin-bottom 0.15s var(--timing-main);
|
|
76
|
+
|
|
77
|
+
&:not(.expanded) {
|
|
78
|
+
margin-bottom: 0;
|
|
79
|
+
}
|
|
80
|
+
&.expanded {
|
|
81
|
+
margin-bottom: 0.75rem;
|
|
82
|
+
}
|
|
83
|
+
&.bordered {
|
|
84
|
+
padding: 0.25rem 0.5rem;
|
|
85
|
+
background-color: var(--theme-comp-header-color);
|
|
86
|
+
border: 1px solid var(--theme-divider-color);
|
|
87
|
+
border-radius: 0.25rem;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { FocusManager } from '../focus'
|
|
3
|
+
|
|
4
|
+
export let manager: FocusManager
|
|
5
|
+
export let isEnabled: boolean = true
|
|
6
|
+
|
|
7
|
+
function handleKey (evt: KeyboardEvent): void {
|
|
8
|
+
if (evt.code === 'Tab' && isEnabled) {
|
|
9
|
+
evt.preventDefault()
|
|
10
|
+
evt.stopPropagation()
|
|
11
|
+
manager.next(evt.shiftKey ? -1 : 1)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<svelte:window
|
|
17
|
+
on:keydown={(evt) => {
|
|
18
|
+
handleKey(evt)
|
|
19
|
+
}}
|
|
20
|
+
/>
|
|
21
|
+
<slot />
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2023 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
export let isOpen: boolean
|
|
17
|
+
export let empty: boolean = false
|
|
18
|
+
export let level: number = 0
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<div class="hulyFold-container" class:opened={isOpen && !empty} style:margin-left={`${level * 1.5}rem`}>
|
|
22
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
23
|
+
{#if empty}
|
|
24
|
+
<path
|
|
25
|
+
d="M8 8.99988C8.55228 8.99988 9 8.55216 9 7.99988C9 7.44759 8.55228 6.99988 8 6.99988C7.44772 6.99988 7 7.44759 7 7.99988C7 8.55216 7.44772 8.99988 8 8.99988Z"
|
|
26
|
+
/>
|
|
27
|
+
{:else}
|
|
28
|
+
<path d="M11 8L5.99995 3L5.29285 3.70711L9.58574 8L5.29285 12.2929L5.99995 13L11 8Z" />
|
|
29
|
+
{/if}
|
|
30
|
+
</svg>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<style lang="scss">
|
|
34
|
+
.hulyFold-container {
|
|
35
|
+
display: flex;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
align-items: center;
|
|
38
|
+
flex-shrink: 0;
|
|
39
|
+
padding: 0.25rem;
|
|
40
|
+
width: 1.5rem;
|
|
41
|
+
height: 1.5rem;
|
|
42
|
+
border-radius: 0.25rem;
|
|
43
|
+
color: var(--button-disabled-IconColor);
|
|
44
|
+
transform-origin: center;
|
|
45
|
+
transform: rotate(0deg);
|
|
46
|
+
transition: transform 0.15s ease-in-out;
|
|
47
|
+
|
|
48
|
+
&.opened {
|
|
49
|
+
transform: rotate(90deg);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
export let column: number = 2
|
|
17
|
+
export let rowGap: number = 2.5
|
|
18
|
+
export let columnGap: number = 1.5
|
|
19
|
+
export let topGap: boolean = false
|
|
20
|
+
export let equalHeight: boolean = false
|
|
21
|
+
export let alignItems: 'start' | 'center' | 'end' | 'stretch' = 'center'
|
|
22
|
+
|
|
23
|
+
$: style = `grid-template-columns: repeat(${column}, 1fr); row-gap: ${rowGap}rem; column-gap: ${columnGap}rem;${
|
|
24
|
+
equalHeight ? ' grid-auto-rows: 1fr;' : ''
|
|
25
|
+
}`
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<div class="grid" {style} style:margin-top={topGap ? `${rowGap}rem` : 0} style:align-items={alignItems}>
|
|
29
|
+
<slot />
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<style lang="scss">
|
|
33
|
+
.grid {
|
|
34
|
+
display: grid;
|
|
35
|
+
grid-template-columns: 1fr 1fr;
|
|
36
|
+
row-gap: 2.5rem;
|
|
37
|
+
column-gap: 1.5rem;
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2023 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import { createEventDispatcher, onMount, onDestroy } from 'svelte'
|
|
17
|
+
import {
|
|
18
|
+
IconMaximize,
|
|
19
|
+
IconMinimize,
|
|
20
|
+
IconClose,
|
|
21
|
+
ButtonIcon,
|
|
22
|
+
deviceOptionsStore as deviceInfo,
|
|
23
|
+
resizeObserver,
|
|
24
|
+
HeaderAdaptive,
|
|
25
|
+
popupstore
|
|
26
|
+
} from '..'
|
|
27
|
+
|
|
28
|
+
export let type: 'type-aside' | 'type-popup' | 'type-component' | 'type-panel' = 'type-component'
|
|
29
|
+
export let allowFullsize: boolean = false
|
|
30
|
+
export let hideSeparator: boolean = false
|
|
31
|
+
export let topIndent: boolean = false
|
|
32
|
+
export let adaptive: HeaderAdaptive = 'default'
|
|
33
|
+
export let hideBefore: boolean = false
|
|
34
|
+
export let hideDescription: boolean = false
|
|
35
|
+
export let hideSearch: boolean = false
|
|
36
|
+
export let hideActions: boolean = false
|
|
37
|
+
export let hideExtra: boolean = false
|
|
38
|
+
export let hidePresence: boolean = false
|
|
39
|
+
export let overflowExtra: boolean = false
|
|
40
|
+
export let noPrint: boolean = false
|
|
41
|
+
export let freezeBefore: boolean = false
|
|
42
|
+
export let doubleRowWidth: number = 768
|
|
43
|
+
export let closeOnEscape: boolean = true
|
|
44
|
+
export let realWidth: number | undefined = undefined
|
|
45
|
+
|
|
46
|
+
const dispatch = createEventDispatcher()
|
|
47
|
+
|
|
48
|
+
const closeButton: boolean = ['type-popup', 'type-aside'].some((v) => v === type)
|
|
49
|
+
let spaceFiller: HTMLElement
|
|
50
|
+
let doubleRow: boolean = false
|
|
51
|
+
let doubleExtra: boolean = false
|
|
52
|
+
let extraWidth: number = 0
|
|
53
|
+
let spaceWidth: number = 0
|
|
54
|
+
$: _doubleRow =
|
|
55
|
+
adaptive === 'doubleRow' ||
|
|
56
|
+
(adaptive !== 'disabled' && doubleRow) ||
|
|
57
|
+
(adaptive === 'autoExtra' && (doubleRow || doubleExtra))
|
|
58
|
+
|
|
59
|
+
onMount(() => {
|
|
60
|
+
if (closeButton) window.addEventListener('keydown', _close)
|
|
61
|
+
})
|
|
62
|
+
onDestroy(() => {
|
|
63
|
+
if (closeButton) window.removeEventListener('keydown', _close)
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
function _close (ev: KeyboardEvent): void {
|
|
67
|
+
if (closeButton && ev.key === 'Escape' && closeOnEscape) {
|
|
68
|
+
ev.preventDefault()
|
|
69
|
+
ev.stopPropagation()
|
|
70
|
+
|
|
71
|
+
if (type === 'type-aside' && $popupstore.length > 0) {
|
|
72
|
+
return
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
dispatch('close')
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
81
|
+
<div
|
|
82
|
+
use:resizeObserver={(element) => {
|
|
83
|
+
realWidth = element.clientWidth
|
|
84
|
+
if (!doubleRow && element.clientWidth <= doubleRowWidth) doubleRow = true
|
|
85
|
+
else if (doubleRow && element.clientWidth > doubleRowWidth) doubleRow = false
|
|
86
|
+
}}
|
|
87
|
+
class="hulyHeader-container"
|
|
88
|
+
class:doubleRow={_doubleRow}
|
|
89
|
+
class:topIndent
|
|
90
|
+
class:clearPadding={$$slots.description}
|
|
91
|
+
class:hideSeparator
|
|
92
|
+
class:no-print={noPrint}
|
|
93
|
+
>
|
|
94
|
+
{#if _doubleRow}
|
|
95
|
+
<div class="hulyHeader-row">
|
|
96
|
+
{#if allowFullsize}
|
|
97
|
+
<ButtonIcon
|
|
98
|
+
icon={$deviceInfo.navigator.visible ? IconMaximize : IconMinimize}
|
|
99
|
+
kind={'tertiary'}
|
|
100
|
+
size={'small'}
|
|
101
|
+
noPrint
|
|
102
|
+
on:click={() => ($deviceInfo.navigator.visible = !$deviceInfo.navigator.visible)}
|
|
103
|
+
/>
|
|
104
|
+
<div class="hulyHeader-divider no-print" />
|
|
105
|
+
{/if}
|
|
106
|
+
{#if $$slots.beforeTitle && !hideBefore}
|
|
107
|
+
<div class="hulyHeader-buttonsGroup before mr-2 no-print" class:freezeBefore>
|
|
108
|
+
<slot name="beforeTitle" {doubleRow} />
|
|
109
|
+
</div>
|
|
110
|
+
{/if}
|
|
111
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
112
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
113
|
+
<div
|
|
114
|
+
class="hulyHeader-titleGroup"
|
|
115
|
+
class:withDescription={$$slots.description && !hideDescription}
|
|
116
|
+
class:notGrow={adaptive === 'autoExtra'}
|
|
117
|
+
on:click
|
|
118
|
+
>
|
|
119
|
+
{#if $$slots.description && !hideDescription}
|
|
120
|
+
<div class="hulyHeader-titleGroup"><slot /></div>
|
|
121
|
+
<div class="hulyHeader-titleGroup"><slot name="description" /></div>
|
|
122
|
+
{:else}
|
|
123
|
+
<slot />
|
|
124
|
+
{/if}
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
{#if adaptive === 'autoExtra'}
|
|
128
|
+
<div
|
|
129
|
+
class="hulyHeader-spaceFiller"
|
|
130
|
+
bind:this={spaceFiller}
|
|
131
|
+
use:resizeObserver={(element) => {
|
|
132
|
+
if (spaceWidth !== element.clientWidth) spaceWidth = element.clientWidth
|
|
133
|
+
if (doubleExtra && element.clientWidth > extraWidth + 42) doubleExtra = false
|
|
134
|
+
}}
|
|
135
|
+
/>
|
|
136
|
+
{/if}
|
|
137
|
+
|
|
138
|
+
{#if $$slots.actions && !hideActions && (adaptive === 'freezeActions' || adaptive === 'doubleRow' || adaptive === 'autoExtra')}
|
|
139
|
+
<div class="hulyHeader-buttonsGroup actions no-print">
|
|
140
|
+
<slot name="actions" {doubleRow} />
|
|
141
|
+
</div>
|
|
142
|
+
{/if}
|
|
143
|
+
{#if closeButton}
|
|
144
|
+
{#if type !== 'type-popup'}<div class="hulyHeader-divider no-print" />{/if}
|
|
145
|
+
{#if closeOnEscape}
|
|
146
|
+
<div class="hulyHotKey-item no-print">Esc</div>
|
|
147
|
+
{/if}
|
|
148
|
+
<ButtonIcon icon={IconClose} kind={'tertiary'} size={'small'} noPrint on:click={() => dispatch('close')} />
|
|
149
|
+
{/if}
|
|
150
|
+
</div>
|
|
151
|
+
<!-- <div class="hulyHeader-row__divider" /> -->
|
|
152
|
+
<div class="hulyHeader-row no-print" class:between={$$slots.search} class:reverse={!$$slots.search}>
|
|
153
|
+
{#if $$slots.presence && !hidePresence}
|
|
154
|
+
<div class="hulyHeader-buttonsGroup presence no-print">
|
|
155
|
+
<slot name="presence" {doubleRow} />
|
|
156
|
+
</div>
|
|
157
|
+
{/if}
|
|
158
|
+
{#if $$slots.search}
|
|
159
|
+
<div class="hulyHeader-buttonsGroup search">
|
|
160
|
+
<slot name="search" {doubleRow} />
|
|
161
|
+
</div>
|
|
162
|
+
{/if}
|
|
163
|
+
{#if $$slots.extra && !hideExtra && (adaptive === 'doubleRow' || adaptive === 'autoExtra')}
|
|
164
|
+
<div
|
|
165
|
+
class="hulyHeader-buttonsGroup extra"
|
|
166
|
+
class:overflow={overflowExtra}
|
|
167
|
+
use:resizeObserver={(element) => {
|
|
168
|
+
if (extraWidth !== element.clientWidth) extraWidth = element.clientWidth
|
|
169
|
+
}}
|
|
170
|
+
>
|
|
171
|
+
<slot name="extra" {doubleRow} />
|
|
172
|
+
</div>
|
|
173
|
+
{/if}
|
|
174
|
+
{#if $$slots.actions && !hideActions && !(adaptive === 'freezeActions' || adaptive === 'doubleRow' || adaptive === 'autoExtra')}
|
|
175
|
+
<div class="hulyHeader-buttonsGroup actions">
|
|
176
|
+
<slot name="actions" {doubleRow} />
|
|
177
|
+
</div>
|
|
178
|
+
{/if}
|
|
179
|
+
</div>
|
|
180
|
+
{:else}
|
|
181
|
+
{#if allowFullsize}
|
|
182
|
+
<ButtonIcon
|
|
183
|
+
icon={$deviceInfo.navigator.visible ? IconMaximize : IconMinimize}
|
|
184
|
+
kind={'tertiary'}
|
|
185
|
+
size={'small'}
|
|
186
|
+
noPrint
|
|
187
|
+
on:click={() => ($deviceInfo.navigator.visible = !$deviceInfo.navigator.visible)}
|
|
188
|
+
/>
|
|
189
|
+
<div class="hulyHeader-divider no-print" />
|
|
190
|
+
{/if}
|
|
191
|
+
{#if $$slots.beforeTitle && !hideBefore}
|
|
192
|
+
<div class="hulyHeader-buttonsGroup before mr-2 no-print">
|
|
193
|
+
<slot name="beforeTitle" {doubleRow} />
|
|
194
|
+
</div>
|
|
195
|
+
{/if}
|
|
196
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
197
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
198
|
+
<div
|
|
199
|
+
class="hulyHeader-titleGroup"
|
|
200
|
+
class:withDescription={$$slots.description && !hideDescription}
|
|
201
|
+
class:notGrow={adaptive === 'autoExtra'}
|
|
202
|
+
on:click
|
|
203
|
+
>
|
|
204
|
+
{#if $$slots.description && !hideDescription}
|
|
205
|
+
<slot />
|
|
206
|
+
<slot name="description" />
|
|
207
|
+
{:else}
|
|
208
|
+
<slot />
|
|
209
|
+
{/if}
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
{#if adaptive === 'autoExtra'}
|
|
213
|
+
<div
|
|
214
|
+
class="hulyHeader-spaceFiller"
|
|
215
|
+
bind:this={spaceFiller}
|
|
216
|
+
use:resizeObserver={(element) => {
|
|
217
|
+
if (spaceWidth !== element.clientWidth) spaceWidth = element.clientWidth
|
|
218
|
+
if (!doubleExtra && element.clientWidth <= 16) doubleExtra = true
|
|
219
|
+
}}
|
|
220
|
+
/>
|
|
221
|
+
{/if}
|
|
222
|
+
|
|
223
|
+
{#if $$slots.presence && !hidePresence}
|
|
224
|
+
<div class="hulyHeader-buttonsGroup presence no-print">
|
|
225
|
+
<slot name="presence" {doubleRow} />
|
|
226
|
+
</div>
|
|
227
|
+
{/if}
|
|
228
|
+
|
|
229
|
+
{#if $$slots.search && !hideSearch}
|
|
230
|
+
<div class="hulyHeader-buttonsGroup search no-print">
|
|
231
|
+
<slot name="search" {doubleRow} />
|
|
232
|
+
</div>
|
|
233
|
+
{#if $$slots.actions && !hideActions}<div class="hulyHeader-divider no-print" />{/if}
|
|
234
|
+
{/if}
|
|
235
|
+
|
|
236
|
+
{#if $$slots.extra && !hideExtra}
|
|
237
|
+
<div
|
|
238
|
+
class="hulyHeader-buttonsGroup extra"
|
|
239
|
+
class:overflow={overflowExtra}
|
|
240
|
+
use:resizeObserver={(element) => {
|
|
241
|
+
if (extraWidth !== element.clientWidth) extraWidth = element.clientWidth
|
|
242
|
+
}}
|
|
243
|
+
>
|
|
244
|
+
<slot name="extra" {doubleRow} />
|
|
245
|
+
</div>
|
|
246
|
+
{/if}
|
|
247
|
+
{#if $$slots.actions && !hideActions}
|
|
248
|
+
<div class="hulyHeader-buttonsGroup actions no-print">
|
|
249
|
+
<slot name="actions" {doubleRow} />
|
|
250
|
+
</div>
|
|
251
|
+
{/if}
|
|
252
|
+
{#if closeButton}
|
|
253
|
+
{#if type !== 'type-popup'}<div class="hulyHeader-divider no-print" />{/if}
|
|
254
|
+
{#if closeOnEscape}
|
|
255
|
+
<div class="hulyHotKey-item no-print">Esc</div>
|
|
256
|
+
{/if}
|
|
257
|
+
<ButtonIcon icon={IconClose} kind={'tertiary'} size={'small'} noPrint on:click={() => dispatch('close')} />
|
|
258
|
+
{/if}
|
|
259
|
+
{/if}
|
|
260
|
+
</div>
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2025 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 HLS, { LoadPolicy } from 'hls.js'
|
|
18
|
+
import { onDestroy, onMount } from 'svelte'
|
|
19
|
+
import Plyr from 'plyr'
|
|
20
|
+
|
|
21
|
+
export let src: string
|
|
22
|
+
export let hlsSrc: string
|
|
23
|
+
export let hlsThumbnail = ''
|
|
24
|
+
export let name: string | undefined = undefined
|
|
25
|
+
export let preload = true
|
|
26
|
+
|
|
27
|
+
let video: HTMLVideoElement | null = null
|
|
28
|
+
let hls: HLS | null = null
|
|
29
|
+
let player: Plyr | null = null
|
|
30
|
+
|
|
31
|
+
const options: Plyr.Options = {}
|
|
32
|
+
|
|
33
|
+
function initialize (src: string): void {
|
|
34
|
+
if (video === null) {
|
|
35
|
+
return
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!HLS.isSupported()) {
|
|
39
|
+
video.src = src
|
|
40
|
+
player = new Plyr(video, options)
|
|
41
|
+
return
|
|
42
|
+
}
|
|
43
|
+
const originalUrl = new URL(src)
|
|
44
|
+
hls?.destroy()
|
|
45
|
+
player?.destroy()
|
|
46
|
+
const loadPolicy: LoadPolicy = {
|
|
47
|
+
default: {
|
|
48
|
+
maxTimeToFirstByteMs: Infinity,
|
|
49
|
+
maxLoadTimeMs: 1000 * 60,
|
|
50
|
+
timeoutRetry: {
|
|
51
|
+
maxNumRetry: 20,
|
|
52
|
+
retryDelayMs: 100,
|
|
53
|
+
maxRetryDelayMs: 250
|
|
54
|
+
},
|
|
55
|
+
errorRetry: {
|
|
56
|
+
maxNumRetry: 20,
|
|
57
|
+
retryDelayMs: 100,
|
|
58
|
+
maxRetryDelayMs: 250,
|
|
59
|
+
shouldRetry: (retryConfig, retryCount) => retryCount < (retryConfig?.maxNumRetry ?? 10)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
hls = new HLS({
|
|
64
|
+
manifestLoadPolicy: loadPolicy,
|
|
65
|
+
playlistLoadPolicy: loadPolicy,
|
|
66
|
+
autoStartLoad: preload,
|
|
67
|
+
xhrSetup: (xhr, url) => {
|
|
68
|
+
const urlObj = new URL(url)
|
|
69
|
+
if (urlObj.searchParams.size > 1) {
|
|
70
|
+
return
|
|
71
|
+
}
|
|
72
|
+
const workspace = originalUrl.searchParams.get('workspace')
|
|
73
|
+
if (workspace == null) {
|
|
74
|
+
return
|
|
75
|
+
}
|
|
76
|
+
xhr.withCredentials = true
|
|
77
|
+
const fileName = urlObj.href.substring(urlObj.href.lastIndexOf('/') + 1)
|
|
78
|
+
urlObj.searchParams.append('file', fileName)
|
|
79
|
+
urlObj.searchParams.append('workspace', workspace)
|
|
80
|
+
xhr.open('GET', urlObj.toString(), true)
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
hls.loadSource(hlsSrc)
|
|
84
|
+
hls.attachMedia(video)
|
|
85
|
+
video.poster = hlsThumbnail
|
|
86
|
+
if (!preload) {
|
|
87
|
+
video.onplay = () => {
|
|
88
|
+
if (video === null) {
|
|
89
|
+
return
|
|
90
|
+
}
|
|
91
|
+
video.onplay = null
|
|
92
|
+
hls?.startLoad()
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
hls.on(HLS.Events.MANIFEST_PARSED, () => {
|
|
96
|
+
if (hls === null) {
|
|
97
|
+
return
|
|
98
|
+
}
|
|
99
|
+
const availableQualities = hls?.levels.map((l) => l.height)
|
|
100
|
+
availableQualities.unshift(0)
|
|
101
|
+
|
|
102
|
+
options.quality = {
|
|
103
|
+
default: 0,
|
|
104
|
+
options: availableQualities,
|
|
105
|
+
forced: true,
|
|
106
|
+
onChange: (e) => {
|
|
107
|
+
updateQuality(e)
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
options.captions = {
|
|
112
|
+
active: false
|
|
113
|
+
}
|
|
114
|
+
options.i18n = {
|
|
115
|
+
qualityLabel: {
|
|
116
|
+
0: 'Auto'
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (video === null) {
|
|
120
|
+
return
|
|
121
|
+
}
|
|
122
|
+
player = new Plyr(video, options)
|
|
123
|
+
})
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
$: initialize(src)
|
|
127
|
+
|
|
128
|
+
onMount(() => {
|
|
129
|
+
initialize(src)
|
|
130
|
+
})
|
|
131
|
+
|
|
132
|
+
onDestroy(() => {
|
|
133
|
+
hls?.destroy()
|
|
134
|
+
player?.destroy()
|
|
135
|
+
})
|
|
136
|
+
|
|
137
|
+
function updateQuality (newQuality: number): void {
|
|
138
|
+
if (hls === null) {
|
|
139
|
+
return
|
|
140
|
+
}
|
|
141
|
+
if (newQuality === 0) {
|
|
142
|
+
hls.currentLevel = -1
|
|
143
|
+
} else {
|
|
144
|
+
hls.levels.forEach((level, levelIndex) => {
|
|
145
|
+
if (level.height === newQuality && hls !== null) {
|
|
146
|
+
hls.currentLevel = levelIndex
|
|
147
|
+
}
|
|
148
|
+
})
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
</script>
|
|
152
|
+
|
|
153
|
+
<!-- svelte-ignore a11y-media-has-caption -->
|
|
154
|
+
<video bind:this={video} width="100%" height="100%" preload={preload ? 'auto' : 'none'} controls />
|
|
155
|
+
|
|
156
|
+
<style lang="scss">
|
|
157
|
+
video {
|
|
158
|
+
border-radius: inherit;
|
|
159
|
+
object-fit: contain;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
video::-webkit-media-controls {
|
|
163
|
+
visibility: hidden;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
video::-webkit-media-controls-enclosure {
|
|
167
|
+
visibility: visible;
|
|
168
|
+
}
|
|
169
|
+
@import 'plyr/dist/plyr.css';
|
|
170
|
+
</style>
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
<script lang="ts">
|
|
16
|
+
import type { AnySvelteComponent } from '../types'
|
|
17
|
+
import Icon from './Icon.svelte'
|
|
18
|
+
import KeyShift from './icons/KeyShift.svelte'
|
|
19
|
+
import KeyOption from './icons/KeyOption.svelte'
|
|
20
|
+
import KeyCommand from './icons/KeyCommand.svelte'
|
|
21
|
+
|
|
22
|
+
export let key: string
|
|
23
|
+
|
|
24
|
+
const predefinedKeys: Record<string, AnySvelteComponent> = {
|
|
25
|
+
shift: KeyShift,
|
|
26
|
+
option: KeyOption,
|
|
27
|
+
command: KeyCommand
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
$: isPredefinedKey = key in predefinedKeys
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<span class="hotkey flex-center min-w-4 h-4 font-regular-11" class:text={!isPredefinedKey}>
|
|
34
|
+
{#if isPredefinedKey}
|
|
35
|
+
<Icon icon={predefinedKeys[key]} size="x-small" />
|
|
36
|
+
{:else}
|
|
37
|
+
{key}
|
|
38
|
+
{/if}
|
|
39
|
+
</span>
|
|
40
|
+
|
|
41
|
+
<style lang="scss">
|
|
42
|
+
.hotkey {
|
|
43
|
+
border-radius: var(--min-BorderRadius);
|
|
44
|
+
background-color: var(--global-ui-hover-BackgroundColor);
|
|
45
|
+
|
|
46
|
+
&.text {
|
|
47
|
+
padding: 0 var(--spacing-0_5);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
</style>
|