@cratis/components 3.4.0 → 3.5.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 +148 -98
- package/dist/esm/Canvas/Canvas.d.ts +64 -0
- package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
- package/dist/esm/Canvas/Canvas.js +767 -0
- package/dist/esm/Canvas/Canvas.js.map +1 -0
- package/dist/esm/Canvas/CanvasControls.d.ts +32 -0
- package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasControls.js +34 -0
- package/dist/esm/Canvas/CanvasControls.js.map +1 -0
- package/dist/esm/Canvas/CanvasItem.d.ts +10 -0
- package/dist/esm/Canvas/CanvasItem.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasItem.js +51 -0
- package/dist/esm/Canvas/CanvasItem.js.map +1 -0
- package/dist/esm/Canvas/CanvasMinimap.d.ts +25 -0
- package/dist/esm/Canvas/CanvasMinimap.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasMinimap.js +102 -0
- package/dist/esm/Canvas/CanvasMinimap.js.map +1 -0
- package/dist/esm/Canvas/CanvasOverlay.d.ts +6 -0
- package/dist/esm/Canvas/CanvasOverlay.d.ts.map +1 -0
- package/dist/esm/Canvas/CanvasOverlay.js +8 -0
- package/dist/esm/Canvas/CanvasOverlay.js.map +1 -0
- package/dist/esm/Canvas/canvasGesture.d.ts +8 -0
- package/dist/esm/Canvas/canvasGesture.d.ts.map +1 -0
- package/dist/esm/Canvas/canvasGesture.js +32 -0
- package/dist/esm/Canvas/canvasGesture.js.map +1 -0
- package/dist/esm/Canvas/canvasTransformActivity.d.ts +7 -0
- package/dist/esm/Canvas/canvasTransformActivity.d.ts.map +1 -0
- package/dist/esm/Canvas/canvasTransformActivity.js +22 -0
- package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -0
- package/dist/esm/Canvas/glassAttributes.d.ts +4 -0
- package/dist/esm/Canvas/glassAttributes.d.ts.map +1 -0
- package/dist/esm/Canvas/glassAttributes.js +25 -0
- package/dist/esm/Canvas/glassAttributes.js.map +1 -0
- package/dist/esm/Canvas/index.d.ts +18 -0
- package/dist/esm/Canvas/index.d.ts.map +1 -0
- package/dist/esm/Canvas/index.js +38 -0
- package/dist/esm/Canvas/index.js.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts +2 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts.map +1 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js +17 -0
- package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -0
- package/dist/esm/Canvas/isWithinScrollableContent.d.ts +11 -0
- package/dist/esm/Canvas/isWithinScrollableContent.d.ts.map +1 -0
- package/dist/esm/Canvas/isWithinScrollableContent.js +38 -0
- package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -0
- package/dist/esm/Canvas/panMomentum.d.ts +13 -0
- package/dist/esm/Canvas/panMomentum.d.ts.map +1 -0
- package/dist/esm/Canvas/panMomentum.js +41 -0
- package/dist/esm/Canvas/panMomentum.js.map +1 -0
- package/dist/esm/Canvas/pinchGesture.d.ts +16 -0
- package/dist/esm/Canvas/pinchGesture.d.ts.map +1 -0
- package/dist/esm/Canvas/pinchGesture.js +30 -0
- package/dist/esm/Canvas/pinchGesture.js.map +1 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts +10 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts.map +1 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js +33 -0
- package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts +13 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js +61 -0
- package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js +27 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js +11 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js +4 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts +41 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.js +76 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Chat.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js +89 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js +107 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts +17 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts +25 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js +31 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts +8 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js +15 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts +12 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js +51 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js +155 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js +59 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js +28 -0
- package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts +9 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js +2 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts +11 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js +14 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js +34 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js +23 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js +7 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts +3 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js +24 -0
- package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts +6 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js +28 -0
- package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts +20 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js +50 -0
- package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts +9 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js +18 -0
- package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts +5 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js +19 -0
- package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +31 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js +17 -0
- package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts +4 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js +16 -0
- package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.d.ts +22 -0
- package/dist/esm/Canvas/shapes/Note/Note.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/Note.js +237 -0
- package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts +3 -0
- package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/index.js +2 -0
- package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.d.ts +2 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js +26 -0
- package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/Region.d.ts +22 -0
- package/dist/esm/Canvas/shapes/Region/Region.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/Region.js +150 -0
- package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts +3 -0
- package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
- package/dist/esm/Canvas/shapes/Region/index.js +2 -0
- package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
- package/dist/esm/Canvas/useDragSelectionGuard.d.ts +2 -0
- package/dist/esm/Canvas/useDragSelectionGuard.d.ts.map +1 -0
- package/dist/esm/Canvas/useDragSelectionGuard.js +59 -0
- package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -0
- package/dist/esm/Canvas/zoomMechanism.d.ts +4 -0
- package/dist/esm/Canvas/zoomMechanism.d.ts.map +1 -0
- package/dist/esm/Canvas/zoomMechanism.js +58 -0
- package/dist/esm/Canvas/zoomMechanism.js.map +1 -0
- package/dist/esm/CommandDialog/CommandDialog.d.ts +3 -6
- package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.js +3 -2
- package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandStepper.js +3 -2
- package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
- package/dist/esm/CommandForm/commandFormMarkers.d.ts +12 -0
- package/dist/esm/CommandForm/commandFormMarkers.d.ts.map +1 -0
- package/dist/esm/CommandForm/commandFormMarkers.js +69 -0
- package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -1
- package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -1
- package/dist/esm/CommandForm/index.d.ts +1 -0
- package/dist/esm/CommandForm/index.d.ts.map +1 -1
- package/dist/esm/CommandForm/index.js +1 -0
- package/dist/esm/CommandForm/index.js.map +1 -1
- package/dist/esm/Common/CratisComponentsProvider.js +1 -1
- package/dist/esm/Common/DatePickerInput.d.ts +11 -4
- package/dist/esm/Common/DatePickerInput.d.ts.map +1 -1
- package/dist/esm/Common/DatePickerInput.js +18 -2
- package/dist/esm/Common/DatePickerInput.js.map +1 -1
- package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts +3 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts.map +1 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js +2 -0
- package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js.map +1 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts +3 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts.map +1 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js +49 -0
- package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js.map +1 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts +369 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts.map +1 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js +271 -0
- package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js.map +1 -0
- package/dist/esm/Compatibility/index.d.ts +5 -0
- package/dist/esm/Compatibility/index.d.ts.map +1 -0
- package/dist/esm/Compatibility/index.js +7 -0
- package/dist/esm/Compatibility/index.js.map +1 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts +8 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts.map +1 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js +48 -0
- package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js.map +1 -0
- package/dist/esm/DataPage/DataPage.d.ts +4 -4
- package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
- package/dist/esm/DataPage/DataPage.js +6 -10
- package/dist/esm/DataPage/DataPage.js.map +1 -1
- package/dist/esm/DataTables/Column.d.ts +3 -1
- package/dist/esm/DataTables/Column.d.ts.map +1 -1
- package/dist/esm/DataTables/Column.js.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts +22 -2
- package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -1
- package/dist/esm/DataTables/ColumnFilterMenu.js +50 -13
- package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
- package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableCore.js +22 -3
- package/dist/esm/DataTables/DataTableCore.js.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +14 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js +67 -0
- package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -0
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts +26 -1
- package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableFilterMeta.js +24 -2
- package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +3 -3
- package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForObservableQuery.js +9 -3
- package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.d.ts +3 -3
- package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
- package/dist/esm/DataTables/DataTableForQuery.js +8 -2
- package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts +1 -1
- package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -1
- package/dist/esm/DataTables/TablePaginator.js +13 -4
- package/dist/esm/DataTables/TablePaginator.js.map +1 -1
- package/dist/esm/DataTables/index.d.ts +1 -0
- package/dist/esm/DataTables/index.d.ts.map +1 -1
- package/dist/esm/DataTables/index.js +3 -1
- package/dist/esm/DataTables/index.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.d.ts +2 -2
- package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.js +16 -18
- package/dist/esm/Dialogs/Dialog.js.map +1 -1
- package/dist/esm/Dropdown/Dropdown.d.ts +4 -2
- package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/Dropdown/Dropdown.js +8 -3
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
- package/dist/esm/Filter/FilterPanel.js +1 -1
- package/dist/esm/Filter/FilterPanel.js.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.d.ts +4 -3
- package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -1
- package/dist/esm/Filter/RangeHistogramFilter.js +4 -23
- package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
- package/dist/esm/Filter/index.d.ts +3 -2
- package/dist/esm/Filter/index.d.ts.map +1 -1
- package/dist/esm/Filter/index.js +1 -1
- package/dist/esm/Filter/types.d.ts +7 -1
- package/dist/esm/Filter/types.d.ts.map +1 -1
- package/dist/esm/Filter/utils.d.ts +5 -1
- package/dist/esm/Filter/utils.d.ts.map +1 -1
- package/dist/esm/Filter/utils.js +33 -1
- package/dist/esm/Filter/utils.js.map +1 -1
- package/dist/esm/Notifications/Toaster.d.ts +8 -1
- package/dist/esm/Notifications/Toaster.d.ts.map +1 -1
- package/dist/esm/Notifications/Toaster.js +16 -10
- package/dist/esm/Notifications/Toaster.js.map +1 -1
- package/dist/esm/Notifications/index.js +1 -1
- package/dist/esm/Notifications/toast.d.ts +52 -2
- package/dist/esm/Notifications/toast.d.ts.map +1 -1
- package/dist/esm/Notifications/toast.js +100 -2
- package/dist/esm/Notifications/toast.js.map +1 -1
- package/dist/esm/Notifications/toastCommandResult.js +2 -2
- package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
- package/dist/esm/PatrickHand-latin-ext.woff2 +0 -0
- package/dist/esm/PatrickHand-latin.woff2 +0 -0
- package/dist/esm/PatrickHand-vietnamese.woff2 +0 -0
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +42 -35
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles.css +1285 -3
- package/package.json +16 -6
|
@@ -7,10 +7,14 @@ import { Button } from 'primereact/button';
|
|
|
7
7
|
import { Dropdown } from '../Dropdown/Dropdown.js';
|
|
8
8
|
import { DatePickerInput } from '../Common/DatePickerInput.js';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
/** Default English labels for {@link ColumnFilterMenu}. */
|
|
11
|
+
const defaultColumnFilterMenuLabels = {
|
|
12
|
+
filterTriggerAriaLabel: (field) => `Filter by ${field}`,
|
|
13
|
+
clear: 'Clear',
|
|
14
|
+
apply: 'Apply',
|
|
15
|
+
true: 'True',
|
|
16
|
+
false: 'False',
|
|
17
|
+
};
|
|
14
18
|
/**
|
|
15
19
|
* The filter affordance for a single data-table column: a filter icon in the
|
|
16
20
|
* header that opens a popover menu with a match-mode selector, a value input
|
|
@@ -23,22 +27,55 @@ const BOOLEAN_OPTIONS = [
|
|
|
23
27
|
* Rendered by {@link DataTableCore} inside a `THeadCell` for any `<Column>`
|
|
24
28
|
* with `filter` set. Must live inside a `DataTable.Root` subtree.
|
|
25
29
|
*/
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
const eventForFilter = (event) => {
|
|
31
|
+
if (event)
|
|
32
|
+
return event;
|
|
33
|
+
// SAFETY: PrimeReact's draft change handler does not inspect the event for programmatic editors.
|
|
34
|
+
return {};
|
|
35
|
+
};
|
|
36
|
+
const ColumnFilterMenu = ({ field, dataType = 'text', placeholder, showMatchModes = true, filterElement, labels, }) => (jsx(DataTable.Filter, { field: field, display: 'menu', dataType: dataType, showOperator: false, showAddButton: false, children: (filter) => {
|
|
37
|
+
const resolvedLabels = {
|
|
38
|
+
filterTriggerAriaLabel: labels?.filterTriggerAriaLabel ??
|
|
39
|
+
defaultColumnFilterMenuLabels.filterTriggerAriaLabel,
|
|
40
|
+
clear: labels?.clear ?? defaultColumnFilterMenuLabels.clear,
|
|
41
|
+
apply: labels?.apply ?? defaultColumnFilterMenuLabels.apply,
|
|
42
|
+
true: labels?.true ?? defaultColumnFilterMenuLabels.true,
|
|
43
|
+
false: labels?.false ?? defaultColumnFilterMenuLabels.false,
|
|
44
|
+
};
|
|
45
|
+
const booleanOptions = [
|
|
46
|
+
{ label: resolvedLabels.true, value: true },
|
|
47
|
+
{ label: resolvedLabels.false, value: false },
|
|
48
|
+
];
|
|
49
|
+
const commit = (value, event, matchMode = filter.matchMode) => filter.onChange(eventForFilter(event), value, matchMode);
|
|
50
|
+
const builtInValueInput = (() => {
|
|
29
51
|
switch (dataType) {
|
|
30
52
|
case 'numeric':
|
|
31
|
-
return (jsx(InputNumber.Root, { value: filter.value ?? null, onValueChange: (e) => commit(e.value), children: jsx(InputNumber.Input, { placeholder: placeholder, className:
|
|
53
|
+
return (jsx(InputNumber.Root, { value: filter.value ?? null, onValueChange: (e) => commit(e.value), children: jsx(InputNumber.Input, { placeholder: placeholder, className: 'w-full' }) }));
|
|
32
54
|
case 'date':
|
|
33
|
-
return (jsx(DatePickerInput, { value: filter.value
|
|
55
|
+
return (jsx(DatePickerInput, { value: filter.value
|
|
56
|
+
? new Date(filter.value)
|
|
57
|
+
: null, onChange: (date) => commit(date), showIcon: true }));
|
|
34
58
|
case 'boolean':
|
|
35
|
-
return (jsx(Dropdown, { value: filter.value, options:
|
|
59
|
+
return (jsx(Dropdown, { value: filter.value, options: booleanOptions, optionLabel: 'label', optionValue: 'value', placeholder: placeholder, showClear: true, onChange: (e) => commit(e.value) }));
|
|
36
60
|
default:
|
|
37
|
-
return (jsx(InputText, { value: filter.value ?? '', placeholder: placeholder, className:
|
|
61
|
+
return (jsx(InputText, { value: filter.value ?? '', placeholder: placeholder, className: 'w-full', onChange: (e) => commit(e.target.value, e) }));
|
|
38
62
|
}
|
|
39
63
|
})();
|
|
40
|
-
|
|
64
|
+
const valueInput = filterElement
|
|
65
|
+
? filterElement({
|
|
66
|
+
field,
|
|
67
|
+
value: filter.value,
|
|
68
|
+
// SAFETY: PrimeReact stores the Cratis vocabulary's runtime string values unchanged.
|
|
69
|
+
matchMode: filter.matchMode,
|
|
70
|
+
onChange: (value, matchMode) => commit(value, undefined, matchMode),
|
|
71
|
+
onApply: filter.onApply,
|
|
72
|
+
onClear: filter.onClear,
|
|
73
|
+
})
|
|
74
|
+
: builtInValueInput;
|
|
75
|
+
return (jsxs(Popover.Root, { open: filter.overlayVisible, onOpenChange: (event) => event.value ? filter.onShowOverlay() : filter.onHideOverlay(), children: [jsx(Popover.Trigger, { "aria-label": resolvedLabels.filterTriggerAriaLabel(field), className: filter.isActive
|
|
76
|
+
? 'cratis-filter-trigger cratis-filter-trigger--active'
|
|
77
|
+
: 'cratis-filter-trigger', children: jsx("i", { className: 'pi pi-filter' }) }), jsx(Popover.Portal, { children: jsx(Popover.Positioner, { children: jsx(Popover.Popup, { children: jsx(Popover.Content, { children: jsxs("div", { className: 'cratis-filter-menu', children: [showMatchModes && (jsx(Dropdown, { value: filter.matchMode, options: filter.matchModeOptions, optionLabel: 'label', optionValue: 'value', onChange: (e) => filter.onChange(eventForFilter(e.originalEvent), filter.value, e.value) })), valueInput, jsxs("div", { className: 'cratis-filter-menu-actions', children: [jsx(Button, { variant: 'outlined', onClick: (e) => filter.onClear(e), children: jsx("span", { children: resolvedLabels.clear }) }), jsx(Button, { onClick: (e) => filter.onApply(e), children: jsx("span", { children: resolvedLabels.apply }) })] })] }) }) }) }) })] }));
|
|
41
78
|
} }));
|
|
42
79
|
|
|
43
|
-
export { ColumnFilterMenu };
|
|
80
|
+
export { ColumnFilterMenu, defaultColumnFilterMenuLabels };
|
|
44
81
|
//# sourceMappingURL=ColumnFilterMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnFilterMenu.js","sources":["../../../DataTables/ColumnFilterMenu.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ColumnFilterMenu.js","sources":["../../../DataTables/ColumnFilterMenu.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableCore.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableCore.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableCore.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableCore.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAShF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAejE,MAAM,WAAW,sBAAsB,CAAC,KAAK;IAEzC,IAAI,EAAE,KAAK,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAOD,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,MAAM;IAEpD,IAAI,EAAE,KAAK,EAAE,CAAC;IAEd,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,SAAS,CAAC;IAExB,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAEzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE5D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC;IAE1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAErC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAsCD,eAAO,MAAM,aAAa,GAAI,KAAK,SAAS,MAAM,EAAE,mRAsBjD,kBAAkB,CAAC,KAAK,CAAC,sBAoL3B,CAAC"}
|
|
@@ -2,10 +2,16 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import React, { useState, useMemo } from 'react';
|
|
3
3
|
import { DataTable } from 'primereact/datatable';
|
|
4
4
|
import { InputText } from 'primereact/inputtext';
|
|
5
|
+
import { unregisterMatcher, registerMatcher } from '@primereact/hooks/use-filter';
|
|
5
6
|
import { ColumnFilterMenu } from './ColumnFilterMenu.js';
|
|
6
7
|
import { selectionKeysForRow, rowFromSelectionKeys } from './selectionKeys.js';
|
|
8
|
+
import { attachDataTableFilterMatcherAdapter } from './DataTableFilterMatcherRegistry.js';
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
attachDataTableFilterMatcherAdapter({
|
|
11
|
+
register: registerMatcher,
|
|
12
|
+
unregister: unregisterMatcher,
|
|
13
|
+
});
|
|
14
|
+
/** Parses column definitions from `<Column>` children. */
|
|
9
15
|
const useColumns = (children) => useMemo(() => React.Children.toArray(children).filter(React.isValidElement), [children]);
|
|
10
16
|
const renderCellContent = (column, row) => {
|
|
11
17
|
if (column.body)
|
|
@@ -38,6 +44,7 @@ const DataTableCore = ({ data, children, dataKey, emptyMessage, selectionMode, s
|
|
|
38
44
|
const handleFilter = (event) => {
|
|
39
45
|
// PrimeReact's headless filter meta is looser than the typed Cratis
|
|
40
46
|
// constraint the public API exposes; narrow at this one boundary.
|
|
47
|
+
// SAFETY: DataTableCore only configures one value/match-mode constraint per field.
|
|
41
48
|
const next = event.filters;
|
|
42
49
|
setFilters(next);
|
|
43
50
|
onFilter?.(next);
|
|
@@ -47,12 +54,24 @@ const DataTableCore = ({ data, children, dataKey, emptyMessage, selectionMode, s
|
|
|
47
54
|
const handleSelectionChange = (event) => {
|
|
48
55
|
if (!onSelectionChange)
|
|
49
56
|
return;
|
|
50
|
-
onSelectionChange({
|
|
57
|
+
onSelectionChange({
|
|
58
|
+
value: rowFromSelectionKeys(event.value, data, dataKey),
|
|
59
|
+
originalEvent: event.originalEvent,
|
|
60
|
+
});
|
|
51
61
|
};
|
|
52
62
|
const handleRowClick = onRowClick
|
|
53
63
|
? (event) => onRowClick({ data: event.data, index: event.index })
|
|
54
64
|
: undefined;
|
|
55
|
-
return (jsxs(DataTable.Root, { data: data, dataKey: dataKey, removableSort: true, selectionMode: selectionMode ?? null, selectionKeys: selectionKeys, onSelectionChange: onSelectionChange ? handleSelectionChange : undefined, onRowClick: handleRowClick, filters: filters, onFilter: handleFilter, globalFilter: globalFilter || null, globalFilterFields: globalFilterFields, scrollable: scrollable, scrollHeight: scrollHeight, className: className, style: style, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: [showGlobalSearch && (jsx("div", { className:
|
|
65
|
+
return (jsxs(DataTable.Root, { data: data, dataKey: dataKey, removableSort: true, selectionMode: selectionMode ?? null, selectionKeys: selectionKeys, onSelectionChange: onSelectionChange ? handleSelectionChange : undefined, onRowClick: handleRowClick, filters: filters, onFilter: handleFilter, globalFilter: globalFilter || null, globalFilterFields: globalFilterFields, scrollable: scrollable, scrollHeight: scrollHeight, className: className, style: style, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: [showGlobalSearch && (jsx("div", { className: 'cratis-datatable-search', children: jsx(InputText, { value: globalFilter, placeholder: globalSearchPlaceholder, className: 'w-full', onChange: (event) => setGlobalFilter(event.target.value) }) })), jsx(DataTable.TableContainer, { children: jsxs(DataTable.Table, { children: [jsx(DataTable.THead, { children: jsx(DataTable.THeadRow, { children: columns.map((column, index) => (jsx(DataTable.THeadCell, { style: column.props.headerStyle ?? column.props.style, className: column.props.headerClassName, children: jsxs("div", { className: 'cratis-datatable-header-cell', children: [column.props.sortable && column.props.field ? (jsxs(DataTable.Sort, { field: column.props.field, pt: { root: { 'aria-sort': undefined } }, children: [jsx(DataTable.THeadTitle, { children: column.props.header }), jsxs(DataTable.SortIndicator, { match: 'asc', children: [' ', "\u25B2"] }), jsxs(DataTable.SortIndicator, { match: 'desc', children: [' ', "\u25BC"] })] })) : (jsx(DataTable.THeadTitle, { children: column.props.header })), column.props.filter &&
|
|
66
|
+
(column.props.filterField ??
|
|
67
|
+
column.props.field) && (jsx(ColumnFilterMenu, { field: (column.props.filterField ??
|
|
68
|
+
column.props.field), dataType: column.props.dataType, placeholder: column.props.filterPlaceholder, showMatchModes: column.props.showFilterMatchModes, filterElement: column.props.filterElement, labels: column.props.filterLabels }))] }) }, index))) }) }), jsx(DataTable.TBody, { children: ({ item, index }) => (jsx(DataTable.Row, { index: index, className: rowClassName?.(item), children: columns.map((column, columnIndex) => (jsx(DataTable.Cell, { style: {
|
|
69
|
+
...column.props.style,
|
|
70
|
+
...column.props.bodyStyle,
|
|
71
|
+
}, className: column.props.bodyClassName ??
|
|
72
|
+
column.props.className, children: column.props.selectionMode ? (jsx("input", { type: 'radio', readOnly: true, "aria-label": selectionAriaLabel, checked: !!selection &&
|
|
73
|
+
keyOf(item) ===
|
|
74
|
+
keyOf(selection) })) : (renderCellContent(column.props, item)) }, columnIndex))) })) }), jsx(DataTable.EmptyTBody, { className: 'p-datatable-tbody', children: jsx(DataTable.Row, { children: jsx(DataTable.Cell, { colSpan: Math.max(columns.length, 1), children: emptyMessage }) }) })] }) })] }));
|
|
56
75
|
};
|
|
57
76
|
|
|
58
77
|
export { DataTableCore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableCore.js","sources":["../../../DataTables/DataTableCore.tsx"],"sourcesContent":[null],"names":["_jsxs","PrimeDataTable","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTableCore.js","sources":["../../../DataTables/DataTableCore.tsx"],"sourcesContent":[null],"names":["_jsxs","PrimeDataTable","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type DataTableCustomFilterMatchMode, type DataTableFilterMatcher } from './DataTableFilterMeta';
|
|
2
|
+
interface DataTableFilterMatcherAdapter {
|
|
3
|
+
register(name: string, matcher: DataTableFilterMatcher): void;
|
|
4
|
+
unregister(name: string): void;
|
|
5
|
+
}
|
|
6
|
+
export interface DataTableFilterMatcherRegistration {
|
|
7
|
+
matchMode: DataTableCustomFilterMatchMode;
|
|
8
|
+
unregister(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const registerDataTableFilterMatcher: (name: string, matcher: DataTableFilterMatcher) => DataTableFilterMatcherRegistration;
|
|
11
|
+
export declare const unregisterDataTableFilterMatcher: (registration: DataTableFilterMatcherRegistration) => void;
|
|
12
|
+
export declare const attachDataTableFilterMatcherAdapter: (next: DataTableFilterMatcherAdapter) => void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=DataTableFilterMatcherRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableFilterMatcherRegistry.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableFilterMatcherRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,UAAU,6BAA6B;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAaD,MAAM,WAAW,kCAAkC;IAC/C,SAAS,EAAE,8BAA8B,CAAC;IAC1C,UAAU,IAAI,IAAI,CAAC;CACtB;AAoBD,eAAO,MAAM,8BAA8B,GACvC,MAAM,MAAM,EACZ,SAAS,sBAAsB,KAChC,kCA6CF,CAAC;AAGF,eAAO,MAAM,gCAAgC,GACzC,cAAc,kCAAkC,KACjD,IAAiC,CAAC;AAGrC,eAAO,MAAM,mCAAmC,GAC5C,MAAM,6BAA6B,KACpC,IASF,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DataTableFilterMatchMode } from './DataTableFilterMeta.js';
|
|
2
|
+
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
const registryKey = Symbol.for('@cratis/components/data-table-filter-matchers/v2');
|
|
6
|
+
// SAFETY: Symbol.for gives every loaded Components copy the same isolated registry slot.
|
|
7
|
+
const registryHost = globalThis;
|
|
8
|
+
const registry = (registryHost[registryKey] ??= {
|
|
9
|
+
matchers: new Map(),
|
|
10
|
+
adapters: new Set(),
|
|
11
|
+
});
|
|
12
|
+
const builtInMatchModes = new Set(Object.values(DataTableFilterMatchMode));
|
|
13
|
+
const customMatchModePattern = /^[A-Za-z][A-Za-z0-9._:-]*$/;
|
|
14
|
+
const forbiddenMatchModes = new Set(['__proto__', 'prototype', 'constructor']);
|
|
15
|
+
/**
|
|
16
|
+
* Registers a process-wide custom matcher through the Cratis filter vocabulary.
|
|
17
|
+
* Reusing a name is allowed only with the same matcher function.
|
|
18
|
+
*/
|
|
19
|
+
const registerDataTableFilterMatcher = (name, matcher) => {
|
|
20
|
+
if (!customMatchModePattern.test(name) || forbiddenMatchModes.has(name)) {
|
|
21
|
+
throw new Error('A custom data-table filter match mode must start with a letter and contain only letters, numbers, dots, colons, underscores, or hyphens.');
|
|
22
|
+
}
|
|
23
|
+
if (builtInMatchModes.has(name)) {
|
|
24
|
+
throw new Error(`'${name}' is a built-in data-table filter match mode and cannot be replaced.`);
|
|
25
|
+
}
|
|
26
|
+
const existing = registry.matchers.get(name);
|
|
27
|
+
if (existing && existing.matcher !== matcher) {
|
|
28
|
+
throw new Error(`A different data-table filter matcher is already registered as '${name}'.`);
|
|
29
|
+
}
|
|
30
|
+
const owner = Symbol(name);
|
|
31
|
+
const registered = existing ?? { matcher, owners: new Set() };
|
|
32
|
+
registered.owners.add(owner);
|
|
33
|
+
registry.matchers.set(name, registered);
|
|
34
|
+
if (!existing) {
|
|
35
|
+
registry.adapters.forEach((current) => current.register(name, matcher));
|
|
36
|
+
}
|
|
37
|
+
// SAFETY: The branded value is returned only with a live registration handle.
|
|
38
|
+
const matchMode = name;
|
|
39
|
+
let active = true;
|
|
40
|
+
const unregister = () => {
|
|
41
|
+
if (!active)
|
|
42
|
+
return;
|
|
43
|
+
active = false;
|
|
44
|
+
const current = registry.matchers.get(name);
|
|
45
|
+
if (!current || current.matcher !== matcher)
|
|
46
|
+
return;
|
|
47
|
+
current.owners.delete(owner);
|
|
48
|
+
if (current.owners.size > 0)
|
|
49
|
+
return;
|
|
50
|
+
registry.matchers.delete(name);
|
|
51
|
+
registry.adapters.forEach((currentAdapter) => currentAdapter.unregister(name));
|
|
52
|
+
};
|
|
53
|
+
return { matchMode, unregister };
|
|
54
|
+
};
|
|
55
|
+
/** Removes a custom matcher registration. Safe to call more than once. */
|
|
56
|
+
const unregisterDataTableFilterMatcher = (registration) => registration.unregister();
|
|
57
|
+
/** Connects the active rendering adapter to the Cratis-owned matcher registry. */
|
|
58
|
+
const attachDataTableFilterMatcherAdapter = (next) => {
|
|
59
|
+
const alreadyAttached = Array.from(registry.adapters).some((current) => current.register === next.register && current.unregister === next.unregister);
|
|
60
|
+
if (alreadyAttached)
|
|
61
|
+
return;
|
|
62
|
+
registry.adapters.add(next);
|
|
63
|
+
registry.matchers.forEach((entry, name) => next.register(name, entry.matcher));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export { attachDataTableFilterMatcherAdapter, registerDataTableFilterMatcher, unregisterDataTableFilterMatcher };
|
|
67
|
+
//# sourceMappingURL=DataTableFilterMatcherRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableFilterMatcherRegistry.js","sources":["../../../DataTables/DataTableFilterMatcherRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,31 @@
|
|
|
1
|
+
export declare const DataTableFilterMatchMode: {
|
|
2
|
+
readonly StartsWith: "startsWith";
|
|
3
|
+
readonly Contains: "contains";
|
|
4
|
+
readonly NotContains: "notContains";
|
|
5
|
+
readonly EndsWith: "endsWith";
|
|
6
|
+
readonly Equals: "equals";
|
|
7
|
+
readonly NotEquals: "notEquals";
|
|
8
|
+
readonly In: "in";
|
|
9
|
+
readonly Between: "between";
|
|
10
|
+
readonly LessThan: "lt";
|
|
11
|
+
readonly LessThanOrEqual: "lte";
|
|
12
|
+
readonly GreaterThan: "gt";
|
|
13
|
+
readonly GreaterThanOrEqual: "gte";
|
|
14
|
+
readonly DateIs: "dateIs";
|
|
15
|
+
readonly DateIsNot: "dateIsNot";
|
|
16
|
+
readonly DateBefore: "dateBefore";
|
|
17
|
+
readonly DateAfter: "dateAfter";
|
|
18
|
+
};
|
|
19
|
+
declare const customFilterMatchMode: unique symbol;
|
|
20
|
+
export type DataTableCustomFilterMatchMode = string & {
|
|
21
|
+
readonly [customFilterMatchMode]: true;
|
|
22
|
+
};
|
|
23
|
+
export type DataTableFilterMatchMode = (typeof DataTableFilterMatchMode)[keyof typeof DataTableFilterMatchMode] | DataTableCustomFilterMatchMode | (string & Record<never, never>);
|
|
24
|
+
export type DataTableFilterMatcher = (value: unknown, filter: unknown, locale?: string) => boolean;
|
|
1
25
|
export interface DataTableFilterConstraint {
|
|
2
26
|
value: unknown;
|
|
3
|
-
matchMode?:
|
|
27
|
+
matchMode?: DataTableFilterMatchMode;
|
|
4
28
|
}
|
|
5
29
|
export type DataTableFilterMeta = Record<string, DataTableFilterConstraint>;
|
|
30
|
+
export {};
|
|
6
31
|
//# sourceMappingURL=DataTableFilterMeta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableFilterMeta.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableFilterMeta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTableFilterMeta.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableFilterMeta.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAiB3B,CAAC;AAEX,OAAO,CAAC,MAAM,qBAAqB,EAAE,OAAO,MAAM,CAAC;AAGnD,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG;IAClD,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;CAC1C,CAAC;AASF,MAAM,MAAM,wBAAwB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,GACxE,8BAA8B,GAC9B,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAGtC,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,MAAM,KACd,OAAO,CAAC;AAKb,MAAM,WAAW,yBAAyB;IAEtC,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAGD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC"}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** Built-in match modes supported by Cratis data tables. */
|
|
4
|
+
const DataTableFilterMatchMode = {
|
|
5
|
+
StartsWith: 'startsWith',
|
|
6
|
+
Contains: 'contains',
|
|
7
|
+
NotContains: 'notContains',
|
|
8
|
+
EndsWith: 'endsWith',
|
|
9
|
+
Equals: 'equals',
|
|
10
|
+
NotEquals: 'notEquals',
|
|
11
|
+
In: 'in',
|
|
12
|
+
Between: 'between',
|
|
13
|
+
LessThan: 'lt',
|
|
14
|
+
LessThanOrEqual: 'lte',
|
|
15
|
+
GreaterThan: 'gt',
|
|
16
|
+
GreaterThanOrEqual: 'gte',
|
|
17
|
+
DateIs: 'dateIs',
|
|
18
|
+
DateIsNot: 'dateIsNot',
|
|
19
|
+
DateBefore: 'dateBefore',
|
|
20
|
+
DateAfter: 'dateAfter',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { DataTableFilterMatchMode };
|
|
24
|
+
//# sourceMappingURL=DataTableFilterMeta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableFilterMeta.js","
|
|
1
|
+
{"version":3,"file":"DataTableFilterMeta.js","sources":["../../../DataTables/DataTableFilterMeta.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAEA;AACO,MAAM,wBAAwB,GAAG;AACpC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,kBAAkB,EAAE,KAAK;AACzB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DataTableRootProps } from '@primereact/types/primitive/datatable';
|
|
2
|
-
import { Constructor } from '@cratis/fundamentals';
|
|
3
|
-
import { IObservableQueryFor } from '@cratis/arc/queries';
|
|
4
|
-
import { ReactNode } from 'react';
|
|
2
|
+
import type { Constructor } from '@cratis/fundamentals';
|
|
3
|
+
import { type IObservableQueryFor } from '@cratis/arc/queries';
|
|
4
|
+
import { type ReactNode } from 'react';
|
|
5
5
|
import { type TablePaginatorProps } from './TablePaginator';
|
|
6
6
|
import type { DataTableFilterMeta } from './DataTableFilterMeta';
|
|
7
7
|
import type { DataTableSelectionChangeEvent } from './DataTableSelectionChangeEvent';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableForObservableQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableForObservableQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,mBAAmB,EAAU,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AASrF,MAAM,WAAW,gCAAgC,CAC7C,MAAM,SACA,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,GAC1C,mBAAmB,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,EAClD,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,MAAM;IAKzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAOrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAG9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAG5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CAC3D;AAmCD,eAAO,MAAM,2BAA2B,GACpC,MAAM,SACA,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,GAC1C,mBAAmB,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,EAClD,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,MAAM,EAEzB,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCAgIzE,CAAC"}
|
|
@@ -62,6 +62,9 @@ const DataTableForObservableQuery = (props) => {
|
|
|
62
62
|
const totalItems = result.paging.totalItems;
|
|
63
63
|
const pageCount = result.paging.totalPages;
|
|
64
64
|
const showPaginator = totalItems > 0 && pageCount > 1;
|
|
65
|
+
// SAFETY: Arc observable collection queries are row-typed while runtime data is the current row array.
|
|
66
|
+
const rows = result.data;
|
|
67
|
+
const emptyMessage = result.isPerforming && rows.length === 0 ? null : props.emptyMessage;
|
|
65
68
|
useEffect(() => {
|
|
66
69
|
if (!containerRef.current)
|
|
67
70
|
return;
|
|
@@ -76,7 +79,7 @@ const DataTableForObservableQuery = (props) => {
|
|
|
76
79
|
const paginatorHeight = showPaginator ? 56 : 0;
|
|
77
80
|
const calculatedHeight = containerHeight - paginatorHeight - 2;
|
|
78
81
|
const newHeight = Math.max(calculatedHeight, 200);
|
|
79
|
-
setTableHeight(prevHeight => {
|
|
82
|
+
setTableHeight((prevHeight) => {
|
|
80
83
|
if (Math.abs(newHeight - prevHeight) > 5) {
|
|
81
84
|
return newHeight;
|
|
82
85
|
}
|
|
@@ -100,8 +103,11 @@ const DataTableForObservableQuery = (props) => {
|
|
|
100
103
|
height: '100%',
|
|
101
104
|
border: '1px solid var(--cratis-surface-border)',
|
|
102
105
|
borderRadius: 'var(--cratis-border-radius)',
|
|
103
|
-
overflow: 'hidden'
|
|
104
|
-
}, children: [jsx("div", { style: { height: `${tableHeight}px`, overflow: 'hidden' }, children: jsx(DataTableCore, { data:
|
|
106
|
+
overflow: 'hidden',
|
|
107
|
+
}, children: [jsx("div", { style: { height: `${tableHeight}px`, overflow: 'hidden' }, children: jsx(DataTableCore, { data: rows, dataKey: props.dataKey, emptyMessage: emptyMessage, selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, globalFilterFields: props.globalFilterFields, defaultFilters: props.defaultFilters, scrollable: true, scrollHeight: '100%', className: props.className, style: { minWidth: '100%' }, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), showPaginator && (jsx("div", { style: {
|
|
108
|
+
borderTop: '1px solid var(--cratis-surface-border)',
|
|
109
|
+
flexShrink: 0,
|
|
110
|
+
}, children: jsx(TablePaginator, { page: result.paging.page, pageCount: pageCount, onPageChange: setPage, totalItems: totalItems, pageSize: paging.pageSize, className: props.paginatorClassName, ariaLabels: props.paginatorAriaLabels }) }))] }));
|
|
105
111
|
};
|
|
106
112
|
|
|
107
113
|
export { DataTableForObservableQuery };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableForObservableQuery.js","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"DataTableForObservableQuery.js","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DataTableRootProps } from '@primereact/types/primitive/datatable';
|
|
2
|
-
import { Constructor } from '@cratis/fundamentals';
|
|
3
|
-
import { IQueryFor } from '@cratis/arc/queries';
|
|
4
|
-
import { ReactNode } from 'react';
|
|
2
|
+
import type { Constructor } from '@cratis/fundamentals';
|
|
3
|
+
import { type IQueryFor } from '@cratis/arc/queries';
|
|
4
|
+
import type { ReactNode } from 'react';
|
|
5
5
|
import { type TablePaginatorProps } from './TablePaginator';
|
|
6
6
|
import type { DataTableFilterMeta } from './DataTableFilterMeta';
|
|
7
7
|
import type { DataTableSelectionChangeEvent } from './DataTableSelectionChangeEvent';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableForQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableForQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AASrF,MAAM,WAAW,sBAAsB,CACnC,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,EACpF,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,MAAM;IAKzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAKzC,iBAAiB,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAOrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAG9B,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAG5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;CAC3D;AAgDD,eAAO,MAAM,iBAAiB,GAC1B,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,EACpF,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,MAAM,EAEzB,OAAO,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,gCAkE/D,CAAC"}
|
|
@@ -53,14 +53,20 @@ const DataTableForQuery = (props) => {
|
|
|
53
53
|
const [result, , , setPage] = useQueryWithPaging(props.query, paging, props.queryArguments);
|
|
54
54
|
const totalItems = result.paging.totalItems;
|
|
55
55
|
const pageCount = result.paging.totalPages;
|
|
56
|
+
// SAFETY: Arc collection queries are row-typed while their runtime data is the current row array.
|
|
57
|
+
const rows = result.data;
|
|
58
|
+
const emptyMessage = result.isPerforming && rows.length === 0 ? null : props.emptyMessage;
|
|
56
59
|
return (jsxs("div", { style: {
|
|
57
60
|
display: 'flex',
|
|
58
61
|
flexDirection: 'column',
|
|
59
62
|
height: '100%',
|
|
60
63
|
border: '1px solid var(--cratis-surface-border)',
|
|
61
64
|
borderRadius: 'var(--cratis-border-radius)',
|
|
62
|
-
overflow: 'hidden'
|
|
63
|
-
}, children: [jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: jsx(DataTableCore, { data:
|
|
65
|
+
overflow: 'hidden',
|
|
66
|
+
}, children: [jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: jsx(DataTableCore, { data: rows, dataKey: props.dataKey, emptyMessage: emptyMessage, selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, globalFilterFields: props.globalFilterFields, defaultFilters: props.defaultFilters, className: props.className, style: { minWidth: '100%' }, pt: props.pt, ptOptions: props.ptOptions, unstyled: props.unstyled, children: props.children }) }), totalItems > 0 && pageCount > 1 && (jsx("div", { style: {
|
|
67
|
+
borderTop: '1px solid var(--cratis-surface-border)',
|
|
68
|
+
flexShrink: 0,
|
|
69
|
+
}, children: jsx(TablePaginator, { page: result.paging.page, pageCount: pageCount, onPageChange: setPage, totalItems: totalItems, pageSize: paging.pageSize, className: props.paginatorClassName, ariaLabels: props.paginatorAriaLabels }) }))] }));
|
|
64
70
|
};
|
|
65
71
|
|
|
66
72
|
export { DataTableForQuery };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAkGA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,MAAM,iBAAiB,GAAG,CAK7B,KAA4D,KAC5D;IACA,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,kBAAkB,CAC5C,KAAK,CAAC,KAAK,EACX,MAAM,EACN,KAAK,CAAC,cAAc,CACvB;AACD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;AAC3C,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU;;AAG1C,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAA8B;IAClD,MAAM,YAAY,GACd,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,YAAY;IAExE,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,wCAAwC;AAChD,YAAA,YAAY,EAAE,6BAA6B;AAC3C,YAAA,QAAQ,EAAE,QAAQ;SACrB,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EACnDA,GAAA,CAAC,aAAa,IACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAA,QAAA,EAEvB,KAAK,CAAC,QAAQ,EAAA,CACH,GACd,EAEL,UAAU,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAC5BA,GAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,oBAAA,SAAS,EAAE,wCAAwC;AACnD,oBAAA,UAAU,EAAE,CAAC;iBAChB,EAAA,QAAA,EAEDA,GAAA,CAAC,cAAc,EAAA,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EACxB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,SAAS,EAAE,KAAK,CAAC,kBAAkB,EACnC,UAAU,EAAE,KAAK,CAAC,mBAAmB,GACvC,EAAA,CACA,CACT,CAAA,EAAA,CACC;AAEd;;;;"}
|
|
@@ -13,5 +13,5 @@ export interface TablePaginatorProps {
|
|
|
13
13
|
};
|
|
14
14
|
className?: string;
|
|
15
15
|
}
|
|
16
|
-
export declare const TablePaginator: ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className }: TablePaginatorProps) => import("react").JSX.Element;
|
|
16
|
+
export declare const TablePaginator: ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className, }: TablePaginatorProps) => import("react").JSX.Element;
|
|
17
17
|
//# sourceMappingURL=TablePaginator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePaginator.d.ts","sourceRoot":"","sources":["../../../DataTables/TablePaginator.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TablePaginator.d.ts","sourceRoot":"","sources":["../../../DataTables/TablePaginator.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAEhC,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AASD,eAAO,MAAM,cAAc,GAAI,iFAQ5B,mBAAmB,gCA+DrB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Button } from 'primereact/button';
|
|
3
|
+
import { useLocale } from '@primereact/core/locale';
|
|
3
4
|
import { paginatorRange } from './paginatorRange.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -9,13 +10,21 @@ import { paginatorRange } from './paginatorRange.js';
|
|
|
9
10
|
* table's internal pagination — so this renders the page controls wired to a
|
|
10
11
|
* simple `onPageChange(pageIndex)` callback.
|
|
11
12
|
*/
|
|
12
|
-
const TablePaginator = ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className }) => {
|
|
13
|
+
const TablePaginator = ({ page, pageCount, onPageChange, totalItems, pageSize, ariaLabels, className, }) => {
|
|
14
|
+
const { messages } = useLocale();
|
|
13
15
|
const isFirst = page <= 0;
|
|
14
16
|
const isLast = page >= pageCount - 1;
|
|
15
17
|
const rangeReport = paginatorRange(page, pageSize, totalItems);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
const labels = {
|
|
19
|
+
navigation: ariaLabels?.navigation ?? messages.aria.navigation,
|
|
20
|
+
first: ariaLabels?.first ?? messages.aria.firstPageLabel,
|
|
21
|
+
previous: ariaLabels?.previous ?? messages.aria.prevPageLabel,
|
|
22
|
+
next: ariaLabels?.next ?? messages.aria.nextPageLabel,
|
|
23
|
+
last: ariaLabels?.last ?? messages.aria.lastPageLabel,
|
|
24
|
+
};
|
|
25
|
+
return (jsxs("div", { role: 'navigation', "aria-label": labels.navigation, className: className
|
|
26
|
+
? `cratis-table-paginator ${className}`
|
|
27
|
+
: 'cratis-table-paginator', children: [rangeReport && (jsx("span", { className: 'cratis-table-paginator-range', children: rangeReport })), jsx(Button, { variant: 'text', disabled: isFirst, onClick: () => onPageChange(0), "aria-label": labels.first, children: jsx("i", { className: 'pi pi-angle-double-left' }) }), jsx(Button, { variant: 'text', disabled: isFirst, onClick: () => onPageChange(page - 1), "aria-label": labels.previous, children: jsx("i", { className: 'pi pi-angle-left' }) }), jsxs("span", { className: 'cratis-table-paginator-info', children: [page + 1, " / ", Math.max(pageCount, 1)] }), jsx(Button, { variant: 'text', disabled: isLast, onClick: () => onPageChange(page + 1), "aria-label": labels.next, children: jsx("i", { className: 'pi pi-angle-right' }) }), jsx(Button, { variant: 'text', disabled: isLast, onClick: () => onPageChange(pageCount - 1), "aria-label": labels.last, children: jsx("i", { className: 'pi pi-angle-double-right' }) })] }));
|
|
19
28
|
};
|
|
20
29
|
|
|
21
30
|
export { TablePaginator };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePaginator.js","sources":["../../../DataTables/TablePaginator.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TablePaginator.js","sources":["../../../DataTables/TablePaginator.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AA+BA;;;;;;AAMG;MACU,cAAc,GAAG,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,GACS,KAAI;AACtB,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE;AAChC,IAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC;AACzB,IAAA,MAAM,MAAM,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC;IACpC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC;AAC9D,IAAA,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;QAC9D,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc;QACxD,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC7D,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa;QACrD,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa;KACxD;AAED,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,IAAI,EAAC,YAAY,EAAA,YAAA,EACL,MAAM,CAAC,UAAU,EAC7B,SAAS,EACL;cACM,CAAA,uBAAA,EAA0B,SAAS,CAAA;AACrC,cAAE,wBAAwB,EAAA,QAAA,EAAA,CAGjC,WAAW,KACRC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8BAA8B,YAAE,WAAW,EAAA,CAAQ,CACtE,EACDA,GAAA,CAAC,MAAM,EAAA,EACH,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,gBAClB,MAAM,CAAC,KAAK,EAAA,QAAA,EAExBA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,yBAAyB,EAAA,CAAG,EAAA,CACpC,EACTA,GAAA,CAAC,MAAM,EAAA,EACH,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,EAAA,YAAA,EACzB,MAAM,CAAC,QAAQ,EAAA,QAAA,EAE3BA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,kBAAkB,GAAG,EAAA,CAC7B,EACTD,eAAM,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CACxC,IAAI,GAAG,CAAC,EAAA,KAAA,EAAK,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA,EAAA,CACjC,EACPC,GAAA,CAAC,MAAM,IACH,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,EAAA,YAAA,EACzB,MAAM,CAAC,IAAI,EAAA,QAAA,EAEvBA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mBAAmB,EAAA,CAAG,GAC9B,EACTA,GAAA,CAAC,MAAM,EAAA,EACH,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,EAAA,YAAA,EAC9B,MAAM,CAAC,IAAI,EAAA,QAAA,EAEvBA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,0BAA0B,GAAG,EAAA,CACrC,CAAA,EAAA,CACP;AAEd;;;;"}
|