@hanzo/ui 0.5.24 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,88 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2020 Hanzo <dev@hanzo.ai>.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { Asset, IntlString } from '@hanzo/platform'
|
|
17
|
+
import { ComponentType } from 'svelte'
|
|
18
|
+
import type { AnySvelteComponent, TooltipAlignment } from '../types'
|
|
19
|
+
|
|
20
|
+
import { tooltip } from '../tooltips'
|
|
21
|
+
import Icon from './Icon.svelte'
|
|
22
|
+
|
|
23
|
+
export let label: IntlString = '' as IntlString
|
|
24
|
+
export let labelProps: any = undefined
|
|
25
|
+
export let direction: TooltipAlignment | undefined = undefined
|
|
26
|
+
export let icon: Asset | AnySvelteComponent | ComponentType
|
|
27
|
+
export let iconProps: any | undefined = undefined
|
|
28
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large'
|
|
29
|
+
export let action: (ev: MouseEvent) => Promise<void> | void = async () => {}
|
|
30
|
+
export let invisible: boolean = false
|
|
31
|
+
export let disabled: boolean = false
|
|
32
|
+
export let keys: string[] | undefined = undefined
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<button
|
|
36
|
+
class="button {size}"
|
|
37
|
+
use:tooltip={{ label, direction, props: labelProps, keys }}
|
|
38
|
+
tabindex="0"
|
|
39
|
+
on:click|stopPropagation|preventDefault={action}
|
|
40
|
+
on:contextmenu
|
|
41
|
+
{disabled}
|
|
42
|
+
>
|
|
43
|
+
<div class="icon {size}" class:invisible>
|
|
44
|
+
<Icon {icon} {size} {iconProps} />
|
|
45
|
+
</div>
|
|
46
|
+
</button>
|
|
47
|
+
|
|
48
|
+
<style lang="scss">
|
|
49
|
+
.button {
|
|
50
|
+
color: inherit;
|
|
51
|
+
border: none;
|
|
52
|
+
border-radius: 0.125rem;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
|
|
55
|
+
.icon {
|
|
56
|
+
color: var(--theme-halfcontent-color);
|
|
57
|
+
&.invisible {
|
|
58
|
+
opacity: 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
&:not(:disabled):hover .icon {
|
|
62
|
+
color: var(--theme-caption-color);
|
|
63
|
+
opacity: 1;
|
|
64
|
+
}
|
|
65
|
+
&:focus-visible {
|
|
66
|
+
box-shadow: 0 0 0 2px var(--primary-button-outline);
|
|
67
|
+
.icon {
|
|
68
|
+
color: var(--theme-caption-color);
|
|
69
|
+
opacity: 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
&:disabled {
|
|
73
|
+
cursor: default;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
.small {
|
|
77
|
+
width: 1rem;
|
|
78
|
+
height: 1rem;
|
|
79
|
+
}
|
|
80
|
+
.medium {
|
|
81
|
+
width: 1.25rem;
|
|
82
|
+
height: 1.25rem;
|
|
83
|
+
}
|
|
84
|
+
.large {
|
|
85
|
+
width: 1.5rem;
|
|
86
|
+
height: 1.5rem;
|
|
87
|
+
}
|
|
88
|
+
</style>
|
|
@@ -0,0 +1,47 @@
|
|
|
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 { DashboardItem } from '../types'
|
|
17
|
+
import MultiProgress from './MultiProgress.svelte'
|
|
18
|
+
|
|
19
|
+
export let items: DashboardItem[] = []
|
|
20
|
+
|
|
21
|
+
$: max = Math.max(...items.map((p) => p.values.reduce((acc, val) => (acc += val.value), 0)))
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<div class="grid">
|
|
25
|
+
{#each items as item (item._id)}
|
|
26
|
+
<div>
|
|
27
|
+
{item.label}
|
|
28
|
+
</div>
|
|
29
|
+
<div class="w-full max-w-240">
|
|
30
|
+
<MultiProgress {max} values={item.values} />
|
|
31
|
+
</div>
|
|
32
|
+
{/each}
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<style lang="scss">
|
|
36
|
+
.grid {
|
|
37
|
+
display: grid;
|
|
38
|
+
grid-auto-flow: column;
|
|
39
|
+
justify-content: flex-start;
|
|
40
|
+
align-items: center;
|
|
41
|
+
row-gap: 1rem;
|
|
42
|
+
column-gap: 1rem;
|
|
43
|
+
|
|
44
|
+
grid-template-columns: 1fr 5fr;
|
|
45
|
+
grid-auto-flow: row;
|
|
46
|
+
}
|
|
47
|
+
</style>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let value: any
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<div class="container" class:yes={value === true} class:no={value === false}>
|
|
6
|
+
<svg class="svg-small" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
7
|
+
<circle class:yes={value === true} class:no={value === false} cx="8" cy="8" r="6" />
|
|
8
|
+
{#if value === true}
|
|
9
|
+
<polygon fill="#fff" points="7.4,10.9 4.9,8.4 5.7,7.6 7.3,9.1 10.2,5.6 11.1,6.4 " />
|
|
10
|
+
{:else if value === false}
|
|
11
|
+
<polygon fill="#fff" points="10.7,6 10,5.3 8,7.3 6,5.3 5.3,6 7.3,8 5.3,10 6,10.7 8,8.7 10,10.7 10.7,10 8.7,8 " />
|
|
12
|
+
{:else}
|
|
13
|
+
<path
|
|
14
|
+
fill="#fff"
|
|
15
|
+
d="M7.3,9.3h1.3V9c0.1-0.5,0.6-0.9,1.1-1.4c0.4-0.4,0.8-0.9,0.8-1.6c0-1.1-0.8-1.8-2.2-1.8c-1.4,0-2.4,0.8-2.5,2.2 h1.4c0.1-0.6,0.4-1,1-1C8.8,5.4,9,5.7,9,6.2c0,0.4-0.3,0.7-0.7,1.1c-0.5,0.5-1,0.9-1,1.7V9.3z M8,11.6c0.5,0,0.9-0.4,0.9-0.9 c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9C7.1,11.2,7.5,11.6,8,11.6z"
|
|
16
|
+
/>
|
|
17
|
+
{/if}
|
|
18
|
+
</svg>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<style lang="scss">
|
|
22
|
+
.container {
|
|
23
|
+
fill: #77818e;
|
|
24
|
+
&.yes {
|
|
25
|
+
fill: #77c07b;
|
|
26
|
+
}
|
|
27
|
+
&.no {
|
|
28
|
+
fill: #f96e50;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2023 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { Asset, IntlString } from '@hanzo/platform'
|
|
17
|
+
import { AnySvelteComponent } from '../types'
|
|
18
|
+
import { ComponentType } from 'svelte'
|
|
19
|
+
import Icon from './Icon.svelte'
|
|
20
|
+
import Label from './Label.svelte'
|
|
21
|
+
|
|
22
|
+
export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
|
|
23
|
+
export let iconProps: any | undefined = undefined
|
|
24
|
+
export let iconWidth: string | undefined = undefined
|
|
25
|
+
export let iconMargin: string | undefined = undefined
|
|
26
|
+
export let withoutIconBackground = false
|
|
27
|
+
export let label: IntlString | undefined = undefined
|
|
28
|
+
export let title: string | undefined = undefined
|
|
29
|
+
export let size: 'large' | 'small'
|
|
30
|
+
export let isCurrent: boolean = false
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<button class="hulyBreadcrumb-container {size}" class:current={isCurrent} on:click>
|
|
34
|
+
{#if size === 'large' && icon}
|
|
35
|
+
<div
|
|
36
|
+
class="hulyBreadcrumb-avatar"
|
|
37
|
+
style:width={iconWidth ?? null}
|
|
38
|
+
style:margin={iconMargin}
|
|
39
|
+
class:withoutIconBackground
|
|
40
|
+
>
|
|
41
|
+
<Icon {icon} size={'small'} {iconProps} />
|
|
42
|
+
</div>
|
|
43
|
+
{/if}
|
|
44
|
+
<span
|
|
45
|
+
class="{size === 'large'
|
|
46
|
+
? 'heading-medium-16'
|
|
47
|
+
: 'font-regular-14'} line-height-auto hulyBreadcrumb-label overflow-label"
|
|
48
|
+
>
|
|
49
|
+
{#if label}<Label {label} />{/if}
|
|
50
|
+
{#if title}{title}{/if}
|
|
51
|
+
</span>
|
|
52
|
+
</button>
|
|
53
|
+
|
|
54
|
+
<style lang="scss">
|
|
55
|
+
.hulyBreadcrumb-container {
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
gap: var(--spacing-0_75);
|
|
59
|
+
margin: 0;
|
|
60
|
+
padding: 0 var(--spacing-1);
|
|
61
|
+
min-width: 0;
|
|
62
|
+
border: none;
|
|
63
|
+
outline: none;
|
|
64
|
+
cursor: default;
|
|
65
|
+
|
|
66
|
+
.hulyBreadcrumb-avatar {
|
|
67
|
+
display: flex;
|
|
68
|
+
justify-content: center;
|
|
69
|
+
align-items: center;
|
|
70
|
+
flex-shrink: 0;
|
|
71
|
+
padding: var(--spacing-0_5);
|
|
72
|
+
width: var(--global-extra-small-Size);
|
|
73
|
+
height: var(--global-extra-small-Size);
|
|
74
|
+
color: var(--global-secondary-TextColor);
|
|
75
|
+
background-color: var(--global-ui-BackgroundColor);
|
|
76
|
+
border-radius: var(--extra-small-BorderRadius);
|
|
77
|
+
|
|
78
|
+
&.withoutIconBackground {
|
|
79
|
+
background-color: transparent;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
.hulyBreadcrumb-label {
|
|
83
|
+
padding: var(--spacing-0_5) 0;
|
|
84
|
+
color: var(--global-secondary-TextColor);
|
|
85
|
+
}
|
|
86
|
+
&.current .hulyBreadcrumb-label {
|
|
87
|
+
font-weight: 700;
|
|
88
|
+
}
|
|
89
|
+
&:not(.current) {
|
|
90
|
+
cursor: pointer;
|
|
91
|
+
|
|
92
|
+
&:hover {
|
|
93
|
+
.hulyBreadcrumb-avatar {
|
|
94
|
+
background-color: var(--global-ui-hover-BackgroundColor);
|
|
95
|
+
}
|
|
96
|
+
.hulyBreadcrumb-label {
|
|
97
|
+
color: var(--global-primary-LinkColor);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
</style>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2023 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { IntlString } from '@hanzo/platform'
|
|
17
|
+
import { createEventDispatcher } from 'svelte'
|
|
18
|
+
import { BreadcrumbItem } from '../types'
|
|
19
|
+
import Breadcrumb from './Breadcrumb.svelte'
|
|
20
|
+
import ChevronRight from './icons/ChevronRight.svelte'
|
|
21
|
+
import Label from './Label.svelte'
|
|
22
|
+
|
|
23
|
+
export let items: BreadcrumbItem[]
|
|
24
|
+
export let afterLabel: IntlString | undefined = undefined
|
|
25
|
+
export let size: 'large' | 'small' = 'large'
|
|
26
|
+
export let selected: number | null = null
|
|
27
|
+
export let currentOnly: boolean = false
|
|
28
|
+
export let hideAfter: boolean = false
|
|
29
|
+
|
|
30
|
+
const dispatch = createEventDispatcher()
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div class="hulyBreadcrumbs-container {size}">
|
|
34
|
+
{#each items as item, i}
|
|
35
|
+
{#if i !== 0}<ChevronRight size={'small'} />{/if}
|
|
36
|
+
<Breadcrumb
|
|
37
|
+
{...item}
|
|
38
|
+
{size}
|
|
39
|
+
isCurrent={selected === i || currentOnly}
|
|
40
|
+
on:click={() => {
|
|
41
|
+
if (selected !== i) dispatch('select', i)
|
|
42
|
+
}}
|
|
43
|
+
/>
|
|
44
|
+
{/each}
|
|
45
|
+
{#if (afterLabel || $$slots.afterLabel) && !hideAfter}
|
|
46
|
+
<span class="hulyBreadcrumbs-afterLabel font-medium-12">
|
|
47
|
+
{#if afterLabel}<Label label={afterLabel} />{/if}
|
|
48
|
+
<slot name="afterLabel" />
|
|
49
|
+
</span>
|
|
50
|
+
{/if}
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<style lang="scss">
|
|
54
|
+
.hulyBreadcrumbs-container {
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
height: var(--global-small-Size);
|
|
58
|
+
min-width: 0;
|
|
59
|
+
|
|
60
|
+
.hulyBreadcrumbs-afterLabel {
|
|
61
|
+
max-width: 10rem;
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
word-break: break-all;
|
|
64
|
+
text-overflow: ellipsis;
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
padding: var(--spacing-0_25) var(--spacing-0_5);
|
|
67
|
+
text-transform: uppercase;
|
|
68
|
+
background-color: var(--global-ui-hover-BackgroundColor);
|
|
69
|
+
color: var(--global-secondary-TextColor);
|
|
70
|
+
border-radius: 0.25rem;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -0,0 +1,196 @@
|
|
|
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 { Asset, IntlString } from '@hanzo/platform'
|
|
17
|
+
import { ComponentType, onMount } from 'svelte'
|
|
18
|
+
import { checkAdaptiveMatching, deviceOptionsStore as deviceInfo } from '..'
|
|
19
|
+
import { registerFocus } from '../focus'
|
|
20
|
+
import { tooltip } from '../tooltips'
|
|
21
|
+
import type {
|
|
22
|
+
AnySvelteComponent,
|
|
23
|
+
ButtonKind,
|
|
24
|
+
ButtonShape,
|
|
25
|
+
ButtonSize,
|
|
26
|
+
IconProps,
|
|
27
|
+
LabelAndProps,
|
|
28
|
+
WidthType
|
|
29
|
+
} from '../types'
|
|
30
|
+
import Icon from './Icon.svelte'
|
|
31
|
+
import Label from './Label.svelte'
|
|
32
|
+
import Spinner from './Spinner.svelte'
|
|
33
|
+
import { Analytics } from '@hanzo/analytics'
|
|
34
|
+
|
|
35
|
+
export let label: IntlString | undefined = undefined
|
|
36
|
+
export let labelParams: Record<string, any> = {}
|
|
37
|
+
export let kind: ButtonKind = 'regular'
|
|
38
|
+
export let size: ButtonSize = 'medium'
|
|
39
|
+
export let shape: ButtonShape = undefined
|
|
40
|
+
export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
|
|
41
|
+
export let iconProps: IconProps = {}
|
|
42
|
+
export let iconRight: Asset | AnySvelteComponent | ComponentType | undefined = undefined
|
|
43
|
+
export let iconRightProps: IconProps = {}
|
|
44
|
+
export let justify: 'left' | 'center' = 'center'
|
|
45
|
+
export let padding: string = '0 .75rem'
|
|
46
|
+
export let disabled: boolean = false
|
|
47
|
+
export let loading: boolean = false
|
|
48
|
+
export let width: string | undefined = undefined
|
|
49
|
+
export let minWidth: string | undefined = undefined
|
|
50
|
+
export let height: string | undefined = undefined
|
|
51
|
+
export let resetIconSize: 'none' | 'icon' | 'full' = 'none'
|
|
52
|
+
export let highlight: boolean = false
|
|
53
|
+
export let pressed: boolean = false
|
|
54
|
+
export let selected: boolean = false
|
|
55
|
+
export let notSelected: boolean = false
|
|
56
|
+
export let focus: boolean = false
|
|
57
|
+
export let click: boolean = false
|
|
58
|
+
export let title: string | undefined = undefined
|
|
59
|
+
export let borderStyle: 'solid' | 'dashed' | 'none' = 'solid'
|
|
60
|
+
export let id: string | undefined = undefined
|
|
61
|
+
export let dataId: string | undefined = undefined
|
|
62
|
+
export let input: HTMLButtonElement | undefined = undefined
|
|
63
|
+
export let showTooltip: LabelAndProps | undefined = undefined
|
|
64
|
+
export let short: boolean = false
|
|
65
|
+
export let shrink: number = 0
|
|
66
|
+
export let flex: string | undefined = undefined
|
|
67
|
+
export let accent: boolean = false
|
|
68
|
+
export let noFocus: boolean = false
|
|
69
|
+
export let noPrint: boolean = false
|
|
70
|
+
export let adaptiveShrink: WidthType | null = null
|
|
71
|
+
export let gap: 'medium' | 'large' = 'medium'
|
|
72
|
+
export let stopPropagation: boolean = true
|
|
73
|
+
export let event: string | undefined = undefined
|
|
74
|
+
|
|
75
|
+
$: iconSize = iconProps?.size !== undefined ? iconProps.size : size && size === 'inline' ? 'inline' : 'small'
|
|
76
|
+
$: iconRightSize = iconRightProps?.size !== undefined ? iconRightProps.size : 'x-small'
|
|
77
|
+
let iconOnly: boolean = false
|
|
78
|
+
$: iconOnly =
|
|
79
|
+
label === undefined &&
|
|
80
|
+
$$slots.content === undefined &&
|
|
81
|
+
(icon !== undefined || iconRight !== undefined || $$slots.icon || $$slots.iconRight)
|
|
82
|
+
$: primary = ['primary', 'secondary', 'positive', 'negative'].some((p) => p === kind)
|
|
83
|
+
|
|
84
|
+
$: devSize = $deviceInfo.size
|
|
85
|
+
$: adaptive = adaptiveShrink !== null ? checkAdaptiveMatching(devSize, adaptiveShrink) : false
|
|
86
|
+
|
|
87
|
+
onMount(() => {
|
|
88
|
+
if (focus && input) {
|
|
89
|
+
input.focus()
|
|
90
|
+
focus = false
|
|
91
|
+
}
|
|
92
|
+
if (click && input) {
|
|
93
|
+
input.click()
|
|
94
|
+
click = false
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
// Focusable control with index
|
|
99
|
+
export let focusIndex = -1
|
|
100
|
+
const { idx, focusManager } = registerFocus(focusIndex, {
|
|
101
|
+
focus: () => {
|
|
102
|
+
if (!disabled) {
|
|
103
|
+
input?.focus()
|
|
104
|
+
}
|
|
105
|
+
return !disabled && input != null
|
|
106
|
+
},
|
|
107
|
+
isFocus: () => document.activeElement === input
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
$: if (idx !== -1 && focusManager) {
|
|
111
|
+
focusManager.updateFocus(idx, focusIndex)
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const updateFocus = () => {
|
|
115
|
+
focusManager?.setFocus(idx)
|
|
116
|
+
}
|
|
117
|
+
$: if (input != null) {
|
|
118
|
+
input.addEventListener('focus', updateFocus, { once: true })
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function preventHandler (e: MouseEvent) {
|
|
122
|
+
if (stopPropagation) {
|
|
123
|
+
e.preventDefault()
|
|
124
|
+
e.stopPropagation()
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
</script>
|
|
128
|
+
|
|
129
|
+
<!-- {focusIndex} -->
|
|
130
|
+
<button
|
|
131
|
+
use:tooltip={showTooltip}
|
|
132
|
+
bind:this={input}
|
|
133
|
+
class="antiButton {kind} {size} jf-{justify} sh-{shape ?? 'no-shape'} bs-{borderStyle} gap-{gap}"
|
|
134
|
+
class:only-icon={iconOnly || adaptive}
|
|
135
|
+
class:no-focus={noFocus}
|
|
136
|
+
class:no-print={noPrint}
|
|
137
|
+
class:accent
|
|
138
|
+
class:highlight
|
|
139
|
+
class:pressed
|
|
140
|
+
class:selected
|
|
141
|
+
class:notSelected
|
|
142
|
+
class:iconL={(icon || $$slots.icon) && (label || $$slots.content)}
|
|
143
|
+
class:iconR={(iconRight || $$slots.iconRight) && (label || $$slots.content)}
|
|
144
|
+
disabled={disabled || loading}
|
|
145
|
+
class:short
|
|
146
|
+
class:resetIconSize={resetIconSize === 'full'}
|
|
147
|
+
style:min-width={minWidth}
|
|
148
|
+
style:width
|
|
149
|
+
style:height
|
|
150
|
+
style:flex
|
|
151
|
+
style:flex-shrink={shrink}
|
|
152
|
+
style:padding
|
|
153
|
+
{title}
|
|
154
|
+
type={kind === 'primary' ? 'submit' : 'button'}
|
|
155
|
+
on:click={preventHandler}
|
|
156
|
+
on:click={() => {
|
|
157
|
+
if (event) {
|
|
158
|
+
Analytics.handleEvent(event)
|
|
159
|
+
}
|
|
160
|
+
}}
|
|
161
|
+
on:click
|
|
162
|
+
on:focus
|
|
163
|
+
on:blur
|
|
164
|
+
on:mousemove
|
|
165
|
+
on:mouseleave
|
|
166
|
+
{id}
|
|
167
|
+
data-id={dataId}
|
|
168
|
+
>
|
|
169
|
+
{#if icon && !loading}
|
|
170
|
+
<div class="btn-icon pointer-events-none" class:resetIconSize={resetIconSize === 'icon'}>
|
|
171
|
+
<Icon bind:icon size={iconSize} {iconProps} />
|
|
172
|
+
</div>
|
|
173
|
+
{/if}
|
|
174
|
+
{#if loading}
|
|
175
|
+
<div
|
|
176
|
+
class="btn-icon pointer-events-none spinner"
|
|
177
|
+
class:resetIconSize={resetIconSize === 'icon'}
|
|
178
|
+
style:color={primary ? 'var(--primary-button-color)' : 'var(--theme-caption-color)'}
|
|
179
|
+
>
|
|
180
|
+
<Spinner size={iconSize === 'inline' ? 'inline' : 'small'} />
|
|
181
|
+
</div>
|
|
182
|
+
{/if}
|
|
183
|
+
{#if label && !adaptive}
|
|
184
|
+
<span class="overflow-label label disabled pointer-events-none" class:ml-2={loading}>
|
|
185
|
+
<Label {label} params={labelParams} />
|
|
186
|
+
</span>
|
|
187
|
+
{/if}
|
|
188
|
+
{#if iconRight}
|
|
189
|
+
<div class="btn-right-icon pointer-events-none" class:resetIconSize={resetIconSize === 'icon'}>
|
|
190
|
+
<Icon bind:icon={iconRight} size={iconRightSize} iconProps={iconRightProps} />
|
|
191
|
+
</div>
|
|
192
|
+
{/if}
|
|
193
|
+
{#if $$slots.icon}<slot name="icon" />{/if}
|
|
194
|
+
{#if $$slots.content}<slot name="content" />{/if}
|
|
195
|
+
{#if $$slots.iconRight}<slot name="iconRight" />{/if}
|
|
196
|
+
</button>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2023 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { Asset, IntlString } from '@hanzo/platform'
|
|
17
|
+
import { AnySvelteComponent, ButtonBaseKind, ButtonBaseSize, ButtonBaseType, IconSize, LabelAndProps } from '../types'
|
|
18
|
+
import { tooltip as tp } from '../tooltips'
|
|
19
|
+
import { registerFocus } from '../focus'
|
|
20
|
+
import { ComponentType, onMount } from 'svelte'
|
|
21
|
+
import Spinner from './Spinner.svelte'
|
|
22
|
+
import Icon from './Icon.svelte'
|
|
23
|
+
import Label from './Label.svelte'
|
|
24
|
+
|
|
25
|
+
export let title: string | undefined = undefined
|
|
26
|
+
export let label: IntlString | undefined = undefined
|
|
27
|
+
export let labelParams: Record<string, any> = {}
|
|
28
|
+
export let icon: Asset | AnySvelteComponent | ComponentType | undefined = undefined
|
|
29
|
+
export let iconSize: IconSize | undefined = undefined
|
|
30
|
+
export let iconProps: any | undefined = undefined
|
|
31
|
+
export let kind: ButtonBaseKind
|
|
32
|
+
export let size: ButtonBaseSize
|
|
33
|
+
export let disabled: boolean = false
|
|
34
|
+
export let loading: boolean = false
|
|
35
|
+
export let pressed: boolean = false
|
|
36
|
+
export let hasMenu: boolean = false
|
|
37
|
+
export let noPrint: boolean = false
|
|
38
|
+
export let autoFocus: boolean = false
|
|
39
|
+
export let type: ButtonBaseType
|
|
40
|
+
export let inheritColor: boolean = false
|
|
41
|
+
export let inheritFont: boolean = false
|
|
42
|
+
export let tooltip: LabelAndProps | undefined = undefined
|
|
43
|
+
export let element: HTMLButtonElement | undefined = undefined
|
|
44
|
+
export let shape: 'rectangle' | 'round' = 'rectangle'
|
|
45
|
+
export let id: string | undefined = undefined
|
|
46
|
+
export let dataId: string | undefined = undefined
|
|
47
|
+
|
|
48
|
+
let actualIconSize: IconSize = 'small'
|
|
49
|
+
|
|
50
|
+
$: if (iconSize) {
|
|
51
|
+
actualIconSize = iconSize
|
|
52
|
+
} else if (type === 'type-button' && !hasMenu && iconProps?.size === undefined) {
|
|
53
|
+
actualIconSize = 'medium'
|
|
54
|
+
}
|
|
55
|
+
$: iconOnly = title === undefined && label === undefined && $$slots.default === undefined && icon !== undefined
|
|
56
|
+
|
|
57
|
+
export function focus () {
|
|
58
|
+
element?.focus()
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
onMount(() => {
|
|
62
|
+
if (autoFocus && element) {
|
|
63
|
+
element.focus()
|
|
64
|
+
autoFocus = false
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
// Focusable control with index
|
|
69
|
+
export let focusIndex = -1
|
|
70
|
+
const { idx, focusManager } = registerFocus(focusIndex, {
|
|
71
|
+
focus: () => {
|
|
72
|
+
if (!disabled) {
|
|
73
|
+
element?.focus()
|
|
74
|
+
}
|
|
75
|
+
return !disabled && element != null
|
|
76
|
+
},
|
|
77
|
+
isFocus: () => document.activeElement === element
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
$: if (idx !== -1 && focusManager) {
|
|
81
|
+
focusManager.updateFocus(idx, focusIndex)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const updateFocus = () => {
|
|
85
|
+
focusManager?.setFocus(idx)
|
|
86
|
+
}
|
|
87
|
+
$: if (element != null) {
|
|
88
|
+
element.addEventListener('focus', updateFocus, { once: true })
|
|
89
|
+
}
|
|
90
|
+
</script>
|
|
91
|
+
|
|
92
|
+
<button
|
|
93
|
+
{id}
|
|
94
|
+
bind:this={element}
|
|
95
|
+
class="hulyButton font-medium-14 {kind} {size} {type} {shape}"
|
|
96
|
+
class:loading
|
|
97
|
+
class:pressed
|
|
98
|
+
class:inheritColor
|
|
99
|
+
class:inheritFont
|
|
100
|
+
class:menu={hasMenu}
|
|
101
|
+
class:iconOnly
|
|
102
|
+
class:no-print={noPrint}
|
|
103
|
+
disabled={loading || disabled}
|
|
104
|
+
data-id={dataId}
|
|
105
|
+
use:tp={tooltip}
|
|
106
|
+
on:click|stopPropagation|preventDefault
|
|
107
|
+
on:keydown
|
|
108
|
+
>
|
|
109
|
+
{#if loading}
|
|
110
|
+
<div class="icon no-gap"><Spinner size={'small'} /></div>
|
|
111
|
+
{:else if icon}
|
|
112
|
+
<div class="icon no-gap"><Icon {icon} {iconProps} size={actualIconSize} /></div>
|
|
113
|
+
{/if}
|
|
114
|
+
{#if label}<span><Label {label} params={labelParams} /></span>{/if}
|
|
115
|
+
{#if title}<span>{title}</span>{/if}
|
|
116
|
+
<slot />
|
|
117
|
+
</button>
|