@cratis/components 3.4.0 → 3.5.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/README.md +148 -98
- package/dist/esm/Canvas/Canvas.d.ts +67 -0
- package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
- package/dist/esm/Canvas/Canvas.js +767 -0
- package/dist/esm/Canvas/Canvas.js.map +1 -0
- package/dist/esm/Canvas/CanvasControls.d.ts +32 -0
- package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasControls.js +34 -0
- package/dist/esm/Canvas/CanvasControls.js.map +1 -0
- package/dist/esm/Canvas/CanvasItem.d.ts +10 -0
- package/dist/esm/Canvas/CanvasItem.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasItem.js +51 -0
- package/dist/esm/Canvas/CanvasItem.js.map +1 -0
- package/dist/esm/Canvas/CanvasMinimap.d.ts +25 -0
- package/dist/esm/Canvas/CanvasMinimap.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasMinimap.js +102 -0
- package/dist/esm/Canvas/CanvasMinimap.js.map +1 -0
- package/dist/esm/Canvas/CanvasOverlay.d.ts +6 -0
- package/dist/esm/Canvas/CanvasOverlay.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasOverlay.js +8 -0
- package/dist/esm/Canvas/CanvasOverlay.js.map +1 -0
- package/dist/esm/Canvas/canvasGesture.d.ts +8 -0
- package/dist/esm/Canvas/canvasGesture.d.ts.map +1 -0
- package/dist/esm/Canvas/canvasGesture.js +32 -0
- package/dist/esm/Canvas/canvasGesture.js.map +1 -0
- package/dist/esm/Canvas/canvasTransformActivity.d.ts +7 -0
- package/dist/esm/Canvas/canvasTransformActivity.d.ts.map +1 -0
- package/dist/esm/Canvas/canvasTransformActivity.js +22 -0
- package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -0
- package/dist/esm/Canvas/glassAttributes.d.ts +4 -0
- package/dist/esm/Canvas/glassAttributes.d.ts.map +1 -0
- package/dist/esm/Canvas/glassAttributes.js +25 -0
- package/dist/esm/Canvas/glassAttributes.js.map +1 -0
- package/dist/esm/Canvas/index.d.ts +18 -0
- package/dist/esm/Canvas/index.d.ts.map +1 -0
- package/dist/esm/Canvas/index.js +38 -0
- package/dist/esm/Canvas/index.js.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts +2 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js +17 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -0
- package/dist/esm/Canvas/isWithinScrollableContent.d.ts +11 -0
- package/dist/esm/Canvas/isWithinScrollableContent.d.ts.map +1 -0
- package/dist/esm/Canvas/isWithinScrollableContent.js +38 -0
- package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -0
- package/dist/esm/Canvas/panMomentum.d.ts +13 -0
- package/dist/esm/Canvas/panMomentum.d.ts.map +1 -0
- package/dist/esm/Canvas/panMomentum.js +41 -0
- package/dist/esm/Canvas/panMomentum.js.map +1 -0
- package/dist/esm/Canvas/pinchGesture.d.ts +16 -0
- package/dist/esm/Canvas/pinchGesture.d.ts.map +1 -0
- package/dist/esm/Canvas/pinchGesture.js +30 -0
- package/dist/esm/Canvas/pinchGesture.js.map +1 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts +10 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts.map +1 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js +33 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts +13 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js +61 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js +27 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js +11 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js +4 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts +41 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.js +76 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js +89 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js +107 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts +17 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts +25 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js +31 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts +8 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js +15 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts +12 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js +51 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js +155 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js +59 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js +28 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts +9 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts +11 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js +34 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js +24 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js +28 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js +50 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts +9 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js +19 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +31 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js +17 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts +4 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js +16 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.d.ts +22 -0
- package/dist/esm/Canvas/shapes/Note/Note.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.js +237 -0
- package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts +3 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js +2 -0
- package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.d.ts +2 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js +26 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/Region.d.ts +22 -0
- package/dist/esm/Canvas/shapes/Region/Region.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/Region.js +150 -0
- package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts +3 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js +2 -0
- package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
- package/dist/esm/Canvas/useDragSelectionGuard.d.ts +2 -0
- package/dist/esm/Canvas/useDragSelectionGuard.d.ts.map +1 -0
- package/dist/esm/Canvas/useDragSelectionGuard.js +59 -0
- package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -0
- package/dist/esm/Canvas/zoomMechanism.d.ts +4 -0
- package/dist/esm/Canvas/zoomMechanism.d.ts.map +1 -0
- package/dist/esm/Canvas/zoomMechanism.js +58 -0
- package/dist/esm/Canvas/zoomMechanism.js.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts +3 -6
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.js +3 -2
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.js +3 -2
- package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/StepperPanel.js.map +1 -1
- package/dist/esm/CommandDialog/applyBeforeExecute.js.map +1 -1
- package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
- package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
- package/dist/esm/CommandForm/commandFormMarkers.d.ts +12 -0
- package/dist/esm/CommandForm/commandFormMarkers.d.ts.map +1 -0
- package/dist/esm/CommandForm/commandFormMarkers.js +69 -0
- package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -0
- package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
- package/dist/esm/CommandForm/index.d.ts +1 -0
- package/dist/esm/CommandForm/index.d.ts.map +1 -1
- package/dist/esm/CommandForm/index.js +1 -0
- package/dist/esm/CommandForm/index.js.map +1 -1
- package/dist/esm/Common/ActionMenubar.js.map +1 -1
- package/dist/esm/Common/Button.js.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.js +1 -1
- package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
- package/dist/esm/Common/DatePickerInput.d.ts +11 -4
- package/dist/esm/Common/DatePickerInput.d.ts.map +1 -1
- package/dist/esm/Common/DatePickerInput.js +18 -2
- package/dist/esm/Common/DatePickerInput.js.map +1 -1
- package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
- package/dist/esm/Common/ErrorBoundary.js.map +1 -1
- package/dist/esm/Common/FormElement.js.map +1 -1
- package/dist/esm/Common/Icon.js.map +1 -1
- package/dist/esm/Common/Page.js.map +1 -1
- package/dist/esm/Common/Tooltip.js.map +1 -1
- package/dist/esm/Common/normalizeIconClass.js.map +1 -1
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts +3 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts.map +1 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js +2 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js.map +1 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts +3 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts.map +1 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js +49 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js.map +1 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts +369 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts.map +1 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js +271 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js.map +1 -0
- package/dist/esm/Compatibility/index.d.ts +5 -0
- package/dist/esm/Compatibility/index.d.ts.map +1 -0
- package/dist/esm/Compatibility/index.js +7 -0
- package/dist/esm/Compatibility/index.js.map +1 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts +8 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts.map +1 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js +48 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js.map +1 -0
- package/dist/esm/DataPage/DataPage.d.ts +4 -4
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
- package/dist/esm/DataPage/DataPage.js +6 -10
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
- package/dist/esm/DataTables/Column.d.ts +3 -1
- package/dist/esm/DataTables/Column.d.ts.map +1 -1
- package/dist/esm/DataTables/Column.js.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts +22 -2
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.js +50 -13
- package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableCore.js +22 -3
- package/dist/esm/DataTables/DataTableCore.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +14 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js +67 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts +26 -1
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMeta.js +24 -2
- package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +3 -3
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.js +9 -3
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +3 -3
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.js +8 -2
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -1
- package/dist/esm/DataTables/TablePaginator.js +13 -4
- package/dist/esm/DataTables/TablePaginator.js.map +1 -1
- package/dist/esm/DataTables/index.d.ts +1 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -1
- package/dist/esm/DataTables/index.js +3 -1
- package/dist/esm/DataTables/index.js.map +1 -1
- package/dist/esm/DataTables/paginatorRange.js.map +1 -1
- package/dist/esm/DataTables/selectionKeys.js.map +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
- package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +2 -2
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.js +16 -18
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
- package/dist/esm/Display/Avatar.js.map +1 -1
- package/dist/esm/Display/Badge.js.map +1 -1
- package/dist/esm/Display/Chip.js.map +1 -1
- package/dist/esm/Display/Message.js.map +1 -1
- package/dist/esm/Display/ProgressBar.js.map +1 -1
- package/dist/esm/Display/ProgressSpinner.js.map +1 -1
- package/dist/esm/Display/Skeleton.js.map +1 -1
- package/dist/esm/Display/Tag.js.map +1 -1
- package/dist/esm/Dropdown/Dropdown.d.ts +4 -2
- package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/Dropdown/Dropdown.js +8 -3
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Filter/FilterEditor.js.map +1 -1
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
- package/dist/esm/Filter/FilterPanel.js +1 -1
- package/dist/esm/Filter/FilterPanel.js.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.d.ts +4 -3
- package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.js +4 -23
- package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/Filter/index.d.ts +3 -2
- package/dist/esm/Filter/index.d.ts.map +1 -1
- package/dist/esm/Filter/index.js +1 -1
- package/dist/esm/Filter/types.d.ts +7 -1
- package/dist/esm/Filter/types.d.ts.map +1 -1
- package/dist/esm/Filter/useFilterState.js.map +1 -1
- package/dist/esm/Filter/utils.d.ts +5 -1
- package/dist/esm/Filter/utils.d.ts.map +1 -1
- package/dist/esm/Filter/utils.js +33 -1
- package/dist/esm/Filter/utils.js.map +1 -1
- package/dist/esm/Notifications/Toaster.d.ts +8 -1
- package/dist/esm/Notifications/Toaster.d.ts.map +1 -1
- package/dist/esm/Notifications/Toaster.js +16 -10
- package/dist/esm/Notifications/Toaster.js.map +1 -1
- package/dist/esm/Notifications/index.js +1 -1
- package/dist/esm/Notifications/toast.d.ts +52 -2
- package/dist/esm/Notifications/toast.d.ts.map +1 -1
- package/dist/esm/Notifications/toast.js +100 -2
- package/dist/esm/Notifications/toast.js.map +1 -1
- package/dist/esm/Notifications/toastCommandResult.js +2 -2
- package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
- package/dist/esm/PatrickHand-latin-ext.woff2 +0 -0
- package/dist/esm/PatrickHand-latin.woff2 +0 -0
- package/dist/esm/PatrickHand-vietnamese.woff2 +0 -0
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
- package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
- package/dist/esm/PivotViewer/constants.js.map +1 -1
- package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
- package/dist/esm/PivotViewer/engine/store.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
- package/dist/esm/PivotViewer/types.js.map +1 -1
- package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
- package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
- package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
- package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
- package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
- package/dist/esm/Styled/CratisPreset.js.map +1 -1
- package/dist/esm/Styled/primeReactStyles.js.map +1 -1
- package/dist/esm/Styled/styledMode.js.map +1 -1
- package/dist/esm/TimeMachine/EventsView.js.map +1 -1
- package/dist/esm/TimeMachine/Properties.js.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
- package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolderContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarGroup.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSlot.js.map +1 -1
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +42 -35
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles.css +1285 -3
- package/dist/esm/types/TypeFormat.js.map +1 -1
- package/package.json +16 -6
package/dist/esm/styles.css
CHANGED
|
@@ -246,9 +246,15 @@
|
|
|
246
246
|
.sticky {
|
|
247
247
|
position: sticky;
|
|
248
248
|
}
|
|
249
|
+
.bottom-4 {
|
|
250
|
+
bottom: calc(var(--spacing) * 4);
|
|
251
|
+
}
|
|
249
252
|
.isolate {
|
|
250
253
|
isolation: isolate;
|
|
251
254
|
}
|
|
255
|
+
.z-10 {
|
|
256
|
+
z-index: 10;
|
|
257
|
+
}
|
|
252
258
|
.\!container {
|
|
253
259
|
width: 100% !important;
|
|
254
260
|
@media (width >= 40rem) {
|
|
@@ -354,6 +360,9 @@
|
|
|
354
360
|
.h-4 {
|
|
355
361
|
height: calc(var(--spacing) * 4);
|
|
356
362
|
}
|
|
363
|
+
.h-9 {
|
|
364
|
+
height: calc(var(--spacing) * 9);
|
|
365
|
+
}
|
|
357
366
|
.h-10 {
|
|
358
367
|
height: calc(var(--spacing) * 10);
|
|
359
368
|
}
|
|
@@ -363,12 +372,18 @@
|
|
|
363
372
|
.w-4 {
|
|
364
373
|
width: calc(var(--spacing) * 4);
|
|
365
374
|
}
|
|
375
|
+
.w-9 {
|
|
376
|
+
width: calc(var(--spacing) * 9);
|
|
377
|
+
}
|
|
366
378
|
.w-10 {
|
|
367
379
|
width: calc(var(--spacing) * 10);
|
|
368
380
|
}
|
|
369
381
|
.w-full {
|
|
370
382
|
width: 100%;
|
|
371
383
|
}
|
|
384
|
+
.min-w-\[3\.25rem\] {
|
|
385
|
+
min-width: 3.25rem;
|
|
386
|
+
}
|
|
372
387
|
.min-w-\[4rem\] {
|
|
373
388
|
min-width: 4rem;
|
|
374
389
|
}
|
|
@@ -390,6 +405,9 @@
|
|
|
390
405
|
.flex-grow {
|
|
391
406
|
flex-grow: 1;
|
|
392
407
|
}
|
|
408
|
+
.grow {
|
|
409
|
+
flex-grow: 1;
|
|
410
|
+
}
|
|
393
411
|
.transform {
|
|
394
412
|
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
395
413
|
}
|
|
@@ -414,6 +432,9 @@
|
|
|
414
432
|
.items-center {
|
|
415
433
|
align-items: center;
|
|
416
434
|
}
|
|
435
|
+
.items-end {
|
|
436
|
+
align-items: flex-end;
|
|
437
|
+
}
|
|
417
438
|
.items-start {
|
|
418
439
|
align-items: flex-start;
|
|
419
440
|
}
|
|
@@ -568,6 +589,12 @@
|
|
|
568
589
|
.p-5 {
|
|
569
590
|
padding: calc(var(--spacing) * 5);
|
|
570
591
|
}
|
|
592
|
+
.px-1\.5 {
|
|
593
|
+
padding-inline: calc(var(--spacing) * 1.5);
|
|
594
|
+
}
|
|
595
|
+
.px-2 {
|
|
596
|
+
padding-inline: calc(var(--spacing) * 2);
|
|
597
|
+
}
|
|
571
598
|
.px-3 {
|
|
572
599
|
padding-inline: calc(var(--spacing) * 3);
|
|
573
600
|
}
|
|
@@ -580,6 +607,9 @@
|
|
|
580
607
|
.py-1 {
|
|
581
608
|
padding-block: var(--spacing);
|
|
582
609
|
}
|
|
610
|
+
.py-1\.5 {
|
|
611
|
+
padding-block: calc(var(--spacing) * 1.5);
|
|
612
|
+
}
|
|
583
613
|
.py-2 {
|
|
584
614
|
padding-block: calc(var(--spacing) * 2);
|
|
585
615
|
}
|
|
@@ -675,6 +705,10 @@
|
|
|
675
705
|
.italic {
|
|
676
706
|
font-style: italic;
|
|
677
707
|
}
|
|
708
|
+
.tabular-nums {
|
|
709
|
+
--tw-numeric-spacing: tabular-nums;
|
|
710
|
+
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
|
|
711
|
+
}
|
|
678
712
|
.underline {
|
|
679
713
|
text-decoration-line: underline;
|
|
680
714
|
}
|
|
@@ -701,6 +735,9 @@
|
|
|
701
735
|
--tw-backdrop-blur: blur(var(--blur-sm));
|
|
702
736
|
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
703
737
|
}
|
|
738
|
+
.backdrop-filter {
|
|
739
|
+
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
740
|
+
}
|
|
704
741
|
.transition {
|
|
705
742
|
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
|
|
706
743
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -711,6 +748,11 @@
|
|
|
711
748
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
712
749
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
713
750
|
}
|
|
751
|
+
.select-none {
|
|
752
|
+
-webkit-user-select: none;
|
|
753
|
+
-moz-user-select: none;
|
|
754
|
+
user-select: none;
|
|
755
|
+
}
|
|
714
756
|
.placeholder\:text-slate-400::-moz-placeholder {
|
|
715
757
|
color: var(--color-slate-400);
|
|
716
758
|
}
|
|
@@ -780,9 +822,6 @@
|
|
|
780
822
|
.data-\[p-highlight\=true\]\:text-sky-100[data-p-highlight="true"] {
|
|
781
823
|
color: var(--color-sky-100);
|
|
782
824
|
}
|
|
783
|
-
.data-\[p-highlight\=true\]\:text-white[data-p-highlight="true"] {
|
|
784
|
-
color: var(--color-white);
|
|
785
|
-
}
|
|
786
825
|
@media (width >= 48rem) {
|
|
787
826
|
.md\:flex-row {
|
|
788
827
|
flex-direction: row;
|
|
@@ -858,6 +897,26 @@
|
|
|
858
897
|
syntax: "*";
|
|
859
898
|
inherits: false;
|
|
860
899
|
}
|
|
900
|
+
@property --tw-ordinal {
|
|
901
|
+
syntax: "*";
|
|
902
|
+
inherits: false;
|
|
903
|
+
}
|
|
904
|
+
@property --tw-slashed-zero {
|
|
905
|
+
syntax: "*";
|
|
906
|
+
inherits: false;
|
|
907
|
+
}
|
|
908
|
+
@property --tw-numeric-figure {
|
|
909
|
+
syntax: "*";
|
|
910
|
+
inherits: false;
|
|
911
|
+
}
|
|
912
|
+
@property --tw-numeric-spacing {
|
|
913
|
+
syntax: "*";
|
|
914
|
+
inherits: false;
|
|
915
|
+
}
|
|
916
|
+
@property --tw-numeric-fraction {
|
|
917
|
+
syntax: "*";
|
|
918
|
+
inherits: false;
|
|
919
|
+
}
|
|
861
920
|
@property --tw-shadow {
|
|
862
921
|
syntax: "*";
|
|
863
922
|
inherits: false;
|
|
@@ -1030,6 +1089,11 @@
|
|
|
1030
1089
|
--tw-border-style: solid;
|
|
1031
1090
|
--tw-font-weight: initial;
|
|
1032
1091
|
--tw-tracking: initial;
|
|
1092
|
+
--tw-ordinal: initial;
|
|
1093
|
+
--tw-slashed-zero: initial;
|
|
1094
|
+
--tw-numeric-figure: initial;
|
|
1095
|
+
--tw-numeric-spacing: initial;
|
|
1096
|
+
--tw-numeric-fraction: initial;
|
|
1033
1097
|
--tw-shadow: 0 0 #0000;
|
|
1034
1098
|
--tw-shadow-color: initial;
|
|
1035
1099
|
--tw-shadow-alpha: 100%;
|
|
@@ -1302,6 +1366,1224 @@
|
|
|
1302
1366
|
}
|
|
1303
1367
|
|
|
1304
1368
|
|
|
1369
|
+
/* ── ./Canvas/Canvas.css ─────────────────────────────────────── */
|
|
1370
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1371
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1372
|
+
|
|
1373
|
+
/* ── Canvas surface ──────────────────────────────────────────────────────── */
|
|
1374
|
+
|
|
1375
|
+
/* The canvas owns every touch on it: without this the browser claims one- and two-finger gestures
|
|
1376
|
+
for its own page scroll and pinch-zoom, so on a tablet the board could neither be panned nor
|
|
1377
|
+
zoomed. Inner scroll containers (the fixed editor overlays) still scroll — the browser stops
|
|
1378
|
+
combining touch-action at the element that actually scrolls. */
|
|
1379
|
+
.canvas-surface {
|
|
1380
|
+
touch-action: none;
|
|
1381
|
+
/* Individual items opt out of this where they need to (an editable textarea sets
|
|
1382
|
+
user-select: text explicitly), but the canvas as a whole must never let a drag start a native
|
|
1383
|
+
text/element selection instead of a move or resize — a freshly created item can be dragged
|
|
1384
|
+
before its own CSS has had a chance to matter to a gesture that started a pixel outside its
|
|
1385
|
+
still-settling bounds, and the resulting native selection is what StudioIssues#227 reports. */
|
|
1386
|
+
-webkit-user-select: none;
|
|
1387
|
+
user-select: none;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
/* ── Canvas control bar ──────────────────────────────────────────────────── */
|
|
1391
|
+
.canvas-controls-glass {
|
|
1392
|
+
position: relative;
|
|
1393
|
+
display: inline-flex;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
/* Fallback for large boards where the LiquidGlass capture is too expensive: a frosted pill using the
|
|
1397
|
+
GPU-composited backdrop-filter instead of an html2canvas re-rasterization every frame. */
|
|
1398
|
+
.canvas-controls-glass--plain {
|
|
1399
|
+
background: color-mix(in srgb, var(--surface-card) 78%, transparent);
|
|
1400
|
+
backdrop-filter: blur(12px);
|
|
1401
|
+
-webkit-backdrop-filter: blur(12px);
|
|
1402
|
+
border: 1px solid var(--surface-border);
|
|
1403
|
+
border-radius: 999px;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
/* The glass surface behind supplies the chrome - the bar itself stays clear. */
|
|
1407
|
+
.canvas-controls-bar {
|
|
1408
|
+
position: relative;
|
|
1409
|
+
z-index: 1;
|
|
1410
|
+
background: transparent;
|
|
1411
|
+
border: 1px solid transparent;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
.canvas-controls-separator {
|
|
1415
|
+
display: inline-block;
|
|
1416
|
+
width: 1px;
|
|
1417
|
+
height: 20px;
|
|
1418
|
+
background: var(--surface-border);
|
|
1419
|
+
border-radius: 1px;
|
|
1420
|
+
margin-inline: 2px;
|
|
1421
|
+
flex-shrink: 0;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
/* ── Canvas control icon button ──────────────────────────────────────────── */
|
|
1425
|
+
.canvas-controls-icon-btn {
|
|
1426
|
+
color: var(--text-color-secondary);
|
|
1427
|
+
background: transparent;
|
|
1428
|
+
border: none;
|
|
1429
|
+
transition: background 0.15s, color 0.15s;
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
.canvas-controls-icon-btn:hover {
|
|
1433
|
+
background: var(--surface-100);
|
|
1434
|
+
color: var(--text-color);
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
.canvas-controls-icon-btn--active {
|
|
1438
|
+
background: var(--surface-100);
|
|
1439
|
+
color: var(--text-color);
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
/* ── Canvas control zoom percentage button ───────────────────────────────── */
|
|
1443
|
+
.canvas-controls-zoom-btn {
|
|
1444
|
+
color: var(--text-color-secondary);
|
|
1445
|
+
background: transparent;
|
|
1446
|
+
border: none;
|
|
1447
|
+
transition: background 0.15s, color 0.15s;
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
.canvas-controls-zoom-btn:hover {
|
|
1451
|
+
background: var(--surface-100);
|
|
1452
|
+
color: var(--text-color);
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
/* ── Canvas minimap ──────────────────────────────────────────────────────── */
|
|
1456
|
+
.canvas-minimap {
|
|
1457
|
+
background: var(--surface-50);
|
|
1458
|
+
border: 1px solid var(--surface-border);
|
|
1459
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
.canvas-minimap-viewport {
|
|
1463
|
+
border: 2px solid var(--primary-color);
|
|
1464
|
+
background: color-mix(in srgb, var(--primary-color) 12%, transparent);
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
/* ── ./Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.css ─────────────────────────────────────── */
|
|
1468
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1469
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1470
|
+
|
|
1471
|
+
.person-avatar-circle {
|
|
1472
|
+
display: inline-flex;
|
|
1473
|
+
align-items: center;
|
|
1474
|
+
justify-content: center;
|
|
1475
|
+
border-radius: 50%;
|
|
1476
|
+
flex-shrink: 0;
|
|
1477
|
+
overflow: hidden;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
.person-avatar-circle-image {
|
|
1481
|
+
display: block;
|
|
1482
|
+
width: 100%;
|
|
1483
|
+
height: 100%;
|
|
1484
|
+
object-fit: cover;
|
|
1485
|
+
/* Avatars sit on draggable elements (chat bubbles, cards) — the browser's native image drag
|
|
1486
|
+
must never hijack the pointer gesture. draggable={false} covers most engines; WebKit also
|
|
1487
|
+
needs the CSS opt-out. */
|
|
1488
|
+
-webkit-user-drag: none;
|
|
1489
|
+
user-select: none;
|
|
1490
|
+
-webkit-user-select: none;
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
.person-avatar-circle-initials {
|
|
1494
|
+
color: #fff;
|
|
1495
|
+
font-weight: 700;
|
|
1496
|
+
letter-spacing: 0.02em;
|
|
1497
|
+
font-family: system-ui, sans-serif;
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
/* ── ./Canvas/shapes/ChatBubble/Chat.css ─────────────────────────────────────── */
|
|
1501
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1502
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1503
|
+
|
|
1504
|
+
/* ── Chat panel (floating dropdown from the chat button) ─────────────────── */
|
|
1505
|
+
.chat-panel {
|
|
1506
|
+
position: absolute;
|
|
1507
|
+
top: calc(100% + 6px);
|
|
1508
|
+
left: 0;
|
|
1509
|
+
width: 280px;
|
|
1510
|
+
background: #1e1e2e;
|
|
1511
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
1512
|
+
border-radius: 12px;
|
|
1513
|
+
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
|
|
1514
|
+
display: flex;
|
|
1515
|
+
flex-direction: column;
|
|
1516
|
+
z-index: 300;
|
|
1517
|
+
overflow: hidden;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
/* ── Panel header ─────────────────────────────────────────────────────────── */
|
|
1521
|
+
.chat-panel-header {
|
|
1522
|
+
display: flex;
|
|
1523
|
+
align-items: center;
|
|
1524
|
+
justify-content: space-between;
|
|
1525
|
+
padding: 10px 14px 8px;
|
|
1526
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
1527
|
+
flex-shrink: 0;
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
.chat-panel-title {
|
|
1531
|
+
font-size: 13px;
|
|
1532
|
+
font-weight: 600;
|
|
1533
|
+
color: rgba(255, 255, 255, 0.85);
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
.chat-panel-close {
|
|
1537
|
+
background: none;
|
|
1538
|
+
border: none;
|
|
1539
|
+
font-size: 20px;
|
|
1540
|
+
line-height: 1;
|
|
1541
|
+
cursor: pointer;
|
|
1542
|
+
color: rgba(255, 255, 255, 0.45);
|
|
1543
|
+
padding: 0 2px;
|
|
1544
|
+
border-radius: 4px;
|
|
1545
|
+
transition: color 0.12s;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
.chat-panel-close:hover {
|
|
1549
|
+
color: rgba(255, 255, 255, 0.85);
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
/* ── Scrollable messages area ─────────────────────────────────────────────── */
|
|
1553
|
+
.chat-panel-messages {
|
|
1554
|
+
flex: 1;
|
|
1555
|
+
max-height: 260px;
|
|
1556
|
+
overflow-y: auto;
|
|
1557
|
+
padding: 10px 12px;
|
|
1558
|
+
display: flex;
|
|
1559
|
+
flex-direction: column;
|
|
1560
|
+
gap: 14px;
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
.chat-panel-empty {
|
|
1564
|
+
font-size: 12px;
|
|
1565
|
+
color: rgba(255, 255, 255, 0.35);
|
|
1566
|
+
text-align: center;
|
|
1567
|
+
margin: 16px 0;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
/* ── Individual chat bubble ───────────────────────────────────────────────── */
|
|
1571
|
+
.chat-bubble {
|
|
1572
|
+
display: flex;
|
|
1573
|
+
flex-direction: column;
|
|
1574
|
+
gap: 4px;
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
/* Continuation bubbles (same author, no avatar row) get tighter spacing. */
|
|
1578
|
+
.chat-bubble--continuation {
|
|
1579
|
+
margin-top: -8px;
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
.chat-bubble-author {
|
|
1583
|
+
display: flex;
|
|
1584
|
+
align-items: center;
|
|
1585
|
+
gap: 6px;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
.chat-bubble-name {
|
|
1589
|
+
font-size: 11px;
|
|
1590
|
+
font-weight: 600;
|
|
1591
|
+
color: rgba(255, 255, 255, 0.75);
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
.chat-bubble-body {
|
|
1595
|
+
display: flex;
|
|
1596
|
+
flex-direction: column;
|
|
1597
|
+
gap: 3px;
|
|
1598
|
+
padding-left: 28px;
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
.chat-bubble-text {
|
|
1602
|
+
background: rgba(255, 255, 255, 0.08);
|
|
1603
|
+
border-radius: 0 10px 10px 10px;
|
|
1604
|
+
padding: 7px 10px;
|
|
1605
|
+
margin: 0;
|
|
1606
|
+
font-size: 12px;
|
|
1607
|
+
color: rgba(255, 255, 255, 0.85);
|
|
1608
|
+
line-height: 1.45;
|
|
1609
|
+
white-space: pre-wrap;
|
|
1610
|
+
word-break: break-word;
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
.chat-bubble-time {
|
|
1614
|
+
font-size: 10px;
|
|
1615
|
+
color: rgba(255, 255, 255, 0.3);
|
|
1616
|
+
padding-left: 2px;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
/* ── Docked variant (the chat sidebar provides the frame and the heading) ── */
|
|
1620
|
+
.chat-panel--docked {
|
|
1621
|
+
position: static;
|
|
1622
|
+
width: 100%;
|
|
1623
|
+
height: 100%;
|
|
1624
|
+
border: none;
|
|
1625
|
+
border-radius: 0;
|
|
1626
|
+
box-shadow: none;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
.chat-panel--docked .chat-panel-messages {
|
|
1630
|
+
max-height: none;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
/* ── ./Canvas/shapes/ChatBubble/ChatBubble.css ─────────────────────────────────────── */
|
|
1634
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1635
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1636
|
+
|
|
1637
|
+
/* ── Thinking bubbles (small dots at top-right of avatar) ────────────────── */
|
|
1638
|
+
|
|
1639
|
+
@keyframes thinking-bubble-pop-in {
|
|
1640
|
+
0% {
|
|
1641
|
+
transform: scale(0);
|
|
1642
|
+
opacity: 0;
|
|
1643
|
+
}
|
|
1644
|
+
60% {
|
|
1645
|
+
transform: scale(1.3);
|
|
1646
|
+
opacity: 1;
|
|
1647
|
+
}
|
|
1648
|
+
100% {
|
|
1649
|
+
transform: scale(1);
|
|
1650
|
+
opacity: 1;
|
|
1651
|
+
}
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
@keyframes thinking-bubble-pop-out {
|
|
1655
|
+
0% {
|
|
1656
|
+
transform: scale(1);
|
|
1657
|
+
opacity: 1;
|
|
1658
|
+
}
|
|
1659
|
+
100% {
|
|
1660
|
+
transform: scale(0);
|
|
1661
|
+
opacity: 0;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
.thinking-bubbles {
|
|
1666
|
+
position: absolute;
|
|
1667
|
+
pointer-events: none;
|
|
1668
|
+
top: 0;
|
|
1669
|
+
left: 0;
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
.thinking-dot {
|
|
1673
|
+
border-radius: 50%;
|
|
1674
|
+
position: absolute;
|
|
1675
|
+
transform: scale(0);
|
|
1676
|
+
opacity: 0;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
/* ── Enter animation ─────────────────────────────────────────────────────── */
|
|
1680
|
+
|
|
1681
|
+
.thinking-bubbles--entering .thinking-dot--1 {
|
|
1682
|
+
animation: thinking-bubble-pop-in 0.25s ease-out forwards;
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
.thinking-bubbles--entering .thinking-dot--2 {
|
|
1686
|
+
animation: thinking-bubble-pop-in 0.25s ease-out 0.1s forwards;
|
|
1687
|
+
}
|
|
1688
|
+
|
|
1689
|
+
/* ── Exit animation ──────────────────────────────────────────────────────── */
|
|
1690
|
+
|
|
1691
|
+
.thinking-bubbles--exiting .thinking-dot--2 {
|
|
1692
|
+
transform: scale(1);
|
|
1693
|
+
opacity: 1;
|
|
1694
|
+
animation: thinking-bubble-pop-out 0.2s ease-in forwards;
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
.thinking-bubbles--exiting .thinking-dot--1 {
|
|
1698
|
+
transform: scale(1);
|
|
1699
|
+
opacity: 1;
|
|
1700
|
+
animation: thinking-bubble-pop-out 0.2s ease-in 0.06s forwards;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
/* ── ./Canvas/shapes/ChatBubble/ChatComposer.css ─────────────────────────────────────── */
|
|
1704
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1705
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1706
|
+
|
|
1707
|
+
/* The compose row lives inside the chat panel, which is a dark surface of its own — these colors
|
|
1708
|
+
match that panel deliberately rather than following the light/dark theme tokens. */
|
|
1709
|
+
.chat-composer {
|
|
1710
|
+
position: relative;
|
|
1711
|
+
display: flex;
|
|
1712
|
+
align-items: flex-end;
|
|
1713
|
+
gap: 6px;
|
|
1714
|
+
padding: 8px 10px 10px;
|
|
1715
|
+
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
|
1716
|
+
flex-shrink: 0;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
.chat-composer__input {
|
|
1720
|
+
flex: 1;
|
|
1721
|
+
background: rgba(255, 255, 255, 0.07);
|
|
1722
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1723
|
+
border-radius: 8px;
|
|
1724
|
+
color: rgba(255, 255, 255, 0.85);
|
|
1725
|
+
font-size: 12px;
|
|
1726
|
+
padding: 6px 8px;
|
|
1727
|
+
resize: none;
|
|
1728
|
+
outline: none;
|
|
1729
|
+
font-family: inherit;
|
|
1730
|
+
line-height: 1.4;
|
|
1731
|
+
transition: border-color 0.12s;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
.chat-composer__input::placeholder {
|
|
1735
|
+
color: rgba(255, 255, 255, 0.3);
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1738
|
+
.chat-composer__input:focus {
|
|
1739
|
+
border-color: rgba(99, 102, 241, 0.6);
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
.chat-composer__emoji-toggle {
|
|
1743
|
+
background: rgba(255, 255, 255, 0.07);
|
|
1744
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1745
|
+
border-radius: 8px;
|
|
1746
|
+
width: 32px;
|
|
1747
|
+
height: 32px;
|
|
1748
|
+
display: flex;
|
|
1749
|
+
align-items: center;
|
|
1750
|
+
justify-content: center;
|
|
1751
|
+
cursor: pointer;
|
|
1752
|
+
color: rgba(255, 255, 255, 0.55);
|
|
1753
|
+
font-size: 15px;
|
|
1754
|
+
line-height: 1;
|
|
1755
|
+
flex-shrink: 0;
|
|
1756
|
+
transition: background 0.12s, color 0.12s;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
.chat-composer__emoji-toggle:hover {
|
|
1760
|
+
background: rgba(255, 255, 255, 0.14);
|
|
1761
|
+
color: rgba(255, 255, 255, 0.85);
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
.chat-composer__send {
|
|
1765
|
+
background: #6366f1;
|
|
1766
|
+
border: none;
|
|
1767
|
+
border-radius: 8px;
|
|
1768
|
+
width: 32px;
|
|
1769
|
+
height: 32px;
|
|
1770
|
+
display: flex;
|
|
1771
|
+
align-items: center;
|
|
1772
|
+
justify-content: center;
|
|
1773
|
+
cursor: pointer;
|
|
1774
|
+
color: #fff;
|
|
1775
|
+
flex-shrink: 0;
|
|
1776
|
+
transition: background 0.12s, opacity 0.12s;
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
.chat-composer__send:hover:not(:disabled) {
|
|
1780
|
+
background: #4f46e5;
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
.chat-composer__send:disabled {
|
|
1784
|
+
opacity: 0.35;
|
|
1785
|
+
cursor: default;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
/* ── ./Canvas/shapes/ChatBubble/ChatMessageBubble.css ─────────────────────────────────────── */
|
|
1789
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1790
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1791
|
+
|
|
1792
|
+
/* The positioning context for the corner buttons — the message panel itself, so they straddle its
|
|
1793
|
+
bottom edge rather than sitting below whatever else the bubble carries. */
|
|
1794
|
+
.chat-bubble-panel {
|
|
1795
|
+
position: relative;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
/* Room below the panel for the half of the buttons that hangs outside it, so they never land on the
|
|
1799
|
+
timestamp or the reactions underneath. Only when there are buttons: a bubble without them keeps its
|
|
1800
|
+
old height. */
|
|
1801
|
+
.chat-bubble-panel--with-actions {
|
|
1802
|
+
margin-bottom: 13px;
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
/* And a little room inside, so the half that overlaps the panel sits on its padding rather than on
|
|
1806
|
+
the last line of the message. */
|
|
1807
|
+
.chat-bubble-panel--with-actions .chat-bubble-text {
|
|
1808
|
+
padding-bottom: 14px;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
/* Straddling the panel's bottom edge in its lower-right corner — half in, half out, so they read as
|
|
1812
|
+
belonging to the message without taking a line of their own inside it. */
|
|
1813
|
+
.chat-bubble-actions {
|
|
1814
|
+
position: absolute;
|
|
1815
|
+
right: 10px;
|
|
1816
|
+
bottom: -11px;
|
|
1817
|
+
display: flex;
|
|
1818
|
+
align-items: center;
|
|
1819
|
+
gap: 6px;
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1822
|
+
/* A stroke around a solid fill: the button lies across the bubble's edge, so a translucent fill would
|
|
1823
|
+
let that edge run straight through it and stop it reading as one round control. The fill is the
|
|
1824
|
+
panel's own color, which is what the half hanging outside is sitting on. */
|
|
1825
|
+
.chat-bubble-action {
|
|
1826
|
+
display: flex;
|
|
1827
|
+
align-items: center;
|
|
1828
|
+
justify-content: center;
|
|
1829
|
+
width: 22px;
|
|
1830
|
+
height: 22px;
|
|
1831
|
+
padding: 0;
|
|
1832
|
+
border: 1px solid rgba(255, 255, 255, 0.28);
|
|
1833
|
+
border-radius: 999px;
|
|
1834
|
+
background: #24243a;
|
|
1835
|
+
color: rgba(255, 255, 255, 0.55);
|
|
1836
|
+
font-size: 12px;
|
|
1837
|
+
line-height: 1;
|
|
1838
|
+
cursor: pointer;
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
.chat-bubble-action:hover,
|
|
1842
|
+
.chat-bubble-action:focus-visible {
|
|
1843
|
+
border-color: rgba(255, 255, 255, 0.55);
|
|
1844
|
+
background: #32324e;
|
|
1845
|
+
color: rgba(255, 255, 255, 0.95);
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
/* Once a person has reacted, the button shows their emoji as real state rather than a hover-only
|
|
1849
|
+
affordance, so it stays visible without hovering. */
|
|
1850
|
+
.chat-bubble-action--own-reaction {
|
|
1851
|
+
border-color: rgba(255, 255, 255, 0.45);
|
|
1852
|
+
background: #32324e;
|
|
1853
|
+
color: rgba(255, 255, 255, 0.9);
|
|
1854
|
+
font-size: 13px;
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
/* ── ./Canvas/shapes/ChatBubble/Emoji/EmojiPicker.css ─────────────────────────────────────── */
|
|
1858
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1859
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1860
|
+
|
|
1861
|
+
/* Sits over the dark chat panel, so its colors match that panel deliberately rather than the
|
|
1862
|
+
light/dark theme tokens — the same convention ReactionPicker.css and MentionSuggestions.css follow. */
|
|
1863
|
+
.emoji-picker {
|
|
1864
|
+
display: flex;
|
|
1865
|
+
flex-direction: column;
|
|
1866
|
+
width: 296px;
|
|
1867
|
+
background: #262637;
|
|
1868
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
1869
|
+
border-radius: 12px;
|
|
1870
|
+
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
|
|
1871
|
+
overflow: hidden;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
.emoji-picker__grid {
|
|
1875
|
+
display: grid;
|
|
1876
|
+
grid-template-columns: repeat(8, 1fr);
|
|
1877
|
+
gap: 2px;
|
|
1878
|
+
height: 232px;
|
|
1879
|
+
overflow-y: auto;
|
|
1880
|
+
padding: 8px;
|
|
1881
|
+
overscroll-behavior: contain;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
.emoji-picker__emoji {
|
|
1885
|
+
display: flex;
|
|
1886
|
+
align-items: center;
|
|
1887
|
+
justify-content: center;
|
|
1888
|
+
width: 100%;
|
|
1889
|
+
aspect-ratio: 1;
|
|
1890
|
+
padding: 0;
|
|
1891
|
+
border: none;
|
|
1892
|
+
border-radius: 7px;
|
|
1893
|
+
background: transparent;
|
|
1894
|
+
font-size: 20px;
|
|
1895
|
+
line-height: 1;
|
|
1896
|
+
cursor: pointer;
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
.emoji-picker__emoji:hover,
|
|
1900
|
+
.emoji-picker__emoji:focus-visible {
|
|
1901
|
+
background: rgba(255, 255, 255, 0.12);
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
.emoji-picker__emoji--selected {
|
|
1905
|
+
background: rgba(99, 102, 241, 0.35);
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
.emoji-picker__tabs {
|
|
1909
|
+
display: flex;
|
|
1910
|
+
gap: 2px;
|
|
1911
|
+
padding: 6px;
|
|
1912
|
+
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
1913
|
+
background: rgba(0, 0, 0, 0.2);
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
.emoji-picker__tab {
|
|
1917
|
+
display: flex;
|
|
1918
|
+
flex: 1;
|
|
1919
|
+
align-items: center;
|
|
1920
|
+
justify-content: center;
|
|
1921
|
+
height: 26px;
|
|
1922
|
+
padding: 0;
|
|
1923
|
+
border: none;
|
|
1924
|
+
border-radius: 6px;
|
|
1925
|
+
background: transparent;
|
|
1926
|
+
/* Muted until it is the section being shown, so the row reads as one control rather than nine
|
|
1927
|
+
competing emojis. */
|
|
1928
|
+
filter: grayscale(1);
|
|
1929
|
+
opacity: 0.55;
|
|
1930
|
+
font-size: 15px;
|
|
1931
|
+
line-height: 1;
|
|
1932
|
+
cursor: pointer;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
.emoji-picker__tab:hover {
|
|
1936
|
+
opacity: 0.85;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
.emoji-picker__tab--current {
|
|
1940
|
+
background: rgba(255, 255, 255, 0.12);
|
|
1941
|
+
filter: none;
|
|
1942
|
+
opacity: 1;
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
/* ── ./Canvas/shapes/ChatBubble/FailedReply.css ─────────────────────────────────────── */
|
|
1946
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
1947
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
1948
|
+
|
|
1949
|
+
/* Rendered inside the chat panel, which is a dark surface of its own — these colors match that
|
|
1950
|
+
panel deliberately rather than following the light/dark theme tokens, the same way the typing
|
|
1951
|
+
indicator beside it does. */
|
|
1952
|
+
.chat-failed-reply {
|
|
1953
|
+
display: flex;
|
|
1954
|
+
flex-direction: column;
|
|
1955
|
+
gap: 4px;
|
|
1956
|
+
padding: 6px 8px;
|
|
1957
|
+
border-left: 2px solid rgba(248, 180, 100, 0.65);
|
|
1958
|
+
background: rgba(248, 180, 100, 0.08);
|
|
1959
|
+
border-radius: 0 6px 6px 0;
|
|
1960
|
+
}
|
|
1961
|
+
|
|
1962
|
+
.chat-failed-reply__line {
|
|
1963
|
+
display: flex;
|
|
1964
|
+
align-items: center;
|
|
1965
|
+
gap: 6px;
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
.chat-failed-reply__icon {
|
|
1969
|
+
font-size: 12px;
|
|
1970
|
+
color: rgba(248, 180, 100, 0.9);
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
.chat-failed-reply__text {
|
|
1974
|
+
font-size: 12px;
|
|
1975
|
+
color: rgba(255, 255, 255, 0.75);
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
.chat-failed-reply__actions {
|
|
1979
|
+
display: flex;
|
|
1980
|
+
align-items: center;
|
|
1981
|
+
gap: 10px;
|
|
1982
|
+
padding-left: 18px;
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
.chat-failed-reply__action {
|
|
1986
|
+
background: none;
|
|
1987
|
+
border: none;
|
|
1988
|
+
padding: 0;
|
|
1989
|
+
font-size: 11px;
|
|
1990
|
+
color: rgba(255, 255, 255, 0.55);
|
|
1991
|
+
text-decoration: underline;
|
|
1992
|
+
cursor: pointer;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
.chat-failed-reply__action:hover {
|
|
1996
|
+
color: rgba(255, 255, 255, 0.9);
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
.chat-failed-reply__detail {
|
|
2000
|
+
margin: 0;
|
|
2001
|
+
padding: 12px;
|
|
2002
|
+
border-radius: 6px;
|
|
2003
|
+
background: var(--surface-100);
|
|
2004
|
+
color: var(--text-color);
|
|
2005
|
+
font-size: 12px;
|
|
2006
|
+
line-height: 1.5;
|
|
2007
|
+
white-space: pre-wrap;
|
|
2008
|
+
word-break: break-word;
|
|
2009
|
+
max-height: 24rem;
|
|
2010
|
+
overflow: auto;
|
|
2011
|
+
}
|
|
2012
|
+
|
|
2013
|
+
/* ── ./Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.css ─────────────────────────────────────── */
|
|
2014
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
2015
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
2016
|
+
|
|
2017
|
+
/* Sits above the compose row inside the chat panel, which is a dark surface of its own — the colors
|
|
2018
|
+
here match that panel deliberately rather than following the light/dark theme tokens. */
|
|
2019
|
+
.mention-suggestions {
|
|
2020
|
+
position: absolute;
|
|
2021
|
+
bottom: calc(100% + 4px);
|
|
2022
|
+
left: 8px;
|
|
2023
|
+
right: 8px;
|
|
2024
|
+
max-height: 180px;
|
|
2025
|
+
overflow-y: auto;
|
|
2026
|
+
background: #262637;
|
|
2027
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
2028
|
+
border-radius: 10px;
|
|
2029
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
2030
|
+
padding: 4px;
|
|
2031
|
+
display: flex;
|
|
2032
|
+
flex-direction: column;
|
|
2033
|
+
gap: 2px;
|
|
2034
|
+
z-index: 400;
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
.mention-suggestions__item {
|
|
2038
|
+
display: flex;
|
|
2039
|
+
align-items: center;
|
|
2040
|
+
gap: 8px;
|
|
2041
|
+
width: 100%;
|
|
2042
|
+
padding: 5px 8px;
|
|
2043
|
+
border: none;
|
|
2044
|
+
border-radius: 7px;
|
|
2045
|
+
background: transparent;
|
|
2046
|
+
color: rgba(255, 255, 255, 0.85);
|
|
2047
|
+
font-size: 12px;
|
|
2048
|
+
text-align: left;
|
|
2049
|
+
cursor: pointer;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
.mention-suggestions__item--highlighted {
|
|
2053
|
+
background: rgba(99, 102, 241, 0.35);
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
.mention-suggestions__name {
|
|
2057
|
+
overflow: hidden;
|
|
2058
|
+
text-overflow: ellipsis;
|
|
2059
|
+
white-space: nowrap;
|
|
2060
|
+
}
|
|
2061
|
+
|
|
2062
|
+
/* ── ./Canvas/shapes/ChatBubble/MessageReactions.css ─────────────────────────────────────── */
|
|
2063
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
2064
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
2065
|
+
|
|
2066
|
+
/* Sits inside a chat bubble's dark panel — colors match that panel deliberately, the same convention
|
|
2067
|
+
ReactionPicker.css and MentionSuggestions.css follow. */
|
|
2068
|
+
.message-reactions {
|
|
2069
|
+
position: relative;
|
|
2070
|
+
display: flex;
|
|
2071
|
+
align-items: center;
|
|
2072
|
+
gap: 4px;
|
|
2073
|
+
flex-wrap: wrap;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
.message-reactions__badge-wrapper {
|
|
2077
|
+
position: relative;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
.message-reactions__badge {
|
|
2081
|
+
display: flex;
|
|
2082
|
+
align-items: center;
|
|
2083
|
+
gap: 2px;
|
|
2084
|
+
padding: 2px 6px 2px 4px;
|
|
2085
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
2086
|
+
border-radius: 999px;
|
|
2087
|
+
background: rgba(255, 255, 255, 0.06);
|
|
2088
|
+
cursor: pointer;
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
.message-reactions__badge:hover {
|
|
2092
|
+
background: rgba(255, 255, 255, 0.12);
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
/* A stack of the same emoji from different people overlaps slightly rather than repeating flat. */
|
|
2096
|
+
.message-reactions__stack {
|
|
2097
|
+
display: flex;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
.message-reactions__glyph {
|
|
2101
|
+
font-size: 12px;
|
|
2102
|
+
line-height: 1;
|
|
2103
|
+
}
|
|
2104
|
+
|
|
2105
|
+
.message-reactions__glyph + .message-reactions__glyph {
|
|
2106
|
+
margin-left: -7px;
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
.message-reactions__count {
|
|
2110
|
+
font-size: 10px;
|
|
2111
|
+
color: rgba(255, 255, 255, 0.6);
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
/* Positioned by AnchoredOverlay, which portals it to <body> — so this only describes the bubble
|
|
2115
|
+
itself, never where it sits. */
|
|
2116
|
+
.message-reactions__tooltip {
|
|
2117
|
+
min-width: 120px;
|
|
2118
|
+
background: #262637;
|
|
2119
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
2120
|
+
border-radius: 10px;
|
|
2121
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
2122
|
+
padding: 6px 8px;
|
|
2123
|
+
display: flex;
|
|
2124
|
+
flex-direction: column;
|
|
2125
|
+
gap: 4px;
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
.message-reactions__tooltip-row {
|
|
2129
|
+
display: flex;
|
|
2130
|
+
align-items: center;
|
|
2131
|
+
gap: 8px;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2134
|
+
.message-reactions__tooltip-emoji {
|
|
2135
|
+
font-size: 13px;
|
|
2136
|
+
line-height: 1;
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
.message-reactions__tooltip-name {
|
|
2140
|
+
font-size: 11px;
|
|
2141
|
+
color: rgba(255, 255, 255, 0.85);
|
|
2142
|
+
white-space: nowrap;
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
/* ── ./Canvas/shapes/ChatBubble/ReactionPicker.css ─────────────────────────────────────── */
|
|
2146
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
2147
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
2148
|
+
|
|
2149
|
+
/* Portaled to <body> by AnchoredOverlay rather than positioned by its parent: the chat panel is a
|
|
2150
|
+
scrolling sidebar, and anything positioned inside it is clipped the moment it reaches the edge.
|
|
2151
|
+
Colors match that dark panel deliberately rather than the light/dark theme tokens (see
|
|
2152
|
+
MentionSuggestions.css for the same convention). */
|
|
2153
|
+
.reaction-picker {
|
|
2154
|
+
display: flex;
|
|
2155
|
+
flex-direction: column;
|
|
2156
|
+
gap: 4px;
|
|
2157
|
+
align-items: flex-end;
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
.reaction-picker__quick {
|
|
2161
|
+
display: flex;
|
|
2162
|
+
gap: 2px;
|
|
2163
|
+
align-items: center;
|
|
2164
|
+
background: #262637;
|
|
2165
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
2166
|
+
border-radius: 999px;
|
|
2167
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
2168
|
+
padding: 4px;
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
.reaction-picker__item {
|
|
2172
|
+
display: flex;
|
|
2173
|
+
align-items: center;
|
|
2174
|
+
justify-content: center;
|
|
2175
|
+
width: 28px;
|
|
2176
|
+
height: 28px;
|
|
2177
|
+
padding: 0;
|
|
2178
|
+
border: none;
|
|
2179
|
+
border-radius: 999px;
|
|
2180
|
+
background: transparent;
|
|
2181
|
+
font-size: 17px;
|
|
2182
|
+
line-height: 1;
|
|
2183
|
+
cursor: pointer;
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.reaction-picker__item:hover,
|
|
2187
|
+
.reaction-picker__item:focus-visible {
|
|
2188
|
+
background: rgba(255, 255, 255, 0.12);
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
.reaction-picker__item--selected {
|
|
2192
|
+
background: rgba(99, 102, 241, 0.35);
|
|
2193
|
+
}
|
|
2194
|
+
|
|
2195
|
+
/* Deliberately the quiet one on the row: it opens the rest of the emojis rather than being an emoji,
|
|
2196
|
+
so it reads as a control and never competes with the six actual choices next to it. */
|
|
2197
|
+
.reaction-picker__more {
|
|
2198
|
+
display: flex;
|
|
2199
|
+
align-items: center;
|
|
2200
|
+
justify-content: center;
|
|
2201
|
+
flex-shrink: 0;
|
|
2202
|
+
width: 28px;
|
|
2203
|
+
height: 28px;
|
|
2204
|
+
margin-left: 2px;
|
|
2205
|
+
padding: 0;
|
|
2206
|
+
border: none;
|
|
2207
|
+
border-radius: 999px;
|
|
2208
|
+
background: rgba(255, 255, 255, 0.08);
|
|
2209
|
+
color: rgba(255, 255, 255, 0.45);
|
|
2210
|
+
font-size: 15px;
|
|
2211
|
+
line-height: 1;
|
|
2212
|
+
cursor: pointer;
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
.reaction-picker__more:hover,
|
|
2216
|
+
.reaction-picker__more:focus-visible,
|
|
2217
|
+
.reaction-picker__more--open {
|
|
2218
|
+
background: rgba(255, 255, 255, 0.16);
|
|
2219
|
+
color: rgba(255, 255, 255, 0.85);
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
/* Who has reacted so far, under the quick row — the same list a badge shows, so opening the picker
|
|
2223
|
+
answers "who gave what" without needing a second gesture. */
|
|
2224
|
+
.reaction-picker__given {
|
|
2225
|
+
display: flex;
|
|
2226
|
+
flex-direction: column;
|
|
2227
|
+
gap: 4px;
|
|
2228
|
+
align-self: stretch;
|
|
2229
|
+
max-height: 148px;
|
|
2230
|
+
overflow-y: auto;
|
|
2231
|
+
background: #262637;
|
|
2232
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
2233
|
+
border-radius: 10px;
|
|
2234
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
|
2235
|
+
padding: 6px 8px;
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
.reaction-picker__given-row {
|
|
2239
|
+
display: flex;
|
|
2240
|
+
align-items: center;
|
|
2241
|
+
gap: 8px;
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
.reaction-picker__given-emoji {
|
|
2245
|
+
font-size: 13px;
|
|
2246
|
+
line-height: 1;
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2249
|
+
.reaction-picker__given-name {
|
|
2250
|
+
font-size: 11px;
|
|
2251
|
+
color: rgba(255, 255, 255, 0.85);
|
|
2252
|
+
white-space: nowrap;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
/* ── ./Canvas/shapes/ChatBubble/TypingIndicator.css ─────────────────────────────────────── */
|
|
2256
|
+
/* Copyright (c) Cratis. All rights reserved. */
|
|
2257
|
+
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|
|
2258
|
+
|
|
2259
|
+
/* Rendered inside the chat panel, which is a dark surface of its own — these colors match that
|
|
2260
|
+
panel deliberately rather than following the light/dark theme tokens. */
|
|
2261
|
+
.chat-typing {
|
|
2262
|
+
display: flex;
|
|
2263
|
+
align-items: center;
|
|
2264
|
+
gap: 6px;
|
|
2265
|
+
padding: 2px 2px 4px;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
.chat-typing__authors {
|
|
2269
|
+
display: flex;
|
|
2270
|
+
align-items: center;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
.chat-typing__authors > * + * {
|
|
2274
|
+
margin-left: -6px;
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
.chat-typing__label {
|
|
2278
|
+
font-size: 11px;
|
|
2279
|
+
color: rgba(255, 255, 255, 0.5);
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
.chat-typing__dots {
|
|
2283
|
+
display: inline-flex;
|
|
2284
|
+
align-items: flex-end;
|
|
2285
|
+
gap: 3px;
|
|
2286
|
+
height: 10px;
|
|
2287
|
+
}
|
|
2288
|
+
|
|
2289
|
+
.chat-typing__dot {
|
|
2290
|
+
width: 5px;
|
|
2291
|
+
height: 5px;
|
|
2292
|
+
border-radius: 50%;
|
|
2293
|
+
background: rgba(255, 255, 255, 0.55);
|
|
2294
|
+
animation: chat-typing-jump 1.2s infinite ease-in-out;
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2297
|
+
.chat-typing__dot:nth-child(2) {
|
|
2298
|
+
animation-delay: 0.18s;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
.chat-typing__dot:nth-child(3) {
|
|
2302
|
+
animation-delay: 0.36s;
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
@keyframes chat-typing-jump {
|
|
2306
|
+
0%, 60%, 100% {
|
|
2307
|
+
transform: translateY(0);
|
|
2308
|
+
opacity: 0.45;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
30% {
|
|
2312
|
+
transform: translateY(-5px);
|
|
2313
|
+
opacity: 1;
|
|
2314
|
+
}
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2318
|
+
.chat-typing__dot {
|
|
2319
|
+
animation: none;
|
|
2320
|
+
}
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2323
|
+
/* ── ./Canvas/shapes/Note/Note.css ─────────────────────────────────────── */
|
|
2324
|
+
/*
|
|
2325
|
+
* Copyright (c) Cratis. All rights reserved.
|
|
2326
|
+
* Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
2327
|
+
*/
|
|
2328
|
+
|
|
2329
|
+
/* Patrick Hand is embedded rather than merely named: it ships on no operating system, and neither
|
|
2330
|
+
does the 'Comic Sans MS' fallback on iOS/iPadOS — there the stack fell through to the generic
|
|
2331
|
+
`cursive`, which Safari resolves to Snell Roundhand, a formal script that looks nothing like a
|
|
2332
|
+
handwritten note. Self-hosting the woff2 subsets (the same ones Google Fonts serves) makes notes
|
|
2333
|
+
render identically on every platform. Licensed under the SIL Open Font License — see
|
|
2334
|
+
PatrickHand-OFL.txt. */
|
|
2335
|
+
@font-face {
|
|
2336
|
+
font-family: 'Patrick Hand';
|
|
2337
|
+
font-style: normal;
|
|
2338
|
+
font-weight: 400;
|
|
2339
|
+
font-display: swap;
|
|
2340
|
+
src: url('./PatrickHand-latin.woff2') format('woff2');
|
|
2341
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
@font-face {
|
|
2345
|
+
font-family: 'Patrick Hand';
|
|
2346
|
+
font-style: normal;
|
|
2347
|
+
font-weight: 400;
|
|
2348
|
+
font-display: swap;
|
|
2349
|
+
src: url('./PatrickHand-latin-ext.woff2') format('woff2');
|
|
2350
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
@font-face {
|
|
2354
|
+
font-family: 'Patrick Hand';
|
|
2355
|
+
font-style: normal;
|
|
2356
|
+
font-weight: 400;
|
|
2357
|
+
font-display: swap;
|
|
2358
|
+
src: url('./PatrickHand-vietnamese.woff2') format('woff2');
|
|
2359
|
+
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
|
2360
|
+
}
|
|
2361
|
+
|
|
2362
|
+
.canvas-note {
|
|
2363
|
+
/* One source of truth for the note font: the visible text, the textarea being edited and the
|
|
2364
|
+
off-screen measurer must resolve to the exact same face or the fitted font size is wrong. */
|
|
2365
|
+
--canvas-note-font-family: 'Patrick Hand', 'Comic Sans MS', cursive, sans-serif;
|
|
2366
|
+
|
|
2367
|
+
position: relative;
|
|
2368
|
+
background-color: #fffe9e;
|
|
2369
|
+
box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.2), 1px 1px 2px rgba(0, 0, 0, 0.1);
|
|
2370
|
+
box-sizing: border-box;
|
|
2371
|
+
cursor: grab;
|
|
2372
|
+
-webkit-user-select: none;
|
|
2373
|
+
user-select: none;
|
|
2374
|
+
overflow: visible;
|
|
2375
|
+
border-radius: 1px;
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
.canvas-note:active {
|
|
2379
|
+
cursor: grabbing;
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
.canvas-note--selected {
|
|
2383
|
+
outline: 2px solid #aaa;
|
|
2384
|
+
outline-offset: 2px;
|
|
2385
|
+
}
|
|
2386
|
+
|
|
2387
|
+
/* A note showing all of its text grows past its own box and over whatever is below it, so it has to
|
|
2388
|
+
read as lifted off the board rather than run into its neighbors. The height it grows to is measured
|
|
2389
|
+
from the text and set inline; only the lift and the easing belong here. */
|
|
2390
|
+
.canvas-note--expanded {
|
|
2391
|
+
box-shadow: 4px 8px 20px rgba(0, 0, 0, 0.3), 1px 2px 4px rgba(0, 0, 0, 0.15);
|
|
2392
|
+
transition: height 120ms ease;
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
.canvas-note__text {
|
|
2396
|
+
margin: 0;
|
|
2397
|
+
padding: 12px;
|
|
2398
|
+
width: 100%;
|
|
2399
|
+
height: 100%;
|
|
2400
|
+
box-sizing: border-box;
|
|
2401
|
+
overflow: hidden;
|
|
2402
|
+
line-height: 1.4;
|
|
2403
|
+
white-space: pre-wrap;
|
|
2404
|
+
word-break: break-word;
|
|
2405
|
+
font-family: var(--canvas-note-font-family);
|
|
2406
|
+
color: #333;
|
|
2407
|
+
pointer-events: none;
|
|
2408
|
+
display: flex;
|
|
2409
|
+
align-items: center;
|
|
2410
|
+
justify-content: center;
|
|
2411
|
+
text-align: center;
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
.canvas-note__textarea {
|
|
2415
|
+
position: absolute;
|
|
2416
|
+
top: 0;
|
|
2417
|
+
left: 0;
|
|
2418
|
+
width: 100%;
|
|
2419
|
+
height: 100%;
|
|
2420
|
+
background: transparent;
|
|
2421
|
+
border: none;
|
|
2422
|
+
outline: none;
|
|
2423
|
+
resize: none;
|
|
2424
|
+
padding: 12px;
|
|
2425
|
+
box-sizing: border-box;
|
|
2426
|
+
font-family: var(--canvas-note-font-family);
|
|
2427
|
+
color: #333;
|
|
2428
|
+
cursor: text;
|
|
2429
|
+
text-align: center;
|
|
2430
|
+
word-break: break-word;
|
|
2431
|
+
overflow-wrap: break-word;
|
|
2432
|
+
overflow: hidden;
|
|
2433
|
+
/* The note itself is user-select: none so drags never start a selection; the text being edited
|
|
2434
|
+
must still be selectable. */
|
|
2435
|
+
user-select: text;
|
|
2436
|
+
-webkit-user-select: text;
|
|
2437
|
+
}
|
|
2438
|
+
|
|
2439
|
+
/* Off-screen element used to measure text fitting. Mirrors the visible text
|
|
2440
|
+
styles exactly so the browser computes identical line breaks. */
|
|
2441
|
+
.canvas-note__measurer {
|
|
2442
|
+
position: absolute;
|
|
2443
|
+
visibility: hidden;
|
|
2444
|
+
pointer-events: none;
|
|
2445
|
+
left: -9999px;
|
|
2446
|
+
top: -9999px;
|
|
2447
|
+
padding: 0;
|
|
2448
|
+
margin: 0;
|
|
2449
|
+
box-sizing: border-box;
|
|
2450
|
+
font-family: var(--canvas-note-font-family);
|
|
2451
|
+
white-space: pre-wrap;
|
|
2452
|
+
word-break: break-word;
|
|
2453
|
+
overflow-wrap: break-word;
|
|
2454
|
+
color: #333;
|
|
2455
|
+
}
|
|
2456
|
+
|
|
2457
|
+
.canvas-note__expand {
|
|
2458
|
+
position: absolute;
|
|
2459
|
+
bottom: 4px;
|
|
2460
|
+
left: 50%;
|
|
2461
|
+
transform: translateX(-50%);
|
|
2462
|
+
display: flex;
|
|
2463
|
+
align-items: center;
|
|
2464
|
+
justify-content: center;
|
|
2465
|
+
width: 20px;
|
|
2466
|
+
height: 20px;
|
|
2467
|
+
padding: 0;
|
|
2468
|
+
border: 1px solid rgba(0, 0, 0, 0.25);
|
|
2469
|
+
border-radius: 50%;
|
|
2470
|
+
background: rgba(255, 255, 255, 0.75);
|
|
2471
|
+
color: #333;
|
|
2472
|
+
font-size: 10px;
|
|
2473
|
+
cursor: pointer;
|
|
2474
|
+
pointer-events: auto;
|
|
2475
|
+
}
|
|
2476
|
+
|
|
2477
|
+
.canvas-note__handle {
|
|
2478
|
+
position: absolute;
|
|
2479
|
+
width: 8px;
|
|
2480
|
+
height: 8px;
|
|
2481
|
+
background: #fff;
|
|
2482
|
+
border: 1.5px solid #888;
|
|
2483
|
+
border-radius: 1px;
|
|
2484
|
+
z-index: 10;
|
|
2485
|
+
box-sizing: border-box;
|
|
2486
|
+
}
|
|
2487
|
+
|
|
2488
|
+
/* ── ./Canvas/shapes/Region/Region.css ─────────────────────────────────────── */
|
|
2489
|
+
/*
|
|
2490
|
+
* Copyright (c) Cratis. All rights reserved.
|
|
2491
|
+
* Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
2492
|
+
*/
|
|
2493
|
+
|
|
2494
|
+
.canvas-region {
|
|
2495
|
+
position: relative;
|
|
2496
|
+
border: 2px dashed rgba(100, 150, 240, 0.55);
|
|
2497
|
+
border-radius: 4px;
|
|
2498
|
+
background: rgba(100, 150, 240, 0.06);
|
|
2499
|
+
box-sizing: border-box;
|
|
2500
|
+
-webkit-user-select: none;
|
|
2501
|
+
user-select: none;
|
|
2502
|
+
cursor: grab;
|
|
2503
|
+
/*
|
|
2504
|
+
* A host typically raises a selected/dragging region above other board items (via CanvasItem's
|
|
2505
|
+
* zIndex) so its title bar stays visible over cards/notes drifting under it — but that means this
|
|
2506
|
+
* backdrop would otherwise sit on top of, and swallow clicks meant for, whatever is positioned
|
|
2507
|
+
* inside or near it. Let presses pass straight through the backdrop to whatever's underneath; only
|
|
2508
|
+
* the title bar and resize handles below opt back into being interactive.
|
|
2509
|
+
*/
|
|
2510
|
+
pointer-events: none;
|
|
2511
|
+
}
|
|
2512
|
+
|
|
2513
|
+
.canvas-region:active {
|
|
2514
|
+
cursor: grabbing;
|
|
2515
|
+
}
|
|
2516
|
+
|
|
2517
|
+
.canvas-region--selected {
|
|
2518
|
+
border-color: rgba(100, 150, 240, 0.9);
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2521
|
+
/*
|
|
2522
|
+
* Container for the region's member items. Positioned at the region's top-left (region.x/region.y)
|
|
2523
|
+
* with no border or padding, so member coordinates share the same origin used when converting between
|
|
2524
|
+
* absolute and region-relative positions. Zero-sized; only its absolutely-positioned children are
|
|
2525
|
+
* interactive.
|
|
2526
|
+
*/
|
|
2527
|
+
.canvas-region__items {
|
|
2528
|
+
position: absolute;
|
|
2529
|
+
top: 0;
|
|
2530
|
+
left: 0;
|
|
2531
|
+
}
|
|
2532
|
+
|
|
2533
|
+
/* Title bar sits above the region box */
|
|
2534
|
+
.canvas-region__title-bar {
|
|
2535
|
+
position: absolute;
|
|
2536
|
+
top: -28px;
|
|
2537
|
+
left: -2px;
|
|
2538
|
+
height: 28px;
|
|
2539
|
+
padding: 0 8px;
|
|
2540
|
+
background: rgba(100, 150, 240, 0.72);
|
|
2541
|
+
border-radius: 4px 4px 0 0;
|
|
2542
|
+
display: flex;
|
|
2543
|
+
align-items: center;
|
|
2544
|
+
cursor: grab;
|
|
2545
|
+
white-space: nowrap;
|
|
2546
|
+
pointer-events: auto;
|
|
2547
|
+
}
|
|
2548
|
+
|
|
2549
|
+
.canvas-region__title-bar:active {
|
|
2550
|
+
cursor: grabbing;
|
|
2551
|
+
}
|
|
2552
|
+
|
|
2553
|
+
.canvas-region__name {
|
|
2554
|
+
font-size: 12px;
|
|
2555
|
+
font-family: Inter, Helvetica, Arial, sans-serif;
|
|
2556
|
+
font-weight: 600;
|
|
2557
|
+
color: #fff;
|
|
2558
|
+
pointer-events: none;
|
|
2559
|
+
}
|
|
2560
|
+
|
|
2561
|
+
.canvas-region__name-input {
|
|
2562
|
+
font-size: 12px;
|
|
2563
|
+
font-family: Inter, Helvetica, Arial, sans-serif;
|
|
2564
|
+
font-weight: 600;
|
|
2565
|
+
color: #fff;
|
|
2566
|
+
background: transparent;
|
|
2567
|
+
border: none;
|
|
2568
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.6);
|
|
2569
|
+
outline: none;
|
|
2570
|
+
padding: 0;
|
|
2571
|
+
min-width: 80px;
|
|
2572
|
+
cursor: text;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
.canvas-region__handle {
|
|
2576
|
+
position: absolute;
|
|
2577
|
+
width: 8px;
|
|
2578
|
+
height: 8px;
|
|
2579
|
+
background: #fff;
|
|
2580
|
+
border: 1.5px solid rgba(100, 150, 240, 0.8);
|
|
2581
|
+
border-radius: 1px;
|
|
2582
|
+
z-index: 10;
|
|
2583
|
+
box-sizing: border-box;
|
|
2584
|
+
pointer-events: auto;
|
|
2585
|
+
}
|
|
2586
|
+
|
|
1305
2587
|
/* ── ./CommandDialog/CommandStepper.css ─────────────────────────────────────── */
|
|
1306
2588
|
/* Copyright (c) Cratis. All rights reserved. */
|
|
1307
2589
|
/* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
|