@fibery/ui-kit 2.0.1 → 2.1.1
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 +14 -0
- package/{eslint.config.mjs → esfint.config.mjs} +1 -1
- package/package.json +15 -9
- package/scripts/generate-icons.mjs +42 -34
- package/src/@types/react-color.d.ts +36 -0
- package/src/a11y-color.test.ts +62 -55
- package/src/a11y-color.ts +40 -37
- package/src/actions-menu/actions-menu-item.tsx +1 -1
- package/src/actions-menu/actions-menu.tsx +3 -3
- package/src/ai/model.tsx +1 -1
- package/src/ai/temperature.tsx +1 -1
- package/src/animated-height-container.tsx +2 -2
- package/src/antd/{AutoComplete.js → AutoComplete.ts} +1 -1
- package/src/antd/{Tabs.js → Tabs.tsx} +7 -4
- package/src/antd/ant-upload.tsx +4 -4
- package/src/antd/input-number.tsx +2 -2
- package/src/antd/input.tsx +2 -2
- package/src/antd/styles.ts +8 -8
- package/src/antd/utils.tsx +12 -23
- package/src/app-icon-with-fallback.tsx +31 -8
- package/src/app-icon.tsx +21 -8
- package/src/avatar.tsx +8 -5
- package/src/axis-header.tsx +2 -2
- package/src/banner/banner-action.tsx +23 -0
- package/src/banner/banner-context.tsx +4 -0
- package/src/banner/banner-variant.ts +1 -0
- package/src/banner/banner.tsx +101 -0
- package/src/box.tsx +3 -1
- package/src/breadcrumb.tsx +14 -11
- package/src/button/base-button.tsx +2 -2
- package/src/button/make-button-colors.ts +2 -2
- package/src/canvas-colors.ts +133 -0
- package/src/card-container.tsx +1 -1
- package/src/checkbox-multi-select.tsx +4 -4
- package/src/checkbox.tsx +21 -9
- package/src/color-filter.test.ts +114 -0
- package/src/color-filter.ts +125 -0
- package/src/color-picker/{ColorPickerOrLoader.js → ColorPickerOrLoader.tsx} +2 -2
- package/src/color-picker/{SliderPointer.js → SliderPointer.tsx} +3 -2
- package/src/color-picker/{index.js → index.tsx} +37 -8
- package/src/color-picker/swatch.tsx +5 -4
- package/src/color-utils.test.ts +246 -116
- package/src/color-utils.ts +150 -144
- package/src/command-menu/index.tsx +1 -1
- package/src/date-picker/autocomplete.tsx +1 -0
- package/src/date-picker/date-range-picker-popup-content.tsx +1 -1
- package/src/date-picker/date-range-picker.tsx +1 -1
- package/src/date-picker/fake-date-input.tsx +10 -4
- package/src/date-picker/relative-date-picker.tsx +32 -3
- package/src/date-picker/single-date-picker.tsx +13 -3
- package/src/date-picker/styles.ts +12 -12
- package/src/date-picker/types.ts +2 -0
- package/src/design-system/alpha.ts +0 -15
- package/src/design-system/animation.ts +24 -5
- package/src/design-system/colors-css.ts +20 -4
- package/src/design-system/colors-js.test.ts +167 -153
- package/src/design-system/colors-js.ts +30 -85
- package/src/design-system/colors.test.ts +5 -5
- package/src/design-system/colors.ts +700 -404
- package/src/design-system/def.ts +17 -0
- package/src/design-system/layout.ts +1 -0
- package/src/design-system/theme.test.ts +13 -68
- package/src/design-system/theme.ts +28 -76
- package/src/design-system/types.ts +102 -0
- package/src/design-system/vars.test.ts +71 -1681
- package/src/design-system/vars.ts +45 -29
- package/src/design-system.ts +13 -5
- package/src/dnd.tsx +1 -1
- package/src/{utils-dom.ts → dom-utils.ts} +19 -0
- package/src/dot.tsx +2 -2
- package/src/emoji-picker/app-icon-picker.tsx +2 -1
- package/src/emoji-picker/emoji-picker-content-with-color.tsx +7 -4
- package/src/emoji-picker/emoji-picker.tsx +3 -0
- package/src/emoji-picker/icon-emoji-picker.tsx +1 -1
- package/src/emoji-picker/primitives/emoji.tsx +3 -2
- package/src/favorites-icon.tsx +1 -1
- package/src/fibermoji-placeholder.tsx +6 -1
- package/src/file-item/add-query-param.ts +13 -0
- package/src/file-item/file-menu-items.tsx +2 -1
- package/src/file-item/file-preview-actions.tsx +14 -2
- package/src/file-item.tsx +5 -5
- package/src/flags.ts +3 -0
- package/src/header-layout.tsx +9 -2
- package/src/heat.ts +8 -0
- package/src/highlight-colors.test.ts +68 -0
- package/src/highlight-colors.ts +91 -0
- package/src/html-styles.ts +3 -3
- package/src/hue-shift.test.ts +17 -4
- package/src/icons/Icon.tsx +5 -2
- package/src/icons/ast/Abort.ts +8 -4
- package/src/icons/ast/AccessTemplate.ts +8 -4
- package/src/icons/ast/Activity.ts +8 -4
- package/src/icons/ast/ActivityFilled.ts +8 -4
- package/src/icons/ast/ActivityLog.ts +8 -4
- package/src/icons/ast/Add.ts +8 -4
- package/src/icons/ast/AddAfter.ts +8 -4
- package/src/icons/ast/AddBefore.ts +8 -4
- package/src/icons/ast/AddCompact.ts +8 -4
- package/src/icons/ast/AddDatabase.ts +8 -4
- package/src/icons/ast/AddGroup.ts +8 -4
- package/src/icons/ast/AddIntegration.ts +8 -4
- package/src/icons/ast/AddReactions.ts +8 -4
- package/src/icons/ast/AiAssistant.ts +8 -4
- package/src/icons/ast/AiAssistantFilled.ts +8 -4
- package/src/icons/ast/AiAvatar.ts +8 -4
- package/src/icons/ast/AiFiberyBuild.ts +8 -4
- package/src/icons/ast/AiSearch.ts +8 -4
- package/src/icons/ast/AlertTriangle.ts +8 -4
- package/src/icons/ast/Anthropic.ts +8 -4
- package/src/icons/ast/App.ts +8 -4
- package/src/icons/ast/AppDetails.ts +8 -4
- package/src/icons/ast/AppStore.ts +8 -4
- package/src/icons/ast/AppStoreOneColor.ts +8 -4
- package/src/icons/ast/AppTemplates.ts +8 -4
- package/src/icons/ast/AppWebhooks.ts +8 -4
- package/src/icons/ast/AppWiki.ts +8 -4
- package/src/icons/ast/AppearanceAuto.ts +8 -4
- package/src/icons/ast/AppearanceDark.ts +8 -4
- package/src/icons/ast/AppearanceLight.ts +8 -4
- package/src/icons/ast/Apple.ts +8 -4
- package/src/icons/ast/ArrowBarDown.ts +12 -0
- package/src/icons/ast/ArrowBarLeft.ts +8 -4
- package/src/icons/ast/ArrowBarRight.ts +8 -4
- package/src/icons/ast/ArrowBarUp.ts +12 -0
- package/src/icons/ast/ArrowBottom.ts +8 -4
- package/src/icons/ast/ArrowCollapse.ts +8 -4
- package/src/icons/ast/ArrowCollapseVertical.ts +8 -4
- package/src/icons/ast/ArrowForward.ts +8 -4
- package/src/icons/ast/ArrowLeft.ts +8 -4
- package/src/icons/ast/ArrowRight.ts +8 -4
- package/src/icons/ast/ArrowTop.ts +8 -4
- package/src/icons/ast/ArrowUpCircle.ts +8 -4
- package/src/icons/ast/ArrowsRightLeft.ts +8 -4
- package/src/icons/ast/AskForInput.ts +8 -4
- package/src/icons/ast/Asterisk.ts +8 -4
- package/src/icons/ast/Atom.ts +8 -4
- package/src/icons/ast/AutomationsCancelled.ts +8 -4
- package/src/icons/ast/AutomationsDisabled.ts +8 -4
- package/src/icons/ast/AutomationsError.ts +8 -4
- package/src/icons/ast/AutomationsInProgress.ts +8 -4
- package/src/icons/ast/AutomationsNotStarted.ts +8 -4
- package/src/icons/ast/AutomationsSuccess.ts +8 -4
- package/src/icons/ast/Back.ts +8 -4
- package/src/icons/ast/BacklogIcon.ts +8 -4
- package/src/icons/ast/BatchActionsIcon.ts +8 -4
- package/src/icons/ast/BellCircle.ts +8 -4
- package/src/icons/ast/BellFilled.ts +8 -4
- package/src/icons/ast/BellOff.ts +8 -4
- package/src/icons/ast/BellRinging.ts +8 -4
- package/src/icons/ast/BellX.ts +8 -4
- package/src/icons/ast/Bolt.ts +8 -4
- package/src/icons/ast/BringForward.ts +8 -4
- package/src/icons/ast/BringToFront.ts +8 -4
- package/src/icons/ast/Cards.ts +8 -4
- package/src/icons/ast/Chat.ts +8 -4
- package/src/icons/ast/ChatAi.ts +8 -4
- package/src/icons/ast/ChatBubble.ts +8 -4
- package/src/icons/ast/ChatFloat.ts +8 -4
- package/src/icons/ast/ChatSidebar.ts +8 -4
- package/src/icons/ast/CheckCircle.ts +8 -4
- package/src/icons/ast/CheckCircleFilled.ts +8 -4
- package/src/icons/ast/Checked.ts +8 -4
- package/src/icons/ast/Clean.ts +8 -4
- package/src/icons/ast/Clear.ts +8 -4
- package/src/icons/ast/ClearInputFilled.ts +8 -4
- package/src/icons/ast/ClearValue.ts +8 -4
- package/src/icons/ast/Clock.ts +8 -4
- package/src/icons/ast/ClockAlarm.ts +8 -4
- package/src/icons/ast/ClockForward.ts +8 -4
- package/src/icons/ast/Close.ts +8 -4
- package/src/icons/ast/CollapseAll.ts +8 -4
- package/src/icons/ast/CollapseAllHorizontal.ts +8 -4
- package/src/icons/ast/ColorCoding.ts +8 -4
- package/src/icons/ast/ColorCodingFilled.ts +8 -4
- package/src/icons/ast/Columns.ts +8 -4
- package/src/icons/ast/Columns2.ts +8 -4
- package/src/icons/ast/Columns4.ts +8 -4
- package/src/icons/ast/CommentBubble.ts +8 -4
- package/src/icons/ast/Copy.ts +8 -4
- package/src/icons/ast/Create.ts +8 -4
- package/src/icons/ast/CreditsFilled.ts +8 -4
- package/src/icons/ast/CrossCircle.ts +8 -4
- package/src/icons/ast/Crosshair.ts +8 -4
- package/src/icons/ast/Csv.ts +8 -4
- package/src/icons/ast/Database.ts +8 -4
- package/src/icons/ast/DatabaseOff.ts +8 -4
- package/src/icons/ast/DatabaseStroke.ts +8 -4
- package/src/icons/ast/DateRange.ts +8 -4
- package/src/icons/ast/Delete.ts +8 -4
- package/src/icons/ast/Demo.ts +8 -4
- package/src/icons/ast/Dependency.ts +8 -4
- package/src/icons/ast/Dividers.ts +8 -4
- package/src/icons/ast/Document.ts +8 -4
- package/src/icons/ast/DoubleArrowLeft.ts +8 -4
- package/src/icons/ast/DoubleArrowRight.ts +8 -4
- package/src/icons/ast/DoubleLine.ts +8 -4
- package/src/icons/ast/DragBlockHandle.ts +8 -4
- package/src/icons/ast/DragBlockHandleSingle.ts +8 -4
- package/src/icons/ast/DragHandle.ts +8 -4
- package/src/icons/ast/Duplicate.ts +8 -4
- package/src/icons/ast/DynamicFilterValue.ts +8 -4
- package/src/icons/ast/EditValue.ts +8 -4
- package/src/icons/ast/Email.ts +8 -4
- package/src/icons/ast/EmojiDelete.ts +8 -4
- package/src/icons/ast/EntityCreate.ts +8 -4
- package/src/icons/ast/EntityCreateFilled.ts +8 -4
- package/src/icons/ast/EntityMerge.ts +8 -4
- package/src/icons/ast/Equation.ts +8 -4
- package/src/icons/ast/ExpandAll.ts +8 -4
- package/src/icons/ast/ExpandAllHorizontal.ts +8 -4
- package/src/icons/ast/Export.ts +8 -4
- package/src/icons/ast/ExtensionAssignments.ts +8 -4
- package/src/icons/ast/ExtensionAvatar.ts +8 -4
- package/src/icons/ast/ExtensionComments.ts +8 -4
- package/src/icons/ast/ExtensionFiles.ts +8 -4
- package/src/icons/ast/ExtensionReferences.ts +8 -4
- package/src/icons/ast/ExtensionWorkflow.ts +8 -4
- package/src/icons/ast/Eye.ts +8 -4
- package/src/icons/ast/Favorites.ts +8 -4
- package/src/icons/ast/FavoritesChecked.ts +8 -4
- package/src/icons/ast/FavoritesOff.ts +8 -4
- package/src/icons/ast/FiberyDesktopApp.ts +8 -4
- package/src/icons/ast/FiberyMono.ts +8 -4
- package/src/icons/ast/FieldUnit.ts +8 -4
- package/src/icons/ast/Fields.ts +8 -4
- package/src/icons/ast/Figma.ts +8 -4
- package/src/icons/ast/FileArchive.ts +8 -4
- package/src/icons/ast/FileBroken.ts +8 -4
- package/src/icons/ast/FileCounter.ts +8 -4
- package/src/icons/ast/FileDocument.ts +8 -4
- package/src/icons/ast/FileDownload.ts +8 -4
- package/src/icons/ast/FileImage.ts +8 -4
- package/src/icons/ast/FileMultiple.ts +8 -4
- package/src/icons/ast/FileOther.ts +8 -4
- package/src/icons/ast/FilePresentation.ts +8 -4
- package/src/icons/ast/FileTable.ts +8 -4
- package/src/icons/ast/FileUpload.ts +8 -4
- package/src/icons/ast/FileVideo.ts +8 -4
- package/src/icons/ast/Filter.ts +8 -4
- package/src/icons/ast/FitToScreen.ts +8 -4
- package/src/icons/ast/FocusMode.ts +8 -4
- package/src/icons/ast/FocusModeOff.ts +8 -4
- package/src/icons/ast/Folder.ts +8 -4
- package/src/icons/ast/FolderFavorite.ts +12 -0
- package/src/icons/ast/FormWithCover.ts +8 -4
- package/src/icons/ast/FormWithoutCover.ts +8 -4
- package/src/icons/ast/FullscreenModeOffIcon.ts +8 -4
- package/src/icons/ast/FullscreenModeOn.ts +8 -4
- package/src/icons/ast/FullscreenModeOnIcon.ts +8 -4
- package/src/icons/ast/Gift.ts +8 -4
- package/src/icons/ast/Github.ts +8 -4
- package/src/icons/ast/Gitlab.ts +8 -4
- package/src/icons/ast/Globe.ts +8 -4
- package/src/icons/ast/GlobeSimple.ts +8 -4
- package/src/icons/ast/GlobeUnpublish.ts +8 -4
- package/src/icons/ast/GoTo.ts +8 -4
- package/src/icons/ast/GoogleDrive.ts +8 -4
- package/src/icons/ast/GoogleMap.ts +8 -4
- package/src/icons/ast/GraduationCapFilled.ts +8 -4
- package/src/icons/ast/Headphones.ts +8 -4
- package/src/icons/ast/HeadphonesAi.ts +8 -4
- package/src/icons/ast/Hide.ts +8 -4
- package/src/icons/ast/Highlights.ts +8 -4
- package/src/icons/ast/Hint.ts +8 -4
- package/src/icons/ast/Home.ts +8 -4
- package/src/icons/ast/HomeFilled.ts +8 -4
- package/src/icons/ast/ImageXmark.ts +8 -4
- package/src/icons/ast/Import.ts +8 -4
- package/src/icons/ast/ImportFilled.ts +8 -4
- package/src/icons/ast/InfoCircle.ts +8 -4
- package/src/icons/ast/InfoCircleFilled.ts +8 -4
- package/src/icons/ast/Integration.ts +8 -4
- package/src/icons/ast/IntegrationsFilled.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationDiscourseColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationIntercomColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationSlackColor.ts +8 -4
- package/src/icons/ast/IntegrationsIntegrationZendeskColor.ts +8 -4
- package/src/icons/ast/Intercom.ts +12 -0
- package/src/icons/ast/InvitePeople.ts +8 -4
- package/src/icons/ast/Items.ts +8 -4
- package/src/icons/ast/ItemsTimeline.ts +8 -4
- package/src/icons/ast/Jira.ts +8 -4
- package/src/icons/ast/Key.ts +8 -4
- package/src/icons/ast/KeyboardHideDown.ts +8 -4
- package/src/icons/ast/Lab.ts +8 -4
- package/src/icons/ast/LayoutDouble.ts +8 -4
- package/src/icons/ast/LayoutMultiple.ts +8 -4
- package/src/icons/ast/LayoutSingle.ts +8 -4
- package/src/icons/ast/LeftPanel.ts +8 -4
- package/src/icons/ast/LevelPlus.ts +8 -4
- package/src/icons/ast/Levels.ts +8 -4
- package/src/icons/ast/LineDivider.ts +8 -4
- package/src/icons/ast/LineJump.ts +8 -4
- package/src/icons/ast/Link.ts +8 -4
- package/src/icons/ast/LocationEdit.ts +8 -4
- package/src/icons/ast/Lock.ts +8 -4
- package/src/icons/ast/LockOutline.ts +8 -4
- package/src/icons/ast/Logout.ts +8 -4
- package/src/icons/ast/Loom.ts +8 -4
- package/src/icons/ast/LoupeZoom.ts +8 -4
- package/src/icons/ast/LoupeZoomIn.ts +8 -4
- package/src/icons/ast/LoupeZoomOut.ts +8 -4
- package/src/icons/ast/ManyPeople.ts +8 -4
- package/src/icons/ast/MapMode.ts +8 -4
- package/src/icons/ast/Markdown.ts +8 -4
- package/src/icons/ast/MenuCollapser.ts +8 -4
- package/src/icons/ast/Mermaid.ts +8 -4
- package/src/icons/ast/MessagePlus.ts +8 -4
- package/src/icons/ast/MessagePlusSquare.ts +8 -4
- package/src/icons/ast/Milestones.ts +8 -4
- package/src/icons/ast/Minus.ts +8 -4
- package/src/icons/ast/Miro.ts +8 -4
- package/src/icons/ast/MirrorOff.ts +8 -4
- package/src/icons/ast/MirrorOn.ts +8 -4
- package/src/icons/ast/Mixpanel.ts +8 -4
- package/src/icons/ast/Monitor.ts +8 -4
- package/src/icons/ast/More.ts +8 -4
- package/src/icons/ast/MoreCompact.ts +8 -4
- package/src/icons/ast/MoveBottom.ts +8 -4
- package/src/icons/ast/MoveLeft.ts +8 -4
- package/src/icons/ast/MoveRight.ts +8 -4
- package/src/icons/ast/MoveSpace.ts +8 -4
- package/src/icons/ast/MoveTop.ts +8 -4
- package/src/icons/ast/Network.ts +8 -4
- package/src/icons/ast/NetworkAdd.ts +8 -4
- package/src/icons/ast/NoBorder.ts +8 -4
- package/src/icons/ast/NoFill.ts +8 -4
- package/src/icons/ast/Notifications.ts +8 -4
- package/src/icons/ast/ObjChild.ts +8 -4
- package/src/icons/ast/ObjM2M.ts +8 -4
- package/src/icons/ast/ObjO2O.ts +8 -4
- package/src/icons/ast/ObjParent.ts +8 -4
- package/src/icons/ast/ObjSelf.ts +8 -4
- package/src/icons/ast/OnSchedule.ts +8 -4
- package/src/icons/ast/OpenAi.ts +8 -4
- package/src/icons/ast/OpenAsPage.ts +8 -4
- package/src/icons/ast/PageRegularMode.ts +8 -4
- package/src/icons/ast/PageWideMode.ts +8 -4
- package/src/icons/ast/PanelAdd.ts +8 -4
- package/src/icons/ast/Pencil.ts +8 -4
- package/src/icons/ast/People.ts +8 -4
- package/src/icons/ast/PeopleCheck.ts +8 -4
- package/src/icons/ast/Photo.ts +8 -4
- package/src/icons/ast/Pin.ts +8 -4
- package/src/icons/ast/PinFilled.ts +8 -4
- package/src/icons/ast/Popup.ts +8 -4
- package/src/icons/ast/Posts.ts +8 -4
- package/src/icons/ast/PresentPlay.ts +8 -4
- package/src/icons/ast/PresentStop.ts +8 -4
- package/src/icons/ast/Print.ts +8 -4
- package/src/icons/ast/PrivateItems.ts +8 -4
- package/src/icons/ast/Question.ts +8 -4
- package/src/icons/ast/QuickFilter.ts +8 -4
- package/src/icons/ast/QuickFilterPersonal.ts +8 -4
- package/src/icons/ast/ReadOnly.ts +8 -4
- package/src/icons/ast/Refresh.ts +8 -4
- package/src/icons/ast/Remove.ts +8 -4
- package/src/icons/ast/RemovePeople.ts +8 -4
- package/src/icons/ast/Reply.ts +8 -4
- package/src/icons/ast/ResetPassword.ts +8 -4
- package/src/icons/ast/Restore.ts +8 -4
- package/src/icons/ast/RicheditorActionsMore.ts +8 -4
- package/src/icons/ast/RicheditorBlockCallout.ts +8 -4
- package/src/icons/ast/RicheditorBlockCode.ts +8 -4
- package/src/icons/ast/RicheditorBlockEmbed.ts +8 -4
- package/src/icons/ast/RicheditorBlockEntity.ts +8 -4
- package/src/icons/ast/RicheditorBlockFile.ts +8 -4
- package/src/icons/ast/RicheditorBlockH1.ts +8 -4
- package/src/icons/ast/RicheditorBlockH2.ts +8 -4
- package/src/icons/ast/RicheditorBlockH3.ts +8 -4
- package/src/icons/ast/RicheditorBlockH4.ts +8 -4
- package/src/icons/ast/RicheditorBlockMention.ts +8 -4
- package/src/icons/ast/RicheditorBlockParagraph.ts +8 -4
- package/src/icons/ast/RicheditorBlockQuote.ts +8 -4
- package/src/icons/ast/RicheditorChecklistCreate.ts +8 -4
- package/src/icons/ast/RicheditorCommentCreate.ts +8 -4
- package/src/icons/ast/RicheditorEntityLinkCreate.ts +8 -4
- package/src/icons/ast/RicheditorHistoryRedo.ts +8 -4
- package/src/icons/ast/RicheditorHistoryUndo.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignCenter.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignLeft.ts +8 -4
- package/src/icons/ast/RicheditorImageAlignRight.ts +8 -4
- package/src/icons/ast/RicheditorImageUpload.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapCenter.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapLeft.ts +8 -4
- package/src/icons/ast/RicheditorImageWrapRight.ts +8 -4
- package/src/icons/ast/RicheditorImageZoom.ts +8 -4
- package/src/icons/ast/RicheditorLinkCreate.ts +8 -4
- package/src/icons/ast/RicheditorLinkedhighlightCreate.ts +8 -4
- package/src/icons/ast/RicheditorListBullet.ts +8 -4
- package/src/icons/ast/RicheditorListIndent.ts +8 -4
- package/src/icons/ast/RicheditorListOrdered.ts +8 -4
- package/src/icons/ast/RicheditorListUnindent.ts +8 -4
- package/src/icons/ast/RicheditorMarkCode.ts +8 -4
- package/src/icons/ast/RicheditorMarkEm.ts +8 -4
- package/src/icons/ast/RicheditorMarkHighlight.ts +8 -4
- package/src/icons/ast/RicheditorMarkStrike.ts +8 -4
- package/src/icons/ast/RicheditorMarkStrong.ts +8 -4
- package/src/icons/ast/RicheditorMarkTextBackgroundColor.ts +8 -4
- package/src/icons/ast/RicheditorMarkUnderline.ts +8 -4
- package/src/icons/ast/RicheditorOpenLink.ts +8 -4
- package/src/icons/ast/RicheditorTableCreate.ts +8 -4
- package/src/icons/ast/RicheditorUnlink.ts +8 -4
- package/src/icons/ast/RicheditorVideoUpload.ts +8 -4
- package/src/icons/ast/RightPanel.ts +8 -4
- package/src/icons/ast/Rows.ts +8 -4
- package/src/icons/ast/RuleScheduled.ts +8 -4
- package/src/icons/ast/Search.ts +8 -4
- package/src/icons/ast/SearchAdd.ts +8 -4
- package/src/icons/ast/SearchFilled.ts +8 -4
- package/src/icons/ast/SearchRemove.ts +8 -4
- package/src/icons/ast/SelfReferenceOff.ts +8 -4
- package/src/icons/ast/SelfReferenceOn.ts +8 -4
- package/src/icons/ast/SendArrow.ts +8 -4
- package/src/icons/ast/SendBackward.ts +8 -4
- package/src/icons/ast/SendToBack.ts +8 -4
- package/src/icons/ast/Settings.ts +8 -4
- package/src/icons/ast/SettingsFilled.ts +8 -4
- package/src/icons/ast/SettingsOff.ts +8 -4
- package/src/icons/ast/Share.ts +8 -4
- package/src/icons/ast/Shared.ts +8 -4
- package/src/icons/ast/ShieldKeyhole.ts +8 -4
- package/src/icons/ast/ShowAuthor.ts +8 -4
- package/src/icons/ast/Sidebar.ts +8 -4
- package/src/icons/ast/SidebarFields.ts +8 -4
- package/src/icons/ast/SidebarFieldsOpened.ts +8 -4
- package/src/icons/ast/SimpleCompass.ts +8 -4
- package/src/icons/ast/Slack.ts +8 -4
- package/src/icons/ast/SlackIcon.ts +8 -4
- package/src/icons/ast/SlideMenu.ts +8 -4
- package/src/icons/ast/SlideMenuClose.ts +8 -4
- package/src/icons/ast/SlideMenuFilled.ts +8 -4
- package/src/icons/ast/SlideMenuOpen.ts +8 -4
- package/src/icons/ast/SmartFolder.ts +8 -4
- package/src/icons/ast/Sort.ts +8 -4
- package/src/icons/ast/SortOnBottom.ts +8 -4
- package/src/icons/ast/SortOnTop.ts +8 -4
- package/src/icons/ast/SpaceApp.ts +8 -4
- package/src/icons/ast/SpaceGenerate.ts +8 -4
- package/src/icons/ast/SpaceList.ts +8 -4
- package/src/icons/ast/SpaceScratch.ts +8 -4
- package/src/icons/ast/SpaceTemplate.ts +8 -4
- package/src/icons/ast/Spinner.ts +8 -4
- package/src/icons/ast/Success.ts +8 -4
- package/src/icons/ast/SuggestIntegration.ts +8 -4
- package/src/icons/ast/SwitchToMention.ts +8 -4
- package/src/icons/ast/SwitchToText.ts +8 -4
- package/src/icons/ast/SwitchToWidget.ts +8 -4
- package/src/icons/ast/TableLayout.ts +8 -4
- package/src/icons/ast/Template.ts +8 -4
- package/src/icons/ast/Templates.ts +8 -4
- package/src/icons/ast/TemplatesFilled.ts +8 -4
- package/src/icons/ast/Terminal.ts +8 -4
- package/src/icons/ast/TextNoWrap.ts +8 -4
- package/src/icons/ast/TextToolAlignBottom.ts +8 -4
- package/src/icons/ast/TextToolAlignMiddle.ts +8 -4
- package/src/icons/ast/TextToolAlignTop.ts +8 -4
- package/src/icons/ast/TextWrap.ts +8 -4
- package/src/icons/ast/ThumbsDown.ts +8 -4
- package/src/icons/ast/ThumbsUp.ts +8 -4
- package/src/icons/ast/Toc.ts +12 -0
- package/src/icons/ast/Twitter.ts +8 -4
- package/src/icons/ast/TypeBoolean.ts +8 -4
- package/src/icons/ast/TypeButton.ts +8 -4
- package/src/icons/ast/TypeCheckbox.ts +8 -4
- package/src/icons/ast/TypeDate.ts +8 -4
- package/src/icons/ast/TypeEmail.ts +8 -4
- package/src/icons/ast/TypeEmoji.ts +8 -4
- package/src/icons/ast/TypeFormula.ts +8 -4
- package/src/icons/ast/TypeFunction.ts +8 -4
- package/src/icons/ast/TypeId.ts +8 -4
- package/src/icons/ast/TypeLocation.ts +8 -4
- package/src/icons/ast/TypeLookup.ts +8 -4
- package/src/icons/ast/TypeMoney.ts +8 -4
- package/src/icons/ast/TypeMultiSelect.ts +8 -4
- package/src/icons/ast/TypeNumber.ts +8 -4
- package/src/icons/ast/TypePercent.ts +8 -4
- package/src/icons/ast/TypePhone.ts +8 -4
- package/src/icons/ast/TypeRelation.ts +8 -4
- package/src/icons/ast/TypeRichText.ts +8 -4
- package/src/icons/ast/TypeRule.ts +8 -4
- package/src/icons/ast/TypeSingleSelect.ts +8 -4
- package/src/icons/ast/TypeText.ts +8 -4
- package/src/icons/ast/TypeUrl.ts +8 -4
- package/src/icons/ast/UnitsAvatar.ts +8 -4
- package/src/icons/ast/UnitsCollection.ts +8 -4
- package/src/icons/ast/UnitsCounter.ts +8 -4
- package/src/icons/ast/UnitsDate.ts +8 -4
- package/src/icons/ast/UnitsDbBadgeAbbr.ts +8 -4
- package/src/icons/ast/UnitsDbBadgeFull.ts +8 -4
- package/src/icons/ast/UnitsDbIcon.ts +8 -4
- package/src/icons/ast/UnitsField.ts +8 -4
- package/src/icons/ast/UnitsFieldIconButton.ts +8 -4
- package/src/icons/ast/UnitsInput.ts +8 -4
- package/src/icons/ast/UnitsProgressBar.ts +8 -4
- package/src/icons/ast/UnitsRichText.ts +8 -4
- package/src/icons/ast/UnitsSnippet.ts +8 -4
- package/src/icons/ast/Unlink.ts +8 -4
- package/src/icons/ast/UnlockFilled.ts +8 -4
- package/src/icons/ast/UnlockOutline.ts +8 -4
- package/src/icons/ast/Upgrade.ts +8 -4
- package/src/icons/ast/UsbFlashDrive.ts +8 -4
- package/src/icons/ast/UserCheck.ts +8 -4
- package/src/icons/ast/UserGroup.ts +8 -4
- package/src/icons/ast/UserGroupRemove.ts +8 -4
- package/src/icons/ast/UserRole.ts +8 -4
- package/src/icons/ast/UserX.ts +8 -4
- package/src/icons/ast/ValueEdit.ts +8 -4
- package/src/icons/ast/ViewAi.ts +8 -4
- package/src/icons/ast/ViewBoard.ts +8 -4
- package/src/icons/ast/ViewCalendar.ts +8 -4
- package/src/icons/ast/ViewCanvas.ts +8 -4
- package/src/icons/ast/ViewChart.ts +8 -4
- package/src/icons/ast/ViewDashboard.ts +8 -4
- package/src/icons/ast/ViewDetails.ts +8 -4
- package/src/icons/ast/ViewDocument.ts +8 -4
- package/src/icons/ast/ViewEmbed.ts +12 -0
- package/src/icons/ast/ViewFeed.ts +8 -4
- package/src/icons/ast/ViewForm.ts +8 -4
- package/src/icons/ast/ViewGallery.ts +8 -4
- package/src/icons/ast/ViewGantt.ts +8 -4
- package/src/icons/ast/ViewList.ts +8 -4
- package/src/icons/ast/ViewMap.ts +8 -4
- package/src/icons/ast/ViewPage.ts +8 -4
- package/src/icons/ast/ViewTable.ts +8 -4
- package/src/icons/ast/ViewTimeline.ts +8 -4
- package/src/icons/ast/Views.ts +8 -4
- package/src/icons/ast/Warning.ts +8 -4
- package/src/icons/ast/WarningTriangle.ts +8 -4
- package/src/icons/ast/WarningTriangleFilled.ts +8 -4
- package/src/icons/ast/Webhooks.ts +12 -0
- package/src/icons/ast/Windows.ts +8 -4
- package/src/icons/ast/WorkspaceMap.ts +8 -4
- package/src/icons/ast/Youtube.ts +8 -4
- package/src/icons/ast/ZoomIn.ts +8 -4
- package/src/icons/ast/ZoomOut.ts +8 -4
- package/src/icons/ast/index.tsx +453 -441
- package/src/icons/react/Abort.tsx +10 -5
- package/src/icons/react/AccessTemplate.tsx +10 -5
- package/src/icons/react/Activity.tsx +10 -5
- package/src/icons/react/ActivityFilled.tsx +10 -5
- package/src/icons/react/ActivityLog.tsx +10 -5
- package/src/icons/react/Add.tsx +10 -5
- package/src/icons/react/AddAfter.tsx +10 -5
- package/src/icons/react/AddBefore.tsx +10 -5
- package/src/icons/react/AddCompact.tsx +10 -5
- package/src/icons/react/AddDatabase.tsx +10 -5
- package/src/icons/react/AddGroup.tsx +10 -5
- package/src/icons/react/AddIntegration.tsx +10 -5
- package/src/icons/react/AddReactions.tsx +10 -5
- package/src/icons/react/AiAssistant.tsx +10 -5
- package/src/icons/react/AiAssistantFilled.tsx +10 -5
- package/src/icons/react/AiAvatar.tsx +10 -5
- package/src/icons/react/AiFiberyBuild.tsx +10 -5
- package/src/icons/react/AiSearch.tsx +10 -5
- package/src/icons/react/AlertTriangle.tsx +10 -5
- package/src/icons/react/Anthropic.tsx +10 -5
- package/src/icons/react/App.tsx +10 -5
- package/src/icons/react/AppDetails.tsx +10 -5
- package/src/icons/react/AppStore.tsx +10 -5
- package/src/icons/react/AppStoreOneColor.tsx +10 -5
- package/src/icons/react/AppTemplates.tsx +10 -5
- package/src/icons/react/AppWebhooks.tsx +10 -5
- package/src/icons/react/AppWiki.tsx +10 -5
- package/src/icons/react/AppearanceAuto.tsx +10 -5
- package/src/icons/react/AppearanceDark.tsx +10 -5
- package/src/icons/react/AppearanceLight.tsx +10 -5
- package/src/icons/react/Apple.tsx +10 -5
- package/src/icons/react/ArrowBarDown.tsx +18 -0
- package/src/icons/react/ArrowBarLeft.tsx +10 -5
- package/src/icons/react/ArrowBarRight.tsx +10 -5
- package/src/icons/react/ArrowBarUp.tsx +18 -0
- package/src/icons/react/ArrowBottom.tsx +10 -5
- package/src/icons/react/ArrowCollapse.tsx +10 -5
- package/src/icons/react/ArrowCollapseVertical.tsx +10 -5
- package/src/icons/react/ArrowForward.tsx +10 -5
- package/src/icons/react/ArrowLeft.tsx +10 -5
- package/src/icons/react/ArrowRight.tsx +10 -5
- package/src/icons/react/ArrowTop.tsx +10 -5
- package/src/icons/react/ArrowUpCircle.tsx +10 -5
- package/src/icons/react/ArrowsRightLeft.tsx +10 -5
- package/src/icons/react/AskForInput.tsx +10 -5
- package/src/icons/react/Asterisk.tsx +10 -5
- package/src/icons/react/Atom.tsx +10 -5
- package/src/icons/react/AutomationsCancelled.tsx +10 -5
- package/src/icons/react/AutomationsDisabled.tsx +10 -5
- package/src/icons/react/AutomationsError.tsx +10 -5
- package/src/icons/react/AutomationsInProgress.tsx +10 -5
- package/src/icons/react/AutomationsNotStarted.tsx +10 -5
- package/src/icons/react/AutomationsSuccess.tsx +10 -5
- package/src/icons/react/Back.tsx +10 -5
- package/src/icons/react/BacklogIcon.tsx +10 -5
- package/src/icons/react/BatchActionsIcon.tsx +10 -5
- package/src/icons/react/BellCircle.tsx +10 -5
- package/src/icons/react/BellFilled.tsx +10 -5
- package/src/icons/react/BellOff.tsx +10 -5
- package/src/icons/react/BellRinging.tsx +10 -5
- package/src/icons/react/BellX.tsx +10 -5
- package/src/icons/react/Bolt.tsx +10 -5
- package/src/icons/react/BringForward.tsx +10 -5
- package/src/icons/react/BringToFront.tsx +10 -5
- package/src/icons/react/Cards.tsx +10 -5
- package/src/icons/react/Chat.tsx +10 -5
- package/src/icons/react/ChatAi.tsx +10 -5
- package/src/icons/react/ChatBubble.tsx +10 -5
- package/src/icons/react/ChatFloat.tsx +10 -5
- package/src/icons/react/ChatSidebar.tsx +10 -5
- package/src/icons/react/CheckCircle.tsx +10 -5
- package/src/icons/react/CheckCircleFilled.tsx +10 -5
- package/src/icons/react/Checked.tsx +10 -5
- package/src/icons/react/Clean.tsx +10 -5
- package/src/icons/react/Clear.tsx +10 -5
- package/src/icons/react/ClearInputFilled.tsx +10 -5
- package/src/icons/react/ClearValue.tsx +10 -5
- package/src/icons/react/Clock.tsx +10 -5
- package/src/icons/react/ClockAlarm.tsx +10 -5
- package/src/icons/react/ClockForward.tsx +10 -5
- package/src/icons/react/Close.tsx +10 -5
- package/src/icons/react/CollapseAll.tsx +10 -5
- package/src/icons/react/CollapseAllHorizontal.tsx +10 -5
- package/src/icons/react/ColorCoding.tsx +10 -5
- package/src/icons/react/ColorCodingFilled.tsx +10 -5
- package/src/icons/react/Columns.tsx +10 -5
- package/src/icons/react/Columns2.tsx +10 -5
- package/src/icons/react/Columns4.tsx +10 -5
- package/src/icons/react/CommentBubble.tsx +10 -5
- package/src/icons/react/Copy.tsx +10 -5
- package/src/icons/react/Create.tsx +10 -5
- package/src/icons/react/CreditsFilled.tsx +10 -5
- package/src/icons/react/CrossCircle.tsx +10 -5
- package/src/icons/react/Crosshair.tsx +10 -5
- package/src/icons/react/Csv.tsx +10 -5
- package/src/icons/react/Database.tsx +10 -5
- package/src/icons/react/DatabaseOff.tsx +10 -5
- package/src/icons/react/DatabaseStroke.tsx +10 -5
- package/src/icons/react/DateRange.tsx +10 -5
- package/src/icons/react/Delete.tsx +10 -5
- package/src/icons/react/Demo.tsx +10 -5
- package/src/icons/react/Dependency.tsx +10 -5
- package/src/icons/react/Dividers.tsx +10 -5
- package/src/icons/react/Document.tsx +10 -5
- package/src/icons/react/DoubleArrowLeft.tsx +10 -5
- package/src/icons/react/DoubleArrowRight.tsx +10 -5
- package/src/icons/react/DoubleLine.tsx +10 -5
- package/src/icons/react/DragBlockHandle.tsx +10 -5
- package/src/icons/react/DragBlockHandleSingle.tsx +10 -5
- package/src/icons/react/DragHandle.tsx +10 -5
- package/src/icons/react/Duplicate.tsx +10 -5
- package/src/icons/react/DynamicFilterValue.tsx +10 -5
- package/src/icons/react/EditValue.tsx +10 -5
- package/src/icons/react/Email.tsx +10 -5
- package/src/icons/react/EmojiDelete.tsx +10 -5
- package/src/icons/react/EntityCreate.tsx +10 -5
- package/src/icons/react/EntityCreateFilled.tsx +10 -5
- package/src/icons/react/EntityMerge.tsx +10 -5
- package/src/icons/react/Equation.tsx +10 -5
- package/src/icons/react/ExpandAll.tsx +10 -5
- package/src/icons/react/ExpandAllHorizontal.tsx +10 -5
- package/src/icons/react/Export.tsx +10 -5
- package/src/icons/react/ExtensionAssignments.tsx +10 -5
- package/src/icons/react/ExtensionAvatar.tsx +10 -5
- package/src/icons/react/ExtensionComments.tsx +10 -5
- package/src/icons/react/ExtensionFiles.tsx +10 -5
- package/src/icons/react/ExtensionReferences.tsx +10 -5
- package/src/icons/react/ExtensionWorkflow.tsx +10 -5
- package/src/icons/react/Eye.tsx +10 -5
- package/src/icons/react/Favorites.tsx +10 -5
- package/src/icons/react/FavoritesChecked.tsx +10 -5
- package/src/icons/react/FavoritesOff.tsx +10 -5
- package/src/icons/react/FiberyDesktopApp.tsx +10 -5
- package/src/icons/react/FiberyMono.tsx +10 -5
- package/src/icons/react/FieldUnit.tsx +10 -5
- package/src/icons/react/Fields.tsx +10 -5
- package/src/icons/react/Figma.tsx +10 -5
- package/src/icons/react/FileArchive.tsx +10 -5
- package/src/icons/react/FileBroken.tsx +10 -5
- package/src/icons/react/FileCounter.tsx +10 -5
- package/src/icons/react/FileDocument.tsx +10 -5
- package/src/icons/react/FileDownload.tsx +10 -5
- package/src/icons/react/FileImage.tsx +10 -5
- package/src/icons/react/FileMultiple.tsx +10 -5
- package/src/icons/react/FileOther.tsx +10 -5
- package/src/icons/react/FilePresentation.tsx +10 -5
- package/src/icons/react/FileTable.tsx +10 -5
- package/src/icons/react/FileUpload.tsx +10 -5
- package/src/icons/react/FileVideo.tsx +10 -5
- package/src/icons/react/Filter.tsx +10 -5
- package/src/icons/react/FitToScreen.tsx +10 -5
- package/src/icons/react/FocusMode.tsx +10 -5
- package/src/icons/react/FocusModeOff.tsx +10 -5
- package/src/icons/react/Folder.tsx +10 -5
- package/src/icons/react/FolderFavorite.tsx +18 -0
- package/src/icons/react/FormWithCover.tsx +10 -5
- package/src/icons/react/FormWithoutCover.tsx +10 -5
- package/src/icons/react/FullscreenModeOffIcon.tsx +10 -5
- package/src/icons/react/FullscreenModeOn.tsx +10 -5
- package/src/icons/react/FullscreenModeOnIcon.tsx +10 -5
- package/src/icons/react/Gift.tsx +10 -5
- package/src/icons/react/Github.tsx +10 -5
- package/src/icons/react/Gitlab.tsx +10 -5
- package/src/icons/react/Globe.tsx +10 -5
- package/src/icons/react/GlobeSimple.tsx +10 -5
- package/src/icons/react/GlobeUnpublish.tsx +10 -5
- package/src/icons/react/GoTo.tsx +10 -5
- package/src/icons/react/GoogleDrive.tsx +10 -5
- package/src/icons/react/GoogleMap.tsx +10 -5
- package/src/icons/react/GraduationCapFilled.tsx +10 -5
- package/src/icons/react/Headphones.tsx +10 -5
- package/src/icons/react/HeadphonesAi.tsx +10 -5
- package/src/icons/react/Hide.tsx +10 -5
- package/src/icons/react/Highlights.tsx +10 -5
- package/src/icons/react/Hint.tsx +10 -5
- package/src/icons/react/Home.tsx +10 -5
- package/src/icons/react/HomeFilled.tsx +10 -5
- package/src/icons/react/ImageXmark.tsx +10 -5
- package/src/icons/react/Import.tsx +10 -5
- package/src/icons/react/ImportFilled.tsx +10 -5
- package/src/icons/react/InfoCircle.tsx +10 -5
- package/src/icons/react/InfoCircleFilled.tsx +10 -5
- package/src/icons/react/Integration.tsx +10 -5
- package/src/icons/react/IntegrationsFilled.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationDiscourseColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationIntercomColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationSlackColor.tsx +10 -5
- package/src/icons/react/IntegrationsIntegrationZendeskColor.tsx +10 -5
- package/src/icons/react/Intercom.tsx +18 -0
- package/src/icons/react/InvitePeople.tsx +10 -5
- package/src/icons/react/Items.tsx +10 -5
- package/src/icons/react/ItemsTimeline.tsx +10 -5
- package/src/icons/react/Jira.tsx +10 -5
- package/src/icons/react/Key.tsx +10 -5
- package/src/icons/react/KeyboardHideDown.tsx +10 -5
- package/src/icons/react/Lab.tsx +10 -5
- package/src/icons/react/LayoutDouble.tsx +10 -5
- package/src/icons/react/LayoutMultiple.tsx +10 -5
- package/src/icons/react/LayoutSingle.tsx +10 -5
- package/src/icons/react/LeftPanel.tsx +10 -5
- package/src/icons/react/LevelPlus.tsx +10 -5
- package/src/icons/react/Levels.tsx +10 -5
- package/src/icons/react/LineDivider.tsx +10 -5
- package/src/icons/react/LineJump.tsx +10 -5
- package/src/icons/react/Link.tsx +10 -5
- package/src/icons/react/LocationEdit.tsx +10 -5
- package/src/icons/react/Lock.tsx +10 -5
- package/src/icons/react/LockOutline.tsx +10 -5
- package/src/icons/react/Logout.tsx +10 -5
- package/src/icons/react/Loom.tsx +10 -5
- package/src/icons/react/LoupeZoom.tsx +10 -5
- package/src/icons/react/LoupeZoomIn.tsx +10 -5
- package/src/icons/react/LoupeZoomOut.tsx +10 -5
- package/src/icons/react/ManyPeople.tsx +10 -5
- package/src/icons/react/MapMode.tsx +10 -5
- package/src/icons/react/Markdown.tsx +10 -5
- package/src/icons/react/MenuCollapser.tsx +10 -5
- package/src/icons/react/Mermaid.tsx +10 -5
- package/src/icons/react/MessagePlus.tsx +10 -5
- package/src/icons/react/MessagePlusSquare.tsx +10 -5
- package/src/icons/react/Milestones.tsx +10 -5
- package/src/icons/react/Minus.tsx +10 -5
- package/src/icons/react/Miro.tsx +10 -5
- package/src/icons/react/MirrorOff.tsx +10 -5
- package/src/icons/react/MirrorOn.tsx +10 -5
- package/src/icons/react/Mixpanel.tsx +10 -5
- package/src/icons/react/Monitor.tsx +10 -5
- package/src/icons/react/More.tsx +10 -5
- package/src/icons/react/MoreCompact.tsx +10 -5
- package/src/icons/react/MoveBottom.tsx +10 -5
- package/src/icons/react/MoveLeft.tsx +10 -5
- package/src/icons/react/MoveRight.tsx +10 -5
- package/src/icons/react/MoveSpace.tsx +10 -5
- package/src/icons/react/MoveTop.tsx +10 -5
- package/src/icons/react/Network.tsx +10 -5
- package/src/icons/react/NetworkAdd.tsx +10 -5
- package/src/icons/react/NoBorder.tsx +10 -5
- package/src/icons/react/NoFill.tsx +10 -5
- package/src/icons/react/Notifications.tsx +10 -5
- package/src/icons/react/ObjChild.tsx +10 -5
- package/src/icons/react/ObjM2M.tsx +10 -5
- package/src/icons/react/ObjO2O.tsx +10 -5
- package/src/icons/react/ObjParent.tsx +10 -5
- package/src/icons/react/ObjSelf.tsx +10 -5
- package/src/icons/react/OnSchedule.tsx +10 -5
- package/src/icons/react/OpenAi.tsx +10 -5
- package/src/icons/react/OpenAsPage.tsx +10 -5
- package/src/icons/react/PageRegularMode.tsx +10 -5
- package/src/icons/react/PageWideMode.tsx +10 -5
- package/src/icons/react/PanelAdd.tsx +10 -5
- package/src/icons/react/Pencil.tsx +10 -5
- package/src/icons/react/People.tsx +10 -5
- package/src/icons/react/PeopleCheck.tsx +10 -5
- package/src/icons/react/Photo.tsx +10 -5
- package/src/icons/react/Pin.tsx +10 -5
- package/src/icons/react/PinFilled.tsx +10 -5
- package/src/icons/react/Popup.tsx +10 -5
- package/src/icons/react/Posts.tsx +10 -5
- package/src/icons/react/PresentPlay.tsx +10 -5
- package/src/icons/react/PresentStop.tsx +10 -5
- package/src/icons/react/Print.tsx +10 -5
- package/src/icons/react/PrivateItems.tsx +10 -5
- package/src/icons/react/Question.tsx +10 -5
- package/src/icons/react/QuickFilter.tsx +10 -5
- package/src/icons/react/QuickFilterPersonal.tsx +10 -5
- package/src/icons/react/ReadOnly.tsx +10 -5
- package/src/icons/react/Refresh.tsx +10 -5
- package/src/icons/react/Remove.tsx +10 -5
- package/src/icons/react/RemovePeople.tsx +10 -5
- package/src/icons/react/Reply.tsx +10 -5
- package/src/icons/react/ResetPassword.tsx +10 -5
- package/src/icons/react/Restore.tsx +10 -5
- package/src/icons/react/RicheditorActionsMore.tsx +10 -5
- package/src/icons/react/RicheditorBlockCallout.tsx +10 -5
- package/src/icons/react/RicheditorBlockCode.tsx +10 -5
- package/src/icons/react/RicheditorBlockEmbed.tsx +10 -5
- package/src/icons/react/RicheditorBlockEntity.tsx +10 -5
- package/src/icons/react/RicheditorBlockFile.tsx +10 -5
- package/src/icons/react/RicheditorBlockH1.tsx +10 -5
- package/src/icons/react/RicheditorBlockH2.tsx +10 -5
- package/src/icons/react/RicheditorBlockH3.tsx +10 -5
- package/src/icons/react/RicheditorBlockH4.tsx +10 -5
- package/src/icons/react/RicheditorBlockMention.tsx +10 -5
- package/src/icons/react/RicheditorBlockParagraph.tsx +10 -5
- package/src/icons/react/RicheditorBlockQuote.tsx +10 -5
- package/src/icons/react/RicheditorChecklistCreate.tsx +10 -5
- package/src/icons/react/RicheditorCommentCreate.tsx +10 -5
- package/src/icons/react/RicheditorEntityLinkCreate.tsx +10 -5
- package/src/icons/react/RicheditorHistoryRedo.tsx +10 -5
- package/src/icons/react/RicheditorHistoryUndo.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignCenter.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignLeft.tsx +10 -5
- package/src/icons/react/RicheditorImageAlignRight.tsx +10 -5
- package/src/icons/react/RicheditorImageUpload.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapCenter.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapLeft.tsx +10 -5
- package/src/icons/react/RicheditorImageWrapRight.tsx +10 -5
- package/src/icons/react/RicheditorImageZoom.tsx +10 -5
- package/src/icons/react/RicheditorLinkCreate.tsx +10 -5
- package/src/icons/react/RicheditorLinkedhighlightCreate.tsx +10 -5
- package/src/icons/react/RicheditorListBullet.tsx +10 -5
- package/src/icons/react/RicheditorListIndent.tsx +10 -5
- package/src/icons/react/RicheditorListOrdered.tsx +10 -5
- package/src/icons/react/RicheditorListUnindent.tsx +10 -5
- package/src/icons/react/RicheditorMarkCode.tsx +10 -5
- package/src/icons/react/RicheditorMarkEm.tsx +10 -5
- package/src/icons/react/RicheditorMarkHighlight.tsx +10 -5
- package/src/icons/react/RicheditorMarkStrike.tsx +10 -5
- package/src/icons/react/RicheditorMarkStrong.tsx +10 -5
- package/src/icons/react/RicheditorMarkTextBackgroundColor.tsx +10 -5
- package/src/icons/react/RicheditorMarkUnderline.tsx +10 -5
- package/src/icons/react/RicheditorOpenLink.tsx +10 -5
- package/src/icons/react/RicheditorTableCreate.tsx +10 -5
- package/src/icons/react/RicheditorUnlink.tsx +10 -5
- package/src/icons/react/RicheditorVideoUpload.tsx +10 -5
- package/src/icons/react/RightPanel.tsx +10 -5
- package/src/icons/react/Rows.tsx +10 -5
- package/src/icons/react/RuleScheduled.tsx +10 -5
- package/src/icons/react/Search.tsx +10 -5
- package/src/icons/react/SearchAdd.tsx +10 -5
- package/src/icons/react/SearchFilled.tsx +10 -5
- package/src/icons/react/SearchRemove.tsx +10 -5
- package/src/icons/react/SelfReferenceOff.tsx +10 -5
- package/src/icons/react/SelfReferenceOn.tsx +10 -5
- package/src/icons/react/SendArrow.tsx +10 -5
- package/src/icons/react/SendBackward.tsx +10 -5
- package/src/icons/react/SendToBack.tsx +10 -5
- package/src/icons/react/Settings.tsx +10 -5
- package/src/icons/react/SettingsFilled.tsx +10 -5
- package/src/icons/react/SettingsOff.tsx +10 -5
- package/src/icons/react/Share.tsx +10 -5
- package/src/icons/react/Shared.tsx +10 -5
- package/src/icons/react/ShieldKeyhole.tsx +10 -5
- package/src/icons/react/ShowAuthor.tsx +10 -5
- package/src/icons/react/Sidebar.tsx +10 -5
- package/src/icons/react/SidebarFields.tsx +10 -5
- package/src/icons/react/SidebarFieldsOpened.tsx +10 -5
- package/src/icons/react/SimpleCompass.tsx +10 -5
- package/src/icons/react/Slack.tsx +10 -5
- package/src/icons/react/SlackIcon.tsx +10 -5
- package/src/icons/react/SlideMenu.tsx +10 -5
- package/src/icons/react/SlideMenuClose.tsx +10 -5
- package/src/icons/react/SlideMenuFilled.tsx +10 -5
- package/src/icons/react/SlideMenuOpen.tsx +10 -5
- package/src/icons/react/SmartFolder.tsx +10 -5
- package/src/icons/react/Sort.tsx +10 -5
- package/src/icons/react/SortOnBottom.tsx +10 -5
- package/src/icons/react/SortOnTop.tsx +10 -5
- package/src/icons/react/SpaceApp.tsx +10 -5
- package/src/icons/react/SpaceGenerate.tsx +10 -5
- package/src/icons/react/SpaceList.tsx +10 -5
- package/src/icons/react/SpaceScratch.tsx +10 -5
- package/src/icons/react/SpaceTemplate.tsx +10 -5
- package/src/icons/react/Spinner.tsx +10 -5
- package/src/icons/react/Success.tsx +10 -5
- package/src/icons/react/SuggestIntegration.tsx +10 -5
- package/src/icons/react/SwitchToMention.tsx +10 -5
- package/src/icons/react/SwitchToText.tsx +10 -5
- package/src/icons/react/SwitchToWidget.tsx +10 -5
- package/src/icons/react/TableLayout.tsx +10 -5
- package/src/icons/react/Template.tsx +10 -5
- package/src/icons/react/Templates.tsx +10 -5
- package/src/icons/react/TemplatesFilled.tsx +10 -5
- package/src/icons/react/Terminal.tsx +10 -5
- package/src/icons/react/TextNoWrap.tsx +10 -5
- package/src/icons/react/TextToolAlignBottom.tsx +10 -5
- package/src/icons/react/TextToolAlignMiddle.tsx +10 -5
- package/src/icons/react/TextToolAlignTop.tsx +10 -5
- package/src/icons/react/TextWrap.tsx +10 -5
- package/src/icons/react/ThumbsDown.tsx +10 -5
- package/src/icons/react/ThumbsUp.tsx +10 -5
- package/src/icons/react/Toc.tsx +18 -0
- package/src/icons/react/Twitter.tsx +10 -5
- package/src/icons/react/TypeBoolean.tsx +10 -5
- package/src/icons/react/TypeButton.tsx +10 -5
- package/src/icons/react/TypeCheckbox.tsx +10 -5
- package/src/icons/react/TypeDate.tsx +10 -5
- package/src/icons/react/TypeEmail.tsx +10 -5
- package/src/icons/react/TypeEmoji.tsx +10 -5
- package/src/icons/react/TypeFormula.tsx +10 -5
- package/src/icons/react/TypeFunction.tsx +10 -5
- package/src/icons/react/TypeId.tsx +10 -5
- package/src/icons/react/TypeLocation.tsx +10 -5
- package/src/icons/react/TypeLookup.tsx +10 -5
- package/src/icons/react/TypeMoney.tsx +10 -5
- package/src/icons/react/TypeMultiSelect.tsx +10 -5
- package/src/icons/react/TypeNumber.tsx +10 -5
- package/src/icons/react/TypePercent.tsx +10 -5
- package/src/icons/react/TypePhone.tsx +10 -5
- package/src/icons/react/TypeRelation.tsx +10 -5
- package/src/icons/react/TypeRichText.tsx +10 -5
- package/src/icons/react/TypeRule.tsx +10 -5
- package/src/icons/react/TypeSingleSelect.tsx +10 -5
- package/src/icons/react/TypeText.tsx +10 -5
- package/src/icons/react/TypeUrl.tsx +10 -5
- package/src/icons/react/UnitsAvatar.tsx +10 -5
- package/src/icons/react/UnitsCollection.tsx +10 -5
- package/src/icons/react/UnitsCounter.tsx +10 -5
- package/src/icons/react/UnitsDate.tsx +10 -5
- package/src/icons/react/UnitsDbBadgeAbbr.tsx +10 -5
- package/src/icons/react/UnitsDbBadgeFull.tsx +10 -5
- package/src/icons/react/UnitsDbIcon.tsx +10 -5
- package/src/icons/react/UnitsField.tsx +10 -5
- package/src/icons/react/UnitsFieldIconButton.tsx +10 -5
- package/src/icons/react/UnitsInput.tsx +10 -5
- package/src/icons/react/UnitsProgressBar.tsx +10 -5
- package/src/icons/react/UnitsRichText.tsx +10 -5
- package/src/icons/react/UnitsSnippet.tsx +10 -5
- package/src/icons/react/Unlink.tsx +10 -5
- package/src/icons/react/UnlockFilled.tsx +10 -5
- package/src/icons/react/UnlockOutline.tsx +10 -5
- package/src/icons/react/Upgrade.tsx +10 -5
- package/src/icons/react/UsbFlashDrive.tsx +10 -5
- package/src/icons/react/UserCheck.tsx +10 -5
- package/src/icons/react/UserGroup.tsx +10 -5
- package/src/icons/react/UserGroupRemove.tsx +10 -5
- package/src/icons/react/UserRole.tsx +10 -5
- package/src/icons/react/UserX.tsx +10 -5
- package/src/icons/react/ValueEdit.tsx +10 -5
- package/src/icons/react/ViewAi.tsx +10 -5
- package/src/icons/react/ViewBoard.tsx +10 -5
- package/src/icons/react/ViewCalendar.tsx +10 -5
- package/src/icons/react/ViewCanvas.tsx +10 -5
- package/src/icons/react/ViewChart.tsx +10 -5
- package/src/icons/react/ViewDashboard.tsx +10 -5
- package/src/icons/react/ViewDetails.tsx +10 -5
- package/src/icons/react/ViewDocument.tsx +10 -5
- package/src/icons/react/ViewEmbed.tsx +18 -0
- package/src/icons/react/ViewFeed.tsx +10 -5
- package/src/icons/react/ViewForm.tsx +10 -5
- package/src/icons/react/ViewGallery.tsx +10 -5
- package/src/icons/react/ViewGantt.tsx +10 -5
- package/src/icons/react/ViewList.tsx +10 -5
- package/src/icons/react/ViewMap.tsx +10 -5
- package/src/icons/react/ViewPage.tsx +10 -5
- package/src/icons/react/ViewTable.tsx +10 -5
- package/src/icons/react/ViewTimeline.tsx +10 -5
- package/src/icons/react/Views.tsx +10 -5
- package/src/icons/react/Warning.tsx +10 -5
- package/src/icons/react/WarningTriangle.tsx +10 -5
- package/src/icons/react/WarningTriangleFilled.tsx +10 -5
- package/src/icons/react/Webhooks.tsx +18 -0
- package/src/icons/react/Windows.tsx +10 -5
- package/src/icons/react/WorkspaceMap.tsx +10 -5
- package/src/icons/react/Youtube.tsx +10 -5
- package/src/icons/react/ZoomIn.tsx +10 -5
- package/src/icons/react/ZoomOut.tsx +10 -5
- package/src/icons/react/index.tsx +453 -441
- package/src/icons/svg/arrow-bar-down.svg +4 -0
- package/src/icons/svg/arrow-bar-up.svg +4 -0
- package/src/icons/svg/folder-favorite.svg +3 -0
- package/src/icons/svg/intercom.svg +3 -0
- package/src/icons/svg/richeditor/list/indent.svg +7 -2
- package/src/icons/svg/richeditor/list/unindent.svg +7 -2
- package/src/icons/svg/richeditor/mark/underline.svg +2 -2
- package/src/icons/svg/toc.svg +5 -0
- package/src/icons/svg/view-embed.svg +3 -0
- package/src/icons/svg/webhooks.svg +5 -0
- package/src/icons/types.ts +2 -0
- package/src/images-gallery/images-gallery.tsx +67 -16
- package/src/images-gallery/slide-buttons.tsx +5 -9
- package/src/integration-compact-info-button.tsx +10 -6
- package/src/link-input/components/{AntTextAreaWithCustomReadState.js → AntTextAreaWithCustomReadState.tsx} +19 -8
- package/src/link-input/index.tsx +94 -0
- package/src/link-input/{utils.js → utils.ts} +1 -6
- package/src/loaders.tsx +2 -2
- package/src/loading-sausage.tsx +4 -4
- package/src/mobile-keyboard-aware-popup.tsx +1 -1
- package/src/modal-menu/modal-menu-content.tsx +1 -1
- package/src/modal-menu/modal-menu-separator.tsx +1 -1
- package/src/modal-menu/modal-submenu-content.tsx +3 -1
- package/src/new-badge.tsx +2 -2
- package/src/number-input/decimal.ts +50 -0
- package/src/number-input/edit-unit-styles.ts +3 -3
- package/src/number-input/utils.ts +2 -2
- package/src/online-users.tsx +8 -8
- package/src/open-popover-tracker.tsx +73 -0
- package/src/palette-generator.test.ts +146 -147
- package/src/palette-generator.ts +29 -57
- package/src/palettes/_.test.ts +226 -0
- package/src/palettes/_.ts +67 -24
- package/src/palettes/common.ts +31 -0
- package/src/palettes/diff-colors.ts +270 -0
- package/src/palettes/inspect.canvas-colors.test.ts +257 -0
- package/src/palettes/inspect.defs.colors.neutral-arch.test.ts +2327 -0
- package/src/palettes/inspect.defs.colors.neutral-user.test.ts +2327 -0
- package/src/palettes/inspect.defs.colors.warm-arch.test.ts +2327 -0
- package/src/palettes/inspect.defs.colors.warm-user.test.ts +2327 -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} +22 -34
- package/src/palettes/warm-arch.ts +3 -188
- package/src/palettes/warm-user.ts +3 -188
- package/src/palettes/warm.ts +158 -0
- package/src/popover/index.tsx +34 -10
- package/src/popover/mobile-popover.tsx +4 -2
- package/src/popover/popup-modifiers-context.ts +4 -4
- package/src/preference-setting.test.ts +223 -0
- package/src/preference-setting.ts +71 -0
- package/src/pretty-size.test.ts +18 -0
- package/src/pretty-size.ts +26 -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 +1 -32
- package/src/select/components/group-heading.tsx +1 -1
- package/src/select/components/menu-list-virtua.tsx +127 -0
- package/src/select/index.tsx +10 -6
- package/src/select/reflection.ts +22 -0
- package/src/select/select.tsx +2 -0
- package/src/select/styles.ts +1 -1
- package/src/static-palettes.ts +4 -5
- package/src/tab-nav/tab-nav.tsx +61 -17
- package/src/thematic-color-picker.tsx +164 -233
- package/src/thematic-constants.tsx +2 -1
- package/src/thematic-controls.tsx +126 -9
- package/src/thematic-cvd.tsx +73 -0
- package/src/thematic-highlights.tsx +49 -0
- package/src/thematic-scales.tsx +70 -88
- package/src/thematic-state.ts +92 -54
- package/src/thematic.tsx +406 -278
- package/src/theme-provider.test.tsx +70 -67
- package/src/theme-provider.tsx +52 -41
- package/src/theme-settings.ts +12 -44
- package/src/theme-styles.ts +34 -27
- package/src/themed-ink.tsx +26 -0
- package/src/toast/toast-action.tsx +2 -2
- package/src/toggle-button/round-toggle-button.tsx +2 -1
- package/src/toggle-button/toggle-button.tsx +3 -3
- package/src/toggle-on-off.tsx +7 -7
- package/src/tooltip-if-overflown.tsx +3 -3
- package/src/tree-utils.ts +1 -1
- package/src/type-badge-box.tsx +2 -2
- package/src/type-badge.tsx +9 -10
- package/src/unit/maybe-unit-value.tsx +1 -1
- package/src/unit/types.ts +1 -1
- package/src/workflow-progress-icon.tsx +1 -1
- package/.oxlintrc.json +0 -24
- package/src/actions-menu/actions-menu-open-state-tracker.tsx +0 -66
- package/src/design-system/alpha.test.ts +0 -59
- package/src/design-system.test.ts +0 -48
- package/src/error-alert/error-alert-action.tsx +0 -12
- package/src/error-alert/error-alert.tsx +0 -71
- package/src/link-input/index.js +0 -89
- package/src/number-input/decimal.js +0 -61
- package/src/palettes/slate-arch.colors-snapshot.test.ts +0 -1689
- package/src/palettes/slate-user.colors-snapshot.test.ts +0 -1689
- package/src/palettes/slate-user.ts +0 -187
- package/src/palettes/warm-arch.colors-snapshot.test.ts +0 -1689
- package/src/palettes/warm-user.colors-snapshot.test.ts +0 -1689
- package/src/popover/popover-old.tsx +0 -113
- /package/src/number-input/{decimal.test.js → decimal.test.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @fibery/ui-kit
|
|
2
2
|
|
|
3
|
+
## 2.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [d04a531]
|
|
8
|
+
- @fibery/helpers@2.0.1
|
|
9
|
+
- @fibery/react@1.5.2
|
|
10
|
+
|
|
11
|
+
## 2.1.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- 7cb3105: Text and background color for highlight
|
|
16
|
+
|
|
3
17
|
## 2.0.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fibery/ui-kit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@linaria/core": "
|
|
8
|
-
"@linaria/react": "
|
|
7
|
+
"@linaria/core": "7.0.0",
|
|
8
|
+
"@linaria/react": "7.0.1",
|
|
9
9
|
"@popperjs/core": "2.11.6",
|
|
10
10
|
"@radix-ui/react-collapsible": "1.1.0",
|
|
11
11
|
"@radix-ui/react-context-menu": "2.2.1",
|
|
@@ -21,15 +21,17 @@
|
|
|
21
21
|
"@types/react-select-country-list": "^2.2.3",
|
|
22
22
|
"@types/setimmediate": "^1.0.4",
|
|
23
23
|
"antd": "4.24.7",
|
|
24
|
+
"apcach": "github:antiflasher/apcach#54077b3",
|
|
24
25
|
"chrono-node": "^2.9.0",
|
|
25
26
|
"classnames": "2.3.1",
|
|
26
27
|
"cmdk": "1.0.0",
|
|
27
28
|
"color-hash": "1.0.3",
|
|
28
|
-
"
|
|
29
|
+
"culori": "4.0.2",
|
|
29
30
|
"d3-shape": "1.3.7",
|
|
30
31
|
"date-fns": "2.29.2",
|
|
31
32
|
"invariant": "2.2.4",
|
|
32
33
|
"lodash": "4.17.21",
|
|
34
|
+
"lru-cache": "11.2.2",
|
|
33
35
|
"md5": "2.2.1",
|
|
34
36
|
"moment": "2.29.4",
|
|
35
37
|
"photoswipe": "5.4.4",
|
|
@@ -46,9 +48,10 @@
|
|
|
46
48
|
"react-virtuoso": "4.18.1",
|
|
47
49
|
"screenfull": "6.0.2",
|
|
48
50
|
"tabbable": "5.2.1",
|
|
51
|
+
"virtua": "0.48.8",
|
|
49
52
|
"@fibery/emoji-data": "2.7.3",
|
|
50
|
-
"@fibery/helpers": "2.0.
|
|
51
|
-
"@fibery/react": "1.5.
|
|
53
|
+
"@fibery/helpers": "2.0.1",
|
|
54
|
+
"@fibery/react": "1.5.2"
|
|
52
55
|
},
|
|
53
56
|
"devDependencies": {
|
|
54
57
|
"@babel/core": "7.28.5",
|
|
@@ -58,15 +61,17 @@
|
|
|
58
61
|
"@testing-library/react": "16.3.1",
|
|
59
62
|
"@testing-library/user-event": "14.6.1",
|
|
60
63
|
"@types/color-hash": "1.0.2",
|
|
64
|
+
"@types/culori": "4.0.1",
|
|
61
65
|
"@types/history": "4.7.11",
|
|
62
66
|
"@types/invariant": "2.2.34",
|
|
63
67
|
"@types/jest": "30.0.0",
|
|
64
68
|
"@types/lodash": "4.14.172",
|
|
65
69
|
"@types/prop-types": "15.7.5",
|
|
66
70
|
"@types/react": "18.3.12",
|
|
71
|
+
"@types/react-color": "2.13.5",
|
|
67
72
|
"@types/react-dom": "18.3.1",
|
|
68
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
69
|
-
"@wyw-in-js/babel-preset": "0.
|
|
73
|
+
"@typescript/native-preview": "7.0.0-dev.20260401.1",
|
|
74
|
+
"@wyw-in-js/babel-preset": "1.0.6",
|
|
70
75
|
"csstype": "3.0.8",
|
|
71
76
|
"fs-extra": "10.0.0",
|
|
72
77
|
"glob": "7.1.7",
|
|
@@ -76,7 +81,7 @@
|
|
|
76
81
|
"react-dom": "18.3.1",
|
|
77
82
|
"svg-parser": "2.0.4",
|
|
78
83
|
"svgo": "2.8.0",
|
|
79
|
-
"typescript": "6.0.
|
|
84
|
+
"typescript": "6.0.1-rc",
|
|
80
85
|
"unist-util-reduce": "0.2.2",
|
|
81
86
|
"@fibery/babel-preset": "7.4.2"
|
|
82
87
|
},
|
|
@@ -88,6 +93,7 @@
|
|
|
88
93
|
"test": "TZ=Europe/Minsk jest",
|
|
89
94
|
"test:ci": "pnpm run test --reporters=default --reporters=jest-junit",
|
|
90
95
|
"test:coverage": "pnpm run test --coverage --coverageDirectory=${JEST_COVERAGE_RESULT_DIR:-$(pwd)}/coverage/ui-kit --reporters=default --reporters=jest-junit",
|
|
96
|
+
"check": "../../scripts/check.sh",
|
|
91
97
|
"lint": "../../scripts/lint.sh",
|
|
92
98
|
"generate-icons": "node scripts/generate-icons.mjs",
|
|
93
99
|
"typecheck": "../../scripts/typecheck.sh"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import path from "path";
|
|
2
1
|
import fs from "fs-extra";
|
|
3
2
|
import {readFile} from "fs/promises";
|
|
4
|
-
import svgo from "svgo";
|
|
5
|
-
import {parse} from "svg-parser";
|
|
6
3
|
import glob from "glob";
|
|
7
|
-
import {promisify} from "util";
|
|
8
4
|
import _ from "lodash";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import {parse} from "svg-parser";
|
|
7
|
+
import svgo from "svgo";
|
|
9
8
|
import {recursiveReduce} from "unist-util-reduce";
|
|
10
9
|
import {fileURLToPath} from "url";
|
|
10
|
+
import {promisify} from "util";
|
|
11
11
|
|
|
12
12
|
const svgoConfig = (prefix) => ({
|
|
13
13
|
plugins: [
|
|
@@ -23,26 +23,23 @@ const svgoConfig = (prefix) => ({
|
|
|
23
23
|
],
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
const template = `
|
|
29
|
-
// This icon file is generated automatically.
|
|
26
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
27
|
+
const __dirname = path.dirname(__filename);
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
const preludeTemplate = `/**
|
|
30
|
+
* This file was automatically generated. Do not edit manually.
|
|
31
|
+
* <% if (source) { %>
|
|
32
|
+
* @see import("<%= source %>")<% } %>
|
|
33
|
+
* @see import("<%= generator %>")
|
|
34
|
+
*/
|
|
36
35
|
`;
|
|
37
36
|
|
|
38
37
|
const render = _.template(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
import {
|
|
43
|
-
import
|
|
44
|
-
import { Icon } from '../Icon';
|
|
45
|
-
import { IconBaseProps } from '../types';
|
|
38
|
+
`${preludeTemplate}
|
|
39
|
+
import {forwardRef} from "react";
|
|
40
|
+
import <%= svgIdentifier %>Svg from "../ast/<%= svgIdentifier %>";
|
|
41
|
+
import {Icon} from "../Icon";
|
|
42
|
+
import type {IconBaseProps} from "../types";
|
|
46
43
|
|
|
47
44
|
const <%= svgIdentifier %> = forwardRef<SVGSVGElement, IconBaseProps>(function <%= svgIdentifier %>(
|
|
48
45
|
props: IconBaseProps,
|
|
@@ -53,29 +50,38 @@ export default <%= svgIdentifier %>;
|
|
|
53
50
|
`.trim()
|
|
54
51
|
);
|
|
55
52
|
|
|
56
|
-
const defTemplate = _.template(
|
|
53
|
+
const defTemplate = _.template(`${preludeTemplate}
|
|
54
|
+
import type {IconDefinition} from "../types";
|
|
55
|
+
|
|
56
|
+
const <%= identifier %>: IconDefinition = <%= content %>;
|
|
57
|
+
|
|
58
|
+
export default <%= identifier %>;
|
|
59
|
+
`);
|
|
57
60
|
|
|
58
61
|
const iconsDir = path.join(__dirname, "../src/icons");
|
|
59
62
|
const iconsSvgPathDir = path.join(iconsDir, "./svg");
|
|
60
63
|
const iconsReactPathDir = path.join(iconsDir, "./react");
|
|
61
64
|
const iconsAstPathDir = path.join(iconsDir, "./ast");
|
|
62
|
-
const
|
|
65
|
+
const pattern = "**/*.svg";
|
|
66
|
+
const icons = await promisify(glob)(pattern, {cwd: iconsSvgPathDir});
|
|
63
67
|
|
|
64
68
|
await fs.remove(iconsReactPathDir);
|
|
65
69
|
await fs.remove(iconsAstPathDir);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
);
|
|
70
|
+
|
|
71
|
+
const generator = path.relative(iconsReactPathDir, __filename);
|
|
72
|
+
let barrelExportContent = _.template(preludeTemplate)({source: null, generator: generator}) + "\n";
|
|
73
|
+
for (const icon of icons) {
|
|
74
|
+
const name = _.upperFirst(_.camelCase(icon.replace("/", "-").replace(".svg", "")));
|
|
75
|
+
const iconPath = path.join(iconsSvgPathDir, icon);
|
|
76
|
+
const source = path.relative(iconsReactPathDir, iconPath);
|
|
77
|
+
|
|
78
|
+
const ast = parse(svgo.optimize((await readFile(iconPath)).toString(), svgoConfig(name)).data);
|
|
75
79
|
|
|
76
80
|
await fs.outputFile(
|
|
77
81
|
path.join(iconsAstPathDir, `./${name}.ts`),
|
|
78
82
|
defTemplate({
|
|
83
|
+
source,
|
|
84
|
+
generator,
|
|
79
85
|
identifier: name,
|
|
80
86
|
content: JSON.stringify({
|
|
81
87
|
icon: recursiveReduce(ast, (node) => {
|
|
@@ -107,14 +113,16 @@ for (const iconPath of iconPaths) {
|
|
|
107
113
|
await fs.outputFile(
|
|
108
114
|
path.join(iconsReactPathDir, `${name}.tsx`),
|
|
109
115
|
render({
|
|
116
|
+
source,
|
|
117
|
+
generator,
|
|
110
118
|
svgIdentifier: name,
|
|
111
119
|
})
|
|
112
120
|
);
|
|
113
121
|
|
|
114
|
-
|
|
122
|
+
barrelExportContent += `export {default as ${name}} from "./${name}";\n`;
|
|
115
123
|
}
|
|
116
|
-
await fs.outputFile(path.join(iconsReactPathDir, `./index.tsx`),
|
|
117
|
-
await fs.outputFile(path.join(iconsAstPathDir, `./index.tsx`),
|
|
124
|
+
await fs.outputFile(path.join(iconsReactPathDir, `./index.tsx`), barrelExportContent);
|
|
125
|
+
await fs.outputFile(path.join(iconsAstPathDir, `./index.tsx`), barrelExportContent);
|
|
118
126
|
|
|
119
127
|
// import {getSvg, iconNames} from "../Icon";
|
|
120
128
|
//
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare module "react-color/lib/components/common" {
|
|
2
|
+
import type {ComponentType} from "react";
|
|
3
|
+
|
|
4
|
+
// ColorWrap HOC: injects hex/hsl/hsv/rgb/onChange into the inner component,
|
|
5
|
+
// and exposes color/onChangeComplete/onChange on the outer component.
|
|
6
|
+
// Internally, onChange/onChangeComplete receive a full ColorResult object
|
|
7
|
+
// (ColorWrap.handleChange calls toState() before forwarding).
|
|
8
|
+
type ColorResult = {
|
|
9
|
+
hex: string;
|
|
10
|
+
hsl: {h: number; s: number; l: number; a: number};
|
|
11
|
+
hsv: {h: number; s: number; v: number; a: number};
|
|
12
|
+
rgb: {r: number; g: number; b: number; a: number};
|
|
13
|
+
oldHue: number;
|
|
14
|
+
source: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
type ColorWrapExternalProps = {
|
|
18
|
+
color?: string;
|
|
19
|
+
onChangeComplete?: (color: ColorResult) => void;
|
|
20
|
+
onChange?: (color: ColorResult) => void;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// ColorWrap overrides inner onChange with its own handler that passes ColorResult.
|
|
24
|
+
// Omit onChange from inner props to avoid union conflict.
|
|
25
|
+
export function ColorWrap<P extends Record<string, unknown>>(
|
|
26
|
+
component: ComponentType<P>
|
|
27
|
+
): ComponentType<Omit<Partial<P>, "onChange"> & ColorWrapExternalProps>;
|
|
28
|
+
|
|
29
|
+
export const EditableInput: ComponentType<{
|
|
30
|
+
style?: Record<string, Record<string, unknown>>;
|
|
31
|
+
value?: string;
|
|
32
|
+
onChange?: (color: string) => void;
|
|
33
|
+
}>;
|
|
34
|
+
export const Hue: ComponentType<Record<string, unknown>>;
|
|
35
|
+
export const Saturation: ComponentType<Record<string, unknown>>;
|
|
36
|
+
}
|
package/src/a11y-color.test.ts
CHANGED
|
@@ -5,13 +5,13 @@ describe("a11yColor", () => {
|
|
|
5
5
|
it("color already passes contrast on light background", () => {
|
|
6
6
|
// Dark blue on white should already pass
|
|
7
7
|
const result = a11yColor("#000080", "#ffffff");
|
|
8
|
-
expect(result).toMatchInlineSnapshot(`"rgb(0,0,128)"`);
|
|
8
|
+
expect(result).toMatchInlineSnapshot(`"rgb(0, 0, 128)"`);
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
it("color already passes contrast on dark background", () => {
|
|
12
12
|
// White on black should already pass
|
|
13
13
|
const result = a11yColor("#ffffff", "#000000");
|
|
14
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,255,255)"`);
|
|
14
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 255, 255)"`);
|
|
15
15
|
});
|
|
16
16
|
|
|
17
17
|
it("invalid toMakeA11y color is provided", () => {
|
|
@@ -39,124 +39,131 @@ describe("a11yColor", () => {
|
|
|
39
39
|
it("makes light color darker on white background", () => {
|
|
40
40
|
// Light yellow on white needs to be darker
|
|
41
41
|
const result = a11yColor("#ffff00", "#ffffff");
|
|
42
|
-
expect(result).toMatchInlineSnapshot(`"rgb(154,154,0)"`);
|
|
42
|
+
expect(result).toMatchInlineSnapshot(`"rgb(154, 154, 0)"`);
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
it("makes dark color lighter on black background", () => {
|
|
46
46
|
// Dark blue on black needs to be lighter
|
|
47
47
|
const result = a11yColor("#000033", "#000000");
|
|
48
|
-
expect(result).toMatchInlineSnapshot(`"rgb(
|
|
48
|
+
expect(result).toMatchInlineSnapshot(`"rgb(48, 48, 255)"`);
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
it("handles medium colors on light backgrounds", () => {
|
|
52
52
|
// Medium gray on white
|
|
53
53
|
const result = a11yColor("#808080", "#ffffff");
|
|
54
|
-
expect(result).toMatchInlineSnapshot(`"rgb(128,128,128)"`);
|
|
54
|
+
expect(result).toMatchInlineSnapshot(`"rgb(128, 128, 128)"`);
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
it("handles medium colors on dark backgrounds", () => {
|
|
58
58
|
// Medium gray on black
|
|
59
59
|
const result = a11yColor("#808080", "#000000");
|
|
60
|
-
expect(result).toMatchInlineSnapshot(`"rgb(128,128,128)"`);
|
|
60
|
+
expect(result).toMatchInlineSnapshot(`"rgb(128, 128, 128)"`);
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
63
|
|
|
64
64
|
describe("respects minimum contrast ratio", () => {
|
|
65
65
|
it("uses default 3.0 contrast ratio", () => {
|
|
66
66
|
const result = a11yColor("#cccccc", "#ffffff");
|
|
67
|
-
expect(result).toMatchInlineSnapshot(`"rgb(
|
|
67
|
+
expect(result).toMatchInlineSnapshot(`"rgb(149, 149, 149)"`);
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
it("adjusts for higher contrast ratio (4.5 WCAG AA)", () => {
|
|
71
71
|
const result = a11yColor("#cccccc", "#ffffff", 4.5);
|
|
72
|
-
expect(result).toMatchInlineSnapshot(`"rgb(118,118,118)"`);
|
|
72
|
+
expect(result).toMatchInlineSnapshot(`"rgb(118, 118, 118)"`);
|
|
73
73
|
});
|
|
74
74
|
|
|
75
75
|
it("adjusts for highest contrast ratio (7.0 WCAG AAA)", () => {
|
|
76
76
|
const result = a11yColor("#cccccc", "#ffffff", 7.0);
|
|
77
|
-
expect(result).toMatchInlineSnapshot(`"rgb(89,89,89)"`);
|
|
77
|
+
expect(result).toMatchInlineSnapshot(`"rgb(89, 89, 89)"`);
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
|
|
81
81
|
describe("handles various color formats", () => {
|
|
82
82
|
it("handles 3-digit hex colors", () => {
|
|
83
83
|
const result = a11yColor("#f00", "#fff");
|
|
84
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
|
|
84
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
it("handles 6-digit hex colors", () => {
|
|
88
88
|
const result = a11yColor("#ff0000", "#ffffff");
|
|
89
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
|
|
89
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it("handles 8-digit hex colors with alpha", () => {
|
|
93
|
+
const result = a11yColor("#ff0000aa", "#aaa");
|
|
94
|
+
const result2 = a11yColor("#ff0000", "#aaa");
|
|
95
|
+
expect(result).toMatchInlineSnapshot(`"rgb(176, 25, 25)"`);
|
|
96
|
+
expect(result2).toMatchInlineSnapshot(`"rgb(182, 0, 0)"`);
|
|
90
97
|
});
|
|
91
98
|
|
|
92
99
|
it("handles rgb() colors", () => {
|
|
93
100
|
const result = a11yColor("rgb(255, 0, 0)", "#ffffff");
|
|
94
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
|
|
101
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
95
102
|
});
|
|
96
103
|
|
|
97
104
|
it("handles named colors", () => {
|
|
98
105
|
const result = a11yColor("red", "white");
|
|
99
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
|
|
106
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
100
107
|
});
|
|
101
108
|
|
|
102
109
|
it("handles hsl() colors", () => {
|
|
103
110
|
const result = a11yColor("hsl(0, 100%, 50%)", "#ffffff");
|
|
104
|
-
expect(result).toMatchInlineSnapshot(`"rgb(255,0,0)"`);
|
|
111
|
+
expect(result).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
describe("alpha foreground colors", () => {
|
|
116
|
+
it("alpha fg already passing contrast", () => {
|
|
117
|
+
// black at 80% on white → dark gray, passes 3.0
|
|
118
|
+
expect(a11yColor("rgba(0,0,0,0.8)", "#ffffff")).toMatchInlineSnapshot(`"rgb(51, 51, 51)"`);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it("alpha fg needing adjustment on white", () => {
|
|
122
|
+
// light gray at 30% on white → very light, fails contrast
|
|
123
|
+
expect(a11yColor("rgba(200,200,200,0.3)", "#ffffff")).toMatchInlineSnapshot(`"rgb(149, 149, 149)"`);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it("very low alpha (nearly transparent) on white", () => {
|
|
127
|
+
// red at 10% on white → nearly white, needs heavy adjustment
|
|
128
|
+
expect(a11yColor("rgba(255,0,0,0.1)", "#ffffff")).toMatchInlineSnapshot(`"rgb(255, 93, 93)"`);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("alpha fg on dark bg", () => {
|
|
132
|
+
expect(a11yColor("rgba(255,255,255,0.3)", "#1a1a1a")).toMatchInlineSnapshot(`"rgb(101, 101, 101)"`);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it("alpha bg flattened over white", () => {
|
|
136
|
+
expect(a11yColor("#ff0000", "rgba(255,255,255,0.5)")).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it("both fg and bg with alpha", () => {
|
|
140
|
+
expect(a11yColor("rgba(100,100,100,0.5)", "rgba(200,200,200,0.8)")).toMatchInlineSnapshot(`"rgb(119, 119, 119)"`);
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
it("real-world: alpha(color, 0.15) on white", () => {
|
|
144
|
+
// common pattern in the codebase
|
|
145
|
+
expect(a11yColor("rgba(73,120,212,0.15)", "#ffffff")).toMatchInlineSnapshot(`"rgb(111, 148, 221)"`);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it("real-world: alpha(color, 0.95) on dark bg", () => {
|
|
149
|
+
expect(a11yColor("rgba(73,120,212,0.95)", "#1a1a1a")).toMatchInlineSnapshot(`"rgb(71, 115, 203)"`);
|
|
105
150
|
});
|
|
106
151
|
});
|
|
107
152
|
|
|
108
153
|
describe("real-world use cases", () => {
|
|
109
154
|
it("brand green on white background", () => {
|
|
110
155
|
const result = a11yColor("#69AC5E", "#ffffff");
|
|
111
|
-
expect(result).toMatchInlineSnapshot(`"rgb(96,
|
|
156
|
+
expect(result).toMatchInlineSnapshot(`"rgb(96, 165, 85)"`);
|
|
112
157
|
});
|
|
113
158
|
|
|
114
159
|
it("brand blue on white background", () => {
|
|
115
160
|
const result = a11yColor("#4978D4", "#ffffff");
|
|
116
|
-
expect(result).toMatchInlineSnapshot(`"rgb(73,120,212)"`);
|
|
161
|
+
expect(result).toMatchInlineSnapshot(`"rgb(73, 120, 212)"`);
|
|
117
162
|
});
|
|
118
163
|
|
|
119
164
|
it("light text on dark theme background", () => {
|
|
120
165
|
const result = a11yColor("#aaaaaa", "#1a1a1a");
|
|
121
|
-
expect(result).toMatchInlineSnapshot(`"rgb(170,170,170)"`);
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
it("card type colors on white", () => {
|
|
125
|
-
const cardColors = [
|
|
126
|
-
"#F0D0DD",
|
|
127
|
-
"#F5D3CA",
|
|
128
|
-
"#FAE0B7",
|
|
129
|
-
"#FCEAA2",
|
|
130
|
-
"#E3ECAB",
|
|
131
|
-
"#CFEFC8",
|
|
132
|
-
"#C1F3DF",
|
|
133
|
-
"#C1EDF5",
|
|
134
|
-
"#C1E0F5",
|
|
135
|
-
"#C7D6F9",
|
|
136
|
-
"#D8D3F5",
|
|
137
|
-
"#E8D1EF",
|
|
138
|
-
"#E6DFDA",
|
|
139
|
-
"#D2D2D2",
|
|
140
|
-
"#FFFF8D",
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
expect(cardColors.map((color) => a11yColor(color, "#ffffff"))).toEqual([
|
|
144
|
-
"rgb(212,120,158)",
|
|
145
|
-
"rgb(224,119,91)",
|
|
146
|
-
"rgb(207,132,14)",
|
|
147
|
-
"rgb(180,145,6)",
|
|
148
|
-
"rgb(140,157,36)",
|
|
149
|
-
"rgb(71,169,49)",
|
|
150
|
-
"rgb(33,169,115)",
|
|
151
|
-
"rgb(30,162,186)",
|
|
152
|
-
"rgb(57,156,223)",
|
|
153
|
-
"rgb(107,146,239)",
|
|
154
|
-
"rgb(150,137,228)",
|
|
155
|
-
"rgb(189,124,209)",
|
|
156
|
-
"rgb(169,144,127)",
|
|
157
|
-
"rgb(148,148,148)",
|
|
158
|
-
"rgb(154,154,0)",
|
|
159
|
-
]);
|
|
166
|
+
expect(result).toMatchInlineSnapshot(`"rgb(170, 170, 170)"`);
|
|
160
167
|
});
|
|
161
168
|
});
|
|
162
169
|
});
|
package/src/a11y-color.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// https://github.com/alex-page/a11ycolor
|
|
2
|
-
import {
|
|
2
|
+
import {Hsl, Rgb, wcagContrast} from "culori";
|
|
3
|
+
import {colorFromUnsafe, cssFromColor, flattenAlpha, hslFrom, isValidColor, rgbFrom} from "./color-utils";
|
|
3
4
|
|
|
4
5
|
class LRUCache<TKey, TValue> {
|
|
5
6
|
#capacity: number;
|
|
@@ -37,6 +38,11 @@ class LRUCache<TKey, TValue> {
|
|
|
37
38
|
|
|
38
39
|
const cache = new LRUCache<string, string>(5000);
|
|
39
40
|
|
|
41
|
+
const white: Rgb = {mode: "rgb", r: 1, g: 1, b: 1};
|
|
42
|
+
const black: Rgb = {mode: "rgb", r: 0, g: 0, b: 0};
|
|
43
|
+
|
|
44
|
+
const hasAlpha = (color: {alpha?: number}) => color.alpha !== undefined && color.alpha < 1;
|
|
45
|
+
|
|
40
46
|
const checkColor = (colorValue: string) => {
|
|
41
47
|
if (colorValue === "transparent") {
|
|
42
48
|
return false;
|
|
@@ -44,43 +50,42 @@ const checkColor = (colorValue: string) => {
|
|
|
44
50
|
return isValidColor(colorValue);
|
|
45
51
|
};
|
|
46
52
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
* @param {string} toMakeA11y - The color that is to be changed
|
|
51
|
-
* @param {string} background - The background color to for the contrast
|
|
52
|
-
* * @param {string} minimumContrast - The WCAG 2.1 contrast ratio
|
|
53
|
-
*
|
|
54
|
-
* @return {string} - The closest hex color for `toMakeA11y` on `background`
|
|
55
|
-
*/
|
|
56
|
-
export function a11yColor(toMakeA11y: string, background: string, minimumContrast = 3.0): string {
|
|
57
|
-
const key = toMakeA11y + background + minimumContrast;
|
|
53
|
+
export function a11yColor(fg: string, bg: string, minimumContrast = 3.0): string {
|
|
54
|
+
const key = fg + bg + minimumContrast;
|
|
58
55
|
if (cache.has(key)) {
|
|
59
56
|
return cache.get(key)!;
|
|
60
57
|
}
|
|
61
|
-
if (!checkColor(
|
|
62
|
-
cache.put(key,
|
|
63
|
-
return
|
|
58
|
+
if (!checkColor(fg) || !checkColor(bg)) {
|
|
59
|
+
cache.put(key, fg);
|
|
60
|
+
return fg;
|
|
64
61
|
}
|
|
65
62
|
|
|
66
|
-
if (minimumContrast < 0
|
|
63
|
+
if (minimumContrast < 0 || minimumContrast > 21) {
|
|
67
64
|
throw new Error(`Minimum contrast must be a number between 0 and 21. It was ${minimumContrast}`);
|
|
68
65
|
}
|
|
69
66
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
const fgColor = colorFromUnsafe(fg);
|
|
68
|
+
const bgColor = colorFromUnsafe(bg);
|
|
69
|
+
|
|
70
|
+
// Flatten alpha to get the effective opaque colors the user sees on screen
|
|
71
|
+
const effectiveBg = hasAlpha(bgColor) ? flattenAlpha(bgColor, white) : bgColor;
|
|
72
|
+
const effectiveFg = hasAlpha(fgColor) ? flattenAlpha(fgColor, effectiveBg) : fgColor;
|
|
73
|
+
|
|
74
|
+
// Check the ratio straight away, if it passes return the value as-is
|
|
75
|
+
if (wcagContrast(effectiveBg, effectiveFg) >= minimumContrast) {
|
|
76
|
+
const effectiveFgCss = cssFromColor(rgbFrom(effectiveFg));
|
|
77
|
+
cache.put(key, effectiveFgCss);
|
|
78
|
+
return effectiveFgCss;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
|
-
// Ratio didn't pass
|
|
78
|
-
const
|
|
79
|
-
|
|
81
|
+
// Ratio didn't pass — binary search on HSL lightness of the effective fg
|
|
82
|
+
const {h = 0, s = 0, l = 0} = hslFrom(effectiveFg);
|
|
83
|
+
|
|
84
|
+
const a11yLightness = l * 100;
|
|
80
85
|
const minHexDiff = 100 / 255; // 255 Colors / 100% HSL
|
|
81
86
|
|
|
82
|
-
const isBlackBgContrast =
|
|
83
|
-
const isWhiteBgContrast =
|
|
87
|
+
const isBlackBgContrast = wcagContrast(effectiveBg, black) >= minimumContrast;
|
|
88
|
+
const isWhiteBgContrast = wcagContrast(effectiveBg, white) >= minimumContrast;
|
|
84
89
|
let minLightness = 0;
|
|
85
90
|
let maxLightness = 100;
|
|
86
91
|
let isDarkColor = false;
|
|
@@ -104,25 +109,22 @@ export function a11yColor(toMakeA11y: string, background: string, minimumContras
|
|
|
104
109
|
minLightness = a11yLightness;
|
|
105
110
|
}
|
|
106
111
|
|
|
107
|
-
|
|
108
|
-
let foundColor;
|
|
112
|
+
let res: Hsl | undefined;
|
|
109
113
|
|
|
110
114
|
// Binary search until we find the colour that meets contrast
|
|
111
|
-
while (!
|
|
115
|
+
while (!res) {
|
|
112
116
|
const midLightness = (minLightness + maxLightness) / 2;
|
|
113
|
-
const
|
|
117
|
+
const midColor: Hsl = {mode: "hsl", h, s, l: midLightness / 100};
|
|
114
118
|
|
|
115
119
|
// Give up if we are stuck
|
|
116
120
|
if (Math.abs(maxLightness - minLightness) < 0.01) {
|
|
117
|
-
|
|
121
|
+
res = midColor;
|
|
118
122
|
break;
|
|
119
123
|
}
|
|
120
124
|
|
|
121
|
-
|
|
122
|
-
if (getContrastRatio(midA11yHex, background) >= minimumContrast) {
|
|
123
|
-
// It is the minimal lightness range for one hexadecimal
|
|
125
|
+
if (wcagContrast(midColor, effectiveBg) >= minimumContrast) {
|
|
124
126
|
if (maxLightness - minLightness <= minHexDiff) {
|
|
125
|
-
|
|
127
|
+
res = midColor;
|
|
126
128
|
} else if (isDarkColor) {
|
|
127
129
|
// If it is going to be a dark color move the min to mid
|
|
128
130
|
minLightness = midLightness;
|
|
@@ -138,6 +140,7 @@ export function a11yColor(toMakeA11y: string, background: string, minimumContras
|
|
|
138
140
|
minLightness = midLightness;
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
const foundColorCss = cssFromColor(res);
|
|
144
|
+
cache.put(key, foundColorCss);
|
|
145
|
+
return foundColorCss;
|
|
143
146
|
}
|
|
@@ -99,7 +99,7 @@ const RightCorner = ({shortcut, loading, checked}: {shortcut?: string[]; loading
|
|
|
99
99
|
|
|
100
100
|
return loading || shortcuts || checked ? (
|
|
101
101
|
<div className={cornerCss}>
|
|
102
|
-
{loading ? <Spinner color={theme.
|
|
102
|
+
{loading ? <Spinner color={theme.colors.colorAccent} iconSize={16} containerSize={16} /> : null}
|
|
103
103
|
{shortcuts ? (
|
|
104
104
|
<KbdGroup>
|
|
105
105
|
{shortcuts.map((item) => (
|
|
@@ -10,7 +10,7 @@ import {preventDefault} from "@fibery/react/src/prevent-default";
|
|
|
10
10
|
import {useState} from "react";
|
|
11
11
|
import {useFeatures} from "../features";
|
|
12
12
|
import {ActionsMenuConfirmation, ActionsMenuConfirmationProps} from "./actions-menu-confirmation";
|
|
13
|
-
import {
|
|
13
|
+
import {useOpenPopoverTracker} from "../open-popover-tracker";
|
|
14
14
|
|
|
15
15
|
export const preventDefaultAndStopPropagation = (event: React.MouseEvent) => {
|
|
16
16
|
event.preventDefault();
|
|
@@ -46,14 +46,14 @@ export const ActionsMenu = ({
|
|
|
46
46
|
height,
|
|
47
47
|
}: ActionsMenuProps): JSX.Element => {
|
|
48
48
|
const features = useFeatures<{enableMobileMenus: boolean}>();
|
|
49
|
-
const {
|
|
49
|
+
const {onOpenChange: onPopoverOpenChange} = useOpenPopoverTracker();
|
|
50
50
|
const [isOpen = false, setOpen] = useControllableState({
|
|
51
51
|
value: open,
|
|
52
52
|
onChange: (value) => {
|
|
53
53
|
if (onOpenChange) {
|
|
54
54
|
onOpenChange(value);
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
onPopoverOpenChange(value);
|
|
57
57
|
},
|
|
58
58
|
});
|
|
59
59
|
const isPhone = useIsPhone();
|
package/src/ai/model.tsx
CHANGED
package/src/ai/temperature.tsx
CHANGED