@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
package/src/theme-styles.ts
CHANGED
|
@@ -1,40 +1,53 @@
|
|
|
1
1
|
import {css} from "@linaria/core";
|
|
2
|
-
import {
|
|
2
|
+
import {Styles, stylesFromTheme, Theme, ThemeDefs} from "./design-system";
|
|
3
3
|
import {warmUserPalette} from "./palettes/warm-user";
|
|
4
|
-
import {
|
|
4
|
+
import {neutralUserPalette} from "./palettes/neutral-user";
|
|
5
5
|
import {ThemeMode} from "./theme-settings";
|
|
6
|
+
import {defsFromPalette} from "./design-system/colors";
|
|
7
|
+
import {themeFromDefs} from "./design-system/theme";
|
|
8
|
+
import {ThemePalette} from "./palette-generator";
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
export const defaultLightTheme = getThemeColors(null, "light", defaultPalette);
|
|
9
|
-
export const defaultDarkTheme = getThemeColors(null, "dark", defaultPalette);
|
|
10
|
+
type Pair<T> = readonly [light: T, dark: T];
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function make(palette: ThemePalette): {
|
|
13
|
+
defs: ThemeDefs;
|
|
14
|
+
palette: ThemePalette;
|
|
15
|
+
themes: Pair<Theme>;
|
|
16
|
+
styles: Pair<Styles>;
|
|
17
|
+
} {
|
|
18
|
+
const defs = defsFromPalette(palette);
|
|
19
|
+
const themeLight = themeFromDefs(defs, "light");
|
|
20
|
+
const themeDark = themeFromDefs(defs, "dark");
|
|
21
|
+
return {
|
|
22
|
+
defs,
|
|
23
|
+
palette,
|
|
24
|
+
themes: [themeLight, themeDark],
|
|
25
|
+
styles: [stylesFromTheme(themeLight), stylesFromTheme(themeDark)],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
14
28
|
|
|
15
|
-
|
|
16
|
-
|
|
29
|
+
const neutral = make(neutralUserPalette);
|
|
30
|
+
const warm = make(warmUserPalette);
|
|
17
31
|
|
|
18
|
-
|
|
19
|
-
|
|
32
|
+
export function locateThemeBundle(warmer: boolean) {
|
|
33
|
+
return warmer ? warm : neutral;
|
|
34
|
+
}
|
|
20
35
|
|
|
21
|
-
export function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} else {
|
|
25
|
-
return dark ? [defaultDarkTheme, defaultDarkThemeStyles] : [defaultLightTheme, defaultLightThemeStyles];
|
|
26
|
-
}
|
|
36
|
+
export function locateTheme(warmer: boolean, mode: ThemeMode): Theme {
|
|
37
|
+
const themes = warmer ? warm.themes : neutral.themes;
|
|
38
|
+
return themes[Number(mode === "dark")];
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
const darkClassName = "dark-theme";
|
|
30
42
|
const light2ClassName = "light-theme-and-dark-menu";
|
|
31
43
|
const warmClassName = "warm-palette";
|
|
44
|
+
const warmStickyClassName = "warm-palette-sticky";
|
|
32
45
|
|
|
33
46
|
export function chooseGlobalStyles(themeMode: ThemeMode, warm: boolean) {
|
|
34
47
|
const htmlElement = document.documentElement;
|
|
35
48
|
htmlElement.classList.toggle(darkClassName, themeMode === "dark");
|
|
36
49
|
htmlElement.classList.toggle(light2ClassName, themeMode === "light2");
|
|
37
|
-
htmlElement.classList.toggle(warmClassName, warm);
|
|
50
|
+
htmlElement.classList.toggle(warmClassName, warm || htmlElement.classList.contains(warmStickyClassName));
|
|
38
51
|
|
|
39
52
|
const colorScheme = themeMode === "dark" ? "dark" : "light";
|
|
40
53
|
htmlElement.style.colorScheme = colorScheme;
|
|
@@ -51,15 +64,15 @@ export function chooseGlobalStyles(themeMode: ThemeMode, warm: boolean) {
|
|
|
51
64
|
export const globals = css`
|
|
52
65
|
:global() {
|
|
53
66
|
html:root {
|
|
54
|
-
${
|
|
67
|
+
${neutral.styles[0]}
|
|
55
68
|
&.dark-theme {
|
|
56
|
-
${
|
|
69
|
+
${neutral.styles[1]}
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
&.warm-palette {
|
|
60
|
-
${
|
|
73
|
+
${warm.styles[0]}
|
|
61
74
|
&.dark-theme {
|
|
62
|
-
${
|
|
75
|
+
${warm.styles[1]}
|
|
63
76
|
}
|
|
64
77
|
}
|
|
65
78
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {CSSProperties, ReactNode} from "react";
|
|
2
|
+
import {useTheme} from "./theme-provider";
|
|
3
|
+
|
|
4
|
+
type ThemedInkProps = {
|
|
5
|
+
as?: "span" | "div";
|
|
6
|
+
fg?: string;
|
|
7
|
+
bg?: string;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
className?: string;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const ThemedInk = ({as: Tag = "span", fg, bg, style, ...rest}: ThemedInkProps) => {
|
|
14
|
+
const theme = useTheme();
|
|
15
|
+
const dn = theme.fns.deneutralize;
|
|
16
|
+
return (
|
|
17
|
+
<Tag
|
|
18
|
+
style={{
|
|
19
|
+
...style,
|
|
20
|
+
...(fg && {color: dn(fg)}),
|
|
21
|
+
...(bg && {backgroundColor: dn(bg)}),
|
|
22
|
+
}}
|
|
23
|
+
{...rest}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {css} from "@linaria/core";
|
|
2
2
|
import {Action as RadixToastAction, type ToastActionProps} from "@radix-ui/react-toast";
|
|
3
3
|
import {ElementRef, forwardRef} from "react";
|
|
4
|
-
import {
|
|
4
|
+
import {Button, ButtonProps} from "../button/button";
|
|
5
5
|
import {space} from "../design-system";
|
|
6
6
|
import {makeButtonColors} from "../button/make-button-colors";
|
|
7
7
|
import {useTheme} from "../theme-provider";
|
|
@@ -19,7 +19,7 @@ export const ToastAction = forwardRef<
|
|
|
19
19
|
ButtonProps & {altText: ToastActionProps["altText"]}
|
|
20
20
|
>(({children, altText, ...props}, ref) => {
|
|
21
21
|
const theme = useTheme();
|
|
22
|
-
const buttonColors = theme.mode === "dark" ? makeButtonColors(theme.textColor, "outline", theme) : {};
|
|
22
|
+
const buttonColors = theme.mode === "dark" ? makeButtonColors(theme.colors.textColor, "outline", theme) : {};
|
|
23
23
|
return (
|
|
24
24
|
<RadixToastAction className={toastActionCss} ref={ref} altText={altText} asChild>
|
|
25
25
|
<Button style={buttonColors} variant="outline" color="neutral" {...props}>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {ComponentRef, forwardRef} from "react";
|
|
2
2
|
import {ToggleButton, ToggleButtonProps} from "./toggle-button";
|
|
3
3
|
import {css, cx} from "@linaria/core";
|
|
4
|
+
import {border} from "../design-system";
|
|
4
5
|
|
|
5
6
|
const roundToggleButtonCss = css`
|
|
6
7
|
&:is(&) {
|
|
7
|
-
border-radius:
|
|
8
|
+
border-radius: ${border.radiusFull};
|
|
8
9
|
width: 28px;
|
|
9
10
|
height: 28px;
|
|
10
11
|
padding: 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {css, cx} from "@linaria/core";
|
|
1
|
+
import {css, cx, CSSProperties} from "@linaria/core";
|
|
2
2
|
import {Toggle, ToggleProps} from "@radix-ui/react-toggle";
|
|
3
3
|
import {forwardRef} from "react";
|
|
4
|
-
import {border, space, textStyles, themeVars} from "../design-system";
|
|
4
|
+
import {border, transitionDuration, space, textStyles, themeVars} from "../design-system";
|
|
5
5
|
import {iconColorVar, iconSizeVar} from "../icons/Icon";
|
|
6
6
|
|
|
7
7
|
export const toggleButtonCss = css`
|
|
@@ -16,17 +16,17 @@ export const toggleButtonCss = css`
|
|
|
16
16
|
border-radius: ${border.radius8}px;
|
|
17
17
|
|
|
18
18
|
transition-property: border, background-color, color, opacity, box-shadow;
|
|
19
|
-
transition-duration:
|
|
19
|
+
transition-duration: ${transitionDuration.fast};
|
|
20
20
|
|
|
21
|
-
color:
|
|
22
|
-
${iconColorVar}:
|
|
21
|
+
color: var(--fibery-toggle-button-default-text-color);
|
|
22
|
+
${iconColorVar}: var(--fibery-toggle-button-default-icon-color);
|
|
23
23
|
|
|
24
|
-
border: 1.5px solid
|
|
25
|
-
background-color:
|
|
24
|
+
border: 1.5px solid var(--fibery-toggle-button-default-border-color);
|
|
25
|
+
background-color: var(--fibery-toggle-button-default-color);
|
|
26
26
|
|
|
27
27
|
&[aria-readonly="true"] {
|
|
28
|
-
background-color:
|
|
29
|
-
border-color:
|
|
28
|
+
background-color: var(--fibery-toggle-button-default-hover-color);
|
|
29
|
+
border-color: var(--fibery-toggle-button-default-hover-color);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
cursor: pointer;
|
|
@@ -59,19 +59,11 @@ export const toggleButtonCss = css`
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
&:not(:disabled, [aria-readonly="true"]) {
|
|
62
|
-
&:hover
|
|
63
|
-
background-color: ${themeVars.colorBgReactionsHover};
|
|
64
|
-
border-color: ${themeVars.colorBorderReactionsHover};
|
|
65
|
-
}
|
|
66
|
-
|
|
62
|
+
&:hover,
|
|
67
63
|
&:is(:active, [aria-expanded="true"]) {
|
|
68
|
-
background-color:
|
|
69
|
-
border-color:
|
|
70
|
-
|
|
71
|
-
&:is([aria-pressed="true"], [aria-checked="true"]) {
|
|
72
|
-
background-color: ${themeVars.colorBgReactionsSelectedHover};
|
|
73
|
-
border-color: ${themeVars.colorBorderReactionsSelectedHover};
|
|
74
|
-
}
|
|
64
|
+
background-color: var(--fibery-toggle-button-default-hover-color);
|
|
65
|
+
border-color: var(--fibery-toggle-button-default-border-color);
|
|
66
|
+
color: var(--fibery-toggle-button-default-hover-text-color);
|
|
75
67
|
}
|
|
76
68
|
}
|
|
77
69
|
|
|
@@ -85,30 +77,27 @@ export const toggleButtonCss = css`
|
|
|
85
77
|
}
|
|
86
78
|
|
|
87
79
|
&:focus-visible {
|
|
88
|
-
background-color:
|
|
89
|
-
outline: 2px solid
|
|
80
|
+
background-color: var(--fibery-toggle-button-default-hover-color);
|
|
81
|
+
outline: 2px solid var(--fibery-toggle-button-default-border-color);
|
|
90
82
|
}
|
|
91
83
|
|
|
92
84
|
&:is([aria-pressed="true"], [aria-checked="true"]) {
|
|
93
|
-
color:
|
|
94
|
-
${iconColorVar}:
|
|
95
|
-
background-color:
|
|
96
|
-
border-color:
|
|
85
|
+
color: var(--fibery-toggle-button-pressed-text-color);
|
|
86
|
+
${iconColorVar}: var(--fibery-toggle-button-pressed-icon-color);
|
|
87
|
+
background-color: var(--fibery-toggle-button-pressed-color);
|
|
88
|
+
border-color: var(--fibery-toggle-button-pressed-border-color);
|
|
97
89
|
|
|
98
90
|
&[aria-readonly="true"] {
|
|
99
|
-
background-color:
|
|
100
|
-
border-color:
|
|
91
|
+
background-color: var(--fibery-toggle-button-pressed-color);
|
|
92
|
+
border-color: var(--fibery-toggle-button-pressed-color);
|
|
101
93
|
}
|
|
102
94
|
|
|
103
95
|
&:not(:disabled, [aria-readonly="true"]) {
|
|
104
|
-
&:hover
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
&:active {
|
|
110
|
-
background-color: ${themeVars.colorBgReactionsSelectedDefault};
|
|
111
|
-
border-color: ${themeVars.colorBorderReactionsSelectedHover};
|
|
96
|
+
&:hover,
|
|
97
|
+
&:is(:active, [aria-expanded="true"]) {
|
|
98
|
+
background-color: var(--fibery-toggle-button-pressed-hover-color);
|
|
99
|
+
border-color: var(--fibery-toggle-button-pressed-hover-border-color);
|
|
100
|
+
color: var(--fibery-toggle-button-pressed-hover-text-color);
|
|
112
101
|
}
|
|
113
102
|
}
|
|
114
103
|
}
|
|
@@ -125,7 +114,7 @@ export const toggleButtonContent = css`
|
|
|
125
114
|
height: 100%;
|
|
126
115
|
|
|
127
116
|
transition-property: opacity;
|
|
128
|
-
transition-duration:
|
|
117
|
+
transition-duration: ${transitionDuration.fast};
|
|
129
118
|
|
|
130
119
|
.${toggleButtonCss}:is(:active, [aria-expanded="true"]) > & {
|
|
131
120
|
opacity: 0.8;
|
|
@@ -138,6 +127,26 @@ export const toggleButtonContent = css`
|
|
|
138
127
|
overflow: hidden;
|
|
139
128
|
`;
|
|
140
129
|
|
|
130
|
+
const getColors = (): CSSProperties => {
|
|
131
|
+
return {
|
|
132
|
+
"--fibery-toggle-button-default-color": themeVars.colorBgReactionsDefault,
|
|
133
|
+
"--fibery-toggle-button-default-text-color": themeVars.colorTextButtonGhostNeutral,
|
|
134
|
+
"--fibery-toggle-button-default-icon-color": themeVars.colorIconButtonGhostNeutral,
|
|
135
|
+
"--fibery-toggle-button-default-border-color": themeVars.colorBorderReactionsHover,
|
|
136
|
+
"--fibery-toggle-button-default-hover-color": themeVars.colorBgReactionsHover,
|
|
137
|
+
"--fibery-toggle-button-default-hover-text-color": themeVars.colorTextButtonGhostNeutral,
|
|
138
|
+
"--fibery-toggle-button-default-hover-border-color": themeVars.colorBorderReactionsHover,
|
|
139
|
+
|
|
140
|
+
"--fibery-toggle-button-pressed-color": themeVars.colorBgReactionsSelectedDefault,
|
|
141
|
+
"--fibery-toggle-button-pressed-text-color": themeVars.colorTextReactionsSelected,
|
|
142
|
+
"--fibery-toggle-button-pressed-icon-color": themeVars.colorIconButtonGhostAccent,
|
|
143
|
+
"--fibery-toggle-button-pressed-border-color": themeVars.colorBorderReactionsSelectedDefault,
|
|
144
|
+
"--fibery-toggle-button-pressed-hover-color": themeVars.colorBgReactionsSelectedHover,
|
|
145
|
+
"--fibery-toggle-button-pressed-hover-text-color": themeVars.colorTextReactionsSelected,
|
|
146
|
+
"--fibery-toggle-button-pressed-hover-border-color": themeVars.colorBorderReactionsSelectedHover,
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
|
|
141
150
|
export type ToggleButtonVariant = "outline";
|
|
142
151
|
export type ToggleButtonSize = "small" | "medium" | "large";
|
|
143
152
|
|
|
@@ -156,14 +165,18 @@ export const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>(
|
|
|
156
165
|
size = "small",
|
|
157
166
|
variant = "outline",
|
|
158
167
|
children,
|
|
168
|
+
style,
|
|
159
169
|
"aria-readonly": ariaReadonly,
|
|
160
170
|
readOnly = ariaReadonly,
|
|
161
171
|
...props
|
|
162
172
|
},
|
|
163
173
|
ref
|
|
164
174
|
): JSX.Element => {
|
|
175
|
+
const colors = getColors();
|
|
176
|
+
|
|
165
177
|
return (
|
|
166
178
|
<Toggle
|
|
179
|
+
style={{...colors, ...style}}
|
|
167
180
|
ref={ref}
|
|
168
181
|
className={cx(toggleButtonCss, iconStart && toggleButtonCssWithIconStart, className)}
|
|
169
182
|
data-variant={variant}
|
package/src/toggle-on-off.tsx
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {ComponentProps, FC, useMemo} from "react";
|
|
2
2
|
import {isValidColor} from "./color-utils";
|
|
3
|
-
import {
|
|
3
|
+
import {Theme} from "./design-system";
|
|
4
4
|
import {useTheme} from "./theme-provider";
|
|
5
5
|
import {Toggle} from "./toggle";
|
|
6
6
|
import {useIsPhone} from "./use-is-phone";
|
|
7
7
|
|
|
8
|
-
const getBackgroundColors = (accentColor: string | undefined, theme:
|
|
8
|
+
const getBackgroundColors = (accentColor: string | undefined, theme: Theme) => {
|
|
9
9
|
return accentColor && isValidColor(accentColor)
|
|
10
10
|
? {
|
|
11
11
|
enabledColor: accentColor,
|
|
12
|
-
disabledColor: theme.colorBgButtonSoftNeutralHover,
|
|
12
|
+
disabledColor: theme.colors.colorBgButtonSoftNeutralHover,
|
|
13
13
|
}
|
|
14
14
|
: {
|
|
15
|
-
enabledColor: theme.colorBgButtonSolidAccentDefault,
|
|
16
|
-
disabledColor: theme.colorBgButtonSoftNeutralHover,
|
|
15
|
+
enabledColor: theme.colors.colorBgButtonSolidAccentDefault,
|
|
16
|
+
disabledColor: theme.colors.colorBgButtonSoftNeutralHover,
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -41,5 +41,5 @@ interface ReduxFormToggleOnOffProps extends ToggleOnOffProps {
|
|
|
41
41
|
|
|
42
42
|
export const ReduxFormToggleOnOff: FC<ReduxFormToggleOnOffProps> = ({input, ...rest}) => {
|
|
43
43
|
const theme = useTheme();
|
|
44
|
-
return <ToggleOnOff color={theme.
|
|
44
|
+
return <ToggleOnOff color={theme.colors.colorAccent} {...input} {...rest} />;
|
|
45
45
|
};
|
|
@@ -21,11 +21,11 @@ export const useTruncated = () => {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
export const TooltipIfOverflown: React.FC<
|
|
24
|
-
Omit<TooltipProps, "children"> & {children: (args: {setNode: SetNode}) => JSX.Element | null}
|
|
25
|
-
> = ({children, ...tooltipProps}) => {
|
|
24
|
+
Omit<TooltipProps, "children"> & {force?: boolean; children: (args: {setNode: SetNode}) => JSX.Element | null}
|
|
25
|
+
> = ({force, children, ...tooltipProps}) => {
|
|
26
26
|
const {truncated, setNode} = useTruncated();
|
|
27
27
|
return (
|
|
28
|
-
<Tooltip {...tooltipProps} disabled={!truncated}>
|
|
28
|
+
<Tooltip {...tooltipProps} disabled={!truncated && !force}>
|
|
29
29
|
{children({setNode})}
|
|
30
30
|
</Tooltip>
|
|
31
31
|
);
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import {flattenTree, mutateTree, TreeData} from "./tree-utils";
|
|
2
|
+
|
|
3
|
+
const makeTree = (): TreeData => ({
|
|
4
|
+
rootId: "root",
|
|
5
|
+
items: {
|
|
6
|
+
root: {id: "root", children: ["a", "b"]},
|
|
7
|
+
a: {id: "a", children: ["a1", "a2"], isExpanded: false},
|
|
8
|
+
a1: {id: "a1", children: []},
|
|
9
|
+
a2: {id: "a2", children: []},
|
|
10
|
+
b: {id: "b", children: [], isExpanded: false},
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
describe("flattenTree", () => {
|
|
15
|
+
it("returns empty array when rootId is missing from items", () => {
|
|
16
|
+
const tree: TreeData = {rootId: "missing", items: {}};
|
|
17
|
+
expect(flattenTree(tree)).toEqual([]);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("returns top-level children with correct paths", () => {
|
|
21
|
+
const tree = makeTree();
|
|
22
|
+
const result = flattenTree(tree);
|
|
23
|
+
|
|
24
|
+
expect(result).toHaveLength(2);
|
|
25
|
+
expect(result[0].item.id).toBe("a");
|
|
26
|
+
expect(result[0].path).toEqual([0]);
|
|
27
|
+
expect(result[1].item.id).toBe("b");
|
|
28
|
+
expect(result[1].path).toEqual([1]);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("does not include children of collapsed nodes", () => {
|
|
32
|
+
const tree = makeTree();
|
|
33
|
+
const result = flattenTree(tree);
|
|
34
|
+
|
|
35
|
+
const ids = result.map((r) => r.item.id);
|
|
36
|
+
expect(ids).not.toContain("a1");
|
|
37
|
+
expect(ids).not.toContain("a2");
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("includes children of expanded nodes", () => {
|
|
41
|
+
const tree = makeTree();
|
|
42
|
+
tree.items["a"] = {...tree.items["a"], isExpanded: true};
|
|
43
|
+
|
|
44
|
+
const result = flattenTree(tree);
|
|
45
|
+
const ids = result.map((r) => r.item.id);
|
|
46
|
+
|
|
47
|
+
expect(ids).toEqual(["a", "a1", "a2", "b"]);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("assigns correct nested paths for expanded children", () => {
|
|
51
|
+
const tree = makeTree();
|
|
52
|
+
tree.items["a"] = {...tree.items["a"], isExpanded: true};
|
|
53
|
+
|
|
54
|
+
const result = flattenTree(tree);
|
|
55
|
+
|
|
56
|
+
expect(result[1].item.id).toBe("a1");
|
|
57
|
+
expect(result[1].path).toEqual([0, 0]);
|
|
58
|
+
expect(result[2].item.id).toBe("a2");
|
|
59
|
+
expect(result[2].path).toEqual([0, 1]);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("handles multiple levels of expansion", () => {
|
|
63
|
+
const tree: TreeData = {
|
|
64
|
+
rootId: "root",
|
|
65
|
+
items: {
|
|
66
|
+
root: {id: "root", children: ["a"]},
|
|
67
|
+
a: {id: "a", children: ["a1"], isExpanded: true},
|
|
68
|
+
a1: {id: "a1", children: ["a1a"], isExpanded: true},
|
|
69
|
+
a1a: {id: "a1a", children: []},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const result = flattenTree(tree);
|
|
74
|
+
expect(result.map((r) => r.item.id)).toEqual(["a", "a1", "a1a"]);
|
|
75
|
+
expect(result[2].path).toEqual([0, 0, 0]);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("returns empty array when root has no children", () => {
|
|
79
|
+
const tree: TreeData = {
|
|
80
|
+
rootId: "root",
|
|
81
|
+
items: {root: {id: "root", children: []}},
|
|
82
|
+
};
|
|
83
|
+
expect(flattenTree(tree)).toEqual([]);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("preserves original path prefix when called with initial path", () => {
|
|
87
|
+
const tree: TreeData = {
|
|
88
|
+
rootId: "root",
|
|
89
|
+
items: {
|
|
90
|
+
root: {id: "root", children: ["a"]},
|
|
91
|
+
a: {id: "a", children: []},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const result = flattenTree(tree, [5, 3]);
|
|
96
|
+
expect(result[0].path).toEqual([5, 3, 0]);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
describe("mutateTree", () => {
|
|
101
|
+
it("returns the same tree reference when itemId is not found", () => {
|
|
102
|
+
const tree = makeTree();
|
|
103
|
+
const result = mutateTree(tree, "nonexistent", {isExpanded: true});
|
|
104
|
+
expect(result).toBe(tree);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it("preserves rootId", () => {
|
|
108
|
+
const tree = makeTree();
|
|
109
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
110
|
+
expect(result.rootId).toBe(tree.rootId);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it("applies mutation to the target item", () => {
|
|
114
|
+
const tree = makeTree();
|
|
115
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
116
|
+
expect(result.items["a"].isExpanded).toBe(true);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it("does not mutate the original tree", () => {
|
|
120
|
+
const tree = makeTree();
|
|
121
|
+
mutateTree(tree, "a", {isExpanded: true});
|
|
122
|
+
expect(tree.items["a"].isExpanded).toBe(false);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it("does not change other items references", () => {
|
|
126
|
+
const tree = makeTree();
|
|
127
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
128
|
+
expect(result.items["b"]).toBe(tree.items["b"]);
|
|
129
|
+
expect(result.items["a1"]).toBe(tree.items["a1"]);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it("merges partial mutation fields", () => {
|
|
133
|
+
const tree = makeTree();
|
|
134
|
+
tree.items["a"] = {...tree.items["a"], hasChildren: true, isExpanded: false};
|
|
135
|
+
|
|
136
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
137
|
+
expect(result.items["a"].hasChildren).toBe(true);
|
|
138
|
+
expect(result.items["a"].isExpanded).toBe(true);
|
|
139
|
+
expect(result.items["a"].children).toEqual(["a1", "a2"]);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
it("can update children array", () => {
|
|
143
|
+
const tree = makeTree();
|
|
144
|
+
const result = mutateTree(tree, "b", {children: ["new-child"]});
|
|
145
|
+
expect(result.items["b"].children).toEqual(["new-child"]);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it("can update data field", () => {
|
|
149
|
+
const tree = makeTree();
|
|
150
|
+
const data = {name: "Node A"};
|
|
151
|
+
const result = mutateTree(tree, "a", {data});
|
|
152
|
+
expect(result.items["a"].data).toBe(data);
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
it("returns a new items object reference", () => {
|
|
156
|
+
const tree = makeTree();
|
|
157
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
158
|
+
expect(result.items).not.toBe(tree.items);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
it("returns a new item object reference for the mutated item", () => {
|
|
162
|
+
const tree = makeTree();
|
|
163
|
+
const result = mutateTree(tree, "a", {isExpanded: true});
|
|
164
|
+
expect(result.items["a"]).not.toBe(tree.items["a"]);
|
|
165
|
+
});
|
|
166
|
+
});
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {$TSFixMe} from "./tsfixme";
|
|
2
|
+
|
|
3
|
+
export type ItemId = string | number;
|
|
4
|
+
export interface TreeData {
|
|
5
|
+
rootId: ItemId;
|
|
6
|
+
items: Record<ItemId, TreeItem>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type TreeItemData = $TSFixMe;
|
|
10
|
+
export type TreeItem = {
|
|
11
|
+
id: ItemId;
|
|
12
|
+
children: ItemId[];
|
|
13
|
+
hasChildren?: boolean;
|
|
14
|
+
isExpanded?: boolean;
|
|
15
|
+
isChildrenLoading?: boolean;
|
|
16
|
+
data?: TreeItemData;
|
|
17
|
+
};
|
|
18
|
+
export type FlattenedTree = FlattenedItem[];
|
|
19
|
+
export type Path = number[];
|
|
20
|
+
export type FlattenedItem = {
|
|
21
|
+
item: TreeItem;
|
|
22
|
+
path: Path;
|
|
23
|
+
};
|
|
24
|
+
export type TreeSourcePosition = {
|
|
25
|
+
parentId: ItemId;
|
|
26
|
+
index: number;
|
|
27
|
+
};
|
|
28
|
+
export type TreeDestinationPosition = {
|
|
29
|
+
parentId: ItemId;
|
|
30
|
+
index?: number;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type TreeItemMutation = {
|
|
34
|
+
id?: ItemId;
|
|
35
|
+
children?: ItemId[];
|
|
36
|
+
hasChildren?: boolean;
|
|
37
|
+
isExpanded?: boolean;
|
|
38
|
+
isChildrenLoading?: boolean;
|
|
39
|
+
data?: TreeItemData;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
Transforms tree structure into flat list of items for rendering purposes.
|
|
44
|
+
We recursively go through all the elements and its children first on each level
|
|
45
|
+
*/
|
|
46
|
+
export const flattenTree = (tree: TreeData, path: Path = []): FlattenedTree =>
|
|
47
|
+
tree.items[tree.rootId]
|
|
48
|
+
? tree.items[tree.rootId].children.reduce<FlattenedTree>((accum, itemId, index) => {
|
|
49
|
+
// iterating through all the children on the given level
|
|
50
|
+
const item = tree.items[itemId];
|
|
51
|
+
const currentPath = [...path, index]; // we create a flattened item for the current item
|
|
52
|
+
|
|
53
|
+
const currentItem = createFlattenedItem(item, currentPath); // we flatten its children
|
|
54
|
+
|
|
55
|
+
const children = flattenChildren(tree, item, currentPath); // append to the accumulator
|
|
56
|
+
|
|
57
|
+
return [...accum, currentItem, ...children];
|
|
58
|
+
}, [])
|
|
59
|
+
: [];
|
|
60
|
+
/*
|
|
61
|
+
Constructs a new FlattenedItem
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
const createFlattenedItem = (item: TreeItem, currentPath: Path) => {
|
|
65
|
+
return {
|
|
66
|
+
item,
|
|
67
|
+
path: currentPath,
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
/*
|
|
71
|
+
Flatten the children of the given subtree
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
const flattenChildren = (tree: TreeData, item: TreeItem, currentPath: Path) => {
|
|
75
|
+
return item.isExpanded
|
|
76
|
+
? flattenTree(
|
|
77
|
+
{
|
|
78
|
+
rootId: item.id,
|
|
79
|
+
items: tree.items,
|
|
80
|
+
},
|
|
81
|
+
currentPath
|
|
82
|
+
)
|
|
83
|
+
: [];
|
|
84
|
+
};
|
|
85
|
+
/*
|
|
86
|
+
Changes the tree data structure with minimal reference changes.
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
export const mutateTree = (tree: TreeData, itemId: ItemId, mutation: TreeItemMutation) => {
|
|
90
|
+
const itemToChange = tree.items[itemId];
|
|
91
|
+
|
|
92
|
+
if (!itemToChange) {
|
|
93
|
+
// Item not found
|
|
94
|
+
return tree;
|
|
95
|
+
} // Returning a clone of the tree structure and overwriting the field coming in mutation
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
// rootId should not change
|
|
99
|
+
rootId: tree.rootId,
|
|
100
|
+
items: {
|
|
101
|
+
// copy all old items
|
|
102
|
+
...tree.items,
|
|
103
|
+
// overwriting only the item being changed
|
|
104
|
+
[itemId]: {...itemToChange, ...mutation},
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
};
|
package/src/type-badge-box.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {makeAbbreviation} from "./type-badge";
|
|
2
2
|
import {css, cx} from "@linaria/core";
|
|
3
|
-
import {space} from "./design-system";
|
|
3
|
+
import {space, themeVars} from "./design-system";
|
|
4
4
|
import {ReactNode} from "react";
|
|
5
5
|
|
|
6
6
|
type Props = {
|
|
@@ -32,7 +32,7 @@ export const TypeBadgeBox = ({width, height, typeObject, children, className}: P
|
|
|
32
32
|
abbr.length > 1 &&
|
|
33
33
|
css`
|
|
34
34
|
& > div {
|
|
35
|
-
mask-image: linear-gradient(90deg,
|
|
35
|
+
mask-image: linear-gradient(90deg, ${themeVars.whiteA100} 60%, ${themeVars.whiteA40});
|
|
36
36
|
}
|
|
37
37
|
`,
|
|
38
38
|
className
|