@fibery/ui-kit 2.0.1 → 2.1.0
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/CHANGELOG.md +6 -0
- package/{eslint.config.mjs → esfint.config.mjs} +1 -1
- package/package.json +10 -7
- package/scripts/generate-icons.mjs +42 -34
- package/src/a11y-color.test.ts +62 -55
- package/src/a11y-color.ts +40 -37
- package/src/actions-menu/actions-menu-item.tsx +1 -1
- package/src/actions-menu/actions-menu.tsx +3 -3
- package/src/ai/model.tsx +1 -1
- package/src/ai/temperature.tsx +1 -1
- package/src/animated-height-container.tsx +2 -2
- package/src/antd/{AutoComplete.js → AutoComplete.ts} +1 -1
- package/src/antd/Tabs.js +2 -2
- package/src/antd/ant-upload.tsx +4 -4
- package/src/antd/input-number.tsx +2 -2
- package/src/antd/input.tsx +2 -2
- package/src/antd/styles.ts +8 -8
- package/src/antd/utils.tsx +12 -23
- package/src/app-icon-with-fallback.tsx +31 -8
- package/src/app-icon.tsx +21 -8
- package/src/avatar.tsx +8 -5
- package/src/axis-header.tsx +2 -2
- package/src/banner/banner-action.tsx +23 -0
- package/src/banner/banner-context.tsx +4 -0
- package/src/banner/banner-variant.ts +1 -0
- package/src/banner/banner.tsx +101 -0
- package/src/box.tsx +3 -1
- package/src/breadcrumb.tsx +14 -11
- package/src/button/base-button.tsx +2 -2
- package/src/button/make-button-colors.ts +2 -2
- package/src/canvas-colors.ts +133 -0
- package/src/card-container.tsx +1 -1
- package/src/checkbox-multi-select.tsx +4 -4
- package/src/checkbox.tsx +21 -9
- package/src/color-filter.test.ts +155 -0
- package/src/color-filter.ts +156 -0
- package/src/color-picker/ColorPickerOrLoader.js +1 -1
- package/src/color-picker/{SliderPointer.js → SliderPointer.tsx} +3 -2
- package/src/color-picker/index.js +7 -4
- package/src/color-picker/swatch.tsx +5 -4
- package/src/color-utils.test.ts +246 -116
- package/src/color-utils.ts +156 -144
- package/src/command-menu/index.tsx +1 -1
- package/src/date-picker/autocomplete.tsx +1 -0
- package/src/date-picker/date-range-picker-popup-content.tsx +1 -1
- package/src/date-picker/date-range-picker.tsx +1 -1
- package/src/date-picker/fake-date-input.tsx +10 -4
- package/src/date-picker/relative-date-picker.tsx +32 -3
- package/src/date-picker/single-date-picker.tsx +13 -3
- package/src/date-picker/styles.ts +12 -12
- package/src/date-picker/types.ts +2 -0
- package/src/design-system/alpha.ts +0 -15
- package/src/design-system/animation.ts +24 -5
- package/src/design-system/colors-css.ts +4 -4
- package/src/design-system/colors-js.test.ts +167 -153
- package/src/design-system/colors-js.ts +30 -85
- package/src/design-system/colors.test.ts +5 -5
- package/src/design-system/colors.ts +720 -402
- package/src/design-system/layout.ts +1 -0
- package/src/design-system/theme.test.ts +13 -68
- package/src/design-system/theme.ts +24 -76
- package/src/design-system/vars.test.ts +64 -1681
- package/src/design-system/vars.ts +43 -29
- package/src/design-system.ts +4 -4
- package/src/dnd.tsx +1 -1
- package/src/{utils-dom.ts → dom-utils.ts} +19 -0
- package/src/dot.tsx +2 -2
- package/src/emoji-picker/app-icon-picker.tsx +2 -1
- package/src/emoji-picker/emoji-picker-content-with-color.tsx +4 -1
- package/src/emoji-picker/emoji-picker.tsx +3 -0
- package/src/emoji-picker/icon-emoji-picker.tsx +1 -1
- package/src/emoji-picker/primitives/emoji.tsx +3 -2
- package/src/favorites-icon.tsx +1 -1
- package/src/fibermoji-placeholder.tsx +6 -1
- package/src/file-item/add-query-param.ts +13 -0
- package/src/file-item/file-menu-items.tsx +2 -1
- package/src/file-item/file-preview-actions.tsx +14 -2
- package/src/file-item.tsx +5 -5
- package/src/flags.ts +3 -0
- package/src/header-layout.tsx +9 -2
- package/src/html-styles.ts +3 -3
- package/src/hue-shift.test.ts +17 -4
- package/src/icons/Icon.tsx +5 -2
- package/src/icons/ast/Abort.ts +8 -4
- package/src/icons/ast/AccessTemplate.ts +8 -4
- package/src/icons/ast/Activity.ts +8 -4
- package/src/icons/ast/ActivityFilled.ts +8 -4
- package/src/icons/ast/ActivityLog.ts +8 -4
- package/src/icons/ast/Add.ts +8 -4
- package/src/icons/ast/AddAfter.ts +8 -4
- package/src/icons/ast/AddBefore.ts +8 -4
- package/src/icons/ast/AddCompact.ts +8 -4
- package/src/icons/ast/AddDatabase.ts +8 -4
- package/src/icons/ast/AddGroup.ts +8 -4
- package/src/icons/ast/AddIntegration.ts +8 -4
- package/src/icons/ast/AddReactions.ts +8 -4
- package/src/icons/ast/AiAssistant.ts +8 -4
- package/src/icons/ast/AiAssistantFilled.ts +8 -4
- package/src/icons/ast/AiAvatar.ts +8 -4
- package/src/icons/ast/AiFiberyBuild.ts +8 -4
- package/src/icons/ast/AiSearch.ts +8 -4
- package/src/icons/ast/AlertTriangle.ts +8 -4
- package/src/icons/ast/Anthropic.ts +8 -4
- package/src/icons/ast/App.ts +8 -4
- package/src/icons/ast/AppDetails.ts +8 -4
- package/src/icons/ast/AppStore.ts +8 -4
- package/src/icons/ast/AppStoreOneColor.ts +8 -4
- package/src/icons/ast/AppTemplates.ts +8 -4
- package/src/icons/ast/AppWebhooks.ts +8 -4
- package/src/icons/ast/AppWiki.ts +8 -4
- package/src/icons/ast/AppearanceAuto.ts +8 -4
- package/src/icons/ast/AppearanceDark.ts +8 -4
- package/src/icons/ast/AppearanceLight.ts +8 -4
- package/src/icons/ast/Apple.ts +8 -4
- package/src/icons/ast/ArrowBarDown.ts +12 -0
- package/src/icons/ast/ArrowBarLeft.ts +8 -4
- package/src/icons/ast/ArrowBarRight.ts +8 -4
- package/src/icons/ast/ArrowBarUp.ts +12 -0
- package/src/icons/ast/ArrowBottom.ts +8 -4
- package/src/icons/ast/ArrowCollapse.ts +8 -4
- package/src/icons/ast/ArrowCollapseVertical.ts +8 -4
- package/src/icons/ast/ArrowForward.ts +8 -4
- package/src/icons/ast/ArrowLeft.ts +8 -4
- package/src/icons/ast/ArrowRight.ts +8 -4
- package/src/icons/ast/ArrowTop.ts +8 -4
- package/src/icons/ast/ArrowUpCircle.ts +8 -4
- package/src/icons/ast/ArrowsRightLeft.ts +8 -4
- package/src/icons/ast/AskForInput.ts +8 -4
- package/src/icons/ast/Asterisk.ts +8 -4
- package/src/icons/ast/Atom.ts +8 -4
- package/src/icons/ast/AutomationsCancelled.ts +8 -4
- package/src/icons/ast/AutomationsDisabled.ts +8 -4
- package/src/icons/ast/AutomationsError.ts +8 -4
- package/src/icons/ast/AutomationsInProgress.ts +8 -4
- package/src/icons/ast/AutomationsNotStarted.ts +8 -4
- package/src/icons/ast/AutomationsSuccess.ts +8 -4
- package/src/icons/ast/Back.ts +8 -4
- package/src/icons/ast/BacklogIcon.ts +8 -4
- package/src/icons/ast/BatchActionsIcon.ts +8 -4
- package/src/icons/ast/BellCircle.ts +8 -4
- package/src/icons/ast/BellFilled.ts +8 -4
- package/src/icons/ast/BellOff.ts +8 -4
- package/src/icons/ast/BellRinging.ts +8 -4
- package/src/icons/ast/BellX.ts +8 -4
- package/src/icons/ast/Bolt.ts +8 -4
- package/src/icons/ast/BringForward.ts +8 -4
- package/src/icons/ast/BringToFront.ts +8 -4
- package/src/icons/ast/Cards.ts +8 -4
- package/src/icons/ast/Chat.ts +8 -4
- package/src/icons/ast/ChatAi.ts +8 -4
- package/src/icons/ast/ChatBubble.ts +8 -4
- package/src/icons/ast/ChatFloat.ts +8 -4
- package/src/icons/ast/ChatSidebar.ts +8 -4
- package/src/icons/ast/CheckCircle.ts +8 -4
- package/src/icons/ast/CheckCircleFilled.ts +8 -4
- package/src/icons/ast/Checked.ts +8 -4
- package/src/icons/ast/Clean.ts +8 -4
- package/src/icons/ast/Clear.ts +8 -4
- package/src/icons/ast/ClearInputFilled.ts +8 -4
- package/src/icons/ast/ClearValue.ts +8 -4
- package/src/icons/ast/Clock.ts +8 -4
- package/src/icons/ast/ClockAlarm.ts +8 -4
- package/src/icons/ast/ClockForward.ts +8 -4
- package/src/icons/ast/Close.ts +8 -4
- package/src/icons/ast/CollapseAll.ts +8 -4
- package/src/icons/ast/CollapseAllHorizontal.ts +8 -4
- package/src/icons/ast/ColorCoding.ts +8 -4
- package/src/icons/ast/ColorCodingFilled.ts +8 -4
- package/src/icons/ast/Columns.ts +8 -4
- package/src/icons/ast/Columns2.ts +8 -4
- package/src/icons/ast/Columns4.ts +8 -4
- package/src/icons/ast/CommentBubble.ts +8 -4
- package/src/icons/ast/Copy.ts +8 -4
- package/src/icons/ast/Create.ts +8 -4
- package/src/icons/ast/CreditsFilled.ts +8 -4
- package/src/icons/ast/CrossCircle.ts +8 -4
- package/src/icons/ast/Crosshair.ts +8 -4
- package/src/icons/ast/Csv.ts +8 -4
- package/src/icons/ast/Database.ts +8 -4
- package/src/icons/ast/DatabaseOff.ts +8 -4
- package/src/icons/ast/DatabaseStroke.ts +8 -4
- package/src/icons/ast/DateRange.ts +8 -4
- package/src/icons/ast/Delete.ts +8 -4
- package/src/icons/ast/Demo.ts +8 -4
- package/src/icons/ast/Dependency.ts +8 -4
- package/src/icons/ast/Dividers.ts +8 -4
- package/src/icons/ast/Document.ts +8 -4
- package/src/icons/ast/DoubleArrowLeft.ts +8 -4
- package/src/icons/ast/DoubleArrowRight.ts +8 -4
- package/src/icons/ast/DoubleLine.ts +8 -4
- package/src/icons/ast/DragBlockHandle.ts +8 -4
- package/src/icons/ast/DragBlockHandleSingle.ts +8 -4
- package/src/icons/ast/DragHandle.ts +8 -4
- package/src/icons/ast/Duplicate.ts +8 -4
- package/src/icons/ast/DynamicFilterValue.ts +8 -4
- package/src/icons/ast/EditValue.ts +8 -4
- package/src/icons/ast/Email.ts +8 -4
- package/src/icons/ast/EmojiDelete.ts +8 -4
- package/src/icons/ast/EntityCreate.ts +8 -4
- package/src/icons/ast/EntityCreateFilled.ts +8 -4
- package/src/icons/ast/EntityMerge.ts +8 -4
- package/src/icons/ast/Equation.ts +8 -4
- package/src/icons/ast/ExpandAll.ts +8 -4
- package/src/icons/ast/ExpandAllHorizontal.ts +8 -4
- package/src/icons/ast/Export.ts +8 -4
- package/src/icons/ast/ExtensionAssignments.ts +8 -4
- package/src/icons/ast/ExtensionAvatar.ts +8 -4
- package/src/icons/ast/ExtensionComments.ts +8 -4
- package/src/icons/ast/ExtensionFiles.ts +8 -4
- package/src/icons/ast/ExtensionReferences.ts +8 -4
- package/src/icons/ast/ExtensionWorkflow.ts +8 -4
- package/src/icons/ast/Eye.ts +8 -4
- package/src/icons/ast/Favorites.ts +8 -4
- package/src/icons/ast/FavoritesChecked.ts +8 -4
- package/src/icons/ast/FavoritesOff.ts +8 -4
- package/src/icons/ast/FiberyDesktopApp.ts +8 -4
- package/src/icons/ast/FiberyMono.ts +8 -4
- package/src/icons/ast/FieldUnit.ts +8 -4
- package/src/icons/ast/Fields.ts +8 -4
- package/src/icons/ast/Figma.ts +8 -4
- package/src/icons/ast/FileArchive.ts +8 -4
- package/src/icons/ast/FileBroken.ts +8 -4
- package/src/icons/ast/FileCounter.ts +8 -4
- package/src/icons/ast/FileDocument.ts +8 -4
- package/src/icons/ast/FileDownload.ts +8 -4
- package/src/icons/ast/FileImage.ts +8 -4
- package/src/icons/ast/FileMultiple.ts +8 -4
- package/src/icons/ast/FileOther.ts +8 -4
- package/src/icons/ast/FilePresentation.ts +8 -4
- package/src/icons/ast/FileTable.ts +8 -4
- package/src/icons/ast/FileUpload.ts +8 -4
- package/src/icons/ast/FileVideo.ts +8 -4
- package/src/icons/ast/Filter.ts +8 -4
- package/src/icons/ast/FitToScreen.ts +8 -4
- package/src/icons/ast/FocusMode.ts +8 -4
- package/src/icons/ast/FocusModeOff.ts +8 -4
- package/src/icons/ast/Folder.ts +8 -4
- package/src/icons/ast/FolderFavorite.ts +12 -0
- package/src/icons/ast/FormWithCover.ts +8 -4
- package/src/icons/ast/FormWithoutCover.ts +8 -4
- package/src/icons/ast/FullscreenModeOffIcon.ts +8 -4
- package/src/icons/ast/FullscreenModeOn.ts +8 -4
- package/src/icons/ast/FullscreenModeOnIcon.ts +8 -4
- package/src/icons/ast/Gift.ts +8 -4
- package/src/icons/ast/Github.ts +8 -4
- package/src/icons/ast/Gitlab.ts +8 -4
- package/src/icons/ast/Globe.ts +8 -4
- package/src/icons/ast/GlobeSimple.ts +8 -4
- package/src/icons/ast/GlobeUnpublish.ts +8 -4
- package/src/icons/ast/GoTo.ts +8 -4
- package/src/icons/ast/GoogleDrive.ts +8 -4
- package/src/icons/ast/GoogleMap.ts +8 -4
- package/src/icons/ast/GraduationCapFilled.ts +8 -4
- package/src/icons/ast/Headphones.ts +8 -4
- package/src/icons/ast/HeadphonesAi.ts +8 -4
- package/src/icons/ast/Hide.ts +8 -4
- package/src/icons/ast/Highlights.ts +8 -4
- package/src/icons/ast/Hint.ts +8 -4
- package/src/icons/ast/Home.ts +8 -4
- package/src/icons/ast/HomeFilled.ts +8 -4
- package/src/icons/ast/ImageXmark.ts +8 -4
- package/src/icons/ast/Import.ts +8 -4
- package/src/icons/ast/ImportFilled.ts +8 -4
- package/src/icons/ast/InfoCircle.ts +8 -4
- package/src/icons/ast/InfoCircleFilled.ts +8 -4
- package/src/icons/ast/Integration.ts +8 -4
- package/src/icons/ast/IntegrationsFilled.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationDiscourseColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationIntercomColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationSlackColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationZendeskColor.ts +8 -4
- package/src/icons/ast/Intercom.ts +12 -0
- package/src/icons/ast/InvitePeople.ts +8 -4
- package/src/icons/ast/Items.ts +8 -4
- package/src/icons/ast/ItemsTimeline.ts +8 -4
- package/src/icons/ast/Jira.ts +8 -4
- package/src/icons/ast/Key.ts +8 -4
- package/src/icons/ast/KeyboardHideDown.ts +8 -4
- package/src/icons/ast/Lab.ts +8 -4
- package/src/icons/ast/LayoutDouble.ts +8 -4
- package/src/icons/ast/LayoutMultiple.ts +8 -4
- package/src/icons/ast/LayoutSingle.ts +8 -4
- package/src/icons/ast/LeftPanel.ts +8 -4
- package/src/icons/ast/LevelPlus.ts +8 -4
- package/src/icons/ast/Levels.ts +8 -4
- package/src/icons/ast/LineDivider.ts +8 -4
- package/src/icons/ast/LineJump.ts +8 -4
- package/src/icons/ast/Link.ts +8 -4
- package/src/icons/ast/LocationEdit.ts +8 -4
- package/src/icons/ast/Lock.ts +8 -4
- package/src/icons/ast/LockOutline.ts +8 -4
- package/src/icons/ast/Logout.ts +8 -4
- package/src/icons/ast/Loom.ts +8 -4
- package/src/icons/ast/LoupeZoom.ts +8 -4
- package/src/icons/ast/LoupeZoomIn.ts +8 -4
- package/src/icons/ast/LoupeZoomOut.ts +8 -4
- package/src/icons/ast/ManyPeople.ts +8 -4
- package/src/icons/ast/MapMode.ts +8 -4
- package/src/icons/ast/Markdown.ts +8 -4
- package/src/icons/ast/MenuCollapser.ts +8 -4
- package/src/icons/ast/Mermaid.ts +8 -4
- package/src/icons/ast/MessagePlus.ts +8 -4
- package/src/icons/ast/MessagePlusSquare.ts +8 -4
- package/src/icons/ast/Milestones.ts +8 -4
- package/src/icons/ast/Minus.ts +8 -4
- package/src/icons/ast/Miro.ts +8 -4
- package/src/icons/ast/MirrorOff.ts +8 -4
- package/src/icons/ast/MirrorOn.ts +8 -4
- package/src/icons/ast/Mixpanel.ts +8 -4
- package/src/icons/ast/Monitor.ts +8 -4
- package/src/icons/ast/More.ts +8 -4
- package/src/icons/ast/MoreCompact.ts +8 -4
- package/src/icons/ast/MoveBottom.ts +8 -4
- package/src/icons/ast/MoveLeft.ts +8 -4
- package/src/icons/ast/MoveRight.ts +8 -4
- package/src/icons/ast/MoveSpace.ts +8 -4
- package/src/icons/ast/MoveTop.ts +8 -4
- package/src/icons/ast/Network.ts +8 -4
- package/src/icons/ast/NetworkAdd.ts +8 -4
- package/src/icons/ast/NoBorder.ts +8 -4
- package/src/icons/ast/NoFill.ts +8 -4
- package/src/icons/ast/Notifications.ts +8 -4
- package/src/icons/ast/ObjChild.ts +8 -4
- package/src/icons/ast/ObjM2M.ts +8 -4
- package/src/icons/ast/ObjO2O.ts +8 -4
- package/src/icons/ast/ObjParent.ts +8 -4
- package/src/icons/ast/ObjSelf.ts +8 -4
- package/src/icons/ast/OnSchedule.ts +8 -4
- package/src/icons/ast/OpenAi.ts +8 -4
- package/src/icons/ast/OpenAsPage.ts +8 -4
- package/src/icons/ast/PageRegularMode.ts +8 -4
- package/src/icons/ast/PageWideMode.ts +8 -4
- package/src/icons/ast/PanelAdd.ts +8 -4
- package/src/icons/ast/Pencil.ts +8 -4
- package/src/icons/ast/People.ts +8 -4
- package/src/icons/ast/PeopleCheck.ts +8 -4
- package/src/icons/ast/Photo.ts +8 -4
- package/src/icons/ast/Pin.ts +8 -4
- package/src/icons/ast/PinFilled.ts +8 -4
- package/src/icons/ast/Popup.ts +8 -4
- package/src/icons/ast/Posts.ts +8 -4
- package/src/icons/ast/PresentPlay.ts +8 -4
- package/src/icons/ast/PresentStop.ts +8 -4
- package/src/icons/ast/Print.ts +8 -4
- package/src/icons/ast/PrivateItems.ts +8 -4
- package/src/icons/ast/Question.ts +8 -4
- package/src/icons/ast/QuickFilter.ts +8 -4
- package/src/icons/ast/QuickFilterPersonal.ts +8 -4
- package/src/icons/ast/ReadOnly.ts +8 -4
- package/src/icons/ast/Refresh.ts +8 -4
- package/src/icons/ast/Remove.ts +8 -4
- package/src/icons/ast/RemovePeople.ts +8 -4
- package/src/icons/ast/Reply.ts +8 -4
- package/src/icons/ast/ResetPassword.ts +8 -4
- package/src/icons/ast/Restore.ts +8 -4
- package/src/icons/ast/RicheditorActionsMore.ts +8 -4
- package/src/icons/ast/RicheditorBlockCallout.ts +8 -4
- package/src/icons/ast/RicheditorBlockCode.ts +8 -4
- package/src/icons/ast/RicheditorBlockEmbed.ts +8 -4
- package/src/icons/ast/RicheditorBlockEntity.ts +8 -4
- package/src/icons/ast/RicheditorBlockFile.ts +8 -4
- package/src/icons/ast/RicheditorBlockH1.ts +8 -4
- package/src/icons/ast/RicheditorBlockH2.ts +8 -4
- package/src/icons/ast/RicheditorBlockH3.ts +8 -4
- package/src/icons/ast/RicheditorBlockH4.ts +8 -4
- package/src/icons/ast/RicheditorBlockMention.ts +8 -4
- package/src/icons/ast/RicheditorBlockParagraph.ts +8 -4
- package/src/icons/ast/RicheditorBlockQuote.ts +8 -4
- package/src/icons/ast/RicheditorChecklistCreate.ts +8 -4
- package/src/icons/ast/RicheditorCommentCreate.ts +8 -4
- package/src/icons/ast/RicheditorEntityLinkCreate.ts +8 -4
- package/src/icons/ast/RicheditorHistoryRedo.ts +8 -4
- package/src/icons/ast/RicheditorHistoryUndo.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignCenter.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignLeft.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignRight.ts +8 -4
- package/src/icons/ast/RicheditorImageUpload.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapCenter.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapLeft.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapRight.ts +8 -4
- package/src/icons/ast/RicheditorImageZoom.ts +8 -4
- package/src/icons/ast/RicheditorLinkCreate.ts +8 -4
- package/src/icons/ast/RicheditorLinkedhighlightCreate.ts +8 -4
- package/src/icons/ast/RicheditorListBullet.ts +8 -4
- package/src/icons/ast/RicheditorListIndent.ts +8 -4
- package/src/icons/ast/RicheditorListOrdered.ts +8 -4
- package/src/icons/ast/RicheditorListUnindent.ts +8 -4
- package/src/icons/ast/RicheditorMarkCode.ts +8 -4
- package/src/icons/ast/RicheditorMarkEm.ts +8 -4
- package/src/icons/ast/RicheditorMarkHighlight.ts +8 -4
- package/src/icons/ast/RicheditorMarkStrike.ts +8 -4
- package/src/icons/ast/RicheditorMarkStrong.ts +8 -4
- package/src/icons/ast/RicheditorMarkTextBackgroundColor.ts +8 -4
- package/src/icons/ast/RicheditorMarkUnderline.ts +8 -4
- package/src/icons/ast/RicheditorOpenLink.ts +8 -4
- package/src/icons/ast/RicheditorTableCreate.ts +8 -4
- package/src/icons/ast/RicheditorUnlink.ts +8 -4
- package/src/icons/ast/RicheditorVideoUpload.ts +8 -4
- package/src/icons/ast/RightPanel.ts +8 -4
- package/src/icons/ast/Rows.ts +8 -4
- package/src/icons/ast/RuleScheduled.ts +8 -4
- package/src/icons/ast/Search.ts +8 -4
- package/src/icons/ast/SearchAdd.ts +8 -4
- package/src/icons/ast/SearchFilled.ts +8 -4
- package/src/icons/ast/SearchRemove.ts +8 -4
- package/src/icons/ast/SelfReferenceOff.ts +8 -4
- package/src/icons/ast/SelfReferenceOn.ts +8 -4
- package/src/icons/ast/SendArrow.ts +8 -4
- package/src/icons/ast/SendBackward.ts +8 -4
- package/src/icons/ast/SendToBack.ts +8 -4
- package/src/icons/ast/Settings.ts +8 -4
- package/src/icons/ast/SettingsFilled.ts +8 -4
- package/src/icons/ast/SettingsOff.ts +8 -4
- package/src/icons/ast/Share.ts +8 -4
- package/src/icons/ast/Shared.ts +8 -4
- package/src/icons/ast/ShieldKeyhole.ts +8 -4
- package/src/icons/ast/ShowAuthor.ts +8 -4
- package/src/icons/ast/Sidebar.ts +8 -4
- package/src/icons/ast/SidebarFields.ts +8 -4
- package/src/icons/ast/SidebarFieldsOpened.ts +8 -4
- package/src/icons/ast/SimpleCompass.ts +8 -4
- package/src/icons/ast/Slack.ts +8 -4
- package/src/icons/ast/SlackIcon.ts +8 -4
- package/src/icons/ast/SlideMenu.ts +8 -4
- package/src/icons/ast/SlideMenuClose.ts +8 -4
- package/src/icons/ast/SlideMenuFilled.ts +8 -4
- package/src/icons/ast/SlideMenuOpen.ts +8 -4
- package/src/icons/ast/SmartFolder.ts +8 -4
- package/src/icons/ast/Sort.ts +8 -4
- package/src/icons/ast/SortOnBottom.ts +8 -4
- package/src/icons/ast/SortOnTop.ts +8 -4
- package/src/icons/ast/SpaceApp.ts +8 -4
- package/src/icons/ast/SpaceGenerate.ts +8 -4
- package/src/icons/ast/SpaceList.ts +8 -4
- package/src/icons/ast/SpaceScratch.ts +8 -4
- package/src/icons/ast/SpaceTemplate.ts +8 -4
- package/src/icons/ast/Spinner.ts +8 -4
- package/src/icons/ast/Success.ts +8 -4
- package/src/icons/ast/SuggestIntegration.ts +8 -4
- package/src/icons/ast/SwitchToMention.ts +8 -4
- package/src/icons/ast/SwitchToText.ts +8 -4
- package/src/icons/ast/SwitchToWidget.ts +8 -4
- package/src/icons/ast/TableLayout.ts +8 -4
- package/src/icons/ast/Template.ts +8 -4
- package/src/icons/ast/Templates.ts +8 -4
- package/src/icons/ast/TemplatesFilled.ts +8 -4
- package/src/icons/ast/Terminal.ts +8 -4
- package/src/icons/ast/TextNoWrap.ts +8 -4
- package/src/icons/ast/TextToolAlignBottom.ts +8 -4
- package/src/icons/ast/TextToolAlignMiddle.ts +8 -4
- package/src/icons/ast/TextToolAlignTop.ts +8 -4
- package/src/icons/ast/TextWrap.ts +8 -4
- package/src/icons/ast/ThumbsDown.ts +8 -4
- package/src/icons/ast/ThumbsUp.ts +8 -4
- package/src/icons/ast/Toc.ts +12 -0
- package/src/icons/ast/Twitter.ts +8 -4
- package/src/icons/ast/TypeBoolean.ts +8 -4
- package/src/icons/ast/TypeButton.ts +8 -4
- package/src/icons/ast/TypeCheckbox.ts +8 -4
- package/src/icons/ast/TypeDate.ts +8 -4
- package/src/icons/ast/TypeEmail.ts +8 -4
- package/src/icons/ast/TypeEmoji.ts +8 -4
- package/src/icons/ast/TypeFormula.ts +8 -4
- package/src/icons/ast/TypeFunction.ts +8 -4
- package/src/icons/ast/TypeId.ts +8 -4
- package/src/icons/ast/TypeLocation.ts +8 -4
- package/src/icons/ast/TypeLookup.ts +8 -4
- package/src/icons/ast/TypeMoney.ts +8 -4
- package/src/icons/ast/TypeMultiSelect.ts +8 -4
- package/src/icons/ast/TypeNumber.ts +8 -4
- package/src/icons/ast/TypePercent.ts +8 -4
- package/src/icons/ast/TypePhone.ts +8 -4
- package/src/icons/ast/TypeRelation.ts +8 -4
- package/src/icons/ast/TypeRichText.ts +8 -4
- package/src/icons/ast/TypeRule.ts +8 -4
- package/src/icons/ast/TypeSingleSelect.ts +8 -4
- package/src/icons/ast/TypeText.ts +8 -4
- package/src/icons/ast/TypeUrl.ts +8 -4
- package/src/icons/ast/UnitsAvatar.ts +8 -4
- package/src/icons/ast/UnitsCollection.ts +8 -4
- package/src/icons/ast/UnitsCounter.ts +8 -4
- package/src/icons/ast/UnitsDate.ts +8 -4
- package/src/icons/ast/UnitsDbBadgeAbbr.ts +8 -4
- package/src/icons/ast/UnitsDbBadgeFull.ts +8 -4
- package/src/icons/ast/UnitsDbIcon.ts +8 -4
- package/src/icons/ast/UnitsField.ts +8 -4
- package/src/icons/ast/UnitsFieldIconButton.ts +8 -4
- package/src/icons/ast/UnitsInput.ts +8 -4
- package/src/icons/ast/UnitsProgressBar.ts +8 -4
- package/src/icons/ast/UnitsRichText.ts +8 -4
- package/src/icons/ast/UnitsSnippet.ts +8 -4
- package/src/icons/ast/Unlink.ts +8 -4
- package/src/icons/ast/UnlockFilled.ts +8 -4
- package/src/icons/ast/UnlockOutline.ts +8 -4
- package/src/icons/ast/Upgrade.ts +8 -4
- package/src/icons/ast/UsbFlashDrive.ts +8 -4
- package/src/icons/ast/UserCheck.ts +8 -4
- package/src/icons/ast/UserGroup.ts +8 -4
- package/src/icons/ast/UserGroupRemove.ts +8 -4
- package/src/icons/ast/UserRole.ts +8 -4
- package/src/icons/ast/UserX.ts +8 -4
- package/src/icons/ast/ValueEdit.ts +8 -4
- package/src/icons/ast/ViewAi.ts +8 -4
- package/src/icons/ast/ViewBoard.ts +8 -4
- package/src/icons/ast/ViewCalendar.ts +8 -4
- package/src/icons/ast/ViewCanvas.ts +8 -4
- package/src/icons/ast/ViewChart.ts +8 -4
- package/src/icons/ast/ViewDashboard.ts +8 -4
- package/src/icons/ast/ViewDetails.ts +8 -4
- package/src/icons/ast/ViewDocument.ts +8 -4
- package/src/icons/ast/ViewEmbed.ts +12 -0
- package/src/icons/ast/ViewFeed.ts +8 -4
- package/src/icons/ast/ViewForm.ts +8 -4
- package/src/icons/ast/ViewGallery.ts +8 -4
- package/src/icons/ast/ViewGantt.ts +8 -4
- package/src/icons/ast/ViewList.ts +8 -4
- package/src/icons/ast/ViewMap.ts +8 -4
- package/src/icons/ast/ViewPage.ts +8 -4
- package/src/icons/ast/ViewTable.ts +8 -4
- package/src/icons/ast/ViewTimeline.ts +8 -4
- package/src/icons/ast/Views.ts +8 -4
- package/src/icons/ast/Warning.ts +8 -4
- package/src/icons/ast/WarningTriangle.ts +8 -4
- package/src/icons/ast/WarningTriangleFilled.ts +8 -4
- package/src/icons/ast/Webhooks.ts +12 -0
- package/src/icons/ast/Windows.ts +8 -4
- package/src/icons/ast/WorkspaceMap.ts +8 -4
- package/src/icons/ast/Youtube.ts +8 -4
- package/src/icons/ast/ZoomIn.ts +8 -4
- package/src/icons/ast/ZoomOut.ts +8 -4
- package/src/icons/ast/index.tsx +453 -441
- package/src/icons/react/Abort.tsx +10 -5
- package/src/icons/react/AccessTemplate.tsx +10 -5
- package/src/icons/react/Activity.tsx +10 -5
- package/src/icons/react/ActivityFilled.tsx +10 -5
- package/src/icons/react/ActivityLog.tsx +10 -5
- package/src/icons/react/Add.tsx +10 -5
- package/src/icons/react/AddAfter.tsx +10 -5
- package/src/icons/react/AddBefore.tsx +10 -5
- package/src/icons/react/AddCompact.tsx +10 -5
- package/src/icons/react/AddDatabase.tsx +10 -5
- package/src/icons/react/AddGroup.tsx +10 -5
- package/src/icons/react/AddIntegration.tsx +10 -5
- package/src/icons/react/AddReactions.tsx +10 -5
- package/src/icons/react/AiAssistant.tsx +10 -5
- package/src/icons/react/AiAssistantFilled.tsx +10 -5
- package/src/icons/react/AiAvatar.tsx +10 -5
- package/src/icons/react/AiFiberyBuild.tsx +10 -5
- package/src/icons/react/AiSearch.tsx +10 -5
- package/src/icons/react/AlertTriangle.tsx +10 -5
- package/src/icons/react/Anthropic.tsx +10 -5
- package/src/icons/react/App.tsx +10 -5
- package/src/icons/react/AppDetails.tsx +10 -5
- package/src/icons/react/AppStore.tsx +10 -5
- package/src/icons/react/AppStoreOneColor.tsx +10 -5
- package/src/icons/react/AppTemplates.tsx +10 -5
- package/src/icons/react/AppWebhooks.tsx +10 -5
- package/src/icons/react/AppWiki.tsx +10 -5
- package/src/icons/react/AppearanceAuto.tsx +10 -5
- package/src/icons/react/AppearanceDark.tsx +10 -5
- package/src/icons/react/AppearanceLight.tsx +10 -5
- package/src/icons/react/Apple.tsx +10 -5
- package/src/icons/react/ArrowBarDown.tsx +18 -0
- package/src/icons/react/ArrowBarLeft.tsx +10 -5
- package/src/icons/react/ArrowBarRight.tsx +10 -5
- package/src/icons/react/ArrowBarUp.tsx +18 -0
- package/src/icons/react/ArrowBottom.tsx +10 -5
- package/src/icons/react/ArrowCollapse.tsx +10 -5
- package/src/icons/react/ArrowCollapseVertical.tsx +10 -5
- package/src/icons/react/ArrowForward.tsx +10 -5
- package/src/icons/react/ArrowLeft.tsx +10 -5
- package/src/icons/react/ArrowRight.tsx +10 -5
- package/src/icons/react/ArrowTop.tsx +10 -5
- package/src/icons/react/ArrowUpCircle.tsx +10 -5
- package/src/icons/react/ArrowsRightLeft.tsx +10 -5
- package/src/icons/react/AskForInput.tsx +10 -5
- package/src/icons/react/Asterisk.tsx +10 -5
- package/src/icons/react/Atom.tsx +10 -5
- package/src/icons/react/AutomationsCancelled.tsx +10 -5
- package/src/icons/react/AutomationsDisabled.tsx +10 -5
- package/src/icons/react/AutomationsError.tsx +10 -5
- package/src/icons/react/AutomationsInProgress.tsx +10 -5
- package/src/icons/react/AutomationsNotStarted.tsx +10 -5
- package/src/icons/react/AutomationsSuccess.tsx +10 -5
- package/src/icons/react/Back.tsx +10 -5
- package/src/icons/react/BacklogIcon.tsx +10 -5
- package/src/icons/react/BatchActionsIcon.tsx +10 -5
- package/src/icons/react/BellCircle.tsx +10 -5
- package/src/icons/react/BellFilled.tsx +10 -5
- package/src/icons/react/BellOff.tsx +10 -5
- package/src/icons/react/BellRinging.tsx +10 -5
- package/src/icons/react/BellX.tsx +10 -5
- package/src/icons/react/Bolt.tsx +10 -5
- package/src/icons/react/BringForward.tsx +10 -5
- package/src/icons/react/BringToFront.tsx +10 -5
- package/src/icons/react/Cards.tsx +10 -5
- package/src/icons/react/Chat.tsx +10 -5
- package/src/icons/react/ChatAi.tsx +10 -5
- package/src/icons/react/ChatBubble.tsx +10 -5
- package/src/icons/react/ChatFloat.tsx +10 -5
- package/src/icons/react/ChatSidebar.tsx +10 -5
- package/src/icons/react/CheckCircle.tsx +10 -5
- package/src/icons/react/CheckCircleFilled.tsx +10 -5
- package/src/icons/react/Checked.tsx +10 -5
- package/src/icons/react/Clean.tsx +10 -5
- package/src/icons/react/Clear.tsx +10 -5
- package/src/icons/react/ClearInputFilled.tsx +10 -5
- package/src/icons/react/ClearValue.tsx +10 -5
- package/src/icons/react/Clock.tsx +10 -5
- package/src/icons/react/ClockAlarm.tsx +10 -5
- package/src/icons/react/ClockForward.tsx +10 -5
- package/src/icons/react/Close.tsx +10 -5
- package/src/icons/react/CollapseAll.tsx +10 -5
- package/src/icons/react/CollapseAllHorizontal.tsx +10 -5
- package/src/icons/react/ColorCoding.tsx +10 -5
- package/src/icons/react/ColorCodingFilled.tsx +10 -5
- package/src/icons/react/Columns.tsx +10 -5
- package/src/icons/react/Columns2.tsx +10 -5
- package/src/icons/react/Columns4.tsx +10 -5
- package/src/icons/react/CommentBubble.tsx +10 -5
- package/src/icons/react/Copy.tsx +10 -5
- package/src/icons/react/Create.tsx +10 -5
- package/src/icons/react/CreditsFilled.tsx +10 -5
- package/src/icons/react/CrossCircle.tsx +10 -5
- package/src/icons/react/Crosshair.tsx +10 -5
- package/src/icons/react/Csv.tsx +10 -5
- package/src/icons/react/Database.tsx +10 -5
- package/src/icons/react/DatabaseOff.tsx +10 -5
- package/src/icons/react/DatabaseStroke.tsx +10 -5
- package/src/icons/react/DateRange.tsx +10 -5
- package/src/icons/react/Delete.tsx +10 -5
- package/src/icons/react/Demo.tsx +10 -5
- package/src/icons/react/Dependency.tsx +10 -5
- package/src/icons/react/Dividers.tsx +10 -5
- package/src/icons/react/Document.tsx +10 -5
- package/src/icons/react/DoubleArrowLeft.tsx +10 -5
- package/src/icons/react/DoubleArrowRight.tsx +10 -5
- package/src/icons/react/DoubleLine.tsx +10 -5
- package/src/icons/react/DragBlockHandle.tsx +10 -5
- package/src/icons/react/DragBlockHandleSingle.tsx +10 -5
- package/src/icons/react/DragHandle.tsx +10 -5
- package/src/icons/react/Duplicate.tsx +10 -5
- package/src/icons/react/DynamicFilterValue.tsx +10 -5
- package/src/icons/react/EditValue.tsx +10 -5
- package/src/icons/react/Email.tsx +10 -5
- package/src/icons/react/EmojiDelete.tsx +10 -5
- package/src/icons/react/EntityCreate.tsx +10 -5
- package/src/icons/react/EntityCreateFilled.tsx +10 -5
- package/src/icons/react/EntityMerge.tsx +10 -5
- package/src/icons/react/Equation.tsx +10 -5
- package/src/icons/react/ExpandAll.tsx +10 -5
- package/src/icons/react/ExpandAllHorizontal.tsx +10 -5
- package/src/icons/react/Export.tsx +10 -5
- package/src/icons/react/ExtensionAssignments.tsx +10 -5
- package/src/icons/react/ExtensionAvatar.tsx +10 -5
- package/src/icons/react/ExtensionComments.tsx +10 -5
- package/src/icons/react/ExtensionFiles.tsx +10 -5
- package/src/icons/react/ExtensionReferences.tsx +10 -5
- package/src/icons/react/ExtensionWorkflow.tsx +10 -5
- package/src/icons/react/Eye.tsx +10 -5
- package/src/icons/react/Favorites.tsx +10 -5
- package/src/icons/react/FavoritesChecked.tsx +10 -5
- package/src/icons/react/FavoritesOff.tsx +10 -5
- package/src/icons/react/FiberyDesktopApp.tsx +10 -5
- package/src/icons/react/FiberyMono.tsx +10 -5
- package/src/icons/react/FieldUnit.tsx +10 -5
- package/src/icons/react/Fields.tsx +10 -5
- package/src/icons/react/Figma.tsx +10 -5
- package/src/icons/react/FileArchive.tsx +10 -5
- package/src/icons/react/FileBroken.tsx +10 -5
- package/src/icons/react/FileCounter.tsx +10 -5
- package/src/icons/react/FileDocument.tsx +10 -5
- package/src/icons/react/FileDownload.tsx +10 -5
- package/src/icons/react/FileImage.tsx +10 -5
- package/src/icons/react/FileMultiple.tsx +10 -5
- package/src/icons/react/FileOther.tsx +10 -5
- package/src/icons/react/FilePresentation.tsx +10 -5
- package/src/icons/react/FileTable.tsx +10 -5
- package/src/icons/react/FileUpload.tsx +10 -5
- package/src/icons/react/FileVideo.tsx +10 -5
- package/src/icons/react/Filter.tsx +10 -5
- package/src/icons/react/FitToScreen.tsx +10 -5
- package/src/icons/react/FocusMode.tsx +10 -5
- package/src/icons/react/FocusModeOff.tsx +10 -5
- package/src/icons/react/Folder.tsx +10 -5
- package/src/icons/react/FolderFavorite.tsx +18 -0
- package/src/icons/react/FormWithCover.tsx +10 -5
- package/src/icons/react/FormWithoutCover.tsx +10 -5
- package/src/icons/react/FullscreenModeOffIcon.tsx +10 -5
- package/src/icons/react/FullscreenModeOn.tsx +10 -5
- package/src/icons/react/FullscreenModeOnIcon.tsx +10 -5
- package/src/icons/react/Gift.tsx +10 -5
- package/src/icons/react/Github.tsx +10 -5
- package/src/icons/react/Gitlab.tsx +10 -5
- package/src/icons/react/Globe.tsx +10 -5
- package/src/icons/react/GlobeSimple.tsx +10 -5
- package/src/icons/react/GlobeUnpublish.tsx +10 -5
- package/src/icons/react/GoTo.tsx +10 -5
- package/src/icons/react/GoogleDrive.tsx +10 -5
- package/src/icons/react/GoogleMap.tsx +10 -5
- package/src/icons/react/GraduationCapFilled.tsx +10 -5
- package/src/icons/react/Headphones.tsx +10 -5
- package/src/icons/react/HeadphonesAi.tsx +10 -5
- package/src/icons/react/Hide.tsx +10 -5
- package/src/icons/react/Highlights.tsx +10 -5
- package/src/icons/react/Hint.tsx +10 -5
- package/src/icons/react/Home.tsx +10 -5
- package/src/icons/react/HomeFilled.tsx +10 -5
- package/src/icons/react/ImageXmark.tsx +10 -5
- package/src/icons/react/Import.tsx +10 -5
- package/src/icons/react/ImportFilled.tsx +10 -5
- package/src/icons/react/InfoCircle.tsx +10 -5
- package/src/icons/react/InfoCircleFilled.tsx +10 -5
- package/src/icons/react/Integration.tsx +10 -5
- package/src/icons/react/IntegrationsFilled.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationDiscourseColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationIntercomColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationSlackColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationZendeskColor.tsx +10 -5
- package/src/icons/react/Intercom.tsx +18 -0
- package/src/icons/react/InvitePeople.tsx +10 -5
- package/src/icons/react/Items.tsx +10 -5
- package/src/icons/react/ItemsTimeline.tsx +10 -5
- package/src/icons/react/Jira.tsx +10 -5
- package/src/icons/react/Key.tsx +10 -5
- package/src/icons/react/KeyboardHideDown.tsx +10 -5
- package/src/icons/react/Lab.tsx +10 -5
- package/src/icons/react/LayoutDouble.tsx +10 -5
- package/src/icons/react/LayoutMultiple.tsx +10 -5
- package/src/icons/react/LayoutSingle.tsx +10 -5
- package/src/icons/react/LeftPanel.tsx +10 -5
- package/src/icons/react/LevelPlus.tsx +10 -5
- package/src/icons/react/Levels.tsx +10 -5
- package/src/icons/react/LineDivider.tsx +10 -5
- package/src/icons/react/LineJump.tsx +10 -5
- package/src/icons/react/Link.tsx +10 -5
- package/src/icons/react/LocationEdit.tsx +10 -5
- package/src/icons/react/Lock.tsx +10 -5
- package/src/icons/react/LockOutline.tsx +10 -5
- package/src/icons/react/Logout.tsx +10 -5
- package/src/icons/react/Loom.tsx +10 -5
- package/src/icons/react/LoupeZoom.tsx +10 -5
- package/src/icons/react/LoupeZoomIn.tsx +10 -5
- package/src/icons/react/LoupeZoomOut.tsx +10 -5
- package/src/icons/react/ManyPeople.tsx +10 -5
- package/src/icons/react/MapMode.tsx +10 -5
- package/src/icons/react/Markdown.tsx +10 -5
- package/src/icons/react/MenuCollapser.tsx +10 -5
- package/src/icons/react/Mermaid.tsx +10 -5
- package/src/icons/react/MessagePlus.tsx +10 -5
- package/src/icons/react/MessagePlusSquare.tsx +10 -5
- package/src/icons/react/Milestones.tsx +10 -5
- package/src/icons/react/Minus.tsx +10 -5
- package/src/icons/react/Miro.tsx +10 -5
- package/src/icons/react/MirrorOff.tsx +10 -5
- package/src/icons/react/MirrorOn.tsx +10 -5
- package/src/icons/react/Mixpanel.tsx +10 -5
- package/src/icons/react/Monitor.tsx +10 -5
- package/src/icons/react/More.tsx +10 -5
- package/src/icons/react/MoreCompact.tsx +10 -5
- package/src/icons/react/MoveBottom.tsx +10 -5
- package/src/icons/react/MoveLeft.tsx +10 -5
- package/src/icons/react/MoveRight.tsx +10 -5
- package/src/icons/react/MoveSpace.tsx +10 -5
- package/src/icons/react/MoveTop.tsx +10 -5
- package/src/icons/react/Network.tsx +10 -5
- package/src/icons/react/NetworkAdd.tsx +10 -5
- package/src/icons/react/NoBorder.tsx +10 -5
- package/src/icons/react/NoFill.tsx +10 -5
- package/src/icons/react/Notifications.tsx +10 -5
- package/src/icons/react/ObjChild.tsx +10 -5
- package/src/icons/react/ObjM2M.tsx +10 -5
- package/src/icons/react/ObjO2O.tsx +10 -5
- package/src/icons/react/ObjParent.tsx +10 -5
- package/src/icons/react/ObjSelf.tsx +10 -5
- package/src/icons/react/OnSchedule.tsx +10 -5
- package/src/icons/react/OpenAi.tsx +10 -5
- package/src/icons/react/OpenAsPage.tsx +10 -5
- package/src/icons/react/PageRegularMode.tsx +10 -5
- package/src/icons/react/PageWideMode.tsx +10 -5
- package/src/icons/react/PanelAdd.tsx +10 -5
- package/src/icons/react/Pencil.tsx +10 -5
- package/src/icons/react/People.tsx +10 -5
- package/src/icons/react/PeopleCheck.tsx +10 -5
- package/src/icons/react/Photo.tsx +10 -5
- package/src/icons/react/Pin.tsx +10 -5
- package/src/icons/react/PinFilled.tsx +10 -5
- package/src/icons/react/Popup.tsx +10 -5
- package/src/icons/react/Posts.tsx +10 -5
- package/src/icons/react/PresentPlay.tsx +10 -5
- package/src/icons/react/PresentStop.tsx +10 -5
- package/src/icons/react/Print.tsx +10 -5
- package/src/icons/react/PrivateItems.tsx +10 -5
- package/src/icons/react/Question.tsx +10 -5
- package/src/icons/react/QuickFilter.tsx +10 -5
- package/src/icons/react/QuickFilterPersonal.tsx +10 -5
- package/src/icons/react/ReadOnly.tsx +10 -5
- package/src/icons/react/Refresh.tsx +10 -5
- package/src/icons/react/Remove.tsx +10 -5
- package/src/icons/react/RemovePeople.tsx +10 -5
- package/src/icons/react/Reply.tsx +10 -5
- package/src/icons/react/ResetPassword.tsx +10 -5
- package/src/icons/react/Restore.tsx +10 -5
- package/src/icons/react/RicheditorActionsMore.tsx +10 -5
- package/src/icons/react/RicheditorBlockCallout.tsx +10 -5
- package/src/icons/react/RicheditorBlockCode.tsx +10 -5
- package/src/icons/react/RicheditorBlockEmbed.tsx +10 -5
- package/src/icons/react/RicheditorBlockEntity.tsx +10 -5
- package/src/icons/react/RicheditorBlockFile.tsx +10 -5
- package/src/icons/react/RicheditorBlockH1.tsx +10 -5
- package/src/icons/react/RicheditorBlockH2.tsx +10 -5
- package/src/icons/react/RicheditorBlockH3.tsx +10 -5
- package/src/icons/react/RicheditorBlockH4.tsx +10 -5
- package/src/icons/react/RicheditorBlockMention.tsx +10 -5
- package/src/icons/react/RicheditorBlockParagraph.tsx +10 -5
- package/src/icons/react/RicheditorBlockQuote.tsx +10 -5
- package/src/icons/react/RicheditorChecklistCreate.tsx +10 -5
- package/src/icons/react/RicheditorCommentCreate.tsx +10 -5
- package/src/icons/react/RicheditorEntityLinkCreate.tsx +10 -5
- package/src/icons/react/RicheditorHistoryRedo.tsx +10 -5
- package/src/icons/react/RicheditorHistoryUndo.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignCenter.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignLeft.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignRight.tsx +10 -5
- package/src/icons/react/RicheditorImageUpload.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapCenter.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapLeft.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapRight.tsx +10 -5
- package/src/icons/react/RicheditorImageZoom.tsx +10 -5
- package/src/icons/react/RicheditorLinkCreate.tsx +10 -5
- package/src/icons/react/RicheditorLinkedhighlightCreate.tsx +10 -5
- package/src/icons/react/RicheditorListBullet.tsx +10 -5
- package/src/icons/react/RicheditorListIndent.tsx +10 -5
- package/src/icons/react/RicheditorListOrdered.tsx +10 -5
- package/src/icons/react/RicheditorListUnindent.tsx +10 -5
- package/src/icons/react/RicheditorMarkCode.tsx +10 -5
- package/src/icons/react/RicheditorMarkEm.tsx +10 -5
- package/src/icons/react/RicheditorMarkHighlight.tsx +10 -5
- package/src/icons/react/RicheditorMarkStrike.tsx +10 -5
- package/src/icons/react/RicheditorMarkStrong.tsx +10 -5
- package/src/icons/react/RicheditorMarkTextBackgroundColor.tsx +10 -5
- package/src/icons/react/RicheditorMarkUnderline.tsx +10 -5
- package/src/icons/react/RicheditorOpenLink.tsx +10 -5
- package/src/icons/react/RicheditorTableCreate.tsx +10 -5
- package/src/icons/react/RicheditorUnlink.tsx +10 -5
- package/src/icons/react/RicheditorVideoUpload.tsx +10 -5
- package/src/icons/react/RightPanel.tsx +10 -5
- package/src/icons/react/Rows.tsx +10 -5
- package/src/icons/react/RuleScheduled.tsx +10 -5
- package/src/icons/react/Search.tsx +10 -5
- package/src/icons/react/SearchAdd.tsx +10 -5
- package/src/icons/react/SearchFilled.tsx +10 -5
- package/src/icons/react/SearchRemove.tsx +10 -5
- package/src/icons/react/SelfReferenceOff.tsx +10 -5
- package/src/icons/react/SelfReferenceOn.tsx +10 -5
- package/src/icons/react/SendArrow.tsx +10 -5
- package/src/icons/react/SendBackward.tsx +10 -5
- package/src/icons/react/SendToBack.tsx +10 -5
- package/src/icons/react/Settings.tsx +10 -5
- package/src/icons/react/SettingsFilled.tsx +10 -5
- package/src/icons/react/SettingsOff.tsx +10 -5
- package/src/icons/react/Share.tsx +10 -5
- package/src/icons/react/Shared.tsx +10 -5
- package/src/icons/react/ShieldKeyhole.tsx +10 -5
- package/src/icons/react/ShowAuthor.tsx +10 -5
- package/src/icons/react/Sidebar.tsx +10 -5
- package/src/icons/react/SidebarFields.tsx +10 -5
- package/src/icons/react/SidebarFieldsOpened.tsx +10 -5
- package/src/icons/react/SimpleCompass.tsx +10 -5
- package/src/icons/react/Slack.tsx +10 -5
- package/src/icons/react/SlackIcon.tsx +10 -5
- package/src/icons/react/SlideMenu.tsx +10 -5
- package/src/icons/react/SlideMenuClose.tsx +10 -5
- package/src/icons/react/SlideMenuFilled.tsx +10 -5
- package/src/icons/react/SlideMenuOpen.tsx +10 -5
- package/src/icons/react/SmartFolder.tsx +10 -5
- package/src/icons/react/Sort.tsx +10 -5
- package/src/icons/react/SortOnBottom.tsx +10 -5
- package/src/icons/react/SortOnTop.tsx +10 -5
- package/src/icons/react/SpaceApp.tsx +10 -5
- package/src/icons/react/SpaceGenerate.tsx +10 -5
- package/src/icons/react/SpaceList.tsx +10 -5
- package/src/icons/react/SpaceScratch.tsx +10 -5
- package/src/icons/react/SpaceTemplate.tsx +10 -5
- package/src/icons/react/Spinner.tsx +10 -5
- package/src/icons/react/Success.tsx +10 -5
- package/src/icons/react/SuggestIntegration.tsx +10 -5
- package/src/icons/react/SwitchToMention.tsx +10 -5
- package/src/icons/react/SwitchToText.tsx +10 -5
- package/src/icons/react/SwitchToWidget.tsx +10 -5
- package/src/icons/react/TableLayout.tsx +10 -5
- package/src/icons/react/Template.tsx +10 -5
- package/src/icons/react/Templates.tsx +10 -5
- package/src/icons/react/TemplatesFilled.tsx +10 -5
- package/src/icons/react/Terminal.tsx +10 -5
- package/src/icons/react/TextNoWrap.tsx +10 -5
- package/src/icons/react/TextToolAlignBottom.tsx +10 -5
- package/src/icons/react/TextToolAlignMiddle.tsx +10 -5
- package/src/icons/react/TextToolAlignTop.tsx +10 -5
- package/src/icons/react/TextWrap.tsx +10 -5
- package/src/icons/react/ThumbsDown.tsx +10 -5
- package/src/icons/react/ThumbsUp.tsx +10 -5
- package/src/icons/react/Toc.tsx +18 -0
- package/src/icons/react/Twitter.tsx +10 -5
- package/src/icons/react/TypeBoolean.tsx +10 -5
- package/src/icons/react/TypeButton.tsx +10 -5
- package/src/icons/react/TypeCheckbox.tsx +10 -5
- package/src/icons/react/TypeDate.tsx +10 -5
- package/src/icons/react/TypeEmail.tsx +10 -5
- package/src/icons/react/TypeEmoji.tsx +10 -5
- package/src/icons/react/TypeFormula.tsx +10 -5
- package/src/icons/react/TypeFunction.tsx +10 -5
- package/src/icons/react/TypeId.tsx +10 -5
- package/src/icons/react/TypeLocation.tsx +10 -5
- package/src/icons/react/TypeLookup.tsx +10 -5
- package/src/icons/react/TypeMoney.tsx +10 -5
- package/src/icons/react/TypeMultiSelect.tsx +10 -5
- package/src/icons/react/TypeNumber.tsx +10 -5
- package/src/icons/react/TypePercent.tsx +10 -5
- package/src/icons/react/TypePhone.tsx +10 -5
- package/src/icons/react/TypeRelation.tsx +10 -5
- package/src/icons/react/TypeRichText.tsx +10 -5
- package/src/icons/react/TypeRule.tsx +10 -5
- package/src/icons/react/TypeSingleSelect.tsx +10 -5
- package/src/icons/react/TypeText.tsx +10 -5
- package/src/icons/react/TypeUrl.tsx +10 -5
- package/src/icons/react/UnitsAvatar.tsx +10 -5
- package/src/icons/react/UnitsCollection.tsx +10 -5
- package/src/icons/react/UnitsCounter.tsx +10 -5
- package/src/icons/react/UnitsDate.tsx +10 -5
- package/src/icons/react/UnitsDbBadgeAbbr.tsx +10 -5
- package/src/icons/react/UnitsDbBadgeFull.tsx +10 -5
- package/src/icons/react/UnitsDbIcon.tsx +10 -5
- package/src/icons/react/UnitsField.tsx +10 -5
- package/src/icons/react/UnitsFieldIconButton.tsx +10 -5
- package/src/icons/react/UnitsInput.tsx +10 -5
- package/src/icons/react/UnitsProgressBar.tsx +10 -5
- package/src/icons/react/UnitsRichText.tsx +10 -5
- package/src/icons/react/UnitsSnippet.tsx +10 -5
- package/src/icons/react/Unlink.tsx +10 -5
- package/src/icons/react/UnlockFilled.tsx +10 -5
- package/src/icons/react/UnlockOutline.tsx +10 -5
- package/src/icons/react/Upgrade.tsx +10 -5
- package/src/icons/react/UsbFlashDrive.tsx +10 -5
- package/src/icons/react/UserCheck.tsx +10 -5
- package/src/icons/react/UserGroup.tsx +10 -5
- package/src/icons/react/UserGroupRemove.tsx +10 -5
- package/src/icons/react/UserRole.tsx +10 -5
- package/src/icons/react/UserX.tsx +10 -5
- package/src/icons/react/ValueEdit.tsx +10 -5
- package/src/icons/react/ViewAi.tsx +10 -5
- package/src/icons/react/ViewBoard.tsx +10 -5
- package/src/icons/react/ViewCalendar.tsx +10 -5
- package/src/icons/react/ViewCanvas.tsx +10 -5
- package/src/icons/react/ViewChart.tsx +10 -5
- package/src/icons/react/ViewDashboard.tsx +10 -5
- package/src/icons/react/ViewDetails.tsx +10 -5
- package/src/icons/react/ViewDocument.tsx +10 -5
- package/src/icons/react/ViewEmbed.tsx +18 -0
- package/src/icons/react/ViewFeed.tsx +10 -5
- package/src/icons/react/ViewForm.tsx +10 -5
- package/src/icons/react/ViewGallery.tsx +10 -5
- package/src/icons/react/ViewGantt.tsx +10 -5
- package/src/icons/react/ViewList.tsx +10 -5
- package/src/icons/react/ViewMap.tsx +10 -5
- package/src/icons/react/ViewPage.tsx +10 -5
- package/src/icons/react/ViewTable.tsx +10 -5
- package/src/icons/react/ViewTimeline.tsx +10 -5
- package/src/icons/react/Views.tsx +10 -5
- package/src/icons/react/Warning.tsx +10 -5
- package/src/icons/react/WarningTriangle.tsx +10 -5
- package/src/icons/react/WarningTriangleFilled.tsx +10 -5
- package/src/icons/react/Webhooks.tsx +18 -0
- package/src/icons/react/Windows.tsx +10 -5
- package/src/icons/react/WorkspaceMap.tsx +10 -5
- package/src/icons/react/Youtube.tsx +10 -5
- package/src/icons/react/ZoomIn.tsx +10 -5
- package/src/icons/react/ZoomOut.tsx +10 -5
- package/src/icons/react/index.tsx +453 -441
- package/src/icons/svg/arrow-bar-down.svg +4 -0
- package/src/icons/svg/arrow-bar-up.svg +4 -0
- package/src/icons/svg/folder-favorite.svg +3 -0
- package/src/icons/svg/intercom.svg +3 -0
- package/src/icons/svg/richeditor/list/indent.svg +7 -2
- package/src/icons/svg/richeditor/list/unindent.svg +7 -2
- package/src/icons/svg/richeditor/mark/underline.svg +2 -2
- package/src/icons/svg/toc.svg +5 -0
- package/src/icons/svg/view-embed.svg +3 -0
- package/src/icons/svg/webhooks.svg +5 -0
- package/src/icons/types.ts +2 -0
- package/src/images-gallery/images-gallery.tsx +67 -16
- package/src/images-gallery/slide-buttons.tsx +5 -9
- package/src/integration-compact-info-button.tsx +10 -6
- package/src/loaders.tsx +2 -2
- package/src/loading-sausage.tsx +4 -4
- package/src/mobile-keyboard-aware-popup.tsx +1 -1
- package/src/modal-menu/modal-menu-content.tsx +1 -1
- package/src/modal-menu/modal-menu-separator.tsx +1 -1
- package/src/modal-menu/modal-submenu-content.tsx +3 -1
- package/src/new-badge.tsx +2 -2
- package/src/number-input/edit-unit-styles.ts +3 -3
- package/src/online-users.tsx +8 -8
- package/src/open-popover-tracker.tsx +73 -0
- package/src/palette-generator.test.ts +145 -147
- package/src/palette-generator.ts +24 -34
- package/src/palettes/_.test.ts +226 -0
- package/src/palettes/_.ts +66 -23
- package/src/palettes/diff-colors.ts +253 -0
- package/src/palettes/inspect.canvas-colors.test.ts +257 -0
- package/src/palettes/inspect.defs.colors.neutral-arch.test.ts +2291 -0
- package/src/palettes/inspect.defs.colors.neutral-user.test.ts +2291 -0
- package/src/palettes/inspect.defs.colors.warm-arch.test.ts +2291 -0
- package/src/palettes/inspect.defs.colors.warm-user.test.ts +2291 -0
- package/src/palettes/inspect.neutral-arch.test.ts +191 -0
- package/src/palettes/inspect.neutral-user.test.ts +191 -0
- package/src/palettes/inspect.warm-arch.test.ts +191 -0
- package/src/palettes/inspect.warm-user.test.ts +191 -0
- package/src/palettes/neutral-arch.ts +37 -0
- package/src/palettes/neutral-user.ts +37 -0
- package/src/palettes/{slate-arch.ts → neutral.ts} +19 -33
- package/src/palettes/warm-arch.ts +2 -187
- package/src/palettes/warm-user.ts +2 -187
- package/src/palettes/warm.ts +157 -0
- package/src/popover/index.tsx +34 -10
- package/src/popover/mobile-popover.tsx +4 -2
- package/src/popover/popup-modifiers-context.ts +4 -4
- package/src/preference-setting.test.ts +223 -0
- package/src/preference-setting.ts +71 -0
- package/src/pretty-size.test.ts +18 -0
- package/src/pretty-size.ts +23 -0
- package/src/reactions/reaction-button.tsx +4 -4
- package/src/reactions/reaction-picker.tsx +2 -2
- package/src/rich-text-embed-error.tsx +3 -1
- package/src/root-theme-provider.test.tsx +25 -20
- package/src/select/components/group-heading.tsx +1 -1
- package/src/select/index.tsx +9 -5
- package/src/select/select.tsx +1 -0
- package/src/select/styles.ts +1 -1
- package/src/static-palettes.ts +3 -5
- package/src/tab-nav/tab-nav.tsx +61 -17
- package/src/thematic-color-picker.tsx +158 -234
- package/src/thematic-constants.tsx +0 -1
- package/src/thematic-controls.tsx +118 -9
- package/src/thematic-scales.tsx +66 -86
- package/src/thematic-state.ts +61 -44
- package/src/thematic.tsx +379 -244
- package/src/theme-provider.test.tsx +70 -67
- package/src/theme-provider.tsx +44 -39
- package/src/theme-settings.ts +12 -44
- package/src/theme-styles.ts +34 -28
- package/src/themed-ink.tsx +26 -0
- package/src/toast/toast-action.tsx +2 -2
- package/src/toggle-button/round-toggle-button.tsx +2 -1
- package/src/toggle-button/toggle-button.tsx +3 -3
- package/src/toggle-on-off.tsx +7 -7
- package/src/tooltip-if-overflown.tsx +3 -3
- package/src/tree-utils.ts +1 -1
- package/src/type-badge-box.tsx +2 -2
- package/src/type-badge.tsx +9 -10
- package/src/unit/maybe-unit-value.tsx +1 -1
- package/src/unit/types.ts +1 -1
- package/src/workflow-progress-icon.tsx +1 -1
- package/.oxlintrc.json +0 -24
- package/src/actions-menu/actions-menu-open-state-tracker.tsx +0 -66
- package/src/design-system/alpha.test.ts +0 -59
- package/src/design-system.test.ts +0 -48
- package/src/error-alert/error-alert-action.tsx +0 -12
- package/src/error-alert/error-alert.tsx +0 -71
- package/src/palettes/slate-arch.colors-snapshot.test.ts +0 -1689
- package/src/palettes/slate-user.colors-snapshot.test.ts +0 -1689
- package/src/palettes/slate-user.ts +0 -187
- package/src/palettes/warm-arch.colors-snapshot.test.ts +0 -1689
- package/src/palettes/warm-user.colors-snapshot.test.ts +0 -1689
- package/src/popover/popover-old.tsx +0 -113
- /package/src/number-input/{decimal.test.js → decimal.test.ts} +0 -0
package/src/thematic.tsx
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
// oxlint-disable max-lines
|
|
1
2
|
import {css} from "@linaria/core";
|
|
3
|
+
import {useState} from "react";
|
|
2
4
|
import {createPortal} from "react-dom";
|
|
3
5
|
import {border, space, themeVars} from "./design-system";
|
|
4
|
-
import {ThemeProvider} from "./theme-provider";
|
|
5
|
-
import {
|
|
6
|
+
import {ThemeProvider, useTheme} from "./theme-provider";
|
|
7
|
+
import {useWarmPreference} from "./theme-settings";
|
|
8
|
+
import {inspectColor} from "./color-utils";
|
|
9
|
+
import {cardTypeColors} from "./design-system/colors";
|
|
10
|
+
import {backgrounds, sections, stickers} from "./canvas-colors";
|
|
11
|
+
import {type ColorScale, type ThemePalette} from "./palette-generator";
|
|
6
12
|
import {useThematicState} from "./thematic-state";
|
|
7
13
|
import {IconButton} from "./button/icon-button";
|
|
8
14
|
import Refresh from "./icons/react/Refresh";
|
|
@@ -10,13 +16,24 @@ import Lab from "./icons/react/Lab";
|
|
|
10
16
|
import Restore from "./icons/react/Restore";
|
|
11
17
|
import ColorCoding from "./icons/react/ColorCoding";
|
|
12
18
|
import Close from "./icons/react/Close";
|
|
13
|
-
import
|
|
19
|
+
import Pin from "./icons/react/Pin";
|
|
20
|
+
import PinFilled from "./icons/react/PinFilled";
|
|
14
21
|
import FileDownload from "./icons/react/FileDownload";
|
|
15
22
|
import FileUpload from "./icons/react/FileUpload";
|
|
16
23
|
import {themeIcons} from "./thematic-constants";
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
import {
|
|
25
|
+
ArrayEditor,
|
|
26
|
+
ArraySlider,
|
|
27
|
+
chromaGradient,
|
|
28
|
+
controlRowCss,
|
|
29
|
+
hueGradient,
|
|
30
|
+
oklchColor,
|
|
31
|
+
Slider,
|
|
32
|
+
} from "./thematic-controls";
|
|
33
|
+
import type {InspectChannel} from "./thematic-color-picker";
|
|
34
|
+
import {ScaleGrid, sectionLabelCss, sectionSeparatorCss, SPACER} from "./thematic-scales";
|
|
35
|
+
|
|
36
|
+
type PaletteScaleKey = Exclude<keyof ThemePalette, "key" | "deneutralize">;
|
|
20
37
|
|
|
21
38
|
const panelCss = css`
|
|
22
39
|
position: fixed;
|
|
@@ -37,38 +54,26 @@ const buttonsCss = css`
|
|
|
37
54
|
`;
|
|
38
55
|
|
|
39
56
|
export function Thematic() {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
setAccentCurves,
|
|
58
|
-
update,
|
|
59
|
-
randomize,
|
|
60
|
-
cycleStaticPalettes,
|
|
61
|
-
cycleTheme,
|
|
62
|
-
reset,
|
|
63
|
-
updateScaleColor,
|
|
64
|
-
highlightScale,
|
|
65
|
-
clearHighlight,
|
|
66
|
-
exportState,
|
|
67
|
-
importState,
|
|
68
|
-
} = useThematicState();
|
|
57
|
+
const theme = useTheme();
|
|
58
|
+
const [warm, setWarm] = useWarmPreference();
|
|
59
|
+
const state = useThematicState();
|
|
60
|
+
|
|
61
|
+
const [hovered, setHovered] = useState(false);
|
|
62
|
+
const expanded = state.pinned || hovered;
|
|
63
|
+
|
|
64
|
+
const [inspectBase, setInspectBase] = useState<"l" | "c" | "h" | null>(null);
|
|
65
|
+
const inspectChannel: InspectChannel = inspectBase
|
|
66
|
+
? state.isAltPressed
|
|
67
|
+
? ({l: "hsl-l", c: "hsl-s", h: "hsl-h"} as const)[inspectBase]
|
|
68
|
+
: ({l: "oklch-l", c: "oklch-c", h: "oklch-h"} as const)[inspectBase]
|
|
69
|
+
: null;
|
|
70
|
+
const inspL = () => setInspectBase("l");
|
|
71
|
+
const inspC = () => setInspectBase("c");
|
|
72
|
+
const inspH = () => setInspectBase("h");
|
|
73
|
+
const inspOff = () => setInspectBase(null);
|
|
69
74
|
|
|
70
75
|
const handleExport = () => {
|
|
71
|
-
const data = exportState();
|
|
76
|
+
const data = state.exportState();
|
|
72
77
|
const blob = new Blob([JSON.stringify(data, null, 2)], {type: "application/json"});
|
|
73
78
|
const url = URL.createObjectURL(blob);
|
|
74
79
|
const a = document.createElement("a");
|
|
@@ -89,7 +94,7 @@ export function Thematic() {
|
|
|
89
94
|
input.onchange = () => {
|
|
90
95
|
input.files?.[0]?.text().then((json) => {
|
|
91
96
|
try {
|
|
92
|
-
importState(JSON.parse(json));
|
|
97
|
+
state.importState(JSON.parse(json));
|
|
93
98
|
} catch {
|
|
94
99
|
/* ignore invalid */
|
|
95
100
|
}
|
|
@@ -98,284 +103,414 @@ export function Thematic() {
|
|
|
98
103
|
input.click();
|
|
99
104
|
};
|
|
100
105
|
|
|
101
|
-
if (!visible) {
|
|
106
|
+
if (!state.visible) {
|
|
102
107
|
return null;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
110
|
const panel = (
|
|
106
|
-
<div className={panelCss}>
|
|
107
|
-
{
|
|
108
|
-
<
|
|
109
|
-
<ColorCoding />
|
|
110
|
-
</IconButton>
|
|
111
|
+
<div className={panelCss} onMouseEnter={() => setHovered(true)} onMouseLeave={() => setHovered(false)}>
|
|
112
|
+
{!expanded ? (
|
|
113
|
+
<ColorCoding />
|
|
111
114
|
) : (
|
|
112
115
|
<>
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
116
|
+
<ScaleGrid
|
|
117
|
+
isAltPressed={state.isAltPressed}
|
|
118
|
+
inspectChannel={inspectChannel}
|
|
119
|
+
scales={(() => {
|
|
120
|
+
const alt = (name: PaletteScaleKey) =>
|
|
121
|
+
state.isAltPressed ? ([...state.providerPalette[name]] as (string | null)[]) : undefined;
|
|
122
|
+
const s = (name: string, scale: ColorScale, scaleName: PaletteScaleKey) => ({
|
|
123
|
+
name,
|
|
124
|
+
scale,
|
|
125
|
+
onColorChange: (i: number, c: string) => state.updateScaleColor(scaleName as PaletteScaleKey, i, c),
|
|
126
|
+
onHover: state.onSwatchHover,
|
|
127
|
+
onHoverEnd: state.onSwatchHoverEnd,
|
|
128
|
+
altColors: alt(scaleName),
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
const dn = state.palette.deneutralize ? theme.fns.deneutralize : (c: string) => c;
|
|
132
|
+
const isDark = state.showDark;
|
|
133
|
+
const canvasCol = (
|
|
134
|
+
defs: readonly (readonly [string, string])[],
|
|
135
|
+
label: string,
|
|
136
|
+
padBefore?: Record<number, number>
|
|
137
|
+
) => {
|
|
138
|
+
const scale: (string | null)[] = [];
|
|
139
|
+
const altColors: (string | null)[] = [];
|
|
140
|
+
defs.forEach(([light, dark], i) => {
|
|
141
|
+
const pad = padBefore?.[i] ?? 0;
|
|
142
|
+
for (let p = 0; p < pad; p++) {
|
|
143
|
+
scale.push(SPACER);
|
|
144
|
+
altColors.push(SPACER);
|
|
145
|
+
}
|
|
146
|
+
scale.push(dn(isDark ? dark : light));
|
|
147
|
+
altColors.push(isDark ? light : dark);
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
name: label,
|
|
151
|
+
scale: scale as unknown as ColorScale,
|
|
152
|
+
onHover: state.onSwatchHover,
|
|
153
|
+
onHoverEnd: state.onSwatchHoverEnd,
|
|
154
|
+
altColors: state.isAltPressed ? altColors : undefined,
|
|
155
|
+
mini: true,
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
return [
|
|
160
|
+
{
|
|
161
|
+
name: "whiteA",
|
|
162
|
+
scale: state.palette.whiteA,
|
|
163
|
+
onColorChange: (i: number, c: string) => state.updateScaleColor("whiteA", i, c),
|
|
164
|
+
onHover: state.onSwatchHover,
|
|
165
|
+
onHoverEnd: state.onSwatchHoverEnd,
|
|
166
|
+
extra: {
|
|
167
|
+
color: state.palette.white,
|
|
168
|
+
name: "white",
|
|
169
|
+
onChange: (c: string) => state.updateScaleColor("white", 0, c),
|
|
170
|
+
},
|
|
171
|
+
splitBg: true,
|
|
172
|
+
altColors: alt("whiteA"),
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: "blackA",
|
|
176
|
+
scale: state.palette.blackA,
|
|
177
|
+
onColorChange: (i: number, c: string) => state.updateScaleColor("blackA", i, c),
|
|
178
|
+
onHover: state.onSwatchHover,
|
|
179
|
+
onHoverEnd: state.onSwatchHoverEnd,
|
|
180
|
+
extra: {
|
|
181
|
+
color: state.palette.black,
|
|
182
|
+
name: "black",
|
|
183
|
+
onChange: (c: string) => state.updateScaleColor("black", 0, c),
|
|
184
|
+
},
|
|
185
|
+
splitBg: true,
|
|
186
|
+
altColors: alt("blackA"),
|
|
187
|
+
},
|
|
188
|
+
...(state.showLight
|
|
189
|
+
? [
|
|
190
|
+
s("base", state.palette.base, "base"),
|
|
191
|
+
s("accent", state.palette.accent, "accent"),
|
|
192
|
+
s("red", state.palette.red, "red"),
|
|
193
|
+
s("teal", state.palette.teal, "teal"),
|
|
194
|
+
s("yellow", state.palette.yellow, "yellow"),
|
|
195
|
+
]
|
|
196
|
+
: []),
|
|
197
|
+
...(state.showDark
|
|
198
|
+
? [
|
|
199
|
+
s("baseDark", state.palette.baseDark, "baseDark"),
|
|
200
|
+
s("accentDark", state.palette.accentDark, "accentDark"),
|
|
201
|
+
s("redDark", state.palette.redDark, "redDark"),
|
|
202
|
+
s("tealDark", state.palette.tealDark, "tealDark"),
|
|
203
|
+
s("yellowDark", state.palette.yellowDark, "yellowDark"),
|
|
204
|
+
]
|
|
205
|
+
: []),
|
|
206
|
+
{
|
|
207
|
+
name: "cardType",
|
|
208
|
+
scale: cardTypeColors.map((c) => dn(c)) as unknown as ColorScale,
|
|
209
|
+
onHover: state.onSwatchHover,
|
|
210
|
+
onHoverEnd: state.onSwatchHoverEnd,
|
|
211
|
+
altColors: state.isAltPressed ? [...cardTypeColors] : undefined,
|
|
212
|
+
mini: true,
|
|
213
|
+
},
|
|
214
|
+
canvasCol(backgrounds, "background"),
|
|
215
|
+
canvasCol(stickers, "sticker", {0: 1, 8: 2}),
|
|
216
|
+
canvasCol(sections, "section"),
|
|
217
|
+
];
|
|
218
|
+
})()}
|
|
136
219
|
/>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
220
|
+
|
|
221
|
+
<div style={{display: "flex", alignItems: "center", gap: space.s8, minHeight: 28}}>
|
|
222
|
+
<div style={{display: "flex", gap: space.s2, flexShrink: 0}}>
|
|
223
|
+
<IconButton size="small" variant="ghost" color="neutral" onClick={handleExport} title="Export">
|
|
224
|
+
<FileDownload />
|
|
225
|
+
</IconButton>
|
|
226
|
+
<IconButton size="small" variant="ghost" color="neutral" onClick={handleImport} title="Import">
|
|
227
|
+
<FileUpload />
|
|
228
|
+
</IconButton>
|
|
144
229
|
</div>
|
|
145
|
-
|
|
230
|
+
{state.hoveredInfo &&
|
|
231
|
+
(() => {
|
|
232
|
+
const [hex, hsl, oklch] = inspectColor(state.hoveredInfo.color, "\t").split("\t");
|
|
233
|
+
return (
|
|
234
|
+
<div
|
|
235
|
+
style={{
|
|
236
|
+
display: "grid",
|
|
237
|
+
gridTemplateColumns: "auto 1fr",
|
|
238
|
+
columnGap: space.s8,
|
|
239
|
+
fontFamily: "monospace",
|
|
240
|
+
fontSize: 11,
|
|
241
|
+
lineHeight: "14px",
|
|
242
|
+
color: themeVars.colorTextSecondary,
|
|
243
|
+
}}
|
|
244
|
+
>
|
|
245
|
+
<span>{state.hoveredInfo.name}</span>
|
|
246
|
+
<span>{hsl}</span>
|
|
247
|
+
<span>{hex}</span>
|
|
248
|
+
<span>{oklch}</span>
|
|
249
|
+
</div>
|
|
250
|
+
);
|
|
251
|
+
})()}
|
|
252
|
+
</div>
|
|
253
|
+
|
|
254
|
+
<div className={sectionSeparatorCss} />
|
|
255
|
+
|
|
256
|
+
<div className={sectionLabelCss} style={{fontWeight: 700}}>
|
|
257
|
+
palette
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
<div className={sectionLabelCss}>base{state.prefs ? " *" : ""}</div>
|
|
261
|
+
<div className={controlRowCss}>
|
|
262
|
+
<ArrayEditor
|
|
263
|
+
label="L"
|
|
264
|
+
values={state.baseCurves.lightness}
|
|
265
|
+
onChange={(L) => state.setBaseCurves({...state.baseCurves, lightness: L})}
|
|
266
|
+
onLabelHover={inspL}
|
|
267
|
+
onLabelLeave={inspOff}
|
|
268
|
+
/>
|
|
269
|
+
</div>
|
|
146
270
|
<ArraySlider
|
|
147
|
-
label="C"
|
|
148
|
-
values={baseCurves.chroma}
|
|
149
|
-
onValuesChange={
|
|
150
|
-
sliderValue={prefsPresent.baseChroma ?? 0}
|
|
151
|
-
onSliderChange={(v) => update({baseChroma: v})}
|
|
271
|
+
label={state.prefs?.baseChroma !== undefined ? "C *" : "C"}
|
|
272
|
+
values={state.baseCurves.chroma}
|
|
273
|
+
onValuesChange={(C) => state.setBaseCurves({...state.baseCurves, chroma: C})}
|
|
274
|
+
sliderValue={state.prefsPresent.baseChroma ?? 0}
|
|
275
|
+
onSliderChange={(v) => state.update({baseChroma: v})}
|
|
152
276
|
min={0}
|
|
153
277
|
max={0.25}
|
|
154
278
|
step={0.001}
|
|
279
|
+
gradient={chromaGradient(state.prefsPresent.baseHue ?? 0, 0.25)}
|
|
280
|
+
color={oklchColor(state.prefsPresent.baseHue ?? 0, state.prefsPresent.baseChroma ?? 0)}
|
|
281
|
+
onLabelHover={inspC}
|
|
282
|
+
onLabelLeave={inspOff}
|
|
155
283
|
/>
|
|
156
284
|
<Slider
|
|
157
|
-
label="H"
|
|
158
|
-
value={prefsPresent.baseHue ?? 0}
|
|
285
|
+
label={state.prefs?.baseHue !== undefined ? "H *" : "H"}
|
|
286
|
+
value={state.prefsPresent.baseHue ?? 0}
|
|
159
287
|
min={0}
|
|
160
288
|
max={360}
|
|
161
289
|
step={1}
|
|
162
|
-
onChange={(v) => update({baseHue: v})}
|
|
290
|
+
onChange={(v) => state.update({baseHue: v})}
|
|
291
|
+
gradient={hueGradient(state.prefsPresent.baseChroma ?? 0)}
|
|
292
|
+
color={oklchColor(state.prefsPresent.baseHue ?? 0, state.prefsPresent.baseChroma ?? 0)}
|
|
293
|
+
onLabelHover={inspH}
|
|
294
|
+
onLabelLeave={inspOff}
|
|
163
295
|
/>
|
|
164
296
|
|
|
165
|
-
<div className={
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
onDarkColorChange={(i, c) => updateScaleColor("accentDark", i, c)}
|
|
176
|
-
onLightHighlight={highlightScale("accent")}
|
|
177
|
-
onDarkHighlight={highlightScale("accentDark")}
|
|
178
|
-
onHighlightEnd={clearHighlight}
|
|
179
|
-
isAltPressed={isAltPressed}
|
|
180
|
-
/>
|
|
181
|
-
{!isAuto && (
|
|
182
|
-
<div className={controlRowCss}>
|
|
183
|
-
<ArrayEditor
|
|
184
|
-
label="L"
|
|
185
|
-
values={accentCurves.lightness}
|
|
186
|
-
onChange={(L) => setAccentCurves({...accentCurves, lightness: L})}
|
|
187
|
-
/>
|
|
188
|
-
</div>
|
|
189
|
-
)}
|
|
297
|
+
<div className={sectionLabelCss}>accent{state.prefs ? " *" : ""}</div>
|
|
298
|
+
<div className={controlRowCss}>
|
|
299
|
+
<ArrayEditor
|
|
300
|
+
label="L"
|
|
301
|
+
values={state.accentCurves.lightness}
|
|
302
|
+
onChange={(L) => state.setAccentCurves({...state.accentCurves, lightness: L})}
|
|
303
|
+
onLabelHover={inspL}
|
|
304
|
+
onLabelLeave={inspOff}
|
|
305
|
+
/>
|
|
306
|
+
</div>
|
|
190
307
|
<ArraySlider
|
|
191
|
-
label="C"
|
|
192
|
-
values={accentCurves.chroma}
|
|
193
|
-
onValuesChange={
|
|
194
|
-
sliderValue={prefsPresent.accentChroma}
|
|
195
|
-
onSliderChange={(v) => update({accentChroma: v})}
|
|
308
|
+
label={state.prefs?.accentChroma !== undefined ? "C *" : "C"}
|
|
309
|
+
values={state.accentCurves.chroma}
|
|
310
|
+
onValuesChange={(C) => state.setAccentCurves({...state.accentCurves, chroma: C})}
|
|
311
|
+
sliderValue={state.prefsPresent.accentChroma}
|
|
312
|
+
onSliderChange={(v) => state.update({accentChroma: v})}
|
|
196
313
|
min={0.05}
|
|
197
314
|
max={0.25}
|
|
198
315
|
step={0.001}
|
|
316
|
+
gradient={chromaGradient(state.prefsPresent.accentHue, 0.25)}
|
|
317
|
+
color={oklchColor(state.prefsPresent.accentHue, state.prefsPresent.accentChroma)}
|
|
318
|
+
onLabelHover={inspC}
|
|
319
|
+
onLabelLeave={inspOff}
|
|
199
320
|
/>
|
|
200
321
|
<Slider
|
|
201
|
-
label="H"
|
|
202
|
-
value={prefsPresent.accentHue}
|
|
322
|
+
label={state.prefs?.accentHue !== undefined ? "H *" : "H"}
|
|
323
|
+
value={state.prefsPresent.accentHue}
|
|
203
324
|
min={0}
|
|
204
325
|
max={360}
|
|
205
326
|
step={1}
|
|
206
|
-
onChange={(v) => update({accentHue: v})}
|
|
327
|
+
onChange={(v) => state.update({accentHue: v})}
|
|
328
|
+
gradient={hueGradient(state.prefsPresent.accentChroma)}
|
|
329
|
+
color={oklchColor(state.prefsPresent.accentHue, state.prefsPresent.accentChroma)}
|
|
330
|
+
onLabelHover={inspH}
|
|
331
|
+
onLabelLeave={inspOff}
|
|
207
332
|
/>
|
|
208
333
|
|
|
209
|
-
<div className={
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
isAltPressed={isAltPressed}
|
|
223
|
-
/>
|
|
224
|
-
<ScalePair
|
|
225
|
-
name="teal"
|
|
226
|
-
light={palette.teal}
|
|
227
|
-
dark={palette.tealDark}
|
|
228
|
-
showLight={showLight}
|
|
229
|
-
showDark={showDark}
|
|
230
|
-
onLightColorChange={(i, c) => updateScaleColor("teal", i, c)}
|
|
231
|
-
onDarkColorChange={(i, c) => updateScaleColor("tealDark", i, c)}
|
|
232
|
-
onLightHighlight={highlightScale("teal")}
|
|
233
|
-
onDarkHighlight={highlightScale("tealDark")}
|
|
234
|
-
onHighlightEnd={clearHighlight}
|
|
235
|
-
isAltPressed={isAltPressed}
|
|
236
|
-
/>
|
|
237
|
-
<ScalePair
|
|
238
|
-
name="yellow"
|
|
239
|
-
light={palette.yellow}
|
|
240
|
-
dark={palette.yellowDark}
|
|
241
|
-
showLight={showLight}
|
|
242
|
-
showDark={showDark}
|
|
243
|
-
onLightColorChange={(i, c) => updateScaleColor("yellow", i, c)}
|
|
244
|
-
onDarkColorChange={(i, c) => updateScaleColor("yellowDark", i, c)}
|
|
245
|
-
onLightHighlight={highlightScale("yellow")}
|
|
246
|
-
onDarkHighlight={highlightScale("yellowDark")}
|
|
247
|
-
onHighlightEnd={clearHighlight}
|
|
248
|
-
isAltPressed={isAltPressed}
|
|
334
|
+
<div className={sectionLabelCss}>
|
|
335
|
+
hue shift
|
|
336
|
+
{state.prefs?.hueShiftTargetHue !== undefined || state.prefs?.hueShiftAmount !== undefined ? " *" : ""}
|
|
337
|
+
</div>
|
|
338
|
+
<Slider
|
|
339
|
+
label={state.prefs?.hueShiftTargetHue !== undefined ? "target H *" : "target H"}
|
|
340
|
+
value={state.prefsPresent.hueShiftTargetHue ?? state.prefsPresent.baseHue ?? 0}
|
|
341
|
+
min={0}
|
|
342
|
+
max={360}
|
|
343
|
+
step={1}
|
|
344
|
+
onChange={(v) => state.updateHueShift({hueShiftTargetHue: v})}
|
|
345
|
+
gradient={hueGradient(0.15)}
|
|
346
|
+
color={oklchColor(state.prefsPresent.hueShiftTargetHue ?? state.prefsPresent.baseHue ?? 0, 0.15)}
|
|
249
347
|
/>
|
|
250
|
-
|
|
251
348
|
<Slider
|
|
252
|
-
label="
|
|
253
|
-
value={prefsPresent.
|
|
254
|
-
min={0
|
|
255
|
-
max={1
|
|
349
|
+
label={state.prefs?.hueShiftAmount !== undefined ? "amount *" : "amount"}
|
|
350
|
+
value={state.prefsPresent.hueShiftAmount ?? Math.min((state.prefsPresent.baseChroma ?? 0) * 2, 0.3)}
|
|
351
|
+
min={0}
|
|
352
|
+
max={1}
|
|
256
353
|
step={0.01}
|
|
257
|
-
onChange={(v) =>
|
|
354
|
+
onChange={(v) => state.updateHueShift({hueShiftAmount: v})}
|
|
258
355
|
/>
|
|
259
356
|
|
|
260
357
|
<div className={sectionSeparatorCss} />
|
|
261
358
|
|
|
262
|
-
<div className={sectionLabelCss}
|
|
263
|
-
|
|
264
|
-
<div style={{border: "1px solid #888", borderRadius: 5}}>
|
|
265
|
-
<SwatchWithPicker
|
|
266
|
-
color={palette.white}
|
|
267
|
-
title={`white\n${toRGB(palette.white)}\n${toOKLCH(palette.white)}`}
|
|
268
|
-
onChange={(c) => updateScaleColor("white", 0, c)}
|
|
269
|
-
isAltPressed={isAltPressed}
|
|
270
|
-
/>
|
|
271
|
-
</div>
|
|
272
|
-
<div style={{border: "1px solid #888", borderRadius: 5}}>
|
|
273
|
-
<SwatchWithPicker
|
|
274
|
-
color={palette.black}
|
|
275
|
-
title={`black\n${toRGB(palette.black)}\n${toOKLCH(palette.black)}`}
|
|
276
|
-
onChange={(c) => updateScaleColor("black", 0, c)}
|
|
277
|
-
isAltPressed={isAltPressed}
|
|
278
|
-
/>
|
|
279
|
-
</div>
|
|
359
|
+
<div className={sectionLabelCss} style={{fontWeight: 700}}>
|
|
360
|
+
deneutralize{state.prefs?.filter || state.customPalette?.deneutralize ? " *" : ""}
|
|
280
361
|
</div>
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
362
|
+
<Slider
|
|
363
|
+
label="hue shift H"
|
|
364
|
+
value={state.palette.deneutralize?.hueShift?.targetHue ?? 0}
|
|
365
|
+
min={0}
|
|
366
|
+
max={360}
|
|
367
|
+
step={1}
|
|
368
|
+
onChange={(v) =>
|
|
369
|
+
state.updateFilter({hueShift: {targetHue: v, amount: state.palette.deneutralize?.hueShift?.amount ?? 0}})
|
|
370
|
+
}
|
|
371
|
+
gradient={hueGradient(0.15)}
|
|
372
|
+
color={oklchColor(state.palette.deneutralize?.hueShift?.targetHue ?? 0, 0.15)}
|
|
373
|
+
/>
|
|
374
|
+
<Slider
|
|
375
|
+
label="hue shift amt"
|
|
376
|
+
value={state.palette.deneutralize?.hueShift?.amount ?? 0}
|
|
377
|
+
min={0}
|
|
378
|
+
max={1}
|
|
379
|
+
step={0.01}
|
|
380
|
+
onChange={(v) =>
|
|
381
|
+
state.updateFilter({
|
|
382
|
+
hueShift: {targetHue: state.palette.deneutralize?.hueShift?.targetHue ?? 0, amount: v},
|
|
383
|
+
})
|
|
384
|
+
}
|
|
289
385
|
/>
|
|
290
386
|
<Slider
|
|
291
|
-
label="L"
|
|
292
|
-
value={
|
|
293
|
-
min={0
|
|
294
|
-
max={
|
|
387
|
+
label="oklch L"
|
|
388
|
+
value={state.palette.deneutralize?.oklchL ?? 1}
|
|
389
|
+
min={0}
|
|
390
|
+
max={2}
|
|
295
391
|
step={0.01}
|
|
296
|
-
onChange={(v) =>
|
|
392
|
+
onChange={(v) => state.updateFilter({oklchL: v})}
|
|
297
393
|
/>
|
|
298
394
|
<Slider
|
|
299
|
-
label="C"
|
|
300
|
-
value={
|
|
395
|
+
label="oklch C"
|
|
396
|
+
value={state.palette.deneutralize?.oklchC ?? 1}
|
|
301
397
|
min={0}
|
|
302
398
|
max={3}
|
|
303
399
|
step={0.01}
|
|
304
|
-
onChange={(v) =>
|
|
400
|
+
onChange={(v) => state.updateFilter({oklchC: v})}
|
|
305
401
|
/>
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
isAltPressed={isAltPressed}
|
|
402
|
+
<Slider
|
|
403
|
+
label="brightness"
|
|
404
|
+
value={state.palette.deneutralize?.brightness ?? 1}
|
|
405
|
+
min={0}
|
|
406
|
+
max={3}
|
|
407
|
+
step={0.01}
|
|
408
|
+
onChange={(v) => state.updateFilter({brightness: v})}
|
|
314
409
|
/>
|
|
315
410
|
<Slider
|
|
316
|
-
label="
|
|
317
|
-
value={
|
|
318
|
-
min={0
|
|
319
|
-
max={
|
|
411
|
+
label="contrast"
|
|
412
|
+
value={state.palette.deneutralize?.contrast ?? 1}
|
|
413
|
+
min={0}
|
|
414
|
+
max={3}
|
|
320
415
|
step={0.01}
|
|
321
|
-
onChange={(v) =>
|
|
416
|
+
onChange={(v) => state.updateFilter({contrast: v})}
|
|
322
417
|
/>
|
|
323
418
|
<Slider
|
|
324
|
-
label="
|
|
325
|
-
value={
|
|
419
|
+
label="saturate"
|
|
420
|
+
value={state.palette.deneutralize?.saturate ?? 1}
|
|
326
421
|
min={0}
|
|
327
422
|
max={3}
|
|
328
423
|
step={0.01}
|
|
329
|
-
onChange={(v) =>
|
|
424
|
+
onChange={(v) => state.updateFilter({saturate: v})}
|
|
425
|
+
/>
|
|
426
|
+
<Slider
|
|
427
|
+
label="hue rotate"
|
|
428
|
+
value={state.palette.deneutralize?.hueRotate ?? 0}
|
|
429
|
+
min={-180}
|
|
430
|
+
max={180}
|
|
431
|
+
step={1}
|
|
432
|
+
onChange={(v) => state.updateFilter({hueRotate: v})}
|
|
433
|
+
/>
|
|
434
|
+
<Slider
|
|
435
|
+
label="sepia"
|
|
436
|
+
value={state.palette.deneutralize?.sepia ?? 0}
|
|
437
|
+
min={0}
|
|
438
|
+
max={1}
|
|
439
|
+
step={0.01}
|
|
440
|
+
onChange={(v) => state.updateFilter({sepia: v})}
|
|
441
|
+
/>
|
|
442
|
+
<Slider
|
|
443
|
+
label="grayscale"
|
|
444
|
+
value={state.palette.deneutralize?.grayscale ?? 0}
|
|
445
|
+
min={0}
|
|
446
|
+
max={1}
|
|
447
|
+
step={0.01}
|
|
448
|
+
onChange={(v) => state.updateFilter({grayscale: v})}
|
|
449
|
+
/>
|
|
450
|
+
<Slider
|
|
451
|
+
label="invert"
|
|
452
|
+
value={state.palette.deneutralize?.invert ?? 0}
|
|
453
|
+
min={0}
|
|
454
|
+
max={1}
|
|
455
|
+
step={0.01}
|
|
456
|
+
onChange={(v) => state.updateFilter({invert: v})}
|
|
330
457
|
/>
|
|
331
458
|
|
|
459
|
+
<div className={sectionSeparatorCss} />
|
|
460
|
+
|
|
332
461
|
<div className={buttonsCss} style={{justifyContent: "space-between"}}>
|
|
333
462
|
<div style={{display: "flex", gap: space.s4}}>
|
|
334
463
|
<IconButton
|
|
335
464
|
size="small"
|
|
336
|
-
variant="ghost"
|
|
465
|
+
variant={state.pinned && !state.isAltPressed ? "soft" : "ghost"}
|
|
337
466
|
color="neutral"
|
|
338
|
-
onClick={() =>
|
|
339
|
-
title="
|
|
467
|
+
onClick={() => (state.isAltPressed ? state.setVisible(false) : state.setPinned(!state.pinned))}
|
|
468
|
+
title={state.isAltPressed ? "Close" : state.pinned ? "Unpin" : "Pin"}
|
|
340
469
|
>
|
|
341
|
-
<
|
|
470
|
+
{state.isAltPressed ? <Close /> : state.pinned ? <PinFilled /> : <Pin />}
|
|
342
471
|
</IconButton>
|
|
343
|
-
|
|
472
|
+
</div>
|
|
473
|
+
<div style={{display: "flex", gap: space.s4}}>
|
|
474
|
+
{state.isAltPressed ? (
|
|
475
|
+
<>
|
|
476
|
+
<IconButton
|
|
477
|
+
size="small"
|
|
478
|
+
variant={state.staticPalette ? "solid" : "soft"}
|
|
479
|
+
color="error"
|
|
480
|
+
onClick={state.cycleStaticPalettes}
|
|
481
|
+
title="Static palettes"
|
|
482
|
+
>
|
|
483
|
+
<Lab />
|
|
484
|
+
</IconButton>
|
|
485
|
+
<IconButton size="small" variant="soft" color="accent" onClick={state.randomize} title="Randomize">
|
|
486
|
+
<Refresh />
|
|
487
|
+
</IconButton>
|
|
488
|
+
</>
|
|
489
|
+
) : state.isModified ? (
|
|
490
|
+
<IconButton size="small" variant="ghost" color="neutral" onClick={state.reset} title="Defaults">
|
|
491
|
+
<Restore />
|
|
492
|
+
</IconButton>
|
|
493
|
+
) : (
|
|
344
494
|
<IconButton
|
|
345
495
|
size="small"
|
|
346
|
-
variant={
|
|
347
|
-
color="
|
|
348
|
-
onClick={
|
|
349
|
-
title="
|
|
496
|
+
variant={warm ? "soft" : "ghost"}
|
|
497
|
+
color="neutral"
|
|
498
|
+
onClick={() => setWarm(!warm)}
|
|
499
|
+
title={warm ? "warm → neutral" : "neutral → warm"}
|
|
350
500
|
>
|
|
351
|
-
<
|
|
352
|
-
</IconButton>
|
|
353
|
-
) : (
|
|
354
|
-
<IconButton size="small" variant="soft" color="accent" onClick={randomize} title="Shuffle">
|
|
355
|
-
<Refresh />
|
|
501
|
+
<span style={{fontSize: 11, fontWeight: 600}}>{warm ? "W" : "N"}</span>
|
|
356
502
|
</IconButton>
|
|
357
503
|
)}
|
|
358
|
-
<IconButton
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
504
|
+
<IconButton
|
|
505
|
+
size="small"
|
|
506
|
+
variant="ghost"
|
|
507
|
+
color="neutral"
|
|
508
|
+
onClick={state.cycleTheme}
|
|
509
|
+
title={state.isAltPressed ? "auto" : state.themePref}
|
|
510
|
+
>
|
|
511
|
+
{themeIcons[state.isAltPressed ? "auto" : state.themePref]}
|
|
363
512
|
</IconButton>
|
|
364
|
-
{isModified && (
|
|
365
|
-
<IconButton size="small" variant="ghost" color="neutral" onClick={reset} title="Defaults">
|
|
366
|
-
<Restore />
|
|
367
|
-
</IconButton>
|
|
368
|
-
)}
|
|
369
513
|
</div>
|
|
370
|
-
<IconButton
|
|
371
|
-
size="small"
|
|
372
|
-
variant="ghost"
|
|
373
|
-
color="neutral"
|
|
374
|
-
onClick={cycleTheme}
|
|
375
|
-
title={isAltPressed ? "auto" : themePref}
|
|
376
|
-
>
|
|
377
|
-
{themeIcons[isAltPressed ? "auto" : themePref]}
|
|
378
|
-
</IconButton>
|
|
379
514
|
</div>
|
|
380
515
|
</>
|
|
381
516
|
)}
|