@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.
Files changed (386) hide show
  1. package/README.md +148 -98
  2. package/dist/esm/Canvas/Canvas.d.ts +64 -0
  3. package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
  4. package/dist/esm/Canvas/Canvas.js +767 -0
  5. package/dist/esm/Canvas/Canvas.js.map +1 -0
  6. package/dist/esm/Canvas/CanvasControls.d.ts +32 -0
  7. package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
  8. package/dist/esm/Canvas/CanvasControls.js +34 -0
  9. package/dist/esm/Canvas/CanvasControls.js.map +1 -0
  10. package/dist/esm/Canvas/CanvasItem.d.ts +10 -0
  11. package/dist/esm/Canvas/CanvasItem.d.ts.map +1 -0
  12. package/dist/esm/Canvas/CanvasItem.js +51 -0
  13. package/dist/esm/Canvas/CanvasItem.js.map +1 -0
  14. package/dist/esm/Canvas/CanvasMinimap.d.ts +25 -0
  15. package/dist/esm/Canvas/CanvasMinimap.d.ts.map +1 -0
  16. package/dist/esm/Canvas/CanvasMinimap.js +102 -0
  17. package/dist/esm/Canvas/CanvasMinimap.js.map +1 -0
  18. package/dist/esm/Canvas/CanvasOverlay.d.ts +6 -0
  19. package/dist/esm/Canvas/CanvasOverlay.d.ts.map +1 -0
  20. package/dist/esm/Canvas/CanvasOverlay.js +8 -0
  21. package/dist/esm/Canvas/CanvasOverlay.js.map +1 -0
  22. package/dist/esm/Canvas/canvasGesture.d.ts +8 -0
  23. package/dist/esm/Canvas/canvasGesture.d.ts.map +1 -0
  24. package/dist/esm/Canvas/canvasGesture.js +32 -0
  25. package/dist/esm/Canvas/canvasGesture.js.map +1 -0
  26. package/dist/esm/Canvas/canvasTransformActivity.d.ts +7 -0
  27. package/dist/esm/Canvas/canvasTransformActivity.d.ts.map +1 -0
  28. package/dist/esm/Canvas/canvasTransformActivity.js +22 -0
  29. package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -0
  30. package/dist/esm/Canvas/glassAttributes.d.ts +4 -0
  31. package/dist/esm/Canvas/glassAttributes.d.ts.map +1 -0
  32. package/dist/esm/Canvas/glassAttributes.js +25 -0
  33. package/dist/esm/Canvas/glassAttributes.js.map +1 -0
  34. package/dist/esm/Canvas/index.d.ts +18 -0
  35. package/dist/esm/Canvas/index.d.ts.map +1 -0
  36. package/dist/esm/Canvas/index.js +38 -0
  37. package/dist/esm/Canvas/index.js.map +1 -0
  38. package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts +2 -0
  39. package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts.map +1 -0
  40. package/dist/esm/Canvas/isBackgroundPointerTarget.js +17 -0
  41. package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -0
  42. package/dist/esm/Canvas/isWithinScrollableContent.d.ts +11 -0
  43. package/dist/esm/Canvas/isWithinScrollableContent.d.ts.map +1 -0
  44. package/dist/esm/Canvas/isWithinScrollableContent.js +38 -0
  45. package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -0
  46. package/dist/esm/Canvas/panMomentum.d.ts +13 -0
  47. package/dist/esm/Canvas/panMomentum.d.ts.map +1 -0
  48. package/dist/esm/Canvas/panMomentum.js +41 -0
  49. package/dist/esm/Canvas/panMomentum.js.map +1 -0
  50. package/dist/esm/Canvas/pinchGesture.d.ts +16 -0
  51. package/dist/esm/Canvas/pinchGesture.d.ts.map +1 -0
  52. package/dist/esm/Canvas/pinchGesture.js +30 -0
  53. package/dist/esm/Canvas/pinchGesture.js.map +1 -0
  54. package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts +10 -0
  55. package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts.map +1 -0
  56. package/dist/esm/Canvas/selfSuspendingFrameLoop.js +33 -0
  57. package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -0
  58. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts +13 -0
  59. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts.map +1 -0
  60. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js +61 -0
  61. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js.map +1 -0
  62. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts +20 -0
  63. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts.map +1 -0
  64. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js +27 -0
  65. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js.map +1 -0
  66. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts +2 -0
  67. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts.map +1 -0
  68. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js +20 -0
  69. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js.map +1 -0
  70. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts +2 -0
  71. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts.map +1 -0
  72. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js +11 -0
  73. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js.map +1 -0
  74. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts +5 -0
  75. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts.map +1 -0
  76. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js +4 -0
  77. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js.map +1 -0
  78. package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts +41 -0
  79. package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts.map +1 -0
  80. package/dist/esm/Canvas/shapes/ChatBubble/Chat.js +76 -0
  81. package/dist/esm/Canvas/shapes/ChatBubble/Chat.js.map +1 -0
  82. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts +5 -0
  83. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts.map +1 -0
  84. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js +14 -0
  85. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js.map +1 -0
  86. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts +18 -0
  87. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts.map +1 -0
  88. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js +89 -0
  89. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js.map +1 -0
  90. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts +23 -0
  91. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts.map +1 -0
  92. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js +107 -0
  93. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js.map +1 -0
  94. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts +17 -0
  95. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts.map +1 -0
  96. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js +2 -0
  97. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js.map +1 -0
  98. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts +25 -0
  99. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts.map +1 -0
  100. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js +31 -0
  101. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js.map +1 -0
  102. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts +6 -0
  103. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts.map +1 -0
  104. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js +2 -0
  105. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js.map +1 -0
  106. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts +7 -0
  107. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts.map +1 -0
  108. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js +2 -0
  109. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js.map +1 -0
  110. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts +6 -0
  111. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts.map +1 -0
  112. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js +2 -0
  113. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js.map +1 -0
  114. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts +8 -0
  115. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts.map +1 -0
  116. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js +2 -0
  117. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js.map +1 -0
  118. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts +5 -0
  119. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts.map +1 -0
  120. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js +15 -0
  121. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js.map +1 -0
  122. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts +6 -0
  123. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts.map +1 -0
  124. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js +2 -0
  125. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js.map +1 -0
  126. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts +12 -0
  127. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts.map +1 -0
  128. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js +18 -0
  129. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js.map +1 -0
  130. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts +5 -0
  131. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts.map +1 -0
  132. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js +2 -0
  133. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js.map +1 -0
  134. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts +14 -0
  135. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts.map +1 -0
  136. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js +51 -0
  137. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js.map +1 -0
  138. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts +3 -0
  139. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts.map +1 -0
  140. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js +155 -0
  141. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js.map +1 -0
  142. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts +7 -0
  143. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts.map +1 -0
  144. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js +7 -0
  145. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js.map +1 -0
  146. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts +6 -0
  147. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts.map +1 -0
  148. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js +59 -0
  149. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js.map +1 -0
  150. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts +23 -0
  151. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts.map +1 -0
  152. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js +28 -0
  153. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js.map +1 -0
  154. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts +9 -0
  155. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts.map +1 -0
  156. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js +2 -0
  157. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js.map +1 -0
  158. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts +5 -0
  159. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts.map +1 -0
  160. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js +2 -0
  161. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js.map +1 -0
  162. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts +11 -0
  163. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts.map +1 -0
  164. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js +14 -0
  165. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js.map +1 -0
  166. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts +3 -0
  167. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts.map +1 -0
  168. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js +34 -0
  169. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js.map +1 -0
  170. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts +7 -0
  171. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts.map +1 -0
  172. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js +23 -0
  173. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js.map +1 -0
  174. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts +7 -0
  175. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts.map +1 -0
  176. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js +7 -0
  177. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js.map +1 -0
  178. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts +3 -0
  179. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts.map +1 -0
  180. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js +24 -0
  181. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js.map +1 -0
  182. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts +6 -0
  183. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts.map +1 -0
  184. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js +28 -0
  185. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js.map +1 -0
  186. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts +20 -0
  187. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts.map +1 -0
  188. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js +50 -0
  189. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js.map +1 -0
  190. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts +9 -0
  191. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts.map +1 -0
  192. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js +18 -0
  193. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js.map +1 -0
  194. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts +5 -0
  195. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts.map +1 -0
  196. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js +19 -0
  197. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js.map +1 -0
  198. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +31 -0
  199. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
  200. package/dist/esm/Canvas/shapes/ChatBubble/index.js +17 -0
  201. package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
  202. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts +4 -0
  203. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts.map +1 -0
  204. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js +16 -0
  205. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js.map +1 -0
  206. package/dist/esm/Canvas/shapes/Note/Note.d.ts +22 -0
  207. package/dist/esm/Canvas/shapes/Note/Note.d.ts.map +1 -0
  208. package/dist/esm/Canvas/shapes/Note/Note.js +237 -0
  209. package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -0
  210. package/dist/esm/Canvas/shapes/Note/index.d.ts +3 -0
  211. package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
  212. package/dist/esm/Canvas/shapes/Note/index.js +2 -0
  213. package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
  214. package/dist/esm/Canvas/shapes/Note/noteFont.d.ts +2 -0
  215. package/dist/esm/Canvas/shapes/Note/noteFont.d.ts.map +1 -0
  216. package/dist/esm/Canvas/shapes/Note/noteFont.js +26 -0
  217. package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -0
  218. package/dist/esm/Canvas/shapes/Region/Region.d.ts +22 -0
  219. package/dist/esm/Canvas/shapes/Region/Region.d.ts.map +1 -0
  220. package/dist/esm/Canvas/shapes/Region/Region.js +150 -0
  221. package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -0
  222. package/dist/esm/Canvas/shapes/Region/index.d.ts +3 -0
  223. package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
  224. package/dist/esm/Canvas/shapes/Region/index.js +2 -0
  225. package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
  226. package/dist/esm/Canvas/useDragSelectionGuard.d.ts +2 -0
  227. package/dist/esm/Canvas/useDragSelectionGuard.d.ts.map +1 -0
  228. package/dist/esm/Canvas/useDragSelectionGuard.js +59 -0
  229. package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -0
  230. package/dist/esm/Canvas/zoomMechanism.d.ts +4 -0
  231. package/dist/esm/Canvas/zoomMechanism.d.ts.map +1 -0
  232. package/dist/esm/Canvas/zoomMechanism.js +58 -0
  233. package/dist/esm/Canvas/zoomMechanism.js.map +1 -0
  234. package/dist/esm/CommandDialog/CommandDialog.d.ts +3 -6
  235. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  236. package/dist/esm/CommandDialog/CommandDialog.js +3 -2
  237. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  238. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
  239. package/dist/esm/CommandDialog/CommandStepper.js +3 -2
  240. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  241. package/dist/esm/CommandForm/commandFormMarkers.d.ts +12 -0
  242. package/dist/esm/CommandForm/commandFormMarkers.d.ts.map +1 -0
  243. package/dist/esm/CommandForm/commandFormMarkers.js +69 -0
  244. package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -0
  245. package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -1
  246. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  247. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -1
  248. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  249. package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -1
  250. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  251. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -1
  252. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  253. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  254. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  255. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  256. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  257. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -1
  258. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  259. package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -1
  260. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  261. package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -1
  262. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -1
  263. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -1
  264. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  265. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -1
  266. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  267. package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -1
  268. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -1
  269. package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -1
  270. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  271. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -1
  272. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  273. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -1
  274. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -1
  275. package/dist/esm/CommandForm/index.d.ts +1 -0
  276. package/dist/esm/CommandForm/index.d.ts.map +1 -1
  277. package/dist/esm/CommandForm/index.js +1 -0
  278. package/dist/esm/CommandForm/index.js.map +1 -1
  279. package/dist/esm/Common/CratisComponentsProvider.js +1 -1
  280. package/dist/esm/Common/DatePickerInput.d.ts +11 -4
  281. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -1
  282. package/dist/esm/Common/DatePickerInput.js +18 -2
  283. package/dist/esm/Common/DatePickerInput.js.map +1 -1
  284. package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
  285. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts +3 -0
  286. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts.map +1 -0
  287. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js +2 -0
  288. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js.map +1 -0
  289. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts +3 -0
  290. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts.map +1 -0
  291. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js +49 -0
  292. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js.map +1 -0
  293. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts +369 -0
  294. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts.map +1 -0
  295. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js +271 -0
  296. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js.map +1 -0
  297. package/dist/esm/Compatibility/index.d.ts +5 -0
  298. package/dist/esm/Compatibility/index.d.ts.map +1 -0
  299. package/dist/esm/Compatibility/index.js +7 -0
  300. package/dist/esm/Compatibility/index.js.map +1 -0
  301. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts +8 -0
  302. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts.map +1 -0
  303. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js +48 -0
  304. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js.map +1 -0
  305. package/dist/esm/DataPage/DataPage.d.ts +4 -4
  306. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  307. package/dist/esm/DataPage/DataPage.js +6 -10
  308. package/dist/esm/DataPage/DataPage.js.map +1 -1
  309. package/dist/esm/DataTables/Column.d.ts +3 -1
  310. package/dist/esm/DataTables/Column.d.ts.map +1 -1
  311. package/dist/esm/DataTables/Column.js.map +1 -1
  312. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +22 -2
  313. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -1
  314. package/dist/esm/DataTables/ColumnFilterMenu.js +50 -13
  315. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
  316. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
  317. package/dist/esm/DataTables/DataTableCore.js +22 -3
  318. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  319. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +14 -0
  320. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
  321. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js +67 -0
  322. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -0
  323. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +26 -1
  324. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -1
  325. package/dist/esm/DataTables/DataTableFilterMeta.js +24 -2
  326. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
  327. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +3 -3
  328. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  329. package/dist/esm/DataTables/DataTableForObservableQuery.js +9 -3
  330. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  331. package/dist/esm/DataTables/DataTableForQuery.d.ts +3 -3
  332. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  333. package/dist/esm/DataTables/DataTableForQuery.js +8 -2
  334. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  335. package/dist/esm/DataTables/TablePaginator.d.ts +1 -1
  336. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -1
  337. package/dist/esm/DataTables/TablePaginator.js +13 -4
  338. package/dist/esm/DataTables/TablePaginator.js.map +1 -1
  339. package/dist/esm/DataTables/index.d.ts +1 -0
  340. package/dist/esm/DataTables/index.d.ts.map +1 -1
  341. package/dist/esm/DataTables/index.js +3 -1
  342. package/dist/esm/DataTables/index.js.map +1 -1
  343. package/dist/esm/Dialogs/Dialog.d.ts +2 -2
  344. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  345. package/dist/esm/Dialogs/Dialog.js +16 -18
  346. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  347. package/dist/esm/Dropdown/Dropdown.d.ts +4 -2
  348. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  349. package/dist/esm/Dropdown/Dropdown.js +8 -3
  350. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  351. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  352. package/dist/esm/Filter/FilterPanel.js +1 -1
  353. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  354. package/dist/esm/Filter/RangeHistogramFilter.d.ts +4 -3
  355. package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -1
  356. package/dist/esm/Filter/RangeHistogramFilter.js +4 -23
  357. package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
  358. package/dist/esm/Filter/index.d.ts +3 -2
  359. package/dist/esm/Filter/index.d.ts.map +1 -1
  360. package/dist/esm/Filter/index.js +1 -1
  361. package/dist/esm/Filter/types.d.ts +7 -1
  362. package/dist/esm/Filter/types.d.ts.map +1 -1
  363. package/dist/esm/Filter/utils.d.ts +5 -1
  364. package/dist/esm/Filter/utils.d.ts.map +1 -1
  365. package/dist/esm/Filter/utils.js +33 -1
  366. package/dist/esm/Filter/utils.js.map +1 -1
  367. package/dist/esm/Notifications/Toaster.d.ts +8 -1
  368. package/dist/esm/Notifications/Toaster.d.ts.map +1 -1
  369. package/dist/esm/Notifications/Toaster.js +16 -10
  370. package/dist/esm/Notifications/Toaster.js.map +1 -1
  371. package/dist/esm/Notifications/index.js +1 -1
  372. package/dist/esm/Notifications/toast.d.ts +52 -2
  373. package/dist/esm/Notifications/toast.d.ts.map +1 -1
  374. package/dist/esm/Notifications/toast.js +100 -2
  375. package/dist/esm/Notifications/toast.js.map +1 -1
  376. package/dist/esm/Notifications/toastCommandResult.js +2 -2
  377. package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
  378. package/dist/esm/PatrickHand-latin-ext.woff2 +0 -0
  379. package/dist/esm/PatrickHand-latin.woff2 +0 -0
  380. package/dist/esm/PatrickHand-vietnamese.woff2 +0 -0
  381. package/dist/esm/index.d.ts +4 -1
  382. package/dist/esm/index.d.ts.map +1 -1
  383. package/dist/esm/index.js +42 -35
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/styles.css +1285 -3
  386. package/package.json +16 -6
package/README.md CHANGED
@@ -25,9 +25,9 @@ there is no `require()` entry.
25
25
  ## Installation
26
26
 
27
27
  ```bash
28
- npm install @cratis/components primereact @primereact/core @primereact/headless primeicons
28
+ npm install @cratis/components primereact @primereact/core @primereact/headless @primereact/hooks primeicons
29
29
  # or
30
- yarn add @cratis/components primereact @primereact/core @primereact/headless primeicons
30
+ yarn add @cratis/components primereact @primereact/core @primereact/headless @primereact/hooks primeicons
31
31
  ```
32
32
 
33
33
  **PrimeReact is a peer dependency** as of 3.0.0. You install it; the library uses
@@ -39,14 +39,14 @@ Nothing errors; overlays just stack wrongly and `pt` / `unstyled` silently fail
39
39
  apply. If your app carries a `resolutions` / `overrides` pin to collapse PrimeReact
40
40
  into one copy, you can now delete it.
41
41
 
42
- `primereact` pins `@primereact/core` and `@primereact/headless` to its own exact
42
+ `primereact` pins `@primereact/core`, `@primereact/headless` and `@primereact/hooks` to its own exact
43
43
  version, so one `primereact@11.x` install gives you matching copies of all three;
44
44
  declaring them is what makes a strict installer (pnpm, Yarn PnP) resolve them for the
45
45
  library too. `@primereact/types` is an **optional** peer — needed only if your own
46
46
  code imports the prop types the wrappers re-export.
47
47
 
48
48
  The other **peer dependencies** you provide are `react` / `react-dom` (**19+**), the
49
- `@cratis/arc*` packages (`>=20.3.1 <22` — Arc 20 and 21 both work), `reflect-metadata`
49
+ `@cratis/arc*` packages (`>=20.3.1 <23` — Arc 20, 21 and 22 work), `reflect-metadata`
50
50
  and `tsyringe`; you typically already have these in a Cratis app. `pixi.js`,
51
51
  `framer-motion`, `allotment` and `react-icons` remain regular dependencies and are
52
52
  installed for you. `@primereact/styles` and `@primeuix/themes` are **optional** peers,
@@ -58,9 +58,9 @@ Component CSS is no longer imported by the JavaScript — import it once in your
58
58
  entry point, in this order:
59
59
 
60
60
  ```ts
61
- import '@cratis/components/tokens'; // the --cratis-* token layer
62
- import '@cratis/components/styles'; // every component stylesheet, in one file
63
- import '@cratis/components/theme'; // optional — the Cratis baseline look (MIT CSS)
61
+ import '@cratis/components/tokens'; // the --cratis-* token layer
62
+ import '@cratis/components/styles'; // every component stylesheet, in one file
63
+ import '@cratis/components/theme'; // optional — the Cratis baseline look (MIT CSS)
64
64
  ```
65
65
 
66
66
  `./styles` also vendors `allotment/dist/style.css`, which `DataPage` needs for its
@@ -72,12 +72,12 @@ split view, so you do not have to import that yourself.
72
72
  was; PrimeReact 11 is part of PrimeTek's commercial **PrimeUI** family, and so are the
73
73
  packages it brings with it.
74
74
 
75
- | Package | v10 | v11 |
76
- |---|---|---|
77
- | `primereact` | MIT | PrimeUI commercial |
78
- | `primeicons` | MIT (7.x) | PrimeUI commercial (8.x) |
79
- | `@primereact/core`, `@primereact/headless`, `@primereact/styles` | — | PrimeUI commercial |
80
- | `@primeuix/themes`, `@primeuix/styled` | — | PrimeUI commercial |
75
+ | Package | v10 | v11 |
76
+ | ------------------------------------------------------------------------------------- | --------- | ------------------------ |
77
+ | `primereact` | MIT | PrimeUI commercial |
78
+ | `primeicons` | MIT (7.x) | PrimeUI commercial (8.x) |
79
+ | `@primereact/core`, `@primereact/headless`, `@primereact/hooks`, `@primereact/styles` | — | PrimeUI commercial |
80
+ | `@primeuix/themes`, `@primeuix/styled` | — | PrimeUI commercial |
81
81
 
82
82
  `@cratis/components` itself remains **MIT**. The change is in what it depends on, and it is
83
83
  yours to satisfy: PrimeReact is a peer dependency, so you install it and its license terms
@@ -89,7 +89,7 @@ adds — are PrimeUI-licensed too.
89
89
  PrimeReact 11 verifies a license key when `PrimeReactProvider` mounts. The check is not
90
90
  conditional on `unstyled`, on whether a theme preset is applied, or on `NODE_ENV` — so
91
91
  every styling setup in [Styling](#styling) reaches it. Without a valid key you get a
92
- console warning and a fixed *"Invalid PrimeUI License"* banner, in development **and**
92
+ console warning and a fixed _"Invalid PrimeUI License"_ banner, in development **and**
93
93
  production.
94
94
 
95
95
  Supply your key through the provider:
@@ -106,7 +106,7 @@ PrimeReact 11, which needs a key.
106
106
 
107
107
  - **[Community License](https://primeui.dev/licenses/community)** — free. Covers
108
108
  individuals, students, non-profits and non-commercial open source outright. For an
109
- organization it requires *all* of: under $1M USD annual gross revenue, fewer than 5
109
+ organization it requires _all_ of: under $1M USD annual gross revenue, fewer than 5
110
110
  developers, fewer than 10 employees, and under $3M USD in outside funding. Supports up to
111
111
  4 developers and is renewed annually by confirming continued eligibility.
112
112
  - **[Commercial License](https://primeui.dev/licenses/commercial)** — for everyone else.
@@ -114,9 +114,9 @@ PrimeReact 11, which needs a key.
114
114
 
115
115
  ### If you redistribute
116
116
 
117
- PrimeReact 11's terms state: *"You may not … redistribute it as a component library or
117
+ PrimeReact 11's terms state: _"You may not … redistribute it as a component library or
118
118
  development tool … Redistributing the software so that third parties can develop with it
119
- requires a separate OEM License."*
119
+ requires a separate OEM License."_
120
120
 
121
121
  If you are building an application, that clause is not aimed at you. If you are publishing
122
122
  a library or tool that others build with, read it and check your position with PrimeTek.
@@ -162,7 +162,7 @@ Components:
162
162
  - `@cratis/components/Dialogs`
163
163
  - `@cratis/components/Display` — `Tag`, `Badge`, `Chip`, `Skeleton`, `Avatar`, `ProgressBar`
164
164
  - `@cratis/components/Dropdown`
165
- - `@cratis/components/Notifications` — `Toaster`, `toast`, `toastCommandResult`
165
+ - `@cratis/components/Notifications` — `Toaster`, Cratis-owned `toast` / `ToastDispatch`, `toastCommandResult`
166
166
  - `@cratis/components/ObjectContentEditor`
167
167
  - `@cratis/components/ObjectNavigationalBar`
168
168
  - `@cratis/components/PivotViewer`
@@ -187,9 +187,9 @@ much control you want, and the other layers stay invisible.
187
187
 
188
188
  > **Tip — see each setup live:** every Storybook story includes a **Styling**
189
189
  > toolbar (paintbrush icon) that flips between the modes demonstrating the
190
- > setups below: *Aura Dark* and *Aura Light* (an `@primeuix/themes`
191
- > preset), *Cratis baseline theme* (light and dark), *Unstyled
192
- > (bare structure)*, and *Unstyled + Tailwind pt*. Open any story (`yarn dev`)
190
+ > setups below: _Aura Dark_ and _Aura Light_ (an `@primeuix/themes`
191
+ > preset), _Cratis baseline theme_ (light and dark), _Unstyled
192
+ > (bare structure)_, and _Unstyled + Tailwind pt_. Open any story (`yarn dev`)
193
193
  > and switch modes to see the same component under each setup.
194
194
 
195
195
  ### TL;DR — choose a styling setup
@@ -198,12 +198,12 @@ much control you want, and the other layers stay invisible.
198
198
  > The styling choice changes how it looks and whether you additionally pull in
199
199
  > `@primeuix/themes`; it does not change whether you need a key.
200
200
 
201
- | Setup | When | Effort | Extra dependency | What you write |
202
- |---|---|---|---|---|
203
- | **Cratis baseline theme** | You want a polished default look without adding a theme package. | Lowest | None | `unstyled` + `import '@cratis/components/theme'` + `class="cratis-theme"` |
204
- | **PrimeReact's styled mode** | You want PrimeReact's own look — a `@primeuix/themes` preset painting PrimeReact's component styles. | Low | `@primereact/styles` + `@primeuix/themes` | `value={{ license, ...styledMode() }}` with `styledMode` from `@cratis/components/styled` |
205
- | **A custom palette over a theme** | You want the theme's structure but your own colors. | Low | As above, or none | `--cratis-*` overrides on the baseline theme, or `styledMode({ preset: definePreset(CratisPreset, …) })` |
206
- | **Fully unstyled** | You're integrating into a tightly controlled design system. | Highest | None | `unstyled: true` + a `pt` preset in CSS or Tailwind |
201
+ | Setup | When | Effort | Extra dependency | What you write |
202
+ | --------------------------------- | ---------------------------------------------------------------------------------------------------- | ------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------- |
203
+ | **Cratis baseline theme** | You want a polished default look without adding a theme package. | Lowest | None | `unstyled` + `import '@cratis/components/theme'` + `class="cratis-theme"` |
204
+ | **PrimeReact's styled mode** | You want PrimeReact's own look — a `@primeuix/themes` preset painting PrimeReact's component styles. | Low | `@primereact/styles` + `@primeuix/themes` | `value={{ license, ...styledMode() }}` with `styledMode` from `@cratis/components/styled` |
205
+ | **A custom palette over a theme** | You want the theme's structure but your own colors. | Low | As above, or none | `--cratis-*` overrides on the baseline theme, or `styledMode({ preset: definePreset(CratisPreset, …) })` |
206
+ | **Fully unstyled** | You're integrating into a tightly controlled design system. | Highest | None | `unstyled: true` + a `pt` preset in CSS or Tailwind |
207
207
 
208
208
  > **Why you need a theme, a baseline stylesheet, or a `pt` preset**
209
209
  >
@@ -221,7 +221,7 @@ much control you want, and the other layers stay invisible.
221
221
  > emits `--p-*` tokens but styles nothing rendered here.
222
222
  >
223
223
  > The `--cratis-*` token layer is an **additive Cratis-scoped tint** for
224
- > surfaces *our* wrappers own (validation error text, the FormElement addon,
224
+ > surfaces _our_ wrappers own (validation error text, the FormElement addon,
225
225
  > breadcrumb borders, etc.). It is not, by itself, enough to skin the
226
226
  > PrimeReact widgets — pair it with the baseline theme, styled mode, or a `pt`
227
227
  > preset. Derive the preset (styled mode) or override the `--cratis-*` tokens
@@ -323,7 +323,7 @@ your own `className`:
323
323
  ```css
324
324
  /* yourApp.css */
325
325
  .p-button {
326
- border-radius: 999px; /* pill buttons everywhere */
326
+ border-radius: 999px; /* pill buttons everywhere */
327
327
  }
328
328
 
329
329
  .dangerous-button {
@@ -333,7 +333,7 @@ your own `className`:
333
333
  ```
334
334
 
335
335
  ```tsx
336
- <Button className="dangerous-button">Delete</Button>
336
+ <Button className='dangerous-button'>Delete</Button>
337
337
  ```
338
338
 
339
339
  #### Override a single component with Tailwind
@@ -363,11 +363,13 @@ layer. (You still need a PrimeUI key to run PrimeReact itself — see
363
363
 
364
364
  ```tsx
365
365
  import 'primeicons/primeicons.css';
366
- import '@cratis/components/theme'; // the baseline theme
366
+ import '@cratis/components/theme'; // the baseline theme
367
367
 
368
368
  export const App = () => (
369
369
  <CratisComponentsProvider value={{ unstyled: true }}>
370
- <div className="cratis-theme"> {/* scope: put on <body>, app root, or a subtree */}
370
+ <div className='cratis-theme'>
371
+ {' '}
372
+ {/* scope: put on <body>, app root, or a subtree */}
371
373
  <YourApp />
372
374
  </div>
373
375
  </CratisComponentsProvider>
@@ -382,8 +384,13 @@ attributes — there are no `p-*` class names outside styled mode — so target
382
384
  those, or your own `className`, or the `--cratis-*` tokens:
383
385
 
384
386
  ```css
385
- .cratis-theme [data-scope='button'] { border-radius: 999px; } /* pill buttons */
386
- .dangerous { background: var(--cratis-red-500); color: white; }
387
+ .cratis-theme [data-scope='button'] {
388
+ border-radius: 999px;
389
+ } /* pill buttons */
390
+ .dangerous {
391
+ background: var(--cratis-red-500);
392
+ color: white;
393
+ }
387
394
  ```
388
395
 
389
396
  ---
@@ -407,18 +414,18 @@ own colors. Which knob you turn depends on the theme:
407
414
  /* palette.override.css — imported once, after @cratis/components/theme */
408
415
  .cratis-theme {
409
416
  --cratis-surface-section: #0f172a;
410
- --cratis-surface-card: #1e293b;
417
+ --cratis-surface-card: #1e293b;
411
418
  --cratis-surface-overlay: #1e293b;
412
- --cratis-surface-hover: #334155;
413
- --cratis-surface-border: #334155;
419
+ --cratis-surface-hover: #334155;
420
+ --cratis-surface-border: #334155;
414
421
 
415
- --cratis-text-color: #f8fafc;
422
+ --cratis-text-color: #f8fafc;
416
423
  --cratis-text-color-secondary: #94a3b8;
417
424
 
418
- --cratis-primary-color: #38bdf8;
425
+ --cratis-primary-color: #38bdf8;
419
426
  --cratis-primary-color-text: #0b1220;
420
427
 
421
- --cratis-highlight-bg: #1e40af;
428
+ --cratis-highlight-bg: #1e40af;
422
429
  --cratis-highlight-text-color: #ffffff;
423
430
 
424
431
  --cratis-border-radius: 10px;
@@ -435,10 +442,17 @@ import { CratisPreset } from '@cratis/components/styled';
435
442
  export const BrandPreset = definePreset(CratisPreset, {
436
443
  semantic: {
437
444
  primary: {
438
- 50: '{sky.50}', 100: '{sky.100}', 200: '{sky.200}',
439
- 300: '{sky.300}', 400: '{sky.400}', 500: '{sky.500}',
440
- 600: '{sky.600}', 700: '{sky.700}', 800: '{sky.800}',
441
- 900: '{sky.900}', 950: '{sky.950}',
445
+ 50: '{sky.50}',
446
+ 100: '{sky.100}',
447
+ 200: '{sky.200}',
448
+ 300: '{sky.300}',
449
+ 400: '{sky.400}',
450
+ 500: '{sky.500}',
451
+ 600: '{sky.600}',
452
+ 700: '{sky.700}',
453
+ 800: '{sky.800}',
454
+ 900: '{sky.900}',
455
+ 950: '{sky.950}',
442
456
  },
443
457
  },
444
458
  });
@@ -456,15 +470,15 @@ from the preset; the `--cratis-*` overrides still retint Cratis-scoped surfaces)
456
470
 
457
471
  ```css
458
472
  .dark-zone {
459
- --cratis-surface-card: #0b1220;
460
- --cratis-text-color: #f8fafc;
473
+ --cratis-surface-card: #0b1220;
474
+ --cratis-text-color: #f8fafc;
461
475
  --cratis-primary-color: #60a5fa;
462
476
  }
463
477
  ```
464
478
 
465
479
  ```tsx
466
- <div className="dark-zone">
467
- <Dialog title="Always dark">…</Dialog>
480
+ <div className='dark-zone'>
481
+ <Dialog title='Always dark'>…</Dialog>
468
482
  </div>
469
483
  ```
470
484
 
@@ -475,22 +489,22 @@ Tailwind handles cascade and dark mode:
475
489
 
476
490
  ```css
477
491
  /* app.css */
478
- @import "tailwindcss";
479
- @import "@cratis/components/tokens";
480
- @import "@cratis/components/styles";
492
+ @import 'tailwindcss';
493
+ @import '@cratis/components/tokens';
494
+ @import '@cratis/components/styles';
481
495
 
482
496
  @layer base {
483
497
  :root {
484
- --cratis-surface-card: theme('colors.slate.800');
498
+ --cratis-surface-card: theme('colors.slate.800');
485
499
  --cratis-surface-border: theme('colors.slate.700');
486
- --cratis-text-color: theme('colors.slate.50');
487
- --cratis-primary-color: theme('colors.sky.400');
488
- --cratis-red-500: theme('colors.red.500');
500
+ --cratis-text-color: theme('colors.slate.50');
501
+ --cratis-primary-color: theme('colors.sky.400');
502
+ --cratis-red-500: theme('colors.red.500');
489
503
  }
490
504
 
491
505
  .cratis-dark {
492
506
  --cratis-surface-card: theme('colors.slate.900');
493
- --cratis-text-color: theme('colors.slate.100');
507
+ --cratis-text-color: theme('colors.slate.100');
494
508
  }
495
509
  }
496
510
  ```
@@ -527,15 +541,15 @@ The upshot:
527
541
 
528
542
  #### `--cratis-*` token reference (Cratis-scoped surfaces)
529
543
 
530
- | Group | Tokens |
531
- |---|---|
532
- | Surfaces | `--cratis-surface-0`, `--cratis-surface-100`, `--cratis-surface-ground`, `--cratis-surface-section`, `--cratis-surface-card`, `--cratis-surface-overlay`, `--cratis-surface-hover`, `--cratis-surface-border` |
533
- | Text | `--cratis-text-color`, `--cratis-text-color-secondary` |
534
- | Brand | `--cratis-primary-color`, `--cratis-primary-color-text`, `--cratis-primary-300`, `--cratis-primary-400`, `--cratis-primary-500`, `--cratis-primary-600` |
535
- | Selection | `--cratis-highlight-bg`, `--cratis-highlight-text-color` |
536
- | Semantic | `--cratis-green-500`, `--cratis-orange-500`, `--cratis-red-500` |
537
- | Geometry | `--cratis-border-radius` |
538
- | Effects | `--cratis-focus-ring`, `--cratis-maskbg` |
544
+ | Group | Tokens |
545
+ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
546
+ | Surfaces | `--cratis-surface-0`, `--cratis-surface-100`, `--cratis-surface-ground`, `--cratis-surface-section`, `--cratis-surface-card`, `--cratis-surface-overlay`, `--cratis-surface-hover`, `--cratis-surface-border` |
547
+ | Text | `--cratis-text-color`, `--cratis-text-color-secondary` |
548
+ | Brand | `--cratis-primary-color`, `--cratis-primary-color-text`, `--cratis-primary-300`, `--cratis-primary-400`, `--cratis-primary-500`, `--cratis-primary-600` |
549
+ | Selection | `--cratis-highlight-bg`, `--cratis-highlight-text-color` |
550
+ | Semantic | `--cratis-green-500`, `--cratis-orange-500`, `--cratis-red-500` |
551
+ | Geometry | `--cratis-border-radius` |
552
+ | Effects | `--cratis-focus-ring`, `--cratis-maskbg` |
539
553
 
540
554
  Each resolves the v11 design token first and falls back to the v10 variable
541
555
  with the same name minus the `--cratis-` prefix (e.g. `--cratis-surface-card`
@@ -555,7 +569,7 @@ through PrimeReact's `pt` (pass-through) mechanism, your own CSS, or both.
555
569
  Components render structurally only and become a blank canvas.
556
570
 
557
571
  ```tsx
558
- import '@cratis/components/styles'; // component rules + Tailwind utilities, still needed when unstyled
572
+ import '@cratis/components/styles'; // component rules + Tailwind utilities, still needed when unstyled
559
573
  import { CratisComponentsProvider } from '@cratis/components';
560
574
 
561
575
  export const App = () => (
@@ -565,6 +579,12 @@ export const App = () => (
565
579
  );
566
580
  ```
567
581
 
582
+ #### Verify pass-through compatibility
583
+
584
+ Components 3 publishes its PrimeReact 11 slot and rendered-marker contract from `@cratis/components/compatibility`. In a DOM test, apply `primeReact11PassThroughSentinelPreset`, render the surfaces your application uses, and call `assertPrimeReact11PassThroughCompatibility(root, components)`. Additions pass; a missing or renamed contracted slot or marker produces an actionable error. The contract is major-version scoped and does not preserve PrimeReact 10 names.
585
+
586
+ The machine-readable `components3PrimeReact11PassThroughContract` is the source of truth. Contract revision 1 covers the parts rendered by Components 3's supported compositions on PrimeReact 11, rather than every optional part an application could compose directly. See the [pass-through contract documentation](https://cratis.io/Components/styling/pass-through.html) for the supported component and slot list.
587
+
568
588
  #### A `pt` preset in plain CSS
569
589
 
570
590
  Attach a `className` from your own stylesheet via a global preset:
@@ -576,9 +596,11 @@ export const globalPt = {
576
596
  root: { className: 'my-btn' },
577
597
  },
578
598
  dialog: {
579
- root: { className: 'my-dialog' },
580
- header: { className: 'my-dialog__header' },
581
- content: { className: 'my-dialog__body' },
599
+ root: {
600
+ popup: { className: 'my-dialog' },
601
+ header: { className: 'my-dialog__header' },
602
+ content: { className: 'my-dialog__body' },
603
+ },
582
604
  },
583
605
  inputtext: {
584
606
  root: { className: 'my-input' },
@@ -615,15 +637,26 @@ Same shape, Tailwind utilities as the class strings:
615
637
  // pt-preset.ts
616
638
  export const globalPt = {
617
639
  button: {
618
- root: { className: 'inline-flex items-center px-4 py-2 rounded-lg bg-sky-700 text-white hover:bg-sky-600 disabled:opacity-50' },
640
+ root: {
641
+ className:
642
+ 'inline-flex items-center px-4 py-2 rounded-lg bg-sky-700 text-white hover:bg-sky-600 disabled:opacity-50',
643
+ },
619
644
  },
620
645
  dialog: {
621
- root: { className: 'rounded-2xl shadow-2xl overflow-hidden' },
622
- header: { className: 'px-5 py-3 bg-slate-800 text-slate-50 font-semibold border-b border-slate-700' },
623
- content: { className: 'p-5 bg-slate-900 text-slate-100' },
646
+ root: {
647
+ popup: { className: 'rounded-2xl shadow-2xl overflow-hidden' },
648
+ header: {
649
+ className:
650
+ 'px-5 py-3 bg-slate-800 text-slate-50 font-semibold border-b border-slate-700',
651
+ },
652
+ content: { className: 'p-5 bg-slate-900 text-slate-100' },
653
+ },
624
654
  },
625
655
  inputtext: {
626
- root: { className: 'w-full px-3 py-2 rounded-md bg-slate-800 text-slate-50 border border-slate-700 focus:border-sky-400 focus:outline-none' },
656
+ root: {
657
+ className:
658
+ 'w-full px-3 py-2 rounded-md bg-slate-800 text-slate-50 border border-slate-700 focus:border-sky-400 focus:outline-none',
659
+ },
627
660
  },
628
661
  } as const;
629
662
  ```
@@ -684,20 +717,26 @@ The styling options compose, so you don't have to choose one for the whole app:
684
717
 
685
718
  - **Themed with one unstyled component** — keep the PrimeReact theme and pass
686
719
  `unstyled` per-component to opt that one widget out:
687
- ```tsx
688
- <Dialog title="Custom" unstyled pt={brandDialogPt}>…</Dialog>
689
- ```
720
+
721
+ ```tsx
722
+ <Dialog title='Custom' unstyled pt={brandDialogPt}>
723
+
724
+ </Dialog>
725
+ ```
726
+
690
727
  - **Unstyled with one themed island** — the baseline theme's rules are scoped
691
728
  under `.cratis-theme`, so wrapping one element in the class themes just that
692
729
  subtree:
693
- ```tsx
694
- <CratisComponentsProvider value={{ unstyled: true, pt: globalPt }}>
695
- <App />
696
- <div className="cratis-theme">
697
- <BaselineThemedSubtree />
698
- </div>
699
- </CratisComponentsProvider>
700
- ```
730
+
731
+ ```tsx
732
+ <CratisComponentsProvider value={{ unstyled: true, pt: globalPt }}>
733
+ <App />
734
+ <div className='cratis-theme'>
735
+ <BaselineThemedSubtree />
736
+ </div>
737
+ </CratisComponentsProvider>
738
+ ```
739
+
701
740
  - **Dark mode** — toggle `cratis-dark` on the root element: the baseline
702
741
  theme's dark palette, `styledMode()`'s dark scheme (its default
703
742
  `darkModeSelector`) and the v10 palette all key off it, so PrimeReact widgets
@@ -713,21 +752,32 @@ Three patterns, depending on how much PrimeReact a wrapper composes:
713
752
  `className` straight to their inner PrimeReact component.
714
753
  2. **Multi-slot composites** — `StepperCommandDialog` (`pt` for Stepper,
715
754
  `dialogPt` for Dialog), `DataPage` (`tablePt` for DataTable, `menubarPt`
716
- for Menubar), and `DataTableForQuery` / `DataTableForObservableQuery`
717
- (`pt` for DataTable, `paginatorPt` for Paginator) — each slot has
718
- `*PtOptions`, `*Unstyled`, and (where applicable) `*ClassName` siblings.
755
+ for the action toolbar's buttons), and `DataTableForQuery` /
756
+ `DataTableForObservableQuery` (`pt` for DataTable plus
757
+ `paginatorClassName` / `paginatorAriaLabels` for the Cratis paginator).
719
758
  3. **Large composites** — `ObjectContentEditor`, `ObjectNavigationalBar`,
720
759
  `SchemaEditor` expose `className` only; restyle internals via the global
721
760
  `pt` preset.
722
761
 
723
- ### What is *not* fully pass-through
762
+ `Dropdown` routes `id`, `tabIndex`, `aria-label`, `aria-labelledby` and `aria-describedby` to its focusable `role="combobox"` trigger. The outer Select root remains a layout wrapper and does not duplicate the control id. For filterable dropdowns, `filterPlaceholder` can differ from the closed trigger's `placeholder` and defaults to it when omitted.
763
+
764
+ Filtered data-table columns accept partial `filterLabels` overrides for trigger, action and boolean-option text, plus a `filterElement` render callback that replaces the built-in value editor while keeping draft/apply behavior. `DataTableFilterMatchMode` supplies the Cratis-owned built-in vocabulary, and `registerDataTableFilterMatcher()` adds custom modes without importing the active rendering adapter.
724
765
 
725
- A small number of internal usages opt into PrimeReact's slot-rendering by
726
- name (for example, a custom Menubar item template uses `p-menuitem-link` /
727
- `p-menuitem-text` to match the surrounding default-rendered items). These are
728
- correct contracts with PrimeReact's own slot rendering, not hard-coded
729
- theming — they have no effect in `unstyled` mode and match the rest of the
730
- menu in themed mode.
766
+ `DatePickerInput` exposes `id`, `disabled`, `readOnly` and `showButtonBar` directly. Use its runtime `input` slot only for additional attributes; the public type intentionally rejects PrimeReact 11's stale `pcInputText` declaration, which the runtime never emits. The wrapper translates `invalid` to accepted `aria-invalid` and `data-invalid` input attributes instead of forwarding a rejected `invalid` DOM attribute:
767
+
768
+ ```tsx
769
+ <DatePickerInput
770
+ id='appointment-date'
771
+ value={selectedDate}
772
+ onChange={setSelectedDate}
773
+ disabled={isDisabled}
774
+ readOnly={isReadOnly}
775
+ showButtonBar
776
+ pt={{ input: { 'aria-label': 'Appointment date' } }}
777
+ />
778
+ ```
779
+
780
+ ### What is _not_ fully pass-through
731
781
 
732
782
  `BusyIndicatorDialog` only honors the global `pt` set via
733
783
  `CratisComponentsProvider`; it does not accept per-instance `pt` because its
@@ -749,9 +799,9 @@ If using TypeScript 4.7+, try updating your `tsconfig.json`:
749
799
 
750
800
  ```json
751
801
  {
752
- "compilerOptions": {
753
- "moduleResolution": "bundler" // or "node16" / "nodenext"
754
- }
802
+ "compilerOptions": {
803
+ "moduleResolution": "bundler" // or "node16" / "nodenext"
804
+ }
755
805
  }
756
806
  ```
757
807
 
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import * as PIXI from 'pixi.js';
3
+ import { MinimapItem } from './CanvasMinimap';
4
+ export interface CanvasItemRegistryEntry {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ export interface CanvasItemRegistryContextValue {
11
+ register: (id: string, entry: CanvasItemRegistryEntry) => void;
12
+ unregister: (id: string) => void;
13
+ }
14
+ export declare const CanvasItemRegistryContext: React.Context<CanvasItemRegistryContextValue | null>;
15
+ export interface CanvasItemData {
16
+ id: string;
17
+ x: number;
18
+ y: number;
19
+ }
20
+ export interface CanvasContext {
21
+ app: PIXI.Application;
22
+ world: PIXI.Container;
23
+ }
24
+ export interface CanvasHandle {
25
+ smoothPanToWorld(worldX: number, worldY: number, durationMs?: number): void;
26
+ smoothPanZoomToWorld(worldX: number, worldY: number, targetZoom?: number, durationMs?: number): void;
27
+ getContainerRect(): DOMRect | null;
28
+ getItemBounds(): MinimapItem[];
29
+ }
30
+ export interface CanvasProps<T extends CanvasItemData = CanvasItemData> {
31
+ children?: React.ReactNode;
32
+ items?: T[];
33
+ renderItem?: (item: T) => PIXI.Container;
34
+ onItemPointerDown?: (item: T, event: PIXI.FederatedPointerEvent) => void;
35
+ onReady?: (context: CanvasContext) => void;
36
+ onTransformChange?: (zoom: number, pan: {
37
+ x: number;
38
+ y: number;
39
+ }) => void;
40
+ initialZoom?: number;
41
+ initialPan?: {
42
+ x: number;
43
+ y: number;
44
+ };
45
+ minZoom?: number;
46
+ maxZoom?: number;
47
+ showControls?: boolean;
48
+ showMinimap?: boolean;
49
+ minimapWorldWidth?: number;
50
+ minimapWorldHeight?: number;
51
+ minimapItems?: MinimapItem[];
52
+ controlsPlacement?: 'bottom-left' | 'bottom-right';
53
+ className?: string;
54
+ style?: React.CSSProperties;
55
+ onHelp?: () => void;
56
+ helpTitle?: string;
57
+ disableControlsGlass?: boolean;
58
+ onHandleReady?: (handle: CanvasHandle) => void;
59
+ readOnly?: boolean;
60
+ backgroundDragPans?: boolean;
61
+ }
62
+ declare function Canvas<T extends CanvasItemData = CanvasItemData>({ children, items, renderItem, onItemPointerDown, onReady, onTransformChange, onHandleReady, initialZoom, initialPan, minZoom, maxZoom, showControls, showMinimap, minimapWorldWidth, minimapWorldHeight, minimapItems, controlsPlacement, className, style, onHelp, helpTitle, disableControlsGlass, readOnly, backgroundDragPans, }: CanvasProps<T>): React.ReactElement;
63
+ export { Canvas };
64
+ //# sourceMappingURL=Canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../../Canvas/Canvas.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAuB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAqCnE,MAAM,WAAW,uBAAuB;IAEpC,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAE3C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAE/D,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,yBAAyB,sDAAmE,CAAC;AAE1G,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;IACtB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAEzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5E,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErG,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAAC;IAGnC,aAAa,IAAI,WAAW,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IAElE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IAEZ,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;IAEzC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC;IAEzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAE7B,iBAAiB,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAK/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAwBD,iBAAS,MAAM,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EACvD,QAAQ,EACR,KAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,WAAe,EACf,UAA2B,EAC3B,OAAa,EACb,OAAW,EACX,YAAmB,EACnB,WAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiC,EACjC,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,oBAA4B,EAC5B,QAAgB,EAChB,kBAAyB,GAC5B,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAq2BrC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}