@cratis/components 4.19.1 → 4.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/compat-manifest.json +11 -11
- package/dist/esm/Canvas/Canvas.d.ts +1 -0
- package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
- package/dist/esm/Canvas/Canvas.js.map +1 -1
- package/dist/esm/Canvas/CanvasControls.d.ts +1 -0
- package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasControls.js.map +1 -1
- package/dist/esm/Canvas/CanvasItem.js.map +1 -1
- package/dist/esm/Canvas/CanvasMinimap.js.map +1 -1
- package/dist/esm/Canvas/CanvasOverlay.js.map +1 -1
- package/dist/esm/Canvas/canvasGesture.js.map +1 -1
- package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -1
- package/dist/esm/Canvas/index.d.ts +1 -0
- package/dist/esm/Canvas/index.d.ts.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -1
- package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -1
- package/dist/esm/Canvas/panMomentum.js.map +1 -1
- package/dist/esm/Canvas/pinchGesture.js.map +1 -1
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -1
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -1
- package/dist/esm/Canvas/shapes/Note/NoteTextChanged.js.map +1 -1
- package/dist/esm/Canvas/shapes/Note/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/ItemAddedToRegion.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/ItemRemovedFromRegion.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -1
- package/dist/esm/Canvas/shapes/Region/index.d.ts +1 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/regionContainment.js.map +1 -1
- package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -1
- package/dist/esm/Canvas/zoomMechanism.js.map +1 -1
- package/dist/esm/Chat/ChatAuthor.d.ts +1 -0
- package/dist/esm/Chat/ChatAuthor.d.ts.map +1 -0
- package/dist/esm/Chat/ChatAuthor.js.map +1 -1
- package/dist/esm/Chat/ChatConversation.d.ts +1 -0
- package/dist/esm/Chat/ChatConversation.d.ts.map +1 -0
- package/dist/esm/Chat/ChatConversation.js.map +1 -1
- package/dist/esm/Chat/ChatIdentifier.js.map +1 -1
- package/dist/esm/Chat/ChatMention.d.ts +1 -0
- package/dist/esm/Chat/ChatMention.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMention.js.map +1 -1
- package/dist/esm/Chat/ChatMessage.d.ts +1 -0
- package/dist/esm/Chat/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessage.js.map +1 -1
- package/dist/esm/Chat/ChatMessageAction.d.ts +1 -0
- package/dist/esm/Chat/ChatMessageAction.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessageAction.js.map +1 -1
- package/dist/esm/Chat/ChatMessageBody.d.ts +1 -0
- package/dist/esm/Chat/ChatMessageBody.d.ts.map +1 -0
- package/dist/esm/Chat/ChatMessageBody.js.map +1 -1
- package/dist/esm/Chat/ChatSidebar.d.ts +5 -1
- package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -0
- package/dist/esm/Chat/ChatSidebar.js +2 -2
- package/dist/esm/Chat/ChatSidebar.js.map +1 -1
- package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts +1 -0
- package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts.map +1 -0
- package/dist/esm/Chat/ChatSidebarForObservableQueries.js.map +1 -1
- package/dist/esm/Chat/ChatStatus.js.map +1 -1
- package/dist/esm/Chat/ChatTopic.d.ts +1 -0
- package/dist/esm/Chat/ChatTopic.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopic.js.map +1 -1
- package/dist/esm/Chat/ChatTopicAction.d.ts +23 -0
- package/dist/esm/Chat/ChatTopicAction.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicAction.js +4 -0
- package/dist/esm/Chat/ChatTopicAction.js.map +1 -0
- package/dist/esm/Chat/ChatTopicActions.d.ts +25 -0
- package/dist/esm/Chat/ChatTopicActions.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicActions.js +6 -0
- package/dist/esm/Chat/ChatTopicActions.js.map +1 -0
- package/dist/esm/Chat/ChatTopicList.d.ts +6 -2
- package/dist/esm/Chat/ChatTopicList.d.ts.map +1 -0
- package/dist/esm/Chat/ChatTopicList.js +17 -9
- package/dist/esm/Chat/ChatTopicList.js.map +1 -1
- package/dist/esm/Chat/Kit/AnchoredOverlay.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/PersonAvatarCircle.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/getAvatarColor.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/getInitials.js.map +1 -1
- package/dist/esm/Chat/Kit/Avatar/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.js +1 -0
- package/dist/esm/Chat/Kit/Avatar/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Chat.d.ts +1 -0
- package/dist/esm/Chat/Kit/Chat.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Chat.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatAuthorKind.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatBubble.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatBubble.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatBubble.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatComposer.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatComposer.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatComposer.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessage.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessage.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageAdded.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessageBubble.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatMessageReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatMessageReactionUser.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatOwnReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts +1 -0
- package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ChatTypingAuthor.js.map +1 -1
- package/dist/esm/Chat/Kit/ChatVariant.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiCategory.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiCategoryKey.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiMemory.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/EmojiPicker.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/emojiCatalog.js.map +1 -1
- package/dist/esm/Chat/Kit/Emoji/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.js +1 -0
- package/dist/esm/Chat/Kit/Emoji/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Emoji/recentEmojis.js.map +1 -1
- package/dist/esm/Chat/Kit/FailedReply.d.ts +1 -0
- package/dist/esm/Chat/Kit/FailedReply.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/FailedReply.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionCandidate.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionQuery.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/applyMention.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/extractMentions.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/findMentionRanges.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.js +1 -0
- package/dist/esm/Chat/Kit/Mentions/index.js.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/Mentions/matchCandidates.js.map +1 -1
- package/dist/esm/Chat/Kit/Mentions/mentionSegments.js.map +1 -1
- package/dist/esm/Chat/Kit/MessageReactions.d.ts +1 -0
- package/dist/esm/Chat/Kit/MessageReactions.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/MessageReactions.js.map +1 -1
- package/dist/esm/Chat/Kit/ReactionPicker.d.ts +1 -0
- package/dist/esm/Chat/Kit/ReactionPicker.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/ReactionPicker.js.map +1 -1
- package/dist/esm/Chat/Kit/TypingIndicator.d.ts +1 -0
- package/dist/esm/Chat/Kit/TypingIndicator.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/TypingIndicator.js.map +1 -1
- package/dist/esm/Chat/Kit/findOwnReaction.d.ts +1 -0
- package/dist/esm/Chat/Kit/findOwnReaction.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/findOwnReaction.js.map +1 -1
- package/dist/esm/Chat/Kit/index.d.ts +1 -0
- package/dist/esm/Chat/Kit/index.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/index.js +1 -0
- package/dist/esm/Chat/Kit/index.js.map +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts.map +1 -0
- package/dist/esm/Chat/Kit/reactionsExcludingUser.js.map +1 -1
- package/dist/esm/Chat/index.d.ts +2 -0
- package/dist/esm/Chat/index.d.ts.map +1 -0
- package/dist/esm/Chat/isTopicUnnamed.d.ts +1 -0
- package/dist/esm/Chat/isTopicUnnamed.d.ts.map +1 -0
- package/dist/esm/Chat/isTopicUnnamed.js.map +1 -1
- package/dist/esm/Chat/relativeTimestamp.js.map +1 -1
- package/dist/esm/Chat/shouldRequestTopicName.js.map +1 -1
- package/dist/esm/Chat/topicsByActivity.d.ts +1 -0
- package/dist/esm/Chat/topicsByActivity.d.ts.map +1 -0
- package/dist/esm/Chat/topicsByActivity.js.map +1 -1
- package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts +19 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts.map +1 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.js +41 -0
- package/dist/esm/Chat/useTopicActionFocusRecovery.js.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepperContent.d.ts +1 -0
- package/dist/esm/CommandDialog/CommandStepperContent.d.ts.map +1 -0
- package/dist/esm/CommandDialog/CommandStepperContent.js.map +1 -1
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +1 -0
- package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -0
- package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/StepperPanel.js.map +1 -1
- package/dist/esm/CommandDialog/applyBeforeExecute.js.map +1 -1
- package/dist/esm/CommandDialog/commandValuesUnchanged.js.map +1 -1
- package/dist/esm/CommandDialog/confirmBeforeExecute.js.map +1 -1
- package/dist/esm/CommandDialog/index.d.ts +1 -0
- package/dist/esm/CommandDialog/index.d.ts.map +1 -0
- package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
- package/dist/esm/CommandDialog/transitionStep.d.ts +1 -0
- package/dist/esm/CommandDialog/transitionStep.d.ts.map +1 -0
- package/dist/esm/CommandDialog/transitionStep.js.map +1 -1
- package/dist/esm/CommandDialog/useCommandExecution.d.ts +1 -0
- package/dist/esm/CommandDialog/useCommandExecution.d.ts.map +1 -0
- package/dist/esm/CommandDialog/useCommandExecution.js.map +1 -1
- package/dist/esm/CommandDialog/useSubmissionFlight.js.map +1 -1
- package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
- package/dist/esm/CommandForm/FieldTypeProvider.js.map +1 -1
- package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -1
- package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts +1 -0
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts.map +1 -0
- package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
- package/dist/esm/CommandForm/fields/NumberInputField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/NumberInputField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/NumberInputField.js.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
- package/dist/esm/CommandForm/fields/chipValues.js.map +1 -1
- package/dist/esm/CommandForm/fields/fieldAccessibility.js.map +1 -1
- package/dist/esm/CommandForm/fields/fieldValueFromEvent.js.map +1 -1
- package/dist/esm/CommandForm/fields/index.d.ts +1 -0
- package/dist/esm/CommandForm/fields/index.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/index.js +1 -0
- package/dist/esm/CommandForm/fields/index.js.map +1 -0
- package/dist/esm/CommandForm/index.d.ts +1 -0
- package/dist/esm/CommandForm/index.d.ts.map +1 -0
- package/dist/esm/Common/ActionMenubar.d.ts +1 -0
- package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
- package/dist/esm/Common/ActionMenubar.js.map +1 -1
- package/dist/esm/Common/Breadcrumbs.js.map +1 -1
- package/dist/esm/Common/Button.d.ts +1 -0
- package/dist/esm/Common/Button.d.ts.map +1 -0
- package/dist/esm/Common/Button.js.map +1 -1
- package/dist/esm/Common/ButtonImplementation.d.ts +1 -0
- package/dist/esm/Common/ButtonImplementation.d.ts.map +1 -0
- package/dist/esm/Common/ButtonImplementation.js.map +1 -1
- package/dist/esm/Common/Checkbox.d.ts +1 -0
- package/dist/esm/Common/Checkbox.d.ts.map +1 -0
- package/dist/esm/Common/Checkbox.js.map +1 -1
- package/dist/esm/Common/CheckboxImplementation.d.ts +1 -0
- package/dist/esm/Common/CheckboxImplementation.d.ts.map +1 -0
- package/dist/esm/Common/CheckboxImplementation.js.map +1 -1
- package/dist/esm/Common/ComboBox.js.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.d.ts +1 -0
- package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -0
- package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
- package/dist/esm/Common/DatePickerInput.d.ts +1 -0
- package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
- package/dist/esm/Common/DatePickerInput.js.map +1 -1
- package/dist/esm/Common/DatePickerInputImplementation.d.ts +1 -0
- package/dist/esm/Common/DatePickerInputImplementation.d.ts.map +1 -0
- package/dist/esm/Common/DatePickerInputImplementation.js.map +1 -1
- package/dist/esm/Common/ErrorBoundary.js.map +1 -1
- package/dist/esm/Common/FormElement.js.map +1 -1
- package/dist/esm/Common/Icon.js.map +1 -1
- package/dist/esm/Common/IconButton.d.ts +1 -0
- package/dist/esm/Common/IconButton.d.ts.map +1 -0
- package/dist/esm/Common/IconButton.js.map +1 -1
- package/dist/esm/Common/IconButtonImplementation.d.ts +1 -0
- package/dist/esm/Common/IconButtonImplementation.d.ts.map +1 -0
- package/dist/esm/Common/IconButtonImplementation.js.map +1 -1
- package/dist/esm/Common/NumberInput.d.ts +1 -0
- package/dist/esm/Common/NumberInput.d.ts.map +1 -0
- package/dist/esm/Common/NumberInput.js.map +1 -1
- package/dist/esm/Common/NumberInputCommitReason.js.map +1 -1
- package/dist/esm/Common/NumberInputPartAttributes.js.map +1 -1
- package/dist/esm/Common/Page.js.map +1 -1
- package/dist/esm/Common/Radio.d.ts +1 -0
- package/dist/esm/Common/Radio.d.ts.map +1 -0
- package/dist/esm/Common/Radio.js.map +1 -1
- package/dist/esm/Common/RadioImplementation.d.ts +1 -0
- package/dist/esm/Common/RadioImplementation.d.ts.map +1 -0
- package/dist/esm/Common/RadioImplementation.js.map +1 -1
- package/dist/esm/Common/Surface.js.map +1 -1
- package/dist/esm/Common/SurfaceImplementation.d.ts +1 -0
- package/dist/esm/Common/SurfaceImplementation.d.ts.map +1 -0
- package/dist/esm/Common/SurfaceImplementation.js.map +1 -1
- package/dist/esm/Common/Switch.d.ts +1 -0
- package/dist/esm/Common/Switch.d.ts.map +1 -0
- package/dist/esm/Common/Switch.js.map +1 -1
- package/dist/esm/Common/SwitchImplementation.d.ts +1 -0
- package/dist/esm/Common/SwitchImplementation.d.ts.map +1 -0
- package/dist/esm/Common/SwitchImplementation.js.map +1 -1
- package/dist/esm/Common/Tabs.js.map +1 -1
- package/dist/esm/Common/TagGroup.js.map +1 -1
- package/dist/esm/Common/TextArea.d.ts +1 -0
- package/dist/esm/Common/TextArea.d.ts.map +1 -0
- package/dist/esm/Common/TextArea.js.map +1 -1
- package/dist/esm/Common/TextAreaImplementation.d.ts +1 -0
- package/dist/esm/Common/TextAreaImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TextAreaImplementation.js.map +1 -1
- package/dist/esm/Common/TextInput.d.ts +1 -0
- package/dist/esm/Common/TextInput.d.ts.map +1 -0
- package/dist/esm/Common/TextInput.js.map +1 -1
- package/dist/esm/Common/TextInputImplementation.d.ts +1 -0
- package/dist/esm/Common/TextInputImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TextInputImplementation.js.map +1 -1
- package/dist/esm/Common/ToggleGroup.js.map +1 -1
- package/dist/esm/Common/ToolbarFocusMode.js.map +1 -1
- package/dist/esm/Common/Tooltip.js.map +1 -1
- package/dist/esm/Common/TooltipImplementation.d.ts +1 -0
- package/dist/esm/Common/TooltipImplementation.d.ts.map +1 -0
- package/dist/esm/Common/TooltipImplementation.js.map +1 -1
- package/dist/esm/Common/index.d.ts +1 -0
- package/dist/esm/Common/index.d.ts.map +1 -0
- package/dist/esm/Common/messaging/useOptionalMessenger.js.map +1 -1
- package/dist/esm/Common/normalizeIconClass.js.map +1 -1
- package/dist/esm/Common/reactAriaProps.js.map +1 -1
- package/dist/esm/Common/useNativeCheckedState.js.map +1 -1
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +1 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts.map +1 -0
- package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -1
- package/dist/esm/DataPage/DataPage.d.ts +1 -0
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -0
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
- package/dist/esm/DataPage/index.d.ts +1 -0
- package/dist/esm/DataPage/index.d.ts.map +1 -0
- package/dist/esm/DataTables/Column.d.ts +1 -0
- package/dist/esm/DataTables/Column.d.ts.map +1 -0
- package/dist/esm/DataTables/Column.js.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
- package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
- package/dist/esm/DataTables/DataTableCore.d.ts +1 -0
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableCore.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -0
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -1
- package/dist/esm/DataTables/DataTableStatus.js.map +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts +1 -0
- package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
- package/dist/esm/DataTables/TablePaginator.js.map +1 -1
- package/dist/esm/DataTables/TablePaginatorImplementation.d.ts +1 -0
- package/dist/esm/DataTables/TablePaginatorImplementation.d.ts.map +1 -0
- package/dist/esm/DataTables/TablePaginatorImplementation.js.map +1 -1
- package/dist/esm/DataTables/index.d.ts +1 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -0
- package/dist/esm/DataTables/paginatorRange.js.map +1 -1
- package/dist/esm/DataTables/resolveDataTableStatus.d.ts +1 -0
- package/dist/esm/DataTables/resolveDataTableStatus.d.ts.map +1 -0
- package/dist/esm/DataTables/resolveDataTableStatus.js.map +1 -1
- package/dist/esm/DataTables/selectionKeys.js.map +1 -1
- package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
- package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +1 -0
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -0
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Dialogs/DialogImplementation.d.ts +1 -0
- package/dist/esm/Dialogs/DialogImplementation.d.ts.map +1 -0
- package/dist/esm/Dialogs/DialogImplementation.js.map +1 -1
- package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
- package/dist/esm/Dialogs/index.d.ts +1 -0
- package/dist/esm/Dialogs/index.d.ts.map +1 -0
- package/dist/esm/Display/Avatar.js.map +1 -1
- package/dist/esm/Display/Badge.js.map +1 -1
- package/dist/esm/Display/Chip.js.map +1 -1
- package/dist/esm/Display/Message.js.map +1 -1
- package/dist/esm/Display/ProgressBar.js.map +1 -1
- package/dist/esm/Display/ProgressBarImplementation.d.ts +1 -0
- package/dist/esm/Display/ProgressBarImplementation.d.ts.map +1 -0
- package/dist/esm/Display/ProgressBarImplementation.js.map +1 -1
- package/dist/esm/Display/ProgressSpinner.js.map +1 -1
- package/dist/esm/Display/Skeleton.js.map +1 -1
- package/dist/esm/Display/Tag.js.map +1 -1
- package/dist/esm/Display/index.d.ts +1 -0
- package/dist/esm/Display/index.d.ts.map +1 -0
- package/dist/esm/Dropdown/Dropdown.d.ts +1 -0
- package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Dropdown/DropdownImplementation.d.ts +1 -0
- package/dist/esm/Dropdown/DropdownImplementation.d.ts.map +1 -0
- package/dist/esm/Dropdown/DropdownImplementation.js.map +1 -1
- package/dist/esm/Dropdown/index.d.ts +1 -0
- package/dist/esm/Dropdown/index.d.ts.map +1 -0
- package/dist/esm/Dropdown/observeLabelAssociations.js.map +1 -1
- package/dist/esm/Dropdown/useExternalLabel.js.map +1 -1
- package/dist/esm/Filter/CheckboxListFilter.d.ts +1 -0
- package/dist/esm/Filter/CheckboxListFilter.d.ts.map +1 -0
- package/dist/esm/Filter/CheckboxListFilter.js.map +1 -1
- package/dist/esm/Filter/FilterEditor.d.ts +1 -0
- package/dist/esm/Filter/FilterEditor.d.ts.map +1 -0
- package/dist/esm/Filter/FilterEditor.js.map +1 -1
- package/dist/esm/Filter/FilterEditorProps.d.ts +1 -0
- package/dist/esm/Filter/FilterEditorProps.d.ts.map +1 -0
- package/dist/esm/Filter/FilterEditorProps.js.map +1 -1
- package/dist/esm/Filter/FilterPanel.d.ts +1 -0
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -0
- package/dist/esm/Filter/FilterPanel.js.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.d.ts +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -0
- package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/Filter/index.d.ts +1 -0
- package/dist/esm/Filter/index.d.ts.map +1 -0
- package/dist/esm/Filter/types.js.map +1 -1
- package/dist/esm/Filter/useFilterState.d.ts +1 -0
- package/dist/esm/Filter/useFilterState.d.ts.map +1 -0
- package/dist/esm/Filter/useFilterState.js.map +1 -1
- package/dist/esm/Filter/useOptionListOverflow.js.map +1 -1
- package/dist/esm/Filter/utils.d.ts +1 -0
- package/dist/esm/Filter/utils.d.ts.map +1 -0
- package/dist/esm/Filter/utils.js.map +1 -1
- package/dist/esm/Notifications/Toaster.js.map +1 -1
- package/dist/esm/Notifications/index.d.ts +1 -0
- package/dist/esm/Notifications/index.d.ts.map +1 -0
- package/dist/esm/Notifications/toast.js.map +1 -1
- package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
- package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
- package/dist/esm/ObjectContentEditor/index.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.d.ts +1 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.d.ts.map +1 -0
- package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/index.d.ts +1 -0
- package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -0
- package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewerLabels.js.map +1 -1
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts +1 -0
- package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
- package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanel.d.ts +1 -0
- package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +1 -0
- package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +1 -0
- package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +1 -0
- package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +1 -0
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
- package/dist/esm/PivotViewer/components/Toolbar.d.ts +1 -0
- package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +1 -0
- package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
- package/dist/esm/PivotViewer/components/index.d.ts +1 -0
- package/dist/esm/PivotViewer/components/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/index.js +1 -0
- package/dist/esm/PivotViewer/components/index.js.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/ellipsize.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/groups.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/groups.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js.map +1 -1
- package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +1 -0
- package/dist/esm/PivotViewer/components/pivot/visibility.d.ts.map +1 -0
- package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
- package/dist/esm/PivotViewer/constants.js.map +1 -1
- package/dist/esm/PivotViewer/engine/layout.d.ts +1 -0
- package/dist/esm/PivotViewer/engine/layout.d.ts.map +1 -0
- package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
- package/dist/esm/PivotViewer/engine/pivot.worker.js +1 -0
- package/dist/esm/PivotViewer/engine/pivot.worker.js.map +1 -0
- package/dist/esm/PivotViewer/engine/requestCorrelator.js.map +1 -1
- package/dist/esm/PivotViewer/engine/store.d.ts +1 -0
- package/dist/esm/PivotViewer/engine/store.d.ts.map +1 -0
- package/dist/esm/PivotViewer/engine/store.js.map +1 -1
- package/dist/esm/PivotViewer/engine/types.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/index.js +1 -0
- package/dist/esm/PivotViewer/hooks/index.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilterState.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterState.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.js +1 -0
- package/dist/esm/PivotViewer/hooks/useFilteredData.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useSelectedItem.js +1 -0
- package/dist/esm/PivotViewer/hooks/useSelectedItem.js.map +1 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts +1 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts.map +1 -0
- package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
- package/dist/esm/PivotViewer/index.d.ts +1 -0
- package/dist/esm/PivotViewer/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/types.d.ts +1 -0
- package/dist/esm/PivotViewer/types.d.ts.map +1 -0
- package/dist/esm/PivotViewer/types.js.map +1 -1
- package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
- package/dist/esm/PivotViewer/utils/cardPosition.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/cardPosition.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
- package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
- package/dist/esm/PivotViewer/utils/idResolution.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/idResolution.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
- package/dist/esm/PivotViewer/utils/index.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/index.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/index.js +1 -0
- package/dist/esm/PivotViewer/utils/index.js.map +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/presentGrouping.js.map +1 -1
- package/dist/esm/PivotViewer/utils/search.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/search.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/search.js.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
- package/dist/esm/PivotViewer/utils/utils.d.ts +1 -0
- package/dist/esm/PivotViewer/utils/utils.d.ts.map +1 -0
- package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
- package/dist/esm/QueryStatus/QueryStatus.js.map +1 -1
- package/dist/esm/QueryStatus/resolveQueryStatus.d.ts +1 -0
- package/dist/esm/QueryStatus/resolveQueryStatus.d.ts.map +1 -0
- package/dist/esm/QueryStatus/resolveQueryStatus.js.map +1 -1
- package/dist/esm/SchemaEditor/NameCell.d.ts +1 -0
- package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts +1 -0
- package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
- package/dist/esm/SchemaEditor/TypeCell.d.ts +1 -0
- package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
- package/dist/esm/SchemaEditor/index.d.ts +1 -0
- package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.d.ts +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.d.ts.map +1 -0
- package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
- package/dist/esm/TimeMachine/EventsView.d.ts +1 -0
- package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -0
- package/dist/esm/TimeMachine/EventsView.js.map +1 -1
- package/dist/esm/TimeMachine/Properties.js.map +1 -1
- package/dist/esm/TimeMachine/ReadModelView.d.ts +1 -0
- package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -0
- package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachine.d.ts +1 -0
- package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -0
- package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
- package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
- package/dist/esm/TimeMachine/index.d.ts +1 -0
- package/dist/esm/TimeMachine/index.d.ts.map +1 -0
- package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
- package/dist/esm/TimeMachine/types.js.map +1 -1
- package/dist/esm/Toolbar/Toolbar.d.ts +1 -0
- package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -0
- package/dist/esm/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarButton.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolder.d.ts +1 -0
- package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -0
- package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarFolderContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarGroup.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarItemVisibilityContext.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
- package/dist/esm/Toolbar/ToolbarSlot.js.map +1 -1
- package/dist/esm/Toolbar/index.d.ts +1 -0
- package/dist/esm/Toolbar/index.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsContext.d.ts +1 -0
- package/dist/esm/configuration/CratisComponentsContext.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsContext.js.map +1 -1
- package/dist/esm/configuration/CratisComponentsDefaults.d.ts +1 -0
- package/dist/esm/configuration/CratisComponentsDefaults.d.ts.map +1 -0
- package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
- package/dist/esm/configuration/useCratisIcon.d.ts +1 -0
- package/dist/esm/configuration/useCratisIcon.d.ts.map +1 -0
- package/dist/esm/configuration/useCratisIcon.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/renderer/DialogStackContext.js.map +1 -1
- package/dist/esm/renderer/RendererContext.d.ts +1 -0
- package/dist/esm/renderer/RendererContext.d.ts.map +1 -0
- package/dist/esm/renderer/RendererContext.js.map +1 -1
- package/dist/esm/renderer/RendererScope.d.ts +1 -0
- package/dist/esm/renderer/RendererScope.d.ts.map +1 -0
- package/dist/esm/renderer/RendererScope.js.map +1 -1
- package/dist/esm/renderer/builtin/index.js.map +1 -1
- package/dist/esm/renderer/capabilities.js.map +1 -1
- package/dist/esm/renderer/coreSlots.d.ts +1 -0
- package/dist/esm/renderer/coreSlots.d.ts.map +1 -0
- package/dist/esm/renderer/coreSlots.js.map +1 -1
- package/dist/esm/renderer/dialogStack.js.map +1 -1
- package/dist/esm/renderer/errors.d.ts +1 -0
- package/dist/esm/renderer/errors.d.ts.map +1 -0
- package/dist/esm/renderer/errors.js.map +1 -1
- package/dist/esm/renderer/index.d.ts +1 -0
- package/dist/esm/renderer/index.d.ts.map +1 -0
- package/dist/esm/renderer/manifest.d.ts +1 -0
- package/dist/esm/renderer/manifest.d.ts.map +1 -0
- package/dist/esm/renderer/manifest.js.map +1 -1
- package/dist/esm/renderer/overlayEnvironment.js.map +1 -1
- package/dist/esm/renderer/presentation.d.ts +1 -0
- package/dist/esm/renderer/presentation.d.ts.map +1 -0
- package/dist/esm/renderer/presentation.js.map +1 -1
- package/dist/esm/renderer/renderSlot.js.map +1 -1
- package/dist/esm/renderer/resolve.d.ts +1 -0
- package/dist/esm/renderer/resolve.d.ts.map +1 -0
- package/dist/esm/renderer/resolve.js.map +1 -1
- package/dist/esm/renderer/slots.js.map +1 -1
- package/dist/esm/styles.Canvas.css +17 -1
- package/dist/esm/styles.Chat.css +17 -1
- package/dist/esm/styles.css +17 -1
- package/dist/esm/types/ChangeHandler.d.ts +1 -0
- package/dist/esm/types/ChangeHandler.d.ts.map +1 -0
- package/dist/esm/types/ChangeHandler.js.map +1 -1
- package/dist/esm/types/ChangeMeta.js.map +1 -1
- package/dist/esm/types/ExactPartKeys.js.map +1 -1
- package/dist/esm/types/JsonSchema.js.map +1 -1
- package/dist/esm/types/TypeFormat.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/parts.js.map +1 -1
- package/package.json +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../../Common/Switch.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../../Common/Switch.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 {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type LabelHTMLAttributes,\n type ReactNode,\n} from 'react';\nimport type { ChangeHandler } from '../types/ChangeHandler';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\nimport { unstable_useSlot } from '../renderer/RendererContext';\nimport { renderSlot } from '../renderer/renderSlot';\nimport type { unstable_SlotDeclaration } from '../renderer/slots';\nimport { SwitchImplementation } from './SwitchImplementation';\n\n/** Stable Cratis-owned parts for styling a {@link Switch}. */\nexport interface SwitchParts {\n /** Wrapping native label. */\n root?: LabelHTMLAttributes<HTMLLabelElement>;\n /** Native checkbox input with switch semantics. */\n input?: InputHTMLAttributes<HTMLInputElement>;\n /** Visual switch track. */\n control?: HTMLAttributes<HTMLSpanElement>;\n /** Visual switch handle. */\n handle?: HTMLAttributes<HTMLSpanElement>;\n /** Visible label content. */\n label?: HTMLAttributes<HTMLSpanElement>;\n}\n\nconst switchPartsMatchManifest: ExactPartKeys<SwitchParts, PartsOf<'Switch'>> = true;\nvoid switchPartsMatchManifest;\n\n/** Props for {@link Switch}. */\nexport interface SwitchProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'children' | 'className' | 'onChange' | 'readOnly' | 'style' | 'type'\n> {\n /** Visible label content. Supply `aria-label` when no visible label is rendered. */\n label?: ReactNode;\n /** Prevents user changes without removing the checked value from form submission. */\n readOnly?: boolean;\n /** Marks the switch invalid and exposes the canonical invalid state. */\n invalid?: boolean;\n /** Receives the next checked value and native user-event metadata. */\n onChange?: ChangeHandler<boolean>;\n /** Class name applied to the wrapping label. */\n className?: string;\n /** Inline style applied to the wrapping label. */\n style?: CSSProperties;\n /** Cratis-owned per-part attributes. */\n pt?: SwitchParts;\n}\n\nconst coreSwitchDeclaration = Object.freeze({\n mode: 'presentation',\n fidelity: 'native',\n render: SwitchImplementation,\n}) satisfies unstable_SlotDeclaration<'common.switch'>;\n\n/** A native checkbox with switch semantics, semantic changes, and stable visual parts. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n props,\n ref,\n) {\n const declaration = unstable_useSlot('common.switch', coreSwitchDeclaration);\n return renderSlot(declaration, props, ref);\n});\n"],"names":[],"mappings":";;;;;AAyDA,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;AACxC,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,MAAM,EAAE,oBAAoB;AAC/B,CAAA,CAAqD;AAG/C,MAAM,MAAM,GAAG,UAAU,CAAgC,SAAS,MAAM,CAC3E,KAAK,EACL,GAAG,EAAA;IAEH,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAC5E,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC;AAC9C,CAAC;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { SwitchProps } from './Switch.js';
|
|
2
2
|
/** Core implementation for the native switch presentation slot. */
|
|
3
3
|
export declare const SwitchImplementation: import("react").ForwardRefExoticComponent<SwitchProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
|
+
//# sourceMappingURL=SwitchImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchImplementation.d.ts","sourceRoot":"","sources":["../../../Common/SwitchImplementation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAG5C,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,0GA+HhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchImplementation.js","sources":["../../../Common/SwitchImplementation.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"SwitchImplementation.js","sources":["../../../Common/SwitchImplementation.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 { forwardRef } from 'react';\nimport type { SwitchProps } from './Switch';\nimport { useNativeCheckedState } from './useNativeCheckedState';\n\n/** Core implementation for the native switch presentation slot. */\nexport const SwitchImplementation = forwardRef<HTMLInputElement, SwitchProps>(\n function SwitchImplementation(\n {\n label,\n readOnly,\n invalid = false,\n onChange,\n className,\n style,\n pt,\n checked,\n defaultChecked,\n disabled,\n onClick,\n 'aria-invalid': ariaInvalid,\n ...nativeProps\n },\n forwardedRef,\n ) {\n const effectiveChecked = checked ?? pt?.input?.checked;\n const effectiveDefaultChecked = defaultChecked ?? pt?.input?.defaultChecked;\n const effectiveDisabled = disabled ?? pt?.input?.disabled;\n const effectiveReadOnly = readOnly ?? pt?.input?.readOnly;\n const effectiveAriaInvalid =\n ariaInvalid ?? pt?.input?.['aria-invalid'] ?? (invalid || undefined);\n const effectiveInvalid =\n invalid ||\n effectiveAriaInvalid === true ||\n effectiveAriaInvalid === 'true';\n const { ref, selected, synchronize } = useNativeCheckedState(\n effectiveChecked,\n effectiveDefaultChecked,\n forwardedRef,\n );\n return (\n <label\n {...pt?.root}\n className={['cratis-choice', pt?.root?.className, className]\n .filter(Boolean)\n .join(' ')}\n style={{ ...pt?.root?.style, ...style }}\n data-cratis-part='root'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n data-selected={selected || undefined}\n >\n <input\n {...pt?.input}\n {...nativeProps}\n ref={ref}\n type='checkbox'\n role='switch'\n checked={effectiveChecked}\n defaultChecked={effectiveDefaultChecked}\n disabled={effectiveDisabled}\n readOnly={undefined}\n aria-invalid={effectiveAriaInvalid}\n aria-readonly={effectiveReadOnly || undefined}\n onClick={(event) => {\n pt?.input?.onClick?.(event);\n onClick?.(event);\n if (effectiveReadOnly) event.preventDefault();\n }}\n onChange={(event) => {\n pt?.input?.onChange?.(event);\n if (effectiveReadOnly) return;\n synchronize(event.currentTarget.checked);\n onChange?.(event.currentTarget.checked, {\n source: 'user',\n nativeEvent: event.nativeEvent,\n });\n }}\n className={['cratis-choice__input', pt?.input?.className]\n .filter(Boolean)\n .join(' ')}\n data-cratis-part='input'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n data-selected={selected || undefined}\n />\n <span\n {...pt?.control}\n className={['cratis-switch__control', pt?.control?.className]\n .filter(Boolean)\n .join(' ')}\n data-cratis-part='control'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n data-selected={selected || undefined}\n aria-hidden='true'\n >\n <span\n {...pt?.handle}\n className={[\n 'cratis-switch__handle',\n pt?.handle?.className,\n ]\n .filter(Boolean)\n .join(' ')}\n data-cratis-part='handle'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n data-selected={selected || undefined}\n />\n </span>\n {label !== undefined && (\n <span\n {...pt?.label}\n className={['cratis-choice__label', pt?.label?.className]\n .filter(Boolean)\n .join(' ')}\n data-cratis-part='label'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n data-selected={selected || undefined}\n >\n {label}\n </span>\n )}\n </label>\n );\n },\n);\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../Common/Tabs.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../Common/Tabs.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { type HTMLAttributes, type Key, type ReactNode } from 'react';\nimport {\n Tab as AriaTab,\n TabList as AriaTabList,\n TabPanel as AriaTabPanel,\n Tabs as AriaTabs,\n} from 'react-aria-components/Tabs';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\n\n/** Attributes a consumer may hand to one {@link Tabs} part: class, style, title and data attributes. */\nexport type TabsPartAttributes = Pick<\n HTMLAttributes<HTMLElement>,\n 'className' | 'style' | 'title'\n> & {\n [dataAttribute: `data-${string}`]: string | number | boolean | undefined;\n};\n\n/** One tab in a {@link Tabs} set. */\nexport interface TabItem {\n /** Value identifying this tab. */\n id: string;\n /** Visible label. */\n label: ReactNode;\n /** Content revealed when this tab is selected. */\n content: ReactNode;\n /** Whether the tab cannot be selected. */\n disabled?: boolean;\n}\n\n/** Stable Cratis-owned parts for styling a {@link Tabs} set. */\nexport interface TabsParts {\n /** The element wrapping list and panels. */\n root?: TabsPartAttributes;\n /** The tab list. */\n list?: TabsPartAttributes;\n /** One tab. */\n tab?: TabsPartAttributes;\n /** One panel. */\n panel?: TabsPartAttributes;\n}\n\nconst tabsPartsMatchManifest: ExactPartKeys<TabsParts, PartsOf<'Tabs'>> = true;\nvoid tabsPartsMatchManifest;\n\n/** Props for {@link Tabs}. */\nexport interface TabsProps {\n /** The tabs, in display order. */\n tabs: TabItem[];\n /** Id of the selected tab. */\n value: string;\n /** Called with the newly selected tab's id. */\n onChange: (value: string) => void;\n /** Whether every tab is disabled. */\n disabled?: boolean;\n /** Accessible name for the tab list, when no visible heading names it. */\n 'aria-label'?: string;\n /** Id of the element naming the tab list. */\n 'aria-labelledby'?: string;\n /** Extra class name for the root element. */\n className?: string;\n /** Cratis-owned per-part attributes. */\n pt?: TabsParts;\n}\n\nconst classNames = (...values: Array<string | undefined>) =>\n values.filter(Boolean).join(' ');\n\n/**\n * A tab set: a list of tabs, each optionally revealing a panel.\n *\n * Arrow keys move between tabs and Home/End jump to the ends, with one tab stop for the whole list,\n * which is what the `tablist` role promises and a row of ordinary buttons does not keep. Each tab is\n * wired to its panel through `aria-controls`.\n *\n * Every tab owns a panel: the selected tab points at one, so a tab set without panels would name an\n * element that is not there. When the choice drives a view rendered elsewhere it is a *value* rather\n * than a panel — reach for `ToggleGroup`, which says so to assistive technology.\n */\nexport const Tabs = ({\n tabs,\n value,\n onChange,\n disabled = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n className,\n pt,\n}: TabsProps) => (\n <AriaTabs\n {...pt?.root}\n selectedKey={value}\n onSelectionChange={(key: Key) => onChange(String(key))}\n isDisabled={disabled}\n className={classNames('cratis-tabs', pt?.root?.className, className)}\n data-cratis-part='root'\n data-disabled={disabled || undefined}\n >\n <AriaTabList\n {...pt?.list}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className={classNames('cratis-tabs__list', pt?.list?.className)}\n data-cratis-part='list'\n >\n {tabs.map((tab) => (\n <AriaTab\n key={tab.id}\n {...pt?.tab}\n id={tab.id}\n isDisabled={tab.disabled}\n className={classNames('cratis-tabs__tab', pt?.tab?.className)}\n data-cratis-part='tab'\n data-selected={tab.id === value || undefined}\n data-disabled={disabled || tab.disabled || undefined}\n >\n {tab.label}\n </AriaTab>\n ))}\n </AriaTabList>\n {tabs.map((tab) => (\n <AriaTabPanel\n key={tab.id}\n {...pt?.panel}\n id={tab.id}\n className={classNames('cratis-tabs__panel', pt?.panel?.className)}\n data-cratis-part='panel'\n data-selected={tab.id === value || undefined}\n >\n {tab.content}\n </AriaTabPanel>\n ))}\n </AriaTabs>\n);\n"],"names":["_jsxs","AriaTabs","_jsx","AriaTabList","AriaTab","AriaTabPanel"],"mappings":";;;AAoEA,MAAM,UAAU,GAAG,CAAC,GAAG,MAAiC,KACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAa7B,MAAM,IAAI,GAAG,CAAC,EACjB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,SAAS,EACT,EAAE,GACM,MACRA,IAAA,CAACC,MAAQ,EAAA,EAAA,GACD,EAAE,EAAE,IAAI,EACZ,WAAW,EAAE,KAAK,EAClB,iBAAiB,EAAE,CAAC,GAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACtD,UAAU,EAAE,QAAQ,EACpB,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAA,kBAAA,EACnD,MAAM,EAAA,eAAA,EACR,QAAQ,IAAI,SAAS,EAAA,QAAA,EAAA,CAEpCC,GAAA,CAACC,OAAW,EAAA,EAAA,GACJ,EAAE,EAAE,IAAI,EAAA,YAAA,EACA,SAAS,EAAA,iBAAA,EACJ,cAAc,EAC/B,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAA,kBAAA,EAC9C,MAAM,EAAA,QAAA,EAEtB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MACVD,IAACE,GAAO,EAAA,EAAA,GAEA,EAAE,EAAE,GAAG,EACX,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,UAAU,EAAE,GAAG,CAAC,QAAQ,EACxB,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,EAAA,kBAAA,EAC5C,KAAK,EAAA,eAAA,EACP,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,SAAS,EAAA,eAAA,EAC7B,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,SAAS,EAAA,QAAA,EAEnD,GAAG,CAAC,KAAK,EAAA,EATL,GAAG,CAAC,EAAE,CAUL,CACb,CAAC,EAAA,CACQ,EACb,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MACVF,GAAA,CAACG,QAAY,EAAA,EAAA,GAEL,EAAE,EAAE,KAAK,EACb,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAA,kBAAA,EAChD,OAAO,EAAA,eAAA,EACT,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,SAAS,EAAA,QAAA,EAE3C,GAAG,CAAC,OAAO,EAAA,EAPP,GAAG,CAAC,EAAE,CAQA,CAClB,CAAC,CAAA,EAAA,CACK;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagGroup.js","sources":["../../../Common/TagGroup.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","AriaTagGroup","AriaTagList","AriaTag","AriaButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TagGroup.js","sources":["../../../Common/TagGroup.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 {\n useId,\n useState,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type Key,\n type ReactNode,\n} from 'react';\nimport {\n Tag as AriaTag,\n TagGroup as AriaTagGroup,\n TagList as AriaTagList,\n} from 'react-aria-components/TagGroup';\nimport { Button as AriaButton } from 'react-aria-components/Button';\nimport { useCratisIcon } from '../configuration/useCratisIcon';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\n\n/** Attributes a consumer may hand to one {@link TagGroup} part: class, style, title and data attributes. */\nexport type TagGroupPartAttributes = Pick<\n HTMLAttributes<HTMLElement>,\n 'className' | 'style' | 'title'\n> & {\n [dataAttribute: `data-${string}`]: string | number | boolean | undefined;\n};\n\n/** Stable Cratis-owned parts for styling a {@link TagGroup}. */\nexport interface TagGroupParts {\n /** The element wrapping the tags and the entry. */\n root?: TagGroupPartAttributes;\n /** The tag list. */\n list?: TagGroupPartAttributes;\n /** One tag. */\n tag?: TagGroupPartAttributes;\n /** A tag's remove button. */\n remove?: TagGroupPartAttributes;\n /** The text entry that adds a value. */\n input?: InputHTMLAttributes<HTMLInputElement>;\n}\n\nconst tagGroupPartsMatchManifest: ExactPartKeys<TagGroupParts, PartsOf<'TagGroup'>> = true;\nvoid tagGroupPartsMatchManifest;\n\n/** Props for {@link TagGroup}. */\nexport interface TagGroupProps {\n /** Current values, in display order. */\n value: string[];\n /** Called with the next list whenever a value is added or removed. */\n onChange: (value: string[]) => void;\n /**\n * Whether a text entry is offered for adding values. A group without one is a read-only display\n * of removable tags.\n */\n editable?: boolean;\n /** Placeholder for the text entry. */\n placeholder?: string;\n /**\n * Characters that commit the typed value in addition to Enter. Defaults to a comma. A pasted\n * string is split on the same separators, so pasting a comma-separated list adds each value.\n */\n separators?: string[];\n /** Whether a duplicate of an existing value is accepted. Defaults to `false`. */\n allowDuplicates?: boolean;\n /** Whether the whole control is disabled. */\n disabled?: boolean;\n /** Accessible name for the group. */\n 'aria-label'?: string;\n /** Id of the element naming the group. */\n 'aria-labelledby'?: string;\n /** Id of the element describing the control — typically a field's error or hint text. */\n 'aria-describedby'?: string;\n /** Marks the text entry invalid for assistive technology. */\n invalid?: boolean;\n /** Id forwarded to the text entry so an external `<label htmlFor>` associates with it. */\n id?: string;\n /** Accessible label for a tag's remove button. Receives the tag's value. */\n removeLabel?: (value: string) => string;\n /**\n * Glyph inside a tag's remove button. Names this one tag group and wins over the provider's\n * `icons.remove`; defaults to a multiplication sign when neither is set. The button, its\n * accessible name and its keyboard behaviour are unaffected.\n */\n removeIcon?: ReactNode;\n /** Extra class name for the root element. */\n className?: string;\n /** Cratis-owned per-part attributes. */\n pt?: TagGroupParts;\n}\n\nconst classNames = (...values: Array<string | undefined>) =>\n values.filter(Boolean).join(' ');\n\n/**\n * A group of removable values with an optional text entry — the control behind a tag or chips field.\n *\n * Every tag is reachable with the arrow keys and removable with Backspace or Delete, which is what\n * the `grid`/`row` semantics React Aria gives a tag group promise; a row of `<span>`s with a close\n * button cannot be operated from the keyboard at all. In the entry, Enter and each configured\n * separator commit the typed value, Backspace on an empty entry removes the last tag, and a pasted\n * string is split on the separators.\n */\nexport const TagGroup = ({\n value,\n onChange,\n editable = true,\n placeholder,\n separators = [','],\n allowDuplicates = false,\n disabled = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n invalid = false,\n id,\n removeLabel,\n removeIcon,\n className,\n pt,\n}: TagGroupProps) => {\n const icon = useCratisIcon();\n const resolvedRemoveIcon = icon('remove', '×', removeIcon);\n const generatedId = useId();\n const inputId = id ?? `cratis-tag-group-${generatedId}`;\n const [draft, setDraft] = useState('');\n\n const add = (candidates: string[]) => {\n const next = [...value];\n for (const candidate of candidates) {\n const trimmed = candidate.trim();\n if (!trimmed) continue;\n if (!allowDuplicates && next.includes(trimmed)) continue;\n next.push(trimmed);\n }\n if (next.length !== value.length) onChange(next);\n setDraft('');\n };\n\n const remove = (keys: Set<Key>) =>\n onChange(value.filter((entry) => !keys.has(entry)));\n\n const splitOn = (text: string) =>\n separators.length === 0\n ? [text]\n : text.split(new RegExp(`[${separators.map(escapeForClass).join('')}]`));\n\n return (\n <div\n {...pt?.root}\n className={classNames('cratis-tag-group', pt?.root?.className, className)}\n data-cratis-part='root'\n data-disabled={disabled || undefined}\n data-invalid={invalid || undefined}\n >\n <AriaTagGroup\n // React Aria renders a wrapper here. It generates a block box, which would trap the\n // tags in their own formatting context — the root's flex layout, and therefore the\n // gap between tags, would never reach them. It has no part on purpose: it is not a\n // styling surface, it just has to disappear from layout.\n className='cratis-tag-group__group'\n selectionMode='none'\n onRemove={remove}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n <AriaTagList\n {...pt?.list}\n items={value.map((entry) => ({ id: entry }))}\n className={classNames('cratis-tag-group__list', pt?.list?.className)}\n data-cratis-part='list'\n >\n {(item: { id: string }) => (\n <AriaTag\n {...pt?.tag}\n id={item.id}\n textValue={item.id}\n isDisabled={disabled}\n className={classNames('cratis-tag-group__tag', pt?.tag?.className)}\n data-cratis-part='tag'\n data-disabled={disabled || undefined}\n >\n <span className='cratis-tag-group__tag-label'>{item.id}</span>\n {!disabled && (\n <AriaButton\n {...pt?.remove}\n slot='remove'\n aria-label={removeLabel?.(item.id)}\n className={classNames(\n 'cratis-tag-group__remove',\n pt?.remove?.className,\n )}\n data-cratis-part='remove'\n >\n <span aria-hidden='true'>{resolvedRemoveIcon}</span>\n </AriaButton>\n )}\n </AriaTag>\n )}\n </AriaTagList>\n </AriaTagGroup>\n {editable && (\n <input\n {...pt?.input}\n id={inputId}\n type='text'\n value={draft}\n disabled={disabled}\n placeholder={placeholder}\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={invalid || undefined}\n className={classNames('cratis-tag-group__input', pt?.input?.className)}\n data-cratis-part='input'\n data-invalid={invalid || undefined}\n onChange={(event) => setDraft(event.currentTarget.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || separators.includes(event.key)) {\n event.preventDefault();\n add([draft]);\n } else if (\n event.key === 'Backspace' &&\n draft === '' &&\n value.length > 0\n ) {\n onChange(value.slice(0, -1));\n }\n }}\n onPaste={(event) => {\n const text = event.clipboardData.getData('text');\n if (!separators.some((separator) => text.includes(separator))) return;\n event.preventDefault();\n add(splitOn(text));\n }}\n onBlur={() => {\n if (draft.trim()) add([draft]);\n }}\n />\n )}\n </div>\n );\n};\n\n/** Escapes a separator for use inside a character class, so a `-` or `]` cannot reshape it. */\nconst escapeForClass = (separator: string) => separator.replace(/[\\\\\\]^-]/gu, '\\\\$&');\n"],"names":["_jsxs","_jsx","AriaTagGroup","AriaTagList","AriaTag","AriaButton"],"mappings":"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"}
|
|
@@ -16,3 +16,4 @@ export interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaE
|
|
|
16
16
|
}
|
|
17
17
|
/** A native multi-line text control with semantic value changes and stable Components parts. */
|
|
18
18
|
export declare const TextArea: import("react").ForwardRefExoticComponent<TextAreaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
19
|
+
//# sourceMappingURL=TextArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../Common/TextArea.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAQ5D,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;CACtD;AAKD,kCAAkC;AAClC,MAAM,WAAW,aAAc,SAAQ,IAAI,CACvC,sBAAsB,CAAC,mBAAmB,CAAC,EAC3C,UAAU,CACb;IACG,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,wCAAwC;IACxC,EAAE,CAAC,EAAE,aAAa,CAAC;CACtB;AAQD,gGAAgG;AAChG,eAAO,MAAM,QAAQ,+GAQpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","sources":["../../../Common/TextArea.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"TextArea.js","sources":["../../../Common/TextArea.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 { forwardRef, type TextareaHTMLAttributes } from 'react';\nimport type { ChangeHandler } from '../types/ChangeHandler';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\nimport { unstable_useSlot } from '../renderer/RendererContext';\nimport { renderSlot } from '../renderer/renderSlot';\nimport type { unstable_SlotDeclaration } from '../renderer/slots';\nimport { TextAreaImplementation } from './TextAreaImplementation';\n\n/** Stable Cratis-owned parts for styling a {@link TextArea}. */\nexport interface TextAreaParts {\n /** Native textarea element. */\n root?: TextareaHTMLAttributes<HTMLTextAreaElement>;\n}\n\nconst textAreaPartsMatchManifest: ExactPartKeys<TextAreaParts, PartsOf<'TextArea'>> = true;\nvoid textAreaPartsMatchManifest;\n\n/** Props for {@link TextArea}. */\nexport interface TextAreaProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n 'onChange'\n> {\n /** Marks the textarea invalid and exposes the canonical invalid state. */\n invalid?: boolean;\n /** Receives the next string value and native user-event metadata. */\n onChange?: ChangeHandler<string>;\n /** Cratis-owned per-part attributes. */\n pt?: TextAreaParts;\n}\n\nconst coreTextAreaDeclaration = Object.freeze({\n mode: 'presentation',\n fidelity: 'native',\n render: TextAreaImplementation,\n}) satisfies unstable_SlotDeclaration<'common.textArea'>;\n\n/** A native multi-line text control with semantic value changes and stable Components parts. */\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(props, ref) {\n const declaration = unstable_useSlot(\n 'common.textArea',\n coreTextAreaDeclaration,\n );\n return renderSlot(declaration, props, ref);\n },\n);\n"],"names":[],"mappings":";;;;;AAkCA,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1C,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,MAAM,EAAE,sBAAsB;AACjC,CAAA,CAAuD;AAGjD,MAAM,QAAQ,GAAG,UAAU,CAC9B,SAAS,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAA;IACxB,MAAM,WAAW,GAAG,gBAAgB,CAChC,iBAAiB,EACjB,uBAAuB,CAC1B;IACD,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC;AAC9C,CAAC;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { TextAreaProps } from './TextArea.js';
|
|
2
2
|
/** Core implementation for the native text-area presentation slot. */
|
|
3
3
|
export declare const TextAreaImplementation: import("react").ForwardRefExoticComponent<TextAreaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
4
|
+
//# sourceMappingURL=TextAreaImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextAreaImplementation.d.ts","sourceRoot":"","sources":["../../../Common/TextAreaImplementation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAY,CAAC;AAEhD,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,+GAiDjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaImplementation.js","sources":["../../../Common/TextAreaImplementation.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"TextAreaImplementation.js","sources":["../../../Common/TextAreaImplementation.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 { forwardRef } from 'react';\nimport type { TextAreaProps } from './TextArea';\n\n/** Core implementation for the native text-area presentation slot. */\nexport const TextAreaImplementation = forwardRef<\n HTMLTextAreaElement,\n TextAreaProps\n>(function TextAreaImplementation(\n {\n invalid = false,\n onChange,\n pt,\n className,\n style,\n disabled,\n readOnly,\n 'aria-invalid': ariaInvalid,\n ...nativeProps\n },\n ref,\n) {\n const effectiveDisabled = disabled ?? pt?.root?.disabled;\n const effectiveReadOnly = readOnly ?? pt?.root?.readOnly;\n const effectiveAriaInvalid =\n ariaInvalid ?? pt?.root?.['aria-invalid'] ?? (invalid || undefined);\n const effectiveInvalid =\n invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';\n\n return (\n <textarea\n {...pt?.root}\n {...nativeProps}\n ref={ref}\n disabled={effectiveDisabled}\n readOnly={effectiveReadOnly}\n aria-invalid={effectiveAriaInvalid}\n onChange={(event) => {\n pt?.root?.onChange?.(event);\n onChange?.(event.currentTarget.value, {\n source: 'user',\n nativeEvent: event.nativeEvent,\n });\n }}\n className={['cratis-text-area', pt?.root?.className, className]\n .filter(Boolean)\n .join(' ')}\n style={{ ...pt?.root?.style, ...style }}\n data-cratis-part='root'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n />\n );\n});\n"],"names":["_jsx"],"mappings":";;;AAOO,MAAM,sBAAsB,GAAG,UAAU,CAG9C,SAAS,sBAAsB,CAC7B,EACI,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,WAAW,EAC3B,GAAG,WAAW,EACjB,EACD,GAAG,EAAA;IAEH,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ;IACxD,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ;AACxD,IAAA,MAAM,oBAAoB,GACtB,WAAW,IAAI,EAAE,EAAE,IAAI,GAAG,cAAc,CAAC,KAAK,OAAO,IAAI,SAAS,CAAC;IACvE,MAAM,gBAAgB,GAClB,OAAO,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM;IAE/E,QACIA,GAAA,CAAA,UAAA,EAAA,EAAA,GACQ,EAAE,EAAE,IAAI,EAAA,GACR,WAAW,EACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAAA,cAAA,EACb,oBAAoB,EAClC,QAAQ,EAAE,CAAC,KAAK,KAAI;YAChB,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;AAC3B,YAAA,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClC,gBAAA,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,KAAK,CAAC,WAAW;AACjC,aAAA,CAAC;AACN,QAAA,CAAC,EACD,SAAS,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;aACzD,MAAM,CAAC,OAAO;AACd,aAAA,IAAI,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,kBAAA,EACtB,MAAM,EAAA,eAAA,EACR,iBAAiB,IAAI,SAAS,EAAA,cAAA,EAC/B,gBAAgB,IAAI,SAAS,mBAC5B,iBAAiB,IAAI,SAAS,EAAA,CAC/C;AAEV,CAAC;;"}
|
|
@@ -20,3 +20,4 @@ export interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElemen
|
|
|
20
20
|
}
|
|
21
21
|
/** A native text input with semantic value changes and stable Components parts. */
|
|
22
22
|
export declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
23
|
+
//# sourceMappingURL=TextInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../Common/TextInput.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAQ5D,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC3B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CAChD;AAQD,mCAAmC;AACnC,MAAM,WAAW,cAAe,SAAQ,IAAI,CACxC,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,UAAU,GAAG,MAAM,CACtB;IACG,uDAAuD;IACvD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,wCAAwC;IACxC,EAAE,CAAC,EAAE,cAAc,CAAC;CACvB;AAQD,mFAAmF;AACnF,eAAO,MAAM,SAAS,6GAQrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../../Common/TextInput.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"TextInput.js","sources":["../../../Common/TextInput.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 { forwardRef, type InputHTMLAttributes } from 'react';\nimport type { ChangeHandler } from '../types/ChangeHandler';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\nimport { unstable_useSlot } from '../renderer/RendererContext';\nimport { renderSlot } from '../renderer/renderSlot';\nimport type { unstable_SlotDeclaration } from '../renderer/slots';\nimport { TextInputImplementation } from './TextInputImplementation';\n\n/** Native text-like input types supported by {@link TextInput}. */\nexport type TextInputType = 'text' | 'email' | 'password' | 'search' | 'tel' | 'url';\n\n/** Stable Cratis-owned parts for styling a {@link TextInput}. */\nexport interface TextInputParts {\n /** Native input element. */\n root?: InputHTMLAttributes<HTMLInputElement>;\n}\n\nconst textInputPartsMatchManifest: ExactPartKeys<\n TextInputParts,\n PartsOf<'TextInput'>\n> = true;\nvoid textInputPartsMatchManifest;\n\n/** Props for {@link TextInput}. */\nexport interface TextInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'onChange' | 'type'\n> {\n /** Native text-like input type. Defaults to `text`. */\n type?: TextInputType;\n /** Marks the input invalid and exposes the canonical invalid state. */\n invalid?: boolean;\n /** Receives the next string value and native user-event metadata. */\n onChange?: ChangeHandler<string>;\n /** Cratis-owned per-part attributes. */\n pt?: TextInputParts;\n}\n\nconst coreTextInputDeclaration = Object.freeze({\n mode: 'presentation',\n fidelity: 'native',\n render: TextInputImplementation,\n}) satisfies unstable_SlotDeclaration<'common.textInput'>;\n\n/** A native text input with semantic value changes and stable Components parts. */\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n function TextInput(props, ref) {\n const declaration = unstable_useSlot(\n 'common.textInput',\n coreTextInputDeclaration,\n );\n return renderSlot(declaration, props, ref);\n },\n);\n"],"names":[],"mappings":";;;;;AA0CA,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;AAC3C,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,MAAM,EAAE,uBAAuB;AAClC,CAAA,CAAwD;AAGlD,MAAM,SAAS,GAAG,UAAU,CAC/B,SAAS,SAAS,CAAC,KAAK,EAAE,GAAG,EAAA;IACzB,MAAM,WAAW,GAAG,gBAAgB,CAChC,kBAAkB,EAClB,wBAAwB,CAC3B;IACD,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC;AAC9C,CAAC;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { TextInputProps } from './TextInput.js';
|
|
2
2
|
/** Core implementation for the native text-input presentation slot. */
|
|
3
3
|
export declare const TextInputImplementation: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
|
+
//# sourceMappingURL=TextInputImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInputImplementation.d.ts","sourceRoot":"","sources":["../../../Common/TextInputImplementation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAa,CAAC;AAElD,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,6GAmDlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInputImplementation.js","sources":["../../../Common/TextInputImplementation.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"TextInputImplementation.js","sources":["../../../Common/TextInputImplementation.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 { forwardRef } from 'react';\nimport type { TextInputProps } from './TextInput';\n\n/** Core implementation for the native text-input presentation slot. */\nexport const TextInputImplementation = forwardRef<\n HTMLInputElement,\n TextInputProps\n>(function TextInputImplementation(\n {\n type = 'text',\n invalid = false,\n onChange,\n pt,\n className,\n style,\n disabled,\n readOnly,\n 'aria-invalid': ariaInvalid,\n ...nativeProps\n },\n ref,\n) {\n const effectiveDisabled = disabled ?? pt?.root?.disabled;\n const effectiveReadOnly = readOnly ?? pt?.root?.readOnly;\n const effectiveAriaInvalid =\n ariaInvalid ?? pt?.root?.['aria-invalid'] ?? (invalid || undefined);\n const effectiveInvalid =\n invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';\n\n return (\n <input\n {...pt?.root}\n {...nativeProps}\n ref={ref}\n type={type}\n disabled={effectiveDisabled}\n readOnly={effectiveReadOnly}\n aria-invalid={effectiveAriaInvalid}\n onChange={(event) => {\n pt?.root?.onChange?.(event);\n onChange?.(event.currentTarget.value, {\n source: 'user',\n nativeEvent: event.nativeEvent,\n });\n }}\n className={['cratis-text-input', pt?.root?.className, className]\n .filter(Boolean)\n .join(' ')}\n style={{ ...pt?.root?.style, ...style }}\n data-cratis-part='root'\n data-disabled={effectiveDisabled || undefined}\n data-invalid={effectiveInvalid || undefined}\n data-readonly={effectiveReadOnly || undefined}\n />\n );\n});\n"],"names":["_jsx"],"mappings":";;;AAOO,MAAM,uBAAuB,GAAG,UAAU,CAG/C,SAAS,uBAAuB,CAC9B,EACI,IAAI,GAAG,MAAM,EACb,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,WAAW,EAC3B,GAAG,WAAW,EACjB,EACD,GAAG,EAAA;IAEH,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ;IACxD,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ;AACxD,IAAA,MAAM,oBAAoB,GACtB,WAAW,IAAI,EAAE,EAAE,IAAI,GAAG,cAAc,CAAC,KAAK,OAAO,IAAI,SAAS,CAAC;IACvE,MAAM,gBAAgB,GAClB,OAAO,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM;AAE/E,IAAA,QACIA,GAAA,CAAA,OAAA,EAAA,EAAA,GACQ,EAAE,EAAE,IAAI,EAAA,GACR,WAAW,EACf,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAAA,cAAA,EACb,oBAAoB,EAClC,QAAQ,EAAE,CAAC,KAAK,KAAI;YAChB,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;AAC3B,YAAA,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClC,gBAAA,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,KAAK,CAAC,WAAW;AACjC,aAAA,CAAC;AACN,QAAA,CAAC,EACD,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;aAC1D,MAAM,CAAC,OAAO;AACd,aAAA,IAAI,CAAC,GAAG,CAAC,EACd,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,kBAAA,EACtB,MAAM,EAAA,eAAA,EACR,iBAAiB,IAAI,SAAS,EAAA,cAAA,EAC/B,gBAAgB,IAAI,SAAS,mBAC5B,iBAAiB,IAAI,SAAS,EAAA,CAC/C;AAEV,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleGroup.js","sources":["../../../Common/ToggleGroup.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"ToggleGroup.js","sources":["../../../Common/ToggleGroup.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { type HTMLAttributes, type Key, type ReactNode } from 'react';\nimport {\n ToggleButton as AriaToggleButton,\n ToggleButtonGroup as AriaToggleButtonGroup,\n} from 'react-aria-components/ToggleButtonGroup';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\n\n/** Attributes a consumer may hand to one {@link ToggleGroup} part: class, style, title and data attributes. */\nexport type ToggleGroupPartAttributes = Pick<\n HTMLAttributes<HTMLElement>,\n 'className' | 'style' | 'title'\n> & {\n [dataAttribute: `data-${string}`]: string | number | boolean | undefined;\n};\n\n/** One choice in a {@link ToggleGroup}. */\nexport interface ToggleGroupOption {\n /** Value this option selects. */\n value: string;\n /** Visible label. */\n label: ReactNode;\n /** Content rendered before the label — an icon, a swatch. Decorative. */\n icon?: ReactNode;\n /** Whether this option cannot be chosen. */\n disabled?: boolean;\n}\n\n/** Stable Cratis-owned parts for styling a {@link ToggleGroup}. */\nexport interface ToggleGroupParts {\n /** The group element. */\n root?: ToggleGroupPartAttributes;\n /** One selectable option. */\n option?: ToggleGroupPartAttributes;\n /** An option's leading icon wrapper, rendered only for an option that has one. */\n icon?: ToggleGroupPartAttributes;\n /** An option's label. */\n label?: ToggleGroupPartAttributes;\n}\n\nconst toggleGroupPartsMatchManifest: ExactPartKeys<\n ToggleGroupParts,\n PartsOf<'ToggleGroup'>\n> = true;\nvoid toggleGroupPartsMatchManifest;\n\n/** Props for {@link ToggleGroup}. */\nexport interface ToggleGroupProps {\n /** The choices, in display order. Two to four is the shape this control is for. */\n options: ToggleGroupOption[];\n /** Currently selected value. */\n value: string;\n /** Called with the newly selected value. A click on the selected option is ignored. */\n onChange: (value: string) => void;\n /** Whether every option is disabled. */\n disabled?: boolean;\n /**\n * Id of the element naming this control. A group has no single labelable element, so an external\n * `<label>` associates by id rather than `htmlFor`.\n */\n 'aria-labelledby'?: string;\n /** Accessible name, when no visible label names the control. */\n 'aria-label'?: string;\n /** Id of the element describing the control — typically a field's error or hint text. */\n 'aria-describedby'?: string;\n /** Marks the control invalid for assistive technology. */\n invalid?: boolean;\n /** Extra class name for the group element. */\n className?: string;\n /** Cratis-owned per-part attributes. */\n pt?: ToggleGroupParts;\n}\n\nconst classNames = (...values: Array<string | undefined>) =>\n values.filter(Boolean).join(' ');\n\n/**\n * A single-selection group of exclusive choices — a segmented control.\n *\n * This is a *value* choice, not a panel switcher: it carries `radiogroup`/`radio` semantics from\n * React Aria's `ToggleButtonGroup`, not `tablist`/`tab`, and the arrow keys those semantics promise\n * move the selection. Reach for `Tabs` when the choice reveals a panel of content instead.\n *\n * The group is a single tab stop, as a radio group is: `Tab` moves into and out of it, and the arrow\n * keys move within it. The selected option carries the stop, or the first enabled option when the\n * value matches none.\n */\nexport const ToggleGroup = ({\n options,\n value,\n onChange,\n disabled = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n invalid = false,\n className,\n pt,\n}: ToggleGroupProps) => {\n // A radio group is one tab stop: Tab reaches the group, the arrows move inside it. React Aria's\n // ToggleButtonGroup keeps every button tabbable, which is toolbar behaviour and would make a\n // four-option group cost four stops, so the stop is placed here instead.\n const enabled = options.filter((option) => !option.disabled);\n const tabStop = enabled.some((option) => option.value === value)\n ? value\n : enabled[0]?.value;\n\n return (\n <AriaToggleButtonGroup\n {...pt?.root}\n selectionMode='single'\n disallowEmptySelection\n selectedKeys={[value]}\n isDisabled={disabled}\n onSelectionChange={(keys: Set<Key>) => {\n // React Aria reports the whole selection; single selection with an empty set disallowed\n // means exactly one key, and re-selecting the current one reports it unchanged.\n const [selected] = [...keys];\n if (selected !== undefined && selected !== value)\n onChange(String(selected));\n }}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n className={classNames('cratis-toggle-group', pt?.root?.className, className)}\n data-cratis-part='root'\n data-disabled={disabled || undefined}\n data-invalid={invalid || undefined}\n >\n {options.map((option) => (\n <AriaToggleButton\n key={option.value}\n {...pt?.option}\n id={option.value}\n isDisabled={disabled || option.disabled}\n excludeFromTabOrder={option.value !== tabStop}\n className={classNames(\n 'cratis-toggle-group__option',\n pt?.option?.className,\n )}\n data-cratis-part='option'\n data-selected={option.value === value || undefined}\n data-disabled={disabled || option.disabled || undefined}\n data-invalid={invalid || undefined}\n >\n {option.icon !== undefined && (\n <span\n {...pt?.icon}\n aria-hidden='true'\n className={classNames(\n 'cratis-toggle-group__icon',\n pt?.icon?.className,\n )}\n data-cratis-part='icon'\n >\n {option.icon}\n </span>\n )}\n <span\n {...pt?.label}\n className={classNames(\n 'cratis-toggle-group__label',\n pt?.label?.className,\n )}\n data-cratis-part='label'\n >\n {option.label}\n </span>\n </AriaToggleButton>\n ))}\n </AriaToggleButtonGroup>\n );\n};\n"],"names":["_jsx","AriaToggleButtonGroup","_jsxs","AriaToggleButton"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarFocusMode.js","sources":["../../../Common/ToolbarFocusMode.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"ToolbarFocusMode.js","sources":["../../../Common/ToolbarFocusMode.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/** Keyboard focus behavior for Toolbar and ActionMenubar. A single-Tab-stop mode is planned for #353. */\nexport enum ToolbarFocusMode {\n /** Navigate with arrows and Home/End while retaining every tool's Tab stop (default). */\n Arrows = 'arrows',\n /** Keep native focus behavior with no toolbar keyboard handling. */\n None = 'none',\n}\n"],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAExB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAEjB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../Common/Tooltip.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AAiCA,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AACzC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,MAAM,EAAE,qBAAqB;AAChC,CAAA,CAAsD;AAGhD,MAAM,OAAO,GAAG,CAAC,KAAmB,KAAI;IAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;AAC9E,IAAA,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;AACzC;;"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../Common/Tooltip.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ReactElement, ReactNode } from 'react';\nimport { unstable_useSlot } from '../renderer/RendererContext';\nimport { renderSlot } from '../renderer/renderSlot';\nimport type { unstable_SlotDeclaration } from '../renderer/slots';\nimport { TooltipImplementation } from './TooltipImplementation';\n\n/** Position of the tooltip relative to its trigger element. */\nexport type TooltipPosition = 'top' | 'right' | 'bottom' | 'left';\n\ninterface TooltipTriggerElementProps {\n className?: string;\n disabled?: boolean;\n 'data-cratis-part'?: string;\n 'data-cratis-tooltip-trigger'?: string;\n}\n\n/** Props for the {@link Tooltip} component. */\nexport interface TooltipProps {\n /** Non-interactive tooltip content. Use a popover for links or buttons. Undefined, null, either boolean, or an empty string disables the tooltip. */\n content?: ReactNode;\n /** Where the tooltip appears relative to its trigger. */\n position?: TooltipPosition;\n /** When true, suppresses the tooltip. */\n disabled?: boolean;\n /** Extra class name applied to the actual trigger element. */\n className?: string;\n /** One focusable element that triggers the tooltip. */\n children: ReactElement<TooltipTriggerElementProps>;\n}\n\nconst coreTooltipDeclaration = Object.freeze({\n mode: 'atomic',\n fidelity: 'native',\n render: TooltipImplementation,\n}) satisfies unstable_SlotDeclaration<'common.tooltip'>;\n\n/** An accessible hover and keyboard-focus tooltip with stable Cratis parts. */\nexport const Tooltip = (props: TooltipProps) => {\n const declaration = unstable_useSlot('common.tooltip', coreTooltipDeclaration);\n return renderSlot(declaration, props);\n};\n"],"names":[],"mappings":";;;;AAiCA,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AACzC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,MAAM,EAAE,qBAAqB;AAChC,CAAA,CAAsD;AAGhD,MAAM,OAAO,GAAG,CAAC,KAAmB,KAAI;IAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;AAC9E,IAAA,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;AACzC;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { TooltipProps } from './Tooltip.js';
|
|
2
2
|
/** Core implementation for the atomic tooltip slot. */
|
|
3
3
|
export declare const TooltipImplementation: ({ content, position, disabled, className, children, }: TooltipProps) => import("react").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=TooltipImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TooltipImplementation.d.ts","sourceRoot":"","sources":["../../../Common/TooltipImplementation.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAW,CAAC;AAS9C,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,0DAM/B,YAAY,gCAyCd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipImplementation.js","sources":["../../../Common/TooltipImplementation.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaTooltip"],"mappings":";;;;;;;;MAuBa,qBAAqB,GAAG,CAAC,EAClC,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,GACG,KAAI;AACf,IAAA,MAAM,kBAAkB,GAAG,8BAA8B,EAAE;AAC3D,IAAA,MAAM,mBAAmB,GAAG,sBAAsB,EAAE;AACpD,IAAA,MAAM,cAAc,GAChB,mBAAmB,KAAK;AACpB,UAAE;AACF,UAAE,iBAAiB,CAAC,mBAAmB,EAAE,cAAc,CAAC;AAChE,IAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,IAAI,QAAQ;AAAE,QAAA,OAAO,QAAQ;AAE5H,IAAA,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS;aACpE,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;QACd,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,SAAS;AACnE,QAAA,6BAA6B,EAAE,EAAE;AACN,KAAA,CAAC;AAEhC,IAAA,QACIA,GAAA,CAAC,qBAAqB,EAAA,EAAC,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAA,QAAA,EAChEC,IAAA,CAAC,cAAc,IAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,SAAS,EAAA,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAA,QAAA,EAErC,OAGC,EAAA,CAEG,EACZA,GAAA,CAACE,OAAW,EAAA,EACR,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,CAAC,EACT,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAA,kBAAA,EAChB,OAAO,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAGvB,OAAO,EAAA,CACE,CAAA,EAAA,CACD,EAAA,CACG;AAEhC;;"}
|
|
1
|
+
{"version":3,"file":"TooltipImplementation.js","sources":["../../../Common/TooltipImplementation.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 { cloneElement, type DOMAttributes, type ReactElement } from 'react';\nimport {\n Focusable,\n Tooltip as AriaTooltip,\n TooltipTrigger,\n} from 'react-aria-components/Tooltip';\nimport { UNSAFE_PortalProvider } from 'react-aria';\nimport { unstable_useOverlayEnvironment } from '../renderer/RendererContext';\nimport { TOOLTIP_OFFSET, zIndexAboveDialog } from '../renderer/dialogStack';\nimport { useNearestDialogZIndex } from '../renderer/DialogStackContext';\nimport type { TooltipProps } from './Tooltip';\n\ninterface TooltipTriggerElementProps {\n className?: string;\n disabled?: boolean;\n 'data-cratis-part'?: string;\n 'data-cratis-tooltip-trigger'?: string;\n}\n\n/** Core implementation for the atomic tooltip slot. */\nexport const TooltipImplementation = ({\n content,\n position = 'top',\n disabled = false,\n className,\n children,\n}: TooltipProps) => {\n const overlayEnvironment = unstable_useOverlayEnvironment();\n const nearestDialogZIndex = useNearestDialogZIndex();\n const resolvedZIndex =\n nearestDialogZIndex === null\n ? 'var(--cratis-z-index-tooltip)'\n : zIndexAboveDialog(nearestDialogZIndex, TOOLTIP_OFFSET);\n if (content === undefined || content === null || typeof content === 'boolean' || content === '' || disabled) return children;\n\n const trigger = cloneElement(children, {\n className: ['cratis-tooltip-trigger', children.props.className, className]\n .filter(Boolean)\n .join(' '),\n 'data-cratis-part': children.props['data-cratis-part'] ?? 'trigger',\n 'data-cratis-tooltip-trigger': '',\n } as TooltipTriggerElementProps);\n\n return (\n <UNSAFE_PortalProvider getContainer={overlayEnvironment.getContainer}>\n <TooltipTrigger delay={350} closeDelay={100}>\n <Focusable isDisabled={trigger.props.disabled}>\n {\n trigger as unknown as ReactElement<\n DOMAttributes<HTMLElement>,\n string\n >\n }\n </Focusable>\n <AriaTooltip\n placement={position}\n offset={8}\n className='cratis-tooltip-popup'\n style={{ zIndex: resolvedZIndex }}\n data-cratis-part='popup'\n data-open\n >\n {content}\n </AriaTooltip>\n </TooltipTrigger>\n </UNSAFE_PortalProvider>\n );\n};\n"],"names":["_jsx","_jsxs","AriaTooltip"],"mappings":";;;;;;;;MAuBa,qBAAqB,GAAG,CAAC,EAClC,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,GACG,KAAI;AACf,IAAA,MAAM,kBAAkB,GAAG,8BAA8B,EAAE;AAC3D,IAAA,MAAM,mBAAmB,GAAG,sBAAsB,EAAE;AACpD,IAAA,MAAM,cAAc,GAChB,mBAAmB,KAAK;AACpB,UAAE;AACF,UAAE,iBAAiB,CAAC,mBAAmB,EAAE,cAAc,CAAC;AAChE,IAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,IAAI,QAAQ;AAAE,QAAA,OAAO,QAAQ;AAE5H,IAAA,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS;aACpE,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;QACd,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,SAAS;AACnE,QAAA,6BAA6B,EAAE,EAAE;AACN,KAAA,CAAC;AAEhC,IAAA,QACIA,GAAA,CAAC,qBAAqB,EAAA,EAAC,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAA,QAAA,EAChEC,IAAA,CAAC,cAAc,IAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,SAAS,EAAA,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAA,QAAA,EAErC,OAGC,EAAA,CAEG,EACZA,GAAA,CAACE,OAAW,EAAA,EACR,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,CAAC,EACT,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAA,kBAAA,EAChB,OAAO,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAGvB,OAAO,EAAA,CACE,CAAA,EAAA,CACD,EAAA,CACG;AAEhC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Common/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AACtD,cAAc,+BAA4B,CAAC;AAC3C,cAAc,sBAAmB,CAAC;AAClC,cAAc,oBAAiB,CAAC;AAChC,cAAc,WAAQ,CAAC;AACvB,cAAc,yBAAsB,CAAC;AACrC,cAAc,eAAY,CAAC;AAC3B,cAAc,kBAAe,CAAC;AAC9B,cAAc,WAAQ,CAAC;AACvB,cAAc,eAAY,CAAC;AAC3B,cAAc,kBAAe,CAAC;AAC9B,cAAc,kBAAe,CAAC;AAC9B,cAAc,8BAA2B,CAAC;AAC1C,cAAc,gCAA6B,CAAC;AAC5C,cAAc,WAAQ,CAAC;AACvB,cAAc,kBAAe,CAAC;AAC9B,cAAc,cAAW,CAAC;AAC1B,cAAc,aAAU,CAAC;AACzB,cAAc,eAAY,CAAC;AAC3B,cAAc,iBAAc,CAAC;AAC7B,cAAc,YAAS,CAAC;AACxB,cAAc,cAAW,CAAC;AAC1B,cAAc,aAAU,CAAC;AACzB,cAAc,eAAY,CAAC;AAC3B,cAAc,gBAAa,CAAC;AAC5B,cAAc,kBAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOptionalMessenger.js","sources":["../../../../Common/messaging/useOptionalMessenger.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAyCgB,oBAAoB,GAAA;AAChC,IAAA,MAAM,SAAS,GAAG,YAAY,EAAiD;AAE/E,IAAA,MAAM,OAAO,GAAG,WAAW,CACvB,CAA0B,OAAiB,KAAI;AAC3C,QAAA,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;AAC/B,IAAA,CAAC,EACD,CAAC,SAAS,CAAC,CACd;IAED,OAAO,SAAS,GAAG,OAAO,GAAG,SAAS;AAC1C;;"}
|
|
1
|
+
{"version":3,"file":"useOptionalMessenger.js","sources":["../../../../Common/messaging/useOptionalMessenger.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 { useCallback } from 'react';\nimport { useMessenger } from '@cratis/arc.react/messaging';\n\n/**\n * The publish half of a resolved Arc messenger, or `undefined` when none is resolvable — the shape\n * canvas shapes hold their opt-in messaging through, so a shape can publish with a bare\n * `publish?.(message)` and be inert everywhere a messenger is missing. Generic over the message type,\n * matching `IMessenger.publish`'s own `<TMessage extends object>` constraint, rather than a bare\n * `object` parameter that would tell callers nothing about the message they are publishing.\n */\nexport type OptionalPublish = <TMessage extends object>(message: TMessage) => void;\n\n/**\n * Internal: resolves the nearest Arc messenger without ever requiring one to exist, returning its\n * publish function — or `undefined` when no messenger is resolvable, in which case callers must do\n * nothing at all. This is what lets every canvas shape's messaging stay strictly opt-in: a Storybook\n * story (or any consumer) rendering with no `ArcContext.Provider` mounted must not throw and must\n * not need Arc wired up.\n *\n * Why calling `useMessenger()` here is safe with no provider mounted, verified against\n * `@cratis/arc.react`'s source: the hook is nothing but two `useContext` reads\n * (`useContext(MessengerScopeContext) ?? useContext(ArcContext).messenger!`), and `ArcContext` is\n * created with a module-level default value that carries a live fallback `Messenger`. `useContext`\n * on a provider-less context returns that default — it never throws — so with no Arc at all this\n * resolves the default configuration's fallback messenger, which nothing in an Arc-less tree\n * subscribes to: publishes flow into it and are observed by no one. The hook's `!` is purely a\n * compile-time assertion; the one genuinely undefined case is a host mounting its own\n * `ArcContext.Provider` whose configuration leaves the optional `messenger` field unset — calling\n * `publish` on that would throw at the call site, and that is exactly what the null-check below\n * turns into \"no messenger, stay silent\".\n *\n * Going through `useMessenger()` (rather than reading `ArcContext` directly) is also what honors\n * `MessengerScope`: the hook resolves the nearest scoped messenger first, exactly like every other\n * Arc consumer. `MessengerScopeContext` itself is not reachable through the package's exports map,\n * so the hook is the only supported way to get that nearest-scope resolution.\n * @returns A stable publish function bound to the resolved messenger, or `undefined` when no\n * messenger is resolvable.\n */\nexport function useOptionalMessenger(): OptionalPublish | undefined {\n const messenger = useMessenger() as ReturnType<typeof useMessenger> | undefined;\n\n const publish = useCallback(\n <TMessage extends object>(message: TMessage) => {\n messenger?.publish(message);\n },\n [messenger],\n );\n\n return messenger ? publish : undefined;\n}\n"],"names":[],"mappings":";;;SAyCgB,oBAAoB,GAAA;AAChC,IAAA,MAAM,SAAS,GAAG,YAAY,EAAiD;AAE/E,IAAA,MAAM,OAAO,GAAG,WAAW,CACvB,CAA0B,OAAiB,KAAI;AAC3C,QAAA,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;AAC/B,IAAA,CAAC,EACD,CAAC,SAAS,CAAC,CACd;IAED,OAAO,SAAS,GAAG,OAAO,GAAG,SAAS;AAC1C;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeIconClass.js","sources":["../../../Common/normalizeIconClass.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"normalizeIconClass.js","sources":["../../../Common/normalizeIconClass.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/** The outcome of normalizing a string icon value into a renderable CSS class. */\nexport interface NormalizedIconClass {\n /** The CSS class to apply to the `<i>` element. Empty when there is nothing to render. */\n className: string;\n}\n\n/**\n * Trims a consumer-owned icon-font CSS class for {@link IconDisplay}.\n *\n * Components does not infer an icon provider or add provider-specific base classes. Pass the\n * complete class string required by the icon font, or prefer a React icon node.\n *\n * @param icon - The complete consumer-owned icon CSS class.\n * @returns The trimmed class to render.\n */\nexport function normalizeIconClass(icon: string): NormalizedIconClass {\n return { className: icon.trim() };\n}\n"],"names":[],"mappings":"AAkBM,SAAU,kBAAkB,CAAC,IAAY,EAAA;IAC3C,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE;AACrC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactAriaProps.js","sources":["../../../Common/reactAriaProps.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"reactAriaProps.js","sources":["../../../Common/reactAriaProps.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 { ButtonHTMLAttributes, HTMLAttributes } from 'react';\nimport type { ButtonProps } from 'react-aria-components/Button';\nimport type { ListBoxItemProps, ListBoxProps } from 'react-aria-components/Select';\n\n// React Aria redeclares native DOM event callbacks (onBlur, onClick, ...) against wider\n// element types than the concrete HTML element they end up rendering, so under strict\n// function-parameter variance a Cratis-owned `pt` part typed against the real element\n// (e.g. `ButtonHTMLAttributes<HTMLButtonElement>`) is not directly assignable to the\n// matching React Aria props. The runtime event target is unchanged; only the declared\n// callback parameter type is wider. These conversions exist to keep that mismatch behind\n// one internal boundary per React Aria primitive, spread only onto the React Aria\n// component that renders that same native element, so the Components-owned public part\n// types never surface React Aria's own types.\nexport const asReactAriaButtonProps = (\n attributes: ButtonHTMLAttributes<HTMLButtonElement> | undefined,\n): ButtonProps | undefined =>\n // SAFETY: spread only onto a React Aria Button, which renders an HTMLButtonElement —\n // the same element `attributes` is already typed against.\n attributes as unknown as ButtonProps | undefined;\n\nexport const asReactAriaListBoxProps = <T>(\n attributes: HTMLAttributes<HTMLDivElement> | undefined,\n): ListBoxProps<T> | undefined =>\n // SAFETY: spread only onto a React Aria ListBox, which renders an HTMLDivElement —\n // the same element `attributes` is already typed against.\n attributes as unknown as ListBoxProps<T> | undefined;\n\nexport const asReactAriaListBoxItemProps = <T>(\n attributes: HTMLAttributes<HTMLDivElement> | undefined,\n): ListBoxItemProps<T> | undefined =>\n // SAFETY: spread only onto a React Aria ListBoxItem, which renders an HTMLDivElement —\n // the same element `attributes` is already typed against.\n attributes as unknown as ListBoxItemProps<T> | undefined;\n"],"names":[],"mappings":"AAgBO,MAAM,sBAAsB,GAAG,CAClC,UAA+D,KAI/D;AAEG,MAAM,uBAAuB,GAAG,CACnC,UAAsD,KAItD;AAEG,MAAM,2BAA2B,GAAG,CACvC,UAAsD,KAItD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNativeCheckedState.js","sources":["../../../Common/useNativeCheckedState.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,SAAS,GAAG,CAAK,GAAoB,EAAE,KAAe,KAAI;IAC5D,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,GAAG,CAAC,KAAK,CAAC;AACpC,SAAA,IAAI,GAAG;AAAE,QAAA,GAAG,CAAC,OAAO,GAAG,KAAK;AACrC,CAAC;AAGM,MAAM,qBAAqB,GAAG,CACjC,OAA4B,EAC5B,cAAmC,EACnC,YAA4C,EAC5C,iBAAiB,GAAG,KAAK,KACzB;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC;AAC/C,IAAA,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAC1D,OAAO,CAAC,cAAc,CAAC,CAC1B;AACD,IAAA,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS;AAExC,IAAA,MAAM,GAAG,GAAG,WAAW,CACnB,CAAC,KAA8B,KAAI;AAC/B,QAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AACxB,QAAA,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,EACD,CAAC,YAAY,CAAC,CACjB;IAED,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;QAC9B,IAAI,CAAC,KAAK,IAAI,UAAU;YAAE;AAC1B,QAAA,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACrF,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,QAAA,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC5C,QAAA,IAAI,iBAAiB;YACjB,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;AAC/D,QAAA,OAAO,MAAK;AACR,YAAA,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC/C,YAAA,IAAI,iBAAiB;gBACjB,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC;AACtE,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAEnC,OAAO;QACH,GAAG;QACH,QAAQ,EAAE,OAAO,IAAI,mBAAmB;AACxC,QAAA,WAAW,EAAE,CAAC,WAAoB,KAAI;AAClC,YAAA,IAAI,CAAC,UAAU;gBAAE,sBAAsB,CAAC,WAAW,CAAC;QACxD,CAAC;KACJ;AACL;;"}
|
|
1
|
+
{"version":3,"file":"useNativeCheckedState.js","sources":["../../../Common/useNativeCheckedState.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 { useCallback, useEffect, useRef, useState, type ForwardedRef } from 'react';\n\nconst assignRef = <T,>(ref: ForwardedRef<T>, value: T | null) => {\n if (typeof ref === 'function') ref(value);\n else if (ref) ref.current = value;\n};\n\n/** Keeps canonical state attributes aligned with an uncontrolled native checkable input. */\nexport const useNativeCheckedState = (\n checked: boolean | undefined,\n defaultChecked: boolean | undefined,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n observeRadioGroup = false,\n) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [uncontrolledChecked, setUncontrolledChecked] = useState(\n Boolean(defaultChecked),\n );\n const controlled = checked !== undefined;\n\n const ref = useCallback(\n (input: HTMLInputElement | null) => {\n inputRef.current = input;\n assignRef(forwardedRef, input);\n },\n [forwardedRef],\n );\n\n useEffect(() => {\n const input = inputRef.current;\n if (!input || controlled) return;\n const synchronize = () => queueMicrotask(() => setUncontrolledChecked(input.checked));\n const form = input.form;\n form?.addEventListener('reset', synchronize);\n if (observeRadioGroup)\n input.ownerDocument.addEventListener('change', synchronize);\n return () => {\n form?.removeEventListener('reset', synchronize);\n if (observeRadioGroup)\n input.ownerDocument.removeEventListener('change', synchronize);\n };\n }, [controlled, observeRadioGroup]);\n\n return {\n ref,\n selected: checked ?? uncontrolledChecked,\n synchronize: (nextChecked: boolean) => {\n if (!controlled) setUncontrolledChecked(nextChecked);\n },\n };\n};\n"],"names":[],"mappings":";;AAKA,MAAM,SAAS,GAAG,CAAK,GAAoB,EAAE,KAAe,KAAI;IAC5D,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,GAAG,CAAC,KAAK,CAAC;AACpC,SAAA,IAAI,GAAG;AAAE,QAAA,GAAG,CAAC,OAAO,GAAG,KAAK;AACrC,CAAC;AAGM,MAAM,qBAAqB,GAAG,CACjC,OAA4B,EAC5B,cAAmC,EACnC,YAA4C,EAC5C,iBAAiB,GAAG,KAAK,KACzB;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC;AAC/C,IAAA,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAC1D,OAAO,CAAC,cAAc,CAAC,CAC1B;AACD,IAAA,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS;AAExC,IAAA,MAAM,GAAG,GAAG,WAAW,CACnB,CAAC,KAA8B,KAAI;AAC/B,QAAA,QAAQ,CAAC,OAAO,GAAG,KAAK;AACxB,QAAA,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;AAClC,IAAA,CAAC,EACD,CAAC,YAAY,CAAC,CACjB;IAED,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;QAC9B,IAAI,CAAC,KAAK,IAAI,UAAU;YAAE;AAC1B,QAAA,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACrF,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,QAAA,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC5C,QAAA,IAAI,iBAAiB;YACjB,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;AAC/D,QAAA,OAAO,MAAK;AACR,YAAA,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC/C,YAAA,IAAI,iBAAiB;gBACjB,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC;AACtE,QAAA,CAAC;AACL,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAEnC,OAAO;QACH,GAAG;QACH,QAAQ,EAAE,OAAO,IAAI,mBAAmB;AACxC,QAAA,WAAW,EAAE,CAAC,WAAoB,KAAI;AAClC,YAAA,IAAI,CAAC,UAAU;gBAAE,sBAAsB,CAAC,WAAW,CAAC;QACxD,CAAC;KACJ;AACL;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolbarKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../Common/useToolbarKeyboardNavigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAKtD,KAAK,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7C,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,gBAAiB,WAAW,aAAa,gBAAgB;;uBAiBpE,aAAa,CAAC,cAAc,CAAC;CAwC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToolbarKeyboardNavigation.js","sources":["../../../Common/useToolbarKeyboardNavigation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useToolbarKeyboardNavigation.js","sources":["../../../Common/useToolbarKeyboardNavigation.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 { useCallback, useRef, type KeyboardEvent } from 'react';\nimport { ToolbarFocusMode } from './ToolbarFocusMode';\n\nconst toolSelector = 'button, a[href], input, select, textarea, [tabindex]';\nconst widgetSelector = 'input:not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]), textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role=\"slider\"], [role=\"spinbutton\"], [role=\"textbox\"], [role=\"combobox\"], [role=\"listbox\"], [role=\"menu\"], [role=\"menubar\"], [role=\"tree\"], [role=\"grid\"], [role=\"application\"]';\n\ntype Orientation = 'horizontal' | 'vertical';\n\n/** Components-owned toolbar focus behavior; never captures keys from child widgets. */\nexport const useToolbarKeyboardNavigation = (orientation: Orientation, focusMode: ToolbarFocusMode) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const tools = useCallback(() => {\n const root = rootRef.current;\n if (!root) return [];\n return Array.from(root.querySelectorAll<HTMLElement>(toolSelector)).filter(tool => {\n if (tool.closest('[role=\"toolbar\"]') !== root || tool.matches(':disabled, [disabled], [aria-disabled=\"true\"]')) return false;\n if (tool.getAttribute('tabindex') === '-1') return false;\n for (let element: HTMLElement | null = tool; element && element !== root; element = element.parentElement) {\n if (element.hidden || element.hasAttribute('inert') || element.getAttribute('aria-hidden') === 'true') return false;\n const style = getComputedStyle(element);\n if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse') return false;\n }\n return true;\n });\n }, []);\n\n const onKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (focusMode === ToolbarFocusMode.None || event.defaultPrevented || event.isPropagationStopped() ||\n event.altKey || event.ctrlKey || event.metaKey || event.shiftKey || event.nativeEvent.isComposing) return;\n const root = rootRef.current;\n const target = event.target;\n // React events from a portal may bubble here without a DOM ancestor relationship.\n if (!(target instanceof Element) || !root?.contains(target) ||\n target.closest('[role=\"toolbar\"]') !== root) return;\n for (let element: Element | null = target; element && element !== root; element = element.parentElement) {\n if (element.matches(widgetSelector)) return;\n }\n const available = tools();\n const current = target.closest<HTMLElement>(toolSelector);\n if (!current || current === root || current.closest('[role=\"toolbar\"]') !== root) return;\n const index = available.indexOf(current);\n\n const directionElement = root.closest<HTMLElement>('[dir]');\n const direction = getComputedStyle(root).direction || directionElement?.dir || 'ltr';\n const forward = direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight';\n const backward = direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n let candidates: HTMLElement[] = [];\n if (event.key === 'Home') candidates = available;\n else if (event.key === 'End') candidates = available.slice().reverse();\n else if (event.key === (orientation === 'vertical' ? 'ArrowDown' : forward)) candidates = index >= 0\n ? available.slice(index + 1)\n : available.filter(tool => !!(current.compareDocumentPosition(tool) & Node.DOCUMENT_POSITION_FOLLOWING));\n else if (event.key === (orientation === 'vertical' ? 'ArrowUp' : backward)) candidates = index >= 0\n ? available.slice(0, index).reverse()\n : available.slice().reverse().filter(tool => !!(current.compareDocumentPosition(tool) & Node.DOCUMENT_POSITION_PRECEDING));\n for (const candidate of candidates) {\n if (candidate === current) return;\n candidate.focus();\n if ((candidate.getRootNode() as Document | ShadowRoot).activeElement === candidate || candidate.matches(':focus')) {\n event.preventDefault();\n return;\n }\n }\n };\n\n return { rootRef, onKeyDown };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataPage.d.ts","sourceRoot":"","sources":["../../../DataPage/DataPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataPage.js","sources":["../../../DataPage/DataPage.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataPage.js","sources":["../../../DataPage/DataPage.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { type CSSProperties, type ReactNode, useMemo } from 'react';\nimport { Page } from '../Common/Page';\nimport React from 'react';\nimport { ActionMenubar, type ActionMenuItem } from '../Common/ActionMenubar';\nimport type { ButtonParts } from '../Common/Button';\nimport { type IObservableQueryFor, type IQueryFor, QueryFor } from '@cratis/arc/queries';\nimport { DataTableForObservableQuery } from '../DataTables/DataTableForObservableQuery';\nimport type { DataTableParts } from '../DataTables/DataTableCore';\nimport { DataTableForQuery } from '../DataTables/DataTableForQuery';\nimport type {\n TablePaginatorParts,\n TablePaginatorProps,\n} from '../DataTables/TablePaginator';\nimport type { DataTableFilterMeta } from '../DataTables/DataTableFilterMeta';\nimport type { DataTableSelectionChangeEvent } from '../DataTables/DataTableSelectionChangeEvent';\nimport { Allotment } from 'allotment';\nimport type { Constructor } from '@cratis/fundamentals';\nimport { DataPageLayout } from './DataPageLayout';\n\n// Allotment ships its layout as a stylesheet rather than inline styles, and a pane only becomes\n// the absolutely positioned, full-height box the split view assumes once that stylesheet is on\n// the page. It used to be pulled in here with a bare `import 'allotment/dist/style.css'`, but a\n// CSS import inside the JS graph is precisely what stops the published ESM from loading in Node\n// (Cratis/Components#118). The rules now ship inside this package's own `./styles` entry point,\n// which the build concatenates from every component stylesheet plus this third-party one — so a\n// consumer still gets a working split view, from the single stylesheet they already import.\n\n/**\n * Props for {@link MenuItem} — a single action in a {@link DataPage}'s\n * action bar.\n */\nexport interface MenuItemProps {\n /** Icon component rendered before the label (e.g. a react-icons icon). */\n icon?: React.ComponentType<{ className?: string }>;\n /** The visible label. */\n label?: string;\n /** Invoked when the item is activated. */\n command?: () => void;\n /** When true, the item is greyed out regardless of selection. */\n disabled?: boolean;\n /**\n * When true, the menu item is disabled while no row is selected in the\n * surrounding {@link DataPage}. Use it for context-sensitive actions like\n * \"Edit\" or \"Delete\" that require a selection.\n */\n disableOnUnselected?: boolean;\n}\n\n/**\n * Declarative menu item for use inside `<DataPage.MenuItems>`. Renders nothing\n * directly; the surrounding {@link MenuItems} component reads its props and\n * forwards them to the action menubar.\n */\nexport const MenuItem = (_props: MenuItemProps) => {\n return null;\n};\n\n/**\n * Props for {@link MenuItems}.\n */\nexport interface MenuItemsProps {\n /** One or more `<DataPage.MenuItem>` elements. */\n children: ReactNode;\n}\n\n/**\n * Props for {@link Columns}.\n */\nexport interface ColumnsProps {\n /** Cratis-owned `<Column>` markers describing each visible column. */\n children: ReactNode;\n}\n\n/**\n * The action bar is an intrinsically sized item in the page's layout column —\n * it takes the height its menubar needs and never gives any of it up, so the\n * table region below it is the only part that has to adapt to the space left.\n */\nconst actionsStyle: CSSProperties = { flexShrink: 0 };\n\n/**\n * The table region takes every pixel the action bar leaves and no more.\n * `minHeight: 0` is the load-bearing half: without it the region's automatic\n * minimum keeps it at content height, the column grows past the page, and the\n * table's paginator ends up below the clipped edge.\n */\nconst tableRegionStyle: CSSProperties = { flexGrow: 1, flexBasis: 0, minHeight: 0 };\n\n/**\n * The floor a `DataPage` falls back to when its ancestors give it no height at\n * all. A page that renders as an empty sliver is indistinguishable from a\n * broken one, so a contract-violating consumer gets a small but usable page\n * instead of nothing.\n */\nconst pageStyle: CSSProperties = { minHeight: '20rem' };\n\n/**\n * Renders an action menubar at the top of a {@link DataPage}, populated from\n * `<DataPage.MenuItem>` children. Each menu item's `disableOnUnselected` flag\n * is automatically honored against the current row selection.\n *\n * Use as `<DataPage.MenuItems>` inside a `<DataPage>`.\n */\nexport const MenuItems = ({ children }: MenuItemsProps) => {\n const context = useDataPageContext();\n const isDisabled =\n context.selectionMode === 'multiple'\n ? context.selectedItems.length === 0\n : !context.selectedItem;\n\n const items = useMemo(() => {\n const menuItems: ActionMenuItem[] = [];\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<MenuItemProps>(child) && child.type === MenuItem) {\n const Icon = child.props.icon;\n menuItems.push({\n label: child.props.label,\n command: child.props.command,\n icon: Icon ? <Icon className='cratis:mr-2' /> : undefined,\n disabled:\n (child.props.disabled ?? false) ||\n (isDisabled && (child.props.disableOnUnselected ?? false)),\n });\n }\n });\n\n return menuItems;\n }, [children, isDisabled]);\n\n return (\n <div\n className='cratis-data-page-actions cratis:px-4 cratis:py-2'\n style={actionsStyle}\n >\n <ActionMenubar\n aria-label={context.actionsAriaLabel ?? 'Actions'}\n model={items}\n className={context.menubarClassName}\n pt={context.menubarPt}\n ptOptions={context.menubarPtOptions}\n unstyled={context.menubarUnstyled}\n />\n </div>\n );\n};\n\n/**\n * Renders the data table at the body of a {@link DataPage}. Automatically\n * selects between {@link DataTableForQuery} (snapshot query) and\n * {@link DataTableForObservableQuery} (real-time observable) based on the\n * `query` type provided to the surrounding `<DataPage>`.\n *\n * Use as `<DataPage.Columns>` inside a `<DataPage>`, with Cratis-owned `<Column>`\n * children defining the table columns.\n */\nexport const Columns = ({ children }: ColumnsProps) => {\n const context = useDataPageContext();\n const isSnapshotQuery = context.query.prototype instanceof QueryFor;\n // SAFETY: The runtime prototype check above narrows a constructor shape that\n // TypeScript cannot discriminate after the generic DataPage context is erased.\n const snapshotQuery = context.query as Constructor<\n IQueryFor<object, object> | IQueryFor<object[], object>\n >;\n const observableQuery = context.query as Constructor<\n IObservableQueryFor<object, object> | IObservableQueryFor<object[], object>\n >;\n\n return (\n <div className='cratis-data-page-table' style={tableRegionStyle}>\n {isSnapshotQuery ? (\n <DataTableForQuery\n {...context}\n query={snapshotQuery}\n selection={context.selectedItem}\n onSelectionChange={context.onSelectionChanged}\n className={context.tableClassName}\n pt={context.tablePt}\n ptOptions={context.tablePtOptions}\n unstyled={context.tableUnstyled}\n >\n {children}\n </DataTableForQuery>\n ) : (\n <DataTableForObservableQuery\n {...context}\n query={observableQuery}\n selection={context.selectedItem}\n onSelectionChange={context.onSelectionChanged}\n className={context.tableClassName}\n pt={context.tablePt}\n ptOptions={context.tablePtOptions}\n unstyled={context.tableUnstyled}\n >\n {children}\n </DataTableForObservableQuery>\n )}\n </div>\n );\n};\n\n/**\n * Props passed to the optional details component rendered on the right pane\n * of a {@link DataPage} when a row is selected.\n *\n * @typeParam TDataType - The type of the selected item.\n */\nexport interface IDetailsComponentProps<TDataType> {\n /** The currently-selected row. */\n item: TDataType;\n\n /**\n * The caller's {@link DataPageProps.onRefresh} callback, forwarded unchanged\n * to the details component. Invoking it does not make DataPage refetch.\n */\n onRefresh?: () => void;\n}\n\ninterface IDataPageContext extends DataPageProps<\n IQueryFor<object, object> | IObservableQueryFor<object, object>,\n object,\n object\n> {\n selectedItem: object | null | undefined;\n onSelectionChanged: (event: DataTableSelectionChangeEvent<object>) => void;\n selectedItems: object[];\n onSelectedItemsChange: (items: object[]) => void;\n}\n\nconst DataPageContext = React.createContext<IDataPageContext | null>(null);\n\nfunction useDataPageContext(): IDataPageContext {\n const context = React.useContext(DataPageContext);\n if (!context) {\n throw new Error('useDataPageContext must be used within a DataPage component');\n }\n return context;\n}\n\n/**\n * Props for {@link DataPage}.\n *\n * @typeParam TQuery - The query class — either a snapshot `IQueryFor` or a real-time `IObservableQueryFor`.\n * @typeParam TDataType - The row type returned by the query.\n * @typeParam TArguments - The query's argument object type, or `object` if the query takes none.\n */\nexport interface DataPageProps<\n TQuery extends\n | IQueryFor<TDataType, TArguments>\n | IQueryFor<TDataType[], TArguments>\n | IObservableQueryFor<TDataType, TArguments>\n | IObservableQueryFor<TDataType[], TArguments>,\n TDataType extends object,\n TArguments extends object,\n> {\n /**\n * The title of the page\n */\n title: string;\n\n /**\n * Children to render, for this it means menu items and columns. Use <DataPage.MenuItems> and <DataPage.Columns> for this.\n */\n children: ReactNode;\n\n /**\n * Component to render when the selection changes\n */\n detailsComponent?: React.FC<IDetailsComponentProps<TDataType>>;\n\n /**\n * The type of query to use\n */\n query: Constructor<TQuery>;\n\n /**\n * Optional arguments to pass to the query\n */\n queryArguments?: TArguments;\n\n /**\n * The message to show when there is no data\n */\n emptyMessage: string;\n\n /** Message shown while loading without rows. */\n loadingMessage?: ReactNode;\n /** Message shown when the query fails. */\n failureMessage?: ReactNode;\n /** Message shown when access is denied. */\n unauthorizedMessage?: ReactNode;\n\n /**\n * The key to use for the data\n */\n dataKey?: string | undefined;\n\n /**\n * The current selection.\n */\n selection?: TDataType | undefined | null;\n\n /**\n * Callback for when the selection changes\n */\n onSelectionChange?(event: DataTableSelectionChangeEvent<TDataType>): void;\n\n /**\n * The row selection mode. Defaults to `'single'`. Use `'multiple'` for a page whose actions\n * operate on a set of rows - it adds per-row checkboxes and a select-all header checkbox, and\n * reports through {@link onSelectedItemsChange}.\n */\n selectionMode?: 'single' | 'multiple';\n\n /**\n * The currently selected rows, for `selectionMode='multiple'`. Leave undefined to let the page\n * own the selection.\n */\n selectedItems?: TDataType[];\n\n /**\n * Callback for when a multiple selection changes, with the full selected set.\n */\n onSelectedItemsChange?(items: TDataType[]): void;\n\n /**\n * Fields to use for global filtering\n */\n globalFilterFields?: string[] | undefined;\n\n /** Placeholder for the loaded-page search input. */\n globalSearchPlaceholder?: string;\n\n /** Accessible name for the loaded-page search input. */\n globalSearchAriaLabel?: string;\n\n /**\n * Default filters to use\n */\n defaultFilters?: DataTableFilterMeta;\n\n /**\n * @deprecated Filtering is always applied to the currently loaded page.\n * This compatibility prop no longer toggles behavior and does not change\n * server-reported pagination totals. Retained for source compatibility only.\n */\n clientFiltering?: boolean;\n\n /** Optional callback forwarded to the details component as `onRefresh`; DataPage does not invoke it or refetch when it is called. */\n onRefresh?(): void;\n\n /**\n * Extra CSS class name forwarded to the inner DataTable root.\n */\n tableClassName?: string;\n\n /** Cratis-owned per-part attributes applied to the inner table. */\n tablePt?: DataTableParts;\n\n /**\n * @deprecated Cratis table parts always merge. Remove this renderer-era option.\n */\n tablePtOptions?: object;\n\n /**\n * @deprecated Components always uses consumer-owned CSS. Customize through `tablePt` and CSS instead.\n */\n tableUnstyled?: boolean;\n\n /** Extra CSS class name forwarded to the query table paginator. */\n paginatorClassName?: string;\n\n /** Cratis-owned attributes applied to the query table paginator. */\n paginatorPt?: TablePaginatorParts;\n\n /**\n * @deprecated Cratis paginator parts always merge. Remove this renderer-era option.\n */\n paginatorPtOptions?: object;\n\n /** Accessible paginator labels. Override any value to localize it. */\n paginatorAriaLabels?: TablePaginatorProps['ariaLabels'];\n\n /**\n * Extra CSS class name forwarded to the action menubar root.\n */\n menubarClassName?: string;\n\n /** Cratis-owned part attributes applied to the action menubar's buttons. */\n menubarPt?: ButtonParts;\n\n /**\n * @deprecated Cratis menubar parts always merge. Remove this renderer-era option.\n */\n menubarPtOptions?: object;\n\n /**\n * @deprecated Components always uses consumer-owned CSS. Customize through `menubarPt` and CSS instead.\n */\n menubarUnstyled?: boolean;\n\n /**\n * Accessible name for the action menubar (toolbar). Override to localize.\n * Defaults to `'Actions'`.\n */\n actionsAriaLabel?: string;\n}\n\n/**\n * A page primitive that combines an action menubar, a query-backed data\n * table, and an optional details pane into one layout. Designed as the\n * default rendering for \"list view\" pages in an Arc app.\n *\n * ## What `TQuery` is\n *\n * `TQuery` is the auto-generated TypeScript class produced by the Arc proxy\n * generator from a C# read model query. Two flavors are accepted and\n * **selected automatically at runtime** based on the class hierarchy:\n *\n * - **`IQueryFor<TDataType, TArguments>`** — a snapshot query. Re-fetched\n * when `queryArguments` change or when the page is mounted. Rendered\n * through {@link DataTableForQuery} internally.\n * - **`IObservableQueryFor<TDataType, TArguments>`** — a real-time\n * subscription. Connects to the backend over WebSocket and re-renders\n * automatically whenever the underlying read model changes server-side.\n * Rendered through {@link DataTableForObservableQuery} internally.\n *\n * You don't pick which inner table to use — `DataPage` inspects the\n * prototype chain (`context.query.prototype instanceof QueryFor`) and\n * mounts the correct one.\n *\n * ## Declarative composition\n *\n * Three children build up the page:\n *\n * - **`<DataPage.MenuItems>`** wraps `<DataPage.MenuItem>` elements that\n * become the action `Menubar` at the top. Each item declares its `icon`,\n * `label`, and `command` (an `onClick` handler). Items can be marked\n * `disableOnUnselected` so they automatically grey out until the user\n * picks a row — useful for Edit / Delete actions that need a target.\n *\n * - **`<DataPage.Columns>`** wraps Cratis-owned `<Column>` markers that\n * describe the visible columns. The columns themselves are\n * Cratis-owned — the documented `ColumnProps` surface is\n * supported here (sorting, filtering, custom body templates, …).\n *\n * - **`detailsComponent`** (optional) is a React component rendered in a\n * right-hand pane via Allotment when a row is selected. It receives the\n * selected item as `item` and the caller's `onRefresh` callback, if\n * supplied. DataPage does not refetch when the details component invokes it.\n *\n * ## Selection lifecycle\n *\n * `DataPage` keeps the current selection in local state and threads it to\n * the inner table, the menubar (`disableOnUnselected` items follow it),\n * and the optional details pane. The `onSelectionChange` prop is invoked\n * after every change if the consumer also needs to react to it.\n *\n * ```tsx\n * <DataPage<AllAuthors, Author, never>\n * title=\"Authors\"\n * query={AllAuthors} // proxy from C#\n * detailsComponent={AuthorDetails}>\n * <DataPage.MenuItems>\n * <DataPage.MenuItem icon={FaPlus} label=\"Add\" command={onAdd} />\n * <DataPage.MenuItem icon={FaPencil} label=\"Edit\" command={onEdit}\n * disableOnUnselected />\n * <DataPage.MenuItem icon={FaTrash} label=\"Delete\" command={onDelete}\n * disableOnUnselected />\n * </DataPage.MenuItems>\n * <DataPage.Columns>\n * <Column field=\"name\" header=\"Name\" sortable />\n * <Column field=\"email\" header=\"Email\" />\n * </DataPage.Columns>\n * </DataPage>\n * ```\n *\n * ## Height — `DataPage` needs a bounded ancestor\n *\n * `DataPage` fills the height it is given and divides it between the action\n * bar and the table region, so the table's paginator always sits at the\n * bottom of the page rather than below its edge. It cannot invent that height:\n * every element from the page root down sizes as a percentage of its parent,\n * so **some ancestor has to have a definite height**.\n *\n * ```tsx\n * // ✅ the router outlet, a sized container, or a flex child with min-height\n * <div style={{ height: '100vh' }}>\n * <DataPage … />\n * </div>\n *\n * // ❌ nothing above resolves to a height — the table grows to its content\n * <div>\n * <DataPage … />\n * </div>\n * ```\n *\n * Without one, the page falls back to a small fixed height so it stays\n * usable instead of collapsing to nothing.\n *\n * ## Styling\n *\n * The inner DataTable and action toolbar each have their own per-slot props:\n * `tablePt` / `tableUnstyled` / `tableClassName` for the table;\n * `paginatorPt` / `paginatorClassName` / `paginatorAriaLabels` for paging;\n * `menubarPt` / `menubarPtOptions` / `menubarUnstyled` / `menubarClassName` for\n * the action toolbar's stable button parts (the action bar is implemented as\n * a button toolbar, so `menubarPt` targets the stable Cratis button parts). See the\n * [pass-through cheat sheet](../../Documentation/Styling/pass-through.md) for\n * the full slot reference.\n *\n * @typeParam TQuery - The query class (proxy generated from a C# read model query).\n * @typeParam TDataType - The row type returned by the query.\n * @typeParam TArguments - The query's argument object type.\n * @param props - {@link DataPageProps}.\n */\nconst DataPage = <\n TQuery extends\n | IQueryFor<TDataType, TArguments>\n | IQueryFor<TDataType[], TArguments>\n | IObservableQueryFor<TDataType, TArguments>\n | IObservableQueryFor<TDataType[], TArguments>,\n TDataType extends object,\n TArguments extends object,\n>(\n props: DataPageProps<TQuery, TDataType, TArguments>,\n) => {\n const [internalSelection, setInternalSelection] = React.useState<\n TDataType | null | undefined\n >(props.selection);\n const selectedItem =\n props.selection === undefined ? internalSelection : props.selection;\n\n const selectionChanged = (event: DataTableSelectionChangeEvent<TDataType>) => {\n if (props.selection === undefined) setInternalSelection(event.value);\n props.onSelectionChange?.(event);\n };\n\n const [internalSelectedItems, setInternalSelectedItems] = React.useState<TDataType[]>(\n props.selectedItems ?? [],\n );\n const selectedItems = props.selectedItems ?? internalSelectedItems;\n\n const selectedItemsChanged = (items: TDataType[]) => {\n if (props.selectedItems === undefined) setInternalSelectedItems(items);\n props.onSelectedItemsChange?.(items);\n };\n\n // SAFETY: React context cannot retain this component's generic parameters. The\n // provider and every consumer are nested in the same DataPage invocation, so the\n // erased object-level context never crosses between differently typed pages.\n const context = {\n ...props,\n selectedItem,\n onSelectionChanged: selectionChanged,\n selectedItems,\n onSelectedItemsChange: selectedItemsChanged,\n } as unknown as IDataPageContext;\n\n return (\n <DataPageContext.Provider value={context}>\n <Page title={props.title} panel={true} style={pageStyle}>\n {props.detailsComponent ? (\n <Allotment className='cratis:h-full' proportionalLayout={false}>\n <Allotment.Pane>\n <DataPageLayout>{props.children}</DataPageLayout>\n </Allotment.Pane>\n {selectedItem && (\n <Allotment.Pane preferredSize='450px'>\n <props.detailsComponent\n item={selectedItem}\n onRefresh={props.onRefresh}\n />\n </Allotment.Pane>\n )}\n </Allotment>\n ) : (\n <DataPageLayout>{props.children}</DataPageLayout>\n )}\n </Page>\n </DataPageContext.Provider>\n );\n};\n\nDataPage.MenuItem = MenuItem;\nDataPage.MenuItems = MenuItems;\nDataPage.Columns = Columns;\n\nexport { DataPage };\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataPageLayout.js","sources":["../../../DataPage/DataPageLayout.tsx"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"DataPageLayout.js","sources":["../../../DataPage/DataPageLayout.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 { CSSProperties, ReactNode } from 'react';\n\n/**\n * Props for {@link DataPageLayout}.\n */\nexport interface DataPageLayoutProps {\n /** The `<DataPage.MenuItems>` and `<DataPage.Columns>` content to lay out. */\n children: ReactNode;\n}\n\n/**\n * The layout root's own style. Declared inline rather than in a stylesheet on\n * purpose: a consumer that never imports a stylesheet from this package still\n * has to get a working page out of `DataPage`, and the height allocation is\n * what the whole component depends on.\n *\n * `minHeight: 0` is what lets the column shrink inside the flex parent that\n * `Page` renders — without it the default `min-height: auto` keeps the column\n * at content height and everything below the available space is clipped.\n */\nconst layoutStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n minHeight: 0\n};\n\n/**\n * The vertical layout inside a `DataPage`'s primary pane.\n *\n * It is a definite-height flex column, so the action bar can be an intrinsic\n * item while the table region absorbs whatever height is left. That is what\n * keeps the table's own paginator inside the page instead of pushing it past\n * the bottom edge, where the surrounding `overflow: hidden` clips it away.\n *\n * @param props - {@link DataPageLayoutProps}.\n */\nexport const DataPageLayout = ({ children }: DataPageLayoutProps) => (\n <div className='cratis-data-page-layout' style={layoutStyle}>\n {children}\n </div>\n);\n"],"names":["_jsx"],"mappings":";;AAuBA,MAAM,WAAW,GAAkB;AAC/B,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,SAAS,EAAE;CACd;AAYM,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAuB,MAC5DA,aAAK,SAAS,EAAC,yBAAyB,EAAC,KAAK,EAAE,WAAW,EAAA,QAAA,EACtD,QAAQ,EAAA,CACP;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../DataPage/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAY,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../DataTables/Column.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EACrB,MAAM,uBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,GAAG,OAAO;IACxC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,sDAAsD;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;+BAkBsB,KAAK,GAAG,OAAO,EAClC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,GAC3B,KAAK,CAAC,YAAY,GAAG,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","sources":["../../../DataTables/Column.tsx"],"sourcesContent":[null],"names":[],"mappings":"AAoFO,MAAM,MAAM,GAAG,CAClB,MAA0B,KACE;AAChC,MAAM,CAAC,WAAW,GAAG,QAAQ;;"}
|
|
1
|
+
{"version":3,"file":"Column.js","sources":["../../../DataTables/Column.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport type {\n ColumnFilterDataType,\n ColumnFilterElement,\n ColumnFilterMenuLabels,\n ColumnFilterMenuParts,\n ColumnFilterOption,\n} from './ColumnFilterMenu';\n\n/**\n * Props for {@link Column}.\n *\n * @typeParam TData - The row type the column's `body` template receives.\n */\nexport interface ColumnProps<TData = unknown> {\n /** The row property this column reads by default (when no `body` is given). */\n field?: string;\n /** The header content shown at the top of the column. */\n header?: React.ReactNode;\n /** A custom cell renderer; receives the row for this cell. */\n body?: (rowData: TData) => React.ReactNode;\n /** When true, the column header becomes a sort control. */\n sortable?: boolean;\n /** When true, the column header gains a filter-menu affordance. */\n filter?: boolean;\n /** The field the filter applies to, when it differs from {@link field}. */\n filterField?: string;\n /** Placeholder for the filter value input. */\n filterPlaceholder?: string;\n /** The value kind the filter edits (drives match modes + input). Defaults to `'text'`. */\n dataType?: ColumnFilterDataType;\n /** Whether the filter menu shows the match-mode selector. Defaults to `true`. */\n showFilterMatchModes?: boolean;\n /** Custom value editor rendered instead of the built-in column filter editor. */\n filterElement?: ColumnFilterElement;\n /**\n * The values this column can be filtered by. Supply this for a column whose values come from a\n * known set - a status, a kind, an enum rendered as text - so the filter offers those values\n * instead of asking the user to type one. Takes precedence over {@link filterElement}, and\n * narrows the match modes to equals/not equals.\n */\n filterOptions?: ColumnFilterOption[];\n /** Overrides the column filter menu's default English labels. */\n filterLabels?: Partial<ColumnFilterMenuLabels>;\n /** Stable part attributes for this column's filter popup. */\n filterPt?: ColumnFilterMenuParts;\n /**\n * Renders a selection control instead of a data column - a radio for `'single'`, or a checkbox\n * plus a select-all checkbox in the header for `'multiple'`.\n */\n selectionMode?: 'single' | 'multiple';\n /** Inline style for every body cell in the column. */\n style?: React.CSSProperties;\n /** Class name for every body cell in the column. */\n className?: string;\n /** Inline style for the column's header cell. */\n headerStyle?: React.CSSProperties;\n /** Class name for the column's header cell. */\n headerClassName?: string;\n /** Inline style applied on top of {@link style} for body cells. */\n bodyStyle?: React.CSSProperties;\n /** Class name applied on top of {@link className} for body cells. */\n bodyClassName?: string;\n}\n\n/**\n * Declares one column of a Cratis data table (`DataTableForQuery`,\n * `DataTableForObservableQuery`, `DataPage.Columns`). This is the Cratis-owned\n * renderer-independent `<Column field header body sortable />` authoring model,\n * mapped internally onto semantic table header/body cells.\n *\n * It is a pure marker: the surrounding table reads its props to build the\n * header and per-row cells, so it renders nothing when mounted on its own.\n *\n * ```tsx\n * <DataTableForQuery query={AllAuthors} emptyMessage=\"No authors\">\n * <Column field=\"name\" header=\"Name\" sortable />\n * <Column field=\"email\" header=\"Email\" />\n * </DataTableForQuery>\n * ```\n */\nexport const Column = <TData = unknown,>(\n _props: ColumnProps<TData>,\n): React.ReactElement | null => null;\nColumn.displayName = 'Column';\n"],"names":[],"mappings":"AAoFO,MAAM,MAAM,GAAG,CAClB,MAA0B,KACE;AAChC,MAAM,CAAC,WAAW,GAAG,QAAQ;;"}
|
|
@@ -108,3 +108,4 @@ export interface ColumnFilterMenuProps {
|
|
|
108
108
|
/** Cratis-owned column filter popup with draft/apply behavior. */
|
|
109
109
|
export declare const ColumnFilterMenu: ({ field, dataType, placeholder, showMatchModes, filterElement, filterOptions, labels, pt, constraint, onApply, onClear, }: ColumnFilterMenuProps) => import("react").JSX.Element;
|
|
110
110
|
export {};
|
|
111
|
+
//# sourceMappingURL=ColumnFilterMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnFilterMenu.d.ts","sourceRoot":"","sources":["../../../DataTables/ColumnFilterMenu.tsx"],"names":[],"mappings":"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"}
|