@fibery/ui-kit 2.0.0 → 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 +13 -0
- package/{eslint.config.mjs → esfint.config.mjs} +1 -1
- package/jest.config.cjs +36 -0
- package/package.json +17 -54
- package/scripts/generate-icons.mjs +42 -34
- package/src/@types/css.d.ts +1 -0
- package/src/a11y-color.test.ts +62 -55
- package/src/a11y-color.ts +40 -37
- package/src/actions-menu/actions-menu-checkbox-item.tsx +74 -0
- package/src/actions-menu/actions-menu-item.tsx +1 -1
- package/src/actions-menu/actions-menu.tsx +3 -3
- package/src/actions-menu/contexts/actions-menu-context.tsx +1 -0
- package/src/actions-menu/index.tsx +1 -0
- package/src/ai/model.tsx +1 -1
- package/src/ai/temperature.tsx +1 -1
- package/src/animated-height-container.tsx +2 -2
- package/src/animated-number.tsx +2 -2
- package/src/antd/AutoComplete.d.ts +1 -0
- 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 +32 -9
- package/src/app-icon.tsx +21 -8
- package/src/appIcons.json +1227 -1227
- package/src/avatar.tsx +50 -8
- 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 +13 -18
- package/src/breadcrumb.tsx +14 -11
- package/src/button/base-button.tsx +2 -2
- package/src/button/make-button-colors.ts +14 -14
- 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 +23 -11
- package/src/collapsible-section.tsx +1 -1
- 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/context-menu/index.tsx +4 -0
- 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 +2 -2
- package/src/date-picker/fake-date-input.tsx +10 -4
- package/src/date-picker/relative-date-picker.tsx +35 -3
- package/src/date-picker/single-date-picker.tsx +23 -12
- package/src/date-picker/styles.ts +12 -12
- package/src/date-picker/types.ts +2 -0
- package/src/design-system/alpha.ts +6 -12
- package/src/design-system/animation.ts +24 -5
- package/src/design-system/colors-css.test.ts +1 -9
- package/src/design-system/colors-css.ts +5 -5
- 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 +896 -540
- package/src/design-system/layout.ts +2 -1
- package/src/design-system/theme.test.ts +13 -68
- package/src/design-system/theme.ts +24 -73
- package/src/design-system/vars.test.ts +64 -1677
- 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/dropdown-menu/index.tsx +4 -0
- 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 +15 -2
- package/src/emoji-picker/primitives/grid.tsx +100 -104
- package/src/emoji.tsx +1 -0
- 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 +308 -265
- 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/add-database.svg +1 -1
- package/src/icons/svg/add-integration.svg +1 -1
- package/src/icons/svg/arrow-bar-down.svg +4 -0
- package/src/icons/svg/arrow-bar-up.svg +4 -0
- package/src/icons/svg/arrows-right-left.svg +1 -1
- package/src/icons/svg/chat-bubble.svg +1 -1
- package/src/icons/svg/chat-float.svg +1 -1
- package/src/icons/svg/chat-sidebar.svg +3 -3
- package/src/icons/svg/clean.svg +1 -1
- package/src/icons/svg/create.svg +1 -1
- package/src/icons/svg/folder-favorite.svg +3 -0
- package/src/icons/svg/intercom.svg +3 -0
- package/src/icons/svg/items-timeline.svg +1 -1
- package/src/icons/svg/key.svg +1 -1
- package/src/icons/svg/network-add.svg +1 -1
- package/src/icons/svg/print.svg +1 -1
- 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/success.svg +1 -1
- package/src/icons/svg/suggest-integration.svg +1 -1
- package/src/icons/svg/toc.svg +5 -0
- package/src/icons/svg/view-embed.svg +3 -0
- package/src/icons/svg/warning-triangle.svg +1 -1
- package/src/icons/svg/webhooks.svg +5 -0
- package/src/icons/svg/windows.svg +1 -1
- package/src/icons/types.ts +2 -0
- package/src/images-gallery/images-gallery.tsx +91 -16
- package/src/images-gallery/slide-buttons.tsx +5 -9
- package/src/integration-compact-info-button.tsx +10 -6
- package/src/lists/actions-menu-row-surface.tsx +2 -1
- package/src/loaders.tsx +2 -2
- package/src/loading-sausage.tsx +4 -4
- package/src/logo.tsx +14 -13
- package/src/mobile-keyboard-aware-popup.tsx +1 -1
- package/src/modal-menu/index.tsx +1 -0
- package/src/modal-menu/modal-menu-checkbox-item.tsx +50 -0
- 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 +53 -54
- 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 +124 -212
- 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/scale-generator.ts +2 -2
- package/src/select/components/clear-indicator.tsx +1 -1
- package/src/select/components/drop-down-indicator.tsx +2 -2
- package/src/select/components/group-heading.tsx +3 -3
- package/src/select/components/menu-list-virtualized.tsx +1 -1
- package/src/select/components/option.tsx +1 -1
- package/src/select/index.tsx +39 -38
- package/src/select/select-in-popover.tsx +34 -202
- package/src/select/select.tsx +6 -4
- package/src/select/styles.ts +3 -0
- 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 +62 -45
- package/src/thematic.tsx +379 -244
- package/src/theme-provider.test.tsx +70 -67
- package/src/theme-provider.tsx +51 -34
- package/src/theme-settings.ts +12 -44
- package/src/theme-styles.ts +36 -23
- 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 +51 -38
- package/src/toggle-on-off.tsx +7 -7
- package/src/tooltip-if-overflown.tsx +3 -3
- package/src/tree-utils.test.ts +166 -0
- package/src/tree-utils.ts +107 -0
- 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/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 -47
- package/src/error-alert/error-alert-action.tsx +0 -12
- package/src/error-alert/error-alert.tsx +0 -71
- package/src/file-item/use-register-in-image-gallery.tsx +0 -70
- package/src/file-item-2.tsx +0 -357
- 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/number-input/{decimal.test.js → decimal.test.ts} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
import {ThemePalette} from "../palette-generator";
|
|
3
|
-
import
|
|
4
|
-
import {a11yColor} from "../a11y-color";
|
|
5
|
-
import {darkenChroma, produceColor, set, setAlpha, setLuminanceChroma} from "../color-utils";
|
|
3
|
+
import {darkenChroma, hslFrom, produceColor, serializeHexVariadic, setAlpha, setLuminanceChroma} from "../color-utils";
|
|
6
4
|
import {ThemeMode} from "../theme-settings";
|
|
7
|
-
import {
|
|
5
|
+
import {alpha, opacity, transparent} from "./alpha";
|
|
6
|
+
import {getDarkenColor, makeAdaptiveBgFg} from "./colors-js";
|
|
7
|
+
import {cssFromFilter, makeColorFilter} from "../color-filter";
|
|
8
8
|
|
|
9
9
|
export const cardTypeColors = [
|
|
10
10
|
"#4A4A4A",
|
|
@@ -26,12 +26,6 @@ export const cardTypeColors = [
|
|
|
26
26
|
"#B04E31",
|
|
27
27
|
] as const;
|
|
28
28
|
|
|
29
|
-
const swatches = {
|
|
30
|
-
"gray-light": cardTypeColors[1],
|
|
31
|
-
yellow: cardTypeColors[14],
|
|
32
|
-
green: "#69AC5E",
|
|
33
|
-
};
|
|
34
|
-
|
|
35
29
|
type ThemeColorsDef = Record<
|
|
36
30
|
string,
|
|
37
31
|
| readonly [lightColor: string, darkColor: string]
|
|
@@ -50,7 +44,24 @@ type ThemeFnsDef = Record<
|
|
|
50
44
|
}
|
|
51
45
|
>;
|
|
52
46
|
|
|
53
|
-
|
|
47
|
+
const separator = (color: string) => `0.5px solid ${color}`;
|
|
48
|
+
const border1 = (color: string) => `1px solid ${color}`;
|
|
49
|
+
const border3 = (color: string) => `3px solid ${color}`;
|
|
50
|
+
|
|
51
|
+
const steps = (steps: string[]) => steps.join(", ");
|
|
52
|
+
|
|
53
|
+
/** @deprecated analyze usages — most likely you should use light/dark (different) variants like [base, baseDark] */
|
|
54
|
+
const same = <T>(v: T): [light: T, dark: T] => [v, v];
|
|
55
|
+
|
|
56
|
+
const both =
|
|
57
|
+
(map: (_: string) => string) =>
|
|
58
|
+
([light, dark]: Def): Def => [map(light), map(dark)];
|
|
59
|
+
|
|
60
|
+
type Def = [light: string, dark: string];
|
|
61
|
+
type Defs = Record<string, Def>;
|
|
62
|
+
|
|
63
|
+
export function defsFromPalette({
|
|
64
|
+
key,
|
|
54
65
|
white,
|
|
55
66
|
black,
|
|
56
67
|
whiteA,
|
|
@@ -65,633 +76,990 @@ export function makeThemeDefs({
|
|
|
65
76
|
tealDark,
|
|
66
77
|
yellow,
|
|
67
78
|
yellowDark,
|
|
79
|
+
deneutralize,
|
|
68
80
|
}: ThemePalette) {
|
|
69
|
-
const
|
|
81
|
+
const shift = makeColorFilter(deneutralize);
|
|
82
|
+
const colorPickerCssFilter = cssFromFilter(deneutralize) ?? "none";
|
|
70
83
|
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
// beg(TODO pull into ThemePalette)
|
|
85
|
+
const blackish = produceColor(black, (x) => {
|
|
86
|
+
const hsl = hslFrom(x);
|
|
87
|
+
return {...hsl, l: (hsl.l ?? 0) + 0.05};
|
|
88
|
+
});
|
|
89
|
+
const purple9 = shift("rgb(157, 99, 212)");
|
|
90
|
+
const purpleDark9 = shift("rgb(131, 73, 182)");
|
|
91
|
+
const blue9 = shift("rgba(56, 105, 204, 1)");
|
|
92
|
+
const blueDark9 = shift("rgba(151, 177, 237, 1)");
|
|
93
|
+
// end(TODO pull into ThemePalette)
|
|
75
94
|
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
95
|
+
// whiteA = surface direction (white on light / black on dark) — blends INTO bg
|
|
96
|
+
const whiteA5: Def = [alpha(white, 0.05), alpha(black, 0.05)];
|
|
97
|
+
const whiteA10: Def = [alpha(white, 0.1), alpha(black, 0.1)];
|
|
98
|
+
const whiteA25: Def = [alpha(white, 0.25), alpha(black, 0.25)];
|
|
99
|
+
const whiteA40: Def = [alpha(white, 0.4), alpha(black, 0.4)];
|
|
100
|
+
const whiteA100: Def = [white, black];
|
|
80
101
|
|
|
81
|
-
|
|
82
|
-
|
|
102
|
+
// blackA = contrast direction (black on light / white on dark) — readable on bg
|
|
103
|
+
const blackA5: Def = [alpha(black, 0.05), alpha(white, 0.05)];
|
|
104
|
+
const blackA10: Def = [alpha(black, 0.1), alpha(white, 0.1)];
|
|
105
|
+
const blackA15: Def = [alpha(black, 0.15), alpha(white, 0.15)];
|
|
106
|
+
const blackA25: Def = [alpha(black, 0.25), alpha(white, 0.25)];
|
|
107
|
+
const blackA50: Def = [alpha(black, 0.5), alpha(white, 0.5)];
|
|
108
|
+
const blackA90: Def = [alpha(black, 0.9), alpha(white, 0.9)];
|
|
83
109
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
110
|
+
const opacities = {
|
|
111
|
+
subtle: same(opacity.opacity15.toString()),
|
|
112
|
+
faint: same(opacity.opacity20.toString()),
|
|
113
|
+
weak: same(opacity.opacity30.toString()),
|
|
114
|
+
drag: same(opacity.opacity40.toString()),
|
|
115
|
+
muted: same(opacity.opacity50.toString()),
|
|
116
|
+
done: same(opacity.opacity60.toString()),
|
|
117
|
+
disabled: same(opacity.opacity65.toString()),
|
|
118
|
+
visible: same(opacity.opacity70.toString()),
|
|
119
|
+
disabledHoverOrFocus: same(opacity.opacity75.toString()),
|
|
120
|
+
};
|
|
88
121
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
],
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
],
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
],
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
// FIXME WIP to find commons/dedupe/adjust
|
|
123
|
+
const surface = {
|
|
124
|
+
// pure white / deepest dark
|
|
125
|
+
level0: [white, baseDark[1]],
|
|
126
|
+
|
|
127
|
+
// pure white / slightly elevated dark
|
|
128
|
+
level0elevated: [white, baseDark[2]],
|
|
129
|
+
|
|
130
|
+
// near-white canvas
|
|
131
|
+
level1: [base[1], baseDark[1]],
|
|
132
|
+
level1_1: [base[1], baseDark[2]],
|
|
133
|
+
level1_3: [base[1], baseDark[3]],
|
|
134
|
+
level1_4: [base[1], baseDark[4]],
|
|
135
|
+
level1_6: [base[1], baseDark[6]],
|
|
136
|
+
|
|
137
|
+
// secondary/subtle bg
|
|
138
|
+
level2: [base[2], baseDark[2]],
|
|
139
|
+
level2_1: [base[2], baseDark[1]],
|
|
140
|
+
level2_3: [base[2], baseDark[3]],
|
|
141
|
+
level2_6: [base[2], baseDark[6]],
|
|
142
|
+
|
|
143
|
+
// muted bg (code, form fields)
|
|
144
|
+
level3exotic: [base[3], blackish], // FIXME try blackA[3] | baseDark[3] to make it less exotic
|
|
145
|
+
level3_1: [base[3], baseDark[1]],
|
|
146
|
+
level3_4: [base[3], baseDark[4]],
|
|
147
|
+
level3_6: [base[3], baseDark[6]],
|
|
148
|
+
level3_7: [base[3], baseDark[7]],
|
|
149
|
+
|
|
150
|
+
// hover emphasis (neutral)
|
|
151
|
+
level4: [base[4], baseDark[4]],
|
|
152
|
+
|
|
153
|
+
// hover emphasis, elevated dark
|
|
154
|
+
level4_5: [base[4], baseDark[5]],
|
|
155
|
+
level4_6: [base[4], baseDark[6]],
|
|
156
|
+
|
|
157
|
+
level5_4: [base[5], baseDark[4]],
|
|
158
|
+
level6_7: [base[6], baseDark[7]],
|
|
159
|
+
} satisfies Defs;
|
|
160
|
+
|
|
161
|
+
const raised = {
|
|
162
|
+
// menus, modals, entity boxes
|
|
163
|
+
level1: [white, baseDark[3]],
|
|
164
|
+
|
|
165
|
+
// popups, inner menus, hover on raised.level1
|
|
166
|
+
level2: [white, baseDark[4]],
|
|
167
|
+
|
|
168
|
+
// entity cards (old)
|
|
169
|
+
level3: [white, baseDark[5]],
|
|
170
|
+
|
|
171
|
+
// card bg, comment bubbles, float editors
|
|
172
|
+
level4: [white, baseDark[6]],
|
|
173
|
+
} satisfies Defs;
|
|
174
|
+
|
|
175
|
+
// Strokes (spread-only, no blur/offset)
|
|
176
|
+
const stroke05 = (color: string) => `0 0 0 0.5px ${color}`;
|
|
177
|
+
const stroke1 = (color: string) => `0 0 0 1px ${color}`;
|
|
178
|
+
const stroke2 = (color: string) => `0 0 0 2px ${color}`;
|
|
179
|
+
const stroke3 = (color: string) => `0 0 0 3px ${color}`;
|
|
180
|
+
|
|
181
|
+
// Glows (blur-only, no offset/spread)
|
|
182
|
+
const glow1 = (color: string) => `0 0 1px 0 ${color}`;
|
|
183
|
+
const glow2 = (color: string) => `0 0 2px 0 ${color}`;
|
|
184
|
+
const glow6 = (color: string) => `0 0 6px 0 ${color}`;
|
|
185
|
+
|
|
186
|
+
// Elevations (y-offset + blur)
|
|
187
|
+
const elevationS = (color: string) => `0 2px 4px 0 ${color}`;
|
|
188
|
+
const elevationS_shrinked = (color: string) => `0 2px 4px -4px ${color}`;
|
|
189
|
+
const elevationSM = (color: string) => `0 4px 6px 0 ${color}`;
|
|
190
|
+
const elevationSL = (color: string) => `0 3px 12px 0 ${color}`; // soft-large: small offset, large blur
|
|
191
|
+
const elevationM = (color: string) => `0 4px 8px 0 ${color}`;
|
|
192
|
+
const elevationL = (color: string) => `0 8px 12px 0 ${color}`;
|
|
193
|
+
const elevationXL = (color: string) => `0 10px 26px 0 ${color}`; // extra-large
|
|
194
|
+
const elevation100 = (color: string) => `0 1px 4px 0 ${color}`;
|
|
195
|
+
const elevation200 = (color: string) => `0 2px 6px 0 ${color}`;
|
|
196
|
+
const elevation250 = (color: string) => `0 3px 6px -3px ${color}`;
|
|
197
|
+
const elevation300 = (color: string) => `0 8px 20px -4px ${color}`;
|
|
198
|
+
const elevation400 = (color: string) => `0 16px 40px 0 ${color}`;
|
|
199
|
+
const elevation500 = (color: string) => `0 20px 50px 0 ${color}`;
|
|
200
|
+
const elevation600 = (color: string) => `0 26px 80px 0 ${color}`;
|
|
201
|
+
|
|
202
|
+
// --- Input borders (stroke shadows) ---
|
|
203
|
+
const inputStrokes = {
|
|
204
|
+
disabled: [stroke1(alpha(base[6], 0.2)), stroke1(alpha(baseDark[8], 0.2))],
|
|
205
|
+
default: [stroke1(alpha(base[6], 0.7)), stroke1(alpha(baseDark[8], 0.7))],
|
|
206
|
+
hover: [stroke1(base[7]), stroke1(baseDark[8])],
|
|
207
|
+
focus: [stroke1(base[8]), stroke1(baseDark[9])],
|
|
208
|
+
error: [stroke1(red[11]), stroke1(red[7])],
|
|
209
|
+
errorHover: [stroke1(alpha(red[11], 0.4)), stroke1(alpha(red[7], 0.4))],
|
|
210
|
+
errorFocus: [stroke1(alpha(red[11], 0.25)), stroke1(alpha(red[7], 0.25))],
|
|
211
|
+
errorFocusRing: [stroke3(alpha(red[11], 0.25)), stroke3(alpha(red[7], 0.25))],
|
|
212
|
+
warning: [stroke1(yellow[9]), stroke1(yellowDark[8])],
|
|
213
|
+
} satisfies Defs;
|
|
214
|
+
|
|
215
|
+
// --- Floating surface shadows ---
|
|
216
|
+
const floatingShadows = {
|
|
217
|
+
popup: [
|
|
218
|
+
steps([glow2(alpha(base[11], 0.3)), elevationSM(alpha(base[11], 0.05)), elevationXL(alpha(base[11], 0.15))]),
|
|
219
|
+
steps([stroke1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationXL(alpha(baseDark[1], 0.15))]),
|
|
125
220
|
],
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}, 0px 10px 26px 0px ${getOpacities(base[11]).opacity15}`,
|
|
130
|
-
`0px 0px 0px 1px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
|
|
131
|
-
getOpacities(baseDark[1]).opacity5
|
|
132
|
-
}, 0px 10px 26px 0px ${getOpacities(baseDark[1]).opacity15}`,
|
|
221
|
+
instrumentsMenu: [
|
|
222
|
+
steps([glow1(alpha(base[11], 0.2)), elevationSM(alpha(base[11], 0.05)), elevationSL(alpha(base[11], 0.1))]),
|
|
223
|
+
steps([glow1(baseDark[6]), elevationSM(alpha(baseDark[1], 0.05)), elevationSL(alpha(baseDark[1], 0.15))]),
|
|
133
224
|
],
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
225
|
+
} satisfies Defs;
|
|
226
|
+
|
|
227
|
+
// --- Card/container shadows ---
|
|
228
|
+
const cardShadows = {
|
|
229
|
+
subtle: [
|
|
230
|
+
steps([stroke1(alpha(base[10], 0.1)), elevationS_shrinked(alpha(base[10], 0.2))]),
|
|
231
|
+
steps([stroke1(alpha(baseDark[2], 0.1)), elevationS_shrinked(alpha(baseDark[2], 0.2))]),
|
|
137
232
|
],
|
|
233
|
+
} satisfies Defs;
|
|
234
|
+
|
|
235
|
+
const entityBoxShadows = {
|
|
236
|
+
stroke: {
|
|
237
|
+
default: [stroke1(base[5]), stroke1(baseDark[5])],
|
|
238
|
+
focus: [stroke2(alpha(accent[9], 0.4)), stroke2(alpha(accentDark[9], 0.4))],
|
|
239
|
+
focusHover: [stroke2(alpha(accent[9], 0.6)), stroke2(alpha(accentDark[9], 0.6))],
|
|
240
|
+
selected: [
|
|
241
|
+
steps([stroke1(alpha(accent[9], 0.4)), stroke3(alpha(accent[9], 0.4))]),
|
|
242
|
+
steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
|
|
243
|
+
],
|
|
244
|
+
selectedHover: [
|
|
245
|
+
steps([stroke1(alpha(accent[9], 0.6)), stroke3(alpha(accent[9], 0.4))]),
|
|
246
|
+
steps([stroke1(accentDark[9]), stroke3(alpha(accentDark[9], 0.4))]),
|
|
247
|
+
],
|
|
248
|
+
} satisfies Defs,
|
|
249
|
+
elevation: {
|
|
250
|
+
// Progression: S → M → L (default → hover → drag)
|
|
251
|
+
default: [elevationS(alpha(base[12], 0.05)), elevationS(alpha(baseDark[1], 0.05))],
|
|
252
|
+
hover: [elevationM(alpha(base[12], 0.1)), elevationM(alpha(baseDark[1], 0.1))],
|
|
253
|
+
drag: [elevationL(alpha(base[12], 0.1)), elevationL(alpha(baseDark[1], 0.1))],
|
|
254
|
+
} satisfies Defs,
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
// FIXME assymetric: light is composite (elevation100 + stroke05), dark is simple (stroke1 only)
|
|
258
|
+
const shadowMenuHeaderAvatar = [
|
|
259
|
+
steps([elevation100(alpha(base[11], 0.1)), stroke05(alpha(base[5], 0.5))]),
|
|
260
|
+
stroke1(alpha(baseDark[9], 0.2)),
|
|
261
|
+
] as const;
|
|
262
|
+
|
|
263
|
+
const edgeLeft = (color: string) => `-3px 0 10px 0 ${color}`;
|
|
264
|
+
|
|
265
|
+
const formHeaderShadow = [glow6(alpha(base[10], 0.1)), glow6(alpha(baseDark[1], 0.4))] as const;
|
|
266
|
+
|
|
267
|
+
const shadows = {
|
|
268
|
+
// Elevations
|
|
269
|
+
surfaceElevationS: [elevationS(blackA[3]), elevationS(whiteA[3])],
|
|
270
|
+
surfaceElevationM: [elevationM(blackA[5]), elevationM(whiteA[5])],
|
|
271
|
+
surfaceElevationL: [elevationL(blackA[5]), elevationL(whiteA[5])],
|
|
272
|
+
|
|
273
|
+
// Shadows and effects / Elevation
|
|
274
|
+
shadow50: [stroke1(alpha(base[12], 0.05)), stroke1(alpha(baseDark[12], 0.1))],
|
|
275
|
+
shadow100: [elevation100(alpha(base[12], 0.05)), elevation100(alpha(base[12], 0.1))],
|
|
276
|
+
shadow200: [elevation200(alpha(base[12], 0.05)), elevation200(alpha(base[12], 0.1))],
|
|
277
|
+
shadow300: same(steps([elevation250(alpha(base[12], 0.1)), elevation300(alpha(base[12], 0.15))])),
|
|
278
|
+
shadow400: same(steps([glow1(alpha(base[12], 0.2)), elevation400(alpha(base[12], 0.15))])),
|
|
279
|
+
shadow500: same(steps([glow1(alpha(base[12], 0.2)), elevation500(alpha(base[12], 0.15))])),
|
|
280
|
+
shadow600: same(steps([glow1(alpha(base[12], 0.2)), elevation600(alpha(base[12], 0.2))])),
|
|
281
|
+
|
|
282
|
+
actionMenuShadow: floatingShadows.popup,
|
|
283
|
+
shadowPopup: floatingShadows.popup,
|
|
284
|
+
shadowSidebar: [edgeLeft(alpha(base[10], 0.1)), edgeLeft(alpha(baseDark[1], 0.8))],
|
|
285
|
+
} as const;
|
|
286
|
+
|
|
287
|
+
// names proposal: forbid color in keys (they all are colors) — restructure it better (separate shadows, borders etc)
|
|
288
|
+
// inspired by tailwind:
|
|
289
|
+
// bg-* Sets the background color of an element
|
|
290
|
+
// text-* Sets the text color of an element
|
|
291
|
+
// border-* Sets the border color of an element
|
|
292
|
+
// shadow-* Sets the color of box shadows
|
|
293
|
+
// fill-* Sets the fill color of SVG elements
|
|
294
|
+
// stroke-* Sets the stroke color of SVG elements
|
|
295
|
+
// TODO elevation = raised * shadow
|
|
296
|
+
|
|
297
|
+
const transparentAlways = same(transparent);
|
|
298
|
+
const whiteColor = same(white);
|
|
299
|
+
const blackColor = same(black);
|
|
300
|
+
|
|
301
|
+
const fg = {
|
|
302
|
+
accent: [accent[11], accentDark[11]],
|
|
303
|
+
accentActive: [alpha(accent[11], 0.8), alpha(accentDark[11], 0.8)],
|
|
304
|
+
|
|
305
|
+
neutral: [base[11], baseDark[11]],
|
|
306
|
+
neutralActive: [alpha(base[11], 0.8), alpha(baseDark[11], 0.8)],
|
|
307
|
+
// FIXME uses base[12] while soft/ghost use base[11] — inconsistent?
|
|
308
|
+
neutralActive__TODO: [alpha(base[12], 0.8), alpha(baseDark[12], 0.8)],
|
|
309
|
+
muted: [base[9], baseDark[9]],
|
|
310
|
+
|
|
311
|
+
destructive: [red[11], redDark[11]],
|
|
312
|
+
destructiveActive: [alpha(red[11], 0.8), alpha(redDark[11], 0.8)],
|
|
313
|
+
|
|
314
|
+
addition: [teal[9], tealDark[11]],
|
|
315
|
+
|
|
316
|
+
success: [teal[11], tealDark[11]],
|
|
317
|
+
warning: [yellow[11], yellowDark[11]],
|
|
318
|
+
|
|
319
|
+
icon: [alpha(base[12], 0.7), alpha(baseDark[12], 0.7)],
|
|
320
|
+
// TODO The 0.65 vs 0.7 dark alpha might be intentional (text slightly more muted than icons?) or drift.
|
|
321
|
+
secondary: [alpha(base[12], 0.7), alpha(baseDark[12], 0.65)],
|
|
322
|
+
} satisfies Defs;
|
|
323
|
+
|
|
324
|
+
const bg = {
|
|
325
|
+
neutral3: [base[3], baseDark[3]],
|
|
326
|
+
accent3: [accent[3], accentDark[3]],
|
|
327
|
+
success: [teal[3], tealDark[3]],
|
|
328
|
+
warning: [yellow[3], yellowDark[3]],
|
|
329
|
+
error: [red[3], redDark[3]],
|
|
330
|
+
} satisfies Defs;
|
|
331
|
+
|
|
332
|
+
const icon = {
|
|
333
|
+
primary: [base[12], baseDark[12]],
|
|
334
|
+
neutral: [base[11], baseDark[11]],
|
|
335
|
+
accent: [accent[11], accentDark[11]],
|
|
336
|
+
success: [teal[11], tealDark[11]],
|
|
337
|
+
warning: [yellow[11], yellowDark[11]],
|
|
338
|
+
error: [red[11], redDark[11]],
|
|
339
|
+
link: [blue9, blueDark9],
|
|
340
|
+
ai: [purple9, purpleDark9],
|
|
341
|
+
} satisfies Defs;
|
|
342
|
+
|
|
343
|
+
const text = {
|
|
344
|
+
primary: [base[12], baseDark[12]],
|
|
345
|
+
accent: [accent[11], accentDark[11]],
|
|
346
|
+
success: [teal[11], tealDark[11]],
|
|
347
|
+
warning: [yellow[11], yellowDark[11]],
|
|
348
|
+
error: [red[11], redDark[11]],
|
|
349
|
+
} satisfies Defs;
|
|
350
|
+
|
|
351
|
+
const primary = {
|
|
352
|
+
accent: [accent[9], accentDark[9]],
|
|
353
|
+
destructive_TODO: [red[9], redDark[9]],
|
|
354
|
+
destructive: [red[9], redDark[10]], // TODO 9_9?
|
|
355
|
+
success: [teal[9], tealDark[9]],
|
|
356
|
+
warning: [yellow[9], yellowDark[8]], // TODO 9_9 after correct adjusting palette?
|
|
357
|
+
} satisfies Defs;
|
|
358
|
+
|
|
359
|
+
const bgStatus = {
|
|
360
|
+
accent: [alpha(accent[5], 0.7), alpha(accentDark[4], 0.8)],
|
|
361
|
+
neutral: [alpha(base[5], 0.7), alpha(baseDark[4], 0.8)],
|
|
362
|
+
success: [teal[5], tealDark[5]],
|
|
363
|
+
warning: [yellow[5], yellowDark[5]],
|
|
364
|
+
error: [red[5], redDark[5]],
|
|
365
|
+
} satisfies Defs;
|
|
366
|
+
|
|
367
|
+
const borderAccentOrMedium = [accent[7], accentDark[7]] as const;
|
|
368
|
+
const borderAccentOrMediumAccent = [accent[8], accentDark[8]] as const;
|
|
369
|
+
const borderDanger = [red[7], redDark[7]] as const;
|
|
370
|
+
const borderNeutral = [base[8], baseDark[7]] as const;
|
|
371
|
+
|
|
372
|
+
// beg(TODO shake it)
|
|
373
|
+
const bgEntityCardOverlay = [alpha(base[2], 0.8), alpha(baseDark[6], 0.5)] as const;
|
|
374
|
+
const bgEntityCardDone = [alpha(base[4], 0.3), alpha(baseDark[5], 0.3)] as const;
|
|
375
|
+
const base5_6 = [base[5], baseDark[6]] as const;
|
|
376
|
+
const base6_6_opacity30 = [alpha(base[6], 0.3), alpha(baseDark[6], 0.3)] as const;
|
|
377
|
+
const base8 = [base[8], baseDark[8]] as const;
|
|
378
|
+
const fgAccentText = [base[10], baseDark[10]] as const;
|
|
379
|
+
const fgMenuEtc = [base[12], baseDark[12]] as const;
|
|
380
|
+
|
|
381
|
+
const bgTabFocus = [base[6], baseDark[6]] as const;
|
|
382
|
+
const bgTabHover = [alpha(base[11], 0.1), alpha(baseDark[11], 0.1)] as const;
|
|
383
|
+
|
|
384
|
+
const viewHighlightBg = [accent[3], accentDark[3]] as const;
|
|
385
|
+
const notificationSelected = [accent[3], accentDark[4]] as const;
|
|
386
|
+
const bgCellGridDisabledOrHighlighted = [accent[4], accentDark[5]] as const;
|
|
387
|
+
const notificationSelectedHover = [accent[4], accentDark[6]] as const;
|
|
388
|
+
|
|
389
|
+
const fgSelection = [alpha(accent[9], 0.2), alpha(accentDark[9], 0.4)] as const;
|
|
390
|
+
|
|
391
|
+
const warningColor = [alpha(yellow[6], 0.6), alpha(yellowDark[9], 0.4)] as const;
|
|
392
|
+
const bgBtnGhostAccentHover = [alpha(accent[4], 0.8), alpha(accentDark[4], 0.8)] as const;
|
|
393
|
+
const bgBtnGhostNeutralHover = [alpha(base[7], 0.5), alpha(baseDark[6], 0.8)] as const;
|
|
394
|
+
const bgBtnGhostDestructiveHover = [red[4], redDark[4]] as const;
|
|
395
|
+
const bgBtnSoftAccentHover = [accent[5], accentDark[6]] as const;
|
|
396
|
+
const bgBtnSoftNeutralDefault = [base[3], baseDark[3]] as const;
|
|
397
|
+
const bgBtnSoftNeutralHover = [base[7], baseDark[7]] as const;
|
|
398
|
+
const bgBtnSoftDestructiveHover = [red[6], redDark[6]] as const;
|
|
399
|
+
const borderFocusRingAccent = same(alpha(accent[9], 0.3));
|
|
400
|
+
const borderFocusRingNeutral = same(alpha(base[9], 0.3));
|
|
401
|
+
const borderFocusRingDestructive = same(alpha(red[9], 0.3));
|
|
402
|
+
const textWhiteboardSelectionLockedOrDisabled = [alpha(base[9], 0.5), alpha(baseDark[9], 0.5)] as const;
|
|
403
|
+
|
|
404
|
+
const fgSelectedText = same(base[2]);
|
|
405
|
+
const fgSolidActiveText = same(alpha(white, 0.8));
|
|
406
|
+
const linkBlue = [blue9, blueDark9] as const;
|
|
407
|
+
|
|
408
|
+
const codeOrErrorMessage = [red[9], red[8]] as const; // TODO check: lack of redDark scale usage
|
|
409
|
+
const errorIndicatorColor = same(red[8]);
|
|
410
|
+
const neutralStrong = same(base[11]);
|
|
411
|
+
// end(TODO shake it)
|
|
412
|
+
|
|
413
|
+
const bgActionsMenu = raised.level1;
|
|
414
|
+
const bgActionsMenuItemHover = surface.level4_5;
|
|
415
|
+
|
|
416
|
+
const iconFromFg = (fg: string) => ({
|
|
417
|
+
fg: same(fg),
|
|
418
|
+
bg: same(alpha(fg, 0.2)),
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
const swatches = {
|
|
422
|
+
green: "#69AC5E",
|
|
423
|
+
grayLight: cardTypeColors[1],
|
|
424
|
+
indigo: cardTypeColors[8],
|
|
425
|
+
teal: cardTypeColors[10],
|
|
426
|
+
yellow: cardTypeColors[14],
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
const iconMySpace = iconFromFg(shift(swatches.grayLight, serializeHexVariadic));
|
|
430
|
+
const iconPrivate = iconFromFg(shift(swatches.green, serializeHexVariadic));
|
|
431
|
+
const iconFavorites = iconFromFg(shift(swatches.yellow, serializeHexVariadic));
|
|
432
|
+
const defaultCardTypeColorUppercaseHex = same(
|
|
433
|
+
(key.includes("arch") ? swatches.yellow : key.includes("neutral") ? swatches.indigo : swatches.teal).toUpperCase()
|
|
434
|
+
);
|
|
435
|
+
|
|
436
|
+
const iconBadge = iconFromFg(base[10]);
|
|
437
|
+
|
|
438
|
+
const colors = {
|
|
439
|
+
mode: ["light", "dark"],
|
|
440
|
+
...shadows,
|
|
441
|
+
|
|
442
|
+
// Accent background tints (light → strong)
|
|
443
|
+
colorAccentBgSubtle: same(alpha(accent[9], 0.1)),
|
|
444
|
+
colorAccentBgMild: same(alpha(accent[9], 0.15)),
|
|
445
|
+
colorAccentBgMedium: same(alpha(accent[9], 0.2)),
|
|
446
|
+
colorAccentBgStrong: same(alpha(accent[9], 0.3)),
|
|
447
|
+
colorAccentBgBold: same(alpha(accent[9], 0.35)),
|
|
448
|
+
colorAccentBgVivid: same(alpha(accent[9], 0.6)),
|
|
449
|
+
|
|
450
|
+
// Accent strokes
|
|
451
|
+
colorAccentStroke: same(alpha(accent[9], 0.25)),
|
|
452
|
+
colorAccentStrokeHover: same(alpha(accent[9], 0.4)),
|
|
453
|
+
colorAccentStrokeFocus: same(alpha(accent[9], 0.5)),
|
|
454
|
+
|
|
455
|
+
// Accent solid
|
|
456
|
+
colorAccentSolid: same(alpha(accent[9], 0.8)),
|
|
457
|
+
|
|
458
|
+
// Accent base
|
|
459
|
+
colorAccent: primary.accent,
|
|
138
460
|
|
|
139
461
|
// Rubbish dump
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
462
|
+
/** @deprecated */
|
|
463
|
+
darkenPrimary: same(getDarkenColor(accent[9])),
|
|
464
|
+
whiteColor,
|
|
465
|
+
blackColor,
|
|
466
|
+
mainBg: surface.level3exotic,
|
|
467
|
+
panelBg: surface.level0,
|
|
468
|
+
panelContentBg: surface.level2_1,
|
|
469
|
+
colorBgRelationContainer: surface.level2_1,
|
|
470
|
+
|
|
147
471
|
// AI colors
|
|
148
|
-
colorAI: [
|
|
149
|
-
colorBgAI: [
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
472
|
+
colorAI: [purple9, purpleDark9],
|
|
473
|
+
colorBgAI: [alpha(purple9, 0.1), alpha(purpleDark9, 0.1)],
|
|
474
|
+
// FIXME why 0.1 for dark vs 0.05 for light?
|
|
475
|
+
colorSubtleBgAI: [alpha(purple9, 0.05), alpha(purpleDark9, 0.1)],
|
|
476
|
+
colorBgAIFloatingLauncher: surface.level1_4,
|
|
477
|
+
colorBgAIFloatingPanelContent: surface.level1_3,
|
|
478
|
+
colorBgAISidebarContent: surface.level1,
|
|
479
|
+
|
|
154
480
|
// Other colors
|
|
155
|
-
pageContentBg:
|
|
156
|
-
colorBgPopup:
|
|
157
|
-
menuBg:
|
|
158
|
-
menuTextColor:
|
|
159
|
-
menuItemHoverColor:
|
|
160
|
-
menuSelectedTextColor:
|
|
161
|
-
menuIconColor:
|
|
481
|
+
pageContentBg: surface.level0elevated,
|
|
482
|
+
colorBgPopup: raised.level2,
|
|
483
|
+
menuBg: surface.level3exotic,
|
|
484
|
+
menuTextColor: fgMenuEtc,
|
|
485
|
+
menuItemHoverColor: base5_6,
|
|
486
|
+
menuSelectedTextColor: fgSelectedText,
|
|
487
|
+
menuIconColor: fg.icon,
|
|
162
488
|
|
|
163
489
|
// Text, links colors
|
|
164
|
-
textColor:
|
|
165
|
-
textSelectionColor:
|
|
166
|
-
accentTextColor:
|
|
167
|
-
disabledTextColor:
|
|
168
|
-
inversedTextColor:
|
|
169
|
-
colorTextSecondary:
|
|
170
|
-
linkColor:
|
|
171
|
-
linkBorder: [
|
|
172
|
-
linkHoverColor:
|
|
173
|
-
linkBorderHover: [
|
|
174
|
-
codeColor:
|
|
175
|
-
codeBgColor:
|
|
176
|
-
codeBlockBgColor:
|
|
177
|
-
addedDiffTextColor:
|
|
178
|
-
removedDiffTextColor:
|
|
490
|
+
textColor: fgMenuEtc,
|
|
491
|
+
textSelectionColor: fgSelection,
|
|
492
|
+
accentTextColor: fgAccentText,
|
|
493
|
+
disabledTextColor: fg.muted,
|
|
494
|
+
inversedTextColor: surface.level3_6,
|
|
495
|
+
colorTextSecondary: fg.secondary,
|
|
496
|
+
linkColor: linkBlue,
|
|
497
|
+
linkBorder: [separator(alpha(blue9, 0.4)), separator(alpha(blueDark9, 0.4))],
|
|
498
|
+
linkHoverColor: linkBlue,
|
|
499
|
+
linkBorderHover: [separator(alpha(blue9, 0.8)), separator(alpha(blueDark9, 0.7))], // FIXME why different alpha?
|
|
500
|
+
codeColor: codeOrErrorMessage,
|
|
501
|
+
codeBgColor: surface.level3_4,
|
|
502
|
+
codeBlockBgColor: surface.level3_4,
|
|
503
|
+
addedDiffTextColor: fg.addition,
|
|
504
|
+
removedDiffTextColor: fg.destructive,
|
|
179
505
|
|
|
180
506
|
// Entity
|
|
181
507
|
entityNodeColor: [baseDark[3], base[8]],
|
|
182
|
-
entityNodeBorder: [
|
|
183
|
-
`0.5px solid ${getOpacities(baseDark[3]).opacity30}`,
|
|
184
|
-
`0.5px solid ${getOpacities(base[8]).opacity40}`,
|
|
185
|
-
],
|
|
508
|
+
entityNodeBorder: [separator(alpha(baseDark[3], 0.3)), separator(alpha(base[8], 0.4))],
|
|
186
509
|
entityNodeHoverColor: [baseDark[7], base[7]],
|
|
187
|
-
entityNodeBorderHover: [
|
|
188
|
-
|
|
189
|
-
`0.5px solid ${getOpacities(base[7]).opacity80}`,
|
|
190
|
-
],
|
|
191
|
-
entityNodeBgColor: [base[2], baseDark[3]],
|
|
510
|
+
entityNodeBorderHover: [separator(alpha(base[11], 0.8)), separator(alpha(base[7], 0.8))],
|
|
511
|
+
entityNodeBgColor: surface.level2_3,
|
|
192
512
|
shortcutTextColor: [base[9], baseDark[11]],
|
|
193
|
-
shortcutBorder: [
|
|
194
|
-
|
|
195
|
-
`1px solid ${getOpacities(baseDark[10]).opacity20}`,
|
|
196
|
-
],
|
|
197
|
-
shortcutBorderColor: [getOpacities(base[8]).opacity50, getOpacities(baseDark[10]).opacity20],
|
|
513
|
+
shortcutBorder: [border1(alpha(base[8], 0.5)), border1(alpha(baseDark[10], 0.2))],
|
|
514
|
+
shortcutBorderColor: [alpha(base[8], 0.5), alpha(baseDark[10], 0.2)],
|
|
198
515
|
|
|
199
516
|
// Input
|
|
200
|
-
inputBgColor:
|
|
201
|
-
inputDisabledBgColor:
|
|
202
|
-
inputDisabledBorderColor:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
inputBorderColor: [
|
|
208
|
-
`0 0 0 1px ${getOpacities(base[6]).opacity70}`,
|
|
209
|
-
`0 0 0 1px ${getOpacities(baseDark[8]).opacity70}`,
|
|
210
|
-
],
|
|
211
|
-
inputBorderHoverColor: [
|
|
212
|
-
`0 0 0 1px ${getOpacities(base[7]).opacity100}`,
|
|
213
|
-
`0 0 0 1px ${getOpacities(baseDark[8]).opacity100}`,
|
|
214
|
-
],
|
|
215
|
-
inputBorderFocusColor: [
|
|
216
|
-
`0 0 0 1px ${getOpacities(base[8]).opacity100}`,
|
|
217
|
-
`0 0 0 1px ${getOpacities(baseDark[9]).opacity100}`,
|
|
218
|
-
],
|
|
517
|
+
inputBgColor: surface.level0elevated,
|
|
518
|
+
inputDisabledBgColor: base6_6_opacity30,
|
|
519
|
+
inputDisabledBorderColor: inputStrokes.disabled,
|
|
520
|
+
inputCopyBgColor: surface.level3_4,
|
|
521
|
+
inputBorderColor: inputStrokes.default,
|
|
522
|
+
inputBorderHoverColor: inputStrokes.hover,
|
|
523
|
+
inputBorderFocusColor: inputStrokes.focus,
|
|
219
524
|
inputBorderBlendMode: ["multiply", "lighten"],
|
|
220
|
-
inputPlaceholderTextColor:
|
|
221
|
-
inputErrorBorderColor:
|
|
222
|
-
inputErrorBorderHoverColor:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
`0 0 0 1px ${getOpacities(red[7]).opacity25}`,
|
|
229
|
-
],
|
|
230
|
-
inputErrorBorderFocusShadow: [
|
|
231
|
-
`0 0 0 3px ${getOpacities(red[11]).opacity25}`,
|
|
232
|
-
`0 0 0 3px ${getOpacities(red[7]).opacity25}`,
|
|
233
|
-
],
|
|
234
|
-
buttonPrimaryColor: [accent[9], accentDark[9]],
|
|
235
|
-
buttonColor: [base[10], baseDark[10]],
|
|
525
|
+
inputPlaceholderTextColor: fg.muted,
|
|
526
|
+
inputErrorBorderColor: inputStrokes.error,
|
|
527
|
+
inputErrorBorderHoverColor: inputStrokes.errorHover,
|
|
528
|
+
inputErrorBorderFocusColor: inputStrokes.errorFocus,
|
|
529
|
+
inputErrorBorderFocusShadow: inputStrokes.errorFocusRing,
|
|
530
|
+
inputBorderWarningColor: inputStrokes.warning,
|
|
531
|
+
buttonPrimaryColor: primary.accent,
|
|
532
|
+
buttonColor: fgAccentText,
|
|
236
533
|
buttonPrimaryTextColor: [base[2], base[6]],
|
|
237
|
-
checkboxColor:
|
|
238
|
-
colorBorderBlockQuote:
|
|
534
|
+
checkboxColor: fg.icon,
|
|
535
|
+
colorBorderBlockQuote: fg.neutral,
|
|
239
536
|
|
|
240
537
|
// Actions menu
|
|
241
|
-
colorBgActionsMenu:
|
|
242
|
-
colorBgActionsMenuItemHover:
|
|
243
|
-
colorBgActionsMenuItemSelected:
|
|
244
|
-
colorBgActionsMenuItemSelectedHover: [
|
|
245
|
-
colorBgActionsMenuItemDangerHover: [
|
|
246
|
-
colorBgActionsMenuItemDangerActive: [
|
|
247
|
-
actionMenuBg:
|
|
248
|
-
actionMenuInnerBg:
|
|
249
|
-
actionMenuHover:
|
|
250
|
-
actionMenuInnerHover: [base[4],
|
|
251
|
-
actionMenuButtonColor:
|
|
252
|
-
actionMenuButtonHoverColor:
|
|
253
|
-
actionMenuButtonShadow:
|
|
254
|
-
|
|
255
|
-
|
|
538
|
+
colorBgActionsMenu: bgActionsMenu,
|
|
539
|
+
colorBgActionsMenuItemHover: bgActionsMenuItemHover,
|
|
540
|
+
colorBgActionsMenuItemSelected: bgBtnGhostAccentHover,
|
|
541
|
+
colorBgActionsMenuItemSelectedHover: [alpha(accent[5], 0.8), alpha(accentDark[6], 0.8)],
|
|
542
|
+
colorBgActionsMenuItemDangerHover: [alpha(red[9], 0.1), alpha(redDark[10], 0.1)],
|
|
543
|
+
colorBgActionsMenuItemDangerActive: [alpha(red[9], 0.8), alpha(redDark[10], 0.8)],
|
|
544
|
+
actionMenuBg: bgActionsMenu,
|
|
545
|
+
actionMenuInnerBg: raised.level2,
|
|
546
|
+
actionMenuHover: bgActionsMenuItemHover,
|
|
547
|
+
actionMenuInnerHover: [base[4], alpha(baseDark[6], 0.5)],
|
|
548
|
+
actionMenuButtonColor: surface.level0elevated,
|
|
549
|
+
actionMenuButtonHoverColor: surface.level1_3,
|
|
550
|
+
actionMenuButtonShadow: cardShadows.subtle,
|
|
551
|
+
actionMenuSeparatorColor: [alpha(black, 0.1), alpha(white, 0.15)],
|
|
552
|
+
separatorColor: blackA10,
|
|
553
|
+
separatorColorDimmed: blackA5,
|
|
554
|
+
separatorBreadcrumbsColor: base8,
|
|
555
|
+
|
|
556
|
+
// Border shorthands — 0.5px (thin separator)
|
|
557
|
+
borderSeparatorDimmed: both(separator)(blackA5),
|
|
558
|
+
borderSeparator: both(separator)(blackA10),
|
|
559
|
+
borderSeparatorMedium: both(separator)(blackA15),
|
|
560
|
+
borderSeparatorStrong: both(separator)(blackA25),
|
|
561
|
+
borderMedia: same(separator(blackA[7])),
|
|
562
|
+
|
|
563
|
+
// Border shorthands — 1px (solid)
|
|
564
|
+
borderSolidSeparator: both(border1)(blackA10),
|
|
565
|
+
borderSolidSeparatorDimmed: both(border1)(blackA5),
|
|
566
|
+
borderSolidFilterGroup: [border1(blackA[3]), border1(whiteA[3])],
|
|
567
|
+
borderSolidGrid: [border1(base5_6[0]), border1(base5_6[1])],
|
|
568
|
+
borderSolidOutlineNeutral: [border1(borderNeutral[0]), border1(borderNeutral[1])],
|
|
569
|
+
borderSolidMedia: same(border1(blackA[7])),
|
|
570
|
+
borderSolidCommentBubble: [border1(raised.level4[0]), border1(raised.level4[1])],
|
|
571
|
+
|
|
572
|
+
// Border shorthands — 3px
|
|
573
|
+
borderBlockQuote: [border3(fg.neutral[0]), border3(fg.neutral[1])],
|
|
574
|
+
|
|
575
|
+
// Composite shadows (stroke + elevation)
|
|
576
|
+
shadowCardDefault: [
|
|
577
|
+
steps([inputStrokes.default[0], shadows.shadow100[0]]),
|
|
578
|
+
steps([inputStrokes.default[1], shadows.shadow100[1]]),
|
|
256
579
|
],
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
separatorBreadcrumbsColor: [base[8], baseDark[8]],
|
|
261
|
-
iconColor: [getOpacities(base[12]).opacity70, getOpacities(baseDark[12]).opacity70],
|
|
262
|
-
appIconColor: [getOpacities(base[2]).opacity90, getOpacities(base[2]).opacity70],
|
|
263
|
-
appIconBgColor: [getOpacities(base[1]).opacity90, getOpacities(base[2]).opacity50],
|
|
264
|
-
mentionBgColor: [getOpacities(base[7]).opacity30, getOpacities(baseDark[7]).opacity40],
|
|
265
|
-
colorBgSelectMenu: [base[1], baseDark[3]],
|
|
266
|
-
shadowSelectMenu: [
|
|
267
|
-
`0px 0px 2px 0px ${getOpacities(base[11]).opacity30}, 0px 4px 6px 0px ${
|
|
268
|
-
getOpacities(base[11]).opacity5
|
|
269
|
-
}, 0px 10px 26px 0px ${getOpacities(base[11]).opacity15}`,
|
|
270
|
-
`0px 0px 0px 1px ${getOpacities(baseDark[6]).opacity100}, 0px 4px 6px 0px ${
|
|
271
|
-
getOpacities(baseDark[1]).opacity5
|
|
272
|
-
}, 0px 10px 26px 0px ${getOpacities(baseDark[1]).opacity15}`,
|
|
580
|
+
shadowCardHover: [
|
|
581
|
+
steps([inputStrokes.default[0], shadows.shadow200[0]]),
|
|
582
|
+
steps([inputStrokes.default[1], shadows.shadow200[1]]),
|
|
273
583
|
],
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
584
|
+
shadowCardInset: [`inset ${inputStrokes.default[0]}`, `inset ${inputStrokes.default[1]}`],
|
|
585
|
+
|
|
586
|
+
iconColor: fg.icon,
|
|
587
|
+
appIconColor: [alpha(base[2], 0.9), alpha(base[2], 0.7)],
|
|
588
|
+
appIconBgColor: [alpha(base[1], 0.9), alpha(base[2], 0.5)],
|
|
589
|
+
mentionBgColor: [alpha(base[7], 0.3), alpha(baseDark[7], 0.4)],
|
|
590
|
+
colorBgSelectMenu: surface.level1_3,
|
|
591
|
+
shadowSelectMenu: floatingShadows.popup,
|
|
592
|
+
colorBgListItemGeneral: transparentAlways,
|
|
593
|
+
colorBgListItemGeneralHover: surface.level3_4,
|
|
594
|
+
colorBgListItemGeneralFocus: surface.level4_6,
|
|
595
|
+
colorBgListItemGeneralSelected: notificationSelected,
|
|
596
|
+
colorBgListItemGeneralSelectedHover: notificationSelectedHover,
|
|
597
|
+
colorBgListItemGeneralSelectedFocus: notificationSelectedHover,
|
|
598
|
+
colorBgListItemGeneralDisabled: transparentAlways,
|
|
599
|
+
colorTextListItemGeneralDisabled: fg.muted,
|
|
282
600
|
colorBgListItemGeneralSelectedDisabled: [accent[5], accentDark[5]],
|
|
283
|
-
opacityListItemGeneralDisabled:
|
|
601
|
+
opacityListItemGeneralDisabled: opacities.drag,
|
|
284
602
|
|
|
285
603
|
// Search Items
|
|
286
|
-
colorBgSearchRowHover:
|
|
604
|
+
colorBgSearchRowHover: bgActionsMenuItemHover,
|
|
287
605
|
colorBgSearchRowCreateHover: [accent[4], accentDark[4]],
|
|
288
|
-
opacitySearchItemDone:
|
|
606
|
+
opacitySearchItemDone: opacities.drag,
|
|
607
|
+
|
|
289
608
|
// Entity Box Style And States
|
|
290
609
|
// Basic Entity Box State
|
|
291
|
-
colorBgEntityBoxDefault:
|
|
292
|
-
shadowStrokeEntityBoxDefault:
|
|
293
|
-
shadowEntityBoxDefault:
|
|
294
|
-
`0px 2px 4px 0px ${getOpacities(base[12]).opacity5}`,
|
|
295
|
-
`0px 2px 4px 0px ${getOpacities(baseDark[1]).opacity5}`,
|
|
296
|
-
],
|
|
610
|
+
colorBgEntityBoxDefault: bgActionsMenu,
|
|
611
|
+
shadowStrokeEntityBoxDefault: entityBoxShadows.stroke.default,
|
|
612
|
+
shadowEntityBoxDefault: entityBoxShadows.elevation.default,
|
|
297
613
|
// :hover
|
|
298
|
-
colorBgEntityBoxDefaultHover:
|
|
299
|
-
shadowEntityBoxDefaultHover:
|
|
300
|
-
`0px 4px 8px 0px ${getOpacities(base[12]).opacity10}`,
|
|
301
|
-
`0px 4px 8px 0px ${getOpacities(baseDark[1]).opacity10}`,
|
|
302
|
-
],
|
|
614
|
+
colorBgEntityBoxDefaultHover: raised.level2,
|
|
615
|
+
shadowEntityBoxDefaultHover: entityBoxShadows.elevation.hover,
|
|
303
616
|
// :focus
|
|
304
|
-
colorBgEntityBoxDefaultFocus:
|
|
305
|
-
colorOverlayEntityBoxDefaultFocus:
|
|
306
|
-
shadowStrokeEntityBoxDefaultFocus:
|
|
307
|
-
`0 0 0 2px ${getOpacities(accent[9]).opacity40}`,
|
|
308
|
-
`0 0 0 2px ${getOpacities(accentDark[9]).opacity40}`,
|
|
309
|
-
],
|
|
617
|
+
colorBgEntityBoxDefaultFocus: bgActionsMenu,
|
|
618
|
+
colorOverlayEntityBoxDefaultFocus: primary.accent,
|
|
619
|
+
shadowStrokeEntityBoxDefaultFocus: entityBoxShadows.stroke.focus,
|
|
310
620
|
// :focus:hover
|
|
311
|
-
colorBgEntityBoxDefaultFocusHover:
|
|
312
|
-
colorOverlayEntityBoxDefaultFocusHover:
|
|
313
|
-
shadowStrokeEntityBoxDefaultFocusHover:
|
|
314
|
-
`0 0 0 2px ${getOpacities(accent[9]).opacity60}`,
|
|
315
|
-
`0 0 0 2px ${getOpacities(accentDark[9]).opacity60}`,
|
|
316
|
-
],
|
|
621
|
+
colorBgEntityBoxDefaultFocusHover: raised.level2,
|
|
622
|
+
colorOverlayEntityBoxDefaultFocusHover: primary.accent,
|
|
623
|
+
shadowStrokeEntityBoxDefaultFocusHover: entityBoxShadows.stroke.focusHover,
|
|
317
624
|
//::drag
|
|
318
|
-
opacityEntityBoxDefaultDrag:
|
|
319
|
-
shadowEntityBoxDefaultDrag:
|
|
320
|
-
`0px 8px 12px 0px ${getOpacities(base[12]).opacity10}`,
|
|
321
|
-
`0px 8px 12px 0px ${getOpacities(baseDark[1]).opacity10}`,
|
|
322
|
-
],
|
|
625
|
+
opacityEntityBoxDefaultDrag: opacities.drag,
|
|
626
|
+
shadowEntityBoxDefaultDrag: entityBoxShadows.elevation.drag,
|
|
323
627
|
// Selected Entity Box State
|
|
324
628
|
colorBgEntityBoxSelected: [accent[2], accentDark[3]],
|
|
325
|
-
shadowStrokeEntityBoxSelected:
|
|
326
|
-
`0 0 0 1px ${getOpacities(accent[9]).opacity40}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
|
|
327
|
-
`0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
|
|
328
|
-
],
|
|
629
|
+
shadowStrokeEntityBoxSelected: entityBoxShadows.stroke.selected,
|
|
329
630
|
// :hover
|
|
330
|
-
colorBgEntityBoxSelectedHover:
|
|
331
|
-
shadowStrokeEntityBoxSelectedHover:
|
|
332
|
-
`0 0 0 1px ${getOpacities(accent[9]).opacity60}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
|
|
333
|
-
`0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
|
|
334
|
-
],
|
|
631
|
+
colorBgEntityBoxSelectedHover: viewHighlightBg,
|
|
632
|
+
shadowStrokeEntityBoxSelectedHover: entityBoxShadows.stroke.selectedHover,
|
|
335
633
|
//::drag
|
|
336
|
-
colorBgEntityBoxSelectedDrag:
|
|
337
|
-
shadowStrokeEntityBoxSelectedDrag:
|
|
338
|
-
`0 0 0 1px ${getOpacities(accent[9]).opacity40}, 0 0 0 3px ${getOpacities(accent[9]).opacity40}`,
|
|
339
|
-
`0 0 0 1px ${accentDark[9]}, 0 0 0 3px ${getOpacities(accentDark[9]).opacity40}`,
|
|
340
|
-
],
|
|
634
|
+
colorBgEntityBoxSelectedDrag: viewHighlightBg,
|
|
635
|
+
shadowStrokeEntityBoxSelectedDrag: entityBoxShadows.stroke.selected,
|
|
341
636
|
// Disabled Entity Box State (done)
|
|
342
|
-
opacityEntityBoxDisabled:
|
|
637
|
+
opacityEntityBoxDisabled: opacities.disabled,
|
|
343
638
|
// :hover
|
|
344
|
-
opacityEntityBoxDisabledHover:
|
|
639
|
+
opacityEntityBoxDisabledHover: opacities.disabledHoverOrFocus,
|
|
345
640
|
// :focus
|
|
346
|
-
opacityEntityBoxDisabledFocus:
|
|
641
|
+
opacityEntityBoxDisabledFocus: opacities.disabledHoverOrFocus,
|
|
347
642
|
// :drag
|
|
348
|
-
opacityEntityBoxDisabledDrag:
|
|
643
|
+
opacityEntityBoxDisabledDrag: opacities.drag,
|
|
644
|
+
|
|
349
645
|
// Entity Old
|
|
350
|
-
entityCardBgColor:
|
|
351
|
-
entityCardSelectedColor:
|
|
352
|
-
entityCardHoverColor:
|
|
353
|
-
entityCardDoneColor:
|
|
354
|
-
entityCardShadow:
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
`0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
|
|
361
|
-
],
|
|
362
|
-
colorBgSegmentedControl: [getOpacities(base[5]).opacity80, getOpacities(baseDark[3]).opacity80],
|
|
363
|
-
colorBgMenuHeaderAvatar: [white, baseDark[2]],
|
|
364
|
-
shadowMenuHeaderAvatar: [
|
|
365
|
-
`0px 1px 4px ${getOpacities(base[11]).opacity10}, 0 0 0 0.5px ${getOpacities(base[5]).opacity50}`,
|
|
366
|
-
`0 0 0 1px ${getOpacities(baseDark[9]).opacity20}`,
|
|
367
|
-
],
|
|
646
|
+
entityCardBgColor: raised.level3,
|
|
647
|
+
entityCardSelectedColor: bgEntityCardOverlay,
|
|
648
|
+
entityCardHoverColor: bgEntityCardOverlay,
|
|
649
|
+
entityCardDoneColor: bgEntityCardDone,
|
|
650
|
+
entityCardShadow: cardShadows.subtle,
|
|
651
|
+
entityCardShadowHover: cardShadows.subtle,
|
|
652
|
+
colorBgSegmentedControl: [alpha(base[5], 0.8), alpha(baseDark[3], 0.8)],
|
|
653
|
+
colorBgMenuHeaderAvatar: surface.level0elevated,
|
|
654
|
+
shadowMenuHeaderAvatar: shadowMenuHeaderAvatar,
|
|
655
|
+
|
|
368
656
|
// Main Menu Items Styles and States
|
|
369
657
|
// Dragged
|
|
370
|
-
opacityMenuItemDragged:
|
|
658
|
+
opacityMenuItemDragged: opacities.drag,
|
|
371
659
|
colorBgMenuItemSelectedDragged: [accent[6], accentDark[6]],
|
|
372
660
|
// Default
|
|
373
|
-
colorTextMenuItem: [
|
|
374
|
-
|
|
375
|
-
colorBgMenuItem: [transparent, transparent],
|
|
661
|
+
colorTextMenuItem: [alpha(base[12], 0.9), alpha(baseDark[12], 0.9)],
|
|
662
|
+
colorBgMenuItem: transparentAlways,
|
|
376
663
|
// :hover
|
|
377
664
|
colorBgMenuItemHover: [base[5], baseDark[2]],
|
|
378
665
|
// :focus
|
|
379
666
|
colorBgMenuItemFocus: [base[6], baseDark[5]],
|
|
380
667
|
// Selected
|
|
381
|
-
colorBgMenuItemSelected: [
|
|
668
|
+
colorBgMenuItemSelected: [alpha(accent[5], 0.8), accentDark[3]],
|
|
382
669
|
// :hover
|
|
383
|
-
colorBgMenuItemSelectedHover: [
|
|
670
|
+
colorBgMenuItemSelectedHover: [alpha(accent[6], 0.7), accentDark[5]],
|
|
384
671
|
// :focus, :focus:hover
|
|
385
|
-
colorBgPinnedFieldsLabel:
|
|
386
|
-
colorBgObjectEditorSeparator:
|
|
672
|
+
colorBgPinnedFieldsLabel: fg.neutral,
|
|
673
|
+
colorBgObjectEditorSeparator: fgMenuEtc,
|
|
387
674
|
colorBgMenuItemSelectedFocused: [accent[6], accentDark[5]],
|
|
388
|
-
colorBgFieldEditorContainer:
|
|
675
|
+
colorBgFieldEditorContainer: surface.level2_3,
|
|
389
676
|
colorBgFieldEditorLinkEqualSign: [base[6], baseDark[2]],
|
|
390
|
-
allowedDropColor:
|
|
391
|
-
relationViewBgColor:
|
|
677
|
+
allowedDropColor: surface.level4,
|
|
678
|
+
relationViewBgColor: surface.level2_3,
|
|
392
679
|
|
|
393
|
-
mySpaceIconColor:
|
|
394
|
-
mySpaceIconBg:
|
|
395
|
-
privateIconColor:
|
|
396
|
-
privateIconBg:
|
|
397
|
-
favoritesIconColor:
|
|
398
|
-
favoritesIconBg:
|
|
680
|
+
mySpaceIconColor: iconMySpace.fg,
|
|
681
|
+
mySpaceIconBg: iconMySpace.bg,
|
|
682
|
+
privateIconColor: iconPrivate.fg,
|
|
683
|
+
privateIconBg: iconPrivate.bg,
|
|
684
|
+
favoritesIconColor: iconFavorites.fg,
|
|
685
|
+
favoritesIconBg: iconFavorites.bg,
|
|
686
|
+
defaultCardTypeColorUppercaseHex,
|
|
399
687
|
|
|
400
688
|
// Unit
|
|
401
|
-
unitBg:
|
|
689
|
+
unitBg: surface.level3_6,
|
|
402
690
|
unitBgHover: [base[4], baseDark[7]],
|
|
403
691
|
|
|
404
692
|
// Badges
|
|
405
|
-
colorBgBadgeNeutral:
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
693
|
+
colorBgBadgeNeutral: bgStatus.neutral,
|
|
694
|
+
colorBgBadgeAccent: bgStatus.accent,
|
|
695
|
+
colorBgBadgeSuccess: bgStatus.success,
|
|
696
|
+
colorBgBadgeWarning: bgStatus.warning,
|
|
697
|
+
colorBgBadgeError: bgStatus.error,
|
|
698
|
+
colorTextBadgeNeutral: fg.neutral,
|
|
699
|
+
colorTextBadgeAccent: fg.accent,
|
|
700
|
+
colorTextBadgeSuccess: fg.success,
|
|
701
|
+
colorTextBadgeWarning: fg.warning,
|
|
702
|
+
colorTextBadgeError: fg.destructive,
|
|
703
|
+
badgeBgColor: iconBadge.bg,
|
|
704
|
+
|
|
415
705
|
tooltipBgColor: [baseDark[5], baseDark[6]],
|
|
416
706
|
todayMarkerColor: [red[8], redDark[6]],
|
|
417
|
-
viewBgOverlayColor: [
|
|
418
|
-
floatEditorMenuBg:
|
|
419
|
-
floatEditorActiveColor:
|
|
420
|
-
commentColor:
|
|
421
|
-
cellBackgroundColor:
|
|
422
|
-
cellBackgroundHoverColor:
|
|
423
|
-
cellBorderColor: [
|
|
424
|
-
cellPinnedBorderColor: [
|
|
425
|
-
tableRowWarningColor:
|
|
426
|
-
errorBgColor: [
|
|
707
|
+
viewBgOverlayColor: [alpha(base[8], 0.2), alpha(baseDark[1], 0.6)],
|
|
708
|
+
floatEditorMenuBg: surface.level1_6,
|
|
709
|
+
floatEditorActiveColor: fg.accent,
|
|
710
|
+
commentColor: warningColor,
|
|
711
|
+
cellBackgroundColor: surface.level2,
|
|
712
|
+
cellBackgroundHoverColor: base6_6_opacity30,
|
|
713
|
+
cellBorderColor: [alpha(base[8], 0.5), alpha(baseDark[9], 0.5)],
|
|
714
|
+
cellPinnedBorderColor: [alpha(base[8], 0.7), alpha(baseDark[9], 0.7)],
|
|
715
|
+
tableRowWarningColor: warningColor,
|
|
716
|
+
errorBgColor: [alpha(red[9], 0.2), alpha(redDark[9], 0.6)],
|
|
427
717
|
errorTextColor: [red[11], red[7]],
|
|
428
|
-
errorButtonColor:
|
|
429
|
-
warningBgColor: [
|
|
430
|
-
warningButtonColor:
|
|
431
|
-
infoBox: [
|
|
432
|
-
appCardBgColor:
|
|
433
|
-
appCardHoverColor: [
|
|
434
|
-
modalBg: [
|
|
435
|
-
modalContentBg:
|
|
718
|
+
errorButtonColor: primary.destructive,
|
|
719
|
+
warningBgColor: [alpha(yellow[6], 0.6), alpha(yellowDark[8], 0.6)],
|
|
720
|
+
warningButtonColor: fg.warning,
|
|
721
|
+
infoBox: [alpha(yellow[4], 0.5), alpha(yellowDark[9], 0.2)],
|
|
722
|
+
appCardBgColor: surface.level0elevated,
|
|
723
|
+
appCardHoverColor: [alpha(base[1], 0.95), baseDark[2]],
|
|
724
|
+
modalBg: [alpha(base[11], 0.2), alpha(baseDark[2], 0.5)],
|
|
725
|
+
modalContentBg: bgActionsMenu,
|
|
436
726
|
progressIconBg: [blackA[7], whiteA[7]],
|
|
437
727
|
progressIconFill: [blackA[11], whiteA[11]],
|
|
438
|
-
formBg:
|
|
439
|
-
formHeaderShadow:
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
formEditorFieldBg: [base[3], baseDark[4]],
|
|
444
|
-
filterGroup1Bg: [base[2], baseDark[6]],
|
|
445
|
-
filterGroup2Bg: [base[3], baseDark[7]],
|
|
728
|
+
formBg: surface.level2,
|
|
729
|
+
formHeaderShadow: formHeaderShadow,
|
|
730
|
+
formEditorFieldBg: surface.level3_4,
|
|
731
|
+
filterGroup1Bg: surface.level2_6,
|
|
732
|
+
filterGroup2Bg: surface.level3_7,
|
|
446
733
|
filterGroupBorder: [blackA[3], whiteA[3]],
|
|
447
|
-
colorBgNotificationHover:
|
|
448
|
-
colorBgNotificationSelected:
|
|
449
|
-
colorBgNotificationSelectedHover:
|
|
450
|
-
disabledInversedTextColor:
|
|
451
|
-
success:
|
|
452
|
-
danger:
|
|
453
|
-
active:
|
|
454
|
-
warning:
|
|
455
|
-
cardBg:
|
|
734
|
+
colorBgNotificationHover: surface.level3_4,
|
|
735
|
+
colorBgNotificationSelected: notificationSelected,
|
|
736
|
+
colorBgNotificationSelectedHover: notificationSelectedHover,
|
|
737
|
+
disabledInversedTextColor: blackA25,
|
|
738
|
+
success: primary.success,
|
|
739
|
+
danger: primary.destructive,
|
|
740
|
+
active: primary.destructive,
|
|
741
|
+
warning: primary.warning,
|
|
742
|
+
cardBg: raised.level4,
|
|
456
743
|
selectedImageBorder: [blackA[8], whiteA[11]],
|
|
457
|
-
transparent:
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
progressText: [base[11], base[11]],
|
|
464
|
-
progressFillBg: [base[11], base[11]],
|
|
465
|
-
progressFillText: [white, white],
|
|
466
|
-
progressBarFillNeutral: [getOpacities(base[9]).opacity20, getOpacities(baseDark[9]).opacity20],
|
|
744
|
+
transparent: transparentAlways,
|
|
745
|
+
progressBg: same(base[4]), // TODO check if that could be surface.level4?
|
|
746
|
+
progressText: neutralStrong,
|
|
747
|
+
progressFillBg: neutralStrong,
|
|
748
|
+
progressFillText: whiteColor,
|
|
749
|
+
progressBarFillNeutral: [alpha(base[9], 0.2), alpha(baseDark[9], 0.2)],
|
|
467
750
|
progressBarFill: [accent[9], accentDark[10]],
|
|
468
|
-
progressBarBg: [
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
colorBorderRichTextMedia: [blackA[7], blackA[7]],
|
|
751
|
+
progressBarBg: [alpha(accent[9], 0.25), alpha(accentDark[10], 0.25)],
|
|
752
|
+
colorPickerSwatchBorder: same(blackA[7]),
|
|
753
|
+
colorBorderRichTextMedia: same(blackA[7]),
|
|
472
754
|
richTextTableBorder: [blackA[5], whiteA[7]],
|
|
473
755
|
|
|
474
756
|
// Drag and drop
|
|
475
|
-
colorBgDropLine:
|
|
757
|
+
colorBgDropLine: borderAccentOrMediumAccent,
|
|
476
758
|
|
|
477
759
|
// Views
|
|
478
|
-
viewBg:
|
|
479
|
-
viewSecondaryBg:
|
|
480
|
-
viewHighlightBg:
|
|
760
|
+
viewBg: surface.level1,
|
|
761
|
+
viewSecondaryBg: surface.level2,
|
|
762
|
+
viewHighlightBg: viewHighlightBg,
|
|
481
763
|
|
|
482
764
|
// Board
|
|
483
|
-
boardBg:
|
|
484
|
-
boardBgWithOpacity80: [
|
|
485
|
-
boardAxisBgHover:
|
|
765
|
+
boardBg: surface.level1,
|
|
766
|
+
boardBgWithOpacity80: [alpha(base[1], 0.8), alpha(baseDark[1], 0.8)],
|
|
767
|
+
boardAxisBgHover: surface.level4,
|
|
486
768
|
|
|
487
769
|
// Grid
|
|
488
|
-
gridHeaderBgColor:
|
|
489
|
-
gridHeaderHoverBgColor:
|
|
770
|
+
gridHeaderBgColor: surface.level2_3,
|
|
771
|
+
gridHeaderHoverBgColor: surface.level3_4,
|
|
490
772
|
gridHeaderTextColor: [base[10], baseDark[11]],
|
|
491
|
-
gridCellBgColor:
|
|
492
|
-
gridCellBorderColor:
|
|
493
|
-
gridDisabledCellBgColor:
|
|
494
|
-
gridSelectedCellBgColor:
|
|
495
|
-
gridHighlightedCellBgColor:
|
|
773
|
+
gridCellBgColor: surface.level0elevated,
|
|
774
|
+
gridCellBorderColor: base5_6,
|
|
775
|
+
gridDisabledCellBgColor: surface.level2_3,
|
|
776
|
+
gridSelectedCellBgColor: viewHighlightBg,
|
|
777
|
+
gridHighlightedCellBgColor: bgCellGridDisabledOrHighlighted,
|
|
496
778
|
gridSelectedCellBorderColor: [accent[6], accentDark[7]],
|
|
497
|
-
gridSelectedPinnedCellBorderColor:
|
|
498
|
-
gridDisabledSelectedCellBgColor:
|
|
779
|
+
gridSelectedPinnedCellBorderColor: borderAccentOrMedium,
|
|
780
|
+
gridDisabledSelectedCellBgColor: bgCellGridDisabledOrHighlighted,
|
|
499
781
|
gridActiveCellBorderColor: [accent[8], accentDark[9]],
|
|
500
782
|
|
|
501
783
|
//timeline
|
|
502
|
-
timelineEntityHandleColor:
|
|
503
|
-
timelineDependencyHoverBgColor:
|
|
504
|
-
timelineDependencyOverlapBgColor:
|
|
505
|
-
timelineDependencyOverlapHoverBgColor:
|
|
506
|
-
timelineCellBgColor:
|
|
507
|
-
timelineCellWeekendBgColor:
|
|
784
|
+
timelineEntityHandleColor: borderAccentOrMedium,
|
|
785
|
+
timelineDependencyHoverBgColor: borderAccentOrMediumAccent,
|
|
786
|
+
timelineDependencyOverlapBgColor: primary.destructive_TODO,
|
|
787
|
+
timelineDependencyOverlapHoverBgColor: fg.destructive,
|
|
788
|
+
timelineCellBgColor: surface.level1,
|
|
789
|
+
timelineCellWeekendBgColor: surface.level2,
|
|
508
790
|
timelineCellTodayBgColor: [accent[4], accentDark[2]],
|
|
509
|
-
timelineCreateEntityPlaceholderBgColor: [
|
|
791
|
+
timelineCreateEntityPlaceholderBgColor: [alpha(base[11], 0.2), baseDark[7]],
|
|
510
792
|
|
|
511
793
|
// #region buttons
|
|
512
794
|
// solid
|
|
513
|
-
colorBgButtonSolidAccentDefault:
|
|
795
|
+
colorBgButtonSolidAccentDefault: primary.accent,
|
|
514
796
|
colorBgButtonSolidAccentHover: [accent[11], accentDark[10]],
|
|
515
|
-
colorBgButtonSolidNeutralDefault:
|
|
516
|
-
colorBgButtonSolidNeutralHover: [
|
|
517
|
-
colorBgButtonSolidDestructiveDefault:
|
|
797
|
+
colorBgButtonSolidNeutralDefault: fgMenuEtc,
|
|
798
|
+
colorBgButtonSolidNeutralHover: [alpha(base[12], 0.85), white],
|
|
799
|
+
colorBgButtonSolidDestructiveDefault: primary.destructive_TODO,
|
|
518
800
|
colorBgButtonSolidDestructiveHover: [red[11], redDark[10]],
|
|
519
|
-
colorTextButtonSolidAccent:
|
|
520
|
-
colorTextButtonSolidAccentActive:
|
|
801
|
+
colorTextButtonSolidAccent: whiteColor,
|
|
802
|
+
colorTextButtonSolidAccentActive: fgSolidActiveText,
|
|
521
803
|
colorTextButtonSolidNeutral: [white, baseDark[2]],
|
|
522
|
-
colorTextButtonSolidNeutralActive: [white,
|
|
523
|
-
colorTextButtonSolidDestructive:
|
|
524
|
-
colorTextButtonSolidDestructiveActive:
|
|
525
|
-
colorIconButtonSolidAccent:
|
|
804
|
+
colorTextButtonSolidNeutralActive: [white, alpha(baseDark[2], 0.8)],
|
|
805
|
+
colorTextButtonSolidDestructive: whiteColor,
|
|
806
|
+
colorTextButtonSolidDestructiveActive: fgSolidActiveText,
|
|
807
|
+
colorIconButtonSolidAccent: whiteColor,
|
|
526
808
|
colorIconButtonSolidNeutral: [white, baseDark[8]],
|
|
527
|
-
colorIconButtonSolidDestructive:
|
|
809
|
+
colorIconButtonSolidDestructive: whiteColor,
|
|
528
810
|
// outline
|
|
529
|
-
colorBorderButtonOutlineAccentDefault:
|
|
530
|
-
colorBorderButtonOutlineNeutralDefault:
|
|
531
|
-
colorBorderButtonOutlineDestructiveDefault:
|
|
532
|
-
colorBgButtonOutlineAccentDefault:
|
|
533
|
-
colorBgButtonOutlineAccentHover:
|
|
534
|
-
colorBgButtonOutlineNeutralDefault:
|
|
535
|
-
colorBgButtonOutlineNeutralHover:
|
|
536
|
-
colorBgButtonOutlineDestructiveDefault:
|
|
537
|
-
colorBgButtonOutlineDestructiveHover:
|
|
538
|
-
colorTextButtonOutlineAccent:
|
|
539
|
-
colorTextButtonOutlineAccentActive:
|
|
540
|
-
colorTextButtonOutlineNeutral:
|
|
541
|
-
colorTextButtonOutlineNeutralActive:
|
|
542
|
-
colorTextButtonOutlineDestructive:
|
|
543
|
-
colorTextButtonOutlineDestructiveActive:
|
|
544
|
-
colorIconButtonOutlineAccent:
|
|
545
|
-
colorIconButtonOutlineNeutral:
|
|
546
|
-
colorIconButtonOutlineDestructive:
|
|
811
|
+
colorBorderButtonOutlineAccentDefault: borderAccentOrMediumAccent,
|
|
812
|
+
colorBorderButtonOutlineNeutralDefault: borderNeutral,
|
|
813
|
+
colorBorderButtonOutlineDestructiveDefault: borderDanger,
|
|
814
|
+
colorBgButtonOutlineAccentDefault: surface.level0,
|
|
815
|
+
colorBgButtonOutlineAccentHover: viewHighlightBg,
|
|
816
|
+
colorBgButtonOutlineNeutralDefault: surface.level0,
|
|
817
|
+
colorBgButtonOutlineNeutralHover: surface.level4,
|
|
818
|
+
colorBgButtonOutlineDestructiveDefault: surface.level0,
|
|
819
|
+
colorBgButtonOutlineDestructiveHover: bgBtnGhostDestructiveHover,
|
|
820
|
+
colorTextButtonOutlineAccent: fg.accent,
|
|
821
|
+
colorTextButtonOutlineAccentActive: fg.accentActive,
|
|
822
|
+
colorTextButtonOutlineNeutral: fg.neutral,
|
|
823
|
+
colorTextButtonOutlineNeutralActive: fg.neutralActive__TODO,
|
|
824
|
+
colorTextButtonOutlineDestructive: fg.destructive,
|
|
825
|
+
colorTextButtonOutlineDestructiveActive: fg.destructiveActive,
|
|
826
|
+
colorIconButtonOutlineAccent: fg.accent,
|
|
827
|
+
colorIconButtonOutlineNeutral: fg.neutral,
|
|
828
|
+
colorIconButtonOutlineDestructive: fg.destructive,
|
|
547
829
|
// soft
|
|
548
|
-
colorBgButtonSoftAccentDefault:
|
|
549
|
-
colorBgButtonSoftAccentHover:
|
|
550
|
-
colorBgButtonSoftNeutralDefault:
|
|
551
|
-
colorBgButtonSoftNeutralHover:
|
|
552
|
-
colorBgButtonSoftDestructiveDefault:
|
|
553
|
-
colorBgButtonSoftDestructiveHover:
|
|
554
|
-
colorTextButtonSoftAccent:
|
|
555
|
-
colorTextButtonSoftAccentActive:
|
|
556
|
-
colorTextButtonSoftNeutral:
|
|
557
|
-
colorTextButtonSoftNeutralActive:
|
|
558
|
-
colorTextButtonSoftDestructive:
|
|
559
|
-
colorTextButtonSoftDestructiveActive:
|
|
560
|
-
colorIconButtonSoftAccent:
|
|
561
|
-
colorIconButtonSoftNeutral:
|
|
562
|
-
colorIconButtonSoftDestructive:
|
|
830
|
+
colorBgButtonSoftAccentDefault: notificationSelected,
|
|
831
|
+
colorBgButtonSoftAccentHover: bgBtnSoftAccentHover,
|
|
832
|
+
colorBgButtonSoftNeutralDefault: bgBtnSoftNeutralDefault,
|
|
833
|
+
colorBgButtonSoftNeutralHover: bgBtnSoftNeutralHover,
|
|
834
|
+
colorBgButtonSoftDestructiveDefault: bgBtnGhostDestructiveHover,
|
|
835
|
+
colorBgButtonSoftDestructiveHover: bgBtnSoftDestructiveHover,
|
|
836
|
+
colorTextButtonSoftAccent: fg.accent,
|
|
837
|
+
colorTextButtonSoftAccentActive: fg.accentActive,
|
|
838
|
+
colorTextButtonSoftNeutral: fg.neutral,
|
|
839
|
+
colorTextButtonSoftNeutralActive: fg.neutralActive,
|
|
840
|
+
colorTextButtonSoftDestructive: fg.destructive,
|
|
841
|
+
colorTextButtonSoftDestructiveActive: fg.destructiveActive,
|
|
842
|
+
colorIconButtonSoftAccent: fg.accent,
|
|
843
|
+
colorIconButtonSoftNeutral: fg.neutral,
|
|
844
|
+
colorIconButtonSoftDestructive: fg.destructive,
|
|
563
845
|
// ghost
|
|
564
|
-
colorBgButtonGhostAccentDefault:
|
|
565
|
-
colorBgButtonGhostAccentHover:
|
|
566
|
-
colorBgButtonGhostNeutralDefault:
|
|
567
|
-
colorBgButtonGhostNeutralHover:
|
|
568
|
-
colorBgButtonGhostDestructiveDefault:
|
|
569
|
-
colorBgButtonGhostDestructiveHover:
|
|
570
|
-
colorTextButtonGhostAccent:
|
|
571
|
-
colorTextButtonGhostAccentActive:
|
|
572
|
-
colorTextButtonGhostNeutral:
|
|
573
|
-
colorTextButtonGhostNeutralActive:
|
|
574
|
-
colorTextButtonGhostDestructive:
|
|
575
|
-
colorTextButtonGhostDestructiveActive:
|
|
576
|
-
colorIconButtonGhostAccent:
|
|
577
|
-
colorIconButtonGhostNeutral:
|
|
578
|
-
colorIconButtonGhostDestructive:
|
|
846
|
+
colorBgButtonGhostAccentDefault: transparentAlways,
|
|
847
|
+
colorBgButtonGhostAccentHover: bgBtnGhostAccentHover,
|
|
848
|
+
colorBgButtonGhostNeutralDefault: transparentAlways,
|
|
849
|
+
colorBgButtonGhostNeutralHover: bgBtnGhostNeutralHover,
|
|
850
|
+
colorBgButtonGhostDestructiveDefault: transparentAlways,
|
|
851
|
+
colorBgButtonGhostDestructiveHover: bgBtnGhostDestructiveHover,
|
|
852
|
+
colorTextButtonGhostAccent: fg.accent,
|
|
853
|
+
colorTextButtonGhostAccentActive: fg.accentActive,
|
|
854
|
+
colorTextButtonGhostNeutral: fg.neutral,
|
|
855
|
+
colorTextButtonGhostNeutralActive: fg.neutralActive,
|
|
856
|
+
colorTextButtonGhostDestructive: fg.destructive,
|
|
857
|
+
colorTextButtonGhostDestructiveActive: fg.destructiveActive,
|
|
858
|
+
colorIconButtonGhostAccent: fg.accent,
|
|
859
|
+
colorIconButtonGhostNeutral: fg.neutral,
|
|
860
|
+
colorIconButtonGhostDestructive: fg.destructive,
|
|
579
861
|
// #endregion
|
|
580
862
|
|
|
581
|
-
colorBorderAccentFocusRing:
|
|
582
|
-
colorBorderNeutralFocusRing:
|
|
583
|
-
colorBorderDestructiveFocusRing:
|
|
863
|
+
colorBorderAccentFocusRing: borderFocusRingAccent,
|
|
864
|
+
colorBorderNeutralFocusRing: borderFocusRingNeutral,
|
|
865
|
+
colorBorderDestructiveFocusRing: borderFocusRingDestructive,
|
|
584
866
|
|
|
585
|
-
colorBgReactionsDefault:
|
|
586
|
-
colorBgReactionsHover:
|
|
867
|
+
colorBgReactionsDefault: surface.level0elevated,
|
|
868
|
+
colorBgReactionsHover: surface.level3_6,
|
|
587
869
|
colorBorderReactionsHover: [base[8], baseDark[9]],
|
|
588
870
|
colorBgReactionsSelectedDefault: [accent[3], accentDark[8]],
|
|
589
|
-
colorBorderReactionsSelectedDefault:
|
|
871
|
+
colorBorderReactionsSelectedDefault: borderAccentOrMediumAccent,
|
|
590
872
|
// FIXME: lack of accentDark scale usage
|
|
591
873
|
colorBgReactionsSelectedHover: [accent[2], accent[10]],
|
|
592
874
|
colorBorderReactionsSelectedHover: [accent[9], accent[10]],
|
|
593
875
|
colorTextReactionsSelected: [accent[10], baseDark[12]],
|
|
594
|
-
colorBgToastDefault:
|
|
595
|
-
colorBgDbTabHover:
|
|
596
|
-
colorBgDbTabFocus:
|
|
597
|
-
colorBgTabHover:
|
|
876
|
+
colorBgToastDefault: surface.level1,
|
|
877
|
+
colorBgDbTabHover: surface.level3_4,
|
|
878
|
+
colorBgDbTabFocus: bgTabFocus,
|
|
879
|
+
colorBgTabHover: bgTabHover,
|
|
598
880
|
|
|
599
881
|
// Chat
|
|
600
|
-
colorBgMessageContainer: [
|
|
601
|
-
colorBgMessageContainerHover: [base[
|
|
882
|
+
colorBgMessageContainer: [base[3], baseDark[3]],
|
|
883
|
+
colorBgMessageContainerHover: [base[4], baseDark[4]],
|
|
602
884
|
colorBgEntityAvatarDefault: [accent[1], accentDark[1]],
|
|
603
|
-
colorBgEntityAvatarHover:
|
|
604
|
-
colorTextEntityAvatarDefault:
|
|
605
|
-
colorTextEntityAvatarHover:
|
|
885
|
+
colorBgEntityAvatarHover: viewHighlightBg,
|
|
886
|
+
colorTextEntityAvatarDefault: borderAccentOrMediumAccent,
|
|
887
|
+
colorTextEntityAvatarHover: primary.accent,
|
|
888
|
+
colorBgMessageHighlighted: surface.level0elevated,
|
|
606
889
|
|
|
607
890
|
// Text editor
|
|
608
|
-
colorBgEditorImageZoomed:
|
|
891
|
+
colorBgEditorImageZoomed: surface.level3_6,
|
|
609
892
|
colorMermaidPrimaryColor: [base[2], baseDark[8]],
|
|
610
|
-
colorMermaidPrimaryBorderColor:
|
|
893
|
+
colorMermaidPrimaryBorderColor: fg.muted,
|
|
611
894
|
colorMermaidLineColor: [base[10], baseDark[9]],
|
|
612
895
|
|
|
896
|
+
// Text highlight backgrounds (shifted for warm palette)
|
|
897
|
+
highlightBgYellow: [shift("rgba(250, 240, 185, 1)"), shift("rgba(88, 72, 18, 1)")],
|
|
898
|
+
highlightBgGreen: [shift("rgba(208, 242, 187, 1)"), shift("rgba(50, 88, 51, 1)")],
|
|
899
|
+
highlightBgAquamarine: [shift("rgba(195, 247, 193, 1)"), shift("rgba(15, 75, 52, 1)")],
|
|
900
|
+
highlightBgAqua: [shift("rgba(198, 242, 235, 1)"), shift("rgba(45, 87, 83, 1)")],
|
|
901
|
+
highlightBgBlue: [shift("rgba(208, 235, 250, 1)"), shift("rgba(45, 54, 90, 1)")],
|
|
902
|
+
highlightBgPurple: [shift("rgba(242, 228, 250, 1)"), shift("rgba(82, 50, 82, 1)")],
|
|
903
|
+
highlightBgPink: [shift("rgba(250, 228, 240, 1)"), shift("rgba(108, 50, 85, 1)")],
|
|
904
|
+
highlightBgRed: [shift("rgba(250, 224, 221, 1)"), shift("rgba(95, 44, 49, 1)")],
|
|
905
|
+
highlightBgGrey: [shift("rgba(222, 227, 233, 1)"), shift("rgba(62, 63, 78, 1)")],
|
|
906
|
+
|
|
907
|
+
// Text highlight backgrounds (shifted for warm palette)
|
|
908
|
+
highlightFgYellow: [shift("rgba(195, 155, 45, 1)"), shift("rgba(200, 168, 85, 1)")],
|
|
909
|
+
highlightFgGreen: [shift("rgba(80, 165, 65, 1)"), shift("rgba(88, 172, 78, 1)")],
|
|
910
|
+
highlightFgAquamarine: [shift("rgba(40, 165, 115, 1)"), shift("rgba(52, 172, 128, 1)")],
|
|
911
|
+
highlightFgAqua: [shift("rgba(35, 155, 150, 1)"), shift("rgba(52, 168, 158, 1)")],
|
|
912
|
+
highlightFgBlue: [shift("rgba(55, 125, 205, 1)"), shift("rgba(72, 135, 200, 1)")],
|
|
913
|
+
highlightFgPurple: [shift("rgba(150, 85, 205, 1)"), shift("rgba(155, 90, 200, 1)")],
|
|
914
|
+
highlightFgPink: [shift("rgba(205, 85, 148, 1)"), shift("rgba(200, 90, 152, 1)")],
|
|
915
|
+
highlightFgRed: [shift("rgba(205, 85, 80, 1)"), shift("rgba(200, 90, 85, 1)")],
|
|
916
|
+
highlightFgGrey: [shift("rgba(115, 125, 142, 1)"), shift("rgba(135, 140, 160, 1)")],
|
|
917
|
+
|
|
918
|
+
// Color picker CSS filter (applied as CSS filter property to warm the picker UI)
|
|
919
|
+
colorPickerCssFilter: same(colorPickerCssFilter),
|
|
920
|
+
|
|
613
921
|
//Whiteboard
|
|
614
|
-
colorBgWhiteboard:
|
|
615
|
-
colorGridDotWhiteboard:
|
|
616
|
-
colorSelectionWhiteboardBorderEnabled:
|
|
617
|
-
colorHighlightWhiteboardSelection:
|
|
618
|
-
colorHighlightWhiteboardSelectionLocked:
|
|
619
|
-
colorSelectionWhiteboardBorderDisabled:
|
|
620
|
-
colorPlaceholderWhiteboardDefault: [
|
|
621
|
-
colorLinkPointWhiteboardDefault:
|
|
922
|
+
colorBgWhiteboard: surface.level0,
|
|
923
|
+
colorGridDotWhiteboard: bgTabFocus,
|
|
924
|
+
colorSelectionWhiteboardBorderEnabled: borderAccentOrMediumAccent,
|
|
925
|
+
colorHighlightWhiteboardSelection: borderAccentOrMediumAccent,
|
|
926
|
+
colorHighlightWhiteboardSelectionLocked: textWhiteboardSelectionLockedOrDisabled,
|
|
927
|
+
colorSelectionWhiteboardBorderDisabled: textWhiteboardSelectionLockedOrDisabled,
|
|
928
|
+
colorPlaceholderWhiteboardDefault: [alpha(accent[8], 0.2), alpha(accentDark[8], 0.2)],
|
|
929
|
+
colorLinkPointWhiteboardDefault: borderAccentOrMediumAccent,
|
|
622
930
|
colorLinkPointWhiteboardFillDefault: [white, blackish],
|
|
623
|
-
colorMapWhiteboardPreviewDefault: [
|
|
624
|
-
colorCardWhiteboardShadowDefault: [
|
|
625
|
-
colorCardWhiteboardBgDefault:
|
|
626
|
-
colorCardWhiteboardBorderDefault: [
|
|
627
|
-
colorUnitHeaderWhiteboardDefault: [
|
|
628
|
-
colorUnitWhiteboardBgDefault:
|
|
629
|
-
colorUnitWhiteboardBorderDefault: [
|
|
630
|
-
colorSectionWhiteboardBgInactive:
|
|
631
|
-
colorSectionWhiteboardBorderInactive:
|
|
632
|
-
colorEmbedWhiteboardEditBorder: [
|
|
633
|
-
colorTextWhiteboardDefault:
|
|
634
|
-
colorTextWhiteboardDisabled:
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
`0 0 0 1px ${getOpacities(base[10]).opacity10}, 0 2px 4px -4px ${getOpacities(base[10]).opacity20}`,
|
|
649
|
-
`0 0 0 1px ${getOpacities(baseDark[2]).opacity10}, 0 2px 4px -4px ${getOpacities(baseDark[2]).opacity20}`,
|
|
650
|
-
],
|
|
651
|
-
searchFiltersBg: [base[1], baseDark[2]],
|
|
652
|
-
selectedColorBorder: [getOpacities(base[6]).opacity25, getOpacities(base[6]).opacity25],
|
|
931
|
+
colorMapWhiteboardPreviewDefault: [alpha(accent[8], 0.4), alpha(accentDark[8], 0.4)],
|
|
932
|
+
colorCardWhiteboardShadowDefault: [alpha(base[11], 0.05), alpha(baseDark[11], 0.05)],
|
|
933
|
+
colorCardWhiteboardBgDefault: raised.level3,
|
|
934
|
+
colorCardWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.2)],
|
|
935
|
+
colorUnitHeaderWhiteboardDefault: [alpha(base[12], 0.6), alpha(baseDark[12], 0.6)],
|
|
936
|
+
colorUnitWhiteboardBgDefault: surface.level3_6,
|
|
937
|
+
colorUnitWhiteboardBorderDefault: [alpha(base[12], 0.2), alpha(baseDark[12], 0.25)],
|
|
938
|
+
colorSectionWhiteboardBgInactive: surface.level2,
|
|
939
|
+
colorSectionWhiteboardBorderInactive: bgTabFocus,
|
|
940
|
+
colorEmbedWhiteboardEditBorder: [alpha(teal[8], 0.9), alpha(tealDark[8], 0.9)],
|
|
941
|
+
colorTextWhiteboardDefault: fgMenuEtc,
|
|
942
|
+
colorTextWhiteboardDisabled: fg.muted,
|
|
943
|
+
// FIXME bug?
|
|
944
|
+
// Dark uses baseDark[1] (near-black at 60% opacity) as "accent text" on a dark background.
|
|
945
|
+
// This reads as near-invisible dark text on dark bg.
|
|
946
|
+
// Compare with colorUnitHeaderWhiteboardDefault (L772) which correctly uses baseDark[12] for dark.
|
|
947
|
+
// Likely should be baseDark[12] too.
|
|
948
|
+
colorTextWhiteboardAccent: [alpha(base[12], 0.6), alpha(baseDark[1], 0.6)],
|
|
949
|
+
colorTextWhiteboardInversedDefault: whiteColor,
|
|
950
|
+
instrumentsMenuBg: raised.level2,
|
|
951
|
+
instrumentsMenuShadow: floatingShadows.instrumentsMenu,
|
|
952
|
+
commentBubbleBg: raised.level4,
|
|
953
|
+
commentsPanelShadow: floatingShadows.instrumentsMenu,
|
|
954
|
+
searchFiltersBg: surface.level1_1,
|
|
955
|
+
selectedColorBorder: same(alpha(base[6], 0.25)),
|
|
653
956
|
|
|
654
957
|
// SegmentedControl
|
|
655
|
-
colorBgSegmentedControlDefault:
|
|
656
|
-
colorBgSegmentedControlActive:
|
|
657
|
-
colorBgSegmentedControlHover:
|
|
658
|
-
colorBorderSegmentedControlDefault:
|
|
958
|
+
colorBgSegmentedControlDefault: surface.level3_1,
|
|
959
|
+
colorBgSegmentedControlActive: surface.level1_6,
|
|
960
|
+
colorBgSegmentedControlHover: surface.level5_4,
|
|
961
|
+
colorBorderSegmentedControlDefault: surface.level6_7,
|
|
962
|
+
|
|
963
|
+
// Banner
|
|
964
|
+
colorBgBannerNeutral: bg.neutral3,
|
|
965
|
+
colorBgBannerPrimary: bg.accent3,
|
|
966
|
+
colorBgBannerWarning: bg.warning,
|
|
967
|
+
colorBgBannerError: bg.error,
|
|
968
|
+
colorBgBannerSuccess: bg.success,
|
|
969
|
+
|
|
970
|
+
colorIconBannerNeutral: icon.primary,
|
|
971
|
+
colorIconBannerAccent: icon.accent,
|
|
972
|
+
colorIconBannerWarning: icon.warning,
|
|
973
|
+
colorIconBannerError: icon.error,
|
|
974
|
+
colorIconBannerSuccess: icon.success,
|
|
975
|
+
|
|
976
|
+
colorTextBannerNeutral: text.primary,
|
|
977
|
+
colorTextBannerAccent: text.accent,
|
|
978
|
+
colorTextBannerWarning: text.warning,
|
|
979
|
+
colorTextBannerError: text.error,
|
|
980
|
+
colorTextBannerSuccess: text.success,
|
|
659
981
|
|
|
660
982
|
// Chargebee info
|
|
661
|
-
colorBgChargebeeInfoBox:
|
|
983
|
+
colorBgChargebeeInfoBox: surface.level3_1,
|
|
662
984
|
|
|
663
985
|
// Various found direct palette references
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
colorBgErrorMessage: [red[8], red[8]],
|
|
986
|
+
newCommentHorizontalRulerColor: errorIndicatorColor,
|
|
987
|
+
colorBgErrorMessage: errorIndicatorColor,
|
|
667
988
|
|
|
668
989
|
// Logo/illustration specific colors
|
|
669
|
-
colorBorderLogoGrid:
|
|
670
|
-
colorBorderLogoGridSubtle: [
|
|
671
|
-
colorBorderLogoGridMedium: [
|
|
990
|
+
colorBorderLogoGrid: surface.level4,
|
|
991
|
+
colorBorderLogoGridSubtle: [alpha(base[4], 0.2), baseDark[4]],
|
|
992
|
+
colorBorderLogoGridMedium: [alpha(base[4], 0.4), baseDark[4]],
|
|
672
993
|
colorStrokeLogoDashed: [base[6], baseDark[8]],
|
|
673
|
-
colorBgLogoCardTransparent:
|
|
674
|
-
colorBgLogoCardDark:
|
|
675
|
-
colorBgLogoCardMedium:
|
|
994
|
+
colorBgLogoCardTransparent: surface.level0elevated,
|
|
995
|
+
colorBgLogoCardDark: base8,
|
|
996
|
+
colorBgLogoCardMedium: surface.level4,
|
|
997
|
+
|
|
998
|
+
// Skeleton/loading
|
|
999
|
+
colorBgSkeletonFrom: whiteA5,
|
|
1000
|
+
colorBgSkeletonTo: whiteA10,
|
|
1001
|
+
|
|
1002
|
+
// Inset edge shadows (scroll containers)
|
|
1003
|
+
colorShadowInsetEdge: whiteA5,
|
|
1004
|
+
|
|
1005
|
+
// Shadow border (surface direction for colors-css)
|
|
1006
|
+
colorShadowBorder: whiteA10,
|
|
1007
|
+
|
|
1008
|
+
// Elevation shadows (ink direction)
|
|
1009
|
+
colorShadowElevation: blackA10,
|
|
1010
|
+
colorShadowOutline: [alpha(black, 0.2), alpha(white, 0.2)],
|
|
1011
|
+
|
|
1012
|
+
// Placeholder/fallback
|
|
1013
|
+
colorPlaceholder: whiteA40,
|
|
1014
|
+
colorPlaceholderSubtle: whiteA25,
|
|
1015
|
+
colorBgSubtleLight: whiteA5,
|
|
1016
|
+
colorStrokeSurface: whiteA100,
|
|
1017
|
+
|
|
1018
|
+
// Ink-based tokens (contrast direction)
|
|
1019
|
+
colorTextMilestone: blackA50,
|
|
1020
|
+
colorSpinnerIcon: blackA90,
|
|
1021
|
+
colorSpinnerBg: blackA10,
|
|
1022
|
+
colorBgLaneSubtle: blackA5,
|
|
1023
|
+
|
|
1024
|
+
// Opacities (numeric)
|
|
1025
|
+
opacity15: opacities.subtle,
|
|
1026
|
+
opacity20: opacities.faint,
|
|
1027
|
+
opacity25: same(opacity.opacity25.toString()),
|
|
1028
|
+
opacity30: opacities.weak,
|
|
1029
|
+
opacity40: opacities.drag,
|
|
1030
|
+
opacity50: opacities.muted,
|
|
1031
|
+
opacity60: opacities.done,
|
|
1032
|
+
opacity65: opacities.disabled,
|
|
1033
|
+
opacity70: opacities.visible,
|
|
1034
|
+
opacity75: opacities.disabledHoverOrFocus,
|
|
1035
|
+
opacity80: same(opacity.opacity80.toString()),
|
|
1036
|
+
opacity85: same(opacity.opacity85.toString()),
|
|
1037
|
+
opacity90: same(opacity.opacity90.toString()),
|
|
1038
|
+
|
|
1039
|
+
// Gradient overlays (whiteA direction)
|
|
1040
|
+
whiteA10,
|
|
1041
|
+
whiteA40,
|
|
1042
|
+
whiteA100,
|
|
1043
|
+
|
|
1044
|
+
// File hover overlay (always dark scrim for white text readability)
|
|
1045
|
+
colorBgFileOverlay: same(alpha(black, 0.6)),
|
|
1046
|
+
|
|
1047
|
+
// Scroll fade edges
|
|
1048
|
+
colorBgScrollFade: [alpha(white, 0.15), alpha(black, 0.15)],
|
|
1049
|
+
|
|
1050
|
+
// Date picker selected outline
|
|
1051
|
+
colorStrokeSelectedOutline: [alpha(black, 0.75), alpha(white, 0.75)],
|
|
676
1052
|
|
|
677
1053
|
// Preloader / chrome
|
|
678
|
-
scrollbar: [
|
|
1054
|
+
scrollbar: [alpha(base[9], 0.5), alpha(baseDark[7], 0.5)],
|
|
679
1055
|
} as const satisfies ThemeColorsDef;
|
|
680
1056
|
|
|
1057
|
+
const adaptive = makeAdaptiveBgFg(white, blackish);
|
|
681
1058
|
const fns = {
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
},
|
|
686
|
-
getAppIconBackground: {
|
|
687
|
-
light: (color: string) => a11yColor(getOpacities(color).opacity15, white, 1),
|
|
688
|
-
dark: (color: string) => a11yColor(getOpacities(color).opacity30, blackish, 1.3),
|
|
689
|
-
light2: (color: string) => a11yColor(getOpacities(color).opacity30, blackish, 1.3),
|
|
690
|
-
},
|
|
691
|
-
getIconColor: {
|
|
692
|
-
light: (color: string) => a11yColor(getOpacities(color).opacity95, white, 3),
|
|
693
|
-
dark: (color: string) => a11yColor(getOpacities(color).opacity95, blackish, 5),
|
|
694
|
-
},
|
|
1059
|
+
deneutralize: {light: shift, dark: shift},
|
|
1060
|
+
getEnumBackground: {light: adaptive.bg[0], dark: adaptive.bg[1]},
|
|
1061
|
+
getAppIconBackground: {light: adaptive.bg[0], dark: adaptive.bg[1], light2: adaptive.bg[1]},
|
|
1062
|
+
getIconColor: {light: adaptive.fg[0], dark: adaptive.fg[1]},
|
|
695
1063
|
getLinkedHighlightBackground: {
|
|
696
1064
|
light: (color: string) => produceColor(color, [(c) => setAlpha(c, 0.3), (c) => setLuminanceChroma(c, 0.6)]),
|
|
697
1065
|
dark: (color: string) => produceColor(color, [(c) => setAlpha(c, 0.4), (c) => setLuminanceChroma(c, 0.5)]),
|
|
@@ -703,20 +1071,10 @@ export function makeThemeDefs({
|
|
|
703
1071
|
},
|
|
704
1072
|
} as const satisfies ThemeFnsDef;
|
|
705
1073
|
|
|
706
|
-
return {colors, fns} as const;
|
|
1074
|
+
return {key, colors, fns} as const;
|
|
707
1075
|
}
|
|
708
1076
|
|
|
709
|
-
export type ThemeDefs = ReturnType<typeof
|
|
710
|
-
|
|
711
|
-
type ThemeFns = {
|
|
712
|
-
[K in keyof ThemeDefs["fns"]]: ThemeDefs["fns"][K]["light"];
|
|
713
|
-
};
|
|
714
|
-
|
|
715
|
-
export function pickFns(fns: ThemeFnsDef, mode: ThemeMode) {
|
|
716
|
-
return Object.fromEntries(
|
|
717
|
-
Object.entries(fns).map(([key, modeFns]) => [key, modeFns[mode] ?? modeFns.light])
|
|
718
|
-
) as ThemeFns;
|
|
719
|
-
}
|
|
1077
|
+
export type ThemeDefs = ReturnType<typeof defsFromPalette>;
|
|
720
1078
|
|
|
721
1079
|
type ThemeDefsColors = ThemeDefs["colors"];
|
|
722
1080
|
|
|
@@ -724,36 +1082,34 @@ type GetThemeColors<idx extends number> = {
|
|
|
724
1082
|
[k in keyof ThemeDefsColors]: ThemeDefsColors[k][idx];
|
|
725
1083
|
};
|
|
726
1084
|
|
|
727
|
-
function
|
|
1085
|
+
function colorsByIndex<I extends 0 | 1>(colors: ThemeDefsColors, idx: I): GetThemeColors<I> {
|
|
728
1086
|
type ColorTuple = readonly [unknown, unknown];
|
|
729
1087
|
return Object.fromEntries(
|
|
730
1088
|
(Object.entries(colors) as [string, ColorTuple][]).map(([k, v]) => [k, v[idx]])
|
|
731
1089
|
) as GetThemeColors<I>;
|
|
732
1090
|
}
|
|
733
1091
|
|
|
734
|
-
function
|
|
735
|
-
|
|
1092
|
+
function colorsFromDefs(themeDefs: ThemeDefs, side: ThemeMode) {
|
|
1093
|
+
if (side === "dark") {
|
|
1094
|
+
return colorsByIndex(themeDefs.colors, 1);
|
|
1095
|
+
}
|
|
1096
|
+
if (side === "light2") {
|
|
1097
|
+
return {
|
|
1098
|
+
...colorsByIndex(themeDefs.colors, 0),
|
|
1099
|
+
mode: "light2",
|
|
1100
|
+
} as const;
|
|
1101
|
+
}
|
|
1102
|
+
return colorsByIndex(themeDefs.colors, 0);
|
|
736
1103
|
}
|
|
737
1104
|
|
|
738
|
-
function
|
|
739
|
-
return
|
|
1105
|
+
function fnsFromDefs({fns}: {fns: ThemeFnsDef}, side: ThemeMode) {
|
|
1106
|
+
return Object.fromEntries(Object.entries(fns).map(([key, modeFns]) => [key, modeFns[side] ?? modeFns.light])) as {
|
|
1107
|
+
[K in keyof ThemeDefs["fns"]]: ThemeDefs["fns"][K]["light"];
|
|
1108
|
+
};
|
|
740
1109
|
}
|
|
741
|
-
|
|
742
|
-
function pickLight2Colors(themeDefs: ThemeDefs) {
|
|
1110
|
+
export function sideFromDefs(defs: ThemeDefs, side: ThemeMode) {
|
|
743
1111
|
return {
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
}
|
|
1112
|
+
colors: colorsFromDefs(defs, side),
|
|
1113
|
+
fns: fnsFromDefs(defs, side),
|
|
1114
|
+
};
|
|
747
1115
|
}
|
|
748
|
-
|
|
749
|
-
export function pickColors(themeDefs: ThemeDefs, mode: ThemeMode) {
|
|
750
|
-
if (mode === "dark") {
|
|
751
|
-
return pickDarkColors(themeDefs);
|
|
752
|
-
}
|
|
753
|
-
if (mode === "light2") {
|
|
754
|
-
return pickLight2Colors(themeDefs);
|
|
755
|
-
}
|
|
756
|
-
return pickLightColors(themeDefs);
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
export type Colors = ReturnType<typeof pickColors>;
|