@hanzo/ui 0.5.23 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,41 @@
|
|
|
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 } from 'svelte'
|
|
17
|
+
import TimeInputBox from './TimeInputBox.svelte'
|
|
18
|
+
|
|
19
|
+
export let currentDate: Date
|
|
20
|
+
|
|
21
|
+
const dispatch = createEventDispatcher()
|
|
22
|
+
|
|
23
|
+
function close (): void {
|
|
24
|
+
currentDate.setSeconds(0, 0)
|
|
25
|
+
dispatch('close', { value: currentDate })
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function canClose (): boolean {
|
|
29
|
+
return true
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div class="antiPopup popup">
|
|
34
|
+
<TimeInputBox bind:currentDate on:close={close} />
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<style lang="scss">
|
|
38
|
+
.popup {
|
|
39
|
+
border-radius: 0.5rem;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
@@ -0,0 +1,282 @@
|
|
|
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 { afterUpdate, createEventDispatcher } from 'svelte'
|
|
17
|
+
import ui from '../../plugin'
|
|
18
|
+
import Label from '../Label.svelte'
|
|
19
|
+
import { fromCurrentToTz, fromTzToCurrent } from './internal/DateUtils'
|
|
20
|
+
|
|
21
|
+
export let currentDate: Date
|
|
22
|
+
export let size: 'small' | 'medium' | 'narrow' = 'medium'
|
|
23
|
+
export let noBorder: boolean = false
|
|
24
|
+
export let disabled: boolean = false
|
|
25
|
+
export let timeZone: string | undefined = undefined
|
|
26
|
+
|
|
27
|
+
type TEdits = 'hour' | 'min'
|
|
28
|
+
interface IEdits {
|
|
29
|
+
id: TEdits
|
|
30
|
+
value: number
|
|
31
|
+
el?: HTMLElement
|
|
32
|
+
}
|
|
33
|
+
const editsType: TEdits[] = ['hour', 'min']
|
|
34
|
+
const getIndex = (id: TEdits): number => editsType.indexOf(id)
|
|
35
|
+
let edits: IEdits[] = editsType.map((edit) => {
|
|
36
|
+
return { id: edit, value: -1 }
|
|
37
|
+
})
|
|
38
|
+
let selected: TEdits | null = null
|
|
39
|
+
let startTyping: boolean = false
|
|
40
|
+
|
|
41
|
+
const dispatch = createEventDispatcher()
|
|
42
|
+
|
|
43
|
+
const setValue = (val: number, date: Date | null, id: TEdits, timeZone: string | undefined): Date => {
|
|
44
|
+
if (date == null) date = new Date()
|
|
45
|
+
const value = timeZone ? fromTzToCurrent(date, timeZone) : new Date(date)
|
|
46
|
+
switch (id) {
|
|
47
|
+
case 'hour':
|
|
48
|
+
date = new Date(value.setHours(val))
|
|
49
|
+
break
|
|
50
|
+
case 'min':
|
|
51
|
+
date = new Date(value.setMinutes(val))
|
|
52
|
+
break
|
|
53
|
+
}
|
|
54
|
+
return date
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const getMaxValue = (date: Date | null, id: TEdits): number => {
|
|
58
|
+
if (date == null) date = new Date()
|
|
59
|
+
switch (id) {
|
|
60
|
+
case 'hour':
|
|
61
|
+
return 23
|
|
62
|
+
case 'min':
|
|
63
|
+
return 59
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const getValue = (date: Date, id: TEdits, timeZone: string | undefined): number => {
|
|
68
|
+
const value = timeZone ? fromCurrentToTz(date, timeZone) : new Date(date)
|
|
69
|
+
switch (id) {
|
|
70
|
+
case 'hour':
|
|
71
|
+
return value.getHours()
|
|
72
|
+
case 'min':
|
|
73
|
+
return value.getMinutes()
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const dateToEdits = (currentDate: Date | null, timeZone: string | undefined): void => {
|
|
78
|
+
if (currentDate == null) {
|
|
79
|
+
edits.forEach((edit) => {
|
|
80
|
+
edit.value = -1
|
|
81
|
+
})
|
|
82
|
+
} else {
|
|
83
|
+
for (const edit of edits) {
|
|
84
|
+
edit.value = getValue(currentDate, edit.id, timeZone)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
edits = edits
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export const isNull = (currentDate?: Date): boolean => {
|
|
91
|
+
if (currentDate !== undefined) {
|
|
92
|
+
dateToEdits(currentDate, timeZone)
|
|
93
|
+
}
|
|
94
|
+
let result: boolean = false
|
|
95
|
+
edits.forEach((edit, i) => {
|
|
96
|
+
if (edit.value === -1) result = true
|
|
97
|
+
})
|
|
98
|
+
return result
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const keyDown = (ev: KeyboardEvent, ed: TEdits): void => {
|
|
102
|
+
if (selected === ed && !disabled) {
|
|
103
|
+
const index = getIndex(ed)
|
|
104
|
+
if (ev.key >= '0' && ev.key <= '9') {
|
|
105
|
+
const shouldNext = !startTyping
|
|
106
|
+
const num: number = parseInt(ev.key, 10)
|
|
107
|
+
if (startTyping) {
|
|
108
|
+
if (num === 0) edits[index].value = 0
|
|
109
|
+
else {
|
|
110
|
+
edits[index].value = num
|
|
111
|
+
}
|
|
112
|
+
startTyping = false
|
|
113
|
+
} else if (edits[index].value * 10 + num > getMaxValue(currentDate, ed)) {
|
|
114
|
+
edits[index].value = getMaxValue(currentDate, ed)
|
|
115
|
+
} else {
|
|
116
|
+
edits[index].value = edits[index].value * 10 + num
|
|
117
|
+
}
|
|
118
|
+
if (!isNull() && !startTyping) {
|
|
119
|
+
fixEdits()
|
|
120
|
+
currentDate = setValue(edits[index].value, currentDate, ed, timeZone)
|
|
121
|
+
dateToEdits(currentDate, timeZone)
|
|
122
|
+
}
|
|
123
|
+
edits = edits
|
|
124
|
+
dispatch('update', currentDate)
|
|
125
|
+
|
|
126
|
+
if (selected === 'hour' && (shouldNext || edits[0].value > 2)) selected = 'min'
|
|
127
|
+
}
|
|
128
|
+
if (ev.code === 'Enter') {
|
|
129
|
+
dispatch('close', currentDate)
|
|
130
|
+
}
|
|
131
|
+
if (ev.code === 'Backspace') {
|
|
132
|
+
edits[index].value = -1
|
|
133
|
+
startTyping = true
|
|
134
|
+
}
|
|
135
|
+
if (ev.code === 'ArrowUp' || (ev.code === 'ArrowDown' && edits[index].el)) {
|
|
136
|
+
if (edits[index].value !== -1) {
|
|
137
|
+
const val = ev.code === 'ArrowUp' ? edits[index].value + 1 : edits[index].value - 1
|
|
138
|
+
if (currentDate) {
|
|
139
|
+
currentDate = setValue(val, currentDate, ed, timeZone)
|
|
140
|
+
dateToEdits(currentDate, timeZone)
|
|
141
|
+
dispatch('update', currentDate)
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (ev.code === 'ArrowLeft' && edits[index].el) {
|
|
146
|
+
selected = index === 0 ? edits[1].id : edits[index - 1].id
|
|
147
|
+
}
|
|
148
|
+
if (ev.code === 'ArrowRight' && edits[index].el) {
|
|
149
|
+
selected = index === 1 ? edits[0].id : edits[index + 1].id
|
|
150
|
+
}
|
|
151
|
+
if (ev.code === 'Tab') {
|
|
152
|
+
if (ed === 'min') dispatch('save')
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
export const focused = (ed: TEdits): void => {
|
|
157
|
+
selected = ed
|
|
158
|
+
startTyping = true
|
|
159
|
+
}
|
|
160
|
+
const fixEdits = (): void => {
|
|
161
|
+
const h: number = edits[0].value === -1 ? 0 : edits[0].value
|
|
162
|
+
const m: number = edits[1].value === -1 ? 0 : edits[1].value
|
|
163
|
+
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), h, m)
|
|
164
|
+
dispatch('save')
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
$: dateToEdits(currentDate, timeZone)
|
|
168
|
+
$: if (selected && edits[getIndex(selected)].el) edits[getIndex(selected)].el?.focus()
|
|
169
|
+
|
|
170
|
+
afterUpdate(() => {
|
|
171
|
+
if (selected) edits[getIndex(selected)].el?.focus()
|
|
172
|
+
})
|
|
173
|
+
</script>
|
|
174
|
+
|
|
175
|
+
<div class="datetime-input {size}" class:noBorder class:disabled>
|
|
176
|
+
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
|
|
177
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
178
|
+
<span
|
|
179
|
+
bind:this={edits[0].el}
|
|
180
|
+
class="digit"
|
|
181
|
+
tabindex="0"
|
|
182
|
+
on:keydown={(ev) => {
|
|
183
|
+
keyDown(ev, edits[0].id)
|
|
184
|
+
}}
|
|
185
|
+
on:focus={() => {
|
|
186
|
+
focused(edits[0].id)
|
|
187
|
+
}}
|
|
188
|
+
on:blur={() => (selected = null)}
|
|
189
|
+
>
|
|
190
|
+
{#if edits[0].value > -1}
|
|
191
|
+
{edits[0].value.toString().padStart(2, '0')}
|
|
192
|
+
{:else}<Label label={ui.string.HH} />{/if}
|
|
193
|
+
</span>
|
|
194
|
+
<span class="separator">:</span>
|
|
195
|
+
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
|
|
196
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
197
|
+
<span
|
|
198
|
+
bind:this={edits[1].el}
|
|
199
|
+
class="digit"
|
|
200
|
+
tabindex="0"
|
|
201
|
+
on:keydown={(ev) => {
|
|
202
|
+
keyDown(ev, edits[1].id)
|
|
203
|
+
}}
|
|
204
|
+
on:focus={() => {
|
|
205
|
+
focused(edits[1].id)
|
|
206
|
+
}}
|
|
207
|
+
on:blur={() => (selected = null)}
|
|
208
|
+
>
|
|
209
|
+
{#if edits[1].value > -1}
|
|
210
|
+
{edits[1].value.toString().padStart(2, '0')}
|
|
211
|
+
{:else}<Label label={ui.string.MM} />{/if}
|
|
212
|
+
</span>
|
|
213
|
+
</div>
|
|
214
|
+
|
|
215
|
+
<style lang="scss">
|
|
216
|
+
.datetime-input {
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
flex-shrink: 0;
|
|
220
|
+
margin: 0;
|
|
221
|
+
min-width: 0;
|
|
222
|
+
font-family: inherit;
|
|
223
|
+
color: var(--theme-content-color);
|
|
224
|
+
border-radius: 0.25rem;
|
|
225
|
+
transition: border-color 0.15s ease;
|
|
226
|
+
|
|
227
|
+
&.small {
|
|
228
|
+
font-size: 0.8125rem;
|
|
229
|
+
}
|
|
230
|
+
&.medium {
|
|
231
|
+
height: 3rem;
|
|
232
|
+
font-size: 1rem;
|
|
233
|
+
}
|
|
234
|
+
&:not(.noBorder) {
|
|
235
|
+
padding: 0.75rem;
|
|
236
|
+
background-color: var(--theme-bg-color);
|
|
237
|
+
border: 1px solid var(--theme-button-border);
|
|
238
|
+
&:hover {
|
|
239
|
+
border-color: var(--theme-button-default);
|
|
240
|
+
}
|
|
241
|
+
&:focus-within {
|
|
242
|
+
border-color: var(--primary-edit-border-color);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
&.noBorder {
|
|
246
|
+
padding: 0.125rem;
|
|
247
|
+
}
|
|
248
|
+
&.narrow {
|
|
249
|
+
padding: 0.125rem 0.5rem;
|
|
250
|
+
}
|
|
251
|
+
&:focus-within {
|
|
252
|
+
color: var(--theme-caption-color);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.digit {
|
|
256
|
+
position: relative;
|
|
257
|
+
padding: 0 0.125rem;
|
|
258
|
+
height: 1.5rem;
|
|
259
|
+
line-height: 1.5rem;
|
|
260
|
+
color: var(--theme-caption-color);
|
|
261
|
+
outline: none;
|
|
262
|
+
border-radius: 0.125rem;
|
|
263
|
+
|
|
264
|
+
&::after {
|
|
265
|
+
position: absolute;
|
|
266
|
+
top: 0;
|
|
267
|
+
left: 0;
|
|
268
|
+
width: 100%;
|
|
269
|
+
height: 100%;
|
|
270
|
+
z-index: 11000;
|
|
271
|
+
cursor: pointer;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
&:not(.disabled) .digit:focus {
|
|
275
|
+
color: var(--primary-button-color);
|
|
276
|
+
background-color: var(--primary-button-default);
|
|
277
|
+
}
|
|
278
|
+
.separator {
|
|
279
|
+
margin: 0 0.1rem;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
</style>
|
|
@@ -0,0 +1,62 @@
|
|
|
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 { createEventDispatcher } from 'svelte'
|
|
17
|
+
import { MILLISECONDS_IN_DAY, DAYS_IN_WEEK } from './internal/DateUtils'
|
|
18
|
+
|
|
19
|
+
export let value: number
|
|
20
|
+
|
|
21
|
+
const dispatch = createEventDispatcher()
|
|
22
|
+
|
|
23
|
+
interface ITimes {
|
|
24
|
+
label: string
|
|
25
|
+
value: number
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const actions: ITimes[] = [
|
|
29
|
+
{ label: '- week', value: -DAYS_IN_WEEK * MILLISECONDS_IN_DAY },
|
|
30
|
+
{ label: '- day', value: -MILLISECONDS_IN_DAY },
|
|
31
|
+
{ label: '- hour', value: -60 * 60 * 1000 },
|
|
32
|
+
{ label: '- 30 min', value: -30 * 60 * 1000 },
|
|
33
|
+
{ label: '- 5 min', value: -5 * 60 * 1000 },
|
|
34
|
+
{ label: '+ 5 min', value: 5 * 60 * 1000 },
|
|
35
|
+
{ label: '+ 30 min', value: 30 * 60 * 1000 },
|
|
36
|
+
{ label: '+ hour', value: 60 * 60 * 1000 },
|
|
37
|
+
{ label: '+ day', value: MILLISECONDS_IN_DAY },
|
|
38
|
+
{ label: '+ week', value: DAYS_IN_WEEK * MILLISECONDS_IN_DAY }
|
|
39
|
+
]
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<div class="scrollbox">
|
|
43
|
+
{#each actions as action}
|
|
44
|
+
<button
|
|
45
|
+
class="ap-menuItem no-word-wrap"
|
|
46
|
+
on:click={() => {
|
|
47
|
+
dispatch('update', new Date(value + action.value))
|
|
48
|
+
}}
|
|
49
|
+
>
|
|
50
|
+
{action.label}
|
|
51
|
+
</button>
|
|
52
|
+
{/each}
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<style lang="scss">
|
|
56
|
+
.scrollbox {
|
|
57
|
+
overflow-x: hidden;
|
|
58
|
+
overflow-y: auto;
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
// Copyright © 2022 Hardcore Engineering Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License. You may
|
|
6
|
+
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
//
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
-->
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import { createEventDispatcher } from 'svelte'
|
|
17
|
+
import ui, { Scroller, Label, deviceOptionsStore as deviceInfo } from '../..'
|
|
18
|
+
import { addZero, areDatesEqual, day as getDay, getWeekStart, getWeekDayName } from './internal/DateUtils'
|
|
19
|
+
|
|
20
|
+
export let cellHeight: string | undefined = undefined
|
|
21
|
+
export let selectedDate: Date = new Date()
|
|
22
|
+
export let currentDate: Date = selectedDate
|
|
23
|
+
export let displayedDaysCount = 7
|
|
24
|
+
export let displayedHours = 24
|
|
25
|
+
export let startFromWeekStart = true
|
|
26
|
+
// export let startHour = 0
|
|
27
|
+
|
|
28
|
+
const dispatch = createEventDispatcher()
|
|
29
|
+
|
|
30
|
+
const todayDate = new Date()
|
|
31
|
+
|
|
32
|
+
$: startDay = startFromWeekStart
|
|
33
|
+
? getWeekStart(currentDate, $deviceInfo.firstDayOfWeek)
|
|
34
|
+
: new Date(new Date(currentDate).setHours(0, 0, 0, 0))
|
|
35
|
+
|
|
36
|
+
function getDate (startDate: Date, dayIndex: number, minutes: number): Date {
|
|
37
|
+
const date = getDay(startDate, dayIndex)
|
|
38
|
+
return new Date(date.setMinutes(date.getMinutes() + minutes))
|
|
39
|
+
}
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<Scroller fade={{ multipler: { top: 3, bottom: 0 } }}>
|
|
43
|
+
<table>
|
|
44
|
+
<thead class="scroller-thead">
|
|
45
|
+
<tr class="scroller-thead__tr">
|
|
46
|
+
<th><Label label={ui.string.HoursLabel} /></th>
|
|
47
|
+
{#each [...Array(displayedDaysCount).keys()] as dayOfWeek}
|
|
48
|
+
{@const day = getDay(startDay, dayOfWeek)}
|
|
49
|
+
<th>
|
|
50
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
51
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
52
|
+
<div
|
|
53
|
+
class="cursor-pointer uppercase flex-col-center"
|
|
54
|
+
class:today={areDatesEqual(todayDate, day)}
|
|
55
|
+
on:click={() => {
|
|
56
|
+
dispatch('select', day)
|
|
57
|
+
}}
|
|
58
|
+
>
|
|
59
|
+
<div class="flex-center">{getWeekDayName(day, 'short')}</div>
|
|
60
|
+
<div class="flex-center">{day.getDate()}</div>
|
|
61
|
+
</div>
|
|
62
|
+
</th>
|
|
63
|
+
{/each}
|
|
64
|
+
</tr>
|
|
65
|
+
</thead>
|
|
66
|
+
<tbody>
|
|
67
|
+
{#each [...Array(displayedHours).keys()] as hourOfDay}
|
|
68
|
+
<tr>
|
|
69
|
+
<td style="width: 50px;" class="calendar-td first">
|
|
70
|
+
{#if hourOfDay !== 0}
|
|
71
|
+
{addZero(hourOfDay)}:00
|
|
72
|
+
{/if}
|
|
73
|
+
</td>
|
|
74
|
+
{#each [...Array(displayedDaysCount).keys()] as dayIndex}
|
|
75
|
+
<td class="calendar-td cell" style:height={cellHeight}>
|
|
76
|
+
{#if $$slots.cell}
|
|
77
|
+
<slot name="cell" date={getDate(startDay, dayIndex, hourOfDay * 60)} />
|
|
78
|
+
{/if}
|
|
79
|
+
</td>
|
|
80
|
+
{/each}
|
|
81
|
+
</tr>
|
|
82
|
+
{/each}
|
|
83
|
+
</tbody>
|
|
84
|
+
</table>
|
|
85
|
+
</Scroller>
|
|
86
|
+
|
|
87
|
+
<style lang="scss">
|
|
88
|
+
table {
|
|
89
|
+
table-layout: fixed;
|
|
90
|
+
}
|
|
91
|
+
table tr th:nth-child(1) {
|
|
92
|
+
width: 5rem;
|
|
93
|
+
}
|
|
94
|
+
.today {
|
|
95
|
+
color: var(--theme-caption-color);
|
|
96
|
+
}
|
|
97
|
+
.calendar-td {
|
|
98
|
+
&:not(.first) {
|
|
99
|
+
border: 1px solid var(--theme-table-border-color);
|
|
100
|
+
}
|
|
101
|
+
padding: 0;
|
|
102
|
+
margin: 0;
|
|
103
|
+
&.first {
|
|
104
|
+
display: flex;
|
|
105
|
+
margin-top: -0.5rem;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
.cell {
|
|
109
|
+
padding: 2px;
|
|
110
|
+
width: calc(calc(100% - 50px) / 7);
|
|
111
|
+
}
|
|
112
|
+
.cell:hover {
|
|
113
|
+
color: var(--primary-button-color);
|
|
114
|
+
background-color: var(--highlight-hover);
|
|
115
|
+
}
|
|
116
|
+
</style>
|
|
@@ -0,0 +1,67 @@
|
|
|
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 MonthCalendar from './MonthCalendar.svelte'
|
|
17
|
+
import Scroller from '../Scroller.svelte'
|
|
18
|
+
import { defaultSP } from '../..'
|
|
19
|
+
|
|
20
|
+
export let selectedDate: Date = new Date()
|
|
21
|
+
export let currentDate: Date = selectedDate
|
|
22
|
+
export let cellHeight: string | undefined = undefined
|
|
23
|
+
export let minWidth = '18rem'
|
|
24
|
+
|
|
25
|
+
function getMonthName (date: Date): string {
|
|
26
|
+
return new Intl.DateTimeFormat('default', { month: 'long' }).format(date)
|
|
27
|
+
}
|
|
28
|
+
function month (date: Date, m: number): Date {
|
|
29
|
+
date = new Date(date)
|
|
30
|
+
date.setDate(1)
|
|
31
|
+
date.setMonth(m)
|
|
32
|
+
return date
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<Scroller padding={'0 2.25rem'} fade={defaultSP}>
|
|
37
|
+
<div class="year-erp-calendar">
|
|
38
|
+
{#each [...Array(12).keys()] as m}
|
|
39
|
+
<div class="antiComponentBox flex-col flex-grow flex-wrap" style:min-width={minWidth}>
|
|
40
|
+
<span class="month-caption">{getMonthName(month(currentDate, m))}</span>
|
|
41
|
+
<MonthCalendar {cellHeight} weekFormat="narrow" bind:selectedDate currentDate={month(currentDate, m)} on:change>
|
|
42
|
+
<svelte:fragment slot="cell" let:date let:today let:selected let:wrongMonth>
|
|
43
|
+
<slot name="cell" {date} {today} {selected} {wrongMonth} />
|
|
44
|
+
</svelte:fragment>
|
|
45
|
+
</MonthCalendar>
|
|
46
|
+
</div>
|
|
47
|
+
{/each}
|
|
48
|
+
</div>
|
|
49
|
+
</Scroller>
|
|
50
|
+
|
|
51
|
+
<style lang="scss">
|
|
52
|
+
.year-erp-calendar {
|
|
53
|
+
display: grid;
|
|
54
|
+
grid-template-columns: repeat(auto-fill, minmax(max(20rem, calc(100% / 5)), 1fr));
|
|
55
|
+
grid-auto-rows: 18.5rem;
|
|
56
|
+
row-gap: 1rem;
|
|
57
|
+
column-gap: 1rem;
|
|
58
|
+
border-collapse: collapse;
|
|
59
|
+
}
|
|
60
|
+
.month-caption {
|
|
61
|
+
margin: 0.5rem 0.75rem 0.75rem;
|
|
62
|
+
font-weight: 500;
|
|
63
|
+
font-size: 0.8125rem;
|
|
64
|
+
text-transform: uppercase;
|
|
65
|
+
color: var(--theme-dark-color);
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
fill-rule="evenodd"
|
|
9
|
+
clip-rule="evenodd"
|
|
10
|
+
d="M28 24.0044C28 26.2136 26.2091 28 24 28H8C5.79086 28 4 26.2091 4 24V8C4 5.79086 5.79086 4 8 4H10V3C10 2.44772 10.4477 2 11 2C11.5523 2 12 2.44772 12 3V4H19.9995V3C19.9995 2.44772 20.4472 2 20.9995 2C21.5518 2 21.9995 2.44772 21.9995 3V4H24C26.2091 4 28 5.79086 28 8C28 11.5569 28 19.2641 28 24.0044ZM19.9995 6V7C19.9995 7.55228 20.4472 8 20.9995 8C21.5518 8 21.9995 7.55228 21.9995 7V6H24C25.1046 6 26 6.89543 26 8V12H6V8C6 6.89543 6.89543 6 8 6H10V7C10 7.55228 10.4477 8 11 8C11.5523 8 12 7.55228 12 7V6H19.9995ZM6 14V24C6 25.1046 6.89543 26 8 26H24C25.1046 26 26 25.1046 26 24V14H6Z"
|
|
11
|
+
/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
fill-rule="evenodd"
|
|
9
|
+
clip-rule="evenodd"
|
|
10
|
+
d="M4 7.99988V23.9999C4 26.209 5.79086 27.9999 8 27.9999H17C17.5523 27.9999 18 27.5522 18 26.9999C18 26.4476 17.5523 25.9999 17 25.9999H8C6.89543 25.9999 6 25.1044 6 23.9999V13.9999H26V17C26 17.5523 26.4477 18 27 18C27.5523 18 28 17.5523 28 17V7.99988C28 5.79074 26.2091 3.99988 24 3.99988H21.9995V2.99988C21.9995 2.44759 21.5518 1.99988 20.9995 1.99988C20.4472 1.99988 19.9995 2.44759 19.9995 2.99988V3.99988H12V2.99988C12 2.44759 11.5523 1.99988 11 1.99988C10.4477 1.99988 10 2.44759 10 2.99988V3.99988H8C5.79086 3.99988 4 5.79074 4 7.99988ZM19.9995 5.99988V6.99988C19.9995 7.55216 20.4472 7.99988 20.9995 7.99988C21.5518 7.99988 21.9995 7.55216 21.9995 6.99988V5.99988H24C25.1046 5.99988 26 6.89531 26 7.99988V11.9999H6V7.99988C6 6.89531 6.89543 5.99988 8 5.99988H10V6.99988C10 7.55216 10.4477 7.99988 11 7.99988C11.5523 7.99988 12 7.55216 12 6.99988V5.99988H19.9995Z"
|
|
11
|
+
/>
|
|
12
|
+
<path
|
|
13
|
+
d="M20.2929 21.7071C19.9024 21.3166 19.9024 20.6834 20.2929 20.2929C20.6834 19.9024 21.3166 19.9024 21.7071 20.2929L25 23.5858L28.2929 20.2929C28.6834 19.9024 29.3166 19.9024 29.7071 20.2929C30.0976 20.6834 30.0976 21.3166 29.7071 21.7071L26.4142 25L29.7071 28.2929C30.0976 28.6834 30.0976 29.3166 29.7071 29.7071C29.3166 30.0976 28.6834 30.0976 28.2929 29.7071L25 26.4136L21.6849 29.7287C21.2929 30.0975 20.6761 30.0903 20.2929 29.7071C19.9024 29.3166 19.9024 28.6834 20.2929 28.2929L23.5858 25L20.2929 21.7071Z"
|
|
14
|
+
/>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
d="M12,1.2C6.1,1.2,1.2,6.1,1.2,12S6.1,22.8,12,22.8S22.8,17.9,22.8,12S17.9,1.2,12,1.2z M12,21.2c-5.1,0-9.2-4.2-9.2-9.2 S6.9,2.8,12,2.8s9.2,4.2,9.2,9.2S17.1,21.2,12,21.2z"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M16.1,14.5L13,12.7c-0.3-0.2-0.6-0.7-0.6-1.1V7.5c0-0.4-0.3-0.8-0.8-0.8c-0.4,0-0.8,0.3-0.8,0.8v4.1c0,0.9,0.6,1.9,1.3,2.4 l3.1,1.9c0.1,0.1,0.2,0.1,0.4,0.1c0.2,0,0.5-0.1,0.7-0.4C16.6,15.2,16.5,14.7,16.1,14.5z"
|
|
12
|
+
/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
d="M12,22C6.5,22,2,17.5,2,12C2,6.5,6.5,2,12,2c5.5,0,10,4.5,10,10C22,17.5,17.5,22,12,22z M12,4c-4.4,0-8,3.6-8,8 c0,4.4,3.6,8,8,8c4.4,0,8-3.6,8-8C20,7.6,16.4,4,12,4z M17,13h-6V7h2v4h4V13z"
|
|
9
|
+
/>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
d="M12.2,15.1l2.6-2.6c0.3-0.3,0.3-0.8,0-1.1L12.2,9c-0.3-0.3-0.8-0.3-1.1,0c-0.3,0.3-0.3,0.8,0,1.1l1.3,1.3H4 c-0.4,0-0.8,0.3-0.8,0.8c0,0.4,0.3,0.8,0.8,0.8h8.4l-1.3,1.3c-0.3,0.3-0.3,0.8,0,1.1c0.1,0.2,0.3,0.2,0.5,0.2S12.1,15.3,12.2,15.1z"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M12,3.2c-0.4,0-0.8,0.3-0.8,0.8s0.3,0.8,0.8,0.8c4.3,0,7.2,3,7.2,7.2s-3,7.2-7.2,7.2c-0.4,0-0.8,0.3-0.8,0.8 s0.3,0.8,0.8,0.8c5.2,0,8.8-3.6,8.8-8.8S17.2,3.2,12,3.2z"
|
|
12
|
+
/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
d="M15 5C15 2.79086 13.2091 1 11 1H5C2.79086 1 1 2.79086 1 5V11C1 13.2091 2.79086 15 5 15H6.25C6.66421 15 7 14.6642 7 14.25C7 13.8358 6.66421 13.5 6.25 13.5H5C3.61929 13.5 2.5 12.3807 2.5 11V6H13.5V6.25C13.5 6.66421 13.8358 7 14.25 7C14.6642 7 15 6.66421 15 6.25V5ZM11.5001 8C11.9143 8 12.2501 8.33579 12.2501 8.75V10.75L14.2501 10.75C14.6643 10.75 15.0001 11.0858 15.0001 11.5C15.0001 11.9142 14.6643 12.25 14.2501 12.25L12.2501 12.25V14.25C12.2501 14.6642 11.9143 15 11.5001 15C11.0859 15 10.7501 14.6642 10.7501 14.25V12.25H8.75C8.33579 12.25 8 11.9142 8 11.5C8 11.0858 8.33579 10.75 8.75 10.75L10.7501 10.75V8.75C10.7501 8.33579 11.0859 8 11.5001 8Z"
|
|
9
|
+
/>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let size: 'x-small' | 'small' | 'medium' | 'large' | 'full'
|
|
3
|
+
export let fill: string = 'currentColor'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg class="svg-{size}" {fill} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
7
|
+
<path
|
|
8
|
+
d="M20.5,11.5L18,9c-0.3-0.3-0.8-0.3-1.1,0c-0.3,0.3-0.3,0.8,0,1.1l1.3,1.3H9.8c-0.4,0-0.8,0.3-0.8,0.8 c0,0.4,0.3,0.8,0.8,0.8h8.4l-1.3,1.3c-0.3,0.3-0.3,0.8,0,1.1c0.2,0.2,0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2l2.6-2.6 C20.8,12.3,20.8,11.8,20.5,11.5z"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M11.8,19.2c-4.3,0-7.3-3-7.3-7.2s3-7.2,7.3-7.2c0.4,0,0.8-0.3,0.8-0.8s-0.3-0.8-0.8-0.8C6.6,3.2,3,6.8,3,12 s3.6,8.8,8.8,8.8c0.4,0,0.8-0.3,0.8-0.8S12.2,19.2,11.8,19.2z"
|
|
12
|
+
/>
|
|
13
|
+
</svg>
|