@cratis/components 4.19.0 → 4.19.2
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/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 +1 -0
- package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -0
- 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/ChatTopicList.d.ts +1 -0
- package/dist/esm/Chat/ChatTopicList.d.ts.map +1 -0
- 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 +1 -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/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 +5 -1
- 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.Toolbar.css +9 -17
- package/dist/esm/styles.css +9 -17
- 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 +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../PivotViewer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../PivotViewer/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAsBM,SAAU,eAAe,CAAQ,QAAiC,EAAA;AACpE,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACrB,uEAAuE,CAC1E;AACD,IAAA,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAChC;AAMM,SAAU,cAAc,CAAQ,IAAW,EAAE,IAAY,EAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,GAAuB,IAA0B;AAC1D,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpE,YAAA,OAAO,SAAS;QACpB;QACA,MAAM,MAAM,GAAG,KAA2C;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;AAAE,YAAA,OAAO,SAAS;AAGlD,QAAA,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB;AACA,IAAA,OAAO,KAAK;AAChB;;"}
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../PivotViewer/types.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\nimport type { ReactNode } from 'react';\nimport type { FilterEditorProps } from '../Filter/FilterEditorProps';\nimport type { PivotViewerLabels } from './PivotViewerLabels';\n\n/** Primitive value types that a pivot property can hold. */\nexport type PivotPrimitive = string | number | boolean | Date | null | undefined;\n\n/** Value reachable through a searchable PivotViewer property path. */\nexport type PivotPropertyValue = PivotPrimitive | object;\n\n/**\n * Type-safe property accessor for accessing properties, including nested ones\n */\nexport type PropertyAccessor<TItem> = (item: TItem) => PivotPropertyValue;\n\n/**\n * Extract property path from a property accessor function\n * Supports nested properties like item => item.address.city\n */\nexport function getPropertyPath<TItem>(accessor: PropertyAccessor<TItem>): string {\n const fnStr = accessor.toString();\n // Match patterns like: item => item.prop or item => item.prop.nested or (item) => item.prop\n const match = fnStr.match(\n /(?:=>|return)\\s*[a-zA-Z_$][a-zA-Z0-9_$]*\\.([a-zA-Z_$][a-zA-Z0-9_$.]*)/,\n );\n return match ? match[1] : '';\n}\n\n/**\n * Get the value from an item using a property path string\n * Supports nested properties like \"address.city\"\n */\nexport function getValueByPath<TItem>(item: TItem, path: string): PivotPropertyValue {\n const parts = path.split('.');\n let value: PivotPropertyValue = item as PivotPropertyValue;\n for (const part of parts) {\n if (value === null || value === undefined || typeof value !== 'object') {\n return undefined;\n }\n const record = value as Record<string, PivotPropertyValue>;\n if (!Object.hasOwn(record, part)) return undefined;\n // SAFETY: The own-property guard excludes prototype-chain traversal; the remaining key is\n // read from the current object without mutation.\n value = record[part];\n }\n return value;\n}\n\n/** One group of items sharing a common dimension value. */\nexport interface PivotGroup<TItem extends object> {\n /** Unique identifier for this group. */\n key: string;\n /** Display label for this group. */\n label: string;\n /** The actual dimension value this group represents. */\n value: PivotPrimitive;\n /** Array of items belonging to this group. */\n items: TItem[];\n /** Optional item count (may be computed from items.length). */\n count?: number;\n}\n\n/** Defines how items are grouped, labeled, and sorted along one facet. */\nexport interface PivotDimension<TItem extends object> {\n /** Unique identifier for this dimension. */\n key: string;\n /** Display label for this dimension. */\n label: string;\n /** Extracts the dimension value from an item. */\n getValue: (item: TItem) => PivotPrimitive;\n /** Optional formatter for displaying dimension values. */\n formatValue?: (value: PivotPrimitive) => string;\n /** Optional custom sort comparator for groups within this dimension. */\n sort?: (a: PivotGroup<TItem>, b: PivotGroup<TItem>) => number;\n}\n\n/** One selectable value within a PivotFilter. */\nexport interface PivotFilterOption {\n /** Unique identifier for this option. */\n key: string;\n /** Display label for this option. */\n label: string;\n /** The actual value this option represents. */\n value: PivotPrimitive;\n /** Number of items with this value. */\n count: number;\n}\n\n/** A facet filter offered in the filter panel. */\nexport interface PivotFilter<TItem extends object> {\n /** Unique identifier for this filter. */\n key: string;\n /** Display label for this filter. */\n label: string;\n /** Extracts the filter value from an item. */\n getValue: (item: TItem) => PivotPrimitive;\n /** Whether multiple options can be selected simultaneously. */\n multi?: boolean;\n /** Available filter options; auto-computed from data if omitted. */\n options?: PivotFilterOption[];\n /** Optional custom sort comparator for filter options. */\n sort?: (a: PivotFilterOption, b: PivotFilterOption) => number;\n /** For numeric filters, enables range picker with histogram */\n type?: 'string' | 'number' | 'date' | 'custom';\n /** Number of buckets for the histogram in range filters */\n buckets?: number;\n /** Custom filter editor renderer. When provided, replaces the default filter UI for this filter. */\n renderEditor?: (props: FilterEditorProps) => ReactNode;\n}\n\n/** Semantic color overrides for DOM and Pixi PivotViewer surfaces. */\nexport interface PivotViewerColors {\n /** Color used for primary/brand elements. */\n primaryColor: string;\n /** Color used for text on primary-colored backgrounds. */\n primaryColorText: string;\n /** Color used for medium primary shade (500-level). */\n primary500: string;\n /** Color used for the base/ground surface. */\n surfaceGround: string;\n /** Color used for card/content surfaces. */\n surfaceCard: string;\n /** Color used for section surfaces. */\n surfaceSection: string;\n /** Color used for overlay/modal surfaces. */\n surfaceOverlay: string;\n /** Color used for surface borders. */\n surfaceBorder: string;\n /** Color used for primary text. */\n textColor: string;\n /** Color used for secondary/muted text. */\n textColorSecondary: string;\n /** Color used for highlight/selection backgrounds. */\n highlightBg: string;\n /** Color used for mask/backdrop backgrounds. */\n maskbg: string;\n /** Color used for focus ring/outline. */\n focusRing: string;\n}\n\n/** Props for the PivotViewer component. */\nexport interface PivotViewerProps<TItem extends object> {\n /** Array of items to display in the viewer. */\n data: TItem[];\n /** Available grouping dimensions for organizing items. */\n dimensions: PivotDimension<TItem>[];\n /** Optional facet filters for the filter panel. */\n filters?: PivotFilter<TItem>[];\n /** Initial dimension key to group by; defaults to the first dimension if omitted. */\n defaultDimensionKey?: string;\n /** Renderer for card content; returns structured text data for display */\n cardRenderer: (item: TItem) => {\n title: string;\n labels?: string[];\n values?: string[];\n };\n /** Optional renderer for the detail content area; the drawer shell (header/close/layout) stays component-owned */\n detailRenderer?: (item: TItem, onClose: () => void) => ReactNode;\n /** Optional stable ID extractor for items; used for efficient rendering and selection tracking. */\n getItemId?: (item: TItem, index: number) => string | number;\n /** Property accessors defining which fields are searchable. */\n searchFields?: PropertyAccessor<TItem>[];\n /**\n * Optional heading shown at the left of the toolbar.\n *\n * Omit it when the host already names the view - the heading collapses entirely and the\n * item count sits directly beside the filter button.\n */\n title?: string;\n /** Optional CSS class name to apply to the root element. */\n className?: string;\n /** Content to display when no items match the current filters/search. */\n emptyContent?: ReactNode;\n /** Loading state; displays a loading indicator when true. */\n isLoading?: boolean;\n /** Accessible status text while loading; overrides labels.loading and defaults to \"Loading…\". */\n loadingLabel?: string;\n /** Optional controls, card-area region, and loading-status text overrides. Unset fields keep their English defaults. */\n labels?: PivotViewerLabels;\n /**\n * Optional color overrides mapped to semantic CSS variables.\n * If omitted, values are taken from the global theme (Cratis defaults).\n */\n colors?: Partial<PivotViewerColors>;\n}\n\nexport type FilterState = Record<string, Set<string>>;\n\nexport type RangeFilterState = Record<string, [number, number] | null>;\n"],"names":[],"mappings":"AAsBM,SAAU,eAAe,CAAQ,QAAiC,EAAA;AACpE,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACrB,uEAAuE,CAC1E;AACD,IAAA,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAChC;AAMM,SAAU,cAAc,CAAQ,IAAW,EAAE,IAAY,EAAA;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,GAAuB,IAA0B;AAC1D,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpE,YAAA,OAAO,SAAS;QACpB;QACA,MAAM,MAAM,GAAG,KAA2C;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;AAAE,YAAA,OAAO,SAAS;AAGlD,QAAA,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB;AACA,IAAA,OAAO,KAAK;AAChB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animations.js","sources":["../../../../PivotViewer/utils/animations.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animations.js","sources":["../../../../PivotViewer/utils/animations.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\nexport type EasingFunction = (t: number) => number;\n\nexport const easeOutCubic: EasingFunction = (t: number) => 1 - Math.pow(1 - t, 3);\n\nexport interface ZoomAnimationParams {\n startZoom: number;\n targetZoom: number;\n duration?: number;\n easing?: EasingFunction;\n}\n\nexport interface ScrollAnimationParams {\n targetScrollLeft: number;\n targetScrollTop: number;\n}\n\nexport interface ZoomScrollAnimationParams extends ZoomAnimationParams, ScrollAnimationParams {\n container: HTMLElement;\n cardPosition?: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n onUpdate: (zoom: number) => void;\n onComplete?: () => void;\n startScrollLeft?: number; // Optional explicit start scroll\n startScrollTop?: number; // Optional explicit start scroll\n}\n\n/**\n * Animate zoom and scroll together, keeping a specific element centered\n */\nexport function animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom,\n targetZoom,\n targetScrollLeft,\n targetScrollTop,\n duration = 300,\n easing = easeOutCubic,\n onUpdate,\n onComplete,\n startScrollLeft,\n startScrollTop,\n}: ZoomScrollAnimationParams): () => void {\n container.style.scrollBehavior = 'auto';\n\n let startTime: number | null = null;\n let rafId: number | null = null;\n\n // Capture start scroll if not provided\n const initialScrollLeft = startScrollLeft ?? container.scrollLeft;\n const initialScrollTop = startScrollTop ?? container.scrollTop;\n\n // Calculate initial center point relative to viewport\n const startCardCenterX = cardPosition ? (cardPosition.x * startZoom + (cardPosition.width * startZoom) / 2) : 0;\n const startCardCenterY = cardPosition ? (cardPosition.y * startZoom + (cardPosition.height * startZoom) / 2) : 0;\n\n const startCardScreenX = startCardCenterX - initialScrollLeft;\n const startCardScreenY = startCardCenterY - initialScrollTop;\n\n const animate = (timestamp: number) => {\n if (startTime === null) {\n startTime = timestamp;\n }\n\n const elapsed = timestamp - startTime;\n const progress = Math.min(1, elapsed / duration);\n const easedProgress = easing(progress);\n\n const currentZoom = startZoom + (targetZoom - startZoom) * easedProgress;\n\n // Update spacer size synchronously if possible\n if (spacer && getLayoutSizeAtZoom) {\n const size = getLayoutSizeAtZoom(currentZoom);\n if (size) {\n spacer.style.width = `${size.width * currentZoom}px`;\n spacer.style.height = `${size.height * currentZoom}px`;\n }\n }\n\n onUpdate(currentZoom);\n\n if (cardPosition) {\n let currentCardX: number;\n let currentCardY: number;\n\n if (getCardPositionAtZoom) {\n const pos = getCardPositionAtZoom(currentZoom);\n if (pos) {\n currentCardX = pos.x;\n currentCardY = pos.y;\n } else {\n currentCardX = cardPosition.x;\n currentCardY = cardPosition.y;\n }\n } else {\n // Interpolate card position if target is provided (for layouts that change with zoom)\n currentCardX = targetCardPosition\n ? cardPosition.x + (targetCardPosition.x - cardPosition.x) * easedProgress\n : cardPosition.x;\n currentCardY = targetCardPosition\n ? cardPosition.y + (targetCardPosition.y - cardPosition.y) * easedProgress\n : cardPosition.y;\n }\n\n // Calculate where the card center is at current zoom\n const currentCardCenterX = currentCardX * currentZoom + (cardPosition.width * currentZoom) / 2;\n const currentCardCenterY = currentCardY * currentZoom + (cardPosition.height * currentZoom) / 2;\n\n // Calculate where the card center will be at the end of animation (relative to viewport)\n // Target scroll position is where we want to end up\n const endCardX = targetCardPosition ? targetCardPosition.x : cardPosition.x;\n const endCardY = targetCardPosition ? targetCardPosition.y : cardPosition.y;\n\n const endCardCenterX = endCardX * targetZoom + (cardPosition.width * targetZoom) / 2;\n const endCardCenterY = endCardY * targetZoom + (cardPosition.height * targetZoom) / 2;\n\n const endCardScreenX = endCardCenterX - targetScrollLeft;\n const endCardScreenY = endCardCenterY - targetScrollTop;\n\n // Interpolate the desired screen position\n const desiredScreenX = startCardScreenX + (endCardScreenX - startCardScreenX) * easedProgress;\n const desiredScreenY = startCardScreenY + (endCardScreenY - startCardScreenY) * easedProgress;\n\n // Calculate needed scroll position to put card at desired screen position\n const neededScrollLeft = currentCardCenterX - desiredScreenX;\n const neededScrollTop = currentCardCenterY - desiredScreenY;\n\n let maxScrollLeft = container.scrollWidth - container.clientWidth;\n let maxScrollTop = container.scrollHeight - container.clientHeight;\n\n // If we have explicit layout size, use it for clamping to avoid DOM sync issues\n if (getLayoutSizeAtZoom) {\n const size = getLayoutSizeAtZoom(currentZoom);\n if (size) {\n maxScrollLeft = Math.max(0, size.width * currentZoom - container.clientWidth);\n maxScrollTop = Math.max(0, size.height * currentZoom - container.clientHeight);\n }\n }\n\n // We can't clamp strictly during animation because the scrollWidth/Height might not have updated yet\n // if the spacer hasn't resized. But usually spacer resizes immediately on zoom update.\n // For safety, we just set it.\n container.scrollLeft = Math.min(Math.max(0, neededScrollLeft), maxScrollLeft);\n container.scrollTop = Math.min(Math.max(0, neededScrollTop), maxScrollTop);\n } else {\n // If no card position, just interpolate scroll position\n // Use captured initial scroll positions for linear interpolation\n const currentScrollLeft = initialScrollLeft + (targetScrollLeft - initialScrollLeft) * easedProgress;\n const currentScrollTop = initialScrollTop + (targetScrollTop - initialScrollTop) * easedProgress;\n\n container.scrollLeft = currentScrollLeft;\n container.scrollTop = currentScrollTop;\n }\n\n if (progress < 1) {\n rafId = requestAnimationFrame(animate);\n } else {\n container.style.scrollBehavior = '';\n container.scrollLeft = targetScrollLeft;\n container.scrollTop = targetScrollTop;\n onComplete?.();\n }\n };\n\n rafId = requestAnimationFrame(animate);\n\n return () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n container.style.scrollBehavior = '';\n }\n };\n}\n\n/**\n * Calculate scroll position to center a card in viewport, accounting for detail panel\n */\nexport function calculateCenterScrollPosition(\n container: HTMLElement,\n cardPosition: { x: number; y: number; width: number; height: number },\n zoomLevel: number,\n detailPanelWidth: number = 0,\n totalHeight?: number\n): { scrollLeft: number; scrollTop: number } {\n const cardCenterX = cardPosition.x * zoomLevel + (cardPosition.width * zoomLevel) / 2;\n const cardCenterY = cardPosition.y * zoomLevel + (cardPosition.height * zoomLevel) / 2;\n const cardBottomY = (cardPosition.y + cardPosition.height) * zoomLevel;\n\n const availableWidth = container.clientWidth - detailPanelWidth;\n const targetX = availableWidth / 2;\n \n // For vertical centering, prefer putting the card center at viewport center.\n // But ensure the card bottom stays visible (at least 20% from viewport bottom).\n const viewportHeight = container.clientHeight;\n const targetYCenter = viewportHeight / 2;\n const targetYForBottom = viewportHeight * 0.7; // Card center should be at most 70% down\n\n const scrollLeft = Math.max(0, cardCenterX - targetX);\n \n // Calculate scroll needed to center the card\n const scrollTopForCenter = cardCenterY - targetYCenter;\n \n // Calculate scroll that ensures card bottom is visible with some margin\n const scrollTopForBottomVisible = cardBottomY - viewportHeight + 50; // 50px margin from bottom\n \n // If centering would push the card bottom out of view, use the bottom-visible scroll\n let scrollTop = scrollTopForCenter;\n if (scrollTopForCenter > scrollTopForBottomVisible + (cardPosition.height * zoomLevel / 2)) {\n // Card is near bottom of content, adjust to keep it visible\n scrollTop = Math.max(0, cardCenterY - targetYForBottom);\n }\n \n scrollTop = Math.max(0, scrollTop);\n\n // If totalHeight is provided, clamp to valid scroll range\n if (totalHeight) {\n const contentHeight = totalHeight * zoomLevel;\n const maxScrollTop = Math.max(0, contentHeight - viewportHeight);\n scrollTop = Math.min(scrollTop, maxScrollTop);\n }\n\n return { scrollLeft, scrollTop };\n}\n\n/**\n * Smooth scroll to position\n */\nexport function smoothScrollTo(\n container: HTMLElement,\n scrollLeft: number,\n scrollTop: number,\n smooth: boolean = true\n): void {\n container.scrollTo({\n left: scrollLeft,\n top: scrollTop,\n behavior: smooth ? 'smooth' : 'auto',\n });\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardPosition.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/cardPosition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAiB,CAAC;AAQtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC;AAEnD,MAAM,MAAM,MAAM,GAAG,YAAY,CAAC;AAElC;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACxB,YAAY,GAAG,IAAI,CA6BrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACxB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgCnC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM;IAGnB,qBAAqB,SAAS,MAAM;IAGpC,mBAAmB,SAAS,MAAM;eAjD9B,MAAM;gBAAU,MAAM;;EAoDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardPosition.js","sources":["../../../../PivotViewer/utils/cardPosition.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAoBM,SAAU,qBAAqB,CACjC,IAAY,EACZ,MAAuB,EACvB,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;AAEvB,IAAA,MAAM,oBAAoB,GAAG,cAAc,GAAG,IAAI;AAClD,IAAA,MAAM,qBAAqB,GAAG,QAAQ,KAAK;UACrC,eAAe,GAAG;UAClB,eAAe;AAErB,IAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;QAC5B,QAAQ;AACR,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,cAAc,EAAE,gBAAgB;AAChC,QACA,cAAc,EAAE,oBAAoB;AACpC,QAAA,eAAe,EAAE,qBAAqB;AACzC,KAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE;AACX,QAAA,OAAO,IAAI;IACf;IAEA,OAAO;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACb,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,MAAM,EAAE,gBAAgB;KAC3B;AACL;AAKM,SAAU,mBAAmB,CAC/B,IAAY,EACZ,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;AAEvB,IAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;AAC3B,QAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;YAC5B,QAAQ;AACR,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,cAAc,EAAE,gBAAgB;AAChC,YACA,cAAc;YACd,eAAe;AAClB,SAAA,CAAC;AACF,QAAA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;IACnE;AAEA,IAAA,MAAM,oBAAoB,GAAG,cAAc,GAAG,IAAI;IAClD,MAAM,qBAAqB,GAAG,eAAe;AAE7C,IAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;QAC5B,QAAQ;AACR,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,cAAc,EAAE,gBAAgB;AAChC,QACA,cAAc,EAAE,oBAAoB;AACpC,QAAA,eAAe,EAAE,qBAAqB;AACzC,KAAA,CAAC;AAEF,IAAA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;AACnE;AAMM,SAAU,2BAA2B,CACvC,MAAuB,EACvB,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;IAEvB,OAAO;AACH,QAAA,qBAAqB,EAAE,CAAC,IAAY,KAChC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;AAE5F,QAAA,mBAAmB,EAAE,CAAC,IAAY,KAC9B,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;KACrF;AACL;;"}
|
|
1
|
+
{"version":3,"file":"cardPosition.js","sources":["../../../../PivotViewer/utils/cardPosition.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\nimport type { GroupingResult } from '../engine/types';\nimport { computeLayout } from '../engine/layout';\nimport {\n BASE_CARD_WIDTH,\n BASE_CARD_HEIGHT,\n CARDS_PER_COLUMN,\n GROUP_SPACING,\n} from '../constants';\nimport type { ViewMode } from '../components/Toolbar';\nimport type { LayoutResult } from '../engine/types';\nimport type { CardPosition } from './idResolution';\n\nexport type Layout = LayoutResult;\n\n/**\n * Computes the card position at a specific zoom level\n */\nexport function getCardPositionAtZoom(\n zoom: number,\n itemId: string | number,\n grouping: GroupingResult,\n viewMode: ViewMode,\n containerWidth: number,\n containerHeight: number,\n): CardPosition | null {\n const scaledContainerWidth = containerWidth / zoom;\n const scaledContainerHeight = viewMode === 'collection'\n ? containerHeight / zoom\n : containerHeight;\n\n const layout = computeLayout(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n grouping as unknown as any, {\n viewMode,\n cardWidth: BASE_CARD_WIDTH,\n cardHeight: BASE_CARD_HEIGHT,\n cardsPerColumn: CARDS_PER_COLUMN,\n groupSpacing: GROUP_SPACING,\n containerWidth: scaledContainerWidth,\n containerHeight: scaledContainerHeight,\n });\n\n const position = layout.positions.get(itemId);\n if (!position) {\n return null;\n }\n\n return {\n x: position.x,\n y: position.y,\n width: BASE_CARD_WIDTH,\n height: BASE_CARD_HEIGHT,\n };\n}\n\n/**\n * Computes layout size at a specific zoom level\n */\nexport function getLayoutSizeAtZoom(\n zoom: number,\n grouping: GroupingResult,\n viewMode: ViewMode,\n containerWidth: number,\n containerHeight: number,\n): { width: number; height: number } {\n if (viewMode === 'collection') {\n const layout = computeLayout(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n grouping as unknown as any, {\n viewMode,\n cardWidth: BASE_CARD_WIDTH,\n cardHeight: BASE_CARD_HEIGHT,\n cardsPerColumn: CARDS_PER_COLUMN,\n groupSpacing: GROUP_SPACING,\n containerWidth,\n containerHeight,\n });\n return { width: layout.totalWidth, height: layout.totalHeight };\n }\n\n const scaledContainerWidth = containerWidth / zoom;\n const scaledContainerHeight = containerHeight;\n\n const layout = computeLayout(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n grouping as unknown as any, {\n viewMode,\n cardWidth: BASE_CARD_WIDTH,\n cardHeight: BASE_CARD_HEIGHT,\n cardsPerColumn: CARDS_PER_COLUMN,\n groupSpacing: GROUP_SPACING,\n containerWidth: scaledContainerWidth,\n containerHeight: scaledContainerHeight,\n });\n\n return { width: layout.totalWidth, height: layout.totalHeight };\n}\n\n/**\n * Creates callback functions for card position calculations at various zoom levels\n * Used for smooth animations during zoom and pan operations\n */\nexport function createCardPositionCallbacks(\n itemId: string | number,\n grouping: GroupingResult,\n viewMode: ViewMode,\n containerWidth: number,\n containerHeight: number,\n) {\n return {\n getCardPositionAtZoom: (zoom: number) =>\n getCardPositionAtZoom(zoom, itemId, grouping, viewMode, containerWidth, containerHeight),\n \n getLayoutSizeAtZoom: (zoom: number) =>\n getLayoutSizeAtZoom(zoom, grouping, viewMode, containerWidth, containerHeight),\n };\n}\n"],"names":[],"mappings":";;;AAoBM,SAAU,qBAAqB,CACjC,IAAY,EACZ,MAAuB,EACvB,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;AAEvB,IAAA,MAAM,oBAAoB,GAAG,cAAc,GAAG,IAAI;AAClD,IAAA,MAAM,qBAAqB,GAAG,QAAQ,KAAK;UACrC,eAAe,GAAG;UAClB,eAAe;AAErB,IAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;QAC5B,QAAQ;AACR,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,cAAc,EAAE,gBAAgB;AAChC,QACA,cAAc,EAAE,oBAAoB;AACpC,QAAA,eAAe,EAAE,qBAAqB;AACzC,KAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE;AACX,QAAA,OAAO,IAAI;IACf;IAEA,OAAO;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACb,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,MAAM,EAAE,gBAAgB;KAC3B;AACL;AAKM,SAAU,mBAAmB,CAC/B,IAAY,EACZ,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;AAEvB,IAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;AAC3B,QAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;YAC5B,QAAQ;AACR,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,cAAc,EAAE,gBAAgB;AAChC,YACA,cAAc;YACd,eAAe;AAClB,SAAA,CAAC;AACF,QAAA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;IACnE;AAEA,IAAA,MAAM,oBAAoB,GAAG,cAAc,GAAG,IAAI;IAClD,MAAM,qBAAqB,GAAG,eAAe;AAE7C,IAAA,MAAM,MAAM,GAAG,aAAa,CAExB,QAA0B,EAAE;QAC5B,QAAQ;AACR,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,cAAc,EAAE,gBAAgB;AAChC,QACA,cAAc,EAAE,oBAAoB;AACpC,QAAA,eAAe,EAAE,qBAAqB;AACzC,KAAA,CAAC;AAEF,IAAA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;AACnE;AAMM,SAAU,2BAA2B,CACvC,MAAuB,EACvB,QAAwB,EACxB,QAAkB,EAClB,cAAsB,EACtB,eAAuB,EAAA;IAEvB,OAAO;AACH,QAAA,qBAAqB,EAAE,CAAC,IAAY,KAChC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;AAE5F,QAAA,mBAAmB,EAAE,CAAC,IAAY,KAC9B,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;KACrF;AACL;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../PivotViewer/utils/constants.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../PivotViewer/utils/constants.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\n// Zoom constants\nexport const ZOOM_MIN = 0.1;\nexport const ZOOM_MAX = 3;\nexport const ZOOM_STEP = 0.05;\n\n// Layout constants - matched to main constants\nexport const GROUP_SPACING = 20;\nexport const CARD_GAP = 10;\nexport const CARDS_PER_COLUMN = 5;\nexport const BASE_CARD_WIDTH = 200;\nexport const BASE_CARD_HEIGHT = 176;\nexport const DETAIL_PANEL_WIDTH = 380;\n\n// Animation constants\nexport const ZOOM_ANIMATION_DURATION = 300;\nexport const ZOOM_MULTIPLIER = 1.2;\nexport const MIN_ZOOM_ON_SELECT = 1.2;\n"],"names":[],"mappings":"AAKO,MAAM,QAAQ,GAAG;AAOjB,MAAM,eAAe,GAAG;AACxB,MAAM,gBAAgB,GAAG;AACzB,MAAM,kBAAkB,GAAG;AAI3B,MAAM,eAAe,GAAG;AACxB,MAAM,kBAAkB,GAAG;;"}
|
|
@@ -31,3 +31,4 @@ export declare function resolveLayoutItemId<TItem extends object>(data: TItem[],
|
|
|
31
31
|
*/
|
|
32
32
|
export declare function getCardPositionFromLayout(itemId: string | number, layout: Layout, cardWidth: number, cardHeight: number): CardPosition | null;
|
|
33
33
|
export {};
|
|
34
|
+
//# sourceMappingURL=idResolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idResolution.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/idResolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAiB,CAAC;AAEpD,KAAK,MAAM,GAAG,YAAY,CAAC;AAE3B,MAAM,WAAW,YAAY;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,MAAM,EAC9C,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAC5D,MAAM,GAAG,MAAM,CAOjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,MAAM,CAqBjB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,MAAM,EACzD,IAAI,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,KAAK,EACX,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAC5D,MAAM,CAsBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,MAAM,EACpD,IAAI,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAC3D,MAAM,GAAG,MAAM,CAIjB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACnB,YAAY,GAAG,IAAI,CAcrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idResolution.js","sources":["../../../../PivotViewer/utils/idResolution.ts"],"sourcesContent":[null],"names":[],"mappings":"AAkCM,SAAU,sBAAsB,CAClC,MAAuB,EACvB,MAAc,EAAA;IAGd,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAA,OAAO,MAAM;IACjB;AAGA,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;AACpE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB;AAGA,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC9C,YAAA,OAAO,KAAK;QAChB;IACJ;AAGA,IAAA,OAAO,MAAM;AACjB;SAOgB,wBAAwB,CACpC,IAAa,EACb,IAAW,EACX,SAA2D,EAAA;IAE3D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,cAAc,KAAK,EAAE;AAAE,QAAA,OAAO,cAAc;AAEhD,IAAA,MAAM,UAAU,GAAI,IAAgC,CAAC,IAAI,CAAC;IAC1D,MAAM,QAAQ,GAAG;AACb,UAAE,SAAS,CAAC,IAAI,EAAE,CAAC;UACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK;AACxD,cAAE;cACA,SAAS;IACjB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;AACvC,QAAA,MAAM,mBAAmB,GAAI,SAAqC,CAAC,IAAI,CAAC;QACxE,MAAM,iBAAiB,GAAG;AACtB,cAAE,SAAS,CAAC,SAAS,EAAE,KAAK;AAC5B,cAAE,OAAO,mBAAmB,KAAK,QAAQ;gBACrC,OAAO,mBAAmB,KAAK;AACjC,kBAAE;kBACA,SAAS;QACjB,OAAO,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;AACjD,IAAA,CAAC,CAAC;AACN;AAMM,SAAU,mBAAmB,CAC/B,IAAa,EACb,IAAW,EACX,MAAc,EACd,SAA0D,EAAA;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChC,IAAA,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AACxD,IAAA,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;AACjD;AAKM,SAAU,yBAAyB,CACrC,MAAuB,EACvB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAAA;IAElB,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;IAEnD,IAAI,CAAC,QAAQ,EAAE;AACX,QAAA,OAAO,IAAI;IACf;IAEA,OAAO;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACb,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,UAAU;KACrB;AACL;;"}
|
|
1
|
+
{"version":3,"file":"idResolution.js","sources":["../../../../PivotViewer/utils/idResolution.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\nimport type { LayoutResult } from '../engine/types';\n\ntype Layout = LayoutResult;\n\nexport interface CardPosition {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Resolves the ID for an item, handling type conversions and consistency with layout keys\n */\nexport function resolveItemId<TItem extends object>(\n item: TItem,\n index: number,\n getItemId?: (item: TItem, index: number) => string | number,\n): string | number {\n if (getItemId) {\n const id = getItemId(item, index);\n return typeof id === 'number' ? id : id;\n }\n const id = (item as Record<string, unknown>)['id'];\n return typeof id === 'number' ? id : index;\n}\n\n/**\n * Ensures the item ID matches the layout's key type (number vs string)\n * by attempting type conversion if needed\n */\nexport function normalizeIdToLayoutKey(\n itemId: string | number,\n layout: Layout,\n): string | number {\n // If already in layout, return as-is\n if (layout.positions.has(itemId)) {\n return itemId;\n }\n\n // Try converting number to string\n if (typeof itemId === 'number' && layout.positions.has(String(itemId))) {\n return String(itemId);\n }\n\n // Try converting string to number\n if (typeof itemId === 'string') {\n const numId = Number(itemId);\n if (!isNaN(numId) && layout.positions.has(numId)) {\n return numId;\n }\n }\n\n // Return original if no match found (will likely result in null position)\n return itemId;\n}\n\n/**\n * Resolves an item to the engine's canonical array-index identity. A stale object reference is\n * relocated by its consumer identity when a stable `getItemId` is available; raw consumer ids are\n * never returned as layout keys.\n */\nexport function resolveInternalItemIndex<TItem extends object>(\n data: TItem[],\n item: TItem,\n getItemId?: (item: TItem, index: number) => string | number,\n): number {\n const referenceIndex = data.indexOf(item);\n if (referenceIndex !== -1) return referenceIndex;\n\n const implicitId = (item as Record<string, unknown>)['id'];\n const identity = getItemId\n ? getItemId(item, 0)\n : typeof implicitId === 'string' || typeof implicitId === 'number'\n ? implicitId\n : undefined;\n if (identity === undefined) return -1;\n\n return data.findIndex((candidate, index) => {\n const candidateImplicitId = (candidate as Record<string, unknown>)['id'];\n const candidateIdentity = getItemId\n ? getItemId(candidate, index)\n : typeof candidateImplicitId === 'string' ||\n typeof candidateImplicitId === 'number'\n ? candidateImplicitId\n : undefined;\n return Object.is(candidateIdentity, identity);\n });\n}\n\n/**\n * Resolves the layout key for a specific item. `resolveId` must return the internal array index (or\n * `-1` when the item cannot be relocated), never a consumer-supplied id.\n */\nexport function resolveLayoutItemId<TItem extends object>(\n data: TItem[],\n item: TItem,\n layout: Layout,\n resolveId: (item: TItem, index: number) => string | number,\n): string | number {\n const index = data.indexOf(item);\n const itemId = index !== -1 ? index : resolveId(item, 0);\n return normalizeIdToLayoutKey(itemId, layout);\n}\n\n/**\n * Gets the card position from the layout, handling ID type mismatches\n */\nexport function getCardPositionFromLayout(\n itemId: string | number,\n layout: Layout,\n cardWidth: number,\n cardHeight: number,\n): CardPosition | null {\n const normalizedId = normalizeIdToLayoutKey(itemId, layout);\n const position = layout.positions.get(normalizedId);\n\n if (!position) {\n return null;\n }\n\n return {\n x: position.x,\n y: position.y,\n width: cardWidth,\n height: cardHeight,\n };\n}\n"],"names":[],"mappings":"AAkCM,SAAU,sBAAsB,CAClC,MAAuB,EACvB,MAAc,EAAA;IAGd,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAA,OAAO,MAAM;IACjB;AAGA,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;AACpE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB;AAGA,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC9C,YAAA,OAAO,KAAK;QAChB;IACJ;AAGA,IAAA,OAAO,MAAM;AACjB;SAOgB,wBAAwB,CACpC,IAAa,EACb,IAAW,EACX,SAA2D,EAAA;IAE3D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,cAAc,KAAK,EAAE;AAAE,QAAA,OAAO,cAAc;AAEhD,IAAA,MAAM,UAAU,GAAI,IAAgC,CAAC,IAAI,CAAC;IAC1D,MAAM,QAAQ,GAAG;AACb,UAAE,SAAS,CAAC,IAAI,EAAE,CAAC;UACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK;AACxD,cAAE;cACA,SAAS;IACjB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;AACvC,QAAA,MAAM,mBAAmB,GAAI,SAAqC,CAAC,IAAI,CAAC;QACxE,MAAM,iBAAiB,GAAG;AACtB,cAAE,SAAS,CAAC,SAAS,EAAE,KAAK;AAC5B,cAAE,OAAO,mBAAmB,KAAK,QAAQ;gBACrC,OAAO,mBAAmB,KAAK;AACjC,kBAAE;kBACA,SAAS;QACjB,OAAO,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;AACjD,IAAA,CAAC,CAAC;AACN;AAMM,SAAU,mBAAmB,CAC/B,IAAa,EACb,IAAW,EACX,MAAc,EACd,SAA0D,EAAA;IAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChC,IAAA,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AACxD,IAAA,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;AACjD;AAKM,SAAU,yBAAyB,CACrC,MAAuB,EACvB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAAA;IAElB,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;IAEnD,IAAI,CAAC,QAAQ,EAAE;AACX,QAAA,OAAO,IAAI;IACf;IAEA,OAAO;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACb,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,UAAU;KACrB;AACL;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAS,CAAC;AACxB,cAAc,iBAAc,CAAC;AAC7B,cAAc,gBAAa,CAAC;AAC5B,cAAc,mBAAgB,CAAC;AAC/B,cAAc,mBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../PivotViewer/utils/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,cAAc,YAAS,CAAC;AACxB,cAAc,iBAAc,CAAC;AAC7B,cAAc,gBAAa,CAAC;AAC5B,cAAc,mBAAgB,CAAC;AAC/B,cAAc,mBAAgB,CAAC","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\nexport * from './utils';\nexport * from './animations';\nexport * from './selection';\nexport * from './idResolution';\nexport * from './cardPosition';\n\n"]}
|
|
@@ -2,3 +2,4 @@ import type { GroupingResult } from '../engine/types.js';
|
|
|
2
2
|
import type { PivotDimension } from '../types.js';
|
|
3
3
|
/** Apply display-only dimension callbacks after results cross the worker boundary. */
|
|
4
4
|
export declare function presentGrouping<TItem extends object>(result: GroupingResult, dimension: PivotDimension<TItem> | undefined, data: TItem[]): GroupingResult;
|
|
5
|
+
//# sourceMappingURL=presentGrouping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentGrouping.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/presentGrouping.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAU,CAAC;AAE3D,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAChD,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,KAAK,EAAE,GACd,cAAc,CAoBhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentGrouping.js","sources":["../../../../PivotViewer/utils/presentGrouping.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"presentGrouping.js","sources":["../../../../PivotViewer/utils/presentGrouping.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\nimport type { GroupingResult } from '../engine/types';\nimport type { PivotDimension, PivotGroup } from '../types';\n\n/** Apply display-only dimension callbacks after results cross the worker boundary. */\nexport function presentGrouping<TItem extends object>(\n result: GroupingResult,\n dimension: PivotDimension<TItem> | undefined,\n data: TItem[],\n): GroupingResult {\n if (!dimension?.formatValue && !dimension?.sort) return result;\n\n const groups = result.groups.map(group => ({\n ...group,\n label: dimension.formatValue ? dimension.formatValue(group.value) : group.label,\n }));\n\n if (dimension.sort) {\n const publicGroups = new Map(groups.map(group => [group, {\n key: group.key,\n label: group.label,\n value: group.value,\n items: Array.from(group.ids, id => data[id]),\n count: group.count,\n } satisfies PivotGroup<TItem>]));\n groups.sort((a, b) => dimension.sort!(publicGroups.get(a)!, publicGroups.get(b)!));\n }\n\n return { ...result, groups };\n}\n"],"names":[],"mappings":"SAOgB,eAAe,CAC3B,MAAsB,EACtB,SAA4C,EAC5C,IAAa,EAAA;IAEb,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,SAAS,EAAE,IAAI;AAAE,QAAA,OAAO,MAAM;AAE9D,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK;AACvC,QAAA,GAAG,KAAK;QACR,KAAK,EAAE,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK;AAClF,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,SAAS,CAAC,IAAI,EAAE;AAChB,QAAA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;gBACrD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;aACO,CAAC,CAAC,CAAC;AAChC,QAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,IAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;IACtF;AAEA,IAAA,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE;AAChC;;"}
|
|
@@ -9,3 +9,4 @@ import type { PropertyAccessor } from '../types.js';
|
|
|
9
9
|
* omitted or empty, search remains a no-op and `visibleIds` is returned unchanged.
|
|
10
10
|
*/
|
|
11
11
|
export declare function filterVisibleIdsBySearch<TItem extends object>(data: TItem[], visibleIds: Uint32Array, searchTerm: string, searchFields?: PropertyAccessor<TItem>[]): Uint32Array;
|
|
12
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAU,CAAC;AAGjD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,MAAM,EACzD,IAAI,EAAE,KAAK,EAAE,EACb,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,GACzC,WAAW,CAiBb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sources":["../../../../PivotViewer/utils/search.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"search.js","sources":["../../../../PivotViewer/utils/search.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\nimport type { PropertyAccessor } from '../types';\nimport { getPropertyPath, getValueByPath } from '../types';\n\n/**\n * Narrows a set of visible item ids (array indices into `data`, matching the engine's internal\n * id space) down to those matching a free-text search term across `searchFields`.\n *\n * This is a post-filter step over already-filtered ids, so it composes identically whether\n * `visibleIds` came from the worker or the synchronous fallback path. Per the documented\n * `searchFields` contract, there is no default set of searched fields: when `searchFields` is\n * omitted or empty, search remains a no-op and `visibleIds` is returned unchanged.\n */\nexport function filterVisibleIdsBySearch<TItem extends object>(\n data: TItem[],\n visibleIds: Uint32Array,\n searchTerm: string,\n searchFields?: PropertyAccessor<TItem>[],\n): Uint32Array {\n const term = searchTerm.trim().toLowerCase();\n if (!term || !searchFields || searchFields.length === 0) {\n return visibleIds;\n }\n\n const propertyPaths = searchFields.map((accessor) => getPropertyPath(accessor));\n const matches: number[] = [];\n for (let i = 0; i < visibleIds.length; i++) {\n const id = visibleIds[i];\n const item = data[id];\n if (item !== undefined && matchesSearchFields(item, term, propertyPaths)) {\n matches.push(id);\n }\n }\n\n return new Uint32Array(matches);\n}\n\nfunction matchesSearchFields<TItem extends object>(\n item: TItem,\n term: string,\n propertyPaths: string[],\n): boolean {\n for (const propertyPath of propertyPaths) {\n const value = getValueByPath(item, propertyPath);\n if (value !== undefined && String(value).toLowerCase().indexOf(term) !== -1) {\n return true;\n }\n }\n\n return false;\n}\n"],"names":[],"mappings":";;AAeM,SAAU,wBAAwB,CACpC,IAAa,EACb,UAAuB,EACvB,UAAkB,EAClB,YAAwC,EAAA;IAExC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AAC5C,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACrD,QAAA,OAAO,UAAU;IACrB;AAEA,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAa,EAAE;AAC5B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,QAAA,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;AACxB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;AACrB,QAAA,IAAI,IAAI,KAAK,SAAS,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE;AACtE,YAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB;IACJ;AAEA,IAAA,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;AACnC;AAEA,SAAS,mBAAmB,CACxB,IAAW,EACX,IAAY,EACZ,aAAuB,EAAA;AAEvB,IAAA,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACtC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AACzE,YAAA,OAAO,IAAI;QACf;IACJ;AAEA,IAAA,OAAO,KAAK;AAChB;;"}
|
|
@@ -53,3 +53,4 @@ export declare function handleCardSelection<TItem>({ itemId, selectedItemId, con
|
|
|
53
53
|
* Get card element by ID from container
|
|
54
54
|
*/
|
|
55
55
|
export declare function getCardElementById(_container: HTMLElement, _itemId: string | number): HTMLElement | null;
|
|
56
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/selection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAAuB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB,CAAC,KAAK;IAC3C,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7E,kBAAkB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzG,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,oBAAoB,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAaD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EACzC,MAAM,EACN,cAAc,EACd,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,IAAI,GACL,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,IAAI,CAsFtC;AA2JD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAMxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sources":["../../../../PivotViewer/utils/selection.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","sources":["../../../../PivotViewer/utils/selection.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\nimport { animateZoomAndScroll, calculateCenterScrollPosition, smoothScrollTo } from './animations';\nimport { ZOOM_MAX, MIN_ZOOM_ON_SELECT, ZOOM_MULTIPLIER, DETAIL_PANEL_WIDTH } from './constants';\nimport type { ViewMode } from '../components/Toolbar';\n\nexport interface SelectionState {\n zoom: number;\n scrollLeft: number;\n scrollTop: number;\n}\n\nexport interface CardClickHandlerParams<TItem> {\n item: TItem;\n itemId: string | number;\n selectedItemId: string | number | null;\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n totalHeight?: number;\n preSelectionState: SelectionState | null;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: TItem | null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Compare two item IDs handling type coercion (string vs number)\n */\nfunction isSameItemId(id1: string | number | null, id2: string | number | null): boolean {\n if (id1 === null || id2 === null) return false;\n // Strict equality\n if (id1 === id2) return true;\n // Compare as strings to handle number/string mismatches\n return String(id1) === String(id2);\n}\n\n/**\n * Handle card click for selection with zoom and scroll animation\n */\nexport function handleCardSelection<TItem>({\n itemId,\n selectedItemId,\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n totalHeight,\n preSelectionState,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n item,\n}: CardClickHandlerParams<TItem>): void {\n // Clicking the same card - deselect (using type-coerced comparison)\n if (isSameItemId(selectedItemId, itemId)) {\n deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n });\n return;\n }\n\n // First selection - save state and zoom in\n const isFirstSelection = selectedItemId === null;\n\n if (isFirstSelection) {\n setPreSelectionState({\n zoom: zoomLevel,\n scrollLeft: container.scrollLeft,\n scrollTop: container.scrollTop,\n });\n }\n\n setSelectedItem(item);\n\n if (isFirstSelection) {\n if (viewMode === 'collection') {\n // Collection mode: animate scroll to center the selected card (no zoom change)\n if (cardPosition) {\n setIsZooming(true);\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, 0, totalHeight);\n animateZoomAndScroll({\n container,\n cardPosition,\n startZoom: zoomLevel,\n targetZoom: zoomLevel,\n targetScrollLeft: scrollLeft,\n targetScrollTop: scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => setIsZooming(false),\n });\n }\n } else {\n // Grouped mode: animate zoom and scroll\n zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n itemId,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n });\n }\n } else {\n // Subsequent selections: animate the scroll to center the new card\n if (cardPosition) {\n setIsZooming(true);\n const detailWidth = viewMode === 'collection' ? 0 : DETAIL_PANEL_WIDTH;\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, detailWidth, totalHeight);\n animateZoomAndScroll({\n container,\n cardPosition,\n startZoom: zoomLevel,\n targetZoom: zoomLevel,\n targetScrollLeft: scrollLeft,\n targetScrollTop: scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => setIsZooming(false),\n });\n }\n }\n}\n\ninterface DeselectParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n preSelectionState: SelectionState | null;\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Deselect card with zoom-out animation if needed\n */\nfunction deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n}: DeselectParams): void {\n if (!preSelectionState) {\n setSelectedItem(null);\n return;\n }\n\n // Collection mode: just scroll back\n if (viewMode === 'collection') {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Grouped mode: check if zoom changed\n const zoomChanged = Math.abs(preSelectionState.zoom - zoomLevel) > 0.001;\n\n if (!zoomChanged || !cardPosition) {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Animate zoom out\n setIsZooming(true);\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom: preSelectionState.zoom,\n targetScrollLeft: preSelectionState.scrollLeft,\n targetScrollTop: preSelectionState.scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n setSelectedItem(null);\n setPreSelectionState(null);\n },\n });\n}\n\ninterface ZoomAndCenterParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n itemId: string | number;\n zoomLevel: number;\n totalHeight?: number;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n}\n\n/**\n * Zoom in and center a card\n */\nfunction zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n}: ZoomAndCenterParams): void {\n const targetZoom = Math.min(ZOOM_MAX, Math.max(MIN_ZOOM_ON_SELECT, zoomLevel * ZOOM_MULTIPLIER));\n const shouldZoom = Math.abs(targetZoom - zoomLevel) > 0.001;\n\n if (!shouldZoom || !cardPosition) {\n if (cardPosition) {\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, DETAIL_PANEL_WIDTH, totalHeight);\n smoothScrollTo(container, scrollLeft, scrollTop, true);\n }\n return;\n }\n\n setIsZooming(true);\n\n // Use targetCardPosition if available, otherwise fallback to cardPosition\n const { scrollLeft: targetScrollLeft, scrollTop: targetScrollTop } = calculateCenterScrollPosition(\n container,\n targetCardPosition || cardPosition,\n targetZoom,\n DETAIL_PANEL_WIDTH,\n totalHeight\n );\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom,\n targetScrollLeft,\n targetScrollTop,\n startScrollLeft: startScrollPosition?.x,\n startScrollTop: startScrollPosition?.y,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n },\n });\n}\n\n/**\n * Get card element by ID from container\n */\nexport function getCardElementById(_container: HTMLElement, _itemId: string | number): HTMLElement | null {\n // Deprecated: Pixi renderer doesn't use DOM elements for cards\n // Keep parameter names prefixed to indicate intentional non-use.\n void _container;\n void _itemId;\n return null;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -31,3 +31,4 @@ export declare const groupData: <TItem extends object>(data: TItem[], dimension:
|
|
|
31
31
|
* Returns array with nulls for empty cells that need placeholder rendering.
|
|
32
32
|
*/
|
|
33
33
|
export declare const reorderForBottomUpGrid: <TItem>(items: TItem[], columns: number) => (TItem | null)[];
|
|
34
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../PivotViewer/utils/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,cAAc,EACf,MAAM,aAAU,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAGvE,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,SAAS,OAAO,CAAC;AAC9B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,KAAK,UAAW,cAAc,KAAG,MAM7C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,cAAc,KAAG,MAMrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,MAAM,WAC1C,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,KACxC,WAMF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,MAAM,WAC/C,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,KACxC,gBAQF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,MAAM,QACzC,KAAK,EAAE,WACJ,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,SAClC,WAAW,cACN,gBAAgB,YAClB,MAAM,KACf,KAAK,EAoDP,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,MAAM,QACjD,KAAK,EAAE,UACL,WAAW,CAAC,KAAK,CAAC,KACzB,iBAAiB,EAgCnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,MAC/B,CAAC;AAEzC,eAAO,MAAM,mBAAmB,GAAI,KAAK,SAAS,MAAM,QAChD,KAAK,EAAE,UACL,WAAW,CAAC,KAAK,CAAC,KACzB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAA;CAoBtD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,MAAM,QACtC,KAAK,EAAE,aACF,cAAc,CAAC,KAAK,CAAC,KAC/B,UAAU,CAAC,KAAK,CAAC,EA0BnB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,SAAU,KAAK,EAAE,WAAW,MAAM,KAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAgC9F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../PivotViewer/utils/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../PivotViewer/utils/utils.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\nimport type {\n PivotDimension,\n PivotFilter,\n PivotFilterOption,\n PivotGroup,\n PivotPrimitive,\n} from '../types';\n\nexport type FilterState = Record<string, Set<string>>;\nexport type RangeFilterState = Record<string, [number, number] | null>;\n\n// Zoom configuration\nexport const ZOOM_MIN = 0.1;\nexport const ZOOM_MAX = 3;\nexport const ZOOM_STEP = 0.05;\nexport const CARDS_PER_COLUMN = 5;\nexport const BASE_CARD_WIDTH = 180;\nexport const BASE_CARD_HEIGHT = 140;\n\nexport const toKey = (value: PivotPrimitive): string => {\n if (value === undefined) return 'undefined';\n if (value === null) return 'null';\n if (value instanceof Date) return value.toISOString();\n if (typeof value === 'number' && Number.isNaN(value)) return 'nan';\n return String(value);\n};\n\nexport const defaultFormat = (value: PivotPrimitive): string => {\n if (value === undefined) return 'Unknown';\n if (value === null) return 'None';\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === 'boolean') return value ? 'Yes' : 'No';\n return String(value);\n};\n\nexport const buildFilterState = <TItem extends object>(\n filters: PivotFilter<TItem>[] | undefined,\n): FilterState => {\n const state: FilterState = {};\n filters?.forEach((filter) => {\n state[filter.key] = new Set<string>();\n });\n return state;\n};\n\nexport const buildRangeFilterState = <TItem extends object>(\n filters: PivotFilter<TItem>[] | undefined,\n): RangeFilterState => {\n const state: RangeFilterState = {};\n filters?.forEach((filter) => {\n if (filter.type === 'number') {\n state[filter.key] = null;\n }\n });\n return state;\n};\n\nexport const applyFilters = <TItem extends object>(\n data: TItem[],\n filters: PivotFilter<TItem>[] | undefined,\n state: FilterState,\n rangeState: RangeFilterState,\n skipKey?: string,\n): TItem[] => {\n if (!filters?.length) {\n return data;\n }\n\n // Pre-compute active filters to avoid checking empty Sets repeatedly\n const activeFilters: Array<{\n filter: PivotFilter<TItem>;\n selections?: Set<string>;\n range?: [number, number];\n }> = [];\n\n for (const filter of filters) {\n if (filter.key === skipKey) {\n continue;\n }\n\n if (filter.type === 'number') {\n const range = rangeState[filter.key];\n if (range) {\n activeFilters.push({ filter, range });\n }\n } else {\n const selections = state[filter.key];\n if (selections && selections.size > 0) {\n activeFilters.push({ filter, selections });\n }\n }\n }\n\n // Early exit if no active filters\n if (activeFilters.length === 0) {\n return data;\n }\n\n return data.filter((item) => {\n for (const { filter, selections, range } of activeFilters) {\n if (range) {\n const value = filter.getValue(item);\n const numValue = typeof value === 'number' ? value : Number(value);\n if (!Number.isNaN(numValue) && (numValue < range[0] || numValue > range[1])) {\n return false;\n }\n } else if (selections) {\n const valueKey = toKey(filter.getValue(item));\n if (!selections.has(valueKey)) {\n return false;\n }\n }\n }\n return true;\n });\n};\n\nexport const computeFilterOptions = <TItem extends object>(\n data: TItem[],\n filter: PivotFilter<TItem>,\n): PivotFilterOption[] => {\n if (filter.options?.length) {\n return filter.options;\n }\n\n const counts = new Map<string, { option: PivotFilterOption; count: number }>();\n\n data.forEach((item) => {\n const value = filter.getValue(item);\n const key = toKey(value);\n const existing = counts.get(key);\n if (existing) {\n existing.count += 1;\n } else {\n counts.set(key, {\n option: {\n key,\n label: defaultFormat(value),\n value,\n count: 1,\n },\n count: 1,\n });\n }\n });\n\n const options = Array.from(counts.values()).map(({ option, count }) => ({\n ...option,\n count,\n }));\n\n return filter.sort ? options.sort(filter.sort) : options.sort((a, b) => b.count - a.count);\n};\n\nexport const renderOptionCount = (count: number | undefined): string | number =>\n typeof count === 'number' ? count : '';\n\nexport const computeNumericRange = <TItem extends object>(\n data: TItem[],\n filter: PivotFilter<TItem>,\n): { min: number; max: number; values: PivotPrimitive[] } => {\n const values: PivotPrimitive[] = [];\n let min = Infinity;\n let max = -Infinity;\n\n data.forEach((item) => {\n const value = filter.getValue(item);\n values.push(value);\n const numValue = typeof value === 'number' ? value : Number(value);\n if (!Number.isNaN(numValue)) {\n min = Math.min(min, numValue);\n max = Math.max(max, numValue);\n }\n });\n\n return {\n min: min === Infinity ? 0 : min,\n max: max === -Infinity ? 100 : max,\n values,\n };\n};\n\nexport const groupData = <TItem extends object>(\n data: TItem[],\n dimension: PivotDimension<TItem>,\n): PivotGroup<TItem>[] => {\n const groups = new Map<string, PivotGroup<TItem>>();\n\n // Cache the formatValue function if it exists\n const formatValue = dimension.formatValue;\n\n data.forEach((item) => {\n const rawValue = dimension.getValue(item);\n const key = toKey(rawValue) || 'default';\n const group = groups.get(key);\n\n if (group) {\n group.items.push(item);\n } else {\n const label = formatValue ? formatValue(rawValue) : defaultFormat(rawValue);\n groups.set(key, {\n key,\n label,\n value: rawValue,\n items: [item],\n });\n }\n });\n\n const result = Array.from(groups.values());\n return dimension.sort ? result.sort(dimension.sort) : result.sort((a, b) => a.label.localeCompare(b.label));\n};\n\n/**\n * Reorder items for a CSS Grid that displays bottom-up, left-to-right.\n * CSS Grid fills top-to-bottom, left-to-right by default.\n *\n * Visual goal (items fill bottom row first, then row above, etc.):\n * Grid Row 0 (top): [4] [5] [6] [ ] [ ] <- partial top row, empties on RIGHT\n * Grid Row 1 (bottom): [0] [1] [2] [3] [4] <- full bottom row\n *\n * Returns array with nulls for empty cells that need placeholder rendering.\n */\nexport const reorderForBottomUpGrid = <TItem,>(items: TItem[], columns: number): (TItem | null)[] => {\n if (items.length === 0) return [];\n\n const totalRows = Math.ceil(items.length / columns);\n const itemsInTopRow = items.length % columns || columns;\n\n const result: (TItem | null)[] = [];\n\n // Top row: items from the \"overflow\" portion, plus empty cells on the right\n const topRowStartIndex = items.length - itemsInTopRow;\n for (let col = 0; col < columns; col++) {\n if (col < itemsInTopRow) {\n result.push(items[topRowStartIndex + col]);\n } else {\n result.push(null); // Empty cell on right side of top row\n }\n }\n\n // Remaining rows (from second-to-top down to bottom)\n // These are full rows, containing items 0 to (items.length - itemsInTopRow - 1)\n for (let row = 1; row < totalRows; row++) {\n // This grid row corresponds to visual row (totalRows - 1 - row) from bottom\n // Visual row 0 = bottom, visual row (totalRows-1) = top\n const visualRowFromBottom = totalRows - 1 - row;\n const rowStartIndex = visualRowFromBottom * columns;\n\n for (let col = 0; col < columns; col++) {\n result.push(items[rowStartIndex + col]);\n }\n }\n\n return result;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryStatus.js","sources":["../../../QueryStatus/QueryStatus.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"QueryStatus.js","sources":["../../../QueryStatus/QueryStatus.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\n/** Internal display state resolved from query flags, independent of the consuming component. */\nexport enum QueryStatus {\n Ready = 'ready',\n Loading = 'loading',\n Failed = 'failed',\n Unauthorized = 'unauthorized',\n}\n"],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,WAAW,EAAA;AACnB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,WAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AACjC,CAAC,EALW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveQueryStatus.d.ts","sourceRoot":"","sources":["../../../QueryStatus/resolveQueryStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,WAAY;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,KAAG,WAKH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveQueryStatus.js","sources":["../../../QueryStatus/resolveQueryStatus.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"resolveQueryStatus.js","sources":["../../../QueryStatus/resolveQueryStatus.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\nimport { QueryStatus } from './QueryStatus';\n\n/** Resolve Arc query flags into a component-neutral display state. */\nexport const resolveQueryStatus = (result: {\n isAuthorized?: boolean;\n hasExceptions?: boolean;\n isValid?: boolean;\n isPerforming?: boolean;\n isReady?: boolean;\n}): QueryStatus => {\n if (result.isAuthorized === false) return QueryStatus.Unauthorized;\n if (result.hasExceptions === true || result.isValid === false) return QueryStatus.Failed;\n if (result.isPerforming === true || result.isReady === false) return QueryStatus.Loading;\n return QueryStatus.Ready;\n};\n"],"names":[],"mappings":";;AAMO,MAAM,kBAAkB,GAAG,CAAC,MAMlC,KAAiB;AACd,IAAA,IAAI,MAAM,CAAC,YAAY,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,YAAY;IAClE,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,MAAM;IACxF,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,OAAO;IACxF,OAAO,WAAW,CAAC,KAAK;AAC5B;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NameCell.d.ts","sourceRoot":"","sources":["../../../SchemaEditor/NameCell.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAqB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,2EAMlB,aAAa,gCAwDf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NameCell.js","sources":["../../../SchemaEditor/NameCell.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"NameCell.js","sources":["../../../SchemaEditor/NameCell.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 * as faIcons from 'react-icons/fa6';\nimport { Tooltip } from '../Common/Tooltip';\nimport { JsonSchemaProperty } from '../types/JsonSchema';\n\nexport interface NameCellProps {\n rowData: JsonSchemaProperty;\n isEditMode: boolean;\n onUpdate: (oldName: string, field: keyof JsonSchemaProperty, value: unknown) => void;\n validationError?: string;\n /** Accessible name for the property-name input. */\n propertyNameLabel: string;\n}\n\nexport const NameCell = ({\n rowData,\n isEditMode,\n onUpdate,\n validationError,\n propertyNameLabel,\n}: NameCellProps) => {\n if (!isEditMode) {\n const isNavigable =\n rowData.type === 'object' ||\n (rowData.type === 'array' && rowData.items?.type === 'object');\n const navigationTooltipText =\n rowData.type === 'object'\n ? 'Click to navigate to object properties'\n : 'Click to navigate to item definition';\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <span title={isNavigable ? navigationTooltipText : undefined}>\n {rowData.name}\n </span>\n {rowData.description && (\n <Tooltip content={rowData.description} position='right'>\n <button\n type='button'\n aria-label='Property description'\n style={{\n display: 'inline-flex',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n }}\n >\n <faIcons.FaCircleInfo\n aria-hidden='true'\n style={{\n color: 'var(--cratis-text-color-secondary)',\n fontSize: '0.875rem',\n }}\n />\n </button>\n </Tooltip>\n )}\n </div>\n );\n }\n\n return (\n <Tooltip content={validationError} position='top' className='cratis:w-full'>\n <input\n aria-label={propertyNameLabel}\n value={rowData.name || ''}\n onChange={(event) =>\n onUpdate(rowData.name || '', 'name', event.target.value)\n }\n className='cratis-field-input cratis:w-full'\n aria-invalid={Boolean(validationError) || undefined}\n data-invalid={Boolean(validationError) || undefined}\n />\n </Tooltip>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAgBO,MAAM,QAAQ,GAAG,CAAC,EACrB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,GACL,KAAI;IAChB,IAAI,CAAC,UAAU,EAAE;AACb,QAAA,MAAM,WAAW,GACb,OAAO,CAAC,IAAI,KAAK,QAAQ;AACzB,aAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC;AAClE,QAAA,MAAM,qBAAqB,GACvB,OAAO,CAAC,IAAI,KAAK;AACb,cAAE;cACA,sCAAsC;AAEhD,QAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChEC,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,WAAW,GAAG,qBAAqB,GAAG,SAAS,EAAA,QAAA,EACvD,OAAO,CAAC,IAAI,EAAA,CACV,EACN,OAAO,CAAC,WAAW,KAChBA,GAAA,CAAC,OAAO,EAAA,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAC,OAAO,EAAA,QAAA,EACnDA,GAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,sBAAsB,EACjC,KAAK,EAAE;AACH,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,MAAM,EAAE,CAAC;AACT,4BAAA,UAAU,EAAE,aAAa;AACzB,4BAAA,KAAK,EAAE,SAAS;yBACnB,EAAA,QAAA,EAEDA,GAAA,CAAC,OAAO,CAAC,YAAY,mBACL,MAAM,EAClB,KAAK,EAAE;AACH,gCAAA,KAAK,EAAE,oCAAoC;AAC3C,gCAAA,QAAQ,EAAE,UAAU;AACvB,6BAAA,EAAA,CACH,EAAA,CACG,EAAA,CACH,CACb,CAAA,EAAA,CACC;IAEd;AAEA,IAAA,QACIA,GAAA,CAAC,OAAO,EAAA,EAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,eAAe,EAAA,QAAA,EACvEA,GAAA,CAAA,OAAA,EAAA,EAAA,YAAA,EACgB,iBAAiB,EAC7B,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EACzB,QAAQ,EAAE,CAAC,KAAK,KACZ,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAE5D,SAAS,EAAC,kCAAkC,EAAA,cAAA,EAC9B,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAA,cAAA,EACrC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAA,CACrD,EAAA,CACI;AAElB;;"}
|
|
@@ -93,3 +93,4 @@ export interface SchemaEditorProps {
|
|
|
93
93
|
* @param props - {@link SchemaEditorProps}.
|
|
94
94
|
*/
|
|
95
95
|
export declare const SchemaEditor: ({ schema, eventTypeName, canEdit, canNotEditReason, onChange, onSave, onCancel, editMode, saveDisabled, cancelDisabled, typeFormats, className, labels, }: SchemaEditorProps) => import("react").JSX.Element;
|
|
96
|
+
//# sourceMappingURL=SchemaEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaEditor.d.ts","sourceRoot":"","sources":["../../../SchemaEditor/SchemaEditor.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,wBAAqB,CAAC;AAC1E,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,wBAAqB,CAAC;AAG5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,wBAAwB,EAAE,MAAM,CAAC;IACjC,qEAAqE;IACrE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,uDAAuD;AACvD,eAAO,MAAM,yBAAyB,EAAE,kBAevC,CAAC;AAmEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,UAAU,CAAC;IAEnB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kGAAkG;IAClG,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAErC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,8JActB,iBAAiB,gCA2mBnB,CAAC"}
|