@cratis/components 4.19.1 → 4.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/compat-manifest.json +11 -11
- package/dist/esm/Canvas/Canvas.d.ts +1 -0
- package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
- package/dist/esm/Canvas/Canvas.js.map +1 -1
- package/dist/esm/Canvas/CanvasControls.d.ts +1 -0
- package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasControls.js.map +1 -1
- package/dist/esm/Canvas/CanvasItem.js.map +1 -1
- package/dist/esm/Canvas/CanvasMinimap.js.map +1 -1
- package/dist/esm/Canvas/CanvasOverlay.js.map +1 -1
- package/dist/esm/Canvas/canvasGesture.js.map +1 -1
- package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -1
- package/dist/esm/Canvas/index.d.ts +1 -0
- package/dist/esm/Canvas/index.d.ts.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -1
- package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -1
- package/dist/esm/Canvas/panMomentum.js.map +1 -1
- package/dist/esm/Canvas/pinchGesture.js.map +1 -1
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -1
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -1
- package/dist/esm/Canvas/shapes/Note/NoteTextChanged.js.map +1 -1
- package/dist/esm/Canvas/shapes/Note/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/ItemAddedToRegion.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/ItemRemovedFromRegion.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/regionContainment.js.map +1 -1
- package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -1
- package/dist/esm/Canvas/zoomMechanism.js.map +1 -1
- package/dist/esm/Chat/ChatAuthor.d.ts +1 -0
- package/dist/esm/Chat/ChatAuthor.d.ts.map +1 -0
- package/dist/esm/Chat/ChatAuthor.js.map +1 -1
- package/dist/esm/Chat/ChatConversation.d.ts +1 -0
- package/dist/esm/Chat/ChatConversation.d.ts.map +1 -0
- package/dist/esm/Chat/ChatConversation.js.map +1 -1
- package/dist/esm/Chat/ChatIdentifier.js.map +1 -1
- package/dist/esm/Chat/ChatMention.d.ts +1 -0
- package/dist/esm/Chat/ChatMention.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMention.js.map +1 -1
- package/dist/esm/Chat/ChatMessage.d.ts +1 -0
- package/dist/esm/Chat/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessage.js.map +1 -1
- package/dist/esm/Chat/ChatMessageAction.d.ts +1 -0
- package/dist/esm/Chat/ChatMessageAction.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessageAction.js.map +1 -1
- package/dist/esm/Chat/ChatMessageBody.d.ts +1 -0
- package/dist/esm/Chat/ChatMessageBody.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessageBody.js.map +1 -1
- package/dist/esm/Chat/ChatSidebar.d.ts +5 -1
- package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -0
- package/dist/esm/Chat/ChatSidebar.js +2 -2
- package/dist/esm/Chat/ChatSidebar.js.map +1 -1
- package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts +1 -0
- package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts.map +1 -0
- package/dist/esm/Chat/ChatSidebarForObservableQueries.js.map +1 -1
- package/dist/esm/Chat/ChatStatus.js.map +1 -1
- package/dist/esm/Chat/ChatTopic.d.ts +1 -0
- package/dist/esm/Chat/ChatTopic.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopic.js.map +1 -1
- package/dist/esm/Chat/ChatTopicAction.d.ts +23 -0
- package/dist/esm/Chat/ChatTopicAction.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicAction.js +4 -0
- package/dist/esm/Chat/ChatTopicAction.js.map +1 -0
- package/dist/esm/Chat/ChatTopicActions.d.ts +25 -0
- package/dist/esm/Chat/ChatTopicActions.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicActions.js +6 -0
- package/dist/esm/Chat/ChatTopicActions.js.map +1 -0
- package/dist/esm/Chat/ChatTopicList.d.ts +6 -2
- package/dist/esm/Chat/ChatTopicList.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicList.js +17 -9
- package/dist/esm/Chat/ChatTopicList.js.map +1 -1
- package/dist/esm/Chat/Kit/AnchoredOverlay.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/PersonAvatarCircle.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/getAvatarColor.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/getInitials.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.js +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Chat.d.ts +1 -0
- package/dist/esm/Chat/Kit/Chat.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Chat.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatAuthorKind.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatBubble.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatBubble.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatBubble.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatComposer.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatComposer.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatComposer.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessage.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessage.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageAdded.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessageBubble.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessageReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageReactionUser.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatOwnReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatTypingAuthor.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatVariant.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiCategoryKey.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiMemory.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.js +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.js.map +1 -1
- package/dist/esm/Chat/Kit/FailedReply.d.ts +1 -0
- package/dist/esm/Chat/Kit/FailedReply.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/FailedReply.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionQuery.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/applyMention.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/extractMentions.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/findMentionRanges.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.js +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/mentionSegments.js.map +1 -1
- package/dist/esm/Chat/Kit/MessageReactions.d.ts +1 -0
- package/dist/esm/Chat/Kit/MessageReactions.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/MessageReactions.js.map +1 -1
- package/dist/esm/Chat/Kit/ReactionPicker.d.ts +1 -0
- package/dist/esm/Chat/Kit/ReactionPicker.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ReactionPicker.js.map +1 -1
- package/dist/esm/Chat/Kit/TypingIndicator.d.ts +1 -0
- package/dist/esm/Chat/Kit/TypingIndicator.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/TypingIndicator.js.map +1 -1
- package/dist/esm/Chat/Kit/findOwnReaction.d.ts +1 -0
- package/dist/esm/Chat/Kit/findOwnReaction.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/findOwnReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/index.js +1 -0
- package/dist/esm/Chat/Kit/index.js.map +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.js.map +1 -1
- package/dist/esm/Chat/index.d.ts +2 -0
- package/dist/esm/Chat/index.d.ts.map +1 -0
- package/dist/esm/Chat/isTopicUnnamed.d.ts +1 -0
- package/dist/esm/Chat/isTopicUnnamed.d.ts.map +1 -0
- package/dist/esm/Chat/isTopicUnnamed.js.map +1 -1
- package/dist/esm/Chat/relativeTimestamp.js.map +1 -1
- package/dist/esm/Chat/shouldRequestTopicName.js.map +1 -1
- package/dist/esm/Chat/topicsByActivity.d.ts +1 -0
- package/dist/esm/Chat/topicsByActivity.d.ts.map +1 -0
- package/dist/esm/Chat/topicsByActivity.js.map +1 -1
- package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts +19 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts.map +1 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.js +41 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.js.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepperContent.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandStepperContent.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandStepperContent.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +1 -0
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -0
- 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/commandValuesUnchanged.js.map +1 -1
- package/dist/esm/CommandDialog/confirmBeforeExecute.js.map +1 -1
- package/dist/esm/CommandDialog/index.d.ts +1 -0
- package/dist/esm/CommandDialog/index.d.ts.map +1 -0
- package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
- package/dist/esm/CommandDialog/transitionStep.d.ts +1 -0
- package/dist/esm/CommandDialog/transitionStep.d.ts.map +1 -0
- package/dist/esm/CommandDialog/transitionStep.js.map +1 -1
- package/dist/esm/CommandDialog/useCommandExecution.d.ts +1 -0
- package/dist/esm/CommandDialog/useCommandExecution.d.ts.map +1 -0
- package/dist/esm/CommandDialog/useCommandExecution.js.map +1 -1
- package/dist/esm/CommandDialog/useSubmissionFlight.js.map +1 -1
- package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
- package/dist/esm/CommandForm/FieldTypeProvider.js.map +1 -1
- package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -1
- package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts +1 -0
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts.map +1 -0
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberInputField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/NumberInputField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/NumberInputField.js.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
- package/dist/esm/CommandForm/fields/chipValues.js.map +1 -1
- package/dist/esm/CommandForm/fields/fieldAccessibility.js.map +1 -1
- package/dist/esm/CommandForm/fields/fieldValueFromEvent.js.map +1 -1
- package/dist/esm/CommandForm/fields/index.d.ts +1 -0
- package/dist/esm/CommandForm/fields/index.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/index.js +1 -0
- package/dist/esm/CommandForm/fields/index.js.map +1 -0
- package/dist/esm/CommandForm/index.d.ts +1 -0
- package/dist/esm/CommandForm/index.d.ts.map +1 -0
- package/dist/esm/Common/ActionMenubar.d.ts +1 -0
- package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
- package/dist/esm/Common/ActionMenubar.js.map +1 -1
- package/dist/esm/Common/Breadcrumbs.js.map +1 -1
- package/dist/esm/Common/Button.d.ts +1 -0
- package/dist/esm/Common/Button.d.ts.map +1 -0
- package/dist/esm/Common/Button.js.map +1 -1
- package/dist/esm/Common/ButtonImplementation.d.ts +1 -0
- package/dist/esm/Common/ButtonImplementation.d.ts.map +1 -0
- package/dist/esm/Common/ButtonImplementation.js.map +1 -1
- package/dist/esm/Common/Checkbox.d.ts +1 -0
- package/dist/esm/Common/Checkbox.d.ts.map +1 -0
- package/dist/esm/Common/Checkbox.js.map +1 -1
- package/dist/esm/Common/CheckboxImplementation.d.ts +1 -0
- package/dist/esm/Common/CheckboxImplementation.d.ts.map +1 -0
- package/dist/esm/Common/CheckboxImplementation.js.map +1 -1
- package/dist/esm/Common/ComboBox.js.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.d.ts +1 -0
- package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -0
- package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
- package/dist/esm/Common/DatePickerInput.d.ts +1 -0
- package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
- package/dist/esm/Common/DatePickerInput.js.map +1 -1
- package/dist/esm/Common/DatePickerInputImplementation.d.ts +1 -0
- package/dist/esm/Common/DatePickerInputImplementation.d.ts.map +1 -0
- package/dist/esm/Common/DatePickerInputImplementation.js.map +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/IconButton.d.ts +1 -0
- package/dist/esm/Common/IconButton.d.ts.map +1 -0
- package/dist/esm/Common/IconButton.js.map +1 -1
- package/dist/esm/Common/IconButtonImplementation.d.ts +1 -0
- package/dist/esm/Common/IconButtonImplementation.d.ts.map +1 -0
- package/dist/esm/Common/IconButtonImplementation.js.map +1 -1
- package/dist/esm/Common/NumberInput.d.ts +1 -0
- package/dist/esm/Common/NumberInput.d.ts.map +1 -0
- package/dist/esm/Common/NumberInput.js.map +1 -1
- package/dist/esm/Common/NumberInputCommitReason.js.map +1 -1
- package/dist/esm/Common/NumberInputPartAttributes.js.map +1 -1
- package/dist/esm/Common/Page.js.map +1 -1
- package/dist/esm/Common/Radio.d.ts +1 -0
- package/dist/esm/Common/Radio.d.ts.map +1 -0
- package/dist/esm/Common/Radio.js.map +1 -1
- package/dist/esm/Common/RadioImplementation.d.ts +1 -0
- package/dist/esm/Common/RadioImplementation.d.ts.map +1 -0
- package/dist/esm/Common/RadioImplementation.js.map +1 -1
- package/dist/esm/Common/Surface.js.map +1 -1
- package/dist/esm/Common/SurfaceImplementation.d.ts +1 -0
- package/dist/esm/Common/SurfaceImplementation.d.ts.map +1 -0
- package/dist/esm/Common/SurfaceImplementation.js.map +1 -1
- package/dist/esm/Common/Switch.d.ts +1 -0
- package/dist/esm/Common/Switch.d.ts.map +1 -0
- package/dist/esm/Common/Switch.js.map +1 -1
- package/dist/esm/Common/SwitchImplementation.d.ts +1 -0
- package/dist/esm/Common/SwitchImplementation.d.ts.map +1 -0
- package/dist/esm/Common/SwitchImplementation.js.map +1 -1
- package/dist/esm/Common/Tabs.js.map +1 -1
- package/dist/esm/Common/TagGroup.js.map +1 -1
- package/dist/esm/Common/TextArea.d.ts +1 -0
- package/dist/esm/Common/TextArea.d.ts.map +1 -0
- package/dist/esm/Common/TextArea.js.map +1 -1
- package/dist/esm/Common/TextAreaImplementation.d.ts +1 -0
- package/dist/esm/Common/TextAreaImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TextAreaImplementation.js.map +1 -1
- package/dist/esm/Common/TextInput.d.ts +1 -0
- package/dist/esm/Common/TextInput.d.ts.map +1 -0
- package/dist/esm/Common/TextInput.js.map +1 -1
- package/dist/esm/Common/TextInputImplementation.d.ts +1 -0
- package/dist/esm/Common/TextInputImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TextInputImplementation.js.map +1 -1
- package/dist/esm/Common/ToggleGroup.js.map +1 -1
- package/dist/esm/Common/ToolbarFocusMode.js.map +1 -1
- package/dist/esm/Common/Tooltip.js.map +1 -1
- package/dist/esm/Common/TooltipImplementation.d.ts +1 -0
- package/dist/esm/Common/TooltipImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TooltipImplementation.js.map +1 -1
- package/dist/esm/Common/index.d.ts +1 -0
- package/dist/esm/Common/index.d.ts.map +1 -0
- package/dist/esm/Common/messaging/useOptionalMessenger.js.map +1 -1
- package/dist/esm/Common/normalizeIconClass.js.map +1 -1
- package/dist/esm/Common/reactAriaProps.js.map +1 -1
- package/dist/esm/Common/useNativeCheckedState.js.map +1 -1
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +1 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts.map +1 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -1
- package/dist/esm/DataPage/DataPage.d.ts +1 -0
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -0
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
- package/dist/esm/DataPage/index.d.ts +1 -0
- package/dist/esm/DataPage/index.d.ts.map +1 -0
- package/dist/esm/DataTables/Column.d.ts +1 -0
- package/dist/esm/DataTables/Column.d.ts.map +1 -0
- package/dist/esm/DataTables/Column.js.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
- package/dist/esm/DataTables/DataTableCore.d.ts +1 -0
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableCore.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -0
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -1
- package/dist/esm/DataTables/DataTableStatus.js.map +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts +1 -0
- package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
- package/dist/esm/DataTables/TablePaginator.js.map +1 -1
- package/dist/esm/DataTables/TablePaginatorImplementation.d.ts +1 -0
- package/dist/esm/DataTables/TablePaginatorImplementation.d.ts.map +1 -0
- package/dist/esm/DataTables/TablePaginatorImplementation.js.map +1 -1
- package/dist/esm/DataTables/index.d.ts +1 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -0
- package/dist/esm/DataTables/paginatorRange.js.map +1 -1
- package/dist/esm/DataTables/resolveDataTableStatus.d.ts +1 -0
- package/dist/esm/DataTables/resolveDataTableStatus.d.ts.map +1 -0
- package/dist/esm/DataTables/resolveDataTableStatus.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 +1 -0
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -0
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Dialogs/DialogImplementation.d.ts +1 -0
- package/dist/esm/Dialogs/DialogImplementation.d.ts.map +1 -0
- package/dist/esm/Dialogs/DialogImplementation.js.map +1 -1
- package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
- package/dist/esm/Dialogs/index.d.ts +1 -0
- package/dist/esm/Dialogs/index.d.ts.map +1 -0
- 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/ProgressBarImplementation.d.ts +1 -0
- package/dist/esm/Display/ProgressBarImplementation.d.ts.map +1 -0
- package/dist/esm/Display/ProgressBarImplementation.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/Display/index.d.ts +1 -0
- package/dist/esm/Display/index.d.ts.map +1 -0
- package/dist/esm/Dropdown/Dropdown.d.ts +1 -0
- package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Dropdown/DropdownImplementation.d.ts +1 -0
- package/dist/esm/Dropdown/DropdownImplementation.d.ts.map +1 -0
- package/dist/esm/Dropdown/DropdownImplementation.js.map +1 -1
- package/dist/esm/Dropdown/index.d.ts +1 -0
- package/dist/esm/Dropdown/index.d.ts.map +1 -0
- package/dist/esm/Dropdown/observeLabelAssociations.js.map +1 -1
- package/dist/esm/Dropdown/useExternalLabel.js.map +1 -1
- package/dist/esm/Filter/CheckboxListFilter.d.ts +1 -0
- package/dist/esm/Filter/CheckboxListFilter.d.ts.map +1 -0
- package/dist/esm/Filter/CheckboxListFilter.js.map +1 -1
- package/dist/esm/Filter/FilterEditor.d.ts +1 -0
- package/dist/esm/Filter/FilterEditor.d.ts.map +1 -0
- package/dist/esm/Filter/FilterEditor.js.map +1 -1
- package/dist/esm/Filter/FilterEditorProps.d.ts +1 -0
- package/dist/esm/Filter/FilterEditorProps.d.ts.map +1 -0
- package/dist/esm/Filter/FilterEditorProps.js.map +1 -1
- package/dist/esm/Filter/FilterPanel.d.ts +1 -0
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -0
- package/dist/esm/Filter/FilterPanel.js.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.d.ts +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/Filter/index.d.ts +1 -0
- package/dist/esm/Filter/index.d.ts.map +1 -0
- package/dist/esm/Filter/types.js.map +1 -1
- package/dist/esm/Filter/useFilterState.d.ts +1 -0
- package/dist/esm/Filter/useFilterState.d.ts.map +1 -0
- package/dist/esm/Filter/useFilterState.js.map +1 -1
- package/dist/esm/Filter/useOptionListOverflow.js.map +1 -1
- package/dist/esm/Filter/utils.d.ts +1 -0
- package/dist/esm/Filter/utils.d.ts.map +1 -0
- package/dist/esm/Filter/utils.js.map +1 -1
- package/dist/esm/Notifications/Toaster.js.map +1 -1
- package/dist/esm/Notifications/index.d.ts +1 -0
- package/dist/esm/Notifications/index.d.ts.map +1 -0
- package/dist/esm/Notifications/toast.js.map +1 -1
- package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/esm/ObjectContentEditor/index.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.d.ts.map +1 -0
- 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/ObjectNavigationalBar/index.d.ts +1 -0
- package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -0
- package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewerLabels.js.map +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts +1 -0
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +1 -0
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +1 -0
- package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +1 -0
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +1 -0
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.d.ts +1 -0
- package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +1 -0
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/index.d.ts +1 -0
- package/dist/esm/PivotViewer/components/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/index.js +1 -0
- package/dist/esm/PivotViewer/components/index.js.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts.map +1 -0
- 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/ellipsize.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/groups.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/groups.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/visibility.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/PivotViewer/engine/layout.d.ts.map +1 -0
- package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
- package/dist/esm/PivotViewer/engine/pivot.worker.js +1 -0
- package/dist/esm/PivotViewer/engine/pivot.worker.js.map +1 -0
- package/dist/esm/PivotViewer/engine/requestCorrelator.js.map +1 -1
- package/dist/esm/PivotViewer/engine/store.d.ts +1 -0
- package/dist/esm/PivotViewer/engine/store.d.ts.map +1 -0
- package/dist/esm/PivotViewer/engine/store.js.map +1 -1
- package/dist/esm/PivotViewer/engine/types.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/index.js +1 -0
- package/dist/esm/PivotViewer/hooks/index.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterState.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterState.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.js +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useSelectedItem.js +1 -0
- package/dist/esm/PivotViewer/hooks/useSelectedItem.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts.map +1 -0
- 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/useZoomScrollAnchor.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
- package/dist/esm/PivotViewer/index.d.ts +1 -0
- package/dist/esm/PivotViewer/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/types.d.ts +1 -0
- package/dist/esm/PivotViewer/types.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/cardPosition.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/idResolution.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
- package/dist/esm/PivotViewer/utils/index.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/index.js +1 -0
- package/dist/esm/PivotViewer/utils/index.js.map +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.js.map +1 -1
- package/dist/esm/PivotViewer/utils/search.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/search.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/search.js.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
- package/dist/esm/PivotViewer/utils/utils.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/utils.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
- package/dist/esm/QueryStatus/QueryStatus.js.map +1 -1
- package/dist/esm/QueryStatus/resolveQueryStatus.d.ts +1 -0
- package/dist/esm/QueryStatus/resolveQueryStatus.d.ts.map +1 -0
- package/dist/esm/QueryStatus/resolveQueryStatus.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.d.ts +1 -0
- package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts +1 -0
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts +1 -0
- package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/esm/SchemaEditor/index.d.ts +1 -0
- package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.d.ts +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
- package/dist/esm/TimeMachine/EventsView.d.ts +1 -0
- package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -0
- package/dist/esm/TimeMachine/EventsView.js.map +1 -1
- package/dist/esm/TimeMachine/Properties.js.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.d.ts +1 -0
- package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -0
- package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.d.ts +1 -0
- package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -0
- package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
- package/dist/esm/TimeMachine/index.d.ts +1 -0
- package/dist/esm/TimeMachine/index.d.ts.map +1 -0
- package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
- package/dist/esm/TimeMachine/types.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.d.ts +1 -0
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -0
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -0
- 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/ToolbarItemVisibilityContext.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/Toolbar/index.d.ts +1 -0
- package/dist/esm/Toolbar/index.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsContext.d.ts +1 -0
- package/dist/esm/configuration/CratisComponentsContext.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsContext.js.map +1 -1
- package/dist/esm/configuration/CratisComponentsDefaults.d.ts +1 -0
- package/dist/esm/configuration/CratisComponentsDefaults.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
- package/dist/esm/configuration/useCratisIcon.d.ts +1 -0
- package/dist/esm/configuration/useCratisIcon.d.ts.map +1 -0
- package/dist/esm/configuration/useCratisIcon.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/renderer/DialogStackContext.js.map +1 -1
- package/dist/esm/renderer/RendererContext.d.ts +1 -0
- package/dist/esm/renderer/RendererContext.d.ts.map +1 -0
- package/dist/esm/renderer/RendererContext.js.map +1 -1
- package/dist/esm/renderer/RendererScope.d.ts +1 -0
- package/dist/esm/renderer/RendererScope.d.ts.map +1 -0
- package/dist/esm/renderer/RendererScope.js.map +1 -1
- package/dist/esm/renderer/builtin/index.js.map +1 -1
- package/dist/esm/renderer/capabilities.js.map +1 -1
- package/dist/esm/renderer/coreSlots.d.ts +1 -0
- package/dist/esm/renderer/coreSlots.d.ts.map +1 -0
- package/dist/esm/renderer/coreSlots.js.map +1 -1
- package/dist/esm/renderer/dialogStack.js.map +1 -1
- package/dist/esm/renderer/errors.d.ts +1 -0
- package/dist/esm/renderer/errors.d.ts.map +1 -0
- package/dist/esm/renderer/errors.js.map +1 -1
- package/dist/esm/renderer/index.d.ts +1 -0
- package/dist/esm/renderer/index.d.ts.map +1 -0
- package/dist/esm/renderer/manifest.d.ts +1 -0
- package/dist/esm/renderer/manifest.d.ts.map +1 -0
- package/dist/esm/renderer/manifest.js.map +1 -1
- package/dist/esm/renderer/overlayEnvironment.js.map +1 -1
- package/dist/esm/renderer/presentation.d.ts +1 -0
- package/dist/esm/renderer/presentation.d.ts.map +1 -0
- package/dist/esm/renderer/presentation.js.map +1 -1
- package/dist/esm/renderer/renderSlot.js.map +1 -1
- package/dist/esm/renderer/resolve.d.ts +1 -0
- package/dist/esm/renderer/resolve.d.ts.map +1 -0
- package/dist/esm/renderer/resolve.js.map +1 -1
- package/dist/esm/renderer/slots.js.map +1 -1
- package/dist/esm/styles.Canvas.css +17 -1
- package/dist/esm/styles.Chat.css +17 -1
- package/dist/esm/styles.css +17 -1
- package/dist/esm/types/ChangeHandler.d.ts +1 -0
- package/dist/esm/types/ChangeHandler.d.ts.map +1 -0
- package/dist/esm/types/ChangeHandler.js.map +1 -1
- package/dist/esm/types/ChangeMeta.js.map +1 -1
- package/dist/esm/types/ExactPartKeys.js.map +1 -1
- package/dist/esm/types/JsonSchema.js.map +1 -1
- package/dist/esm/types/TypeFormat.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/parts.js.map +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ The current package manifest declares these peer dependencies:
|
|
|
27
27
|
- optional `pixi.js` `^8.20.0`
|
|
28
28
|
- `react` and `react-dom` `^19.0.0`
|
|
29
29
|
- `reflect-metadata` `0.2.2`
|
|
30
|
-
- `tsyringe` `4.10.0`
|
|
30
|
+
- optional `tsyringe` `4.10.0` (Arc React installs it as its own dependency)
|
|
31
31
|
|
|
32
32
|
Strict installers can declare them explicitly; keep both Arc packages on the version your generated proxies were produced with. This repository builds and tests against Arc 22.16.0:
|
|
33
33
|
|
|
@@ -36,7 +36,7 @@ ARC_VERSION=22.16.0
|
|
|
36
36
|
npm install @cratis/components@^4 \
|
|
37
37
|
"@cratis/arc@$ARC_VERSION" "@cratis/arc.react@$ARC_VERSION" \
|
|
38
38
|
@cratis/fundamentals@^7.19.2 react@^19 react-dom@^19 \
|
|
39
|
-
reflect-metadata@0.2.2
|
|
39
|
+
reflect-metadata@0.2.2
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
The current manifest does not declare PrimeReact, PrimeIcons, or PrimeUI packages as dependencies or peers. Applications retaining direct dependencies keep their own package, provider, styling, and license boundaries.
|
package/compat-manifest.json
CHANGED
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
{
|
|
69
69
|
"name": "@cratis/components",
|
|
70
70
|
"role": "core",
|
|
71
|
-
"version": "4.
|
|
71
|
+
"version": "4.20.0",
|
|
72
72
|
"releaseMajorRange": ">=4 <5",
|
|
73
73
|
"independentRelease": false,
|
|
74
74
|
"private": false,
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
{
|
|
93
93
|
"name": "@cratis/eslint-plugin-components",
|
|
94
94
|
"role": "eslint",
|
|
95
|
-
"version": "4.
|
|
95
|
+
"version": "4.20.0",
|
|
96
96
|
"releaseMajorRange": ">=4 <5",
|
|
97
97
|
"independentRelease": false,
|
|
98
98
|
"private": false,
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
{
|
|
106
106
|
"name": "@cratis/components.migrator",
|
|
107
107
|
"role": "migrator",
|
|
108
|
-
"version": "4.
|
|
108
|
+
"version": "4.20.0",
|
|
109
109
|
"releaseMajorRange": ">=4 <5",
|
|
110
110
|
"independentRelease": false,
|
|
111
111
|
"private": false,
|
|
@@ -116,13 +116,13 @@
|
|
|
116
116
|
{
|
|
117
117
|
"name": "@cratis/components.conformance",
|
|
118
118
|
"role": "conformance",
|
|
119
|
-
"version": "4.
|
|
119
|
+
"version": "4.20.0",
|
|
120
120
|
"releaseMajorRange": ">=4 <5",
|
|
121
121
|
"independentRelease": false,
|
|
122
122
|
"private": false,
|
|
123
123
|
"packageAccess": "public",
|
|
124
124
|
"peerDependencies": {
|
|
125
|
-
"@cratis/components": "4.
|
|
125
|
+
"@cratis/components": "4.20.0",
|
|
126
126
|
"react": "^19.0.0",
|
|
127
127
|
"react-dom": "^19.0.0"
|
|
128
128
|
},
|
|
@@ -132,13 +132,13 @@
|
|
|
132
132
|
{
|
|
133
133
|
"name": "@cratis/components.mui",
|
|
134
134
|
"role": "renderer-adapter",
|
|
135
|
-
"version": "4.
|
|
135
|
+
"version": "4.20.0",
|
|
136
136
|
"releaseMajorRange": ">=4 <5",
|
|
137
137
|
"independentRelease": false,
|
|
138
138
|
"private": false,
|
|
139
139
|
"packageAccess": "public",
|
|
140
140
|
"peerDependencies": {
|
|
141
|
-
"@cratis/components": "4.
|
|
141
|
+
"@cratis/components": "4.20.0",
|
|
142
142
|
"@emotion/react": ">=11.5 <12",
|
|
143
143
|
"@emotion/styled": ">=11.11 <12",
|
|
144
144
|
"@mui/material": ">=9 <10",
|
|
@@ -188,13 +188,13 @@
|
|
|
188
188
|
{
|
|
189
189
|
"name": "@cratis/components.primereact",
|
|
190
190
|
"role": "renderer-adapter",
|
|
191
|
-
"version": "4.
|
|
191
|
+
"version": "4.20.0",
|
|
192
192
|
"releaseMajorRange": ">=4 <5",
|
|
193
193
|
"independentRelease": false,
|
|
194
194
|
"private": false,
|
|
195
195
|
"packageAccess": "public",
|
|
196
196
|
"peerDependencies": {
|
|
197
|
-
"@cratis/components": "4.
|
|
197
|
+
"@cratis/components": "4.20.0",
|
|
198
198
|
"@primereact/core": ">=11 <12",
|
|
199
199
|
"@primereact/ui": ">=11 <12",
|
|
200
200
|
"@primeuix/themes": ">=3 <4",
|
|
@@ -256,13 +256,13 @@
|
|
|
256
256
|
{
|
|
257
257
|
"name": "@cratis/components.primereact10",
|
|
258
258
|
"role": "renderer-adapter",
|
|
259
|
-
"version": "4.
|
|
259
|
+
"version": "4.20.0",
|
|
260
260
|
"releaseMajorRange": ">=4 <5",
|
|
261
261
|
"independentRelease": false,
|
|
262
262
|
"private": false,
|
|
263
263
|
"packageAccess": "public",
|
|
264
264
|
"peerDependencies": {
|
|
265
|
-
"@cratis/components": "4.
|
|
265
|
+
"@cratis/components": "4.20.0",
|
|
266
266
|
"primereact": ">=10.9.9 <11",
|
|
267
267
|
"react": "^19.0.0",
|
|
268
268
|
"react-dom": "^19.0.0"
|
|
@@ -163,3 +163,4 @@ export interface CanvasProps<T extends CanvasItemData = CanvasItemData> {
|
|
|
163
163
|
*/
|
|
164
164
|
declare function Canvas<T extends CanvasItemData = CanvasItemData>({ children, items, renderItem, onItemPointerDown, onReady, onTransformChange, onHandleReady, initialZoom, initialPan, minZoom, maxZoom, showControls, showMinimap, minimapWorldWidth, minimapWorldHeight, minimapItems, controlsPlacement, className, style, onHelp, helpTitle, controlsLabels, controlsIcons, controlsFollowViewportInsets, controlsGlassSurface, disableControlsGlass, captureAttributes, readOnly, backgroundDragPans, }: CanvasProps<T>): React.ReactElement;
|
|
165
165
|
export { Canvas };
|
|
166
|
+
//# sourceMappingURL=Canvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../Canvas/Canvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.js","sources":["../../../Canvas/Canvas.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;AAwCA,SAAS,cAAc,CAAC,QAAgB,EAAA;IACpC,OAAO,QAAQ,GAAG;AACd,UAAE,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG;AAC5B,UAAE,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C;AAiEO,MAAM,yBAAyB,GAClC,KAAK,CAAC,aAAa,CAAwC,IAAI;AAoHnE,MAAM,cAAc,GAAG,KAAK;AAI5B,MAAM,iBAAiB,GAAG,GAAG;AAQ7B,MAAM,yBAAyB,GAAG,GAAG;AAIrC,MAAM,qBAAqB,GAAG,IAAI;AAWlC,SAAS,MAAM,CAA4C,EACvD,QAAQ,EACR,KAAK,GAAG,EAAS,EACjB,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAC3B,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,CAAC,EACX,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,KAAK,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAAG,aAAa,EACjC,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,cAAc,EACd,aAAa,EACb,4BAA4B,GAAG,IAAI,EACnC,oBAAoB,EACpB,oBAAoB,GAAG,KAAK,EAC5B,iBAAiB,EACjB,QAAQ,GAAG,KAAK,EAChB,kBAAkB,GAAG,IAAI,GACZ,EAAA;AACb,IAAA,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC;IACjD,qBAAqB,CAAC,YAAY,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,MAAM,CAA0B,IAAI,CAAC;AACpD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC;AACpD,IAAA,MAAM,UAAU,GAAG,MAAM,CAA6B,IAAI,CAAC;AAC3D,IAAA,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC;AAC/C,IAAA,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAA8B,IAAI,GAAG,EAAE,CAAC;AACjE,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAgB,IAAI,CAAC;IAErD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAGjD,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;AAC3D,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAOnC,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAM1E,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;AACtC,IAAA,MAAM,qBAAqB,GAAG,MAAM,CAChC,SAAS,CACZ;AACD,IAAA,MAAM,wBAAwB,GAAG,MAAM,CAAC,KAAK,CAAC;AAC9C,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAM7C,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,OAAgB,KAAI;QAClD,IAAI,YAAY,CAAC,OAAO;AACpB,YAAA,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS;IAC5E,CAAC,EAAE,EAAE,CAAC;IAKN,MAAM,gBAAgB,GAAG,MAAM,CAA+B,IAAI,GAAG,EAAE,CAAC;AACxE,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAuB,IAAI,CAAC;AAInD,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAc,EAAE,CAAC;AAGlD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AAClC,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACtD,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACtD,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9B,SAAS,CAAC,MAAK;AACX,QAAA,UAAU,CAAC,OAAO,GAAG,OAAO;AAChC,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACb,SAAS,CAAC,MAAK;AACX,QAAA,oBAAoB,CAAC,OAAO,GAAG,iBAAiB;AACpD,IAAA,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACvB,SAAS,CAAC,MAAK;AACX,QAAA,oBAAoB,CAAC,OAAO,GAAG,iBAAiB;AACpD,IAAA,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACvB,SAAS,CAAC,MAAK;AACX,QAAA,gBAAgB,CAAC,OAAO,GAAG,aAAa;AAC5C,IAAA,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IACnB,SAAS,CAAC,MAAK;AACX,QAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AAC5B,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAIX,MAAM,eAAe,GAAG,MAAM,CAAuC,IAAI,GAAG,EAAE,CAAC;IAC/E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAOjE,MAAM,mBAAmB,GAAG,MAAM,CAC9B,IAAI,GAAG,EAAE,CACZ;IACD,MAAM,oBAAoB,GAAG,MAAM,CAAkB,IAAI,GAAG,EAAE,CAAC;AAE/D,IAAA,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAK;QAC3C,mBAAmB,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC;QAC9D,sBAAsB,CAAC,CAAC,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC;AAChD,QAAA,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC;IAEN,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,EAAU,EAAE,KAA8B,KAAI;QAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AAChD,QAAA,IACI,QAAQ;AACR,YAAA,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;AACtB,YAAA,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;AACtB,YAAA,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;AAC9B,YAAA,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;AAChC,YAAA,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAEtC;QACJ,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;AACtC,QAAA,qBAAqB,EAAE;AAC3B,IAAA,CAAC,EACD,CAAC,qBAAqB,CAAC,CAC1B;AAED,IAAA,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,EAAU,KAAI;QACX,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE;AACzC,QAAA,qBAAqB,EAAE;AAC3B,IAAA,CAAC,EACD,CAAC,qBAAqB,CAAC,CAC1B;AAED,IAAA,MAAM,mBAAmB,GAAG,WAAW,CACnC,MAAoD,mBAAmB,CAAC,OAAO,EAC/E,EAAE,CACL;AAED,IAAA,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,QAAoB,KAAkB;AAC3E,QAAA,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC1C,QAAA,OAAO,MAAK;AACR,YAAA,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;AACjD,QAAA,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,oBAAoB,GAAG,OAAO,CAChC,OAAO;AACH,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,WAAW,EAAE,mBAAmB;AAChC,QAAA,SAAS,EAAE,mBAAmB;KACjC,CAAC,EACF,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAC3E;AAED,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAoB;QAEjD,MAAM,MAAM,GAAkB,EAAE;QAChC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACtC,MAAM,CAAC,IAAI,CAAC;gBACR,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;AACvB,aAAA,CAAC;AACN,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAM;AACjB,IAAA,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAEzB,IAAA,MAAM,qBAAqB,GAAG,YAAY,IAAI,gBAAgB;AAE9D,IAAA,MAAM,cAAc,GAAG,WAAW,CAAC,MAAK;AACpC,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;AAC1B,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE;QACjC,UAAU,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,OAAO,EACf,GAAG,CAAC,QAAQ,CAAC,KAAK,EAClB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACtB;IACL,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAK;AACzC,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;AAC9B,QAAA,IAAI,CAAC,KAAK;YAAE;AACZ,QAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AAWhC,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,aAAa,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK;QAClG;AACA,QAAA,IAAI,YAAY,CAAC,OAAO,EAAE;AACtB,YAAA,cAAc,CACV,YAAY,CAAC,OAAO,EACpB,OAAO,CAAC,OAAO,EACf,gBAAgB,CAAC,OAAO,CAC3B;QACL;AACA,QAAA,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;QAG/D,uBAAuB,CAAC,MAAM,EAAE;IACpC,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,MAAM,GAAG,WAAW,CAAC,MAAK;AAC5B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;AAC1B,QAAA,IAAI,CAAC,GAAG;YAAE;AAGV,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC;YAAE;AAGpD,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC;IAGN,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO;YAAE;QAElC,IAAI,OAAO,GAAG,IAAI;QAElB,CAAC,YAAW;AACR,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,IAAI,GAAG;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,YAAY,IAAI,GAAG;AAE5E,YAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAClC,MAAM,GAAG,CAAC,IAAI,CAAC;AAGX,gBAAA,eAAe,EAAE,CAAC;AAClB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC;gBACxC,KAAK;gBACL,MAAM;AACN,gBAAA,SAAS,EAAE,KAAK;AACnB,aAAA,CAAC;YAEF,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACnC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACrC;YACJ;AAEA,YAAA,MAAM,CAAC,OAAO,GAAG,GAAG;AAGpB,YAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AAChC,YAAA,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzB,YAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AAExB,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAA2B;AAC9C,YAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;AAC9B,YAAA,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM;AACjC,YAAA,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;YAExC,YAAY,CAAC,IAAI,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAQ9B,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAEzB,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC,GAAG;AAEJ,QAAA,OAAO,MAAK;YACR,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAChB,gBAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAChD,gBAAA,MAAM,CAAC,OAAO,GAAG,IAAI;AACrB,gBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;YAC3B;AACA,YAAA,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,QAAA,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;IAIN,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAuC;AACtE,QAAA,MAAM,SAAS,GAAG,iBAAiB,EAAE,KAAK;AAC1C,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE;AAC3B,QAAA,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;QACtC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;IAClD,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAGzC,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAK;AACrC,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;AAC1B,YAAA,IAAI,CAAC,GAAG;gBAAE;AACV,YAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,CAAC;AAClE,YAAA,MAAM,EAAE;AACZ,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAC3B,QAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE;AACtC,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAMZ,IAAA,MAAM,sBAAsB,GAAG,WAAW,CAAC,MAAK;QAC5C,IAAI,wBAAwB,CAAC,OAAO;YAAE;AACtC,QAAA,wBAAwB,CAAC,OAAO,GAAG,IAAI;QACvC,qBAAqB,CAAC,MAAK;AACvB,YAAA,wBAAwB,CAAC,OAAO,GAAG,KAAK;AACxC,YAAA,mBAAmB,EAAE;AACrB,YAAA,cAAc,EAAE;AAChB,YAAA,MAAM,EAAE;AACZ,QAAA,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAMjD,IAAA,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAK;AACzC,QAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI;AAC/B,QAAA,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAC3C,QAAA,qBAAqB,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;AAC5C,YAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK;AAChC,YAAA,mBAAmB,EAAE;AACrB,YAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,CAAC,EAAE,iBAAiB,CAAC;AACzB,IAAA,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAEzB,IAAA,SAAS,CACL,MAAM,MAAK;AACP,QAAA,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAC3C,QAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B,CAAC,EACD,EAAE,CACL;IAID,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,KAAI;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACpB,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAC9C;AACD,QAAA,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;AAC5D,QAAA,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;QAC5D,MAAM,CAAC,OAAO,GAAG;AACb,YAAA,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;AAC5B,YAAA,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;SAC/B;AACD,QAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AACzB,QAAA,mBAAmB,EAAE;AACrB,QAAA,sBAAsB,EAAE;IAC5B,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAClE;AAGD,IAAA,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,CAAa,KAAI;AACd,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;QAMhB,IACI,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;AACzB,YAAA,yBAAyB,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;YAE9C;QAEJ,CAAC,CAAC,cAAc,EAAE;AAGlB,QAAA,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;AACpC,YAAA,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC/C,YAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;QACpC;AAEA,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;QAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;QAEnC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE;AACxB,YAAA,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;QACrE;aAAO;YACH,MAAM,CAAC,OAAO,GAAG;gBACb,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;gBAC9B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;aACjC;AACD,YAAA,mBAAmB,EAAE;AACrB,YAAA,sBAAsB,EAAE;QAC5B;IACJ,CAAC,EACD,CAAC,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAC7D;IAED,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpE,OAAO,MAAM,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;AACpE,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAWjB,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;QAEhB,IAAI,SAAS,GAAG,CAAC;AACjB,QAAA,MAAM,kBAAkB,GAAG,CAAC,KAAY,KAAI;YACxC,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,SAAS,GAAI,KAA4B,CAAC,KAAK,IAAI,CAAC;AACxD,QAAA,CAAC;AACD,QAAA,MAAM,mBAAmB,GAAG,CAAC,KAAY,KAAI;YACzC,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE;YAEvC,MAAM,OAAO,GAAG,KAA2B;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS;gBAAE;AAElC,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;YAC9C,WAAW,CACP,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAC3B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAC1B,OAAO,CAAC,KAAK,GAAG,SAAS,CAC5B;AACD,YAAA,SAAS,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAA,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,KAAY,KAAK,KAAK,CAAC,cAAc,EAAE;AAKjE,QAAA,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,EAAE;AAC3D,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA,CAAC;AACF,QAAA,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,EAAE;AAC7D,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA,CAAC;AACF,QAAA,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9E,QAAA,OAAO,MAAK;AACR,YAAA,SAAS,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjE,YAAA,SAAS,CAAC,mBAAmB,CAAC,eAAe,EAAE,mBAAmB,CAAC;AACnE,YAAA,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACjE,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAcjB,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,KAAI;YAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE;YAC1D,QACI,CAAC,CAAC,IAAI;gBACN,CAAC,IAAI,IAAI,CAAC,IAAI;gBACd,CAAC,IAAI,IAAI,CAAC,KAAK;gBACf,CAAC,IAAI,IAAI,CAAC,GAAG;AACb,gBAAA,CAAC,IAAI,IAAI,CAAC,MAAM;AAExB,QAAA,CAAC;QACD,MAAM,yBAAyB,GAAG,CAAC,KAAY,KAC3C,KAAK,CAAC,MAAM,YAAY,IAAI;YAC5B,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAClD,QAAA,MAAM,iBAAiB,GAAG,CAAC,KAAiB,KAAI;YAC5C,IACI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;gBAC/B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAC9C;gBACE,KAAK,CAAC,cAAc,EAAE;YAC1B;AACJ,QAAA,CAAC;QAED,IAAI,SAAS,GAAG,CAAC;AACjB,QAAA,MAAM,wBAAwB,GAAG,CAAC,KAAY,KAAI;YAC9C,MAAM,OAAO,GAAG,KAA2B;YAC3C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAAE;YACvD,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;AAClC,QAAA,CAAC;AACD,QAAA,MAAM,yBAAyB,GAAG,CAAC,KAAY,KAAI;YAC/C,MAAM,OAAO,GAAG,KAA2B;YAC3C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAAE;YACvD,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,yBAAyB,CAAC,KAAK,CAAC;gBAAE;AACtC,YAAA,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE;AACvC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS;gBAAE;YAElC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE;AAC1D,YAAA,IAAI,CAAC,IAAI;gBAAE;YACX,WAAW,CACP,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAC3B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAC1B,OAAO,CAAC,KAAK,GAAG,SAAS,CAC5B;AACD,YAAA,SAAS,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAA,CAAC;AACD,QAAA,MAAM,sBAAsB,GAAG,CAAC,KAAY,KAAI;YAC5C,MAAM,OAAO,GAAG,KAA2B;YAC3C,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,cAAc,EAAE;AAChF,QAAA,CAAC;AAID,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACvE,QAAA,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,wBAAwB,EAAE;AAC9D,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA,CAAC;AACF,QAAA,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,yBAAyB,EAAE;AAChE,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA,CAAC;AACF,QAAA,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjF,QAAA,OAAO,MAAK;AACR,YAAA,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC;AACtD,YAAA,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,wBAAwB,CAAC;AACpE,YAAA,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,yBAAyB,CAAC;AACtE,YAAA,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,sBAAsB,CAAC;AACpE,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAKjB,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;QACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AACnE,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAAE;AAE7B,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO;AACjC,QAAA,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAE3B,QAAA,IAAI,CAAC,QAAQ;YAAE;QAEf,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACrD,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACpB,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CACpD;AAGD,QAAA,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;AAC1E,QAAA,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;QAC1E,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE;AAC/E,QAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AAEzB,QAAA,mBAAmB,EAAE;AACrB,QAAA,sBAAsB,EAAE;IAC5B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AAMnE,IAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAK;QACxC,MAAM,eAAe,GAAG,mBAAmB,CACvC,kBAAkB,CAAC,OAAO,EAC1B,qBAAqB,CACxB;AACD,QAAA,IAAI,CAAC,eAAe;YAAE;AAEtB,QAAA,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;AACpC,YAAA,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC/C,YAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;QACpC;QAEA,IAAI,QAAQ,GAAG,eAAe;AAC9B,QAAA,IAAI,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;AAErC,QAAA,MAAM,OAAO,GAAG,CAAC,WAAmB,KAAI;AACpC,YAAA,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa;YAClD,aAAa,GAAG,WAAW;YAE3B,MAAM,CAAC,OAAO,GAAG;gBACb,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,cAAc;gBACjD,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,cAAc;aACpD;YACD,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,cAAiC,CAAC;AAErE,YAAA,mBAAmB,EAAE;AACrB,YAAA,cAAc,EAAE;AAChB,YAAA,MAAM,EAAE;AACR,YAAA,mBAAmB,EAAE;AAErB,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,qBAAqB,EAAE;AAC5D,gBAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;YAC9D;iBAAO;AACH,gBAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;YACpC;AACJ,QAAA,CAAC;AAED,QAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAC9D,CAAC,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAGtE,IAAA,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,CAAqC,KAAI;AAEtC,QAAA,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;AACpC,YAAA,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC/C,YAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;QACpC;AAEA,QAAA,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;YAC3B,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACzE,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;AAGnC,gBAAA,YAAY,CAAC,OAAO,GAAG,KAAK;gBAC5B,YAAY,CAAC,KAAK,CAAC;AACnB,gBAAA,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrE;YACJ;QACJ;AAEA,QAAA,MAAM,YAAY,GAAG,yBAAyB,CAC1C,CAAC,CAAC,WAAW,EACb,QAAQ,EACR,CAAC,CAAC,MAAM,EACR,YAAY,CAAC,OAAO,CACvB;QAGD,MAAM,UAAU,GAAG,kBAAkB,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO;AAClE,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,IAAI,UAAU,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,CAAC,CAAC,cAAc,EAAE;AACtC,YAAA,YAAY,CAAC,OAAO,GAAG,IAAI;YAC3B,YAAY,CAAC,IAAI,CAAC;AAClB,YAAA,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;AACvD,YAAA,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;gBAC3B,kBAAkB,CAAC,OAAO,GAAG;AACzB,oBAAA,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE;iBAC1D;YACL;YACA,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAC/C;AAED,IAAA,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,CAAqC,KAAI;AACtC,QAAA,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;YACxE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACzE,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;AACnC,gBAAA,UAAU,EAAE;gBACZ;YACJ;QACJ;QACA,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;QACvD,MAAM,CAAC,OAAO,GAAG;AACb,YAAA,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM;AAC5B,YAAA,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM;SAC/B;AAED,QAAA,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;AAC3B,YAAA,MAAM,OAAO,GAAG;gBACZ,GAAG,kBAAkB,CAAC,OAAO;AAC7B,gBAAA,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE;aAC1D;YACD,kBAAkB,CAAC,OAAO,GAAG,WAAW,CACpC,OAAO,EACP,yBAAyB,CAC5B;QACL;AAIA,QAAA,mBAAmB,EAAE;AACrB,QAAA,sBAAsB,EAAE;IAC5B,CAAC,EACD,CAAC,UAAU,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAC5D;AAED,IAAA,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,CAAqC,KAAI;QACtC,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAG9C,YAAA,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AACrE,YAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,SAAS,EAAE;AAGX,gBAAA,YAAY,CAAC,OAAO,GAAG,IAAI;gBAC3B,YAAY,CAAC,IAAI,CAAC;AAClB,gBAAA,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;gBAC3D,kBAAkB,CAAC,OAAO,GAAG;AACzB,oBAAA,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE;iBAC9D;gBACD;YACJ;QACJ;QAEA,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,KAAK,OAAO,IAAI,YAAY,CAAC,OAAO;AACzE,QAAA,YAAY,CAAC,OAAO,GAAG,KAAK;QAC5B,YAAY,CAAC,KAAK,CAAC;AACnB,QAAA,IAAI,eAAe;AAAE,YAAA,kBAAkB,EAAE;AAC7C,IAAA,CAAC,EACD,CAAC,kBAAkB,EAAE,YAAY,CAAC,CACrC;IAGD,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;AAC9B,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU;YAAE;QAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAG9D,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,KAAI;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACnB,gBAAA,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;gBAC5B,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACrC,gBAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC;AACJ,QAAA,CAAC,CAAC;AAGF,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACnB,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,QAAQ,EAAE;AACV,gBAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAErC,gBAAA,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBAC1C,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAiC,KAAI;oBAC7D,oBAAoB,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC;AAC/C,gBAAA,CAAC,CAAC;YACN;iBAAO;AACH,gBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;AAClC,gBAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACtC,gBAAA,SAAS,CAAC,SAAS,GAAG,QAAQ;gBAC9B,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAiC,KAAI;oBAC9D,oBAAoB,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC;AAC/C,gBAAA,CAAC,CAAC;AACF,gBAAA,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACzB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;YAC9C;AACJ,QAAA,CAAC,CAAC;AAIF,QAAA,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IACzD,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAGlC,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAK;AAClC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,GAAG,CAAC;AACpC,QAAA,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG;AAClB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;AACxD,QAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;QACxD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE;AACvE,QAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AACzB,QAAA,mBAAmB,EAAE;AACrB,QAAA,cAAc,EAAE;AAChB,QAAA,MAAM,EAAE;IACZ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAE1D,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAK;AACnC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,GAAG,CAAC;AACpC,QAAA,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG;AAClB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;AACxD,QAAA,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO;QACxD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE;AACvE,QAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AACzB,QAAA,mBAAmB,EAAE;AACrB,QAAA,cAAc,EAAE;AAChB,QAAA,MAAM,EAAE;IACZ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAE1D,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,MAAK;AACrC,QAAA,OAAO,CAAC,OAAO,GAAG,CAAC;AACnB,QAAA,mBAAmB,EAAE;AACrB,QAAA,cAAc,EAAE;AAChB,QAAA,MAAM,EAAE;IACZ,CAAC,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAEjD,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,GAA6B,KAAI;AAC9B,QAAA,MAAM,CAAC,OAAO,GAAG,GAAG;AACpB,QAAA,mBAAmB,EAAE;AACrB,QAAA,cAAc,EAAE;AAChB,QAAA,MAAM,EAAE;IACZ,CAAC,EACD,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAChD;AAED,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,MAAc,EAAE,MAAc,EAAE,UAAU,GAAG,GAAG,KAAI;AACjD,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;AACpC,YAAA,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC/C,YAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;QACpC;AAEA,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW;AAC3C,QAAA,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY;QAC7C,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO;QAC/D,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO;AAChE,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AAEnC,QAAA,MAAM,OAAO,GAAG,CAAC,WAAmB,KAAI;AACpC,YAAA,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS;AACvC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC;AAClD,YAAA,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG;gBACb,CAAC,EAAE,SAAS,GAAG,CAAC,UAAU,GAAG,SAAS,IAAI,KAAK;gBAC/C,CAAC,EAAE,SAAS,GAAG,CAAC,UAAU,GAAG,SAAS,IAAI,KAAK;aAClD;AACD,YAAA,mBAAmB,EAAE;AACrB,YAAA,cAAc,EAAE;AAChB,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,QAAQ,GAAG,CAAC,EAAE;AACd,gBAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;YAC9D;iBAAO;AACH,gBAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;YACpC;AACJ,QAAA,CAAC;AAED,QAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAC9D,CAAC,EACD,CAAC,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAChD;AAED,IAAA,MAAM,oBAAoB,GAAG,WAAW,CACpC,CAAC,MAAc,EAAE,MAAc,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,KAAI;AACjE,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;AACpC,YAAA,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC/C,YAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;QACpC;AAEA,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW;AAC3C,QAAA,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY;AAC7C,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO;AACjC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAChE,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO;QACpD,MAAM,OAAO,GAAG,cAAc,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO;AACrD,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AAEnC,QAAA,MAAM,OAAO,GAAG,CAAC,WAAmB,KAAI;AACpC,YAAA,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS;AACvC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC;AAClD,YAAA,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC;AACtC,YAAA,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK;YAC3D,MAAM,CAAC,OAAO,GAAG;gBACb,CAAC,EAAE,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK;gBAC5C,CAAC,EAAE,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS,IAAI,KAAK;aAC/C;AACD,YAAA,mBAAmB,EAAE;AACrB,YAAA,cAAc,EAAE;AAChB,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,QAAQ,GAAG,CAAC,EAAE;AACd,gBAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;YAC9D;iBAAO;AACH,gBAAA,iBAAiB,CAAC,OAAO,GAAG,IAAI;YACpC;AACJ,QAAA,CAAC;AAED,QAAA,iBAAiB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;AAC9D,IAAA,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,CAClE;AAED,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAqB;QACtD,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,IAAI;IAChE,CAAC,EAAE,EAAE,CAAC;IAKN,MAAM,aAAa,GAAG,WAAW,CAC7B,MACI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM;QACrD,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;AACvB,KAAA,CAAC,CAAC,EACP,EAAE,CACL;IAGD,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,SAAS;YAAE;QAChB,gBAAgB,CAAC,OAAO,GAAG;YACvB,gBAAgB;YAChB,oBAAoB;YACpB,gBAAgB;YAChB,aAAa;AAChB,SAAA,CAAC;AACN,IAAA,CAAC,EAAE;QACC,SAAS;QACT,gBAAgB;QAChB,oBAAoB;QACpB,gBAAgB;QAChB,aAAa;AAChB,KAAA,CAAC;AAEF,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAA,qDAAA,EAAwD,SAAS,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,GAAG,EAAE,CAAA,CAAE,EACrG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACtC,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,eAAe,EAC5B,eAAe,EAAE,eAAe,EAAA,QAAA,EAAA,CAOhCC,GAAA,CAAC,yBAAyB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,oBAAoB,EAAA,QAAA,EAM3DA,GAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,UAAU,EAAA,IACV,iBAAiB,EAAE;0BAClB,EAAE,CAAC,iBAAiB,CAAC,aAAa,GAAG,MAAM;AAC7C,0BAAE,EAAE,CAAC,EACT,KAAK,EAAE;AACH,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,GAAG,EAAE,CAAC;AACN,wBAAA,IAAI,EAAE,CAAC;AACP,wBAAA,eAAe,EAAE,KAAK;AACtB,wBAAA,SAAS,EAAE,CAAA,UAAA,EAAa,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA,IAAA,EAAO,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA,GAAA,CAAK;AACtG,wBAAA,aAAa,EAAE,MAAM;qBACxB,EAAA,QAAA,EAEDA,GAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,YAAY,MACZ,iBAAiB,EAAE;8BAClB,EAAE,CAAC,iBAAiB,CAAC,aAAa,GAAG,MAAM;8BAC3C,EAAE,CAAC,EAIT,KAAK,EAAE,QAAQ,EACf,KAAK,EACD,gBAAgB,CACZ,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAChC,KAAK,EACL,yBAAyB;8BAEvB,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI;AAC1C,8BAAE;AACI,gCAAA,SAAS,EAAE,CAAA,MAAA,EAAS,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAA,CAAA,CAAG;AACvD,gCAAA,eAAe,EAAE,KAAK;6BACzB,EAAA,QAAA,EAGV,QAAQ,EAAA,CACP,EAAA,CACJ,EAAA,CAC2B,EACpC,QAAQ,KAKLA,GAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,CACtE,CACL,EACA,YAAY,KACTA,GAAA,CAAC,cAAc,EAAA,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,EAC9B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,eAAe,EAC5B,iBAAiB,EAAE,WAAW,EAC9B,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,oBAAoB,EAAE,4BAA4B,EAClD,YAAY,EAAE,oBAAoB,EAClC,uBAAuB,EAAE,iBAAiB,EAAE,OAAO,EACnD,YAAY,EAAE,oBAAoB,EAAA,CACpC,CACL,CAAA,EAAA,CACC;AAEd;;"}
|
|
1
|
+
{"version":3,"file":"Canvas.js","sources":["../../../Canvas/Canvas.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport * as PIXI from 'pixi.js';\nimport {\n CanvasControls,\n type CanvasControlsIcons,\n type CanvasControlsLabels,\n} from './CanvasControls';\nimport type { CanvasMinimapHandle, MinimapItem } from './CanvasMinimap';\nimport { canvasGesture } from './canvasGesture';\nimport { canvasTransformActivity } from './canvasTransformActivity';\nimport { isBackgroundPointerTarget } from './isBackgroundPointerTarget';\nimport { isWithinScrollableContent } from './isWithinScrollableContent';\nimport {\n type PanSample,\n decayVelocity,\n trimSamples,\n velocityFromSamples,\n} from './panMomentum';\nimport {\n type PinchSnapshot,\n type PointerPosition,\n pinchChangeBetween,\n pinchSnapshotOf,\n} from './pinchGesture';\nimport { useDragSelectionGuard } from './useDragSelectionGuard';\nimport {\n applyZoomLayer,\n isMultiTouchCapableDevice,\n shouldUseCssZoom,\n} from './zoomMechanism';\n\n/**\n * The easing curve for programmatic camera moves: a cubic ease-in-out, so the camera picks up speed gently\n * and settles gently instead of starting at full tilt — the difference between a camera move and a yank.\n * @param progress Linear progress through the animation, 0 to 1.\n * @returns The eased progress.\n */\nfunction easeInOutCubic(progress: number): number {\n return progress < 0.5\n ? 4 * progress * progress * progress\n : 1 - (-2 * progress + 2) ** 3 / 2;\n}\n\n/**\n * Safari's non-standard trackpad/touch gesture event — absent from the DOM type library, so typed here\n * rather than asserted through `any`. `scale` is cumulative relative to the gesture's start.\n */\ninterface WebKitGestureEvent extends Event {\n /** The gesture's cumulative scale factor since gesturestart. */\n readonly scale: number;\n\n /** The gesture's horizontal viewport coordinate. */\n readonly clientX: number;\n\n /** The gesture's vertical viewport coordinate. */\n readonly clientY: number;\n}\n\n/** Measured world-space bounds for one registered {@link CanvasItem}. */\nexport interface CanvasItemRegistryEntry {\n /** World-space horizontal position. */\n x: number;\n /** World-space vertical position. */\n y: number;\n /** Measured width. */\n width: number;\n /** Measured height. */\n height: number;\n\n /**\n * Whether this entry is registered under an internally generated id rather than one the caller\n * supplied through {@link CanvasItem}'s `id` prop. An anonymous entry still feeds every consumer\n * of the registry — the minimap, fit-to-content — but `Region` (via `itemsWithinRegion`) never\n * reports it as a region member, since there is no caller-owned id a host could recognize it by.\n */\n anonymous?: boolean;\n}\n\n/** Registry contract used by {@link CanvasItem} to publish measured bounds. */\nexport interface CanvasItemRegistryContextValue {\n /** Adds or updates one measured item. */\n register: (id: string, entry: CanvasItemRegistryEntry) => void;\n /** Removes one measured item. */\n unregister: (id: string) => void;\n\n /**\n * The registry's current content, as a stable-reference snapshot: the returned map's identity only\n * changes when the content actually changed (an item registered, unregistered, or moved/resized),\n * making it safe to feed straight into `useSyncExternalStore`. The map is rebuilt on change — never\n * mutated in place — so a held snapshot stays internally consistent. Optional so a consumer\n * providing its own registry value predating this member keeps type-checking; readers must\n * fall back gracefully when absent.\n */\n getSnapshot?: () => ReadonlyMap<string, CanvasItemRegistryEntry>;\n\n /**\n * Subscribes to registry changes; the listener fires after every register/unregister/bounds-update\n * that actually changed content. Bounds updates can arrive per-frame during a drag — listeners\n * decide how much work to do per notification. Returns the unsubscribe function.\n * `useSyncExternalStore`-compatible. Optional for the same compatibility reason as\n * {@link getSnapshot}.\n */\n subscribe?: (listener: () => void) => () => void;\n}\n\n/** Context carrying the nearest Canvas item registry. */\nexport const CanvasItemRegistryContext =\n React.createContext<CanvasItemRegistryContextValue | null>(null);\n\n/** Minimum data shape for an optional Pixi-rendered canvas item. */\nexport interface CanvasItemData {\n /** Stable item identity. */\n id: string;\n /** World-space horizontal position. */\n x: number;\n /** World-space vertical position. */\n y: number;\n}\n\n/** Pixi objects supplied after the Canvas renderer initializes. */\nexport interface CanvasContext {\n /** Pixi application owned by the Canvas. */\n app: PIXI.Application;\n /** Pixi world container receiving rendered items. */\n world: PIXI.Container;\n}\n\n/** Imperative camera and measurement operations exposed by {@link Canvas}. */\nexport interface CanvasHandle {\n /** Smoothly centers a world point. */\n smoothPanToWorld(worldX: number, worldY: number, durationMs?: number): void;\n /** Smoothly centers a world point while animating to a target zoom. */\n smoothPanZoomToWorld(\n worldX: number,\n worldY: number,\n targetZoom?: number,\n durationMs?: number,\n ): void;\n /** Returns the current viewport rectangle, or `null` before mounting. */\n getContainerRect(): DOMRect | null;\n /** Returns world-space bounds for every registered CanvasItem. */\n getItemBounds(): MinimapItem[];\n}\n\n/** Optional product compositor/capture marker names applied by {@link Canvas}. */\nexport interface CanvasCaptureAttributes {\n /** Attribute placed on the Pixi canvas so a product capture pipeline can exclude it. */\n layer?: string;\n /** Attribute placed on non-plain integrated controls that own composited content. */\n content?: string;\n /** Attribute placed on pan/zoom transform hosts whose churn moves existing layers. */\n transformHost?: string;\n}\n\n/** Props for the pan, zoom, item, minimap, and control surface. */\nexport interface CanvasProps<T extends CanvasItemData = CanvasItemData> {\n /** DOM content positioned inside the transformed world. */\n children?: React.ReactNode;\n /** Optional Pixi-rendered item data. */\n items?: T[];\n /** Builds a Pixi display object for one item. */\n renderItem?: (item: T) => PIXI.Container;\n /** Receives pointer activation for a Pixi-rendered item. */\n onItemPointerDown?: (item: T, event: PIXI.FederatedPointerEvent) => void;\n /** Receives the initialized Pixi application and world. */\n onReady?: (context: CanvasContext) => void;\n /** Reports every camera transform change. */\n onTransformChange?: (zoom: number, pan: { x: number; y: number }) => void;\n /** Initial zoom factor. Defaults to `1`. */\n initialZoom?: number;\n /** Initial viewport translation. Defaults to `{ x: 0, y: 0 }`. */\n initialPan?: { x: number; y: number };\n /** Minimum zoom factor. Defaults to `0.1`. */\n minZoom?: number;\n /** Maximum zoom factor. Defaults to `5`. */\n maxZoom?: number;\n /** Whether integrated zoom controls render. Defaults to `true`. */\n showControls?: boolean;\n /** Whether controls expose the minimap toggle. Defaults to `false`. */\n showMinimap?: boolean;\n /** World width represented by the minimap. */\n minimapWorldWidth?: number;\n /** World height represented by the minimap. */\n minimapWorldHeight?: number;\n /** Explicit minimap item rectangles; measured CanvasItem bounds are used otherwise. */\n minimapItems?: MinimapItem[];\n /** Edge used by the integrated control bar. Defaults to `'bottom-left'`. */\n controlsPlacement?: 'bottom-left' | 'bottom-right';\n /** Extra class name for the Canvas root. */\n className?: string;\n /** Inline style for the Canvas root. */\n style?: React.CSSProperties;\n /** Invoked when the optional help action is activated. */\n onHelp?: () => void;\n /** Accessible label and tooltip for the help action. */\n helpTitle?: string;\n /** Localized labels for integrated zoom/minimap/help controls. */\n controlsLabels?: CanvasControlsLabels;\n /** Replacement glyphs for integrated zoom/minimap/help controls. Unset fields keep the built-in icons. */\n controlsIcons?: CanvasControlsIcons;\n /**\n * Whether the integrated controls step aside by the host's `--canvas-viewport-left`/`--canvas-viewport-right`\n * inset at their edge. Defaults to `true`; set `false` when the host already moves the canvas by that inset.\n */\n controlsFollowViewportInsets?: boolean;\n /** Optional product-owned glass/acrylic surface behind integrated controls. */\n controlsGlassSurface?: React.ReactNode;\n /** Uses a low-cost CSS frosted pill instead of a consumer-supplied glass surface. */\n disableControlsGlass?: boolean;\n /** Product-owned capture/compositor marker names. Canvas has no capture-provider dependency. */\n captureAttributes?: CanvasCaptureAttributes;\n /** Receives imperative camera and measurement operations. */\n onHandleReady?: (handle: CanvasHandle) => void;\n /** Keeps pan/zoom available while absorbing interaction with canvas content. */\n readOnly?: boolean;\n /**\n * Whether mouse/pen drag on empty background pans the board. Disable when\n * the product owns that gesture for selection; wheel, middle-button, and\n * touch panning remain available.\n */\n backgroundDragPans?: boolean;\n}\n\nconst ZOOM_INTENSITY = 0.008;\n\n// How long after the last wheel event a gesture counts as settled - the moment the crisp resting zoom is\n// re-applied and the held-back virtualization updates flush.\nconst GESTURE_SETTLE_MS = 150;\n\n// A trackpad's momentum comes for free — the OS keeps delivering decaying wheel events after the\n// fingers lift. A touch drag has no such thing: `touch-action: none` hands the whole gesture to us,\n// so lifting a finger stops the pan dead unless we fake the same decay ourselves. These tune that feel.\n// Only samples within this trailing window (from the drag's last moment, not its whole history)\n// contribute to the release velocity, so a drag that was moving fast but came to rest before the\n// finger actually lifted correctly produces no momentum.\nconst MOMENTUM_SAMPLE_WINDOW_MS = 100;\n\n// Below this speed (px/ms) momentum is imperceptible — used both to skip starting it on a slow\n// release and to end the decay loop once it coasts down to a stop.\nconst MOMENTUM_MIN_VELOCITY = 0.02;\n\n// Exponential decay rate, chosen so velocity halves roughly every 200ms — fast enough to feel\n// responsive, slow enough to read as a coast rather than a snap.\nconst MOMENTUM_FRICTION = 0.0035;\n\n/**\n * A pan/zoom/Pixi-backed infinite canvas with optional HTML overlay items, integrated minimap, and\n * zoom controls. Renders Pixi-backed sprites and DOM content under one synchronized camera, manages\n * wheel/touch/trackpad gestures, and exposes imperative camera navigation.\n */\nfunction Canvas<T extends CanvasItemData = CanvasItemData>({\n children,\n items = [] as T[],\n renderItem,\n onItemPointerDown,\n onReady,\n onTransformChange,\n onHandleReady,\n initialZoom = 1,\n initialPan = { x: 0, y: 0 },\n minZoom = 0.1,\n maxZoom = 5,\n showControls = true,\n showMinimap = false,\n minimapWorldWidth,\n minimapWorldHeight,\n minimapItems,\n controlsPlacement = 'bottom-left',\n className,\n style,\n onHelp,\n helpTitle,\n controlsLabels,\n controlsIcons,\n controlsFollowViewportInsets = true,\n controlsGlassSurface,\n disableControlsGlass = false,\n captureAttributes,\n readOnly = false,\n backgroundDragPans = true,\n}: CanvasProps<T>): React.ReactElement {\n const containerRef = useRef<HTMLDivElement>(null);\n useDragSelectionGuard(containerRef);\n const appRef = useRef<PIXI.Application | null>(null);\n const worldRef = useRef<PIXI.Container | null>(null);\n const minimapRef = useRef<CanvasMinimapHandle | null>(null);\n const overlayRef = useRef<HTMLDivElement>(null);\n const zoomLayerRef = useRef<HTMLDivElement>(null);\n const spritesRef = useRef<Map<string, PIXI.Container>>(new Map());\n const animationFrameRef = useRef<number | null>(null);\n\n const [pixiReady, setPixiReady] = useState(false);\n\n // Mutable refs so event callbacks always read current values without re-binding\n const panRef = useRef({ x: initialPan.x, y: initialPan.y });\n const zoomRef = useRef(initialZoom);\n\n // The transform styles rendered by JSX are frozen at their first-mount values: after mount the\n // overlay/zoom-layer styles are owned exclusively by the imperative per-frame writes. If the JSX\n // re-rendered them from live props (a parent may persist and echo the transform back through\n // `initialPan`/`initialZoom`), a React commit racing a gesture would rewrite the styles with\n // stale values — visible as the viewport flicking to an old position and back.\n const initialTransformRef = useRef({ pan: initialPan, zoom: initialZoom });\n\n // Wheel gestures coalesce onto animation frames (trackpads deliver several events per frame, and each\n // direct style write would reflow), and while a gesture is in motion the zoom layer stays on the\n // composited transform path with virtualization told to hold still. The settle timer restores the crisp\n // resting state shortly after the last wheel event.\n const gestureActiveRef = useRef(false);\n const gestureSettleTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const transformFramePendingRef = useRef(false);\n const isPanningRef = useRef(false);\n const lastPointerRef = useRef({ x: 0, y: 0 });\n\n // Direct DOM write, not React state — an idle background should not look grabbable until a drag\n // starts. Swapping to 'grabbing' for the life of a drag-pan is exactly the kind of per-gesture\n // churn this file\n // already avoids re-rendering for elsewhere (see the transform writes below).\n const setPanCursor = useCallback((panning: boolean) => {\n if (containerRef.current)\n containerRef.current.style.cursor = panning ? 'grabbing' : 'default';\n }, []);\n\n // Touch pointers currently down on the canvas, in the order they landed, plus the pinch geometry\n // they had on the previous move. Touch is the only input that can deliver several simultaneous\n // pointers, so mouse/pen never enter this map and keep the single-pointer drag path below.\n const touchPointersRef = useRef<Map<number, PointerPosition>>(new Map());\n const pinchRef = useRef<PinchSnapshot | null>(null);\n\n // Recent positions of the single finger currently panning, newest last, trimmed to\n // MOMENTUM_SAMPLE_WINDOW_MS — the trailing window startTouchMomentum reads the release velocity from.\n const touchPanSamplesRef = useRef<PanSample[]>([]);\n\n // Keep callback refs current to avoid stale closures in PIXI event handlers\n const onReadyRef = useRef(onReady);\n const onItemPointerDownRef = useRef(onItemPointerDown);\n const onTransformChangeRef = useRef(onTransformChange);\n const onHandleReadyRef = useRef(onHandleReady);\n const itemsRef = useRef(items);\n useEffect(() => {\n onReadyRef.current = onReady;\n }, [onReady]);\n useEffect(() => {\n onItemPointerDownRef.current = onItemPointerDown;\n }, [onItemPointerDown]);\n useEffect(() => {\n onTransformChangeRef.current = onTransformChange;\n }, [onTransformChange]);\n useEffect(() => {\n onHandleReadyRef.current = onHandleReady;\n }, [onHandleReady]);\n useEffect(() => {\n itemsRef.current = items;\n }, [items]);\n\n // ── Item registry — auto-builds minimap items from CanvasItem children ──\n\n const itemRegistryRef = useRef<Map<string, CanvasItemRegistryEntry>>(new Map());\n const [itemRegistryVersion, setItemRegistryVersion] = useState(0);\n\n // The read/subscribe side of the registry. The snapshot is a fresh shallow copy taken on every\n // actual content change (register/unregister guard against no-op writes below), so its identity\n // is a faithful change signal for useSyncExternalStore consumers — same reference back means\n // nothing changed. Entry objects are replaced wholesale on update, never mutated, so entries\n // shared between an old snapshot and a new one are safe to hold onto.\n const registrySnapshotRef = useRef<ReadonlyMap<string, CanvasItemRegistryEntry>>(\n new Map(),\n );\n const registryListenersRef = useRef<Set<() => void>>(new Set());\n\n const notifyRegistryChanged = useCallback(() => {\n registrySnapshotRef.current = new Map(itemRegistryRef.current);\n setItemRegistryVersion((version) => version + 1);\n registryListenersRef.current.forEach((listener) => listener());\n }, []);\n\n const registerItem = useCallback(\n (id: string, entry: CanvasItemRegistryEntry) => {\n const existing = itemRegistryRef.current.get(id);\n if (\n existing &&\n existing.x === entry.x &&\n existing.y === entry.y &&\n existing.width === entry.width &&\n existing.height === entry.height &&\n existing.anonymous === entry.anonymous\n )\n return;\n itemRegistryRef.current.set(id, entry);\n notifyRegistryChanged();\n },\n [notifyRegistryChanged],\n );\n\n const unregisterItem = useCallback(\n (id: string) => {\n if (!itemRegistryRef.current.delete(id)) return;\n notifyRegistryChanged();\n },\n [notifyRegistryChanged],\n );\n\n const getRegistrySnapshot = useCallback(\n (): ReadonlyMap<string, CanvasItemRegistryEntry> => registrySnapshotRef.current,\n [],\n );\n\n const subscribeToRegistry = useCallback((listener: () => void): (() => void) => {\n registryListenersRef.current.add(listener);\n return () => {\n registryListenersRef.current.delete(listener);\n };\n }, []);\n\n const registryContextValue = useMemo<CanvasItemRegistryContextValue>(\n () => ({\n register: registerItem,\n unregister: unregisterItem,\n getSnapshot: getRegistrySnapshot,\n subscribe: subscribeToRegistry,\n }),\n [registerItem, unregisterItem, getRegistrySnapshot, subscribeToRegistry],\n );\n\n const autoMinimapItems = useMemo((): MinimapItem[] => {\n void itemRegistryVersion; // subscribe to registry changes\n const result: MinimapItem[] = [];\n itemRegistryRef.current.forEach((entry) => {\n result.push({\n x: entry.x,\n y: entry.y,\n width: entry.width,\n height: entry.height,\n });\n });\n return result;\n }, [itemRegistryVersion]);\n\n const effectiveMinimapItems = minimapItems ?? autoMinimapItems;\n\n const refreshMinimap = useCallback(() => {\n const app = appRef.current;\n if (!app || !minimapRef.current) return;\n minimapRef.current.update(\n panRef.current,\n zoomRef.current,\n app.renderer.width,\n app.renderer.height,\n );\n }, []);\n\n const applyWorldTransform = useCallback(() => {\n const world = worldRef.current;\n if (!world) return;\n world.position.set(panRef.current.x, panRef.current.y);\n world.scale.set(zoomRef.current);\n // Pan is a CSS transform on the outer overlay; zoom is applied to an inner layer. The zoom\n // mechanism is hybrid, split at 100% (the two are identical there, so the switch is seamless):\n // - Above 100% we use CSS `zoom`, which re-lays-out and re-rasterizes at the effective\n // resolution — `transform: scale()` would rasterize once at 1x and stretch, blurring text\n // when UPSCALING in Safari. EXCEPT on multi-touch-capable devices (iPad and friends), which\n // always use `transform: scale()` even above 100% — see zoomMechanism.ts for why.\n // - At or below 100% we use `transform: scale()`, which is GPU-composited: zooming out stays\n // smooth (no per-frame full-board reflow) and text scales down properly. CSS `zoom` instead\n // reflows every step (jerky) and clamps font-size to a floor when zoomed out, so labels stop\n // shrinking and word-wrap. Downscaling never blurs, so the crispness reason does not apply here.\n if (overlayRef.current) {\n overlayRef.current.style.transform = `translate(${panRef.current.x}px, ${panRef.current.y}px)`;\n }\n if (zoomLayerRef.current) {\n applyZoomLayer(\n zoomLayerRef.current,\n zoomRef.current,\n gestureActiveRef.current,\n );\n }\n onTransformChangeRef.current?.(zoomRef.current, panRef.current);\n // Every applied transform frame is announced so followers (cursors, selection toolbar, tour\n // anchors) can ride the transform instead of polling it on their own animation-frame loops.\n canvasTransformActivity.notify();\n }, []);\n\n const render = useCallback(() => {\n const app = appRef.current;\n if (!app) return;\n // Boards that only use the HTML overlay leave the PIXI world empty — skip the per-frame\n // GPU pass entirely rather than clearing and presenting an empty stage on every gesture frame.\n if ((worldRef.current?.children.length ?? 0) === 0) return;\n // The system ticker is stopped (see the init effect below) — drive pixi's scheduled\n // housekeeping (texture GC and friends) from the frames that actually render instead.\n PIXI.Ticker.system.update();\n app.renderer.render(app.stage);\n }, []);\n\n // Initialize PIXI once\n useEffect(() => {\n const container = containerRef.current;\n if (!container || appRef.current) return;\n\n let mounted = true;\n\n (async () => {\n const rect = container.getBoundingClientRect();\n const width = rect.width > 0 ? rect.width : container.clientWidth || 800;\n const height = rect.height > 0 ? rect.height : container.clientHeight || 600;\n\n const app = new PIXI.Application();\n await app.init({\n // Transparent clear: the body carries the surface color and the user-selected\n // appearance background, which must show through the canvas like everywhere else.\n backgroundAlpha: 0,\n antialias: true,\n autoDensity: true,\n resolution: window.devicePixelRatio || 1,\n width,\n height,\n autoStart: false,\n });\n\n if (!mounted || !containerRef.current) {\n app.destroy(true, { children: true });\n return;\n }\n\n appRef.current = app;\n\n // World container - all items live here; zoom/pan applied via transform\n const world = new PIXI.Container();\n world.position.set(panRef.current.x, panRef.current.y);\n world.scale.set(zoomRef.current);\n app.stage.addChild(world);\n worldRef.current = world;\n\n const canvas = app.canvas as HTMLCanvasElement;\n canvas.style.display = 'block';\n canvas.style.touchAction = 'none';\n containerRef.current.appendChild(canvas);\n\n setPixiReady(true);\n app.renderer.render(app.stage);\n\n // Initializing a renderer hooks pixi's SchedulerSystem onto the auto-starting system\n // ticker, which then runs a requestAnimationFrame loop forever even though nothing here\n // renders from a ticker (autoStart is false and every render is explicit) — one of the\n // permanent loops that kept an idle canvas busy. Stop it after every init, because each\n // new renderer restarts it; render() drives the scheduled\n // housekeeping instead.\n PIXI.Ticker.system.stop();\n\n onReadyRef.current?.({ app, world });\n })();\n\n return () => {\n mounted = false;\n if (appRef.current) {\n appRef.current.destroy(true, { children: true });\n appRef.current = null;\n worldRef.current = null;\n }\n spritesRef.current.clear();\n };\n }, []); // intentional: PIXI init runs exactly once\n\n // Products with a capture/compositor pipeline can mark the Pixi canvas without making that\n // provider a Components dependency. Keep the marker synchronized if product configuration changes.\n useEffect(() => {\n const canvas = appRef.current?.canvas as HTMLCanvasElement | undefined;\n const attribute = captureAttributes?.layer;\n if (!canvas || !attribute) return;\n canvas.setAttribute(attribute, 'true');\n return () => canvas.removeAttribute(attribute);\n }, [pixiReady, captureAttributes?.layer]);\n\n // Handle container resize\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const observer = new ResizeObserver(() => {\n const app = appRef.current;\n if (!app) return;\n app.renderer.resize(container.clientWidth, container.clientHeight);\n render();\n });\n observer.observe(container);\n return () => observer.disconnect();\n }, [render]);\n\n // One transform apply per animation frame, no matter how many wheel events arrived - the refs already\n // hold the latest pan/zoom, so coalescing loses nothing and avoids multiple reflows per frame.\n // No React state is touched here: a gesture must cause zero Canvas re-renders (the controls'\n // zoom readout polls the ref on its own slow interval instead).\n const scheduleTransformApply = useCallback(() => {\n if (transformFramePendingRef.current) return;\n transformFramePendingRef.current = true;\n requestAnimationFrame(() => {\n transformFramePendingRef.current = false;\n applyWorldTransform();\n refreshMinimap();\n render();\n });\n }, [applyWorldTransform, refreshMinimap, render]);\n\n // Marks the gesture active (composited zoom path, virtualization held still) and re-arms the settle\n // timer. On settle the crisp resting hybrid is re-applied through the same applyWorldTransform as\n // every gesture frame — one writer, one atomic style pass — and a new gesture cancels the timer,\n // so a settle can never land in the middle of the next gesture.\n const noteGestureActivity = useCallback(() => {\n gestureActiveRef.current = true;\n canvasGesture.set(true);\n clearTimeout(gestureSettleTimerRef.current);\n gestureSettleTimerRef.current = setTimeout(() => {\n gestureActiveRef.current = false;\n applyWorldTransform();\n canvasGesture.set(false);\n }, GESTURE_SETTLE_MS);\n }, [applyWorldTransform]);\n\n useEffect(\n () => () => {\n clearTimeout(gestureSettleTimerRef.current);\n canvasGesture.set(false);\n },\n [],\n );\n\n // Zooms toward a fixed focus point on the container, holding the world point under it still —\n // the one zoom every input path shares, whether the factor came from a wheel delta or a pinch.\n const zoomTowards = useCallback(\n (focusX: number, focusY: number, factor: number) => {\n const newZoom = Math.max(\n minZoom,\n Math.min(maxZoom, zoomRef.current * factor),\n );\n const worldX = (focusX - panRef.current.x) / zoomRef.current;\n const worldY = (focusY - panRef.current.y) / zoomRef.current;\n panRef.current = {\n x: focusX - worldX * newZoom,\n y: focusY - worldY * newZoom,\n };\n zoomRef.current = newZoom;\n noteGestureActivity();\n scheduleTransformApply();\n },\n [minZoom, maxZoom, noteGestureActivity, scheduleTransformApply],\n );\n\n // Wheel: pan (scroll) or zoom (Ctrl+scroll / pinch)\n const handleWheel = useCallback(\n (e: WheelEvent) => {\n const container = containerRef.current;\n if (!container) return;\n\n // A plain scroll/trackpad gesture landing over a scrollable overlay (a chat's message list\n // and similar) scrolls that content instead of panning the board underneath it. A zoom\n // gesture (ctrl/cmd) always wins — pinch-to-zoom over a chat\n // panel is still a zoom, not a captured scroll.\n if (\n !(e.ctrlKey || e.metaKey) &&\n isWithinScrollableContent(e.target, container)\n )\n return;\n\n e.preventDefault();\n\n // A fresh gesture always wins over a still-coasting one from the last touch pan.\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n const rect = container.getBoundingClientRect();\n const mouseX = e.clientX - rect.left;\n const mouseY = e.clientY - rect.top;\n\n if (e.ctrlKey || e.metaKey) {\n zoomTowards(mouseX, mouseY, Math.exp(-e.deltaY * ZOOM_INTENSITY));\n } else {\n panRef.current = {\n x: panRef.current.x - e.deltaX,\n y: panRef.current.y - e.deltaY,\n };\n noteGestureActivity();\n scheduleTransformApply();\n }\n },\n [zoomTowards, noteGestureActivity, scheduleTransformApply],\n );\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n container.addEventListener('wheel', handleWheel, { passive: false });\n return () => container.removeEventListener('wheel', handleWheel);\n }, [handleWheel]);\n\n // Safari/WebKit reports a trackpad pinch through its own non-standard gesture events —\n // including on iPadOS with a Magic Keyboard trackpad — separately from the wheel+ctrlKey path\n // above, which Safari never fires for a trackpad pinch. Left unhandled, Safari's default action\n // is to zoom the whole page instead of the canvas — but canceling that alone would swallow the\n // pinch entirely, so gesturechange also drives the same zoom-towards-focus the ctrl+wheel path\n // applies. A touchscreen pinch fires these gesture events too, alongside the pointer events the\n // touch path already zooms from — with touch pointers down, this handler only cancels the page\n // zoom and leaves the zooming to the touch path. The events don't exist outside WebKit, so all\n // of this is a no-op everywhere else.\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n let lastScale = 1;\n const handleGestureStart = (event: Event) => {\n event.preventDefault();\n lastScale = (event as WebKitGestureEvent).scale || 1;\n };\n const handleGestureChange = (event: Event) => {\n event.preventDefault();\n if (touchPointersRef.current.size > 0) return;\n\n const gesture = event as WebKitGestureEvent;\n if (!gesture.scale || !lastScale) return;\n\n const rect = container.getBoundingClientRect();\n zoomTowards(\n gesture.clientX - rect.left,\n gesture.clientY - rect.top,\n gesture.scale / lastScale,\n );\n lastScale = gesture.scale;\n };\n const handleGestureEnd = (event: Event) => event.preventDefault();\n\n // Explicitly non-passive: WebKit is free to treat an options-less gesture listener as\n // passive, silently ignoring preventDefault() — which would zoom the browser page instead\n // of the canvas on an iPad Magic Keyboard trackpad.\n container.addEventListener('gesturestart', handleGestureStart, {\n passive: false,\n });\n container.addEventListener('gesturechange', handleGestureChange, {\n passive: false,\n });\n container.addEventListener('gestureend', handleGestureEnd, { passive: false });\n return () => {\n container.removeEventListener('gesturestart', handleGestureStart);\n container.removeEventListener('gesturechange', handleGestureChange);\n container.removeEventListener('gestureend', handleGestureEnd);\n };\n }, [zoomTowards]);\n\n // The two handlers above only ever see events that bubble through the canvas surface's own DOM\n // subtree — but a toolbar, panel, or minimap floating over the canvas is frequently portalled to\n // document.body (or otherwise rendered as a sibling, not a descendant), so a pinch or Ctrl/Cmd+\n // wheel with the cursor sitting over one of those never reaches the listeners above at all, and\n // the browser is free to zoom the whole page instead. Listen at the window level too, and go\n // purely by screen position — no matter what element actually receives the\n // event, if it lands within the canvas's own rectangle the browser's native zoom is canceled.\n // For events whose target sits inside the canvas subtree this only cancels the browser zoom —\n // the container's own listeners drive the canvas zoom, so applying it here too would double up.\n // For a pinch whose target is a portalled sibling (never reaching the container listeners), it\n // also drives the same zoom-towards-focus, so a pinch over a floating panel zooms the board\n // instead of being swallowed after the browser zoom is canceled.\n useEffect(() => {\n const isWithinCanvas = (x: number, y: number) => {\n const rect = containerRef.current?.getBoundingClientRect();\n return (\n !!rect &&\n x >= rect.left &&\n x <= rect.right &&\n y >= rect.top &&\n y <= rect.bottom\n );\n };\n const reachesContainerListeners = (event: Event) =>\n event.target instanceof Node &&\n !!containerRef.current?.contains(event.target);\n const handleWindowWheel = (event: WheelEvent) => {\n if (\n (event.ctrlKey || event.metaKey) &&\n isWithinCanvas(event.clientX, event.clientY)\n ) {\n event.preventDefault();\n }\n };\n\n let lastScale = 1;\n const handleWindowGestureStart = (event: Event) => {\n const gesture = event as WebKitGestureEvent;\n if (!isWithinCanvas(gesture.clientX, gesture.clientY)) return;\n event.preventDefault();\n lastScale = gesture.scale || 1;\n };\n const handleWindowGestureChange = (event: Event) => {\n const gesture = event as WebKitGestureEvent;\n if (!isWithinCanvas(gesture.clientX, gesture.clientY)) return;\n event.preventDefault();\n if (reachesContainerListeners(event)) return;\n if (touchPointersRef.current.size > 0) return;\n if (!gesture.scale || !lastScale) return;\n\n const rect = containerRef.current?.getBoundingClientRect();\n if (!rect) return;\n zoomTowards(\n gesture.clientX - rect.left,\n gesture.clientY - rect.top,\n gesture.scale / lastScale,\n );\n lastScale = gesture.scale;\n };\n const handleWindowGestureEnd = (event: Event) => {\n const gesture = event as WebKitGestureEvent;\n if (isWithinCanvas(gesture.clientX, gesture.clientY)) event.preventDefault();\n };\n\n // Non-passive everywhere: WebKit treating any of these as passive is what lets the page\n // zoom through, and window-level listeners are exactly where it is most inclined to.\n window.addEventListener('wheel', handleWindowWheel, { passive: false });\n window.addEventListener('gesturestart', handleWindowGestureStart, {\n passive: false,\n });\n window.addEventListener('gesturechange', handleWindowGestureChange, {\n passive: false,\n });\n window.addEventListener('gestureend', handleWindowGestureEnd, { passive: false });\n return () => {\n window.removeEventListener('wheel', handleWindowWheel);\n window.removeEventListener('gesturestart', handleWindowGestureStart);\n window.removeEventListener('gesturechange', handleWindowGestureChange);\n window.removeEventListener('gestureend', handleWindowGestureEnd);\n };\n }, [zoomTowards]);\n\n // Touch: two fingers pan and zoom together, anywhere on the surface — the trackpad's\n // wheel/ctrl+wheel equivalent for a tablet. The world point under the pinch midpoint stays put\n // while the midpoint itself drags the board, so zooming and panning feel like one gesture.\n const applyPinch = useCallback(() => {\n const container = containerRef.current;\n const snapshot = pinchSnapshotOf(touchPointersRef.current.values());\n if (!container || !snapshot) return;\n\n const previous = pinchRef.current;\n pinchRef.current = snapshot;\n // The first move of a gesture only establishes the baseline — there is nothing to move yet.\n if (!previous) return;\n\n const change = pinchChangeBetween(previous, snapshot);\n const rect = container.getBoundingClientRect();\n const focusX = snapshot.center.x - rect.left;\n const focusY = snapshot.center.y - rect.top;\n const newZoom = Math.max(\n minZoom,\n Math.min(maxZoom, zoomRef.current * change.scale),\n );\n // The world point that was under the midpoint BEFORE this step is the one being held, so the\n // midpoint's own movement is what pans — exactly as zoom-towards-cursor does for the wheel.\n const worldX = (focusX - change.panX - panRef.current.x) / zoomRef.current;\n const worldY = (focusY - change.panY - panRef.current.y) / zoomRef.current;\n panRef.current = { x: focusX - worldX * newZoom, y: focusY - worldY * newZoom };\n zoomRef.current = newZoom;\n\n noteGestureActivity();\n scheduleTransformApply();\n }, [minZoom, maxZoom, noteGestureActivity, scheduleTransformApply]);\n\n // Coasts the board after a touch pan release, decaying the release velocity to a stop — the\n // manual equivalent of the momentum a trackpad's own wheel-event stream gives panning for free.\n // Shares animationFrameRef with smoothPanToWorld/smoothPanZoomToWorld so only one of the three\n // ever drives the transform at once; each cancels whichever of the others was still running.\n const startTouchMomentum = useCallback(() => {\n const initialVelocity = velocityFromSamples(\n touchPanSamplesRef.current,\n MOMENTUM_MIN_VELOCITY,\n );\n if (!initialVelocity) return;\n\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n let velocity = initialVelocity;\n let lastFrameTime = performance.now();\n\n const animate = (currentTime: number) => {\n const frameElapsedMs = currentTime - lastFrameTime;\n lastFrameTime = currentTime;\n\n panRef.current = {\n x: panRef.current.x + velocity.x * frameElapsedMs,\n y: panRef.current.y + velocity.y * frameElapsedMs,\n };\n velocity = decayVelocity(velocity, frameElapsedMs, MOMENTUM_FRICTION);\n\n applyWorldTransform();\n refreshMinimap();\n render();\n noteGestureActivity();\n\n if (Math.hypot(velocity.x, velocity.y) > MOMENTUM_MIN_VELOCITY) {\n animationFrameRef.current = requestAnimationFrame(animate);\n } else {\n animationFrameRef.current = null;\n }\n };\n\n animationFrameRef.current = requestAnimationFrame(animate);\n }, [applyWorldTransform, refreshMinimap, render, noteGestureActivity]);\n\n // Pointer: pan via middle mouse, left-click on empty background, or a single finger on it\n const handlePointerDown = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n // A fresh gesture always wins over a still-coasting one from the last touch pan.\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n if (e.pointerType === 'touch') {\n touchPointersRef.current.set(e.pointerId, { x: e.clientX, y: e.clientY });\n if (touchPointersRef.current.size > 1) {\n // A second finger turns whatever was happening into a pinch: end the one-finger drag\n // so the two paths never both move the board in the same frame.\n isPanningRef.current = false;\n setPanCursor(false);\n pinchRef.current = pinchSnapshotOf(touchPointersRef.current.values());\n return;\n }\n }\n\n const isBackground = isBackgroundPointerTarget(\n e.pointerType,\n readOnly,\n e.target,\n containerRef.current,\n );\n // A host that claims the background drag for itself only gives up the mouse/pen gesture: touch\n // has no middle button and no wheel, so one finger must keep panning or the board is stuck.\n const mayDragPan = backgroundDragPans || e.pointerType === 'touch';\n if (e.button === 1 || (e.button === 0 && isBackground && mayDragPan)) {\n if (e.button === 1) e.preventDefault();\n isPanningRef.current = true;\n setPanCursor(true);\n lastPointerRef.current = { x: e.clientX, y: e.clientY };\n if (e.pointerType === 'touch') {\n touchPanSamplesRef.current = [\n { x: e.clientX, y: e.clientY, time: performance.now() },\n ];\n }\n e.currentTarget.setPointerCapture(e.pointerId);\n }\n },\n [readOnly, backgroundDragPans, setPanCursor],\n );\n\n const handlePointerMove = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n if (e.pointerType === 'touch' && touchPointersRef.current.has(e.pointerId)) {\n touchPointersRef.current.set(e.pointerId, { x: e.clientX, y: e.clientY });\n if (touchPointersRef.current.size > 1) {\n applyPinch();\n return;\n }\n }\n if (!isPanningRef.current) return;\n const deltaX = e.clientX - lastPointerRef.current.x;\n const deltaY = e.clientY - lastPointerRef.current.y;\n lastPointerRef.current = { x: e.clientX, y: e.clientY };\n panRef.current = {\n x: panRef.current.x + deltaX,\n y: panRef.current.y + deltaY,\n };\n\n if (e.pointerType === 'touch') {\n const samples = [\n ...touchPanSamplesRef.current,\n { x: e.clientX, y: e.clientY, time: performance.now() },\n ];\n touchPanSamplesRef.current = trimSamples(\n samples,\n MOMENTUM_SAMPLE_WINDOW_MS,\n );\n }\n\n // Same gesture path as wheel pan: coalesce onto one rAF and signal the gesture so\n // virtualization holds still during a drag-pan too.\n noteGestureActivity();\n scheduleTransformApply();\n },\n [applyPinch, noteGestureActivity, scheduleTransformApply],\n );\n\n const handlePointerUp = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n if (touchPointersRef.current.delete(e.pointerId)) {\n // Re-baseline on the fingers that are left: keeping the old geometry would register the\n // lifted finger's absence as a huge pinch/pan step on the next move.\n pinchRef.current = pinchSnapshotOf(touchPointersRef.current.values());\n const [remaining] = [...touchPointersRef.current.values()];\n if (remaining) {\n // Lifting back down to one finger continues the same gesture as a plain drag-pan\n // rather than stopping dead until the user lifts and starts over.\n isPanningRef.current = true;\n setPanCursor(true);\n lastPointerRef.current = { x: remaining.x, y: remaining.y };\n touchPanSamplesRef.current = [\n { x: remaining.x, y: remaining.y, time: performance.now() },\n ];\n return;\n }\n }\n\n const wasPanningTouch = e.pointerType === 'touch' && isPanningRef.current;\n isPanningRef.current = false;\n setPanCursor(false);\n if (wasPanningTouch) startTouchMomentum();\n },\n [startTouchMomentum, setPanCursor],\n );\n\n // Sync items → PIXI containers\n useEffect(() => {\n const world = worldRef.current;\n if (!pixiReady || !world || !renderItem) return;\n\n const incoming = new Map(items.map((item) => [item.id, item]));\n\n // Remove deleted items\n spritesRef.current.forEach((container, id) => {\n if (!incoming.has(id)) {\n world.removeChild(container);\n container.destroy({ children: true });\n spritesRef.current.delete(id);\n }\n });\n\n // Add new items; update positions of existing ones\n items.forEach((item) => {\n const existing = spritesRef.current.get(item.id);\n if (existing) {\n existing.position.set(item.x, item.y);\n // Refresh handler so it always references the latest item object\n existing.removeAllListeners('pointerdown');\n existing.on('pointerdown', (event: PIXI.FederatedPointerEvent) => {\n onItemPointerDownRef.current?.(item, event);\n });\n } else {\n const container = renderItem(item);\n container.position.set(item.x, item.y);\n container.eventMode = 'static';\n container.on('pointerdown', (event: PIXI.FederatedPointerEvent) => {\n onItemPointerDownRef.current?.(item, event);\n });\n world.addChild(container);\n spritesRef.current.set(item.id, container);\n }\n });\n\n // Render directly (not via the empty-world-skipping render()) so removing the last item\n // still clears its pixels from the canvas.\n appRef.current?.renderer.render(appRef.current.stage);\n }, [pixiReady, items, renderItem]);\n\n // Controls handlers\n const handleZoomIn = useCallback(() => {\n const container = containerRef.current;\n if (!container) return;\n const cx = container.clientWidth / 2;\n const cy = container.clientHeight / 2;\n const factor = 1.2;\n const newZoom = Math.min(maxZoom, zoomRef.current * factor);\n const worldX = (cx - panRef.current.x) / zoomRef.current;\n const worldY = (cy - panRef.current.y) / zoomRef.current;\n panRef.current = { x: cx - worldX * newZoom, y: cy - worldY * newZoom };\n zoomRef.current = newZoom;\n applyWorldTransform();\n refreshMinimap();\n render();\n }, [maxZoom, applyWorldTransform, refreshMinimap, render]);\n\n const handleZoomOut = useCallback(() => {\n const container = containerRef.current;\n if (!container) return;\n const cx = container.clientWidth / 2;\n const cy = container.clientHeight / 2;\n const factor = 1.2;\n const newZoom = Math.max(minZoom, zoomRef.current / factor);\n const worldX = (cx - panRef.current.x) / zoomRef.current;\n const worldY = (cy - panRef.current.y) / zoomRef.current;\n panRef.current = { x: cx - worldX * newZoom, y: cy - worldY * newZoom };\n zoomRef.current = newZoom;\n applyWorldTransform();\n refreshMinimap();\n render();\n }, [minZoom, applyWorldTransform, refreshMinimap, render]);\n\n const handleZoomReset = useCallback(() => {\n zoomRef.current = 1;\n applyWorldTransform();\n refreshMinimap();\n render();\n }, [applyWorldTransform, refreshMinimap, render]);\n\n const handleMinimapPan = useCallback(\n (pan: { x: number; y: number }) => {\n panRef.current = pan;\n applyWorldTransform();\n refreshMinimap();\n render();\n },\n [applyWorldTransform, refreshMinimap, render],\n );\n\n const smoothPanToWorld = useCallback(\n (worldX: number, worldY: number, durationMs = 600) => {\n const container = containerRef.current;\n if (!container) return;\n\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n const viewportWidth = container.clientWidth;\n const viewportHeight = container.clientHeight;\n const targetPanX = viewportWidth / 2 - worldX * zoomRef.current;\n const targetPanY = viewportHeight / 2 - worldY * zoomRef.current;\n const startPanX = panRef.current.x;\n const startPanY = panRef.current.y;\n const startTime = performance.now();\n\n const animate = (currentTime: number) => {\n const elapsed = currentTime - startTime;\n const progress = Math.min(elapsed / durationMs, 1);\n const eased = easeInOutCubic(progress);\n panRef.current = {\n x: startPanX + (targetPanX - startPanX) * eased,\n y: startPanY + (targetPanY - startPanY) * eased,\n };\n applyWorldTransform();\n refreshMinimap();\n render();\n if (progress < 1) {\n animationFrameRef.current = requestAnimationFrame(animate);\n } else {\n animationFrameRef.current = null;\n }\n };\n\n animationFrameRef.current = requestAnimationFrame(animate);\n },\n [applyWorldTransform, refreshMinimap, render],\n );\n\n const smoothPanZoomToWorld = useCallback(\n (worldX: number, worldY: number, targetZoom = 1, durationMs = 600) => {\n const container = containerRef.current;\n if (!container) return;\n\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n const viewportWidth = container.clientWidth;\n const viewportHeight = container.clientHeight;\n const startZoom = zoomRef.current;\n const endZoom = Math.min(maxZoom, Math.max(minZoom, targetZoom));\n const startPanX = panRef.current.x;\n const startPanY = panRef.current.y;\n // Final pan that centers the world point at the target zoom.\n const endPanX = viewportWidth / 2 - worldX * endZoom;\n const endPanY = viewportHeight / 2 - worldY * endZoom;\n const startTime = performance.now();\n\n const animate = (currentTime: number) => {\n const elapsed = currentTime - startTime;\n const progress = Math.min(elapsed / durationMs, 1);\n const eased = easeInOutCubic(progress);\n zoomRef.current = startZoom + (endZoom - startZoom) * eased;\n panRef.current = {\n x: startPanX + (endPanX - startPanX) * eased,\n y: startPanY + (endPanY - startPanY) * eased,\n };\n applyWorldTransform();\n refreshMinimap();\n render();\n if (progress < 1) {\n animationFrameRef.current = requestAnimationFrame(animate);\n } else {\n animationFrameRef.current = null;\n }\n };\n\n animationFrameRef.current = requestAnimationFrame(animate);\n },\n [maxZoom, minZoom, applyWorldTransform, refreshMinimap, render],\n );\n\n const getContainerRect = useCallback((): DOMRect | null => {\n return containerRef.current?.getBoundingClientRect() ?? null;\n }, []);\n\n // Measured, not estimated: the registry holds what each CanvasItem's ResizeObserver last reported, so a\n // fit-to-content computed from it includes everything an item really renders (specifications under the\n // rows included), unlike the size estimates the minimap falls back to before anything has mounted.\n const getItemBounds = useCallback(\n (): MinimapItem[] =>\n Array.from(itemRegistryRef.current.values(), (entry) => ({\n x: entry.x,\n y: entry.y,\n width: entry.width,\n height: entry.height,\n })),\n [],\n );\n\n // Expose imperative handle once the canvas is set up\n useEffect(() => {\n if (!pixiReady) return;\n onHandleReadyRef.current?.({\n smoothPanToWorld,\n smoothPanZoomToWorld,\n getContainerRect,\n getItemBounds,\n });\n }, [\n pixiReady,\n smoothPanToWorld,\n smoothPanZoomToWorld,\n getContainerRect,\n getItemBounds,\n ]);\n\n return (\n <div\n ref={containerRef}\n className={`canvas-surface cratis:relative cratis:overflow-hidden${className ? ` ${className}` : ''}`}\n style={{ cursor: 'default', ...style }}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n onPointerCancel={handlePointerUp}\n >\n {/* HTML overlay — mirrors the PIXI world transform so CanvasItem children\n are positioned in world-space coordinates. Updated via direct DOM style\n mutation during pan/zoom to avoid React re-renders.\n The CanvasItemRegistryContext allows CanvasItem children to report their\n positions and sizes for automatic minimap item generation. */}\n <CanvasItemRegistryContext.Provider value={registryContextValue}>\n {/* Pan (this div's transform) and zoom (the inner div's `zoom`) are\n rewritten every interaction frame. Marking both as glass transform\n hosts tells the capture pipeline to treat that churn as movement,\n not content change: it stops re-rasterizing the page on every frame\n and instead refreshes once the gesture settles. */}\n <div\n ref={overlayRef}\n {...(captureAttributes?.transformHost\n ? { [captureAttributes.transformHost]: 'true' }\n : {})}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n transformOrigin: '0 0',\n transform: `translate(${initialTransformRef.current.pan.x}px, ${initialTransformRef.current.pan.y}px)`,\n pointerEvents: 'none',\n }}\n >\n <div\n ref={zoomLayerRef}\n {...(captureAttributes?.transformHost\n ? { [captureAttributes.transformHost]: 'true' }\n : {})}\n // The read-only overlay below keeps pointers off the board; `inert` keeps the keyboard\n // and assistive tech off it too, so nothing on a read-only board can be tabbed to and\n // activated (a public viewer must never be able to fire a command).\n inert={readOnly}\n style={\n shouldUseCssZoom(\n initialTransformRef.current.zoom,\n false,\n isMultiTouchCapableDevice,\n )\n ? { zoom: initialTransformRef.current.zoom }\n : {\n transform: `scale(${initialTransformRef.current.zoom})`,\n transformOrigin: '0 0',\n }\n }\n >\n {children}\n </div>\n </div>\n </CanvasItemRegistryContext.Provider>\n {readOnly && (\n // Sits above every board item (default stacking order beats the content layer's implicit\n // z-index) but below the controls/minimap, which render after it. Nothing underneath can\n // ever become a pointer event's target, so no CanvasItem consumer needs its own read-only\n // handling — this is the entire read-only guarantee.\n <div\n style={{ position: 'absolute', inset: 0, zIndex: 2, cursor: 'grab' }}\n />\n )}\n {showControls && (\n <CanvasControls\n getZoom={() => zoomRef.current}\n onZoomIn={handleZoomIn}\n onZoomOut={handleZoomOut}\n onZoomReset={handleZoomReset}\n showMinimapToggle={showMinimap}\n minimapRef={minimapRef}\n minimapWorldWidth={minimapWorldWidth}\n minimapWorldHeight={minimapWorldHeight}\n minimapItems={effectiveMinimapItems}\n onMinimapPan={handleMinimapPan}\n placement={controlsPlacement}\n onHelp={onHelp}\n helpTitle={helpTitle}\n labels={controlsLabels}\n icons={controlsIcons}\n followViewportInsets={controlsFollowViewportInsets}\n glassSurface={controlsGlassSurface}\n contentCaptureAttribute={captureAttributes?.content}\n disableGlass={disableControlsGlass}\n />\n )}\n </div>\n );\n}\n\nexport { Canvas };\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasControls.d.ts","sourceRoot":"","sources":["../../../Canvas/CanvasControls.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAiB,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAOlF;;sDAEsD;AACtD,MAAM,WAAW,oBAAoB;IACjC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;mGAEmG;AACnG,MAAM,WAAW,mBAAmB;IAChC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,qCAAqC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,iCAAiC;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAChC,yFAAyF;IACzF,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzD,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,sDAAsD;IACtD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAEvD,qDAAqD;IACrD,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC;IAE3C,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;oBACgB;IAChB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,uFAAuF;IACvF,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,sEAAsE;AACtE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0KxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasControls.js","sources":["../../../Canvas/CanvasControls.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasControls.js","sources":["../../../Canvas/CanvasControls.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React, { useEffect, useState } from 'react';\nimport { CanvasMinimap, CanvasMinimapHandle, MinimapItem } from './CanvasMinimap';\nimport { FaCircleQuestion, FaMap, FaMinus, FaPlus } from 'react-icons/fa6';\n\n// How often the zoom-percentage label re-reads the live zoom. The canvas must not re-render during\n// gestures, so the label polls the ref-backed value on a slow interval instead of receiving state.\nconst ZOOM_READOUT_POLL_MS = 200;\n\n/** Overrides for the controls' button labels/tooltips. Any field left unset falls back to a literal\n * English default - this library ships no i18n mechanism of its own, so a consumer that localizes\n * passes its own translated strings through here. */\nexport interface CanvasControlsLabels {\n /** Tooltip for the minimap toggle button. */\n toggleMinimap?: string;\n /** Tooltip for the zoom-out button. */\n zoomOut?: string;\n /** Tooltip for the zoom-percentage button that resets zoom to 100%. */\n resetZoom?: string;\n /** Tooltip for the zoom-in button. */\n zoomIn?: string;\n /** Fallback tooltip for the help button, used when `helpTitle` is not supplied. */\n help?: string;\n}\n\n/** Replacements for the controls' button glyphs. Any field left unset keeps the built-in icon. Each\n * replacement is rendered inside the button as-is, so it should be decorative (for example\n * `aria-hidden`); the button's accessible name always comes from {@link CanvasControlsLabels}. */\nexport interface CanvasControlsIcons {\n /** Glyph for the minimap toggle button. */\n toggleMinimap?: React.ReactNode;\n /** Glyph for the zoom-out button. */\n zoomOut?: React.ReactNode;\n /** Glyph for the zoom-in button. */\n zoomIn?: React.ReactNode;\n /** Glyph for the help button. */\n help?: React.ReactNode;\n}\n\n/** Props for standalone or Canvas-integrated zoom/minimap/help controls. */\nexport interface CanvasControlsProps {\n /** Reads the live zoom factor — polled slowly so gestures never re-render the canvas. */\n getZoom: () => number;\n /** Increases the Canvas zoom. */\n onZoomIn: () => void;\n /** Decreases the Canvas zoom. */\n onZoomOut: () => void;\n /** Restores the product's default zoom. */\n onZoomReset: () => void;\n\n /** Whether the minimap toggle is available. */\n showMinimapToggle?: boolean;\n\n /** Ref used to update the standalone minimap viewport. */\n minimapRef?: React.RefObject<CanvasMinimapHandle | null>;\n /** World width represented by the minimap. */\n minimapWorldWidth?: number;\n /** World height represented by the minimap. */\n minimapWorldHeight?: number;\n\n /** Item rectangles rendered by the minimap. */\n minimapItems?: MinimapItem[];\n /** Requests a Canvas pan from minimap interaction. */\n onMinimapPan?: (pan: { x: number; y: number }) => void;\n\n /** Control-bar edge. Defaults to `'bottom-left'`. */\n placement?: 'bottom-left' | 'bottom-right';\n\n /** Invoked when the help button is clicked. When omitted, the help button is not rendered. */\n onHelp?: () => void;\n /** Tooltip for the help button. Falls back to `labels.help` and then a literal default. */\n helpTitle?: string;\n\n /** Overrides for the controls' button labels/tooltips. Unset fields fall back to literal English\n * defaults. */\n labels?: CanvasControlsLabels;\n\n /** Replacements for the controls' button glyphs. Unset fields keep the built-in icons. */\n icons?: CanvasControlsIcons;\n\n /**\n * Whether the control bar steps aside by the host's viewport inset at its edge - the\n * `--canvas-viewport-left` custom property for the bottom-left placement and\n * `--canvas-viewport-right` for the bottom-right one. Defaults to `true`. Set it to `false` when\n * the host already shrinks or shifts the canvas itself by that inset, so the bar is not moved twice.\n */\n followViewportInsets?: boolean;\n\n /**\n * Renders a product-owned glass/acrylic surface behind the control bar. When omitted, nothing is\n * rendered there and the CSS-only `.canvas-controls-glass` / `.canvas-controls-glass--plain`\n * styling still applies: a plain, GPU-composited backdrop-filter pill. Ignored when\n * `disableGlass` is set.\n */\n glassSurface?: React.ReactNode;\n\n /** Optional product capture/compositor attribute placed on non-plain glass content. */\n contentCaptureAttribute?: string;\n\n /**\n * Disables the glass surface behind the control bar, falling back to a CSS backdrop-filter pill:\n * `glassSurface` is not rendered, and the product content marker is not set. A full-scene glass\n * capture can re-rasterize the content behind it on every interaction frame; on a very large\n * canvas that costs hundreds of ms and stalls pan/zoom, so large boards opt out.\n */\n disableGlass?: boolean;\n}\n\n/** Zoom, minimap, and optional help controls for a {@link Canvas}. */\nexport const CanvasControls: React.FC<CanvasControlsProps> = ({\n getZoom,\n onZoomIn,\n onZoomOut,\n onZoomReset,\n showMinimapToggle = false,\n minimapRef,\n minimapWorldWidth,\n minimapWorldHeight,\n minimapItems,\n onMinimapPan,\n placement = 'bottom-left',\n onHelp,\n helpTitle,\n labels,\n icons,\n followViewportInsets = true,\n glassSurface,\n contentCaptureAttribute,\n disableGlass = false,\n}) => {\n const [minimapOpen, setMinimapOpen] = useState(false);\n const [displayZoom, setDisplayZoom] = useState(getZoom);\n const alignClass = placement === 'bottom-right' ? 'cratis:items-end' : 'cratis:items-start';\n\n // A host that overlays part of the canvas (a side panel, a drawer) publishes how far it reaches in\n // through --canvas-viewport-left/right, and the bar steps aside by the inset at its own edge. A host\n // that already moves the canvas out of the way turns this off, or the bar would move twice.\n const alignStyle: React.CSSProperties =\n placement === 'bottom-right'\n ? {\n right: followViewportInsets\n ? 'calc(1rem + var(--canvas-viewport-right, 0px))'\n : '1rem',\n transition: 'right 0.25s cubic-bezier(0.4, 0, 0.2, 1)',\n }\n : {\n left: followViewportInsets\n ? 'calc(1rem + var(--canvas-viewport-left, 0px))'\n : '1rem',\n transition: 'left 0.25s cubic-bezier(0.4, 0, 0.2, 1)',\n };\n\n // Poll the live zoom for the readout — only this small component re-renders, never the canvas.\n useEffect(() => {\n const timer = setInterval(() => {\n setDisplayZoom((previous) => {\n const current = getZoom();\n return current === previous ? previous : current;\n });\n }, ZOOM_READOUT_POLL_MS);\n return () => clearInterval(timer);\n }, [getZoom]);\n\n const refreshDisplayZoom = () => setDisplayZoom(getZoom());\n const usesPlainSurface = disableGlass || !glassSurface;\n\n return (\n <div\n className={`cratis:absolute cratis:bottom-4 ${alignClass} cratis:z-10 cratis:flex cratis:flex-col cratis:gap-2`}\n style={alignStyle}\n onPointerDown={(e) => e.stopPropagation()}\n >\n {/* Minimap panel — pops up above the bar */}\n {showMinimapToggle && minimapOpen && (\n <CanvasMinimap\n ref={minimapRef}\n worldWidth={minimapWorldWidth}\n worldHeight={minimapWorldHeight}\n items={minimapItems}\n onRequestPan={onMinimapPan}\n />\n )}\n\n {/* Control bar - on a glass surface like every other toolbar (a cheap backdrop-filter pill on\n large boards, where a full-scene glass capture would stall interaction). The content marker\n is only set when the glass surface exists: with the plain pill nothing refracts this\n subtree, and the marker would make every zoom-label update trigger a whole-page\n content-layer capture. */}\n <div\n className={`canvas-controls-glass${usesPlainSurface ? ' canvas-controls-glass--plain' : ''}`}\n {...(!usesPlainSurface && contentCaptureAttribute\n ? { [contentCaptureAttribute]: 'true' }\n : {})}\n >\n {!usesPlainSurface && glassSurface}\n <div className='canvas-controls-bar cratis:inline-flex cratis:flex-row cratis:items-center cratis:gap-1 cratis:px-2 cratis:py-1.5 cratis:rounded-2xl'>\n {showMinimapToggle && (\n <>\n <button\n type='button'\n title={labels?.toggleMinimap ?? 'Toggle minimap'}\n aria-label={labels?.toggleMinimap ?? 'Toggle minimap'}\n className={`canvas-controls-icon-btn cratis:flex cratis:items-center cratis:justify-center cratis:w-9 cratis:h-9 cratis:rounded-lg cratis:cursor-pointer cratis:select-none${minimapOpen ? ' canvas-controls-icon-btn--active' : ''}`}\n onClick={() => setMinimapOpen((v) => !v)}\n >\n {icons?.toggleMinimap ?? (\n <FaMap className='cratis:text-base' aria-hidden='true' />\n )}\n </button>\n <span className='canvas-controls-separator' />\n </>\n )}\n\n {/* Zoom controls */}\n <button\n type='button'\n title={labels?.zoomOut ?? 'Zoom Out'}\n aria-label={labels?.zoomOut ?? 'Zoom Out'}\n className='canvas-controls-icon-btn cratis:flex cratis:items-center cratis:justify-center cratis:w-9 cratis:h-9 cratis:rounded-lg cratis:cursor-pointer cratis:select-none'\n onClick={() => {\n onZoomOut();\n refreshDisplayZoom();\n }}\n >\n {icons?.zoomOut ?? (\n <FaMinus className='cratis:text-base' aria-hidden='true' />\n )}\n </button>\n <button\n type='button'\n title={labels?.resetZoom ?? 'Reset Zoom'}\n aria-label={labels?.resetZoom ?? 'Reset Zoom'}\n onClick={() => {\n onZoomReset();\n refreshDisplayZoom();\n }}\n className='canvas-controls-zoom-btn cratis:flex cratis:items-center cratis:justify-center cratis:h-9 cratis:min-w-[3.25rem] cratis:px-1.5 cratis:rounded-lg cratis:text-xs cratis:font-semibold cratis:cursor-pointer cratis:select-none cratis:tabular-nums'\n >\n {Math.round(displayZoom * 100)}%\n </button>\n <button\n type='button'\n title={labels?.zoomIn ?? 'Zoom In'}\n aria-label={labels?.zoomIn ?? 'Zoom In'}\n className='canvas-controls-icon-btn cratis:flex cratis:items-center cratis:justify-center cratis:w-9 cratis:h-9 cratis:rounded-lg cratis:cursor-pointer cratis:select-none'\n onClick={() => {\n onZoomIn();\n refreshDisplayZoom();\n }}\n >\n {icons?.zoomIn ?? (\n <FaPlus className='cratis:text-base' aria-hidden='true' />\n )}\n </button>\n\n {/* Help - only where there is something to explain; a button that does nothing is worse than none. */}\n {onHelp && (\n <>\n <span className='canvas-controls-separator' />\n <button\n type='button'\n title={helpTitle ?? labels?.help ?? 'Help'}\n aria-label={helpTitle ?? labels?.help ?? 'Help'}\n className='canvas-controls-icon-btn cratis:flex cratis:items-center cratis:justify-center cratis:w-9 cratis:h-9 cratis:rounded-lg cratis:cursor-pointer cratis:select-none'\n onClick={onHelp}\n >\n {icons?.help ?? (\n <FaCircleQuestion\n className='cratis:text-base'\n aria-hidden='true'\n />\n )}\n </button>\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasItem.js","sources":["../../../Canvas/CanvasItem.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AA2CO,MAAM,UAAU,GAA8B,CAAC,EAClD,EAAE,EACF,CAAC,EACD,CAAC,EACD,MAAM,EACN,MAAM,EACN,QAAQ,GACX,KAAI;AACD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC;AAC/C,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AAChC,IAAA,MAAM,eAAe,GAAG,UAAU,CAAC,yBAAyB,CAAC;AAK7D,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,MAAM,GAAG,EAAE,IAAI,WAAW;IAChC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA2C,IAAI,CAAC;AAEhF,IAAA,SAAS,CAAC,OAAO,GAAG,MAAM;IAE1B,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AAClC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AAC5C,YAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW;gBAC3C,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC;AAClC,gBAAA,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9B;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAGzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE;QACzD,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC;AAClC,QAAA,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAE1B,QAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE;AACtC,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAMZ,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe;YAAE;AAC/B,QAAA,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7B,CAAC;YACD,CAAC;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,EAAE,KAAK,SAAS;AAC9B,SAAA,CAAC;AACN,IAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAG7C,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACR,YAAA,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC;AACvC,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAE7B,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,UAAU,EACf,KAAK,EAAE;AACH,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,SAAS,EAAE,CAAA,UAAA,EAAa,CAAC,CAAA,IAAA,EAAO,CAAC,CAAA,GAAA,CAAK;AACtC,YAAA,aAAa,EAAE,MAAM;YACrB,MAAM;SACT,EAAA,QAAA,EAEA,QAAQ,EAAA,CACP;AAEd;;"}
|
|
1
|
+
{"version":3,"file":"CanvasItem.js","sources":["../../../Canvas/CanvasItem.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport { useContext, useEffect, useId, useRef, useState } from 'react';\nimport { CanvasItemRegistryContext } from './Canvas';\n\n/** Props for a measured DOM item positioned in Canvas world space. */\nexport interface CanvasItemProps {\n /**\n * Registers this item in the Canvas item registry under a caller-chosen key instead of an\n * internally generated one. Opting in makes the item's world-space bounds addressable — a\n * `Region` on the same board can then recognize the item and report region membership for it\n * over the Arc messenger, keyed by exactly this id. Omit for the same behavior as before the\n * prop existed: the item still feeds the minimap and fit-to-content, but is anonymous to\n * everything that matches items by id.\n */\n id?: string;\n\n /** World-space horizontal position. */\n x: number;\n /** World-space vertical position. */\n y: number;\n\n /**\n * Where this item stacks against its sibling canvas items. `CanvasItem` renders with a\n * `transform`, which establishes its own stacking context — a z-index set on something nested\n * inside one item can never win against a *different* item, only against its own siblings, so\n * elevating one item above another has to happen here, on the item root itself. Omit for the\n * default stacking order (DOM order, same as every other item).\n */\n zIndex?: number;\n\n /** Reports measured size changes. */\n onSize?: (width: number, height: number) => void;\n /** Item content. */\n children: React.ReactNode;\n}\n\n/**\n * A measured DOM element positioned in Canvas world space, registered so the Canvas minimap can\n * show it. Observes size changes and reports bounds to the nearest Canvas registry.\n */\nexport const CanvasItem: React.FC<CanvasItemProps> = ({\n id,\n x,\n y,\n zIndex,\n onSize,\n children,\n}) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const onSizeRef = useRef(onSize);\n const registryContext = useContext(CanvasItemRegistryContext);\n // The registry key: the caller's id when given, otherwise a generated one — useId is called\n // unconditionally (rules of hooks), the generated value simply goes unused when overridden.\n // Should `id` change between renders, the effects below unregister the old key and register\n // the new one, so the registry never holds both.\n const generatedId = useId();\n const itemId = id ?? generatedId;\n const [size, setSize] = useState<{ width: number; height: number } | null>(null);\n\n onSizeRef.current = onSize;\n\n useEffect(() => {\n const element = elementRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n onSizeRef.current?.(width, height);\n setSize({ width, height });\n }\n });\n observer.observe(element);\n\n // Fire initial measurement\n const { width, height } = element.getBoundingClientRect();\n onSizeRef.current?.(width, height);\n setSize({ width, height });\n\n return () => observer.disconnect();\n }, [itemId]);\n\n // Register with the Canvas registry whenever position or size changes. `anonymous` records\n // whether the caller ever supplied an `id` at all — not just what key ended up in the registry —\n // so a `Region` reading this entry back can tell a generated key from a real one and keep\n // anonymous items out of region-membership reports while still feeding the minimap/fit-to-content.\n useEffect(() => {\n if (!size || !registryContext) return;\n registryContext.register(itemId, {\n x,\n y,\n width: size.width,\n height: size.height,\n anonymous: id === undefined,\n });\n }, [x, y, size, registryContext, itemId, id]);\n\n // Unregister when unmounting\n useEffect(() => {\n return () => {\n registryContext?.unregister(itemId);\n };\n }, [registryContext, itemId]);\n\n return (\n <div\n ref={elementRef}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n transform: `translate(${x}px, ${y}px)`,\n pointerEvents: 'auto',\n zIndex,\n }}\n >\n {children}\n </div>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;AA2CO,MAAM,UAAU,GAA8B,CAAC,EAClD,EAAE,EACF,CAAC,EACD,CAAC,EACD,MAAM,EACN,MAAM,EACN,QAAQ,GACX,KAAI;AACD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC;AAC/C,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AAChC,IAAA,MAAM,eAAe,GAAG,UAAU,CAAC,yBAAyB,CAAC;AAK7D,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,MAAM,GAAG,EAAE,IAAI,WAAW;IAChC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA2C,IAAI,CAAC;AAEhF,IAAA,SAAS,CAAC,OAAO,GAAG,MAAM;IAE1B,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AAClC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AAC5C,YAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW;gBAC3C,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC;AAClC,gBAAA,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9B;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAGzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE;QACzD,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC;AAClC,QAAA,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAE1B,QAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE;AACtC,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAMZ,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe;YAAE;AAC/B,QAAA,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7B,CAAC;YACD,CAAC;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,EAAE,KAAK,SAAS;AAC9B,SAAA,CAAC;AACN,IAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAG7C,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACR,YAAA,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC;AACvC,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAE7B,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,UAAU,EACf,KAAK,EAAE;AACH,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,SAAS,EAAE,CAAA,UAAA,EAAa,CAAC,CAAA,IAAA,EAAO,CAAC,CAAA,GAAA,CAAK;AACtC,YAAA,aAAa,EAAE,MAAM;YACrB,MAAM;SACT,EAAA,QAAA,EAEA,QAAQ,EAAA,CACP;AAEd;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasMinimap.js","sources":["../../../Canvas/CanvasMinimap.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CanvasMinimap.js","sources":["../../../Canvas/CanvasMinimap.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React, { forwardRef, useImperativeHandle, useRef, useCallback } from 'react';\n\nconst MINIMAP_WIDTH = 180;\nconst MINIMAP_HEIGHT = 120;\nconst DEFAULT_WORLD_WIDTH = 4000;\nconst DEFAULT_WORLD_HEIGHT = 3000;\n\n/** One world-space rectangle rendered in a Canvas minimap. */\nexport interface MinimapItem {\n /** World-space horizontal position. */\n x: number;\n /** World-space vertical position. */\n y: number;\n /** World-space width. */\n width: number;\n /** World-space height. */\n height: number;\n /** Optional product color for the rectangle. */\n color?: string;\n}\n\n/** Imperative viewport update exposed by {@link CanvasMinimap}. */\nexport interface CanvasMinimapHandle {\n /** Updates the visible viewport rectangle from current Canvas camera state. */\n update: (\n pan: { x: number; y: number },\n zoom: number,\n canvasWidth: number,\n canvasHeight: number,\n ) => void;\n}\n\n/** Props for the standalone Canvas minimap. */\nexport interface CanvasMinimapProps {\n /** Represented world width. Defaults to `4000`. */\n worldWidth?: number;\n /** Represented world height. Defaults to `3000`. */\n worldHeight?: number;\n /** World-space item rectangles. */\n items?: MinimapItem[];\n /** Requests a Canvas pan when the minimap is clicked or dragged. */\n onRequestPan?: (pan: { x: number; y: number }) => void;\n}\n\n/**\n * A standalone minimap overlay for {@link Canvas}, showing item rectangles and the current\n * viewport. Click or drag to pan; imperative {@link CanvasMinimapHandle.update} keeps the viewport\n * rectangle synchronized with the parent Canvas camera.\n */\nexport const CanvasMinimap = forwardRef<CanvasMinimapHandle, CanvasMinimapProps>(\n (\n {\n worldWidth = DEFAULT_WORLD_WIDTH,\n worldHeight = DEFAULT_WORLD_HEIGHT,\n items = [],\n onRequestPan,\n },\n ref,\n ) => {\n const scaleXConst = MINIMAP_WIDTH / worldWidth;\n const scaleYConst = MINIMAP_HEIGHT / worldHeight;\n const viewportRectRef = useRef<HTMLDivElement>(null);\n // Stores the latest canvas state for use inside pointer-event handlers\n const stateRef = useRef({\n pan: { x: 0, y: 0 },\n zoom: 1,\n canvasWidth: 800,\n canvasHeight: 600,\n });\n\n useImperativeHandle(\n ref,\n () => ({\n update(pan, zoom, canvasWidth, canvasHeight) {\n stateRef.current = { pan, zoom, canvasWidth, canvasHeight };\n const rect = viewportRectRef.current;\n if (!rect) return;\n\n const scaleX = MINIMAP_WIDTH / worldWidth;\n const scaleY = MINIMAP_HEIGHT / worldHeight;\n\n // Viewport top-left in world-space coords\n const vLeft = -pan.x / zoom;\n const vTop = -pan.y / zoom;\n const vRight = vLeft + canvasWidth / zoom;\n const vBottom = vTop + canvasHeight / zoom;\n\n // Clamp to the minimap panel area\n const left = Math.max(0, vLeft * scaleX);\n const top = Math.max(0, vTop * scaleY);\n const right = Math.min(MINIMAP_WIDTH, vRight * scaleX);\n const bottom = Math.min(MINIMAP_HEIGHT, vBottom * scaleY);\n\n rect.style.left = `${left}px`;\n rect.style.top = `${top}px`;\n rect.style.width = `${Math.max(4, right - left)}px`;\n rect.style.height = `${Math.max(4, bottom - top)}px`;\n },\n }),\n [worldWidth, worldHeight],\n );\n\n const panFromMinimapPos = useCallback(\n (clientX: number, clientY: number, bounds: DOMRect) => {\n const mx = clientX - bounds.left;\n const my = clientY - bounds.top;\n const scaleX = MINIMAP_WIDTH / worldWidth;\n const scaleY = MINIMAP_HEIGHT / worldHeight;\n const worldX = mx / scaleX;\n const worldY = my / scaleY;\n const { zoom, canvasWidth, canvasHeight } = stateRef.current;\n return {\n x: canvasWidth / 2 - worldX * zoom,\n y: canvasHeight / 2 - worldY * zoom,\n };\n },\n [worldWidth, worldHeight],\n );\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = e.currentTarget;\n target.setPointerCapture(e.pointerId);\n const bounds = target.getBoundingClientRect();\n onRequestPan?.(panFromMinimapPos(e.clientX, e.clientY, bounds));\n\n const handleMove = (me: PointerEvent) => {\n onRequestPan?.(panFromMinimapPos(me.clientX, me.clientY, bounds));\n };\n const handleUp = () => {\n target.removeEventListener('pointermove', handleMove);\n target.removeEventListener('pointerup', handleUp);\n };\n target.addEventListener('pointermove', handleMove);\n target.addEventListener('pointerup', handleUp);\n },\n [panFromMinimapPos, onRequestPan],\n );\n\n return (\n <div\n className='canvas-minimap'\n style={{\n width: MINIMAP_WIDTH,\n height: MINIMAP_HEIGHT,\n borderRadius: 12,\n overflow: 'hidden',\n cursor: 'crosshair',\n position: 'relative',\n flexShrink: 0,\n }}\n onPointerDown={handlePointerDown}\n >\n {/* Subtle dot grid */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n backgroundImage:\n 'radial-gradient(circle, var(--cratis-canvas-minimap-grid-color, var(--cratis-surface-border)) 1px, transparent 1px)',\n backgroundSize: '10px 10px',\n pointerEvents: 'none',\n }}\n />\n\n {/* Item boxes */}\n {items.map((item, index) => (\n <div\n key={index}\n className='canvas-minimap-item'\n style={{\n position: 'absolute',\n left: item.x * scaleXConst,\n top: item.y * scaleYConst,\n width: Math.max(2, item.width * scaleXConst),\n height: Math.max(2, item.height * scaleYConst),\n background:\n item.color ??\n 'var(--cratis-canvas-minimap-item-color, color-mix(in srgb, var(--cratis-text-color) 25%, transparent))',\n borderRadius: 2,\n pointerEvents: 'none',\n }}\n />\n ))}\n\n {/* Viewport rectangle */}\n <div\n ref={viewportRectRef}\n className='canvas-minimap-viewport'\n style={{\n position: 'absolute',\n borderRadius: 3,\n pointerEvents: 'none',\n left: 0,\n top: 0,\n width: MINIMAP_WIDTH,\n height: MINIMAP_HEIGHT,\n }}\n />\n </div>\n );\n },\n);\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasOverlay.js","sources":["../../../Canvas/CanvasOverlay.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;AAYA,MAAM,6BAA6B,GAAG,MAAM,MAAM,SAAS;AAC3D,MAAM,YAAY,GAAG,MACjB,oBAAoB,CAChB,6BAA6B,EAC7B,MAAM,IAAI,EACV,MAAM,KAAK,CACd;MAGQ,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,KAAI;AAC9D,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,OAAO,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI;AACnE;;"}
|
|
1
|
+
{"version":3,"file":"CanvasOverlay.js","sources":["../../../Canvas/CanvasOverlay.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useSyncExternalStore, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\n/** Props for a Canvas overlay portaled to the browser document body. */\nexport interface CanvasOverlayProps {\n /** Overlay content; omitted during SSR and the first hydration render. */\n children: ReactNode;\n}\n\nconst subscribeToBrowserEnvironment = () => () => undefined;\nconst useIsBrowser = () =>\n useSyncExternalStore(\n subscribeToBrowserEnvironment,\n () => true,\n () => false,\n );\n\n/** A body-level overlay that stays empty during SSR and the first hydration render. */\nexport const CanvasOverlay = ({ children }: CanvasOverlayProps) => {\n const isBrowser = useIsBrowser();\n return isBrowser ? createPortal(children, document.body) : null;\n};\n"],"names":[],"mappings":";;;AAYA,MAAM,6BAA6B,GAAG,MAAM,MAAM,SAAS;AAC3D,MAAM,YAAY,GAAG,MACjB,oBAAoB,CAChB,6BAA6B,EAC7B,MAAM,IAAI,EACV,MAAM,KAAK,CACd;MAGQ,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,KAAI;AAC9D,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,OAAO,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI;AACnE;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvasGesture.js","sources":["../../../Canvas/canvasGesture.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"canvasGesture.js","sources":["../../../Canvas/canvasGesture.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\ntype GestureListener = (active: boolean) => void;\n\nconst listeners = new Set<GestureListener>();\nlet active = false;\n\n/**\n * A lightweight signal for when a canvas pan/zoom gesture is in motion, shared between the canvas (which\n * drives it from wheel activity) and consumers that must stay quiet mid-gesture — most importantly the\n * board's viewport virtualization, whose mount/unmount churn during a zoom would otherwise fight the\n * gesture frame budget. A module singleton rather than context because only one canvas is interactive at a\n * time and the consumers sit far down the tree.\n */\nexport const canvasGesture = {\n /** Whether a gesture is currently in motion. */\n get isActive(): boolean {\n return active;\n },\n\n /** Marks a gesture as started or settled, notifying subscribers on the transition. */\n set(activeNow: boolean): void {\n if (active === activeNow) return;\n active = activeNow;\n listeners.forEach(listener => listener(activeNow));\n },\n\n /** Subscribes to gesture start/settle transitions; returns the unsubscribe function. */\n subscribe(listener: GestureListener): () => void {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n};\n"],"names":[],"mappings":"AAKA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB;AAC5C,IAAI,MAAM,GAAG,KAAK;AASX,MAAM,aAAa,GAAG;AAEzB,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,MAAM;IACjB,CAAC;AAGD,IAAA,GAAG,CAAC,SAAkB,EAAA;QAClB,IAAI,MAAM,KAAK,SAAS;YAAE;QAC1B,MAAM,GAAG,SAAS;AAClB,QAAA,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;AAGD,IAAA,SAAS,CAAC,QAAyB,EAAA;AAC/B,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3C,CAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvasTransformActivity.js","sources":["../../../Canvas/canvasTransformActivity.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"canvasTransformActivity.js","sources":["../../../Canvas/canvasTransformActivity.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\ntype TransformListener = () => void;\n\nconst listeners = new Set<TransformListener>();\n\n// The per-frame heartbeat of the one transform writer (the canvas's applyWorldTransform): every\n// applied pan/zoom frame notifies, whether it came from a gesture, touch momentum, a smooth\n// pan/zoom animation or a tour camera. Followers that position themselves from the live transform\n// (collaborator cursors, the selection toolbar, tour anchors) subscribe here to wake exactly when\n// the transform moves instead of polling it on every animation frame — so an idle board notifies\n// nobody and issues no frame callbacks. A module singleton for the same reason canvasGesture is:\n// only one canvas is interactive at a time and the consumers sit far down the tree.\n/**\n * The per-frame heartbeat of the one transform writer (the canvas's applyWorldTransform): every\n * applied pan/zoom frame notifies, whether it came from a gesture, touch momentum, a smooth\n * pan/zoom animation or a tour camera. Followers that position themselves from the live transform\n * (collaborator cursors, the selection toolbar, tour anchors) subscribe here to wake exactly when\n * the transform moves instead of polling it on every animation frame.\n */\nexport const canvasTransformActivity = {\n notify(): void {\n listeners.forEach((listener) => listener());\n },\n\n subscribe(listener: TransformListener): () => void {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n};\n"],"names":[],"mappings":"AAKA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB;AAgBvC,MAAM,uBAAuB,GAAG;IACnC,MAAM,GAAA;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAC/C,CAAC;AAED,IAAA,SAAS,CAAC,QAA2B,EAAA;AACjC,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3C,CAAC;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Canvas/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,aAAU,CAAC;AAC7D,YAAY,EACR,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,GACd,MAAM,aAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAChD,YAAY,EACR,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,oBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,YAAY,EACR,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,qBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA2B,CAAC;AAC1E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA2B,CAAC;AAEzE,cAAc,wBAAe,CAAC;AAC9B,cAAc,0BAAiB,CAAC;AAIhC,cAAc,sBAAa,CAAC"}
|